« PrécédentContinuer »
SIGNAL PROPAGATION DELAY ROUTING
FIELD OF THE INVENTION
 The present invention relates to a method and apparatus for providing a routing mechanism in an ad-hoc network.
BACKGROUND OF THE INVENTION
 FIG. 1 is a diagram of an ad hoc network. An ad hoc network comprises nodes, such as mobile stations that can communicate directly with each other, without the use of a centralised access point. In such a network all nodes behave as routers. Since the nodes are free to move randomly the topology of the network changes with time. Data from a source node (1) (the terminal that is sending data) is sent to a destination node (2) (the terminal that is receiving the data), via intermediate nodes which forward the data from the source node to the destination node. Determining the route by which data is sent from the source node to the destination node is achieved by selecting which intermediate nodes are used to forward the data. This is known as routing.
 Different routing protocols for ad hoc networks are currently known. These routing protocols can be classified as: 'table driven' and 'on demand' routing, otherwise known as 'proactive' and 'reactive' routing, respectively. In table driven protocols, each node maintains one or more tables containing outing information to other nodes in the network. These tables are updated using periodic transmissions between nodes so as to change with the topology of the network. Examples of table driven routing protocols include Dynamic Destination Sequenced Distance Vector Routing Protocol (DSDV), Global State Routing (GSR) and Wireless Routing Protocol (WRP). In contrast, on demand routing protocols invoke route discovery mechanisms only when a route is needed. Examples of on demand routing protocols include Ad Hoc On Demand Distance Vector Routing (AODV), Dynamic Source Routing (DSR), Temporally Ordered Routing Algorithm (TORA) and Associativity Based Routing (ABR).
 In the DSDV protocol, every mobile station maintains a routing table that lists all available destinations, the number of hops to reach the destination and the sequence number assigned by the destination node. The sequence number is used to distinguish old routes from new ones and thus avoid the formation of loops. The mobile stations periodically transmit their routing tables to their immediate neighbours. A station also transmits its routing table if a significant change has occurred in its table from the last update sent. Therefore, the update is both time driven and event driven. The routing table updates can be sent in two ways; either by sending the full routing table to the neighbours or by incrementally updating entries that have changed since the last update.
 Ad hoc On-demand Distance Vector routing (AODV) is an improvement on the DSDV algorithm. AODV minimises the number of broadcasts by creating the routes on demand as opposed to DSDV that maintains the list of all the routes.
 To find a path to the destination node, the source node broadcasts a route request message. The neighbouring nodes in turn broadcast the message to their neighbours until
it reaches an intermediate node that has recent route information about the destination node, or until the message reaches the destination. A node discards a route request message that it has already seen. The route request message uses sequence numbers to ensure that the routes are loop free and to ensure that if the intermediate nodes reply to the route request message, they will reply with the most recent information only.
 When a node forwards a route request message to neighbouring nodes, it also records in its tables the node from which the first copy of the request came. This information is used to construct the reverse path for the route reply, or acknowledgement message. AODV uses only symmetric links because the route reply message follows the reverse path of the route request message. As the route reply message traverses back to the source node, the nodes along the path enter the forward route into their tables.
 Mobile device positioning is an important requirement of any telecommunications system and is an existing feature in both ad hoc and cellular networks. The Federal Communications Commission (FCC) requires wireless service providers to support a detailed positioning mechanism. Positioning information of a mobile station may be used for many purposes:
 pricing of calls may be based on the position of a mobile station, whereby calls made from the home area, for example, may be cheaper;
 when an emergency call is placed from a mobile station, it is possible to determine the position of the mobile station;
 the user of a mobile station may need information about his/her location e.g. when travelling;
 the authorities can use the positioning information to locate a stolen mobile station or to trace a missing person, for example.
 Generally, positioning methods are based on the propagation characteristics of a radio wave signal sent to or from the mobile station, using the delay and direction of the signal between the transmitter and the receiver to determine a position. Therefore, the accuracy and complexity of such methods are inclined dependent on the characteristics of the radio channel. Many different positioning methods have been developed for mobile positioning. They can be categorized based on the way they utilize the radio signal characteristics for determining the location of the mobile station.
 Classifications of methods used to determine position include:
 Cell_ID-based positioning
 Round Time Trip (RTT)
 Time Of Arrival (TOA)
 Different Time Of Arrival (DTOA)
 Angle Of Arrival (AOA)
 Signal strength-based such as Reference NodeBased
 Positioning (also called local positioning)
 Positioning methods may also incorporate any combination of these methods.
 In a TOA method, the location calculation is based on the propagation delay of a signal from a transmitter to a receiver. By measuring the time of arrival of signals from three transmitters at a receiver, the position of the receiver can be calculated using triangulation techniques that are well known in the art.
 The above-mentioned ways of calculating the position of a mobile station can be utilized in various systems such as cellular systems, purely location systems, or any similar systems. Presently, the most popular positioning system is Global Positioning System (GPS). Positioning features are extending to the cellular systems such as Global System for Mobile Communications (GSM), Universal Mobil Telecommunication System (UMTS) and International Mobile Telecommunications 2000 (IMT2000).
 GPS is the most popular position location system due to its accuracy and worldwide availability. GPS consists of a constellation of satellites in orbit above the Earth. GPS position determination is based on the arrival times, at a receiver at the mobile station, of precisely timed signals from the satellites that are above the user's radio horizon. Each satellite uses an atomic clock to record the time at which the signal is sent. An accurate clock at the receiver measures the time delay between the signals leaving the satellites and arriving at the receiver. This allows the calculation of the distance of the mobile station to each satellite. If three satellites are visible to the receiver, triangulation can be used to find the location of the mobile station. If a fourth satellite is used, the receiver may also calculate its latitude. Since the clock in the receiver is not as accurate as the atomic clocks in the satellite the calculation of the distance from each satellite will have a standard error, which prevents the spheres calculated during triangulation from intersecting at the same point. The receiver therefore can calculate the distance adjustment that will cause the four spheres to intersect at one point. This allows it to adjust its clock to adjust its measure of distance. For this reason, a GPS receiver actually keeps extremely accurate time, on the order of the actual atomic clocks in the satellites. Currently, the Standard Positioning Service offered by GPS provides a positioning accuracy of 100 meters horizontally and 156 meters vertically and time transfer accuracy to UTC within 340 nanoseconds (95 percent).
