Method and system for power management in an ad hoc network

A method and system may transmit during a traffic indication window, such as an ATIM window, a frame indicating a power management mode and may then transition to the power management mode, possibly before the end of the traffic indication window. Another method and system may receive or transmit during a beacon interval an indicator of a desire to enter a sleep state, then transmit or receive an indicator of a desire to enter the sleep state, and then enter the sleep state prior to the end of the beacon interval. Other embodiments are described and claimed.

BACKGROUND

Electronic devices such as wireless stations often operate in a network communicating with each other. For more interoperability, these stations may communicate according to a standard protocol, such as the IEEE 802.11 standard as described in one or more specifications such as “IEEE Standard for Information technology—Telecommunications and information exchange between systems—Local and metropolitan area networks—Specific requirements, Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications,” IEEE Std 802.11-2007, published Jun. 12, 2007. These wireless stations often are mobile and may manage their power modes.

It will be appreciated that for simplicity and clarity of illustration, elements shown in the drawings have not necessarily been drawn accurately or to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity or several physical components may be included in one functional block or element. Further, where considered appropriate, reference numerals may be repeated among the drawings to indicate corresponding or analogous elements. Moreover, some of the blocks depicted in the drawings may be combined into a single function.

DETAILED DESCRIPTION

Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining,” or the like refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission, or display devices. In addition, the term “plurality” may be used throughout the specification to describe two or more components, devices, elements, parameters, and the like.

Embodiments of the present invention may be used in a variety of applications. Although the present invention is not limited in this respect, the circuits and techniques disclosed herein may be used in many apparatuses such as personal computers (PCs), wireless devices or stations, video or digital game devices or systems, image collection systems, processing systems, visualizing or display systems, digital display systems, communication systems, and the like.

Reference is now made toFIG. 1A, a conceptual illustration of a network10capable of operating in a wireless mode according to embodiments of the invention. Network10may be a wireless network, a wireless local area network (WLAN), a peer-to-peer network, an ad hoc network, or an independent basic service set (IBSS) that may operate according to IEEE 802.11 standard (“802.11”). (These networks and network types are not mutually exclusive.) Although the invention is not limited in this respect, network10may include a plurality of stations (called “STA” in 802.11) STA1, STA2, STA3(or more or fewer stations) that are capable of communicating with each other wirelessly. STAs1,2,3can be personal computers (PCs) with wireless adapters, wireless devices, cell phones, personal digital assistants (PDAs), printers, display systems, image collection and/or processing systems, just to name a few. Other network devices may also be included in network10.

Reference is now made toFIG. 1B, which is a conceptual illustration of a station STA (e.g., STA1,2, or3) within network10, according to embodiments of the invention. Such station may include wireless communications unit102(coupled to antenna103), input104, output106, processor108, and memory110. Using such blocks, STA may communicate with other stations and other wireless devices according to embodiments of the invention, such as by using processor108and wireless communications unit102(and possibly antenna103) to transmit and/or receive signals. Input104and output106may also be used to communicate with other devices. Memory110may be a computer or processor readable medium or a computer or processor storage medium, such as, for example, a RAM or RAM, a disk drive, or a USB flash memory.

Reference is now made toFIGS. 2A-2C, which are timing diagrams illustrating embodiments of the invention.FIG. 2Ashows a beacon interval201, at the beginning of which beacon (or beacon frame)202is transmitted. The “beacon interval,” also known as the target beacon transmission time (TBTT), is one of the bases for timing of packet transmission in 802.11. At the beginning of beacon interval201is announcement traffic indication message (ATIM, also called “ad-hoc traffic indication message”) window205. ATIM window205is the part of the beacon interval in which wireless STAs may signal to each other that there is data to be transmitted from one STA to another.

In a wireless network such as network10, STAs may be in a power-saving or an “active” mode. In a power-saving mode, the STA is sometimes awake and sometimes asleep (often called “doze” or “sleep” or “standby” states). In this mode, STAs wake up just prior to the beacon interval and look to see whether other STAs want to transmit data to them, as indicated by another STA transmitting an ATIM frame (also called an “ATIM management frame” or simply an “ATIM”) during the ATIM window. If no ATIM frame is transmitted to the STA, and the STA does not want to transmit data to other STAs, the STA can go back to the doze state at the end of the ATIM window. In active mode, the STA is awake all the time.

