Routing logic means

Abstract: A routing logic means is proposed for adaptive and distributed routing in packet switching networks. This routing logic means makes an accurate routing choice needing only minimal signalling overhead. This is achieved by combining only local delay information with less dynamic topological information, such as the hop distance to the destination node, into a third cost value and making the routing decision based on this third cost value. This is achieved by only taking into account the delay incured over a first portion of a possible path, the remaining second portion being accounted for via the hop distance represented by it.

Description: The present invention relates to a routing logic means as defined in the preamble of claim 1. Such a routing logic means is already known in the art, e.g. from the paper "An extended least-hop distributed routing algorithm", by Don J. Nelson et al. , IEEE Transactions on communications, vol. 38, No 4, april 1990 pp 520-528. Therein the routing logic means execute a routing algorithm described in part III of the paper "Nelhnet Fundamentals". The routing logic means and routing algorithm proposed in this paper is concerned with adaptive and distributed routing in a connectionless environment. Adaptive routing means that the parameters in the routing strategy are changed as a function of the network status, i.e. the transmission delay and the network topology. Distributed routing means that the routing choice is essentially made in a decentralized way, i.e. every node includes a routing logic means which determines essentially independently the next node to which a packet has to be transmitted, in order to reach a destination node with least cost, e.g. with least delay. Hence, in using distributed routing an optimal path through the packet switching network is progressively built up, for every packet to be switched, by letting the routing logic means in every node decide on an optimal continuation of the part of the optimal path already determined. In the aforementioned paper the choice made by the routing logic means is based on two characteristics of the packet switching network, i.e. the transmission delay and the network topology. An optimal next node is chosen by sequentially optimising the above two characteristics. Firstly only those next nodes are considered for which the minimal number of nodes between the latter next nodes and the destination node are below or equal to a threshold value. In one embodiment of the routing logic means of the above paper this threshold value is the minimal number of nodes between a next node and the destination node taken over all possible next nodes. Secondly, out of the remaining set of next nodes, the next node is chosen for which an estimated transmission delay to the destination node is minimal. The latter estimated delay is in this system the sum of a nodal delay for transmission to a particular next node and a destination delay which is an estimate of the minimal transmission delay from a particular next node to the destination node taken over all possible paths interconnecting the latter two nodes. The above algorithm uses an estimate of the total delay to the destination node. This leads to signalling and processing overhead in order to distribute this delay information over a possibly very large packet switching network. Moreover, due to the dynamic nature of this delay information and the signalling delay incurred by it this delay information can be very inaccurate when it is used in a particular node. It can be verified that reducing the signalling and processing overhead further reduces the accuracy of the delay information whereas increasing the accuracy of the delay information results vice versa in an increase of the above mentioned overhead. The problem of this type of routing logic means thus is providing accurate information keeping the overhead to a minimum. In any case, by taking into account also topological information a packet can be prevented from being trapped in a loop. The way in which this is accomplished however leads to a complex routing logic means needing much signalling overhead and, moreover, leads to an inflexible routing algorithm, not able for instance to adapt the relative importance of the above two criteria because they are sequentially and hence independently optimized. Another adaptive distributed routing mechanism is described in United States Patent US 4,905,233. The choice of paths made by the routing means therein also is based on two characteristics which are used sequentially. First, paths with the lowest transmission delay or so called shortest paths are selected. In addition, the shortest paths are examined on the basis of a certain path metric, for instance the maximum distance between a node of the path and the destination node. Paths wherein this maximum distance exceeds the distance between source and destination nodes are eliminated so that only a set of feasible paths remains. The traffic than is distributed amongst these feasible paths in inverse proportion to the path metric of the feasible paths. Since this routing mechanism uses an estimate of the total delay to the destination node to select the shortest paths, and uses two characteristics independently and sequentially, this method is comparable to the one described in the above mentioned IEEE publication and has the same drawbacks. An object of the present invention is to provide a routing logic means eliminating part of the above mentioned signalling overhead and flexibly routing packets based on accurate delay information. This object is achieved by the routing logic means defined in claim 1. In this way the above two characteristics no longer are optimised sequentially but are considered jointly via the third cost value which is a combination of the first and second cost value, after for instance first weighting their actual relative importance. Moreover by only considering the transmission delay estimated over a first portion of a possible path, the signalling overhead can be diminished and the reliability of the delay information is not be affected by inaccurate delays as only delay information relating to relatively small first portions will be taken into account. The second cost value, e.g. relating to the topology of the network, must be of a less dynamic nature so taking into account the total possible path up to the destination node without taking into account unreliability delay information and without needing much signalling. To be noted that the above mentioned routing logic means is applicable to connectionless switching networks as well as connection oriented switching networks e.g. during the path search phase. Further flexibility is offered by the proposed routing logic means due to the fact that it can determine not only the optimal next node but also the optimal partial path including a plurality of nodes. In this way the processing overhead is diminished without departing from the distributed routing strategy. The latter fact can be for instance advantageous in bypassing congested areas and alleviating their operation by routing packets through them without having to make routing decisions in such a congested area. A further possible use of determining an optimal partial path comprising a plurality of nodes presents itself in switching networks wherein the different switching nodes not all possess a same processing power, nodes with a smaller processing power being loaded less with routing decisions by intelligently determining the values of X on a network scale. Further advangageous features of the present invention are that said combination is a weighted combination of a first and a second relative value deduced from said first and said second cost value respectively by dividing them by the mean value of said respective cost values taken over all of said considered possible paths and that said choice is based at least on minimizing said third cost value and that said weighted combination reflects a relative importance of said respective cost values and that said relative importance is adapted according to relative fluctuations of said respective cost values over a time interval so as to give less weight to those cost values having large relative fluctuations. In the above features a specific way of flexible change of the routing strategy made possible with the present invention is described. The combined values realizing the third cost value must be relative values because the first and second cost values are expressed in different metrics. The weight used in the combination is adapted in such a way as to take into account to a lesser extent that cost value which has proven, at a specific time instant, to be rather unreliable as evidenced from rapid fluctuations thereof In this way the mentioned choice is mainly based on the most reliable cost value. An important aspect of the present invention is that said packet includes a credit counter with a value CC which is initialized upon entering said network and that said routing logic means only considers those partial paths as possible partial paths for which the minimum number of nodes N from the end node of said partial path to said destination node and the minimum number of nodes M from said node in which said choice is made to said destination node satisfy the expression: M+CC >= X+N A drawback of many distributed routing strategies is that looping may occur, i.e. a packet is sent through a same set of switching nodes for some time. This is mainly due to the fact that only local information is used for the routing choice in a particular node. A less dramatic effect of the aforementioned type of routing choice is that packets are sent to the wrong direction because no overall view of the switching network is used in such a routing choice. According to the above mentioned aspect of the present invention such drawbacks can be simply avoided by not considering those partial paths which would lead the packet in such wrong directions. Indeed, the credit counter can be considered as a threshold value eliminating those partial paths which lead the packet to a node in which the minimum number of nodes to the destination node is increased with a value higher than this threshold value compared to the minimum number of nodes to the destination node in its starting position. This technique is comparable to the one used in the referenced article but is simpler to implement. Moreover use of the credit counter leads to a more flexible routing method because the threshold can be determined separately for every packet to be transmitted. In this way the freedom to deviate from the shortest path can be determined with respect to characteristics such as destination node and type of connection, for each packet separately. A further aspect of the present invention is that said routing logic means ensures that at the end node of said chosen partial path said credit counter value is increased with a value M-(N+X). The above aspect further minimizes the chance of a packet being constantly routed in a wrong direction. In particular looping can be completely avoided because the actual path taken through the switching network now deviates from the shortest path maximally with the value of the credit counter. Indeed, in deviating from the shortest path the freedom to further deviate therefrom by the packet is accordingly diminished by changing the credit counter value according to the above expression. The above mentioned and other objects and features of the invention will become more apparent and the invention itself will be best understood by referring to the following description of an embodiment taken in conjunction with the accompanying drawings wherein: Fig. 1a shows a packet switching network in the nodes of whicha routing logic means according to the present invention is used; Fig. 1b shows a packet to be routed by the switching node 3 of the network shown in Fig. 1a; Fig. 2 shows a flow diagram of actions executed by a routing logic means according to the present invention; Fig. 3 shows a flow diagram, incorporated block 27 of the flow diagram of Fig. 2. Fig. 4 shows a last flow diagram of actions executed by the routing logic means in determining a weight j. The ten node network shown in Fig. 1a will be used to describe the operation of a routing logic means according to the present invention. This network corresponds to the test network used in the paper "Extended least-hop distributed routing algorithm", by Don J. Nelson et al, IEEE transactions on communications, vol. 38, No 4, April 1990 pp 520-528 and is presented therein in Fig. 1 and used to test the Nelhnet routing algorithm proposed therein. The switching nodes used in this test network may be of any type, many types of which are well known in the art therefore the architecture of such switching nodes is neither described nor shown in further detail. To realize the routing logic means either use can be made of existing processors and memories or supplemental hardware can be devised, in both cases it can be implemented by a skilled person from the further description of its operation. The specific hardware and eventual software needed for this implementation will thus not be described in detail. It is to be noted that the advantages derived from the present invention will be not outspoken when using large, dynamic switching networks as the problem of providing accurate delay information whilst minimizing the processing and signalling overhead is then relatively more difficult to resolve. However, for simplicity's sake the routing logic means will here be described with reference to a rather small test network as shown in Fig. 1a. The operation of the routing logic means will hereafter be described via an example of a packet, shown in Fig. 1b, to be transmitted over the network, shown in Fig. 1a, from node 3 to a destination node, nl. node 9. The routing logic means of every node in the switching network executes a same decision strategy. This strategy is visualized in a first flow chart, shown in Fig. 2, which incorporates a second flow chart, shown in Fig. 3. The above mentioned example will be described with reference to these flow charts. The packet to be routed by node 3 includes a self routing tag SRT which is 5 bits long, a credit counter CC of 2 bits and a payload part p. In the present example SRT consists of a leading zero and 4 further bits which are don't cares X, CC has a like named binary value of 01. The routing logic means of node 3, in this example, determines an optimal partial path comprising X nodes where X equals one, i.e. it determines an optimal next node. With every packet received it executes a flow chart as represented in Fig. 2 wherefore it consults two tables. The first table corresponds to a first cost value, nl. the estimated transmission delay over a first portion of a possible path connecting node 3 with the destination node 9. This first portion comprises Y nodes, Y equalling 1 in this case so that each first portion corresponds exactly to one of the partial paths. The second table corresponds to a second cost value, nl. the number of nodes in a second portion of such a possible path. This number will be further called hop-distance. It is to be noted that only one possible path is considered per partial path, nl. that possible path with minimal hop distance in the second portion taken over all possible second portions. The entry in table 2 therefore is per possible destination node the minimal hop distance from the end point of a partial path, i.e. from the next node in the present example, to that destination node. In the present example the next nodes are nodes 2 and 4 and in the rows of the tables the respective cost values are entered. In the second table the column has to be selected which corresponds to the actual destination node, nl. node 9. The first and second tables are represented hereafter Turning now to the flow chart of Fig. 2, the routing logic means of node 3 will route the packet of Fig. 1b in the following manner. First, in Box 21 of the flow chart, the routing logic means examines the leading bit of the self routing tag SRT. This bit indicates whether the packet is to be routed according to further information contained in the other bits of the self routing tag SRT or whether a routing choice is to be made by the routing logic means. As in the packet depicted in Fig. 1b this bit is zero, the routing logic means has to make a routing choice wherefore it proceeds to Box 22 which path is indicated in Fig. 2 as SRT(1)=0. If on the contrary SRT(1)=1 the routing logic means would proceed to 210 to retrieve the identity of the next node specified in the self routing tag SRT as will be discussed in more detail further below. In 22 the routing logic means makes an inventary of all partial paths originating in its node and comprising X = 1 nodes. In the present case next nodes 2 and 4 form part of this total set. Hereafter, in 23, each of these next nodes are checked in order to determine whether they are to be further considered as possible next nodes. In the present embodiment this means that the validity of the expression M+CC >= X+N is checked. In the above expression M is the hop distance from the node to which the routing logic means belongs, i.e. node 3, to the destination node, i.e. node 9, wherefore in this case M equals 4. N is dependent upon which next nodes is considered. For the first next node of the total set of next nodes, i.e. for node 2, N is the hop distance from the end node of the partial path to the destination node, i.e. from node 2 to node 9. N thus equals 3 as indicated in column 9 of Table 2, the column number corresponding to the number of the destination node, and in the row belonging to the considered partial path, i.e. in this case the first row. It can then be verified that expression (1) is indeed valid for next node 2 so that the routing logic means further proceeds to 24. In 24 next node 2 is added to a search set which will later be used for making the actual routing choice. To be noted that expression (1) basically checks whether in routing the packet over a particular partial path, the hop distance at the end point of this partial path decreases accordingly with X, X being the number of nodes in the partial path. In this way it can be ensured that the packet will take the shortest path, expressed in hop distance, to the destination node. This restriction is alleviated and the freedom in routing choice is enlarged by taking into account the credit counter which allows the packet to deviate from the shortest path but ensures that this deviation stays below a threshold value which is just the value of the credit counter CC. Hereafter the routing logic means of node 3 arrives in 25, in which it would have directly arrived from 23 when expression (1) was found to be false. In 25 an iteration counter is increased which was initialized at zero in 22. Further, in 26, the routing logic means checks if the iteration counter is smaller than the number of partial paths in the total set, which in the present case comprises nodes 2 and 4. In finding that the above holds the routing logic means jumps back to 23 wherein a further partial path, indicated by the iteration counter, is checked, i.e. node 4. For the latter node N again equals 3 as can be seen from the ninth column, second row of Table 2 so that node 4 is also added to the search set in 24. After a further increment of the iteration counter in 25, the routing logic means derives in 26 that its value is no longer smaller than the number of partial paths in the total set wherefor it jumps to 27 as indicated in Fig. 2. In 27 the actual routing choice is made in accordance with the present invention between the possible partial paths comprised in the above determined search set. This will be discussed in detail later with reference to Fig. 3 in which 27 is further detailed. After making this choice, in 28, the routing logic means possibly changes the self routing tag SRT according to the chosen partial path. The latter is necessary when a partial path comprising more than one node was to be chosen which will be described later. In node 3, as previously mentioned, only a next node was to be chosen where fore this self routing tag SRT can remain unchanged. Further, also in 28, the credit counter value CC has to be increased with a value according to the following expression, M-(N+X) In order to completely avoid looping it has to be made certain that the effective path taken to the destination node deviates from the shortest path by at most the threshold value expressed as the credit counter CC. In making a particular routing choice deviating from the shortest path the credit counter CC thus has to be decreased with the value of this deviation in hop distance. In the present example, regardless of which node out of the search set was actually chosen the value according to (2) is zero as both node 2 as node 4 yield an N equalling 3. Hereafter, in 29, the routing logic means signals to the control processor of the switching node to which next node the packet is to be transmitted. Finally, in 211, the routing logic means releases the packet in order for it to be appropriately transmitted by node 3. It is to be noted that in case a next node was specified in the self routing tag SRT an alternative path, described in detail later, from 21 over 210 to 211 is to be taken. With reference to the flow chart of Fig. 3 the actual routing choice corresponding to decision block 27 of Fig. 2 will now be described in detail for the above example. Firstly, in 31 the mean delay MD and the mean hop distance MH to a particular destination node taken over all possible partial paths comprised in the search set are calculated. This yields in the present example a mean delay MD of 40 nanoseconds and a mean hop distance MH of 3 nodes. Hereafter, in 32, a second iteration counter value is initialized at zero and, in 33, a third cost value for a partial path corresponding to the latter value, i.e. the first partial path of the search set, is computed according to the following weighted combination: th = j RD + (1-j) RH Wherein th is the third cost value, j is the weight which is initialized at 0.5 and whose further change is clarified with reference to Fig. 4, RD is a first relative value computed by dividing the relevant entry in Table 1 by the mean delay MD and similarly RH is a second relative value computed by dividing the relevant entry in Table 2 by the mean hop distance MH. For next node 2 in this way in 33 the following third cost value is calculated : th = 0.5( 50 40 ) + (1-0.5)( 3 3 )=1.125 To be noted that it is supposed that j hasn't changed yet from its initial value. After computing the above third cost value the routing logic means increments the second iteration counter. This is done in order to compute for each partial path in the search set a third cost value. Therefore, in 15, the routing logic means checks whether the latter counter value is smaller than the number of partial paths in the search set. As this is true the routing logic means loops back to 33 to compute another third cost value. Next node 4 corresponds to the iteration counter value and the following third cost value is computed : th = 0.5( 30 40 )+(1-0.5)( 3 3 )= 0.875 Hereafter again the second counter is incremented in 34, but now the routing logic means finds that the latter value is no longer smaller than the aforementioned number so that it now jumps to 36. The actual routing choice is now made and consists of searching over all partial paths in the search set which partial path has the smallest third cost value, i.e. routing is based on minimizing the third cost value. From the above it is clear that in the present example next node 4 is to be elected. Once this choice is made the routing logic means further proceeds to step 28 of the flow chart of Fig. 2. As mentioned earlier the packet transmitted to node 4 is identical to the one received by node 3 and hence we can further describe the example with reference to the packet depicted in Fig. 1b. To be noted that the process of forwarding the packet from node 3 to node 4 as also the process of accepting and storing it in node 4 are not described in detail as many options to do so are well known to a skilled person. In node 4 partial paths comprise X=2 nodes for instance be due to the fact that a majority of the neighbouring nodes have signalled overload conditions. First portions of possible paths from node 4 to destination node 9 also comprise Y=2 nodes. Hereafter the strategy of the routing logic means will again, but now more briefly, be discussed in using the flow charts of Figs. 2 and 3. The following parts of two tables i.e. Table 3 and Table 4 are used for the decisions of the routing logic means: In table 3 the estimated delays over the first portion of a possible path are listed per partial path characterized via its sequence of nodes. In the present case this first portion equals such a partial path therefore Table 3 also lists the estimated delay incurred over such a partial path. It is to be noted that if the first portion for instance only comprises 1 node the listed delays would be the estimated delays to the first node of the corresponding partial path. It can be verified that except for this change in Table 3 no other change is required and the following description could equally well be used to describe the case where Y = 1. Table 4 is a larger table only specifying the hop distance from the end node of the corresponding possible path to destination node 9. Again SRT(1) is found to be zero wherefore the total set of 5 partial paths is to be checked according to expression (1) in order to derive a suitable search set of possible partial paths. This is done in the loop of the flow chart on Fig. 2 as already described. In this case X equals 2, M equals 3 and N is to be found for the partial path on the corresponding row of Table 4. It can then be easily verified that only the partial paths over nodes 5-6, 5-1 and 1-10 respectively are to be considered as possible partial paths and will therefore belong to the search set searched in 27 or accordingly in the flow chart of Fig. 3. When either the partial path over nodes 1 and 2 or the one over nodes 3 and 2 are checked in step 23, the routing logic means would find that these paths do not validate expression (1). With N = 3 for both partial paths, as can be verified in Table 3, expression (1) gives 3-3+1 which is equal to 2-1 so that the routing logic means jumps from 23 to box 25 without adding either of the above partial paths to the search set. Turning to Fig. 3 first, in 31, the mean delay MD and the mean hop distance MH will be computed as 43,3 nsec and 1,66 respectively. Hereafter in the previously described loop between 33 and 35 the three third cost values are computed again supposing that the weight j has retained its initial value 0.5. It can again be easily verified that the portial path via node 5 to node 6 yields the smallest third cost value, in 36, wherefore it will be chosen as the optimal partial path. As the partial path now comprises 2 nodes, the self routing tag SRT will have to be changed in 28. Indeed, when arriving in node 5 no routing decision has to be made by the routing logic means so alleviating the load on this node and speeding up the routing process. Therefore the packet arriving in this node should designate its next node via the self routing tag SRT. In order to achieve the above the routing logic means of node 4 sets the leading bit of SRT indicating that the packet itself designates its next node, and it further designates node 6 in the set by setting the remaining bits equal to the binary number 00110 which is just decimal 6. Finally in 29 the next hop which is node 5 is specified whereafter node 4 transmits the changed packet to node 5. In node 5 again the flow chart of Fig. 2 will be executed by the routing logic means according to the present invention. But now, in checking the leading bit of the arriving packet, it finds that SRT(1)=1 and hence jumps from 21 to 210. In 210 the remaining bits of SRT are interpreted as the number of the node to which this packet is to be forwarded, this number being 6. Because no further nodes are specified in the SRT, the routing logic means further also clears the leading bit of SRT, in 210, before releasing the thus changed packet for transmission to node 6 in 211. It is to be noted that partial paths comprising more than 2 nodes will require a somehat more complex handling of the SRT which can however be achieved by one of many methods of handlng self routing tags designating more than 2 nodes. The latter methods are certainly within the skills of a skilled person. In node 6 again only a next node is determined according to the following tables : In checking the total set comprising next nodes 7, 9 and 5 against expression (1) only next node 9, which is also the destination node, forms part of the search set in 27. It will thus also be clear that the packet will be forwarded to the destination node 9. It is to be noted that further refinements such as bypassing the search algorithm of Fig. 3 when the search set contains only one possible partial path. of the routing strategy are obvious to realize wherefore they will not be further described. A more important aspect, but equally easy to implement, is that it must be avoided to have partial paths comprising more nodes than the hop distance to the destination node. Finally it will be described with reference to Fig. 4 how the weight j is to be adapted in every node. During a measurement interval the fluctuations in the estimated delays and hop distances will be measured and the value of the weight j adapted accordingly as explained hereafter. This measurement and adaptation is schematically shown in the flow chart of Fig. 4. Firstly, in 41, a time counter t is initialized at to, and a hop distance fluctuation parameter HF and a delay fluctuation parameter DF are reset. to is used to determine the duration of the measurement interval which should preferably be orders of magnitude larger than the expected time between changes Then, in 42, the routing logic means checks whether a change in the hop distance table has occurred. If this is so the routing logic means proceeds to 43 and determines at what location a node or a link has failed or where a new node or link is activated, i.e. it determines the minimum hop distance HD to this node or link and increments HF with the inverse of HD. The latter is done because the importance of such a change in network topology is inversely proportional with its distance from the present node. To be noted that for HD preferably the situation according to the new hop distance table is taken. Hereafter or directly after step 42 if no change occurred the routing logic means proceeds to 44 wherein it is checked whether, since the previous check, a change occurred in the estimated delays. If so, the routing logic means proceeds to 45. In this step the percentage in change from an old estimate to a new estimate is calculated. In calling the new delay value ND, and the old delay value OD, we can express this percentage as : ( ND-OD OD ) x 100 The delay fluctuation DF is then determined by calculating the expected percentage over the measurement interval, taking into account every single delay update received in the present node. From 45 an actual value of DF has to be available to go to 46. When no such change in the delay estimates has occurred the routing logic means directly proceeds from 44 to 46. In 46 the time counter is decremented and then it is checked if the measurement interval has already ended, i.e. if to equals zero. The latter is done in 47. If tt is still larger than zero the routing logic means loops back to step 42 for eventual further changes this of course untill to becomes zero whereafter the routing logic means jumps from 47 to 48. In step 48 from the above fluctuations relative fluctuations are calculated. Indeed, without considering relative fluctuations have to be considered since the two cost values are expressed in unrelated metrics. To this end an expected delay fluctuation EDF and an expected hop distance fluctuation EHF are used. These can be best computed by running the routine depicted in Fig. 4 once, skipping the next step 49 wherein the weight j determining the relative importance of the cost values in the third cost value is adapted and allocating the then found HF and DF to EHF and DHF. The relative fluctuations are obtained in step 48 by dividing HF and DF by respectively EHF and EDF. Finally a routine for adapting the weight j according to these relative fluctuations is to be executed in step 49 whereafter the routing logic means will loop back to step 41. To be noted that the above described routine is to be executed in parallel with the routines depicted in Figs. 2 and 3. The routine executed in 49 might for instance look like the one described hereafter and is essentially aimed at giving more weight to the most reliable of the two cost values, i.e. to the cost value whose relative fluctuation is the smallest of the two. The routine could for instance look like : if DF EDF < 1 then (relative delay fluctuation has decreased) if HF EHF >= 1 then j := j-K else (both relative fluctuations have decreased so : skip) else (relative delay fluctuation has increased) if HF EHF > = 1 then (both relative fluctuations have increased so : skip) else j := j+K The above routing can be refined in letting the value of the parameter K used therein be a function of the actual value of j and of the relative fluctuations DF/EDF and HF/EHF. Indeed, if the value of j is already larger than one half a less reliable delay estimate should force the value of j well down whereas the latter decrease in j should in a similar situation but with an actual value of j smaller than one half be much smaller. It should of course also be assured that the value of j stays comprised between 0 and 1. Further refinements could make the parameter K dependent upon which relative fluctuation of the two has increased and also adapt j when both those values prove to be either more or less reliable. In the latter case the most reliable cost value is to be identified and given more weight. Such refinements are essentially an optimisation process which can be carried out in full by a skilled person vis à vis the specific requirements in a specific application, wherefore they are not further described. While the principles of the invention have been described above in connection with specific apparatus, it is to be clearly understood that this description is made only by way of example and not as a limitation on the scope of the invention.

