# Patent

## Title
System and method for determining location of a device in a wireless communication network

## Abstract

A system and method for message exchanges in a wireless communication network which minimize network overhead and offers fast determination of Coordinates of a device. A system and method controls a node to exchange small, structured messages with one or more reference nodes requesting the Coordinates of the reference node, which are then used in a periodic evaluation of time of flight messages from that reference node for determination of Coordinates of the node.

## Background
This application claims benefit under 35 U.S.C. 119(e) from a U.S. Provisional Patent Application entitled “System and Method for Determining Location of a Device in a Wireless Communication Network”, Ser. No. 60/483,173, filed on Jun. 30, 2003 and from a U.S. Patent Provisional Application entitled “System And Method To Maximize Channel Utilization In A Multi-Channel Wireless Communication Network”, Ser. No. 60/475,882, filed on Jun. 5, 2003, the entire contents of each are incorporated herein by reference.


BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a system and method for message exchanges which minimize network overhead and offers fast determination of Coordinates of a node in a Wireless Communication Network. Specifically, the system and method controls a node to exchange small, structured messages with one or more reference nodes requesting the Coordinates of the reference node, which are then used in periodic evaluations of time of flight messages from that reference node for determination of Coordinates of the node.
2. Description of the Related Art
Wireless communication networks, such as mobile wireless telephone networks, have become increasingly prevalent over the past decade. These wireless communications networks are commonly referred to as “cellular networks”, because the network infrastructure is arranged to divide the service area into a plurality of regions called “cells”. A terrestrial cellular network includes a plurality of interconnected base stations, or base nodes, that are distributed geographically at designated locations throughout the service area. Each base node includes one or more transceivers that are capable of transmitting and receiving electromagnetic signals, such as radio frequency (RF) communications signals, to and from mobile user nodes, such as wireless telephones, located within the coverage area. The communications signals include, for example, voice data that has been modulated according to a desired modulation technique and transmitted as data packets. As can be appreciated by one skilled in the art, network nodes transmit and receive data packet communications in a multiplexed format, such as time-division multiple access (TDMA) format, code-division multiple access (CDMA) format, or frequency-division multiple access (FDMA) format, which enables a single transceiver at a first node to communicate simultaneously with several other nodes in its coverage area.
In recent years, a type of mobile communications network known as an “ad-hoc” network has been developed. In this type of network, each mobile node is capable of operating as a base station or router for the other mobile nodes, thus eliminating the need for a fixed infrastructure of base stations. Details of an ad-hoc network are set forth in U.S. Pat. No. 5,943,322 to Mayor, the entire content of which is incorporated herein by reference.
More sophisticated ad-hoc networks are also being developed which, in addition to enabling mobile nodes to communicate with each other as in a conventional ad-hoc network, further enable the mobile nodes to access a fixed network and thus communicate with other mobile nodes, such as those on the public switched telephone network (PSTN), and on other networks such as the Internet. Details of these advanced types of ad-hoc networks are described in U.S. pat. No. 7,072,650 entitled “Ad Hoc Peer-to-Peer Mobile Radio Access System Interfaced to the PSTN and Cellular Networks”, issued on Jul. 4, 2006, in U.S. pat. No. 6,807,165 “Time Division Protocol for an Ad-Hoc, Peer-to-Peer Radio Network Having Coordinating Channel Access to Shared Parallel Data Channels with Separate Reservation Channel”, issued on Oct. 19, 2004, and in U.S. pat. No. 6,873,839 entitled “Prioritized-Routing for an Ad-Hoc, Peer-to-Peer, Mobile Radio Access System”, issued on Mar. 29, 2005, the entire content of each being incorporated herein by reference.
In either conventional wireless communications networks, or in ad-hoc wireless communications networks, it may be necessary or desirable for a mobile node to be capable of knowing or determining a relative or absolute geographic location or position. As known to those skilled in the art, this can be achieved through the use of a number of technologies. These technologies can include cell identification, combined with Round Trip Time (RTT), Timing Advance (TA) and Measured Signal level (RX level), Time Difference of Arrival (TDOA) and Angle Of Arrival (AOA) techniques, the details of which can be appreciated by one skilled in the art. Another available technology can use cellular signal timing based methods for code division multiple access (CDMA) and wideband code division multiple access (WCDMA). Yet another technology can use Global Positioning System (GPS) techniques.
Despite the fact that the GPS technique has been in use for a considerable period of time and most of the world's navigation relies on this technique, the GPS technique is very susceptible to errors in measurement. Therefore, the GPS technique is capable of providing location determination results with very high accuracy only after performing a relatively large number of measurements to remove such errors. Other tests also demonstrate that the GPS technique is unsuitable for those terrestrial-based networks operating in locations where the number of simultaneous visible satellites is too small or not existent, like in underground tunnels, inside buildings, or in urban “canyons”.
To overcome the above issues with determining location information, ad-hoc networks are being developed which do not require either the use of satellites or a centralized computing facility for determining location information. Further details of such ad-hoc networks are described in U.S. Pat. No. 6,728,545 entitled “A System and Method for Computing the Location of a Mobile Terminal in a Wireless Communications Network”, filed on Nov. 16, 2001, the entire content of which is being incorporated herein by reference. Additionally, ad-hoc networks can be developed which utilize non-fixed, or movable infrastructure components. Further details of networks using movable access points and repeaters for minimizing coverage and capacity constraints are described in U.S. patent Publication No. 20030091010A1 entitled “Movable Access Points and Repeaters for Minimizing Coverage and Capacity Constraints in a Wireless Communications Network and a Method for Using the Same”, filed Aug. 15, 2001, the entire content of which is being incorporated herein by reference.
The publications discussed above generally relate to mobile networks that connect to a permanent fixed network. However, as can be appreciated from the information referenced above, wireless ad-hoc networks do not necessarily have the same requirements, and include numerous communication issues that must be addressed in position determination.
In a typical wireless communication network, positions or Coordinates are typically found in the following manner. Reference nodes periodically transmit packets containing their Coordinates, the size of the packet can vary depending upon the accuracy desired. The Subscriber Devices receive and note the location of the reference nodes. Subscriber Devices then do specific time of flight measurements on these reference nodes at a regular interval, depending upon the accuracy desired. Coordinates of the Subscriber Devices are then determined by using the distance from various reference nodes thorough time of flight measurements, and the Coordinates of the reference nodes.
In such systems and methods, Coordinates of the reference nodes must be transmitted at a periodic rate. These are typically sent along with some periodic message like Hello Message or Neighbor Advertisement. If no such message is available, a special message needs to be sent at some periodic interval. However, periodic broadcast messages are expensive in a wireless ad-hoc network, especially where multi-channel MAC protocols are used, as it prevents other unicast messages from occurring during that period and hence, affects the number of devices present in an area (i.e. scalability). This information is particularly wasteful if few Subscriber Devices are using “Location Service”. Not all subscribers want or pay for, such location services.
Additionally, the information about the location of fixed nodes does not typically change with time, that is fixed nodes will keep on transmitting the same coordinates all the time, simply consuming bandwidth and adding overhead. Therefore, the overhead can be reduced by increasing the interval between consecutive broadcast messages. However this increases the time intervals between which the Subscriber Device can determine its Coordinates. This is highly undesirable in a mobile ad-hoc network where nodes move at a fast speed.
Accordingly, a need exists for a system and method of location determination which reduces the required overhead on the network, while also improving the speed at which the Coordinates are determined.
SUMMARY OF THE INVENTION
An object of the present invention is to provide a system and method for message exchanges which minimize overhead and offers fast determination of Coordinates.
Another object of the present invention is to provide a system and method for receiving device type and other relevant information about the references in common message exchanges, such as Hello Messages and routing messages and maintain data in a neighbor table.
Another object of the present invention is to provide a system and method for a Location Service Mode, in which a node can issue a special message requesting Coordinates of references be sent.
Another object of the present invention is to provide a system and method for a Location Service Mode, in which a node can request and receive Coordinates of references using exchanges of very small messages.
Another object of the present invention is to provide a system and method for a Location Service Mode, in which a node can perform time of flight evaluations with references having known Coordinates at a selectable rate.
Another object of the present invention is to provide a system and method for a Location Service Mode, in which a node can use “location sequence number” to determine the rate of periodic updates of coordinates.
These and other objects are substantially achieved by providing a system and method for controlling a node within a wireless communication network in which the node can regularly probe a neighbor table for directing requests to reference nodes to send time of flight messages. Where initial data for a reference node is absent from the neighbor table, the system and method controls the node to issue a very small message to the reference node requesting the Coordinates of the reference node. This information can alternatively be included in routing messages. Once received, the time of flight messages from that reference node can be used to determine location. In doing so, the system and method has minimum overhead and offers fast determination of Coordinates.