In one embodiment of the present invention, a STA, e.g., STA1, may communicate to the other STAs in the network a change in its power management mode (to power-saving or to active mode). As shown illustratively inFIG. 2A, after beacon212, STA1may transmit null data frame214within ATIM window205. Null data frame214(which can be a non-QoS (quality of service) or a QoS (quality of service) null data frame) includes only a frame header (no frame body), which contains significantly fewer bits than a full frame. Within null data frame214may be a power management bit indicating that the STA is transitioning to power-saving mode (e.g., if the bit=1) or is transitioning to active mode (e.g., if the bit=0). The power management (PM) bit in data frames indicates the power management mode in which the STA will be at the end of the frame exchange.

If STA2receives null data frame214, in response it may transmit back to STA1acknowledgment frame224. Once STA1receives acknowledgment frame224, STA1may enter or transition to the different power management mode280(e.g., to power-saving mode or to active mode). If the change is to power-saving mode, STA1may enter the doze state after the end of ATIM window205.

Transmitting a null data frame during the ATIM window may reduce overhead compared with transmitting an ATIM frame and a null data frame after the ATIM window. In addition, since all STAs are awake during the ATIM window, all STAs will be aware of the power management mode transition announcement. If a power management mode transition announcement were made using an ATIM frame and a null data frame after the ATIM window, STAs that have returned to the doze state would not be aware of such transition announcement. Other or different benefits may also be achieved.

If there are more than two STAs, STA1may announce a change in its power management mode to the other STAs in a similar manner. As shown illustratively inFIG. 2B, STA1may transmit null data frame214within ATIM window205to STA2and null data frame215to STA3, where the power management bit of frames214and215may be the same. STA2receives null data frame214and in response may transmit back to STA1acknowledgment frame224, and STA3receives null data frame215and in response may transmit back to STA1acknowledgment frame235. Once STA1receives acknowledgment frames224and235, STA1may enter or transition to the different power management mode282. If the change is to power-saving mode, STA1may enter the doze state after the end of ATIM window205.

FIGS. 2A and 2Billustrate a unicast manner of transmission of a change in a station's power management mode. Alternatively, STA1could announce a change in its power management mode to the other STAs in a broadcast or multicast manner. As shown illustratively inFIG. 2C, STA1may broadcast null data frame217within ATIM window205to all the other STAs in network10. STA1may enter or transition to the different power management mode284immediately after broadcast of null data frame217.

In other embodiments, due to the possibility that not all of the STAs in network10receive null data frame217, if STA1wants to more reliably announce its power management mode change to the other STAs in network10, STA1may broadcast more than one null data frame (e.g., null data frames217and218and possibly219or more) within ATIM window205to all the other STAs in network10and then may enter or transition to the different power management mode286immediately after broadcast of null data frame218or the different power management mode288immediately after broadcast of null data frame219. In each of these broadcast embodiments, if STA1enters or transitions to power-saving mode, it may then enter the doze state after the end of ATIM window205. Depending on how many times STA1broadcasts a null data frame, other or different benefits may be achieved.

Reference is now made toFIGS. 3A and 3B, which show methods of announcing a change in a station's power management mode according to embodiments of the invention. Embodiments of the method may be used by, or may be implemented by, for example, STAs1,2, or3in network10, or computing systems other suitable systems, or by other suitable wireless communication devices, stations, nodes, systems and/or networks.

InFIG. 3A, as indicated in operation305, a station such as STA1,2, or3may transmit to another STA in network10a null data frame during an ATIM window. This null data frame may include a power management bit indicating a change in power management mode. After receiving the null data frame, in operation310the receiving STA may transmit an acknowledgment frame back to the announcing STA, which receives the acknowledgment frame in operation315. In operation320, the announcing STA determines whether all STAs have been notified and all ACKs have been received. If not, the announcing STA returns to operation305and transmits a null data frame to another STA, which transmits its ACK frame (operation310) to the announcing STA, which receives that ACK (operation315). The loop continues if there are more STAs to be notified. If no more STAs need to be notified and all ACKs have been received, in operation325the announcing STA may enter or transition to the announced power management mode prior to the end of the ATIM window.

InFIG. 3B, as indicated in operation355, a station such as STA1,2, or3determines how many times it should broadcast a null data frame indicating a change in the announcing STA's power management mode, based on how reliably the announcing STA wants to announce its change. In operation360, the announcing STA may broadcast during an ATIM window to all of the other STAs in network10one or more null data frames. In operation365, the announcing STA may immediately (or after some time period) enter or transition to the announced power management mode prior to the end of the ATIM window.

Besides the flowcharts included inFIGS. 3A and 3B, other operations or series of operations may be used.