Claims: Routing logic means incorporated in a packet switching node which forms part of a packet switching network comprising a plurality of other packet switching nodes interconnected by respective links, characterized in that said routing logic means is adapted to choose, for a packet to be transmitted over said network to a destination node, a partial path from a plurality of possible partial paths each originating in said node and comprising X of said other packet switching nodes and their respective interconnecting links, X being an integer value greater than or equal to one, said choice being based on a third cost value which is the result of the combination of at least a first cost value and a second cost value, said combination being made at least for each one of said plurality of possible partial paths, and that said first cost value is an estimated transmission delay over a first portion of a possible path, comprising Y nodes and their interconnecting links, Y also being an integer value greater than or equal to one, said possible path connecting said node with said destination node and including one of said possible partial paths, and that said second cost value is the number of nodes comprised in a second portion of said possible path, said second portion comprising all nodes and links of said possible path not comprised in said first portion. Routing logic means according to claim 1, characterized in that said routing logic means considers only one of said possible paths per possible partial path, transmission over said one possible path having a minimal second cost value taken over the second cost values of all possible paths including said possible partial path. Routing logic means according to any of the previous claims, characterized in that said combination is a weighted combination of a first and a second relative value deduced from said first and said second cost value respectively by dividing them by the mean value of said respective cost values taken over all of said considered possible paths and that said choice is based at least on minimizing said third cost value. Routing logic means according to claim 3, characterized in that said weighted combination reflects a relative importance of said respective cost values and that said relative importance is adapted according to relative fluctuations of said respective cost values over a time interval so as to give less weight to those cost values having large relative fluctuations. Routing logic means according to claim 1, characterized in that X is determined on the basis of congestion information of neighbouring nodes of said node so as to avoid any routing action to be taken by congested nodes. Routing logic means according to claim 1, characterized in that X and Y both equal 1. Routing logic means according to claim 1, characterized in that said packet includes a credit counter with a value CC which is initialized upon entering said network and that said routing logic means only considers those partial paths as possible partial paths for which the minimum number of nodes N from the end node of said partial path to said destination node and the minimum number of nodes M from said node in which said choice is made to said destination node satisfy the expression: M+CC >= X+N Routing logic means according to claim 7, characterized in that said routing logic means is adpated to ensure that at the end node of said chosen partial path said credit counter value is increased with a value M-(N+X). Routing logic means according to any of the previous claims, characterized in that said routing logic means is adapted to fill in a self routing tag in said packet designating said chosen partial path if it comprises more than one node and that said routing logic means is adapted to detect the presence of said self routing tag in said packet and to transmit said packet to a designated outlet of said node.

Inventors: JOHANN CHARLES FERDINAND MARIA, JOHANN, CHARLES FERDINAND MARIA
Applicants: ALSTHOM CGE ALCATEL, ALCATEL
Application year: 1992
Main classification: H04L12
IPC codes: H04L12