BRIEF DESCRIPTION OF THE DRAWINGS
These and other objects, advantages and novel features of the invention will be more readily appreciated from the following detailed description when read in conjunction with the accompanying drawings, in which:
FIG. 1 is a block diagram of an example wireless communications network including a plurality of nodes processing Hello messages in accordance with an embodiment of the present invention;
FIG. 2 is a block diagram illustrating an example of a device used in the network shown in FIG. 1; and
FIG. 3 is a block diagram of an example ad-hoc wireless communications network including a plurality of nodes processing an exchange of Location Request and Location Reply messages in accordance with an embodiment of the present invention.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The embodiments of the present invention described below provide a system and method with which Coordinates of a subscriber device can be determined by minimum network overhead. Each embodiment relies on the fact that Coordinates of fixed nodes do not change with time (by definition) and hence can be found once by the subscriber nodes and used for a long time in place of being periodically transmitted by fixed nodes. Even if the node is not fixed, it does not need to send broadcast messages periodically as Coordinates can be obtained in a more efficient way from some other messages as described in greater detail below. Hence if the type of the node is known, major network overhead can be avoided.
FIG. 1 illustrates an example network 100, providing communications and location services. In the operation associated with the embodiment described below, several types of wireless devices are typically involved in the network 100, and exchange data for computing the location of each, while also supporting communications. These devices can include Subscriber Devices (SD) 110 and Wireless Routers (WR) 120 (i.e. fixed references) or Intelligent Access Point (IAP). In yet other embodiments of the present invention, any number of devices, such as enhanced Subscriber Devices, Intelligent Access Points, and so forth, can be used in cooperation with, or in place of the Wireless Routers 120.
FIG. 2 is a block diagram illustrating an example of a Subscriber Device 110 and Wireless Router 120 used in the network 100 of FIG. 1. The modem 102 assures radio communication with other components of the network using a transmitter (Tx) and a receiver (Rx). The operation of the transmitter and receiver is controlled by storing appropriate data in a memory 104 organized as a set of registers. The receiver and transmitter use the memory registers for providing feedback about the modem status and the result of executed functions.
The controller 106 of the Subscriber Device 110 and Wireless Router 120 in FIG. 2 also includes a CPU 108 and memory for storing data and the code of the program controlling the modem functions. It controls modem activity by writing data in modem registers via a memory bus, and reading Modem registers for finding the modem status. As shown in FIG. 2, the activity of all components of the Subscriber Device and Wireless Router are controlled by the software recorded in the controller memory 104 as program code and operating parameters. The Subscriber Devices 110 and Wireless Routers 120 can each receive messages from other Subscriber Devices, other Wireless Routers, or any number of other devices present in the network 100.
In a typical wireless communication network 100 as shown in FIG. 1, all devices such as the Wireless Routers and Subscriber Devices periodically transmit some kind of Hello Message or Neighbor Advertisement. These messages typically advertise their address (MAC or IP), the type of the node transmitting the message, and some other useful information about the transmitting node, and the contents of the packet can vary from one implementation to other.
If no such message is transmitted, a “Short Hello Message” can be used. As these messages are not rebroadcast (i.e. do not execute a communication “hop”), a node can receive this message only from its neighbor nodes and hence can use them to maintain its neighbor table. Additional details of “Short Hello Message” use is presented in U.S. Patent Application Publication No. 20040258040A1, entitled “System And Method To Maximize Channel Utilization In A Multi-Channel Wireless Communication Network”, filed on Jun. 7, 2004, claiming priority from U.S. Patent Provisional Ser. No. 60/475,882 filed on Jun. 5, 2003, the entire content of which is being incorporated herein by reference.
Returning to FIG. 1, the devices of network 100 are shown processing Hello messages in accordance with an embodiment of the present invention. After receiving such messages, a Subscriber Device 110 knows about its neighboring nodes and also knows the device type of the neighbors, since they advertise their device type in the Hello Message, Neighbor Advertisement or “Short Hello Message”. Additionally, in the neighbor table, the Subscriber Devices also have a field to place Coordinates of the neighboring nodes that may be received in association with these messages.
If a Subscriber Device 110 is in “Location Service mode”, it will regularly probe its neighbor table for the reference nodes to send time of flight messages. Initially there will be no information about the Coordinates of these reference nodes, and hence it will issue a special message called a Location Request to one or more of the reference nodes, which are typically fixed, as shown in FIG. 1. This packet can be a very small message having some bits to determine its type (e.g. Location Request), source, and destination addresses. Upon receiving such a Location Request packet, the fixed node sends back a Location Reply packet. The Location Reply packet can also be a very small message having some bits to determine its type ( e.g. Location Reply), source, and destination addresses, and its own Coordinates. An example of such an exchange of Location Request and Location Reply messages is shown in FIG. 3.
Once the Subscriber Device 110 receives this information, it stores it in appropriate fields in a neighbor table. This process can be repeated for every reference node, or Wireless Router 120, with unknown Coordinates in the neighbor table, or even fewer reference nodes depending upon the location algorithm used at the Subscriber Device. Once this information is stored, the Subscriber Device does not need to seek it again unless it enters a new neighborhood or network with new fixed neighbors.
The same method can be applied for reference nodes that are not always stationary. For example, FIG. 1 can include one or more enhanced Subscriber Devices in place of Wireless Routers that have been placed there just to provide location services, but are not typically fixed. In this case the Location Request and Location Reply can be sent at a periodic time, depending upon the type of the reference node. The period should depend upon the change detected in the coordinates of the reference nodes during successive Location Request/Location Reply messages. The periodic time can behave as a TCP window i.e. it can be increased if no change is detected for some time, and can be reduced again if a change is detected in the coordinates of the reference nodes.
There can be several variations to the protocol of the embodiments described above. In a first variation, a node can periodically check to find out if there are some reference nodes in its neighbor table without Coordinates and hence can issue Location Request messages to these reference nodes and store the Coordinates once it receives them in a Location Reply.
In a second variation, a node can also send a Location Request message to a reference node upon simply hearing its Hello Message, or any other message, for the first time.
In a third variation, sequence numbers can be used with the Location Request and Location Reply messages. To determine the location, nodes periodically do the time of flight measurements from the neighboring nodes, assuming that the last known Coordinates of the neighboring nodes are still valid. In these time of flight messages, which can just be a pair of modified RTS and CTS messages, “Location Sequence Numbers” can also be included.
To do this every node will maintain its own “Location Sequence Number”. Every time it detects that there is a change in its own Coordinate, it will increase its own sequence number. This number is sent with all the reply messages sent for requested time of flight measurements. All the nodes requesting such time of flight measurements, and hence receiving the reply message, will store the current “Location Sequence Number” of the requested node. If in a subsequent time of flight reply, the sequence number has increased, the current node will know that the Coordinates of the requested node have changed and hence, a new Location Request should be sent. If a history of such changes in “Location Sequence Number” is maintained, the speed with which the reference node is moving can be determined, which can help to determine if it is “useful” as a location reference point or not.
This information can also be used to determine the periodic interval of sending Location Request messages. For example if the sequence number described above has not changed for a long time, then it can be safely said that the reference node is fixed, if at least for the time being, and hence need not be probed so frequently. On the other hand, if the “Location Sequence Number” is changing at a fast rate, it can be said that the reference node is mobile and hence should be probed more frequently to obtain the latest Coordinates.
The system and method of the embodiments described above can be further optimized by using routing messages. For example, if the network 100 of FIG. 1 is using a distance vector routing protocol, it will typically rely on the reception of Routing Advertisement (RA) messages to find the routes. These Routing Advertisements are broadcast on regular periodic intervals. To expedite handoffs, a device can send a unicast Routing Advertisement to request a unicast Routing Advertisement back from the infrastructure nodes. Additional details of such expedited handoffs are presented in U.S. patent application Publication No. 20040143842A1, entitled “System and Method for Achieving Continuous Connectivity to an Access Point or Gateway in a Wireless Network Following an On-Demand Routing Protocol, and to Perform Smooth Handoff of Mobile Terminals Between Fixed Terminals in the Network”, filed on Jan. 13, 2004, the entire content of which is being incorporated herein by reference.
When such a unicast Routing Advertisement is sent, a bit in the Advertisement message can be set which indicates a request for the Coordinates of the receiving node. The infrastructure node can then piggyback its Coordinates in the Routing Advertisement. Thus the Subscriber Device can determine the route, as well as Coordinates, from a single message.
Similarly if an On-Demand Routing Protocol is used, a bit can be set in the Route Request packet to indicate a request for the Coordinates of the receiving node in the Route Reply. The infrastructure node can then piggyback its Coordinates in the Route Reply. Additional details of On-Demand Routing Protocols are presented in U.S. patent application Publication No. 20040143842A1 referenced above.
Although only a few exemplary embodiments of the present invention have been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the exemplary embodiments without materially departing from the novel teachings and advantages of this invention. Accordingly, all such modifications are intended to be included within the scope of this invention.

