Claims
- 1. In a wireless network comprising a plurality of nodes, a method for selecting, by a first node, a channel for communicating with a second node, the first node having at least two network interfaces with radios tuned to orthogonal channels, the method comprising:
discovering network interfaces of the second node available for communicating with the first node; with respect to each available network interface of the second node, periodically making a channel quality estimate; and making a channel selection.
- 2. The method of claim 1 wherein discovering available network interfaces comprises:
broadcasting an address resolution protocol request; receiving on a first channel a first address resolution protocol response from the second node; recording medium access control address information contained in the first address resolution protocol response; initially selecting the first channel for communicating with the second node; and for each additional address resolution protocol response received from the second node, recording medium access control address information contained in the additional address resolution protocol response.
- 3. The method of claim 1 wherein discovering available network interfaces is in accordance with a protocol, and wherein discovering available network interfaces further comprises discovering whether the second node is capable of operating in accordance with the protocol.
- 4. The method of claim 3 wherein discovering whether the second node is capable of operating in accordance with the protocol comprises:
sending a channel select message along each known network interface of the second node; if a channel select acknowledgment response is received from each known network interface of the second node, classifying the second node as being capable of operating in accordance with the protocol; if no channel select acknowledgment response is received from a known network interface after expiration of a timeout period, and if a maximum number of unacknowledged retransmissions has not been exceeded, retransmitting a channel select message along the interface; and if a maximum number of unacknowledged retransmissions has been exceeded, classifying the second node as not being capable of operating in accordance with the protocol.
- 5. The method of claim 4 further comprising, if the second node is classified as being capable of operating in accordance with the protocol, but a medium access control address of a known network interface of the second node has not yet been discovered:
sending an address resolution protocol request along the network interface; if an address resolution protocol response is not received before expiration of a timeout period, and if a maximum number of failed retransmissions has not been exceeded, retransmitting an address resolution protocol request; and if a maximum number of unacknowledged retransmissions has been exceeded, considering the network interface to have a disabled radio transceiver.
- 6. The method of claim 1 wherein making a channel quality estimate comprises:
sending a probe message along the network interface; receiving a response to the probe message from the second node; and calculating a round-trip latency time associated with sending the probe message and receiving the response.
- 7. The method of claim 6, further comprising:
computing a smoothed round-trip time (SRTT) value according to a formula: SRTT=α*RTTnew+(1−αa)*SRTTold wherein α is a parameter chosen with a range from 0 to 1, wherein RTTnew is a most recent round-trip latency time measurement, and wherein SRTTold is a previously-computed SRTT value.
- 8. The method of claim 6 wherein the probe message is assigned a highest scheduling priority level so that the probe message may be transmitted ahead of other packets.
- 9. The method of claim 8 wherein the network interface is conformant to IEEE standard 802.11e.
- 10. The method of claim 1 wherein making a channel selection is performed at a time determined by a randomized interval.
- 11. The method of claim 1 wherein making a channel selection comprises
selecting a channel associated with a network interface of the second node having a best channel quality estimate.
- 12. The method of claim 1 wherein making a channel selection comprises:
if a first network interface of the second node has a channel quality estimate that is preferable to channel quality estimates of other network interfaces of the second node, and if the channel quality estimate of the first network interface provides an improvement, above a threshold, over the channel quality estimate of a currently-selected network interface of the second node, selecting the first network interface; and otherwise retaining the currently-selected network interface.
- 13. The method of claim 1, further comprising:
making at least one additional channel selection, wherein communicating with the second node comprises striping data among selected channels.
- 14. The method of claim 1 wherein communicating with the second node comprises forwarding a packet received from a third node.
- 15. The method of claim 1 wherein the wireless network is a multi-hop network, an ad hoc network, an infrastructure network or a wireless community network.
- 16. The method of claim 1 wherein the wireless network is linked to a second network.
- 17. The method of claim 16 wherein the second network is a wired network.
- 18. The method of claim 16 wherein the second network is a wide-area network.
- 19. The method of claim 1 wherein one or more network interfaces in the wireless network conform to IEEE standard 802.11, IEEE standard 802.11a, IEEE standard 802.11b, or IEEE standard 802.11g.
- 20. Computer-readable media storing one or more modules comprising a driver that implements a method for selecting a channel for wireless communication from a first device to a second device, the first device having at least two network interfaces comprising radios tuned to orthogonal channels, the method comprising:
discovering available network interfaces of the second device; with respect to each available network interface of the second device, periodically making a channel quality estimate; and making a channel selection.
- 21. The computer-readable media of claim 20 wherein the driver is an operating system kernel-mode driver.
- 22. A computer-readable medium on which is stored a data structure for use by a first wireless network node in selecting a channel for transmitting data to a second wireless network node in accordance with a protocol, the data structure comprising:
a data field for identifying the second node; a data field for indicating whether the second node is known to use the protocol; a data field for storing a physical address associated with each known network interface of the second node; a data field for storing a channel quality estimate associated with each known network interface of the second node; a data field for identifying a current preferred channel for transmitting data to the second node; a data field for recording a most recent time at which a channel was selected; a data field for recording a most recent time at which a message was either sent to or received from the second node; and a data field for storing times associated with unacknowledged messages.
- 23. The computer-readable medium of claim 22 wherein the data field for identifying the second node stores one of (a) an Internet protocol address, (b) a medium access control address or (c) a DNS name.
- 24. The computer-readable medium of claim 22 wherein the data field for storing a physical address associated with each known network interface of the second node stores a medium access control address.
- 25. A device for deploying as a node in a wireless network, comprising:
a plurality of wireless network interface cards; a network protocol stack comprising a plurality of layers; and a virtual layer within the network protocol stack and above the plurality of wireless network interface cards, the virtual layer presenting a single network interface to higher layers in the network protocol stack.
- 26. The device of claim 25 wherein the wireless network interface cards comprise radio transceivers tunable to orthogonal frequency channels.
- 27. The device of claim 25 wherein the device can be used to forward data from a first wireless network node to a second wireless network node.
- 28. The device of claim 25 wherein the virtual layer is implemented as a data link layer protocol.
- 29. The device of claim 25 wherein the virtual layer is situated below a network layer of the network protocol stack.
- 30. The device of claim 25 wherein one or more wireless network interface cards conform to IEEE standard 802.11.
- 31. The device of claim 25 wherein one or more wireless network interface cards conform to IEEE standard 802.11b.
- 32. The device of claim 25 wherein one or more wireless network interface cards conform to IEEE standard 802.11a.
- 33. The device of claim 25 wherein one or more wireless interface cards conform to IEEE standard 802.11g.
- 34. The device of claim 25 wherein the device is deployable as a node in any one of a multi-hop network, an ad hoc network, an infrastructure network, a wireless mesh network or a wireless community network.
- 35. The device of claim 34 wherein the device is deployable as a mesh router.
- 36. The device of claim 25 wherein the device is deployable as a node in a wireless network that is linked to a second network.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This invention claims priority based on U.S. Provisional Patent Application Serial No. 60/456,128, filed on Mar. 20, 2003, which is hereby incorporated in its entirety by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60456128 |
Mar 2003 |
US |