Returning toFIG. 1B, in accordance with embodiments of the invention, processor108and wireless communications unit102(and possibly antenna103) within a STA may transmit during a traffic indication window (such as an ATIM window) a frame, such as a null data frame, indicating a power management mode, such as a power-saving or active mode, and processor108may cause the STA to transition to the power management mode.

In another embodiment of the present invention, a STA that is in power-saving mode may enter the doze or sleep state before the end of the beacon interval. It may do this by communicating to the other STAs in network10the desire to enter a sleep state, such as the doze state, for example by indicating the end of data transmission for that beacon interval. One indicator may be setting equal to 1 the end of service period (EOSP) bit in a QoS data (or null data) frame.

Reference is now made toFIGS. 4A-4B, which are timing diagrams illustrating embodiments of the invention.FIG. 4Ashows a beacon interval401, at the beginning of which beacon (or beacon frame)402is transmitted. At the beginning of beacon interval401is ATIM window405. As before, ATIM window405is the part of the beacon interval in which wireless STAs may signal to each other that there is data to be transmitted from one STA to another.

As shown illustratively inFIG. 4A, after beacon412, STA1, which may be in power-saving mode, may transmit ATIM frame414(also called an “ATIM management frame” or simply an “ATIM”) within ATIM window405. ATIM frame414indicates that there is data to be transmitted from STA1to STA2. STA2receives ATIM frame414and in response may transmit back to STA1acknowledgment frame424. STA2may or may not be in power-saving mode.

After the end of ATIM window405, STA1may transmit to STA2data frame415with its EOSP bit equal to 0. STA2receives data frame415and in response may transmit back to STA1acknowledgment frame425. STA1may have more data frames to transmit to STA2, in which case such frames may be transmitted with EOSP=0.

If there is just one more data frame for STA1to transmit to STA2, and STA1desires to enter the sleep state, STA1may transmit to STA2data frame416with its EOSP bit equal to 1, which is an example of an indicator of a desire to enter the sleep or doze state. STA2receives data frame416and in response may transmit back to STA1acknowledgment frame426. STA2then may transmit to STA1data frame427with its EOSP bit equal to 1, and in response STA1may transmit back to STA2acknowledgment frame417. Once a data frame with EOSP=1 has been transmitted to and received from STA2, STA1may then enter doze state480, even though it is prior to the end of beacon interval401.

The mechanism just described operates in a similar manner if STA1receives an ATIM frame rather than transmits ATIM frame414. In such a case, after the end of ATIM window405, STA2may transmit to STA1a data frame with EOSP=0, and STA1may transmit back to STA2an acknowledgment frame. STA2may have more data frames to transmit to STA1, in which case such frames may also be transmitted with EOSP=0. If there is just one more data frame for STA2to transmit to STA1, and STA2desires to enter the sleep state, STA2may transmit to STA1a data frame with EOSP=1. In response, STA1may transmit back to STA2an acknowledgment frame and then may transmit to STA2a data frame with EOSP=1. Once a data frame with EOSP=1 has been received from and transmitted to (or transmitted to and received from) STA2, STA1may then enter doze state480, even though it is prior to the end of beacon interval401. In these embodiments, a data frame includes a null data frame.

FIG. 4Aillustrates the situation when one station (e.g., STA1or STA2) is in power-saving mode. Alternatively, both (or all) STAs could be in power-saving mode. As shown illustratively inFIG. 4B, after beacon412, STA1may transmit ATIM frame414within ATIM window405. ATIM frame414may indicate that there is data to be transmitted from STA1to STA2. In response, STA2may transmit back to STA1acknowledgment frame424. After the end of ATIM window405, STA1may transmit to STA2data frame415with EOSP=0, and STA2may transmit in response to STA1acknowledgment frame425. If STA2has data to transmit to STA1, STA2may transmit to STA1data frame428with EOSP=0, and STA1may transmit in response to STA2acknowledgment frame418. STA1and/or STA2may have more data frames to transmit to the other station(s), in which case such frames may be transmitted with EOSP=0.

If there is just one more data frame for STA1to transmit to STA2, and STA1desires to enter the sleep state, STA1may transmit to STA2data frame416with EOSP=1. STA2receives data frame416and in response may transmit back to STA1acknowledgment frame426. STA2then may transmit to STA1data frame427with EOSP=1, and in response STA1may transmit back to STA2acknowledgment frame417. Once a data frame with EOSP=1 has been transmitted to and received from STA2, STA1may then enter doze state482, even though it is prior to the end of beacon interval401. Similarly, if there are no more data frames for STA2to transmit to STA1, then STA2may then enter doze state484, since a data frame with EOSP=1 has been received from and transmitted to STA1, even though it is prior to the end of beacon interval401. This early entry into the doze state may save power for battery-powered STAs. Other or different benefits may also be achieved.