## Claims

1. A method for enabling a node in a wireless communication network to determine its location coordinates, based on the location coordinates of at least one other node, the method comprising:
controlling the node to request at least one other node to provide location coordinates either periodically or upon the node receiving at least one of a hello message, routing message, neighbor advertisement and short hello message from the said at least one other node and, in reply, controlling said at least one other node to provide the location coordinates;
controlling the node to periodically evaluate time of flight messages received at the node from the at least one other node;
controlling the node to estimate its own location coordinates based on the information pertaining to the location coordinates of the said at least one other node and the evaluation of the time of flight messages;
assigning a respective sequence number to each respective other node;
changing the sequence number of an other node when the location coordinates of that other node change; and
controlling the node to check the sequence number of the other node when the node receives a time of flight message from that other node, and controlling the node to send a request to that other node to provide updated location coordinates if the sequence number is different from a sequence number for that other node that was previously received by the node.

2. A method as claimed in claim 1, wherein:
the request is at least one of a location request message, routing message and MAC message; and
the reply is at least one of a location reply message, routing message and MAC message.

3. A method as claimed in claim 1, wherein:
the node is a mobile node.

4. A method as claimed in claim 1, wherein:
the node stores the respective location coordinates of an other node at a location in a neighbor table corresponding to that other node.

