+ All Categories
Home > Documents > Common-access channel network algorithm

Common-access channel network algorithm

Date post: 20-Sep-2016
Category:
Upload: bj
View: 212 times
Download: 0 times
Share this document with a friend
5
Common-access channel network algorithm Prof. A. Cantoni, Ph.D., Sen.Mem.I.E.E.E., R.J. Evans, Mem.I.E.E.E., and B.J. Cook Indexing terms: Algorithms, Networks Abstract: The paper describes an algorithm developed for controlling access to a multiple-access broadcast channel. The algorithnr, which is particularly simple, is suitable for networks with a small number of nodes. The algorithm was initially developed for use in a computer network dedicated to providing status information and control of a number of isolated plant sites. The channel available in this system was a radio-frequency tropo- scatter link, which supported a low 300 baud asynchronous data rate. 1 Introduction This paper describes an algorithm developed for control- ling access to a multiple-access (all nodes transmit into the same channel) broadcast channel (all receive from the channel). The algorithm was, in the first instance, devel- oped for a computer network designed to provide super- visory and control functions for a distributed system [1]. Subsequently, the network interface processor was adapted for use in a small local area network within the depart- ment [2]. In the case of the supervisory system, a single radio- frequency troposcatter channel spanning several-hundred kilometres provided a very modest asynchronous data transmission rate of 300 baud. All nodes in the network were identical, and their organisation is shown in Fig. 1. Each node comprises two processors: one dedicated to handling the local display and interaction with the oper- ator, the other providing the interface to the multiple- access channel. The combined action of the two processors is to provide at each node site a database of the whole system status, and to enable the operator to act on the information. Conceptually, the network interface processor has four bidirectional ports: PI, maintenance terminal port; P2, display processor port; P3, local data port; and P4, network port. The processor enables the transmission of information among the four ports. Each port is separately buffered in both directions. Transmission among P1-P3 is relatively straightforward; consequently, this paper is concerned only with algorithms for handling the network port. 2 Control of multiple-access broadcast channel A number of techniques for controlling access to a multiple-access broadcast channel have appeared in the lit- erature [3-5]. Most appeared too complex for our applica- tion, and furthermore there was, generally, insufficient detail to enable implementation of a published technique within a short time. Broadly speaking, the currently available techniques are based on one of three principles: polling, token passing or random access. Polling means that a master station controls access to the channel, and nodes wishing to speak must wait until the master gives them access rights. This system is simple and works very efficiently when the main Paper 3368E (C2), first received 4th November 1983 and in revised form 24th May 1984 The authors are with the Department of Electrical & Computer Engineering, Uni- versity of Newcastle, NSW, 2308, Australia display operator keys local data A / P3 display processor P2 network interface processor P4 channel modem PI maintenance terminal maintenance terminal Fig. 1 Node hardware organisation network traffic is regular node transmissions. The difficulty with a standard polling system is that it is nonrobust against line breaks or failure of the master. Token passing controls network access by only allowing a node to trans- mit when it currently owns the token, and after transmis- sion it passes the token on. In order to implement this system effectively one must develop algorithms for recreating a lost token if it should happen that a node currently in possession of the token fails. Random access systems, such as the Aloha network and Ethernet, essentially operate on the principle that if the network is free then use it. There is, of course, some probability that two nodes will simultaneously decide to use a free network. In order to protect against this, nodes listen to their own transmissions, and, if they become cor- rupted because of a crash, a random wait is invoked and the process is repeated. This scheme works extremely well for bust type traffic, and is generally used in situations where the average traffic is around 30% of the network capacity. Our application imposes a fairly constant data trans- mission rate on the network port because a large packet 194 IEE PROCEEDINGS, Vol. 131, Pt. E, No. 5, SEPTEMBER 1984
Transcript

Common-access channel networkalgorithm

Prof. A. Cantoni, Ph.D., Sen.Mem.I.E.E.E., R.J. Evans, Mem.I.E.E.E.,and B.J. Cook

