# Patent

## Title
System and method for performing multiple network routing and provisioning in overlapping wireless deployments

## Abstract

A system and method for transmitting data in a wireless network is provided. Routing table information includes a system weight associated with each available node. An optimal node is selected based at least in part on the system weight, quality of service requirements, among other factors associated with each available node. Nodes are preferably selected on a per packet basis.

## Background
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a system and method for using weights associated with various network operators to determine the optimal link for use in Layer II routing in a network, such as an 802.11 network. More particularly, the present invention relates to a system and method for using weights assigned to links associated with particular network systems in an overlapping multiple system environment to compute the optimum path between nodes in a communication network, such as an 802.11 network, in order to select the most suitable link over which to send data packets between the nodes.
2. Description of the Related Art
In recent years, a type of mobile communications network known as an “ad-hoc” network has been developed. In this type of network, each user terminal (hereinafter “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. Accordingly, data packets being sent from a source mobile node to a destination mobile node are typically routed through a number of intermediate mobile nodes before reaching the destination mobile node.
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 types of user terminals, such as those on the public switched telephone network (PSTN) and on other networks such as the Internet. Details of these types of ad-hoc networks are described in U.S. patent application Ser. No. 09/897,790 entitled “Ad Hoc Peer-to-Peer Mobile Radio Access System Interfaced to the PSTN and Cellular Networks”, filed on Jun. 29, 2001, in U.S. patent application Ser. No. 09/815,157 entitled “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”, filed on Mar. 22, 2001, and in U.S. patent application Ser. No. 09/815,164 entitled “Prioritized-Routing for an Ad-Hoc, Peer-to-Peer, Mobile Radio Access System”, filed on Mar. 22, 2001, the entire content of each of said patent applications being incorporated herein by reference.
As can be appreciated by one skilled in the art, when a node sends packetized data to a destination node, the node typically checks its routing table to determine whether the destination node is contained in its routing table. If the destination node is contained in the node's routing table, the data is transmitted via a path that leads to the destination node. If the destination node is not listed in the node's routing table, then the packet is sent to one or more other nodes listed in the node's routing table, and those other nodes determine if the destination table is listed in their routing tables. The process continues until the data packet eventually reaches the destination node.
In these types of ad-hoc networks, the algorithms that are used to determine the path of intermediate nodes via which the data packets are routed between source and destination nodes are typically based on the shortest distance between the source and destination nodes or, assuming that the data packet transport medium is wireless, the least power required to perform the routing. However, such algorithms do not necessarily optimize the cost associated with delivery of data packets. For example, routing of data packets can be delayed due to congestion in intermediate nodes. Also, delivery failure of data packets can occur on noisy radio links between nodes. Moreover, because many of the nodes are mobile, the conditions of the links can be constantly changing. Finally, some routes may require the use of equipment belonging to another network, and therefore incur an additional cost for delivery.
Currently, ad-hoc wireless communications networks, and especially those employing terminals which operate in accordance with 802.11 standards, do not take into account the cost associated with the use of “out of network” equipment when determining the suitability of a link for use in sending data packets between nodes. Details of the 802.11 standards are set forth in ISO/IEC 8802-11, ANSI/IEEE 802.11 “Information Technology—Telecommunications and Information Exchange Between Systems—Local and Metropolitan Area Network Specific Requirements”, Part 11: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications, the entire contents of which being incorporated herein by reference. Also, a description of the 802.11 standard is found in a book by Bob O'Hara and Al Petrick entitled IEEE 802.11 Handbook: A Designer's Companion, IEEE, 1999, the entire contents of which being incorporated herein by reference.
In cellular systems, it is common for operators of different cellular systems to form cooperative agreements with one another so that subscribers of either system can utilize the infrastructure of either system. The cellular system operators typically form inter-system service level agreements which define how each system will account for and be compensated for usage of the system by subscribers of another system. In this manner, cellular system operators can offer subscribers access to more infrastructure and therefore a broader coverage area.
Similarly, it is possible for the service areas of multiple ad-hoc peer-to-peer networks to overlap. When they do, it is often advantageous for the operators of the multiple networks to enter into inter-system service level agreements to allow cooperative routing between network elements in the multiple systems. Unfortunately, there is an opportunity for fraud and abuse in this system when a system operator falsely advertises routes to gain more traffic share, or to starve another system of traffic load. Even in the absence of fraud or abuse, it would be advantageous for a system operator to selectively choose routes according to the system associated with the infrastructure utilized in each route.
Accordingly, a need exists for a system and method which enables a wireless ad-hoc communications network, such as an 802.11 network, to evaluate the cost associated with various links between nodes in order to determine which link to use for data packet routing between the nodes. The cost is based at least in part on the system to which equipment along the link belongs, and the inter-system service level agreements in place between system operators.
SUMMARY OF THE INVENTION
An object of the present invention is to provide a system and method for minimizing the cost of operating a wireless network by taking into consideration the cost of transmitting packets through infrastructure nodes controlled by another entity.
Another object of the present invention is to improve the security of an ad-hoc wireless network by identifying available nodes and the network operators associated with the available nodes, and transmitting packets through only trusted systems.
These and other objects are substantially achieved by providing a system and method for communicating in a wireless network. A system in accordance with the present invention employs a node comprising a transceiver adapted to transmit a signal to at least one of a plurality of other nodes. The node further includes a memory for storing routing information, which can be in the form of a routing table, that comprises a system weight associated with each other node. The node further includes a controller adapted to control the transceiver to transmit a signal to one the nodes based on the routing table and system weight associated with each node.
The invention is further embodied in a method of controlling a communications system. The method includes determining a set of available nodes from a routing table, determining a system identification associated with each available node, determining a system weight associated with each system identification, calculating a cost associated with transmitting to each available node based on the system weights, selecting one of the available nodes based on the cost, and transmitting data to the selected node.



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 of an ad-hoc wireless communications network employing a system and method for evaluating the cost of links between nodes based on inter-system service level agreements in a multiple system environment according to an embodiment of the present invention;
FIG. 2 is a block diagram illustrating an example of components of a node employed in the network shown in FIG. 1;
FIG. 3 is a block diagram depicting a comparison of the cost associated with three different routes between nodes in the ad-hoc wireless communications network shown in FIG. 1 and other networks according to an embodiment of the present invention; and
FIG. 4 is a flowchart illustrating a method of determining an optimum route according to an embodiment of the present invention.



In the figures, it will be understood that like numerals refer to like features and structures.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
FIG. 1 is a block diagram illustrating an example of an ad-hoc packet-switched wireless communications network 100 employing an embodiment of the present invention. Specifically, the network 100 includes a plurality of mobile wireless user terminals 102-1 through 102-n (referred to generally as nodes or mobile nodes 102), and a fixed network 104 having a plurality of access points 106-1, 106-2, . . . 106-n (referred to generally as nodes or access points 106), for providing the nodes 102 with access to the fixed network 104. The fixed network 104 includes, for example, a core local access network (LAN), and a plurality of servers and gateway routers, to thus provide the nodes 102 with access to other networks, such as other ad-hoc networks, the public switched telephone network (PSTN) and the Internet. The network 100 further includes a plurality of fixed routers 107-1 through 107-n (referred to generally as nodes or fixed routers 107) for routing data packets between other nodes 102, 106 or 107.
As can be appreciated by one skilled in the art, the nodes 102, 106 and 107 are capable of communicating with each other directly, or via one or more other nodes 102, 106 or 107 operating as a router or routers for data packets being sent between nodes 102, as described in U.S. Pat. No. 5,943,322 to Mayor, and in U.S. patent application Ser. Nos. 09/897,790, 09/815,157 and 09/815,164, referenced above. Specifically, as shown in FIG. 2, each node 102, 106 and 107 includes a transceiver 108 which is coupled to an antenna 110 and is capable of receiving and transmitting signals, such as packetized data signals, to and from the node 102, 106 or 107, under the control of a controller 112. The packetized data signals can include, for example, voice, data or multimedia.
Each node 102, 106 and 107 further includes a memory 114, such as a random access memory (RAM), that is capable of storing, among other things, routing information pertaining to itself and other nodes 102, 106 or 107 in the network 100. The nodes 102, 106 and 107 exchange their respective routing information, referred to as routing advertisements or routing table information, with each other via a broadcasting mechanism periodically, for example, when a new node 102 enters the network 100, or when existing nodes 102 in the network 100 move. A node 102, 106 or 107 will broadcast its routing table updates, and nearby nodes 102, 106 or 107 will only receive the broadcast routing table updates if within broadcast range (e.g., radio frequency (RF) range) of the broadcasting node 102, 106 or 107. For example, assuming that nodes 102-1, 102-2 and 102-7 are within the RF broadcast range of node 102-6, when node 102-6 broadcasts its routing table information, that information is received by nodes 102-1, 102-2 and 102-7. However, if nodes 102-3, 102-4 and 102-5 through 102-n are out of the broadcast range, none of those nodes will receive the broadcast routing table information from node 102-6.
FIG. 3 illustrates three possible routes for communication between a sending node 11 and a receiving node 12 in a multiple service provider environment. A first route exists from node 11 through intermediate node 10 to node 12. In the first route, each of the three nodes involved are associated with Service Provider A. A second route from node 11 through node 20 to node 12 involves the use of a node 20 that is associated with Service Provider B. Finally, a third route from node 11 through node 30 to node 12 involves the use of node 30 that is associated with Service Provider C.
Service providers provision their own infrastructure equipment, and their subscriber's devices with system identifiers and system weights associated with each system with which an established cooperative agreement has been established. A table of system weights is stored, for example, in the memory 114 of each node 102, 106 or 107. Thus, when a wireless transceiver begins to select a next-hop route from its neighbor list, it uses the system weight associated with each possible link to minimize the overall cost of the packet route. It should be noted that other considerations may also be taken into consideration by a transmitting node selecting among possible routes, including preferably Quality of Service (QoS) requirements. Thus, where a node 11 has a choice between three routes 11-20-12, 11-10,12, and 11-30,12, with other factors being equal, the node will select the “in-house” route rather than a more expensive route through another provider's node. However, if the in-house route is unavailable, the node can choose a “foreign” node through which to pass packets in order to maintain QoS requirements.
FIG. 4 is a flowchart illustrating a method of selecting a next-hop link according to an embodiment of the present invention. A node 102, 106, 107 such as those illustrated in FIG. 2, optionally receives a packet to be transmitted from the node at step 400. Alternatively, the node may originate the packet to be transmitted. At step 402, route advertisements are received from nearby nodes. The node 102, 106, 107 updates its routing table based on the route advertisements received at step 404. At step 406, the node determines the set of “next hop” links that are possible, based on the routing table. The system id associated with each next-hop node is determined at step 408. For each system id in the list of possible next-hops, the node retrieves the weight associated with each system id, at step 410, and calculates a “system weight” for each link. The weight is based on service level cooperation agreements between service providers.
The cost of each possible link is evaluated at step 412. In addition to the system weight calculated, the cost of each possible link takes into account link persistence, transmit power, congestion, and QoS requirements, among other possible factors. At step 414, the node 102, 106, 107 selects the optimum next-hop link, and the packet is transmitted over the selected link at step 416. Process steps 400-416 are preferably repeated for each packet to be transmitted.
It will be appreciated that the present invention can be applied to a wide variety of network topologies and protocols. Thus, for example, in an IPv4 packet network, the IP subnet number (appropriately masked) is used to uniquely identify a particular IPv4 provider. Similarly, if routing is augmented, or supplanted, by Link Layer mechanisms, then Layer 2 identifiers are used to uniquely identify the provider.
A system and method according to the present invention is further advantageous in its response to “rogue” routers advertising links. In the event that a rogue router comes on-line and advertises routes, a device according to the present invention checks the system id of the rogue router. Because the device is not provisioned with the system id of the rogue router, the device can ignore the rogue router, thereby avoiding security risks.
It will be appreciated by those of skill in the art that the above described invention can be advantageously applied to an ad-hoc peer to peer wireless network in a number of ways. As an example, the above principles can be applied to the accounting and billing system of a system in a multiple provider overlapping environment. In such an embodiment, a network element counts each packet that it routes. Thus billing and reverse billing are used to compensate for shared routing. Counting is preferably done based on the source or destination system of each routed packet. Billing information can be accounted using the local system identifier. Depending on the direction of transfer, this can be the source or destination address. In a wireless-to-wireless or wireless-to-fixed transfer, the source of the packet is preferably used. In a fixed-to-wireless transfer, the destination address is preferably used. Thus, a system of billing for routing services used from other system operators is provided.
In a further embodiment of the present invention, the routing metric can be a function of the system identifier. In such a system, routing tables designate an optimal route as a function of the system identifier of the wireless transceiver that is originating or receiving the packet. Thus, route selection occurs in such a manner that the infrastructure owner steers packets to avoid costly elements, or to avoid routing packets from a system that does not compensate for routing.
The present invention is advantageous in that it allows multiple overlapping networks to preserve routing inside a single system. The present invention allows network operators to optimize the cost of their system, and allows improved security by limiting the possible paths to trusted system elements. Furthermore, the present invention allows QoS to be controlled by limiting the possible routes of a packet. In addition, the present invention allows congestion in a network to be bypassed only when needed by using other system elements that may impose additional costs to route through.
Of course those of ordinary skill in the art will readily appreciate that the principles of the present invention can be applied to source routing networks. In source routing networks, the source node determines exactly which nodes a message will traverse on the way to its destination node. The series of hops is included as part of the message. In this case the source node would use the above described “weight factor” into account among other factors in order to determine the path of each message. Thus, the present invention is not intended to be limited to networks in which each node determines the next hop independently, but rather is intended to be applied to networks in which the path is entirely or partially defined at the source node or some other node.
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 as defined in the following claims.

## Claims

1. A node, adapted for communicating with other nodes, some of which being in its own wireless ad-hoc peer-to-peer communication network and others of which being in at least one other wireless ad-hoc peer-to-peer communication network, said node comprising:
a transceiver adapted to transmit a signal to at least one of the other nodes;
a memory adapted to store routing information comprising data including a plurality of system weights, each of the other nodes having a respective system weight assigned thereto identifying a respective one of the networks in which that other node is operating;
a controller adapted to control said transceiver to transmit said signal to one of said other nodes whose system weight meets a desired criteria; and
wherein said system weight is determined based on service level cooperation agreement between said node's own wireless ad-hoc peer-to-peer network and with said at least one other wireless ad-hoc peer-to-peer communication network.

2. The node as claimed in claim 1, wherein at least one of said communication networks comprises an IEEE 802.11 network.

3. The node as claimed in claim 1, wherein said controller is further adapted to control said transceiver to transmit said signal to one of said other nodes based further on at least one of a plurality of factors selected from the group consisting of transmit power level, received signal strength indication, link quality, and quality of service requirements.

4. The node as claimed in claim 1, wherein said controller is adapted to assess a financial cost assigned to each of said plurality of other nodes based on said system weights.

5. The node as claimed in claim 4, wherein said controller is adapted to select one of said plurality of other nodes based on said financial cost assigned to each node.

6. The node as claimed in claim 1, wherein said controller is adapted to select one of said plurality of other nodes on a per packet basis.

7. The node as claimed in claim 4, wherein said controller is adapted to assess said financial cost assigned to each of said plurality of other nodes on a per packet basis.

8. The node as claimed in claim 5, wherein said controller selects at least one of said other nodes associated with the lowest financial cost.

9. The node as claimed in claim 1, wherein said routing information includes a routing table, and said controller is further adapted to control said transceiver to transmit said signal to one of said other nodes based on said system weight and said routing table.

10. A node as claimed in claim 1, wherein:
said controller is adapted to control said transceiver to transmit said signal to one of said other nodes whose system weight meets said desired criteria upon determining that said node is unable to communicate with any of said other nodes operating within its own network.

11. A method for controlling a node in a wireless ad-hoc peer-to-peer communications network, said node being adapted to communicate with other nodes, some of which being in its own wireless ad-hoc peer-to-peer communication network and others of which being in at least one other wireless ad-hoc peer-to-peer communications network, the method comprising the steps of:
determining available nodes to receive a transmission from said node;
determining a network identification assigned to each available node, each network identification identifying the network in which the node that network identification is assigned is operating;
determining a respective system weight corresponding to each network identification;
selecting one of said available nodes whose system weight corresponding to its assigned network identification meets a desired criteria;
transmitting data from said node to said selected node; and
wherein said system weight is determined based on service level cooperation agreement between said node's own wireless ad-hoc peer-to-peer network and with said at least one other wireless ad-hoc peer-to-peer communication network.

12. The method of claim 11, wherein the step of determining a set of available nodes comprises reviewing a routing table.

13. The method of claim 12, further comprising the steps of receiving route advertisements and updating the routing table.

14. The method of claim 11, wherein at least one of said communication networks includes an IEEE 802.11 network.

15. The method of claim 11, wherein said selecting and transmitting steps are performed on a per packet basis.

16. A method as claimed in claim 11, wherein:
said selecting step selects said one of said available nodes whose system weight meets said desired criteria upon determining that said node is unable to communicate with any of said other nodes operating within its own network.

17. A method for controlling a node in a wireless ad-hoc peer-to-peer communications network, said node being adapted to communicate with other nodes, some of which being in its own wireless ad-hoc peer-to-peer communication network and others of which being in at least one other wireless ad-hoc peer-to-peer communications network, the method comprising the steps of:
determining available nodes to receive a transmission from said node;
determining a network identification assigned to each available node, each network identification identifying the network in which the node that network identification is assigned is operating;
determining a respective system weight corresponding to each network identification;
selecting one of said available nodes whose system weight corresponding to its assigned network identification meets a desired criteria;
transmitting data from said node to said selected node;
calculating an overhead cost based on at least one of a plurality of factors selected from the group consisting of transmit power level, received signal strength indication, link quality, and quality of service requirements;
calculating a financial cost associated with transmitting to each available node based on said system weights; and
said selecting step selects said one of said available nodes based on said overhead cost and said financial cost.

18. The method of claim 17, wherein said selecting step further comprises selecting the available node associated with the lowest financial cost.

19. A computer readable medium of instructions adapted to control a node in a wireless ad-hoc peer-to-peer communications network, said node being adapted to communicate with other nodes in its own wireless ad-hoc peer-to-peer communication network and with other nodes in at least one other wireless ad-hoc peer-to-peer communications network, the computer readable medium of instructions comprising:
a first set of instruction adapted to control said node to determine available nodes to receive a transmission from said node,
a second set of instructions adapted to control said node to determine a network identification assigned to each available node, each network identification identifying the network in which the node that network identification is assigned is operating,
a third set of instructions adapted to control said node to assess a respective system weight corresponding to each network identification,
a fourth set of instructions adapted to control said node to select one of said available nodes whose system weight corresponding to its assigned network identification meets a desired criteria,
a fifth set of instructions adapted to control said node to transmit data to said selected node; and
wherein said system weight is determined based on service level cooperation agreement between said node's own wireless ad-hoc peer-to-peer network and with said at least one other wireless ad-hoc peer-to-peer communication network.

20. The computer readable medium of instructions of claim 19, wherein the first set of instructions is further adapted to review a routing table to determine said available nodes.

21. The computer readable medium of instructions of claim 20, further comprising a sixth set of instructions adapted to control said node to receive route advertisements and update said routing table.

22. The computer readable medium of instructions of claim 19, wherein at least one of said networks includes an IEEE 802.11 network.

23. The computer readable medium of instructions of claim 19, wherein said fourth and fifth sets of instructions are executed on a per packet basis.

24. A computer readable medium of instructions as claimed in claim 19, wherein:
said fourth set of instructions is further adapted to control said node to select said one of said available nodes whose system weight meets said desired criteria upon determining that said node is unable to communicate with any of said other nodes operating within its own network.

25. A computer readable medium of instructions adapted to control a node in a wireless ad-hoc peer-to-peer communications network, said node being adapted to communicate with other nodes in its own wireless ad-hoc peer-to-peer communication network and with other nodes in at least one other wireless ad-hoc peer-to-peer communications network, the computer readable medium of instructions comprising:
a first set of instruction adapted to control said node to determine available nodes to receive a transmission from said node,
a second set of instructions adapted to control said node to determine a network identification assigned to each available node, each network identification identifying the network in which the node that network identification is assigned is operating,
a third set of instructions adapted to control said node to assess a respective system weight corresponding to each network identification,
a fourth set of instructions adapted to control said node to select one of said available nodes whose system weight corresponding to its assigned network identification meets a desired criteria,
a fifth set of instructions adapted to control said node to transmit data to said selected node;
a sixth set of instructions adapted to control said node to calculate a financial cost associated with transmitting to each available node based on said system weights; and
a seventh set of instructions adapted to control said node to calculate an overhead cost based on at least one of a plurality of factors selected from the group consisting of transmit power level, received signal strength indication, link quality, and quality of service requirements, and said fourth set of instructions is further adapted to control said node to select said selected node based on said overhead cost and said financial cost.

26. The computer readable medium of instructions of claim 25, wherein said fourth set of instructions are further adapted to select the available node associated with the lowest financial cost.

27. A method for controlling a node in a wireless ad-hoc peer-to-peer communications network, said node being adapted to communicate with other nodes in its own wireless ad-hoc peer-to-peer communication network and with other nodes in at least one other wireless ad-hoc peer-to-peer communications network, the method comprising the steps of:
determining whether said node is able to communicate with any other nodes operating within its own network;
if said node is able to communicate with at least one of said other nodes operating within its own network, then selecting one of said other nodes as a selected node for communication;
if said node is unable to communicate with any of said other nodes operating within its own network, then determining whether said node is able to communicate with any other nodes operating in at least one network other than its own network, each of said other nodes being assigned a respective system weight identifying the network in which that node is operating;
if said node is able to communicate with a plurality of other nodes operating in at least one other network, selecting as said selected node for communication one of those other nodes whose assigned system weight meets a desired criteria; and
wherein said system weight is determined based on service level cooperation agreement between said node's own wireless ad-hoc peer-to-peer network and with said at least one other wireless ad-hoc peer-to-peer communication network.

28. The method of claim 27, further comprising:
transmitting a data packet from said node to said selected node.

29. The method of claim 27, wherein each of the determining steps comprises reviewing a routing table to determine available nodes with which said node is able to communicate.

30. The method of claim 27, wherein at least one of said communication networks includes an IEEE 802.11 network.

31. The method of claim 27, wherein each of said steps are performed on a per packet basis.

32. The method of claim 27, wherein:
each of said system weights represents a financial cost for transmitting a packet from said node to one of the nodes in that network.