5. A method as claimed in claim 1, wherein:
the three controlling steps are performed for each of a plurality of other nodes.

6. A method as claimed in claim 5, wherein:
at least one of the other nodes is mobile.

7. A method as claimed in claim 1, wherein:
the rate of periodicity depends on the rate of change of the coordinates of the at least one other node.

8. A method as claimed in claim 1, wherein:
the hello message, routing message, neighbor advertisement and short hello message each include information identifying a characteristic of the other node from which the message was sent.

9. A method as claimed in claim 1, wherein:
the wireless network includes an ad-hoc multi-hopping peer-to-peer wireless network.

10. A node in a wireless communication network that is adapted to determine its location coordinates, based on the location coordinates of at least one other node, the node comprising:
a controller, adapted to control the node to request at least one other node to provide location coordinates either periodically or upon the node receiving at least one of a hello message, routing message, neighbor advertisement and short hello message from the said at least one other node and, in reply, controlling said at least one other node to provide the location coordinates; and
the controller is further adapted to control the node to periodically evaluate time of flight messages received at the node from the at least one other node, and to control the node to estimate its own location coordinates based on the information pertaining to the location coordinates of the said at least one other node and the evaluation of the time of flight messages,
a respective sequence number to each respective other node, and the sequence number of an other node change when the location coordinates of that other node change; and
the controller of the node is further adapted to control the node to check the sequence number of the other node when the node receives a time of flight message from that other node, and to control the node to send a request to that other node to provide updated location coordinates if the sequence number is different from a sequence number for that other node that was previously received by the node.