Indexing terms: Algorithms, Networks

Abstract: The paper describes an algorithm developed for controlling access to a multiple-access broadcastchannel. The algorithnr, which is particularly simple, is suitable for networks with a small number of nodes. Thealgorithm was initially developed for use in a computer network dedicated to providing status information andcontrol of a number of isolated plant sites. The channel available in this system was a radio-frequency tropo-scatter link, which supported a low 300 baud asynchronous data rate.

1 Introduction

This paper describes an algorithm developed for control-ling access to a multiple-access (all nodes transmit into thesame channel) broadcast channel (all receive from thechannel). The algorithm was, in the first instance, devel-oped for a computer network designed to provide super-visory and control functions for a distributed system [1].Subsequently, the network interface processor was adaptedfor use in a small local area network within the depart-ment [2].

In the case of the supervisory system, a single radio-frequency troposcatter channel spanning several-hundredkilometres provided a very modest asynchronous datatransmission rate of 300 baud. All nodes in the networkwere identical, and their organisation is shown in Fig. 1.Each node comprises two processors: one dedicated tohandling the local display and interaction with the oper-ator, the other providing the interface to the multiple-access channel.

The combined action of the two processors is to provideat each node site a database of the whole system status,and to enable the operator to act on the information.

Conceptually, the network interface processor has fourbidirectional ports: PI, maintenance terminal port; P2,display processor port; P3, local data port; and P4,network port.

The processor enables the transmission of informationamong the four ports. Each port is separately buffered inboth directions. Transmission among P1-P3 is relativelystraightforward; consequently, this paper is concernedonly with algorithms for handling the network port.

2 Control of multiple-access broadcast channel

A number of techniques for controlling access to amultiple-access broadcast channel have appeared in the lit-erature [3-5]. Most appeared too complex for our applica-tion, and furthermore there was, generally, insufficientdetail to enable implementation of a published techniquewithin a short time.

Broadly speaking, the currently available techniquesare based on one of three principles: polling, token passingor random access. Polling means that a master stationcontrols access to the channel, and nodes wishing to speakmust wait until the master gives them access rights. Thissystem is simple and works very efficiently when the main

Paper 3368E (C2), first received 4th November 1983 and in revised form 24th May1984The authors are with the Department of Electrical & Computer Engineering, Uni-versity of Newcastle, NSW, 2308, Australia

display

operatorkeys

localdata

A

/

P3

displayprocessor

P2

networkinterface

processor

P4

channelmodem

PI

maintenanceterminal

maintenanceterminal

Fig. 1 Node hardware organisation

network traffic is regular node transmissions. The difficultywith a standard polling system is that it is nonrobustagainst line breaks or failure of the master. Token passingcontrols network access by only allowing a node to trans-mit when it currently owns the token, and after transmis-sion it passes the token on.

In order to implement this system effectively one mustdevelop algorithms for recreating a lost token if it shouldhappen that a node currently in possession of the tokenfails. Random access systems, such as the Aloha networkand Ethernet, essentially operate on the principle that ifthe network is free then use it. There is, of course, someprobability that two nodes will simultaneously decide touse a free network. In order to protect against this, nodeslisten to their own transmissions, and, if they become cor-rupted because of a crash, a random wait is invoked andthe process is repeated. This scheme works extremely wellfor bust type traffic, and is generally used in situationswhere the average traffic is around 30% of the networkcapacity.

Our application imposes a fairly constant data trans-mission rate on the network port because a large packet

194 IEE PROCEEDINGS, Vol. 131, Pt. E, No. 5, SEPTEMBER 1984

containing local status information is broadcast repeti-tively through the network port in order to enable othernodes to update their database. Information from theother ports on the network processor can occur in busts,but on each access to the channel only small packets aresent from these other ports. Furthermore the averagetraffic in our network occupies around 80% of the totalnetwork capacity; thus, it was decided to use either atoken passing or modified polling scheme. On detailedexamination a practical implementation of token passingwas more complex than it first appeared; thus, a simplealgorithm was developed which ensures that in the steadystate one node is elected to be the master node responsiblefor controlling access to the channel by polling. In fact, anadaptive polling algorithm is used once the master hasbeen elected. All nodes execute identical software and canbe distinguished only by their unique identification code,which is present on switches.

