The present invention is related to the field of wireless networking. More specifically, the present invention is related to wireless networking communication protocols and their implementation.
Wireless communication systems make use of routing protocols to move information from a first device to a second device. For such systems, there are often one or more base stations (various terms are used, including root node or gateway) that connect the wireless communication system to a second communication system. One example is an access point acting as the intermediary between a wireless system and a wired system. The other devices in the wireless system must determine how to route data to reach the base node.
Because the reliable transmission range of a device may not include the base node, routing strategies will often make use of intermediate devices. For example, as shown in
The present invention, in a first illustrative embodiment, includes a wireless communications system comprising a number of node devices and a base station wherein the system is operating with a first routing map, a route calculator is used to gather data relating to communications between pairs of node devices and determines whether routing improvement is indicated and, if so, the route calculator generates an improved routing solution, and instructions are relayed via the first routing map to the node devices for implementing a new routing map generated from the improved routing solution. The base station may be the route calculator or may include the route calculator as a software or hardware element. In some embodiments, the improved routing solution may be generated using a routing solution that is optimized in light of one or more factors.
In another illustrative embodiment, the present is embodied in a method of operating a wireless communication system, the wireless communication system including a base station and a number of node devices and operating with a current communication configuration using communication links between pairs of devices in the system. The illustrative method comprises determining whether system routing improvement is indicated, if so, generating an improved system configuration, distributing data related to the improved system configuration to the node devices, and replacing the current communication configuration with the improved system configuration.
The following detailed description should be read with reference to the drawings. The drawings, which are not necessarily to scale, depict illustrative embodiments and are not intended to limit the scope of the invention.
U.S. patent application Ser. No. 10/905,971, entitled WIRELESS ROUTING SYSTEMS AND METHODS, is incorporated herein by reference. Some of the methods set forth in the Ser. No. 10/905,971 patent application allow for benchmarking of an existing communication system and the existing system's communication protocols/routes. Data related to the existing system connections and communication routes may be gathered, and an improved network solution may then be generated for comparison to the existing system. Metrics for the existing and improved system solution may be generated and compared. Then, it may be determined whether reconfiguration using a centrally generated communication protocol is appropriate. The present invention includes, in some embodiments, implementation of the newly generated solution. In some embodiments, the improved solution may be optimized in light of one or more factors related to communications security, efficiency and/or reliability.
In an illustrative embodiment, a wireless network having a number of devices is provided. Poor data routing can increase the response time of such networks, and makes such networks vulnerable to over-reliance on a limited number of devices. For example, if data is routed heavily through one or two nodes, then these nodes may form bottlenecks for data movement to the base station, causing delays. Furthermore, failure of heavily used nodes can lead to heavy data losses.
Design and selection of data routing within such networks is rendered complicated due to their distributed nature, even when the data routing takes place within a network having static (non-moving) devices. At any given time, one or more devices that are a part of the network may, for whatever reason, lose connectivity to the rest of the network. For example, a flurry of local noise can block communication with a device, or a device may periodically enter a low power sleep mode. Further, it is often desirable to have a network enabled for adding devices after initial setup.
One result of these various difficulties is that centralized configuration of data routing is rendered laborious. For example, a centralized configuration may require updating when a device is permanently or temporarily added or removed. Updating a centralized configuration may require contacting each device in the network separately. These difficulties make decentralized configuration a desirable feature during ongoing operation. However, it has been found in simulation that decentralized configuration often fails to produce results that are as efficient as centralized configuration.
For purposes herein, routing solutions may be described as improved when the efficiency of system communication is better, using an objective standard, than a previous solution. For example, an improved solution may have fewer data hops in its total routing map than another solution. There are several factors that may be selected, for example, the number of hops, node latency, and received signal strength indicators. Further, these factors may be considered in several manners, including average or median system levels, maximum levels, logarithmic summation, or the like. As such, selection of a particular factor and a particular manner of analyzing that factor may vary. Some improved solutions may be optimized solutions making use of one or more such factors. For example, as set forth in copending U.S. patent application Ser. No. 10/905,971, a number of factors may be considered as a weighted sum, wherein linear programming methods can be used to find a solution that is optimized for the factors considered. Such optimization may have multiple tiers: which factors that are considered; the format in which each factor is considered; and the weight given to the various factors.
Several of the following illustrative examples refer to the inclusion of a routing calculator. It should be understood that a routing calculator may be embodied as a portion of software or other instruction set, or within hardware, if desired, in any node of a communication network, including the base node. Further, a routing calculator may also be embodied in a separate device normally not part of a communication network, for example, as part of a configuration, updating, or optimization device.
Also shown are additional routes to create redundancy from node I5 to B. A first route follows route 1 and is denoted route 3, and another route for I5 follows route 4, through nodes I4 and I2. Likewise for node I6, route 5 follows part of route 2, and route 6 goes through nodes I3 and I1. As can be seen, even with relatively few nodes or devices, the number of paths grows quickly, especially when non-overlapping redundant paths are desired. In some embodiments, device X is a device operating in similar fashion to the other node devices I1 . . . I6. In other embodiments, for example as further illustrated below in
Decentralized configuration to add K may take place as follows. K generates a routing request RREQ, followed by its own address, K, making message “RREQK”. When nearby devices L, P receive the routing request from K, each will retransmit the message, after including its own address in the message. Other information, for example, RSSI data (received signal strength indicators), other link quality data, or node latency data (in the illustrative embodiment, the node latency is proportional to the number of routes serviced by the node) may also be added. Node latency data may take any suitable form. In another example, node latency data may be generated by having several or each node maintain statistics on the residence time of data (or packets of data) at that node. In a further example, the latency value for each node may be the mean residence time, or another statistic or metric related to the set or distribution of residence times. To accommodate for intermittent communication failures that may occur, for example, where a device is not always “ON” (e.g. occasionally enters sleep mode), the gathered data may include indicators of communication link failures and the frequency of such failures.
The message is then repeated until the RREQ reaches the destination, in this case, the base station BS. As shown, the base station may receive more than one RREQ from K—in this case, RREQNMLK passes through nodes L, M, and N after it is generated by K and before it is received at BS. Likewise, RREQSRQPK passes through nodes P, Q, R, and S after it is generated and before it is received at BS. The base station BS will then sort through the messages and select the apparently best route. Typically, the “best” route will be determined as the one having the best link strength and the least number of hops. Other factors that may be considered in having the base station select the best route include the “load” of any of the intermediate nodes between K and BS. For example, a route including a high load intermediate node (a node that already forms a part of a large number of other existing routes) may be deselected to avoid data collisions at the high load node.
After BS selects the “best” route (or two or more best routes, in some embodiments), a message is generated by BS and addressed to K for the purpose of indicating, to K, what route(s) should be used. In some embodiments, the base station BS is enabled for broadcasting to all other nodes, such that the message can be sent by BS directly to K. In other embodiments, BS may route the message to K using intermediate devices. The decentralized configuration can typically be performed without significantly interfering with communications within the network, as other, existing communication routes may remain the same when the new device is added.
It can be seen in
In an illustrative embodiment, the improved solution is generated by a process of a mixed integer linear program, as set forth further in copending U.S. patent application Ser. No. 10/905,971. In the illustrative embodiment, the one or more factors are then used to generate a first quality metric, as shown in
For the illustrative system, reconfiguration may take place when the comparison of the first and second quality metrics indicates reconfiguration with result in a desired gain. For example, if the first quality metric is less than a preselected percentage (for example, 75%, or any other value) of the second quality metric, a corresponding level of improvement (e.g. 25%) may be expected from reconfiguration, such that the computational and communication expense required for implementing reconfiguration is justified.
This method may take place by operation of a route calculator. The route calculator may be a software or hardware function of a base station, one of the nodes in the communication system, or a completely separate device.
In an illustrative method, the infrastructure nodes are characterized in terms of their physical characteristics, including relative juxtaposition and link strength between nodes. A graph may be defined G (V, E) in which the vertex set is the set of all nodes, including the base station. The edges of the graph are directed edges that denote communication connectivity between vertices. For example, if there is a directed edge between a vertex A and a vertex B, then there is communication possible from A to B. Then the two (or more) best non-overlapping paths to the base station are chosen. A graphical analysis taking into consideration the factors noted above (and/or other factors, as desired) allows an optimal solution (with respect to the selected factors and/or weights) to be approached.
The method begins with the system in a run state 40, where normal communications take place between a number of nodes as well as a base node. From time to time, a check for new devices 42 is performed. If a new device is detected in the system, the method continues by going through a routine for adding a new device, as shown at 44. The routine may be any suitable device adding routine including, for example, the decentralized routine explained above with reference to
Using the system data, the method may determine whether improvement is appropriate or needed, as shown at 50. For example, the methods discussed in copending U.S. patent application Ser. No. 10/905,971 may be used to determine whether improvement is appropriate. If improvement is not appropriate, the method returns to the run state 40.
If improvement is appropriate, the method continues by finalizing the improved solution, as shown at 52. Any suitable factors may be used for generating an improved solution. For example, a scaled product of node latencies and average signal strength may be a metric that is optimized to find an improved solution. In another example, a combination of scaled metrics related to node latency, path length, link quality, and maximum node loads may be considered and optimized.
Given the improved solution, the next step is to distribute the new solution, as shown at 52. The new solution may be distributed using existing communication mapping or path definitions. Alternatively, the new solution may be distributed by a broadcast signal, for systems enabled with such capability. In some embodiments, the existing or “old” solution is used until the new solution can be distributed to the network nodes. Once so distributed, the next step is to implement the new solution, as shown at 54, by replacing old routing maps, preferences, and/or addressing protocols related to the old route map with elements configured for the new solution.
As shown in the method of
Within the context of the present invention, a centralized approach to routing can be considered as a category of improved solutions. Because there are several factors involved in creating the “optimum” approach, it should be understood that there is, in reality, rarely a single “optimal” routing approach. There are, instead, improved communication solutions which may be optimized in terms of one or more factors related to communication quality.
In one embodiment, at least some of the sensors operate in low power modes. For example, a given sensor may have an active mode and a low power sleep mode, wherein the sensor periodically wakes from low power sleep to transmit data using the active mode. While in low power sleep, the sensor is unavailable for communications. At a scheduled time, the sensor may awaken, and transmits whatever data it has gathered for transmission to an associated infrastructure node. Next, the infrastructure node may transmit the sensor data to the base station.
For the purposes of redundancy, a sensor may transmit to two infrastructure nodes. For example, several sensors 114, 116, 118 are shown associated with each of infrastructure nodes 104, 106. In some embodiments, the system is configured such that routes for signals from these sensors 114, 116, 118 which pass through the infrastructure nodes 104, 106 are non-overlapping. For example, a signal from a first sensor 114 may be routed to infrastructure nodes 104 and 110, and then to the base node 100, and also to infrastructure nodes 106 and, and then to the base node 100. Meanwhile a signal from a second sensor 116 may have the same pair of routes. It can be seen from the system shown that node 102 is likely to be used for a number of sensor transmissions. To reduce the overall latency of the system, some data that could be routed through node 102 may be routed around node 102. Thus, data from a sensor such as sensor 118 may be routed to infrastructure nodes 104 and 110, and then to the base node 100, as well as around node 102 by passing to nodes 106, 108, and 112 before going to the base node 100.
To highlight one of the difficulties that can arise with a decentralized approach to routing, suppose a sensor 120 is added to the system. As can be seen, sensor 120 is placed such that association with nodes 102 and 108 is desirable. Sensor 120 may be close enough for communication with node 106 as well, but is clearly closer to node 102. However, if sensor 120 is the newest sensor added to the system, then node 102 may already be carrying the heaviest routing load of the system. If node 102 is already at its capacity for routing load, then node 102 would be unavailable for routing signals from sensor 120. This would require sensor 120 to associate with nodes 106 and 108, and signals passing from sensor 120 to node 106 would be retransmitted to nodes 104 and 110 before reaching the base node 100. The result is inefficient. However, reconfiguring the entire routing table every time a new sensor is added, every time a sensor is removed, every time a sensor loses communication with its associated infrastructure nodes, and every time a sensor that has lost communication regains communication, as well as other times when infrastructure nodes are added and removed, or lose and regain communication, would likely create a cacophony of routing configuration signals. Therefore, with the present invention, an improved solution can be implemented when needed, as determined illustratively in the method shown in
When actual performance falls below a desired threshold, then the system can be reconfigured in either a centralized or decentralized manner. For example, if metrics are generated as explained above with reference to
Any of the devices in the system may be programmed to perform analysis related to the present invention. For example, the base station may perform the analysis. Alternatively, a separate device may be communicatively coupled to the system for performing such analysis. If desired, a base station may gather system performance data and transmit the data to another device that is not part of the system (for example, a device accessible using a wired network accessible by the base station). Because an improved solution may require extra computing capacity, the ability to transmit performance data to a separate device out of the system may aid in allowing system analysis to occur even while the system is operating.
Those skilled in the art will recognize that the present invention may be manifested in a variety of forms other than the specific embodiments described and contemplated herein. Accordingly, departures in form and detail may be made without departing from the scope and spirit of the present invention as described in the appended claims.
The present application is a continuation-in-part of U.S. patent application Ser. No. 10/905,971, entitled WIRELESS ROUTING SYSTEMS AND METHODS, which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
3643183 | Geffe | Feb 1972 | A |
3715693 | Fletcher et al. | Feb 1973 | A |
3758885 | Voorman et al. | Sep 1973 | A |
4264874 | Young | Apr 1981 | A |
4529947 | Biard et al. | Jul 1985 | A |
4614945 | Brunius et al. | Sep 1986 | A |
4812785 | Pauker | Mar 1989 | A |
4843638 | Walters | Jun 1989 | A |
5392003 | Nag et al. | Feb 1995 | A |
5428602 | Kemppainen | Jun 1995 | A |
5428637 | Oliva, Jr. et al. | Jun 1995 | A |
5430409 | Buck et al. | Jul 1995 | A |
5438329 | Gastouniotis et al. | Aug 1995 | A |
5451898 | Johnson | Sep 1995 | A |
5481259 | Bane | Jan 1996 | A |
5642071 | Sevenhans et al. | Jun 1997 | A |
5659303 | Adair, Jr. | Aug 1997 | A |
5726603 | Chawla et al. | Mar 1998 | A |
5767664 | Price | Jun 1998 | A |
5809013 | Kackman | Sep 1998 | A |
5847623 | Hadjichristos | Dec 1998 | A |
5963650 | Simionescu et al. | Oct 1999 | A |
5987011 | Toh | Nov 1999 | A |
6052600 | Fette et al. | Apr 2000 | A |
6058137 | Partyka | May 2000 | A |
6091715 | Vucetic et al. | Jul 2000 | A |
6175860 | Gaucher | Jan 2001 | B1 |
6189044 | Thomson et al. | Feb 2001 | B1 |
6353846 | Fleeson | Mar 2002 | B1 |
6366622 | Brown et al. | Apr 2002 | B1 |
6401129 | Lenander | Jun 2002 | B1 |
6414963 | Gemar | Jul 2002 | B1 |
6624750 | Marman et al. | Sep 2003 | B1 |
6768901 | Osborn et al. | Jul 2004 | B1 |
6785255 | Sastri et al. | Aug 2004 | B2 |
6823181 | Kohno et al. | Nov 2004 | B1 |
6836463 | Garcia-Luna-Aceves et al. | Dec 2004 | B2 |
6836506 | Anderson | Dec 2004 | B2 |
6901066 | Helgeson | May 2005 | B1 |
6954435 | Billhartz et al. | Oct 2005 | B2 |
7007102 | Billhartz et al. | Feb 2006 | B2 |
7027426 | Billhartz | Apr 2006 | B2 |
7031321 | Habetha | Apr 2006 | B2 |
7035207 | Winter et al. | Apr 2006 | B2 |
7085241 | O'Neill et al. | Aug 2006 | B1 |
7280483 | Joshi | Oct 2007 | B2 |
7324824 | Smith et al. | Jan 2008 | B2 |
7397771 | Nakasaku et al. | Jul 2008 | B2 |
7512074 | Strutt et al. | Mar 2009 | B2 |
7522537 | Joshi | Apr 2009 | B2 |
7643467 | Smith et al. | Jan 2010 | B2 |
20020011923 | Cunningham et al. | Jan 2002 | A1 |
20020036987 | Garcia-Luna-Aceves et al. | Mar 2002 | A1 |
20020058502 | Stanforth | May 2002 | A1 |
20020085622 | Dhar et al. | Jul 2002 | A1 |
20020141479 | Garcia-Luna-Aceves et al. | Oct 2002 | A1 |
20030033394 | Stine | Feb 2003 | A1 |
20030053555 | McCorkle et al. | Mar 2003 | A1 |
20030198280 | Wang et al. | Oct 2003 | A1 |
20030204587 | Billhartz | Oct 2003 | A1 |
20040028023 | Mandhyan et al. | Feb 2004 | A1 |
20040029553 | Cain | Feb 2004 | A1 |
20040143842 | Joshi | Jul 2004 | A1 |
20040233882 | Park et al. | Nov 2004 | A1 |
20040253996 | Chen et al. | Dec 2004 | A1 |
20040264372 | Huang | Dec 2004 | A1 |
20050007985 | Park et al. | Jan 2005 | A1 |
20050036486 | Sahinoglu et al. | Feb 2005 | A1 |
20050036616 | Huang et al. | Feb 2005 | A1 |
20050041591 | Duggi et al. | Feb 2005 | A1 |
20050041627 | Duggi | Feb 2005 | A1 |
20050135330 | Smith et al. | Jun 2005 | A1 |
20050157698 | Park et al. | Jul 2005 | A1 |
20050281215 | Budampati et al. | Dec 2005 | A1 |
20050286419 | Joshi et al. | Dec 2005 | A1 |
20060007882 | Zeng et al. | Jan 2006 | A1 |
20070147313 | Braam et al. | Jun 2007 | A1 |
Number | Date | Country |
---|---|---|
673184 | Feb 1990 | CH |
4344172 | Jun 1995 | DE |
0607562 | Jul 1994 | EP |
0893931 | Jan 1999 | EP |
WO 0070572 | Nov 2000 | WO |
Number | Date | Country | |
---|---|---|---|
20060171344 A1 | Aug 2006 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10905971 | Jan 2005 | US |
Child | 11160779 | US |