ROUTING ALGORITHM FOR DISTRIBUTED TELECOMMUNICATION NETWORKS

Abstract: In a telecommunication network a plurality of transmitting and receiving stations are provided at randomly distributed locations. Routing means are provided for routing of calls between stations in the network utilising other stations in the network for relaying of such calls where necessary. Each station (S, 30-3, D) incorporates a call routing control unit acting to select a further station to which a call is to be transmitted for the purpose of relaying the call and comprising a memory for compiling, for a plurality of possible destination stations D and from information received from further stations within the network within range of the transmitting station, information on possible further stations which may be suitable for relaying calls to the destination stations D. The control unit further comprises an interrogation arrangement for transmitting an interrogation signal to be received by at least one further station in the network, and an acknowledgement arrangement for transmitting an acknowledgement signal when the station is available for relaying a call in response to an interrogation signal received from a further station.

Description: "Routing Algorithm for Distributed Telecommunication Networks" This invention relates to distributed telecommunication networks, and is concerned more particularly with the routing of signals through such distributed telecommunication networks . The invention may be applied to transmitting and receiving stations for radio networks in which a plurality of such stations are provided at randomly distributed locations and in which circuit or packet switching is implemented by the stations themselves by means of routing of calls between stations in the network utilising other stations in the network for relaying of such calls where necessary. It may also be used in connection with internet routing in which a plurality of routers, bridges and gateways perform a similar function of relaying packets of information. In many countries, although there may be a telephone service to towns and some principal villages, the majority of the population has no effective access to telephones. There is a need in such countries for a network of telephones at such a density that substantially the whole of the population lives no more than a few kilometres from a public telephone. However this would require installation of a network comprising a large number of widely spaced telephones which would be prohibitively expensive if a conventional wired telephone system is used. The paper "A Distributed Rural Radio System for Developing Countries", S.A.G. Chandler, S.J. Braithwaite, H.R. Mgombelo et al., Fourth IEE Conference on Telecommunications, IEE Conference Publication No. 371, April 1993 describes a rural radio telephony system which, by virtue of its exchangeless network structure, is ideally suited to providing a basic telephone service to widely separated sites. Such a radio telephony system uses a network of cooperating radio nodes which do not require a central exchange or interconnecting inf astructure. Each node consists of a transmitting and receiving station comprising two single channel digital transceivers, at least one telephone interface and controllers containing software implementing a protocol to effect the required communication control. The links between nodes are fixed capacity links (as opposed to packet switched or statistically multiplexed links) as required for duplex speech in telephone traffic. Each transmitting and receiving station comprises a solar powered digital radio unit with one or more telephones connected to it. Calls within a reasonable range (50 kilometres or so in reasonably favourable terrain) are made by direct station-to-station communication. Beyond this range, however, calls must be relayed by other stations within the network which are not being used at the time for making calls. Calls outside the area served by the network, or requiring an excessive number of relay hops, may be routed through gateway nodes into the public service telephone network. International Published Patent Application No. WO 97/13333 discloses a radio telephony system in which each transmitting and receiving station incorporates a call routing control unit acting to select a further station to which a call from a source station to a destination station is to be transmitted for the purpose of relaying the call. The call routing control unit transmits an interrogation signal to be received by other stations in the network within range of the transmitting station, and the call routing control unit of each of the other stations transmits an acknowledgement signal when the station is available for relaying a call in response to the received interrogation signal, the acknowledgement signal being transmitted after a delay which is indicative of the suitability of the station for relaying the call towards its intended destination. The call routing control unit of the fr-msmitting station then selects a station for relaying the call on the basis of receipt of an acknowledgement signal from the station after the least delay. Reference is also made in this regard to the paper "Analysis and Simulation of a Distributed Rural Radiotelephone Network", S.A.G. Chandler and J. Ni, Fourth European Conference on Radio Relay System, 11-14 October 1993, Conference Publication No. 386. It is an object of the invention to provide an improved routing algorithm for distributed telecommunication networks such as are described above. According to the present invention there is provided a transmitting and receiving station for a telecommunication network in which a plurality of such stations are to be provided at randomly distributed locations and in which routing means are provided for routing of calls between stations in the network utilising other stations in the network for relaying of such calls where necessary, which station incorporates call routing control means acting to select a further station to which a call is to be transmitted for the purpose of relaying the call and comprising: (a) memory means for storing, for a plurality of possible destination stations and from information received from further stations within the network, information on possible further stations which may be suitable for relaying calls to the destination stations; (b) compiling means for compiling in the memory means information on possible further stations which may be suitable for relaying calls to the destination stations, the compiling means being adapted to detect signals transmitted by the further stations to other stations in the network in order to update the information in the memory means; (c) interrogation means for transmitting an interrogation signal to be received by at least one further station in the network within range of the transmitting station; (d) acknowledgement means for transmitting an acknowledgement signal when the station is available for relaying a call in response to an interrogation signal received from a further station; and (e) station selection means for selecting a further station for relaying a call to a destination station on the basis of receipt of an acknowledgement signal from a station judged by the memory means to be suitable for relaying the call to the destination station. Such a method is capable of finding a route between nodes if one exists with extremely high probability, and will do so quickly and with a very low information exchange requirement. Preferably the call routing control means incorporates precedence means for establishing a precedence amongst the further stations judged by the memory means, from information received from the further stations, to be suitable for relaying calls to a particular destination station, the station selection means being adapted to preferentially select as the station for relaying the call the station of the highest precedence which is available for relaying the call. Most preferably such precedence is established on the basis of minimising a "cost" of routing to the destination. Such cost may be evaluated as the, possibly time weighted, nώiimum of all such cost figures received from relay stations as a field within packets originating from the destination station during previous messages or calls. The values in the cost field within packets are cumulative values which increase when a packet is relayed by a constant (without loss of generality unity) amount or a variable amount dependant on such factors as congestion or delay. Should a constant amount be used, this would define the cost to be mi-tiimised as the number of stations involved in relaying the call to the destination station. In order that the invention may be more fully understood, embodiments of the invention will now be described, by way of example, with reference to the accompanying drawings, in which: Figure 1 is an explanatory diagram of a distributed circuit switched telecommunication network; Figure 2 is a block diagram of a transmitting and receiving station in such a network; Figures 3, 4 and 5 are explanatory diagrams illustrating methods of call routing in such a network; and Figure 6 is an explanatory diagram illustrating the transmission of data packets between stations in such a network. Figure 1 is a diagram showing the location of nodes in a hypothetical distributed circuit switched radio telecommunication network comprises a series of randomly located fixed nodes 1 at which transmitting and receiving stations are located. In addition to the network nodes 1, several gateway nodes 2 are shown providing call access to the public service telephone network 3 in which telecommunication takes places in conventional manner by way of wired links under centralised exchange control. As indicated by broken lines 4 in the figure, calls may be made between network nodes 1, or between a network node 1 and a gateway node 2, either directly when the nodes are close enough to one another, or by way of other nodes 1 which serve to relay the calls. Figure 2 is a block diagram of a transmitting and receiving station 6 comprising two transmit/receive aerials 7, 8, two single channel digital transceivers 9, 10, at least one telephone interface 11, 12 and associated telephone 13, 14, a transceiver interface 15 and a control unit 16 for effecting control of communication between stations within the network. Each station 6 can be used to terminate up to two calls, that is two calls being made simultaneously using the telephones 13, 14, or alternatively to relay a single call by simultaneously using the two transceivers 9, 10, to receive and re-transmit the call information in the two directions. Transceivers 9, 10 typically use separate frequency channels, although, in a small enough area for time skewing not to be problematic, time division multiplex could be used. Typically the two channels are selected from a set of two hundred available channels although larger numbers of channels could be used in certain situations. The routing of a call from a source station S at which the call is made to a destination D to which the call is directed is controlled by an appropriate routing algorithm implemented by cooperation between the control units of the source and destination stations and any other stations used for relaying the call, utilising routing packets transmitted between the stations. The routing algorithm establishes a series of communication links starting from the source station S and terminating at the destination station D and utilising an iterative process if the destination station D is not within single hop range of the source station S. In abstract terms, the routing problem may be described by a directed graph whose nodes are the stations in the network, with the arcs connecting them having associated costs or metrics. The problem is to find the route from source to destination incurring the lowest cost following the direction of the arcs or some heuristic approximation to it. If there always exists an arc from node y to node x if one exists from x to y and if the associated costs are equal, the network is reciprocal, and may be represented by a non-directed graph. This would be the case for the radio system described if the cost to be π-inimised were the number of hops, which would make the arc costs all unity. A simple known heuristic method of such routing, illustrated in Figure 3, involves determining at each stage of the iteration that station within radio range of the previous station which is nearest to the destination station D. If the nearest station is no nearer than the previous station utilised in the routing, then the route is blocked. This known method, which may be termed direct routing, is shown in the figure relaying a call by way of two intermediate stations 20 and 21, the radio ranges associated with the source station S and the stations 20 and 21 being shown by the broken circles 22, 23 and 24. Although there are other methods of implementing the direct routing algorithm, as will be described later, the manner in which this routing algorithm has been previously implemented by the routing control unit of each station in this prior art method will now be described. The control unit of the previous station will broadcast an interrogation signal in the form of a CQL message which will be received by all of the stations available for relaying within range. If this interrogation signal is received by the destination station D, the control unit of the destination station provides an immediate acknowledgement signal to indicate that the call may be relayed from the previous station directly to the destination station. Other stations receiving the interrogation signal provide an acknowledgement signal which is transmitted after a delay which increases with the distance of the station from the destination station D. The amount of this delay is calculated by each station on the basis of the distance of the station from the destination station D determined either from a list of the locations of other stations stored within the station.. As soon as the previous station receives an acknowledgement signal from another station, it sends a confirmation signal to the selected station. Other stations within range, but at a greater distance from the destination station D (providing a greater delay before acknowledgement), will also receive the confirmation signal and will thereby be inhibited from acknowledging the interrogation signal, thus preventing unnecessary congestion on the calling channel. Another method of routing, shown in Figure 4, may be termed flood routing and also uses an iterative process. In this case the control unit of the source station S will broadcast an interrogation signal in the form of a CQF message which will be received by all of the stations available for relaying within range, and each receiving station will record the identity of the transmitting station and will itself broadcast an interrogation signal in the form of a CQF message containing its own identity as well as the identities of the source and destination stations and the cumulative cost of the route so far. Strictly, in a non-reciprocal network, the cost added for each step of routing from x to y should be the cost back from y to x. In the case of non-reciprocal connectivity, i.e. having an arc from x to y but none in the reverse direction, so-called Marco Polo routing (to be described below) would never select such a route. In real networks this would only occur in the case of failure of a link in one direction. In that case there would be little to lose by avoiding the link completely. The iterative process of each station within range registering the CQF message (unless it has previously registered the message) and broadcasting its own interrogation signal will continue until an interrogation signal is received by the destination station D at which time the routing of the call between the source and destination stations will be completed utilising the links back to the preceding stations recorded by the stations along the route. Figure 4 shows this method applied to relay a call by way of two stations 25, 26, and shows also the receipt of an interrogation signal from the source station S by a further station 27, the receipt of an interrogation signal from the station 25 by a fiir-her station 28, and the receipt of an interrogation signal from the station 28 by a further station 29. The disadvantage of such flood routing is that all available stations within range will transmit CQF messages for each call resulting in congestion of the calling channel. In order to restrict the number of routing packets lost by collision, the rate of sending routing packets must be restricted which results in the method being slow to set up calls. If the cost is just the number of hops, it is possible to allow sufficient time for each hop of the flood to be completed before the next starts. With other cost functions allowance must be made for nodes to re-send their CQF messages if their cost is reduced by receiving a CQF message with a lower value than that on which its own CQF message was based. However the method has the theoretical advantage of being an implementation of the Bellman Ford Moore algorithm to find the lowest cost route, in this case the route with the minimum number of hops. As such it will not miss any possible route, unless the calling channel congestion is so high that routing packets are lost. Even if such congestion occurs, it is most improbable that a route will not be found (although the route found may be slightly longer than need be), as this is only likely to happen in very sparse networks in which call channel traffic is very low. In another method of routing, shown in Figure 5, for which we may coin the term Marco Polo routing, the stations within the network record in their memories an ordered list of stations (the Marco Polo routing table) which may be used as the next relay station in calls to each other station in the network. (The expression refers to the fact that the mediaeval explorer is supposed to have found his way to China by relying on reports from those travelling from that country.) This list is not a static routing table, but is generated and constantly updated by the station overhearing routing or other signals relayed by stations from source stations to destination stations. The station is entered in the Marco Polo routing table as a choice to relay calls to the source station of the overheard signal, if it has a lower cumulative cost than existing entries in the table. Thus, whatever the method of routing the overheard call, the Marco Polo method will tend to the minimum cost one but, unlike flood routing, it is not guaranteed to search all possible routes and so could theoretically become locked into a route which is only locally optimal. However this is unlikely to have a significant effect on performance, as any routing failure will result in flood routing being invoked. . The choice of cost function is likely to be n-i misation of the number of hops required in routing the call from the source station S (which would be the number of hops in routing the call to the destination station when using Marco Polo routing) but could be on the basis of some other factor, such as the least total delay likely to be encountered in making a call by way of that station, the error rate over the link or some measure of the degree of congestion. The judgement may be made on the basis of any one of these factors or other factors, or on the basis of several such factors in combination. Some of the information required to make this judgement, the cumulative cost from the source station S, must be transmitted within all routing packets (CQS, CQF and CQT). Thus, referring to Figure 5, the station 33 detects a routing packet transmitted by the station 32 indicating that it is attempting to set up a call in which the station 32 acts as a relay in transmitting the call from a station 30 to a station 31. As a result of such detection the station 33 makes an entry in its Marco Polo routing table to the effect that any call to station 30 can be efficiently routed through station 32. In this manner each station can build up a list of entries in its Marco Polo routing table indicating those stations within its range which can be used for relaying of calls to other stations outside its range. None of the above described routing methods are satisfactory in all circumstances. For example, direct routing has the disadvantage that it is not possible to find all possible routes by this method, with the result that, if the routing reaches a dead end at which further routing is blocked, for example due to the presence of a topographical obstacle or simply due to the low density of nodes in a particular area, it can be difficult or impossible to locate an alternative route using this method. Furthermore any rerouting using a backtracking modification (such as is disclosed in WO 97/13333) may be slow (because of lack of time-slots) and subject to performance degradation on congested calling channels. Furthermore direct routing can fail completely if the location entry for a particular station in the directory of station locations has been entered erroneously. Flood routing causes congestion in busy networks, and Marco Polo routing relies on another routing algorithm to set up its tables. This routing algorithm does not necessarily have to be optimal, but the speed and efficiency of the updating of the Marco Polo routing table will be increased if it is. A good heuristic algorithm or even a completely random choice will suffice so long as it is sufficiently random not to exclude possible routes from its search. Accordingly the proposed routing method utilises a combination of direct routing, flood routing and Marco Polo routing in combination as described below. It should be understood that, in a preferred implementation of this method, each station within the network incorporates a memory which is regularly updated with information concerning the other stations within the network within calling range, such as the activity state of the station (whether a call is being initiated or terminated or relayed), the agreed operational frequencies of the station when in burst mode, the signal strength of the station, etc. This information is collated by the station listening to information transmitted by the other station when setting up and clearing down calls (when the listening station is not itself involved in a call). The information is stored in a table NNT and is updated when necessary. The information in the table NNT may be made use of under various conditions, for example to inhibit calling of a station when it is apparent from the entries in the table NNT that the station is busy. Furthermore information in the table NNT may be used to initiate a special call interruption facility (as described in WO 97/13333 referred to above) permitting a call which is being relayed by the other station to be rerouted to enable that station to be used for a new call. Although there are some features in common the table NNT is distinct from the Marco Polo routing table described before. The table NNT has entries only for those stations which are within direct radio range of a station, whereas the Marco Polo routing table has entries for all stations on the network. All the entries in the Marco Polo routing table will contain numbers of stations within the table NNT. Although the Marco Polo routing table is necessary to implement the proposed routing method, the table NNT is only ever a feature to improve performance of the algorithm. In the proposed routing method, the flood and direct routing methods already described, as well as overheard third party Marco Polo routing packets, are used to compile, within each station memory, entries against each station in the Marco Polo routing table of possible routes which may be used for relaying a call to that station. The proposed method of implementing direct routing differs from that described for the existing, known prior art method as will be seen below. It should be noted that the use of direct routing is by no means mandatory, hi some situations, such as where a directory containing locational information is not available, it may be replaced by other heuristic algorithms, or random choice, or removed to leave only flood routing, without affecting the viability of the approach. However this would affect the overall performance. It will be appreciated that, after a station has initially been commissioned and brought into use, the station will receive transmitted signals from other stations within range, and will gradually build up entries within the Marco Polo routing table as to which stations may be used for relaying calls to other stations within the network, until the table includes two or more entries against each station within a list of the stations within the network giving details of two or more alternative neighbouring stations which may be used for relaying a call to that station. When a call is to be made from a source station S (or a station already selected for relaying a call from the source station S), incorporating such a compiled Marco Polo routing table in its memory, to a destination station D, a packet is first sent to the destination station D to see if it is within range, and, if the station is not fully engaged in relaying, initiating or terminating other calls (in which case it would not be listening on the calling channel), the routing will have succeeded and the destination station D will reply with a packet confirming this. However, if the destination station D is not within range, and it does not have an entry in the table NNT indicating that is busy on another channel (which may permit interruption on that channel in some circumstances), routing proceeds by trying, in order, the entries in the Marco Polo routing table for the destination station D, as follows. Each entry in the table NNT is first checked for availability to relay the call. If the station is busy the next entry is tried. However, if the station is available for routing according to table NNT, the station is sent a packet to confirm that this is actually the case. If the station acknowledges affirmatively, the station is selected and routing continues from it. If all the entries in the Marco Polo routing table for the destination station D are tried without finding a station suitable for routing, further possible relay stations are tried according to the direct routing criterion using the same protocol as for Marco Polo routing. All suitable stations on the table NNT are put into an ordered list based on the criterion of their distance from the destination D, using location information in the directory. These are then tried in that order using the same process as described above for the entries in the Marco Polo routing table. Only when all such stations have been tried unsuccessfully will the routing attempt using direct routing be abandoned. This will be communicated to the source station S, if this is not itself the station at which the routing failure has occurred, and flood routing from the source station S to the destination station D will then be initiated. If the delay is too long the call attempt which initiated the flood routing may fail, but the flood should continue so as to obtain the required routing. However, once the destination station D receives the flood routing signal, the destination station D then initiates flood routing back to the source station S. The purpose of this is as follows. Flood routing initiated by the source station S will ensure that there is a Marco Polo routing entry back to the source station S in every node involved in the flood routing. However the problem initiating the flood routing had arisen as a result of an attempt to route a call to the destination station D, and what is actually needed is for every node on the network to have a Marco Polo routing entry leading to the destination station D, and not the source station S. The reverse flood routing will achieve just this. Routing back to the source station S for the call could be performed using Marco Polo routing from the destination station D, but in that case the flood routing back to the source station S would have to be scheduled for after the call in question. Reverse flood routing in response to the original flood routing would be simpler and more regular. It has been found that the proposed routing method provides greatly improved performance and reliability over a wide range of network topologies and over a wide range of topographies. It does not rely solely on flood routing which would otherwise cause congestion on the calling channel, and it does not suffer from the serious disadvantage of the use of direct routing alone by which routing of a call may be blocked in the event of a dead end being encountered, for example due to the presence of a topographical obstacle. Although the above description has been mainly concerned with radio network routing, the system of the invention could also be used for routing packets on data networks. The main differences between such a routing system and the systems already described above are (i) that there is no scope for using overheard signals as a data network router will only be able to monitor information actually routed through it, and (ii) that there is little or no significance in geographical distance from destination as used in the direct routing component.. The first difference will reduce the rate of update of the Marco Polo tables. However in an IP datagram network, with only the addition of a cumulative metric field (and there is already a hop count if that were to be the metric) in IP packets, all packets could be used to provide updates. With regard to the second difference, as has been stated, direct routing is only selected as a good heuristic method. In a data network there would be no reason not to use a random choice instead. The hierarchy of networks comprising the internet has the effect of limiting the complexity of networks over which any routing algorithm is required to function, and this reduces the need for a routing algorithm with as much intelligence as the system described above.