It is important to note that no mode is preassigned therole of master. On power up, or because of failure of thecurrent master and certain error conditions, the algorithmin each node is such that a single node out of all the activenodes will be elected as the new master.

An interesting feature of the algorithm developed isthat if the multiple-access channel separates into a numberof disjoint channels, nodes connected to the same channelwill re-establish a new subnetwork. In Fig. 2, for example,

Fig. 2 Subnetwork formation example

a cut at A and B will result in the formation of threeseparate subnetworks:

(a) nodes 1, 3, 5(b) nodes 4, 6, 7(c) nodes 2, 8

In the case of the radio-frequency channel application,such a separation could occur through channel fade. Insystems using a transmission line as the communicationmedium a broken wire would cause subnetwork formation.

A formal protocol verification using Petri nets todescribe the new algorithm is currently under way, andwill be the subject of a future report.

3 Network port software organisation andalgorithms

The new algorithm was implemented in software on a5 mHz 8085A processor to work with a 300 band channel.

A fully software realisation is effective only for moderatebaud rates (300-9600 baud) and, as with other common-access systems, a hardware realisation is required forhigher baud rates (1-10 Mbaud).

3.1 Main software statesThe network port software can be considered to be in oneof four main states, as shown in Fig. 3:

SI = master stateS = master electron state53 = slave state54 = forced inactive state

The algorithm employed in the master election state S2ensures that only one node enters the master state. FromFig. 3 it can be seen that serious error conditions such as

errors errors

Fig. 3 Main software state diagram

failure or line break will cause a transition from either themaster state or the slave state to the forced inactive state.The master election state is entered either on a cold startof a node, from the forced inactive state, or from the slavestate when an absence of transmission activity is observedby a node. When a node in the master state is present inthe network, a sufficient level of activity is automaticallyguaranteed.

All packets transmitted on the network including thepoll sequence have the following form:

STX<CODE><TO><FROM><DATA>ETX

where the <> are used above to delimit the various fields.<TO> can be a single node identification code or a classnode, which includes the class of all nodes. (FROM) isthe source identification code.

In the Sections which follow, the four states are exam-ined in detail.

3.2 Master stateA node operating in this state is responsible for controllingaccess to the channel by transmitting a node identificationcode and waiting for the end of the packet transmitted bythe polled node before proceeding to poll the next node.Hogging of the channel by a node which has been polled isprevented by limiting the size of packets which can be sentduring a poll slot. A master polls itself by transmitting anormal poll sequence; however, there is no delay in thebroadcasting of its packets on the channel.

IEE PROCEEDINGS, Vol. 131, Pt. E, No. 5, SEPTEMBER 1984 195

If no response is received from a polled node within atime TP, measured from the start of the transmission of thepoll sequence, the next mode is polled. Suppose that themaximum transmission delay between any pair of nodes isTD and that the latency due to overheads in handling pollsequences is TL, then TP must satisfy

TP > 2TD +TL+Tj (1)

where 7} is the time required to transmit the poll sequence.Note that, when there is a master, the longest period of

inactivity on the channel is TP, and nodes in the slave statecan set a time out on the detection of information whichcan be bounded below by TP.

The maximum time interval TQ between successive pollsof any active node when nonadaptive polling is used canbe determined as follows: let n be the number of activenodes in an N-node network. Also, let TM be the time totransmit a packet. It is assumed that all nodes transmitpackets of the same size. This is approximately true in thespecific application considered in the paper. The timerequired to handle the (N — n) inactive nodes is

(N - n)TP

The maximum time to handle the (n — 1) slave state nodesis

(N - \)[_2TD +TM+TL+ 7}]

The time the master state node uses the channel in onepoll cycle for its own use is