11. A node as claimed in claim 10, wherein:
the request is at least one of a location request message, routing message and MAC message; and
the reply is at least one of a location reply message, routing message and MAC message.

12. A node as claimed in claim 10, wherein:
the node is a mobile node.

13. A node as claimed in claim 10, wherein:
the controller is further adapted to control the node to store the respective location coordinates of an other node at a location in a neighbor table corresponding to that other node.

14. A node as claimed in claim 10, wherein:
the controller is further adapted to perform the controlling operations for each of a plurality of other nodes.

15. A node as claimed in claim 14, wherein:
at least one of the other nodes is mobile.

16. A node as claimed in claim 10, wherein:
the rate of periodicity depends on the rate of change of the coordinates of the at least one other node.

17. A node as claimed in claim 10, wherein:
the hello message, routing message, neighbor advertisement and short hello message each include information identifying a characteristic of the other node from which the message was sent.

18. A node as claimed in claim 10, wherein:
the wireless network includes an ad-hoc multi-hopping peer-to-peer wireless network.

19. A method of operation of a communication device within a wireless communication network comprising:
transmitting a location request message to a reference node, wherein the location request message comprises a message type, a source address of the communication device, and a destination address of the reference node;
receiving a location reply message from the reference node, wherein the location reply message comprises a message type, the source address, the destination address, and a device coordinates of the at reference node;
storing the device coordinates associated with the reference node in a neighbor table;
repeating the transmitting, receiving, and storing steps for one or more other reference nodes; and
only repeating the transmitting, receiving, storing, and repeating steps when the communication device enters a new neighborhood with one or more new neighbor reference nodes,
wherein at least one of the reference nodes is a mobile reference node, the method further comprising:
storing a reference type associated with the mobile reference node in the neighbor table, wherein the reference type comprises a frequency of change of coordinates received from the mobile reference node; and
periodically repeating at a time period the transmitting, receiving, and storing steps for the mobile reference node, wherein the time period is associated with the reference type of the mobile reference node.