Claims: CLAIMS: 1. A transmitting and receiving station for a telecommunication network in which a plurality of such stations are to be provided at randomly distributed locations and in which routing means are provided for routing of calls between stations in the network utilising other stations in the network for relaying of such calls where necessary, which station incorporates call routing control means acting to select a further station to which a call is to be transmitted for the purpose of relaying the call and comprising: (a) memory means for storing, for a plurality of possible destination stations and from information received from further stations within the network, information on possible further stations which may be suitable for relaying calls to the destination stations; (b) compiling means for compiling in the memory means information on possible further stations which may be suitable for relaying calls to the destination stations, the compiling means being adapted to detect signals transmitted by the further stations to other stations in the network in order to update the information in the memory means; (c) interrogation means for transmitting an interrogation signal to be received by at least one further station in the network within range of the transmitting station; (d) acknowledgement means for transmitting an acknowledgement signal when the station is available for relaying a call in response to an interrogation signal received from a further station; and (e) station selection means for selecting a further station for relaying a call to a destination station on the basis of receipt of an acknowledgement signal from a station judged by the memory means to be suitable for relaying the call to the destination station. 2. A station according to claim 1, wherein the call routing control means incorporates precedence means for establishing a precedence amongst the further stations judged by the memory means, from information received from the further stations, to be suitable for relaying calls to a particular destination station, the station selection means being adapted to preferentially select as the station for relaying the call the station of the highest precedence which is available for relaying the call. 3. A station according to claim 2, wherein the precedence means is adapted to establish precedence at least partly on the basis of mi-nimising a cost, such as the number of stations involved, in relaying the call to the destination station. 4. A station according to claim 2 or 3, wherein the precedence means is adapted to establish precedence at least partly on the basis of the recorded signal traffic congestion at the further stations, the further station having least congestion being given higher precedence than the further station having greatest congestion in the absence of other differentiating factors. 5. A station according to claim 2, 3 or 4, wherein the precedence means is adapted to establish precedence at least partly on the basis of the likely delay in relaying the call signal or data by the further stations, the further station having least likely delay being given higher precedence than the further station having greatest likely delay in the absence of other differentiating factors. 6. A station according to claim 2, 3, 4 or 5, wherein the precedence means incorporates accumulating means for successively summing information relating to relaying of a call by way of a plurality of further stations in order to obtain an overall routing total for routing of the call by way of the further stations. 7. A station according to claim 6, wherein the compiling means is adapted to detect signals transmitted by another station within range when responding to an acknowledgement signal received from a calling station and to update the information contained in the memory means on the basis of information in the detected signals indicating the suitability of said other station for relaying calls to said calling station. 8. A station according to any preceding claim, wherein the call routing control means incorporates direct routing means arranged to cause an interrogation signal to be transmitted to at least one further station within range in the event that none of the stations judged suitable by the memory means is available for relaying the call to the destination station, enabling an acknowledgment signal to be transmitted back to the station the station selection means being adapted to preferentially select as the station for relaying the call the station at the least distance from the destination station. 9. A station according to any preceding claim, wherein the call routing control means incorporates flood routing means arranged to cause an interrogation signal identifying the transmitting station to be transmitted to further stations within range in the event that none of the stations judged suitable by the memory means is available for relaying the call to the destination station, receipt of the interrogation signals by the further stations in turn causing those stations to transmit further interrogation signals identifying the further stations which in turn may cause still further stations to transmit interrogation signals in an iterative process which eventually results in receipt of an interrogation signal by the destination station, enabling an acknowledgment signal to be transmitted back to the transmitting station giving the identities of a series of stations suitable for relaying the call between the transmitting station and the destination station. 10. A station according to any preceding claim, wherein the memory means incorporates a table NNT cont-ώ-ing information relating to the current activity states of further stations within range of the transmitting station and optionally also other parameters such as the operating frequencies and signal strengths of the further stations. 11. A station according to any preceding claim, which is adapted for routing data packets within a data network. 12. A data network incorporating stations according to claim 11 for routing data packets within the network. 13. A transmitting and receiving station for a telecommunication network, substantially as hereinbefore described with reference to the accompanying drawings.

Inventors: CHANDLER STEPHEN ANTHONY GERAR, CHANDLER, STEPHEN, ANTHONY, GERARD
Applicants: CHANDLER STEPHEN ANTHONY GERAR, CHANDLER, STEPHEN, ANTHONY, GERARD
Application year: 2001
Main classification: H04Q7
IPC codes: H04L12, H04Q3, H04W28, H04W40, H04W88