LTM + 7}]

Thus, TQ is given by

TQ = (N - n)TP + (n- \)\2TD + TM + TL + 7}]

+ [TM + 7}] • (2)

In adaptive polling, nodes which fail to respond withinTP seconds for more than a certain number of consecutivepolls are subsequently polled less frequently than once perpoll cycle. The frequency of polling of inactive nodes needsto be only as high as is necessary to satisfy the constrainton the maximum delay, which is acceptable before the highscan rate is restored after a node becomes active. When anetwork has only a small number of nodes, as in the caseof the system developed (eight), a simple strategy is to pollonly one inactive node in each poll cycle. With this form ofadaptive polling, the maximum time TA between successivepolls of active nodes is given approximately by

+ {n- 1)[2TD +TM+TL+ T7]

(3)

3.3 Slave stateA node which is in the slave state tracks all data transmis-sions occurring on the channel in order to capture packetsintended for it and also to determine when it is polled,since this indicates that it then has access to the channelfor broadcasting its own information packets.

All information from the channel is buffered, and theaccessing of information from the buffer is timed out sothat channel inactivity can be detected. If inactivity isdetected, the node will enter the master election state.However, as will be evident from the description of themaster election algorithm presented later, if the inactivityis only a transient occurrence due to errors or channelmalfunction, it is likely that the node will revert to theslave state without actually participating in the body of themaster election algorithm.

196

In view of the polling algorithm used by the node whichis in the master state, the maximum period of inactivity isTP. In the actual implementation, inactivity is deemed toexist if the time between the reception of valid informationexceeds TP plus a margin. The margin is included toprevent unnecessary entry into the master election state,which involves significant software overheads.

3.4 Master election stateThis is the most important part of the network port soft-ware. The algorithm implemented in the software isrequired to ensure that only one node is in the masterstate.

It is assumed that there is no global time reference andthat simultaneous transmission can result in erroneousreception, but that the presence of transmission can be stilldetected. In the case of a radio-frequency channel, carrierdetection can be used for this purpose. In the case of base-band signalling on a transmission line, it is also possible todetect transmission even when simultaneous transmissionis occurring [2].

All nodes execute the same algorithm, but each nodehas a unique identification code which is used in the algo-rithm. Although all nodes execute the same algorithm, theymay not be executing in synchronism since a global timereference is not available and because of the distributednature of the network.

The master election state can be further decomposedinto the four states shown in Fig. 4.

SEL1: This state persists for a maximum time To aftereach entry. It is initially entered as a result of a cold startor from the slave state when low channel activity isdetected: branches 0 and 1. The state is re-entered through

cold startinactivityfrom S3

carrierdetected

invalidinformation

time expired

to slavestate S3