20. A method of operation of a communication device as claimed in claim 19 wherein the time period increases as the frequency of change of coordinates decreases; and further wherein the time period decreases as the frequency of change of coordinates increases.

21. A method of operation of a communication device as claimed in claim 19, further comprising prior to the repeating step:
periodically checking the neighbor tables to identify one or more reference nodes without stored coordinates,
wherein the repeating step comprises repeating the transmitting, receiving, and storing steps for the one or more reference nodes without stored coordinates.

22. A method of operation of a communication device as claimed in claim 19, further comprising prior to the repeating step:
receiving a Hello Message from a new reference node,
wherein the repeating step comprises repeating the transmitting, receiving, and storing steps for the new reference node.

23. A method of operation of a communication device as claimed in claim 19 further comprising:
determining a location of the communication device by using the stored coordinates to calculate a time of flight from each of the reference nodes.

24. A method of operation of a wireless communication network comprising a plurality of nodes comprising:
at each of the plurality of nodes;
maintaining a location sequence number;
detecting a change in location coordinates; and
increasing the location sequence number;

transmitting a time of flight message from a node to a neighbor node of the plurality of nodes;
communicating a time of flight reply from the neighbor node to the node, wherein the time of flight reply includes a current location sequence number for the neighbor node;
comparing by the node the current location sequence number with a stored location sequence number for the neighbor node;
transmitting a location request message from the node to the neighbor node when the current location sequence number is different from the stored location sequence number for the neighbor node, wherein the location request message comprises a message type, a source address of the node, and a destination address of the neighbor node;
receiving a location reply message by the node from the neighbor node, wherein the location reply message comprises a message type, the source address, the destination address, and a device coordinates of the neighbor node; and
storing the device coordinates associated with the neighbor node in a neighbor table of the node.

25. A method of operation of a wireless communication network as claimed in claim 24, the method further comprising:
storing a reference type associated with the neighbor node in the neighbor table; and
periodically repeating at a time period the transmitting, receiving, and storing steps for the mobile reference node, wherein the time period is associated with the reference type of the neighbor node.

26. A method of operation of a wireless communication network as claimed in claim 25, wherein the reference type comprises a frequency of change of the location sequence number of the neighbor node.

27. A method of operation of a communication device as claimed in claim 26 wherein the time period increases as the frequency of change of the location sequence number decreases; and further wherein the time period decreases as the frequency of change of the location sequence number increases.