SUMMARY OF THE INVENTION
 to be completed when claims are agreed.
 It is an aim of this invention to provide a method for improving current routing algorithms.
 According to a first aspect of the present invention there is provided a method of routing a message from a source node to a destination node in an adhoc wireless network comprising a plurality of nodes, comprising the steps of; transmitting a first message from the source node to the destination node, receiving said first message at said destination node, transmitting a second message from said destination node in response to the first message and wherein at least one of said first message and said second message is sent between the source and destination nodes via a plurality of paths comprising at least one intermediate
node, selecting a path for communication between the source node and the destination node using an indication of the time taken for at least one of said second and first messages to propagate between each node on each path.
 According to a second aspect of the invention, there is provided an ad hoc wireless network comprising a plurality of nodes wherein a source node is arranged to transmit a first message to a destination node, said destination node is arranged to receive the said first message, said destination node is arranged to transmit a second message in response to said first message and at least one intermediate node is arranged to transmit at least one of said first message and said second message via a plurality of paths. Said network further comprising selecting means arranged to select at least one of said plurality of paths for communication between said source node and said destination node using an indication of the time taken for at least one of said second and first messages to propagate between each node on each path.
 According to a third aspect of the present invention there is provided a node in an ad hoc wireless network, said ad hoc network comprising a plurality of nodes, said node comprising: means for receiving and transmitting at least one of a plurality of messages sent on a plurality of communication paths; means for indicating the time said at least one message is received at the node; and means for indicating the time said message is transmitted from the node.
BRIEF DESCRIPTION OF THE DRAWINGS
 Embodiments of the present invention will now be described by way of example with reference to the accompanying drawings, in which;
 FIG. 1 is a diagram of a MANET (mobile ad hoc network) network;
 FIG. 2 is a diagram of a MANET network in accordance with an embodiment of the present invention;
 FIG. 3 is a diagram of the basic frame structure of a message in accordance with an embodiment of the present invention.
 FIG. 4 shows a flow chart of a routing algorithm embodying an example of the present invention.
DETAILED DESCRIPTION OF EMBODIMENTS
OF THE INVENTION
 FIG. 1 shows an example of a mobile ad hoc network according to the present invention. The mobile ad hoc network will hereinafter be referred to as MANET, which is a popular abbreviation used in this field to indicate these types of networks. It can be seen that the MANET network is comprised of a plurality of network nodes 3, each node having at least one radio transceiver for transmitting and/or receiving from a neighbour node. FIG. 1 represents a snapshot of a MANET network at a particular instance in time, because by definition the ad hoc nature of such network means that the topology shown in FIG. 1 is expected to change dynamically over time. That is, the nodes 3 in a MANET network are free to move.
 Data is transmitted across the network using a packet switched system where data packets are routed through a communications network on a "hop by hop" basis