[10

to master state

Fig. 4 Master election state transitions

IEE PROCEEDINGS, Vol. 131, Pt. E, No. 5, SEPTEMBER 1984

branches 2 and 3 when a carrier is detected or an invalidcharacter is found. Exit from SELl occurs via branch 7only if no carrier or information is detected on thechannel. On exit via branch 7 the node sends a burst ofcarrier on the channel. It is assumed that the burst can bedetected by other nodes, irrespective of the presence ofother transmissions.

SEL2: This state is entered from SELl via branch 7.State SEL2 persists unconditionally for a period 7^, duringwhich time reception of information from the channel isinhibited and the input buffer is flushed clean.

SEL: State SEL3 is entered only from state SEL2 viabranch 8. On entry into state SEL3, reception from thechannel is enabled. A node k exits from SEL3 to SELl viabranch 6 only if information is detected before the expiryof a time period T(k), measured from the time of entry intostate SEL3. The argument k indicates that the time T(k) isa function of the node identity. Node k exits SEL3 viabranch 10 if, and only if, no information was detectedduring the time interval of length T(k). Branch 10 leads tothe master state.

SEL4: This state is entered from SELl when valid infor-mation is received. A node exits SEL4 via branch 9 when avalid poll sequence is detected. The node may also revertback to SELl if inactivity is detected. Branch 9 leads tothe slave state.

3.5 Analysis of the master election algorithmA convenient way of determining the limits on the timesTo, Ts and T(k), which guarantee that only one node entersthe master state, is to consider the time profile of the nodesin the master election states SELl, SEL2, SEL3 and SEL4.Consider, in the first instance, a single isolated node kwhich has at some time entered the state SELl. Then thepossible state-time profile of node k is shown in Fig. 5. It

To Ts T(k)

SEL2-SEL3-

S1-SEL1-SEL1-SEL4-SEL 1-

SSL(TTL

1(8)1(10)

Fig. 5 Possible state-time profiles for node k

can be seen from Fig. 5 that the maximum period of inac-tivity due to node k is given by

TmaM =TS+ T(k)

Suppose that the function T(k) is defined by

T(k) = kTc fc= 1, 2, 3, . . . , N

(4)

(5)

Then it is clear that Tmax, the maximum of Tmax(k) over allk, is given by

Tmax =TS + NTC (6)

where N is the maximum value of k, which equals thenumber of nodes in the network.

Any node which comes online (cold start), when amaster exists, will enter the slave state provided To exceedsthe maximum interval between polls. The maximum inac-tive interval during polling occurs when the master ispolling an inactive node; thus

2TD (7)

In fact, it will be shown that To needs to satisfy a morerestrictive bound.

IEE PROCEEDINGS, Vol. 131, Pt. E, No. 5, SEPTEMBER 1984

Consider an arbitrary pair of nodes labelled i and j fromthe set of nodes which are in SELl for a finite overlappingtime interval. Due to the distributed nature of the networkand the absence of a global time reference, the phasing ofthe two time profiles for nodes i and j is not fixed. Con-sider an arbitrary phasing as shown in Fig. 6. It can be

SELLnodei SEL L

SEL4-

SEL1-SEL2-

nodej SEL3-S1-

3OLy~o

(8)1L(10)

Ts*T(j)

Fig. 6 State-time profile T0F > To

seen from Fig. 6 that, if

TQF > 'a (8)

then node i will re-enter SELl and before To expires willsee a valid transmission from node) forcing it to SEL4 andthence to the slave state provided that

(9)To > i \J) -r 'S

Clearly if To is chosen so that

*0 -^ 1max \lKJf

eqn. 9 will be satisfied.Therefore, as far as entry to SEL3 is concerned, it is

sufficient to consider only pairs of nodes whose relativephasing or entry into SELl is such that

TOf<TD (11)

Consider therefore an arbitrary pair of nodes i and j whosephasing satisfies eqn. 11. Two possibilities are illustrated inFigs. 7A and B for the cases i < j and i > j .

SELLnodei SEL2-

SEL3-S1-

SELLnode j SEL 2-

S1SEL1

1(8)1(10)

J2IL 1(8)"MJL.

-JUT

Fig. 7A State-time profile T0F < T0,i <j

SELLnode i SEL 2-

SEL3-S1-

48)1-

nodejSEL3•Hh

To Ts Hj)Top<TDand i<j

Fig. 7B State-time profile T0F <T0,i>j

Suppose that 7^ and Tc are chosen so that

T ~̂> 9 T

and

Tc > 2TD

(12)

(13)

197

Then, for the pair under consideration only, the nodewhose identity A is given by

A = min (i, j) (14)

has the possibility of existing SEL3 via branch 10, irrespec-tive of whether node X leads or lags by the time T0F. Theother node is inhibited from exiting via branch 10 fromSEL3 and is forced back to SELL

Consider a set S of labels of those nodes which haveentered state SEL1 with a phase which, relative to at leastone other, satisfies eqn. 11. It has been established alreadythat other nodes entering SEL1 with eqn. 10 holding rela-tive to at least one other node will be prevented fromentering SEL2.

Let K be such that

K = min (i)

i e S (15)