As before, the mechanism just described operates in a similar manner if STA1receives an ATIM frame rather than transmits ATIM frame414. The stations transmit data frames to each other, with EOSP=0. As an indicator of a desire to enter the sleep state, the last data frames may be transmitted with EOSP=1, indicating the end of service period. After a data frame with EOSP=1 has been received from and transmitted to (or transmitted to and received from) the other station, each station may then enter the doze state, even though it is prior to the end of beacon interval401.

Reference is now made toFIG. 5, which shows how the STAs may enter the sleep state according to embodiments of the invention. These embodiments may be used by, or may be implemented by, for example, STAs1,2, or3in network10, or computing systems other suitable systems, or by other suitable wireless communication devices, stations, nodes, systems and/or networks.

InFIG. 5, as indicated in operation505, a station such as STA1,2, or3may transmit to another STA in network10an ATIM frame during an ATIM window. The receiving station then may transmit an acknowledgment frame in response. In operation510, the transmitting STA may query whether there is only one more data frame to be transmitted to the other STA. If not, in operation515the STA may transmit to the other STA a data frame with its EOSP bit equal to 0. The method then returns to operation510to query whether there is only one more data frame to be transmitted to the other STA. This loop continues (transmitting data frames with EOSP=0) until the last data frame is about to be transmitted. In that case, in operation520, if the STA desires to enter the sleep state, the STA transmits to the other STA a data frame with its EOSP bit equal to 1, which is an example of an indicator of a desire to enter a sleep state such as the doze state. The other STA then transmits to the first STA a data frame with its EOSP bit equal to 1 in operation525. In operation530, one or more of the STAs then may enter the doze state prior to the end of the beacon interval.

The method shown inFIG. 5may be varied a number of ways, depending on which station's point of view is the reference. Operation505, for example, may be the transmission of an ATIM frame by STA1or the reception of an ATIM frame by STA2. Similarly, operation515may be the transmission by STA1of a data frame with EOSP=0 or the reception of a data frame with EOSP=0 by STA2. And operation520may be the transmission by STA1of a data frame with EOSP=1 or the reception by STA2of a data frame with EOSP=1. Operation525may then be the complement of operation520, with transmission by STA2of a data frame with EOSP=1 or the reception of a data frame with EOSP=1 by STA1. In operation530, the STAs that may enter the doze state before the end of the beacon interval will thus have had both transmitted and received a data frame with EOSP=1.

Other scenarios may occur. In one example, if a station (e.g., STA1) does not receive EOSP=1 from another station (e.g., STA2) but successfully transmits EOSP=1 to STA2, STA1may wait until a timeout period expires before entering the doze state. In another example, if STA1cannot successfully transmit EOSP=1 (e.g., if no acknowledgment is received from STA2for the last frame), STA1may retransmit the last frame at least one more time, and then enter the doze state when it receives acknowledgment from STA2. This retransmission may be subject to an applicable retry or lifetime limit.

Besides the flowchart inFIG. 5and other scenarios described above, other operations or series of operations may be used. Moreover, the actual order of the operations is not critical. A STA may first receive a data frame with EOSP=1 and then transmit a data frame with EOSP=1, before entering the doze state; alternatively, the STA may first transmit a data frame with EOSP=1 and then receive a data frame with EOSP=1, before entering the doze state.

Returning toFIG. 1B, in accordance with embodiments of the invention, processor108and wireless communications unit102(and possibly antenna103) within a STA may also receive and/or transmit during a beacon interval an indicator of a desire to enter a sleep or doze state and to transmit or receive during the beacon interval an indicator of a desire to enter the sleep state, where processor108may cause STA to enter the sleep state prior to the end of the beacon interval. The indicator may be included in the EOSP field within a data frame.

Embodiments of the invention may include an article such as a computer or processor readable medium, or a computer or processor storage medium, such as, for example, a memory, a disk drive, or a USB flash memory encoding, including, or storing instructions that, when executed by a processor or controller, carry out methods disclosed herein. Such embodiments may also be delivered and/or transferred to a computer via a network such as the Internet.

While the invention has been described with respect to a limited number of embodiments, it will be appreciated that many variations, modifications, and other applications of the invention may be made. Embodiments of the present invention may include other apparatuses for performing the operations herein. Such apparatuses may integrate the elements discussed, or may comprise alternative components to carry out the same purpose. It will be appreciated by persons skilled in the art that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.