to reach their final destination. The Internet protocol (IP) is one embodiment of a protocol, which can be used to transfer packets across a MANET network. The Internet protocol is predominantly concerned with the network layer of the open system interconnection (OSI) model and as such overcomes the vendor specific limitations of certain communication devices operating at the lower levels, i.e. the physical or application layers.
 Measurements of the time for a signal to propagate, hereinafter referred to as the signal propagation delay (SPD) may be based on the Time of Arrival (TOA) or the Round Trip Time (RTT) of a radio signal. In this context, the TOA refers to the time for a signal to propagate from the source (transmitter) node to the destination or intermediate (receiver) node. More specifically the TOA may refer to the time between when the start of the radio signal or data frame at a transmitter node (e.g. the source node) is transmitted to when the beginning (the first significant path) of the corresponding signal/frame is received at the receiver node (e.g. the destination node or intermediate node). The RTT on the other hand, is defined as the time for a signal to propagate from the source node to the destination and return to the source node.
 The time between when a message is sent from the source (transmitter) node to when a corresponding message returns to the source node is not the actual round trip time for the signal to propagate. This is because there is an unknown time offset between the reception and transmission of a signal at each node. In accordance with an embodiment of the present invention, each intermediate node reports an indication of the time offset between receiving and transmitting a message, in order for the exact signal propagation time to be established. The manner by which this may be achieved will now be discussed.
 As shown in FIG. 2 a source node 1 initiates a route discovery by sending a route discovery/request message 4 to neighbouring nodes. The route discovery/request message may be sent in accordance with any of the routing protocols described above. As such the route discovery/ request message may be 'table driven' or sent 'on demand'. For example, on receipt of the route discovery/request message the neighbouring nodes in turn broadcast the message until the message reaches an intermediate node that has recent route information about the destination node by which the message is then routed, or until it reaches the destination. A node discards a route request message that it has already seen. When an intermediate node forwards a route discovery/request message to its neighbours, it may also record in its tables the node from which the first copy of the request came. This information is used to construct the reverse path for the route reply packet.
 In one embodiment of the present invention, the route discovery/request message includes a metrics field for storing an indication of the time that the message is received by and transmitted from each node on the path to the destination node. Recording the time of transmission and reception of the message is known as time stamping the message. The manner in which these measurements are used for routing will be described in detail herein after.
 In order for the timestamps included in the metrics field of the message to be used in routing protocols of embodiments of the present invention, it is necessary for a
clock in each node to be synchronized with the rest of the nodes within the established adhoc network. The synchronization could be accomplished when a node registers with the adhoc network, for example, at the time of network entry. In this case, network-aided synchronization is part of the network functionality. In addition, nodes may use other references, such as GPS for synchronization purposes. When utilizing GPS reference, each node may include a GPS receiver, which allows the clock in the receiver to be adjusted in relation to the atomic clocks in GPS satellites, thus allowing the clock in the receiver to have an accuracy equivalent to an atomic clock.
 On receipt of the route discovery/request message at the destination node 2, the destination node creates an acknowledgement message that includes a precise indication of the time at which the acknowledgment message is sent from the destination node. The basic frame structure of an acknowledgement and a route discovery/request message is shown in FIG. 3. The message may include a 'type'—field 32, address fields including the destination IP address 34 and the source IP address 36, a life time field 38, a metrics field 40, a request identification 46, a destination node Sequence Number (SN) 42 and a source node Sequence Number (SN) 44. The 'type' field specifies whether the message is an acknowledgement message or a route discovery/request message. The timestamps included in the message may be stored in the metrics field 40 of the message.
 In an embodiment of the present invention acknowledgement message will be created on receipt of each route discovery message received at the destination node. Each acknowledgement message will propagate through the MANET network by tracing the path of the route discovery message it is sent in reply to, using the information stored in the tables of each intermediate node 3.
 An acknowledgment message will first be sent from the destination node to the last intermediate node on the path between the source node and the destination node. On receipt of the acknowledgement message the intermediate node records the time of arrival of the acknowledge message.
 In one embodiment of the present invention, the intermediate node compares the time stamp contained in the acknowledgement message to the time of arrival of the acknowledgement message at the intermediate node, in order to calculate the signal propagation delay across path TOA1.
 The calculated signal propagation delay for path TOA1 is stored in the metrics field of the acknowledgement message. Immediately before the message is routed to the next intermediate node, the transmitting intermediate node timestamps the message. The acknowledgement message is then routed to the next intermediate node using routing information stored in the table, which recorded the node from which the first copy of the route discovery message came.
 On receipt of the acknowledgement message by the next intermediate node, the node measures the time of arrival of the acknowledgement message and compares it to the time stamp included in the message indicating when the message was transmitted from the previous node, in order to calculate the signal propagation delay TOA2. The measured