i.e. K is the smallest integer in S. Consider all pairs fromthe set, formed with K as a member. Since the algorithmensures that only the node for which eqn. 14 holds has thepossibility of exiting SEL3 via branch 10, and since fromeqn. 15

K = min (K, j)

jeS

(16)

it follows that K alone exits SEL3 via branch 10. All othernodes are forced back to SEL1 and subsequently to theslave state through SEL4.

Note that eqn. 12 is essential to ensure that a deadlockdoes not arise with pairs of nodes forcing each other backto SEL1 indefinitely.

For the 300 baud system discussed above N = 8, To ~8 ms, TL ~ 1 ms, and 200 ms ^ TM ^ 400 ms. This resultedin TP = 220 ms. To = 144 ms and TQ ~ 3.34 ms for eightactive stations.

4 Error conditions and faults

It is evident from the description given so far that someerror conditions are explicitly handled by the software. Aserious error condition is deemed to exist if a node detectsa certain number of invalid conditions as measured with afading memory algorithm. Packets are checked for consis-tency of their actual size with the size specified within thepacket. A node in the master state checks to see if anyother node is also in the master state. Individual characters

are checked for correct parity. The internal structure ofpackets is checked for consistency.

A hardware fault which is particularly serious is failureof the input at the node interface, i.e. deafness of a node.The effect of this is to cause a node to enter the masterstate eventually, even though another node may have legit-imately entered the master state. To prevent this happen-ing, another exit from the master state has beenimplemented. If a node in the master state fails to receivereplies to its polls, it will revert to the slave state, but witha flag set which inhibits entry into the master election statewhen inactivity is detected. The flag is reset when sufficientactivity is detected by the node. The flag is reset on powerup. Of course, it is possible that there are no repliesbecause only one node is active. However, the above strat-egy does not inhibit operation of the network should othernodes become active. Furthermore, if the allegedly deafnode is, in fact, healthy, it will resume normal operation.

5 Conclusion

The algorithm described in this paper for controllingaccess to multiple-access broadcast channel is suitable fornetworks with a moderate number of nodes. The numberwhich can be handled depends on the data rate of thechannel, the packet size and the maximum transmissiondelay between nodes.

A complete system employing the algorithms describedin this paper was tested extensively under normal and faultconditions in the laboratory, and has now been operatingsuccessfully in the north west of Western Australia for overa year [6].

6 References

1 EVANS, R.J., CANTONI, A., and COOK, B.J.: 'A party-line multi-processor supervisory and control system'. Department of Electricaland Computer Engineering, Technical Report EE8213, University ofNewcastle

2 CANTONI, A.: 'Network coupler for local party-line computernetwork'. Department of Electrical and Computer Engineering, Tech-nical Report EE8211, University of Newcastle, May 1982

3 LUCZAK, E.C.: 'Global bus computer communication techniques'.Proc. Computer networking symposium, Dec. 1978, also in 'IEEE tuto-rial on distributed processor communication architecture', 1980, pp.452-464

4 CLARK, D.D., POGRAN, K.T., and REED, D.P.: 'An introduction tolocal area networks', Proc. IEEE, 1978, 66, pp. 1497-1517

5 BOX, W.: 'Local area subnetworks: a performance comparison' inWEST, A., and JANSON, P. (Eds): 'Local networks for computercommunications' (North Holland Publishing Co., 1981), pp. 157-180

6 EDL (Australia) Pty. Ltd.: 'Common access channel supervisorysystem'. EDL-913', EDL Pty. Ltd., East Bentleigh, Victoria, Australia

ErratumEditorial: IEE Proc. E, Comput. & Digital Tech., 1984, 131,(4), p. 105

In the heading and second line of the Editorial the 'Com-puting & Control Lecture' is incorrectly referred to as the

Computing & Control Division: Divisional Lecture' andas the 'first Divisional Lecture of the Computing &Control Division', respectively.

3468E

198 IEE PROCEEDINGS, Vol. 131, Pt. E, No. 5 SEPTEMBER 1984


Recommended