Techniques for establishing a dynamic ad-hoc wireless network are disclosed. A node transitions between wake and sleep modes during periods defined as beacon intervals. Before a network connection is established and while it is awake, the node transmits network connection request and also listens for network activity. If a beacon or response message is not detected while the node is listening, the node enters sleep mode and thereby conserves power. The node optionally changes the duration of its detection period and/or the time at which it listens for network activity relative to the start of each beacon interval. Information elements are optionally included with transmitted beacons or response messages.
|
1. A method of establishing a wireless ad-hoc network connection, the method comprising:
defining a beacon interval at a first node, said beacon interval having a first subinterval and a second subinterval;
sending a network connection request from said first node during a first portion of said first subinterval;
detecting a network connection request from a second node during a second portion of said first subinterval; and
entering a sleep mode during said second subinterval absent detecting said network connection request from said second node.
14. A device adapted to participate in a wireless ad-hoc network, the device comprising:
a controller configured to define a beacon interval of the device, the beacon interval having a first subinterval and a second subinterval;
a transmitter configured to send a network connection request during a first portion of said first subinterval;
a receiver configured to detect a network connection request from a second device during a second portion of said first subinterval; and
wherein said controller causes the device to enter a sleep mode during said second subinterval absent detecting said network connection request from said second device.
2. The method of
3. The method of
defining a monitoring period spanning an integral number of beacon intervals; and
extending a duration of said first subinterval to one beacon interval following each monitoring period thereby canceling the second subinterval during said one beacon interval following each monitoring period.
4. The method of
establishing a network connection with said second node upon detecting said network connection request from said second node; and
exchanging data with said second node using said network connection.
5. The method of
transmitting an acknowledgement message responsive to said network connection request from said second node;
waiting for a reply from said second node to said acknowledgement message; and
terminating said network connection if said reply is not received within a predetermined amount of time.
6. The method of
suspending said sleep mode for a duration of said network connection.
7. The method of
detecting an acknowledgment message from said second node responsive to said network connection request of said first node; and
establishing a network connection with said second node.
8. The method of
sending a reply to said acknowledgement request enabling said network connection with said second node to be established.
9. The method of
10. The method of
defining a monitoring period, said monitoring period including an integral number of beacon intervals;
wherein, after each monitoring period, a duration of said second portion is changed at said first node from a first value to a second value, and
wherein said second value is determined in relation to said second node to provide detection of a network connection request between said first node and said second node within a predetermined number of beacon intervals.
11. The method of
12. The method of
13. The method of
15. The device of
16. The device of
17. The device of
18. The device of
said controller is configured to wait for a reply from said second device to said acknowledgement message; and
said controller is configured to terminate said network connection if said reply is not received within a predetermined amount of time.
19. The device of
20. The device of
21. The device of
22. The device of
23. The device of
wherein, after each monitoring period, said controller changes a duration of said second portion from a first value to a second value, and
wherein said second value is determined in relation to said second device to provide detection of a network connection request between the devices within a predetermined number of beacon intervals.
24. The device of
25. The device of
26. The device of
|
The present application claims benefit under 35 USC §119(e) of U.S. Provisional Application No. 60/829,594, filed on Oct. 16, 2006, entitled “Power Save Mechanisms for Dynamic Ad-Hoc networks,” the content of which is incorporated herein by reference in its entirety.
The present application is related to U.S. application Ser. No. 11/867,661, filed Oct. 4, 2007, entitled “Automatic Ad-Hoc Network Creation And Coalescing Using WPS”, the content of which is incorporated herein by reference in its entirety.
The present invention relates to wireless communication networks, and more particularly to a protocol for establishing a dynamic ad-hoc wireless network connection.
Wireless fidelity (Wi-Fi) networks are being increasingly used to exchange data. One known Wi-Fi standard, commonly referred to as Wi-Fi Protected Setup (WPS) or Wi-Fi Simple Configuration (WSC), is a Wireless Local Area Network (WLAN) standard that defines the communication modes and the associated configuration protocols for an infrastructure WLAN.
There are three logical components in an infrastructure WSC network, namely a registrar, an access point (AP), and an enrollee. Referring to
Referring to
Referring to
These WSC configurations do not contain provisions for establishing and maintaining dynamic ad-hoc wireless local area networks, but instead focus on the infrastructure mode of WLAN operation. In addition, each assumes that a registrar is always available to service requests while a network is being configured and therefore they do not include a power-saving feature whereby network nodes can minimize power consumption before establishing a network connection. Given the transient nature of ad-hoc wireless networks, many wireless devices spend a substantial amount of time without a network connection. Thus, it would be desirable to enable such devices to conserve power while waiting to establish a network connection. Further, it would also be desirable to maintain a high degree of networking availability while power is being conserved.
In accordance with one embodiment of the present invention, a method of establishing a wireless ad-hoc network connection includes, in part, defining a beacon interval at a first node that has first and second subintervals and sending a network connection request during a first portion of the first subinterval. The method also includes detecting a network connection request from a second node during a second portion of the first subinterval. If a network connection request is not detected, the first node enters a sleep mode during the second subinterval. In an exemplary embodiment, the sleep mode represents more than 90% of the beacon interval. In some embodiments, while in sleep mode, the first node does not detect or send network connection requests.
The method may also include defining a monitoring period having an integral number of beacon intervals and extending the duration of the first subinterval to one full beacon interval after each monitoring period. The second subinterval is canceled during a beacon interval when the first subinterval is extended. In some embodiments, a network connection is established with the second node upon detecting a network connection request from the second node and data is exchanged between nodes using the network connection. The sleep mode may be suspended when a network connection request from the second node is detected.
In additional embodiments, the method includes transmitting an acknowledgement message that is responsive to the network connection request from the second node and waiting for a reply to the acknowledgement message. If the reply is not received within a predetermined amount of time, the network connection may be terminated. In further embodiments, an acknowledgment message from the second node that is responsive to the network connection request of the first node is detected and a network connection is established with the second node.
In accordance with another embodiment of the present invention, a method of establishing a wireless ad-hoc network connection includes, in part, defining a beacon interval having a plurality of subintervals and defining a monitoring period comprising an integral number of beacon intervals. The method further includes sending a network connection request from a first node during a first subinterval and detecting a network connection request from a second node during a second subinterval. Also, the method includes entering a sleep mode of the first node absent detecting the network connection request from the second node. After each monitoring period, a duration of the second subinterval is changed at the first node from a first value to a second value. The second value is determined in relation to the second node to provide for detecting a network connection request between the first and second nodes within a predetermined number of beacon intervals. In an exemplary embodiment, the second value has a duration of approximately ½ of the beacon interval.
In accordance with a further embodiment of the present invention, a method of establishing a wireless ad-hoc network connection includes, in part, defining a beacon interval having a plurality of subintervals with each subinterval corresponding to a different position within the beacon interval. The method also includes sending a network connection request from a first node during a predetermined one of the plurality of subintervals and detecting a network connection request from a second node during one or more of said plurality of subintervals. The first node enters a sleep mode except when detecting or sending a network connection request. Also, the subinterval for detecting the network connection request from the second node rotates within the plurality of subintervals in a round-robin fashion following each beacon interval.
In some embodiments, if a network connection request from the second node is detected, the method further includes identifying an information element (IE) corresponding to the second node in the network connection request from the second node and adding the information element to network connection requests sent from the first node. The first node continues to detect messages from the second node for a predetermined number of subintervals or until a network connection is established. In some embodiments, if the first node detects a network connection request from the second node that includes its own information element, it continues to detect messages from the second node for a predetermined number of subintervals or until a network connection is established. The information elements may represent a network address (such as a MAC address) and may include security credentials used to determine whether a connection should be established.
In accordance with another embodiment of the present invention, a first device adapted to participate in a wireless ad-hoc network is disclosed. The first device includes a controller configured to define a beacon interval of the first device having first and second subintervals. The first device also includes a transmitter configured to send a network connection request during a first portion of the first subinterval and a receiver configured to detect a network connection request from a second device during a second portion of the first subinterval. The controller causes the first device to enter a sleep mode during the second subinterval absent detecting the network connection request from the second device.
In accordance with one embodiment of the present invention, a device adapted to establish a wireless ad-hoc network connection is disclosed. A first device includes, in part, a controller configured to define a beacon interval having first and second subintervals and to define a monitoring period spanning an integral number of beacon intervals. The first device also includes a transmitter configured to send a network connection request during a first portion of the first subinterval and a receiver configured to detect a network connection request from a second device during a second portion of the first subinterval. The controller causes the first device to enter a sleep mode during the second subinterval absent detecting the network connection request from the second device. After each monitoring period, the controller changes a duration of the second subinterval from a first value to a second value. The second value is determined in relation to the second device to provide detection of a network connection requests between the first and second devices within a predetermined number of beacon intervals.
In accordance with a further embodiment of the present invention, a device adapted to establish a wireless ad-hoc network connection is disclosed. A first device includes a controller configured to define a beacon interval having a plurality of subintervals such that each subinterval corresponds to a position within the beacon interval. The first device also includes a transmitter configured to send a network connection request during a predetermined one of the plurality of subintervals and a receiver configured to detect a network connection request from a second device during one of the plurality of subintervals. The controller causes the first device to enter a sleep mode except when detecting or sending a network connection request. Also, the subinterval for detecting a network connection request from the second node rotates within the plurality of subintervals in a round-robin fashion following each beacon interval.
A device in accordance with one embodiment of the present invention includes, in part, means for defining a beacon interval that has first and second subintervals and means for sending a network connection request during a first portion of the first subinterval. The device also includes means for detecting a network connection request from a second node during a second portion of the first subinterval. If a network connection request is not detected, the device employs means for entering a sleep mode during the second subinterval. In an exemplary embodiment, the sleep mode represents more than 90% of the beacon interval. In some embodiments, while in sleep mode, the device does not detect or send network connection requests.
The device may also include means for defining a monitoring period having an integral number of beacon intervals and means for extending the duration of the first subinterval to one full beacon interval after each monitoring period. The device may further include means for canceling the second subinterval during a beacon interval when the first subinterval is extended. In some embodiments, means for establishing a network connection with the second node upon detecting a network connection request from the second node are included as well as means for exchanging data with the second node using the network connection. The device may also include means for suspending the sleep mode when a network connection request from the second node is detected.
In additional embodiments, the device may include means for transmitting an acknowledgement message that is responsive to the network connection request from the second node and means for waiting for a reply to the acknowledgement message. The device may further include means for terminating the network connection if the reply is not received within a predetermined amount of time.
In accordance with another embodiment of the present invention, a device for establishing a wireless ad-hoc network connection includes, in part, means for defining a beacon interval having a plurality of subintervals and means for defining a monitoring period comprising an integral number of beacon intervals. The device further includes means for sending a network connection request during a first subinterval and means for detecting a network connection request from a second node during a second subinterval. Also, the device includes means for entering a sleep mode absent detecting the network connection request from the second node. The device includes means for changing a duration of the second subinterval from a first value to a second value.
In accordance with a further embodiment of the present invention, a device for establishing a wireless ad-hoc network connection includes, in part, means for defining a beacon interval having a plurality of subintervals with each subinterval corresponding to a different position within the beacon interval. The device also includes means for sending a network connection request during a predetermined one of the plurality of subintervals and means for detecting a network connection request from a second node during one or more of said plurality of subintervals. The device includes means for entering a sleep mode when not detecting or sending a network connection request. Also, the device includes means for rotating the subinterval for detecting the network connection request from the second node within the plurality of subintervals in a round-robin fashion following each beacon interval.
In some embodiments, if a network connection request from the second node is detected, the device further includes means for identifying an information element (IE) corresponding to the second node in the network connection request from the second node and means for adding the information element to network connection requests sent from the device. The device includes means for detecting messages from the second node for a predetermined number of subintervals or until a network connection is established. In some embodiments, if the device detects a network connection request from the second node that includes the information element of the device, it continues to detect messages from the second node for a predetermined number of subintervals or until a network connection is established. The information elements may represent a network address (such as a MAC address) and may include security credentials used to determine whether a connection should be established.
In accordance with an embodiment of the present invention, a computer-readable medium encoded with one or more sequences of one or more instructions for establishing a wireless ad-hoc network is disclosed. The computer-readable medium includes instructions which, when executed by one or more processors, cause the one or more processors to perform steps of defining a beacon interval at a first node that has first and second subintervals and sending a network connection request during a first portion of the first subinterval. The medium also includes instructions for detecting a network connection request from a second node during a second portion of the first subinterval. The medium includes instructions for causing the first node to enter a sleep mode during the second subinterval if a network connection request from the second node is not detected. In an exemplary embodiment, the sleep mode represents more than 90% of the beacon interval. In some embodiments, the medium includes instructions such that, while in sleep mode, the first node does not detect or send network connection requests.
The computer-readable medium may also include instructions for defining a monitoring period having an integral number of beacon intervals and extending the duration of the first subinterval to one full beacon interval after each monitoring period. The medium may include instructions for canceling the second subinterval during a beacon interval when the first subinterval is extended. In some embodiments, the medium includes instructions for establishing a network connection with the second node upon detecting a network connection request from the second node and exchanging data between nodes using the network connection. The medium may include instructions for suspending the sleep mode of the first node when a network connection request from the second node is detected.
In additional embodiments, the computer-readable medium includes instructions for transmitting an acknowledgement message that is responsive to the network connection request from the second node and waiting for a reply to the acknowledgement message. The medium may also include instructions for terminating the network connection if the reply is not received within a predetermined amount of time. In further embodiments, the medium includes instructions for detecting an acknowledgment message from the second node that is responsive to the network connection request of the first node and establishing a network connection with the second node.
In accordance with another embodiment of the present invention, a computer-readable medium encoded with one or more sequences of one or more instructions for establishing a wireless ad-hoc network is disclosed. The computer-readable medium includes instructions which, when executed by one or more processors, cause the one or more processors to perform steps of defining a beacon interval having a plurality of subintervals and defining a monitoring period comprising an integral number of beacon intervals. The medium further includes instructions for sending a network connection request during a first subinterval and detecting a network connection request from a second node during a second subinterval. Also, the medium includes instructions for entering a sleep mode absent detecting the network connection request from the second node. The medium also includes instructions for changing a duration of the second subinterval from a first value to a second value after each monitoring period.
In accordance with a further embodiment of the present invention, a computer-readable medium encoded with one or more sequences of one or more instructions for establishing a wireless ad-hoc network is disclosed. The computer-readable medium includes instructions which, when executed by one or more processors, cause the one or more processors to perform steps of defining a beacon interval having a plurality of subintervals and defining a monitoring period comprising an integral number of beacon intervals. The medium further includes instructions for sending a network connection request from a first node during a first subinterval and detecting a network connection request from a second node during a second subinterval. Also, the medium includes instructions for entering a sleep mode of the first node absent detecting the network connection request from the second node. The medium includes instructions for changing a duration of the second subinterval at the first node from a first value to a second value after each monitoring period. The second value is determined in relation to the second node to provide for detecting a network connection request between the first and second nodes within a predetermined number of beacon intervals. In an exemplary embodiment, the second value has a duration of approximately ½ of the beacon interval.
In accordance with a further embodiment of the present invention, a computer-readable medium encoded with one or more sequences of one or more instructions for establishing a wireless ad-hoc network is disclosed. The computer-readable medium includes instructions which, when executed by one or more processors, cause the one or more processors to perform steps of defining a beacon interval having a plurality of subintervals with each subinterval corresponding to a different position within the beacon interval. The medium also includes instructions for sending a network connection request from a first node during a predetermined one of the plurality of subintervals and detecting a network connection request from a second node during one or more of said plurality of subintervals. The medium includes instructions for causing the first node to enter a sleep mode except when detecting or sending a network connection request. Also, the medium includes instructions for rotating the subinterval for detecting the network connection request from the second node within the plurality of subintervals in a round-robin fashion following each beacon interval.
In some embodiments, the computer-readable medium includes instructions for identifying an information element (IE) corresponding to the second node in the network connection request from the second node and adding the information element to network connection requests sent from the first node if a network connection request from the second node is detected. The medium also includes instructions for causing the first node to continue detecting messages from the second node for a predetermined number of subintervals or until a network connection is established. In some embodiments, the medium includes instructions such that if the first node detects a network connection request from the second node that includes its own information element, the first node continues to detect messages from the second node for a predetermined number of subintervals or until a network connection is established. The information elements may represent a network address (such as a MAC address) and may include security credentials used to determine whether a connection should be established.
Techniques for establishing a dynamic ad-hoc wireless network are disclosed. A node transitions between wake and sleep modes during periods defined as beacon intervals. Before a network connection is established and while it is awake, the node transmits network connection request and also listens for network activity. If a beacon or response message is not detected while the node is listening, the node enters sleep mode and thereby conserves power. The node optionally changes the duration of its detection period and/or the position relative to the start of each beacon interval at which it listens for network activity. Information elements are optionally included with the transmitted beacons or response messages.
Nodes 100, 140 establish a network connection by periodically transmitting a network connection request. The network connection request is hereinafter alternatively described as a beacon or probe without loss of generality. Thus, for example, a node operating in registrar mode may transmit a beacon announcing its availability and, in some cases, indicating its networking capabilities. Similarly, a node operating in enrollee mode may transmit a probe-request seeking to locate a registrar and to establish a network connection. In some embodiments, each node 100, 140 is capable of functioning either as a registrar or an enrollee and their respective roles are determined as part of the connection process. Also, in some embodiments, a node functioning as an enrollee may synchronize its internal clocks and timers to a signal generated by the node functioning as the registrar during the connection process.
Network connection requests are typically transmitted as broadcast messages and may include an information element (IE) specific to the transmitting node. In some embodiments, the information element may include an OSI (open systems interconnection) Layer 2 address of the node such as its MAC (media access control) address. Different or additional information elements such as PIN codes and security credentials may also be included as part of the network connection request.
In some embodiments, nodes 100, 140 are battery powered devices for which conserving power is an important consideration. Specifically, conserving power before a network connection has been established may be particularly important as nodes 100, 140 can spend a substantial amount of time in a transient, disconnected state. For example, in a remote entry system for an automobile, node 100 may represent a battery-powered controller and node 140 may represent a base unit mounted in the automobile. A driver may carry the controller in his or her pocket and it may be outside of the communication range of the base unit for a considerable amount of time. In this situation, it is desirable to conserve battery power so that, upon returning to the automobile, the controller can establish a connection with the base unit and unlock the doors or perform other useful functions. Conventional power-saving protocols do not address this dynamic, ad-hoc wireless networking situation where nodes may roam about seeking to establish a network connection.
Nodes 100, 140 share responsibility for generating beacons and thereby establishing a network connection. In some embodiments, before a network connection is established, each node 100, 140 is awake while transmitting its beacon and for a period of time while it listens for network activity. At all other times, nodes 100, 140 enter a sleep mode to save power. While in the sleep mode, nodes 100, 140 do not transmit or receive network messages. By alternating between wake and sleep modes, power consumption is reduced. However, unlike conventional systems, a registrar node according to the present invention is not available to accept a network connection if it is in a sleep mode.
In some embodiments, nodes 100, 140 transition between wake and sleep modes at regular intervals. A beacon interval (BI) may be defined as a basic unit of time during which a node 100, 140 is operational. Beacon intervals may be further divided into (1) an active subinterval during which a node is either transmitting a network connection request or listening for network activity and (2) a sleep subinterval during which a node is conserving power by not transmitting or receiving network messages.
Referring to
In this dynamic ad-hoc context, the maximum time required for nodes to detect a network connection request and to begin establishing a network connection can be measured in terms of beacon intervals. Thus, as will be described in further detail, embodiments of the present invention seek to minimize node power consumption before a network connection has been established while also limiting the amount of time required for nodes to locate each other and begin the process of establishing a network connection. In this regard, saving power and limiting connect times may be seen as competing considerations. Trade-offs between these considerations are reached according to the various embodiments of the present invention.
At step 320, the node wakes up during its sniff subinterval and transmits a beacon. As previously noted, the beacon represents a network connection request and may be generated by a node acting as a network registrar. Alternatively, the beacon may be generated by an enrollee node seeking to locate a registrar. In the later case, the beacon may be described as probe-request. The node also listens for network activity during the sniff interval as indicated at step 330. Although shown in sequence, listening for network activity may optionally precede transmitting the beacon. In one embodiment, the duration of the sniff period is approximately 3.2 ms.
While listening for network activity, the node may detect a network connection request transmitted by another node. The network connection request may represent a beacon generated by the other node or it may represent a response to the transmitted beacon. For example, the other node may have detected a beacon transmitted at step 320 during a preceding beacon interval and may have responded. The response may then be detected during the current beacon interval. If either type of network connection request is detected, the node responds by establishing a network connection 340 with the requesting node. Alternatively, if a network connection request is not detected, at step 350, the node enters a sleep mode. In an exemplary embodiment, the node may operate in the sleep mode for more than 90% of each beacon interval.
At step 405, a monitoring period, beacon interval, and sniff subinterval are defined for the node. The beacon interval and sniff subinterval are as previously described. The monitoring period represents a predetermined amount of time and may, in some embodiments, be set equal to an integral number of beacon intervals. For example, each node may include a timer to measure its corresponding beacon interval and a counter that is incremented as the beacon interval timer expires. When the counter reaches a predetermined value, the end of a monitoring period is indicated. As persons of skill in the art will recognize, control logic for the monitoring period, beacon interval, and sniff interval may be implemented by various combinations of hardware, software, and firmware.
A new beacon interval begins at step 410. In some cases, the sniff interval may coincide with the beginning of the new beacon interval. For example, the sniff interval may be aligned to each beacon interval such that a node transmits its network connection request at the start of the current beacon period. In other cases, the sniff interval may be offset into the beacon period by a particular amount and the node may sleep during the start of each beacon period until the start of the sniff interval is detected. This activity is shown in step 415.
At step 420, the node wakes up and transmits its beacon during a first part of the sniff interval. Thereafter, at step 425, it listens for network activity during a second part of the sniff interval. If a network connection request is detected during the listening period 430, the node commences to negotiate a network connection with the requesting node 450. It will be appreciated that the network connection request may also be rejected based upon access criteria and security measures in place at the detecting node. For example, although not shown, the detecting node may accept the network connection request if it contains a predetermined information element and may reject the network connection request if the information element is not present. In some configurations, a node may reject a network connection request by simply ignoring it and not sending an acknowledgement message. In other configurations, the node may reject the connection request by sending a denial message to the requesting node.
If a connection request was not detected at step 430, the node determines whether the sniff interval has expired 435. If the sniff interval has not expired, the node continues to listen for network activity. On the other hand, if the sniff interval has expired, at step 440 the node determines whether the current beacon interval has also expired. For the remaining portion of the beacon interval, the node sleeps 445 and continues to check whether the current beacon interval has ended. For example, the node may monitor a timer value and, upon expiration of the timer, determine that the beacon interval has elapsed.
When the end of the current beacon interval is detected, at step 455, the node determines whether the monitoring period has also expired. By way of illustration, if a monitoring period is defined to include four beacon intervals, the node may increment a counter at the expiration of each and then check whether the value of the counter is four. If so, then the monitoring period has expired. Otherwise, the monitoring period has not expired and, at step 410, a new beacon interval commences.
If, at step 455, it is determined that the monitoring period has expired, the duration of the sniff subinterval is extended to one full beacon interval effective during the next beacon interval. In other words, following each monitoring period, the node remains awake for one full beacon interval and then resumes a normal wake-sleep cycle. In some embodiments, an additional time (Δt) is added to the extended sniff interval based upon the time required to establish a network connection. Additional time Δt addresses boundary cases and ensures full coverage of the beacon interval. Thus, by periodically extending the sniff interval, a network connection request between nodes is guaranteed to be detected within a fixed number of beacon intervals. In the example given, a network connection request between two nodes will be detected within four beacon intervals.
At the start of beacon interval B1, node A transmits a network connection request at time T1 and then listens for network activity until time T2. Node A is assumed not to detect network activity during sniff subinterval (T1, T2). For example, there may not be other nodes in proximity to node A capable of participating in a dynamic, ad-hoc wireless network. At time T3, toward the end of beacon interval B1, node B transmits its beacon. However, at time T3, node A has entered sleep mode and does not detect node B's beacon.
At time T4, node A wakes up and transmits its beacon to start beacon interval B2. Time T4 falls within node B's sniff interval. Thus, node B detects node A's beacon. Starting at time T5, node A and node B establish an ad-hoc network connection and exchange data using the network connection. When the data exchange has been completed, the network connection is terminated. At time T7, both node A and node B enter a sleep mode.
While node A and node B are establishing a network connection and exchanging data, node C transmits its beacon at time T6. Node C's beacon is not detected by node A and therefore a network connection is not established. At time T8, node A transmits its beacon to start new beacon interval B3. However, at this time, node C has entered sleep mode and does not detect node A's beacon. Node C's subsequent sniff interval (T9, T10) occurs approximately in the middle of beacon interval B3 and is thus skewed in relation to the position of node A's sniff interval. This skew is sufficient to prevent node A and node C from establishing a network connection at their respective (non-extended) sniff intervals.
As beacon interval B4 begins, node A's monitoring period expires. As illustrated, the sniff interval of node A is then extended to cover the entire duration of B4 and an additional period Δt to catch boundary cases. Thus, because its sniff period was extended, node A is awake at time T11 and is able to detect node C's beacon. A network connection between node A and node C is then established and data is exchanged between the nodes. Node A continues to be awake into the next beacon interval as shown.
According to this embodiment, node A conserves power by sleeping for a substantial portion of beacon intervals B1-B3 and then remaining awake during beacon interval B4 to ensure detection of network connection requests even when the requests are skewed in time. In an exemplary embodiment, when not connected, each node may remain in sleep mode for 97% of the regular beacon intervals.
With reference to
As illustrated, during beacon interval B1, node A transmits a network connection request, listens for network activity, and then sleeps. Node B and node C do not transmit during B1 and thus are not detected by node A. During beacon intervals B2 and B3, all three nodes transmit but no network connection is established due to the skew of their respective transmission and detection times.
At beacon interval B4, however, node A extends its sniff interval to cover ½ of the beacon interval and an additional amount related to the network connection time. As a result of extending its sniff interval, node A is awake at time T1 and detects node B's beacon. Node A and node B are thus able to establish a network connection and exchange data using the network connection. The connection is then terminated at T3 and node A resumes its regular sniff interval for beacon intervals B5-B7.
Similarly, at time T4, node C's monitoring period expires and it extends the duration of its sniff interval. Node A has resumed its regular sniff intervals and transmits its beacon at time T4 as beacon interval B6 begins. Because node C has extended its sniff interval, node C detects node A's beacon and the two nodes are able to establish a network connection. As shown, node A and node C establish a connection and exchange data during (T5, T6).
At step 705, a number of subintervals is defined for each beacon interval. The number of subintervals, for example, controls the granularity of the transmit and listening periods. The position of the transmit period (TI) within each beacon interval is also set along with an initial position of the listening period (LI). For example, each beacon interval may be divided into four subintervals (e.g., 0, 1, 2, 3). The first subinterval may be set as the transmit period (TI) and the second subinterval may be set as the initial value of the listening period (LI). When the transmit period and the listening period occupy the same subinterval, for example, a node may transmit during a first portion of the subinterval and then listen during the remaining portion of the subinterval in a manner similar to the sniff interval described in the preceding embodiments.
A beacon interval begins at step 710 and a time measurement is taken 715. For example, a timer or counter may be reset at the beginning of each beacon interval. Then, from time to time during the beacon interval, the value of the timer/counter (CT) may be read and used to identify the current subinterval and to control events. At step 720, the node detects whether it is time to transmit. If it is time to transmit then, at step 725, the node transmits its beacon; otherwise, processing continues at step 730.
At step 730, the node determines whether it is time to listen for network activity with reference to the current time value. The network activity may include, for example, a beacon from a second node requesting a network connection or a response to a previously transmitted beacon. If it is not time to listen for network activity then, at step 755, the node enters sleep mode. Otherwise, processing continues at step 740.
If a network connection request/response is detected then, at step 745, the node remains awake and proceeds to establish a network connection. In some embodiments, when a beacon is detected, the node modifies its beacon to include an information element (IE) from the detected beacon and transmits the modified beacon for a predetermined time or until a network connection is established. The node may remain awake to facilitate a network connection. The modified beacon signals to the detected node that its beacon was received. The modified beacon may also signal to the detected node that is should remain awake and proceed to establish the network connection. Similarly, the node may detect its own information element in a beacon thereby confirming that another node wishes to establish a connection. In such case, at step 745, the node remains awake while the connection is established. Through this exchange mechanism, two nodes operate to suspend their respective sleep modes while a connection is established.
If a network connection request/response was not detected, then at step 750 the node determines whether the listening period has expired. For example, the listening period may include one or more subintervals of the beacon interval. At step 750, the node may read the value of a timer and/or perform a comparison with a counter value to determine whether the listening period is complete. If the listening period is complete, the node enters sleep mode; otherwise, the node continues to listen for network activity.
While in sleep mode, the node periodically checks whether the current beacon interval has expired. This is shown at step 760. If the beacon interval has not expired, processing continues at step 715 and the node again checks whether it is time to listen or transmit. If, however, the current beacon interval has expired, then at step 765 the node changes the listening period to a new location for the next beacon interval. In some embodiments, for example, the listening period rotates in a round-robin fashion through the subintervals so that all subintervals are covered within a predetermined number of beacon intervals. Thus, the listening period moves at each new beacon interval.
At beacon interval B3, node A again transmits its beacon during subinterval 0 and again changes its listening period so that node A is listening during subinterval 2. Node B continues to transmit its beacon at subinterval 2 and changes its listening period to subinterval 3. Because node A is listening, it detects node B's beacon during subinterval 2 and recognizes node B's information element. Node A transmits a modified beacon during subinterval 0 of B4 including node B's information element to signify that it has heard node B's beacon and remains awake to while network connection is established. Node B detects node A's modified beacon during subinterval 0 of B4 and proceeds to establish the connection.
In
Transmitter 1005 is configured to transmit a network connection request and to transmit response messages while an ad-hoc network connection is being established or negotiated. Transmitter 1005 may also be used to exchange data using the network connection. Receiver 1010 detects wireless network activity and is configured for use in establishing an ad-hoc network connection. Receiver may also be configured to participate in data exchanges with other nodes. Transmitter 1005 and receiver 1010 are powered by power supply 1025 when active.
Control logic 1015 controls transmitter 1005 and receiver 1010. Timers 1020 measure various intervals of time during which device 1000 is operational. In some embodiments, control logic 1015 causes device 1000 to switch between active and sleep modes of operation with reference to one or more values of timers 1020. For example, control logic 1015 may define a beacon interval, sniff interval, and monitoring period as previously discussed. During active mode, control logic 1015 may cause power supply 1025 to energize receiver 1010 and transmitter 1005 so that network connection requests and be detected and sent respectively. While node 1000 is in sleep mode, however, control logic 1015 may de-energize transmitter 1005 and receiver 1010 to conserve power. Control logic 1015 may include a number of modules or logic blocks configured to facilitate ad-hoc network connections and to conserve power. In various embodiments, power supply 1025 is a battery and control logic 1015 operates to extend battery life while preserve the availability of device 1000 to establish network connections.
The above embodiments of the present invention are illustrative and not limiting. Various alternatives and equivalents are possible. Other additions, subtractions or modifications are obvious in view of the present disclosure and are intended to fall within the scope of the appended claims.
Chhabra, Kapil, Kopikare, Rahul, Kopikare, Milind
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
4959847, | Apr 05 1989 | Ultratec, Inc. | Telecommunications device with automatic code detection and switching |
5488693, | Jun 24 1992 | AVAYA Inc | Protocol with control bits and bytes for controlling the order of communications between a master processor and plural slave processors |
5738583, | Feb 02 1996 | Google Technology Holdings LLC | Interactive wireless gaming system |
5850592, | Jan 11 1996 | Raytheon BBN Technologies Corp | Method for self-organizing mobile wireless station network |
5877701, | Sep 26 1995 | NEC Corporation | Radio pager reporting frequency band information |
6453181, | Nov 04 1999 | Qualcomm, Incorporated | Method and apparatus for compensating for frequency drift in a low frequency sleep clock within a mobile station operating in a slotted paging mode |
6524189, | Jul 09 1999 | Nokia Technologies Oy | Multi-player game system using mobile telephone and game unit |
6975613, | Dec 06 1999 | Telefonaktiebolaget LM Ericsson | System and method for scheduling communication sessions in an ad-hoc network |
6980522, | Feb 03 2000 | UNILOC 2017 LLC | Ad-hoc radio communication system |
7095732, | Apr 12 2002 | Raytheon BBN Technologies Corp | Quality of service based media access control for mobile ad hoc networks |
7110366, | Aug 27 1997 | UNILOC 2017 LLC | Apparatus and method for peer-to-peer link monitoring of a wireless network with centralized control |
7120456, | Nov 07 2001 | Raytheon BBN Technologies Corp | Wireless terminals with multiple transceivers |
7158798, | Feb 28 2003 | BEIJING XIAOMI MOBILE SOFTWARE CO ,LTD | Location-based ad-hoc game services |
7257721, | Aug 03 2004 | VIA Technologies, Inc. | System and method of power management |
7496065, | Nov 29 2001 | NYTELL SOFTWARE LLC | Efficient piconet formation and maintenance in a Bluetooth wireless network |
7505795, | Jul 07 2004 | Advanced Micro Devices, Inc. | Power save management with customized range for user configuration and tuning value based upon recent usage |
7515897, | Dec 19 2003 | Fujitsu Toshiba Mobile Communications Limited | Communication apparatus |
7899017, | Jan 05 2005 | International Business Machines Corporation | Switching between two communication modes in a WLAN |
7978647, | Nov 29 2001 | NYTELL SOFTWARE LLC | Efficient piconet formation and maintenance in a bluetooth wireless network |
20010055950, | |||
20020013784, | |||
20020061743, | |||
20020091790, | |||
20020103019, | |||
20020107985, | |||
20020147044, | |||
20020159401, | |||
20020176366, | |||
20030023761, | |||
20030041150, | |||
20030078062, | |||
20030084337, | |||
20030099212, | |||
20030163579, | |||
20040081110, | |||
20040127289, | |||
20040139159, | |||
20040146022, | |||
20040259542, | |||
20050122940, | |||
20050129055, | |||
20050138462, | |||
20050268151, | |||
20050286464, | |||
20050286480, | |||
20060013160, | |||
20060135261, | |||
20060154710, | |||
20060179322, | |||
20060221915, | |||
20060246947, | |||
20060251004, | |||
20060259632, | |||
20060282541, | |||
20070030824, | |||
20070105548, | |||
20070141988, | |||
20070155505, | |||
20070190494, | |||
20070202890, | |||
20070265018, | |||
20080013487, | |||
20080019522, | |||
20080037444, | |||
20080037495, | |||
20080043868, | |||
20080108437, | |||
20080146337, | |||
20080164984, | |||
20080167865, | |||
20080172491, | |||
20080220878, | |||
20090011834, | |||
20090180441, | |||
20090210531, | |||
20090279506, | |||
CN1375772, | |||
CN1522503, | |||
CN1842000, | |||
EP1622319, | |||
JP2003289277, | |||
JP2004135778, | |||
JP2004136009, | |||
JP2004141225, | |||
JP2006050020, | |||
JP2006086959, | |||
JP2006148448, | |||
WO3003610, | |||
WO2005076543, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Oct 04 2007 | Marvell International Ltd. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Date | Maintenance Schedule |
Jun 05 2015 | 4 years fee payment window open |
Dec 05 2015 | 6 months grace period start (w surcharge) |
Jun 05 2016 | patent expiry (for year 4) |
Jun 05 2018 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jun 05 2019 | 8 years fee payment window open |
Dec 05 2019 | 6 months grace period start (w surcharge) |
Jun 05 2020 | patent expiry (for year 8) |
Jun 05 2022 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jun 05 2023 | 12 years fee payment window open |
Dec 05 2023 | 6 months grace period start (w surcharge) |
Jun 05 2024 | patent expiry (for year 12) |
Jun 05 2026 | 2 years to revive unintentionally abandoned end. (for year 12) |