signal delay cross path TOA2 is then stored in the acknowledgement message. The signal delay across path TOA2 may be added to the signal delay across path TOA1, or it may be stored separately in the metrics field. This process continues as the acknowledgement message is routed across the MANET network by the intermediate nodes, until it arrives at the source node 1.
 The source node will receive an acknowledgement message in reply to each of the route discovery messages, which were received by the destination node. Each acknowledgement message will contain information of the signal propagation delay between each intermediate node on the route between the destination node and the source node. As previously described, the signal propagation delay for each 'hop' of the message path may be stored separately in the acknowledgement message or added together.
 In an alternative embodiment of the present invention the intermediate nodes that route the acknowledgement message from the destination node to the source node each time stamp the message at the moment the message is received and when the message is transmitted. The time taken for the message to propagate over each hop of the message path can then be calculated at the source node from the time stamps contained in each acknowledgement message.
 When added together, the sum of the signal propagation delay over the total number of radio channel hops on the acknowledgement message path will be less than the signal propagation delay of the entire journey of the acknowledgement message from the destination node to the source node. This is since the total length of time for the signal to propagate from the destination node to the source node includes the time taken to process the signal at each node in addition to the time taken for the signal to propagate between each node.
 This information relating to the signal delay for each hop in an acknowledgement message path may be stored on the routing table of the nodes. In the case of a hybrid network solution, with overlaid backbone (such as cellular) and local proximity adhoc networks, this information may partly stored and/or process at a server or other network element. This information may be used for mobility management (handover), call admission, and other function of radio resource management as well as for supporting the local adhoc functions. For each destination node a table may contain information for each route acknowledged by acknowledgement messages 5. Since each acknowledgement message contains a time stamp from when the acknowledge message was sent from the destination node, the time of the total journey for the message to reach the source node from the destination node may be calculated. This may be stored in addition to the signal delay for each hop, including the processing delay, for a particular route to a destination node.
 In an alternative embodiment of the present invention, the timestamps included in the metrics field of the message are used to calculate the time between the reception and transmission of the message at each node. This may then be subtracted from the time of the total journey for the message to reach the source node from the destination node in order to calculate the actual signal propagation delay.
 In a preferred alternative embodiment, signal propagation delay measurement extracted in conjunction
with route discovery message as well using the same approach as described previously. In this case, the destination node may process an algorithm to determine the shortest path to the source node.
 The distance between each intermediate node used to route an acknowledgement message may be calculated from the signal propagation delay using the following equation;
where D is the distance between a transmitting intermediate node and a receiving intermediate node corresponding to one 'hop' of the propagation path; c is the speed of light; and t is the signal propagation delay between the transmitting and receiving node. The distance between nodes on a route may be stored as an alternative, or in addition, to the time taken for the signal to propagate between each node of a particular route for use in a routing algorithm
 In a further embodiment of the present invention, the destination node may elect a set of the shortest paths when replying to request messages having signal propagation delay measurements stored in the metrics field. In an alternative embodiment the preliminary election by the destination node of a set of shortest paths may be based on the hop count, (i.e. the number of hops on a path) avoiding the overhead due to the SPD measurements. This approach is referred to as Destination node-Assisted Route Election (DARE). The final route election, may then be processed in source node based on the SPD measurements embedded in the acknowledge messages.
 In a further embodiment of the present invention, the routing decision may be made iteratively. This means that a routing algorithm will select a route based on parameters such as hop count or RTT measurements, which can be obtained readily in order to accelerate the routing convergence at the time of routing creation. It can however keep a set of candidate routes in order to optimise the routing upon the first set up of the connection. This approach is referred to as Step-Wise Routing (SWR). In this approach, QoS (Quality of Service) classes are mapped to the routing candidates, providing the best available QoS for a certain period. For, example, real-time (RT) traffic such as speech is mapped into those route candidates, which have shortest time-to-convergence (i.e. the time taken for the source node to select a valid path to the destination node), highest link stability and the shortest paths. On the other hand, NonReal-Time (NRT) traffic such as data can be allocated to those routes with longer time-to-convergence and longer paths.
 Time stamping a message on receipt and transmission from a node allows the processing time taken by the intermediate nodes for a particular route to be calculated. This is particularly important for choosing routing paths, routed by intermediate nodes that use the least amount of power. When the total journey time for the acknowledgement message to propagate from the destination node to the source node is much greater than the sum signal propagation delay of the message across each hop of the route, it can be asserted that the time taken to process the message at the intermediate nodes is relatively high, (assuming that there is otherwise zero-interval between reception and transmission in each node). This would indicate that the intermediate nodes on the path use a relatively large amount of power to route the message.