Abstract:
A data transmission network comprises a plurality of interconnected nodes and input/output units. In response to receipt of a data message for onward transmission through the network, each node accesses information which it stores relating to the then current topology of the network and transmits the message through the appropriate connecting links. Each node operates according to a predetermined algorithm to up-date its stored topology information. Each node at any given time assumes a particular state, state n. When in this state, it interrogates immediately each neighboring node with the question &#34;Who are the neighbors of node of distance (n-1) from you?&#34; where &#34;distance&#34; is defined in terms of the number of links. The addressed nodes respond either by returning the requested information in the form of a positive reply or by responding &#34;Don&#39;t yet know&#34;. Each node advances to state (n+1) after it has received a consistent set of positive replies from all its neighbors and then repeats the question, again to each of its immediate neighbors but now concerning the identities of the next more distant nodes. The information received as it advances through the states is stored and thus up-dates the topology information.

Description:
BACKGROUND OF THE INVENTION 
     The invention relates to information communication networks and methods and, in particular, to networks comprising a plurality of nodes at each of which is situated an information handling unit connected, by a plurality of communication connections, to one or more other nodes and/or input/output devices. Information is accordingly received from time to time by each node, for onward transmission to a particular destination which may be another node or an input/output device connected thereto for example. The node initially receiving the information therefore has to choose the route along which to transmit the information to its ultimate destination, taking into account the then current state of the network and thus taking into account dynamic changes in the network which will occur from time to time. 
     SUMMARY OF THE INVENTION 
     According to the invention, there is provided an information transmission network, including a plurality of nodes interconnected by links and at least some of which are also connected to input/output units, each node including means responsive to an information message received whereby to arrange for the transfer of the information message, through the network, to another node in the network, each node including means storing information concerning the topology of the network and its interconnections, means responsive to the stored information to determine a route for the information message through the network, and updating means for maintaining the stored topology information and to take account of dynamic changes in the topology of the network, the up-dating means including means for automatically and repeatedly establishing the identities of the progressively more distant nodes. 
     According to the invention, there is also provided a method of transmitting information within a network comprising a plurality of nodes, interconnected by links, the method comprising the steps, in each node, of storing information there relating to the topology of the network, responding to an information message to be transmitted to another destination via the network by accessing the stored information and routing the message to that destination in dependence on the accessed information, and up-dating the stored information to take account of dynamic changes in the topology of the network, the up-dating step comprising for each node the sub-steps of interrogating each of its immediately neighbouring nodes to establish, in turn, their identities and the identities of the progressively more distant neighbours, and storing the identities so established and up-dating the stored information in dependence thereon. 
    
    
     DESCRIPTION OF THE DRAWINGS 
     An information transmission network embodying the invention will now be described, by way of example only, with reference to the accompanying drawings in which: 
     FIG. 1 is a schematic diagram of the network; and 
     FIG. 2 is a flow chart. 
    
    
     DESCRIPTION OF PREFERRED EMBODIMENTS 
     As shown in FIG. 1, the network comprises nodes 5A, 5B, 5C, 5D, 5E, 5F and 5G which are interconnected by means of communication links 6. The nodes are also connected to input/output devices, some of which are shown at 8A,68, 8C, 8D, 8E, 8F, 8G and 8H. The network illustrated is of course merely by way of example. Each node 5A-5G comprises suitable data processing hardware. The node referenced 5A is shown in detail to illustrated the different functions performed by the node. The other nodes 5B to 5G are identical, but are shown in less detail. When it receives a data message, for example from an input/output unit connected to it, it responds by setting up a data transmission path via the communication links 6, for sending the data message to its intended destination. For example, node 5Amay receive a data message from input/output unit 8A which is intended for transmission to input/output unit 8H. This data message could be sent by avariety of different ways. For example, it could be transmitted via nodes 5B, 5C, and 5E. Instead, however, it could be transmitted via nodes 5B and5D, thus bypassing nodes 5C and 5E. A further possible path is via nodes 5B, 5C and 5D, thus bypassing node 5E. Node 5A has to decide the transmission path according to the then current state of the network. The state of the network will be dynamically changing. For example, there may be a failure of one or more connecting links, and nodes and connecting links may be added or taken out of service. In a manner to be described, therefore, each node includes means continuously operating in accordance with a predetermined algorithm, for up-dating its awareness of the state of the network. In this way, therefore, it is able to respond to each datamessage received by sending it to its intended destination along the optimum route. 
     The algorithm will now be described. 
     An interrogation protocol operates between the nodes, using a switching channel in the data links. The intention is that the protocol should serveas the mechanism both for automatically coping with disruption of the network while it is running and for the initial setting up of the control topology when the network is first brought up. 
     The algorithm operates on the assumption that the links between neighbouring nodes either transmit a message reliably or will provide an indication of link failure. 
     Each node has its own predetermined identity (e.g. a number) which, in general, is unchanging. In accordance with the algorithm, each node has atany given time a particular &#34;information state&#34;, that is a state representing its current knowledge of the topology of the network. Initially, each node assumes &#34;State 0&#34; and then progresses from State 0 toState 1, State 2 and so on as its knowledge of the topology progresses across the network. Each node progresses from one state to the next by asking questions of its immediate neighbours. The State 0 question of the algorithm is &#34;Who are you?&#34;. By means of this question, the node obtains the identities of its immediate neighbours. For n 0, the State n question is &#34;Who are the neighbours of nodes of distance (n-1) from you?&#34; Distancesare defined in terms of the number of links. Thus, if n=1, the question asks to each immediately neighbouring node &#34;Who your neighbours?&#34;. If n=2,the question asks each immediately neighbouring node &#34;Who are the neighbours of your neighbours?&#34;. 
     When a node receives a State n question it either returns the requested information, that is, a list of the identities of immediate neighbours of each node at distance n-1 (this is called a positive reply), or it returnsa &#34;Don&#39;t yet know&#34; reply. The form of the positive reply is such that the node receiving it can discover from it the immediate neighbours of each node at distance n-1 from the node that sent the positive reply. This can be done by, for example, preceding each list of neighbours in the positivereply with the identity of the node (at distance n-1) that they neighbour. 
     On initialisation each node is in State 0. A node in State n advances to State (n+1) after it has received a consistent set of positive replies to the State n question from all its neighbours. Each node stores the information it receives as it advances through the states. Each node seeksto advance its state until an advance in state is made without the discovery of any more nodes; when this happens the node stops asking questions. 
     If a node X in State r receives a State n question, its behaviour depends on the value of r : if r&lt;n, X returns a &#34;Don&#39;t yet know&#34;; if r=n or r=(n+1), then X returns the requested information which is extracted from the information which it has previously stored in its advance to its present state (see Proposition 1 below); if r&lt;(n+1), X returns the requested information and X reverts to State (n+1) and discards information obtained in advances beyond State (n+1). 
     If a node X detects that a link to a neighbour Y has gone down, or that theneighbour Y has itself gone down, then X will revert to State 0 and discardall information except its own identity. The failure of a link between X and Y will be detected by both X and Y and hence both nodes will revert toState 0. 
     After a node receives a &#34;Don&#39;t yet know&#34; reply to a State n question it waits to resend the question until it receives a State n question from theadjacent node or until a timer has expired and then resends the question. This question will be received when the adjacent node reaches State n and hence can answer State n questions. If a node receives information which is inconsistent with what it has currently stored, it reverts to the beginning or its current state and waits for a neighbouring node to changestate (detected by the neighbouring node asking it a question) before repeating its state n questions. 
     The above-described algorithm is illustrated in the flow chart of FIG. 2 and its integrity is explained in detail below. The flow chart ignores theneed to repeat topology questions when a &#34;don&#39;t know&#34; reply is received. 
     (a) Proposition 1 
     A node X in State (n+1) knows: 
     (a) the identity of all nodes of distance &lt;(n+2) from X; 
     (b) the identity of all links joining nodes of distance n from X to nodes of distance &lt;(n+1) from X; 
     (c) the complete topology for the subgraph of nodes which are of distance (n+1) from X. 
     Proof 
     The proof is by induction on the state. 
     The proposition is obviously true for the case n=0. 
     Assume the proposition is true for all nodes in States &lt;(n+1). We want to prove the proposition for State (n+1). X gets into State n+1 by receiving positive replies from each of its neighbours to the State n question &#34;Who are the neighbours of nodes of distance (n-1) from you? &#34;. A neighbour Y will attempt to answer the question positively if it is in State n or higher. The induction hypothesis is applied to Y in State n. A neighbour of a node of distance (n-1) from Y is either at distance n from Y, in which case clause (b) of the induction hypothesis above applies, or it is at distance &lt;n, in which case clause (c) applies. If Y is in state n it can therefore answer the question from stored information and if it is in a higher state it can do it a fortiori 
     Let Z be a node at distance (n+1) from X. Then Z is at distance n from someneighbour of X, say W. Then Z is a neighbour of some node of distance (n-1)from W. Therefore the identity of Z is returned in the State n question from X to W. This proves clause (a). 
     Let L be a link joining a node Z1 at distance n from X to a node Z2 at distance (n-1) from X. Then Z1 is at distance n-1 from some neighbour of X, say W. Therefore the link L is returned to X in the State n question toW. 
     This proves clause (b). 
     Let Z1 and Z2 be nodes which are neighbours and both of which are of distance &lt;(n+1) from X. By induction hypothesis, X knows the identity of Z1 and Z2. To complete the proof we need to show that X knows about the link from Z1 to Z2. Let us use d(A B) to mean the distance between the nodes A and B. If d(Z1 X)&lt;n and d(Z2 X)&lt;n, then by induction hypothesis the link from Z1 to Z2 was already known by X in State n. If d(Z1 X)=n then d(Z2 X)=n or d(Z2 X)=(n-1). If d(Z2 X)=(n-1), then the link between Z1 and Z2 was returned by a State (n-1) question, since, for some neighbour of X, say W, d(Z2 W) (n-2) and the Slate (n-1) question to W would return the link. If d(Z2 X)=n, then for some neighbour of X, say W, d(Z2 W)=(n-1) and the link was returned to X by the State n question to W. 
     (b) Proposition 2 
     Every node not in state infinity can increase its state. 
     Proof 
     Let X be a node in state n issuing State n questions. From Proposition 1 itfollows that a neighbour of X can positively reply to X if it is in State nor higher. Therefore if X cannot get to State (n+1), it must be because some neighbour, W, cannot get to State n. 
     Repeating the argument, W cannot get to State n because some neighbour of Wcannot get to State n-1. Therefore some node cannot get to State 1 which isimpossible. 
     (c) Proposition 3 
     If a node in State n discovers no more nodes in advancing its state to (n+1), then the node knows the entire topology of the connected subnetworkcontaining it. 
     Proof 
     Let X be a node. If the set of nodes at distance &lt;(n+1) from X and the set of nodes at distance &lt;(n+2) from X coincide, then the set contains all thenodes, for if there were a node at distance (n+2), there would be a node atdistance (n+1) and the sets would not coincide. The proposition then follows from proposition 1. 
     (d) Proposition 4 
     Following a change of link status between neighbours, every node recalculates the new correct topology. 
     Proof 
     Assume the status of the link between neighbours X and Y changes. 
     The first part of the proof is to show that, following the change in link status, each node will eventually get to a state from which it will never revert to a lower state and in which it holds the new correct information about the XY link. The proof of this is by induction on the distance from Y and X. 
     The inductive hypothesis is that all nodes of distance r from Y and at least distance r from X revert to State r and therafter they advance theirstate to State (r+1) from which they do not subsequently revert and in State (r+1) they know the new correct information about the XY link. 
     For nodes of distance 0 from Y (i.e. Y itself) the induction hypothesis is obviously true. 
     Let Z be of distance n from Y and at least distance n from X. 
     Assume there are m distinct shortest paths of length n from either X or Y to Z and that Ai . . . Am are the neighbours of Z on each of these paths so that each Ai is at distance (n-1) from X or Y. At some point, Z will revert to State n in consequence of State (n-1) messages from the Ai. Let Aj be the first of the Ai to send a State (n-1) message to Z causing it torevert to State n. In State n, Z does not know whether there is a link fromX to Y or not. Z cannot get into State (n+1) before Aj gets to state n. By inductive assumption Aj can advance to State n and in State n it holds the(new) correct information about the XY link. When Aj gets to State n it is possible that some of the other Ai are still in State infinity and are thus still holding the old incorrect information about the XY link. In this case Z&#39;s attempts to get to State (n+1) will be frustrated by inconsistent information about the XY link. Therefore Z can only get to State (n+1) when all the Ai have reached State n and in State (n+1) Z willhold the correct information about the XY link. As the other neighbours of Z do not return information about the XY link on the State n question, they do not affect Z&#39;s ability to get to State (n+1). Once Z is in State (n+1) it does not revert to State n again because it has already received all possible messages which cause reversion to State n as a result of the loss of the link XY. This completes the induction. 
     The advance of Z to complete the topology from State (n+1) can only be frustrated because it receives incorrect information about the XY link from some other node W. However, by the above argument, this frustration will be only temporary as W will sooner or later receive the correct information about XY. 
     (e) Proposition 5 
     Following any change in topology, a node recalculates the correct topology of the connected subnetwork containing the node. 
     Notation 
     In the proof of this proposition and its associated lemmas, the following notation is used: 
     
         ______________________________________State (X.t.)   the state of node X at          time t.d(X,Y)         the distance between X and          Y          along the shortest path          between them.______________________________________ 
    
     Lemma 1 
     For all finite r, any node X shall revert to states &lt;r at most a finite number of times as a result of a topology change. 
     Proof 
     The proof is by induction on r. The induction hypothesis is that for some r, for all nodes A, and for all 1&lt;r, A reverts to States &lt;1 at most a finite number of times. 
     For r=0, no node ever reverts to States &lt;0, hence no node reverts to states &lt;0 more than a finite number of times. The induction hypothesis is hence true for r=0. 
     Assume that the induction hypothesis is true for r=n. Consider a node X. X shall revert to a State 0&lt;m&lt;n only when a neighbour reverts to State (m-1). By the induction hypothesis, this occurs at most a finite number oftimes. X shall revert to State 0 only when a link terminated at X changes state. But a topology change changes the state of at most a finite number of links. Therefore X shall revert to States &lt;n at most a finite number oftimes. But this is true for all nodes X. Hence the induction hypothesis is true for r=n+1. Hence, by induction, it is true for all r. 
     Lemma 2 
     If X and Y are neighbours, PQ is a link such that at some time T State (X,T)&lt;d(P,X), State (Y,T)&lt;d (P,X)+1, and d(Q,X)&lt;=d(P,X) then X and Y have identical knowledge of the state of PQ. 
     Proof 
     X receives information about the state of PQ when it is in state d(P,X). 
     Y receives information about the state of PQ when it asks X a State d(P,X)+1 question. 
     For Y to have reached a State&lt;d(P,X)+1, it must have passed through State d(P,X)+1. It hence must have asked X a d(P,X)+1 question and have receivedan answer from X. 
     X&#39;s knowledge of the state of the link can only change when X asks its neighbours an d(P,X) question. But this will have caused Y to revert to State d(P,X)+1 (unless it is already in this state or lower). Y can only reach a higher state after asking X an d(P,X) +1 question. X will only answer this question once it has reached state d(P,X)+1 by which time it will have updated its knowledge of the link between P and Q. Hence when Y reaches a state &lt;d(P,X)+1, its knowledge of the state of the link between P and Q will be identical to X&#39;s knowledge of the state of the link when Xreaches state d(P,X). 
     Lemma 3 
     For all r any node with incorrect knowledge of a link terminating a distance r from it shall pass through a State&lt;(r+1). 
     Proof 
     The proof shall be by induction on r. The induction hypothesis is: 
     For some r any node with incorrect knowledge of a link at a distance r fromit shall pass through a State&lt;(r+1). 
     The hypothesis is clearly true for r=0 
     Assume it is true for all nodes for r=n. Assume also that X has incorrect knowledge of a link terminating at P at a distance (n+1) from X. It will now be proved that after finite time, state (X)&lt;(n+2). If State (X)&lt;(n+2) there is nothing to prove, so assume State (X)&gt;=n+2. Then X has a neighbour Y at a distance n from P. If State (Y)&lt;(n+1) then after finite time State (X)&lt;=State (Y)&lt;+1&lt;(n+2). If state (Y)&lt;=(n+1) then by Lemma 2, Y&#39;s knowledge of the state of the link is identical to X&#39;s knowledge of the state of the link. Hence Y&#39;s knowledge of the state of the link is incorrect. Hence, from the induction hypothesis, after finite time state (Y) (n+1). Hence after finite time state (X)&lt;(n+2). But this is true for all nodes X. Hence for r=(n+1) the induction hypothesis is true. 
     Hence the induction hypothesis is true for r=0 and if it is true for r=n itis true for r=(n+1). Hence it is true for all r. 
     Lemma 4 
     The state of every node in a finite state shall increase in a finite time. 
     Proof 
     By induction on the State r of the nodes. 
     The induction hypothesis is that for some r, every node in state &lt;r shall increase above r in finite time. 
     The induction hypothesis is clearly true for r=0. 
     Assume it is true for r-n. 
     Let X be any node in State (n+1). It will first be shown that there exists a time T such that for times t&gt;T and for all neighbours Z of X, State (Z)&gt;n (the foregoing is referred to below as &#34;requirement A&#34;). Assume thatthere exists a Y that is a neighbour of X such that there exists a time TO&#39;(Y) such that state (Y, TO&#39;(Y))&lt;=n. (If no such Y exists, requirement Ais trivally true). By lemma 1, Y will only revert to states less than (n+1)a finite number of times. Let T&#39;(Y) be the last time at which this occurs. By the induction hypothesis, there exists a time T (Y)&gt; T&#39;(Y) such that State(Y, T(Y))&gt;n. Hence by the definition of T&#39;(Y), at all times t&gt;T(Y), state (Y)&gt;n. Now let T=max [T(Z)Z is a neighbour of X]. Then for all t&gt;T and for all Z neighbours of X, State(Z,t)&gt;n. Hence, requirement A is true. 
     If there are no contradictions between the information X receives in answerto its (n+1) questions it will reach State (n+2) a finite time after this time. If there is a contradication, then at least one of its neighbours had incorrect information about a link at a distanc&lt;(n+1) from it. Hence by Lemma 3 this node will pass through a State &lt;(n+1) in finite time. But this is impossible because of requirement A. Hence there can be no contradictions in the information received by X after its neighbours have reached the state described in requirement A. Hence X reaches State (n+2). 
     Hence if the induction hypothesis is true for r=n, it is true for r=(n+1). But the induction hypothesis is true for r=0. Hence it is true for all r. 
     Proof of Proposition 5 
     By Lemma 4 every node in a finite state r shall reach State (r+1) in finitetime. By Lemma 1 it shall not revert to States&lt;(r+1) more than a finite number of times. Hence the node shall after a finite time reach State (r+1) and shall not again revert to any State &lt;(r+1). But this is true forall finite r and the maximum number of nodes in the connected subnetwork isfinite. Hence the node shall reach a state in which it does not detect any new nodes and shall not revert from this state. But when a node reaches this state it enters State infinity. Hence after a finite time, all nodes shall enter State infinity. But by Lemma 2 if all the nodes in a connectednetwork are in State infinity they must all have identical maps of the network. Furthermore, all nodes in States &gt;0 have correct maps of the links to their neighbours. Hence all nodes have correct maps of the links to the neighbour of any node. Hence all nodes have a correct map of every link.