Abstract:
A novel method for coordinating the delivery of frames to and the receipt of frames from a power-saving station in a wireless local-area network (LAN) is disclosed. The illustrative embodiment establishes a wake-up schedule for a power-saving station based on a temporal period and temporal offset that reduces the frequency with which multiple stations in a network wake up simultaneously, thereby reducing traffic delays and power consumption. The illustrative embodiment is particularly well-suited to networks with traffic that has delay/jitter quality-of-service (QoS) requirements (i.e., voice calls, videophone calls, etc.).

Description:
REFERENCE TO RELATED APPLICATIONS 
     This application is a divisional of pending U.S. patent application Ser. No. 10/736,768, entitled POWER-SAVING MECHANISM FOR PERIODIC TRAFFIC STREAMS IN WIRELESS LOCAL-AREA NETWORKS, filed on Dec. 16, 2003, which claims the benefit of:
         1. U.S. provisional patent application Ser. No. 60/433,604, filed 16 Dec. 2002, entitled “Poll Scheduling and Power Saving,”, and   2. U.S. provisional patent application Ser. No. 60/497,556, filed 26 Aug. 2003, entitled “Power-Saving Mechanisms for 802.11 Clients,”       

     all of which are also incorporated by reference. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates to telecommunications in general, and, more particularly, to wireless local area networks. 
     BACKGROUND OF THE INVENTION 
       FIG. 1  depicts a schematic diagram of an exemplary wireless local-area network (LAN)  100  in the prior art comprising access point  101  and stations  102 - 1  through  102 -N, wherein N is a positive integer, interconnected as shown. Each station  102 - i , wherein i is a member of the set {1, 2, . . . N}, is a device such as a notebook computer, personal digital assistant (PDA), tablet PC, etc. that transmits radio signals to and receives radio signals from other stations in local-area network  100  via access point  101 . 
     Access point  101  and stations  102 - 1  through  102 -N transmit data in units referred to as frames over a shared-communications channel such that if two or more stations (or an access point and a station) transmit frames simultaneously, then one or more of the frames can become corrupted (resulting in a collision). As a result, local-area networks typically employ one or more protocols to ensure that a station or access point can gain exclusive access to the shared-communications channel for an interval of time in order to transmit its frames. Frames transmitted from a station  102 - i  to access point  101  are referred to as uplink frames, and frames transmitted from access point  101  to a station  102 - i  are referred to as downlink frames. 
     In accordance with some protocols (e.g., Institute of Electrical and Electronics Engineers [IEEE] 802.11, etc.), access point  101  periodically broadcasts a special frame called a beacon to all of the stations  102 - 1  through  102 -N. The beacon contains a variety of information that enables stations to establish and maintain communications in an orderly fashion, such as a timestamp, which enables stations to synchronize their local clocks, and signaling information (e.g., channel number, frequency hopping pattern, dwell time, etc.). 
     A station  102 - i  can prolong its battery life by powering off its radio when not transmitting or receiving. When a station powers off its radio, the station is said to enter the doze state. A station wakes up from the doze state by powering on its radio to enter the alert state. While a station is in the doze state, it cannot transmit or receive signals, and is said to be asleep. A station that saves battery life by alternating between alert to doze states is said to be in power-save mode, and a station that employs power-save mode is said to be a power-saving station. 
     While a station  102 - i  is asleep, access point  101  buffers any downlink frames for station  102 - i  for eventual delivery when station  102 - i  wakes up. Three issues therefore arise when a station  102 - i  is in power-save mode: 
     (1) When should station  102 - i  wake up? 
     (2) How will access point  101  know that station  102 - i  has awakened? 
     (3) How long does station  102 - i  stay awake? 
     One strategy, which is used in the IEEE 802.11-1999 standard, is for the access point  101  to include periodically in the beacon a Traffic Indication Map (TIM) that identifies which stations in power-save mode have downlink frames waiting for them in access point  101 &#39;s buffer. When a station wakes up and the TIM indicates that there are frames buffered at access point  101  for the station, the station sends a a Power Save (PS) poll frame to access point  101  to request delivery of a buffered frame, and, after receiving and acknowledging the downlink frame, goes back to the doze state. A separate PS poll frame must be transmitted for each downlink frame buffered at access point  101 . 
     In another strategy, known as Automatic Power-Save Delivery (APSD), the delivery of downlink buffered frames can occur automatically—that is, without special signaling frames to notify access point  101  that a station is awake and ready to receive frames. 
     Another feature of APSD relates to the termination of the awake period, the time interval a power-saving station must remain awake. A power-saving station may stay awake to receive several buffered frames, and goes to back to sleep when it is notified by access point  101 . 
     There are different variations of APSD possible, which differ with respect to when delivery takes place and signaling for the end of a awake period[0001]. With the variation that has come to be known as beacon-based APSD, access point  101  periodically includes a Traffic Indication Map in the beacon to identify which stations in power-save mode have downlink frames waiting for them in the access point  101 &#39;s buffer, as in the 802.11d4.0-1999 power-save method. After transmitting a beacon with a TIM, access point  101  transmits its buffered downlink frames. 
     In accordance with beacon-based APSD, stations in the doze state wake up to receive beacons and check the TIM. If the TIM indicates that there are no buffered downlink frames for a station  102 - i , then station  102 - i  immediately goes back into the doze state; otherwise, station  102 - i  stays awake to receive the buffered downlink frames from access point  101 , and then goes back into power-save mode. In addition, a station in the doze state buffers uplink frames generated by the application layer, and transmits one or more of the buffered uplink frames upon wake-up. Prior to entering power-save mode, a station sends a message to access point  101  that specifies a beacon period for subsequent wake-up (e.g., wake-up every 10 beacons, etc.) and an offset (i.e., phase), thereby identifying the beacons at which the station will wake up. The awake period is terminated by access point  101 &#39;s notifying the station (e.g., via specially designated bits in the control field(s) of a frame, etc.) that there are no more frames buffered at the access point awaiting transmission. 
     SUMMARY OF THE INVENTION 
     The present invention is based on the identification of three drawbacks of the Automatic Power-Save Delivery mechanism. The Automatic Power-Save Delivery mechanism is ill-suited for traffic with delay/jitter quality-of-service (QoS) requirements (i.e., voice calls, videophone calls, etc.) because wake-up periods based on multiples of beacon intervals are too large for the inter-frame arrival times required for adequate call quality. Finally, it is possible for a power-saving station to waste battery life waiting for the last of its buffered frames to be received before it can go back to sleep if low priority downlink traffic is transmitted after higher priority frames destined for other stations, which would be expected in a local-area network that supports QoS. 
     In order to overcome these drawbacks, in the illustrative embodiment of the present invention, a station, prior to entering power-save mode, sends a request to access point  101  that specifies a desired temporal period for subsequent wake-up that is independent of beacons. Access point  101  determines, based on existing transmission schedules (e.g., polling schedules, wake-up schedules, etc.), whether to accept or reject the request. If access point  101  accepts the request, then access point  101  determines, based on existing polling and wake-up schedules, a temporal offset that will reduce the occurrence of concurrent wake-ups, and sends a positive notice with the temporal offset to the station. If access point  101  rejects the request, then access point  101  sends a negative notice to the station denying the request. 
     In the illustrative embodiment, a station might optionally send to access point  101 , in addition to the desired temporal period, a suggested temporal offset. Access point  101  can either decide to use the suggested temporal offset if it will result in a sufficiently low rate of collisions (e.g., concurrent wake-ups, etc.) or access point  101  can select a new temporal offset accordingly. 
     In the illustrative embodiment, a power-saving station can go back to sleep when it receives a frame with an end-of-awake-period control field that is enabled. The awake period can be terminated while there is traffic still buffered at access point  101 . This enables access point  101  to manage its downlink transmissions according to the priority of traffic at the access point without forcing power-saving stations to stay awake until all traffic buffered for them has been transmitted. 
     For the purposes of this specification, the term “temporal offset” is used to indicate either (i) a relative value (i.e., phase) with respect to a temporal period, or an absolute starting time (i.e., the time at which a periodic sequence starts). 
     The illustrative embodiment of the present invention is advantageous for aperiodic traffic (e.g., bursty, random, etc.) as well as periodic traffic (e.g., call traffic, etc.). 
     The illustrative embodiment comprises: (a) receiving a temporal period associated with a wake-up schedule for a device that has a power-save mode; (b) determining, based on one or more existing transmission schedules, whether the temporal period can be accommodated; and (c) when the temporal period can be accommodated, (i) determining a temporal offset for the wake-up schedule, and (ii) transmitting to the device a positive notice comprising the temporal offset. In some embodiments an end-of-awake-period indication may be transmitted. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  depicts a schematic diagram of an exemplary wireless local-area network  100  in the prior art. 
         FIG. 2  depicts a schematic diagram of a portion of local-area network  200  in accordance with the illustrative embodiment of the present invention. 
         FIG. 3  depicts a block diagram of the salient components of access point  201 , as shown in  FIG. 2 , in accordance with the illustrative embodiment of the present invention. 
         FIG. 4  depicts a block diagram of the salient components of station  202 - i , as shown in  FIG. 2 , in accordance with the illustrative embodiment of the present invention. 
         FIG. 5  depicts a flowchart for access point  201 , as shown in  FIG. 2 , for a first method of establishing a wake-up schedule for a power-saving station in accordance with the illustrative embodiment of the present invention. 
         FIG. 6  depicts a flowchart for access point  201 , as shown in  FIG. 2 , for a second method of establishing a wake-up schedule for a power-saving station in accordance with the illustrative embodiment of the present invention. 
         FIG. 7  depicts a flowchart for station  202 - i , as shown in  FIG. 2 , for entering and operating in power-saving mode, in accordance with the illustrative embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 2  depicts a schematic diagram of local-area network  200  in accordance with the illustrative embodiment of the present invention. Local-area network  200  comprises access point  201 , and stations  202 - 1  through  202 -N, wherein i is a positive integer in the set {1, . . . N}, interconnected as shown. 
     Station  202 - i  is capable of (i) generating frames, (ii) transmitting frames over a shared-communications channel to access point  201 , and (iii) receiving frames from the shared-communications channel. In some embodiments, station  202 - i  might also able to communicate in peer-to-peer fashion (i.e., transmitting to and receiving frames from other stations directly instead of via access point  201 ). Station  202 - i  is capable of entering power-save mode and of receiving and transmitting frames while in power-save mode as described below and with respect to  FIG. 6 . 
     Access point  201  is capable of receiving frames from and transmitting frames to stations  202 - 1  through  202 -N via a shared-communications channel. Access point  201  is also capable of buffering downlink frames for a power-saving station in doze state, and of delivering buffered downlink frames to power-saving stations as described below and with respect to  FIG. 5 . 
       FIG. 3  depicts a block diagram of the salient components of access point  201  in accordance with the illustrative embodiment of the present invention. Access point  201  comprises receiver  301 , processor  302 , memory  303 , and transmitter  304 , interconnected as shown. 
     Receiver  301  is a circuit that is capable of receiving frames from shared communications channel  203 , in well-known fashion, and of forwarding them to processor  302 . It will be clear to those skilled in the art how to make and use receiver  301 . 
     Processor  302  is a general-purpose processor that is capable of executing instructions stored in memory  303 , of reading data from and writing data into memory  303 , and of executing the tasks described below and with respect to  FIG. 5 . In some alternative embodiments of the present invention, processor  302  might be a special-purpose processor (e.g., a network processor, etc.). In either case, it will be clear to those skilled in the art, after reading this disclosure, how to make and use processor  302 . 
     Memory  303  is capable of storing programs and data used by processor  302 , as is well-known in the art, and might be any combination of random-access memory (RAM), flash memory, disk drive, etc. It will be clear to those skilled in the art, after reading this specification, how to make and use memory  303 . 
     Transmitter  304  is a circuit that is capable of receiving frames from processor  302 , in well-known fashion, and of transmitting them on shared communications channel  203 . It will be clear to those skilled in the art how to make and use transmitter  304 . 
       FIG. 4  depicts a block diagram of the salient components of station  202 - i , in accordance with the illustrative embodiment of the present invention. Station  202 - i  comprises receiver  401 , processor  402 , memory  403 , and transmitter  404 , interconnected as shown. 
     Receiver  401  is a circuit that is capable of receiving frames from shared-communications channel  203 , in well-known fashion, and of forwarding them to processor  402 . Receiver  401  is also capable of being powered off for a doze state. It will be clear to those skilled in the art how to make and use receiver  401 . 
     Processor  402  is a general-purpose processor that is capable of executing instructions stored in memory  403 , of reading data from and writing data into memory  403 , of instructing receiver  401  and transmitter  404  to power off, and of executing the tasks described below and with respect to  FIG. 6 . In some alternative embodiments of the present invention, processor  402  is a special-purpose processor (e.g., a network processor, etc.). In either case, it will be clear to those skilled in the art, after reading this disclosure, how to make and use processor  402 . 
     Memory  403  is capable of storing programs and data used by processor  402 , as is well-known in the art, and might be any combination of random-access memory (RAM), flash memory, disk drive, etc. It will be clear to those skilled in the art, after reading this specification, how to make and use memory  403 . 
     Transmitter  404  is a circuit that is capable of receiving frames from processor  402 , in well-known fashion, and of transmitting them on shared communications channel  203 . Transmitter  404  is also capable of being powered off for a doze state. It will be clear to those skilled in the art how to make and use transmitter  404 . 
     In the illustrative embodiment of the present invention, access point  201  and stations  202 - 1  through  202 -N support at least one IEEE 802.11 protocol. In alternative embodiments of the present invention, access point  201  and stations  202 - 1  through  202 -N might support other protocols in lieu of, or in addition to, one or more IEEE 802.11 protocols. Furthermore, in some embodiments of the present invention local-area network  200  might comprise an alternative shared-communications channel (for example, wireline instead of wireless). In all such cases, it will be clear to those skilled in the art after reading this specification how to make and use access point  201  and stations  202 - 1  through  202 -N. 
       FIG. 5  depicts a flowchart for access point  201  for a first method of establishing a wake-up schedule for a power-saving station, in accordance with the illustrative embodiment of the present invention. It will be clear to those skilled in the art which tasks depicted in  FIG. 5  can be performed simultaneously or in a different order than that depicted. 
     At task  510 , access point  201  receives a temporal period □ for a desired wake-up schedule for power-saving station  202 - i , in well-known fashion. As will be appreciated by those skilled in the art, in some embodiments temporal period □ might be embedded in a message that contains other kinds of information (e.g., a traffic specification [TSPEC] message in an IEEE 802.11e network, etc.), while in some other embodiments, temporal period □ might be sent via a special-purpose message. In the former case, the message might also contain a field that indicates that station  202 - i  is in power-save mode, while in the latter case, this is implicitly indicated by the special-purpose message. 
     At task  520 , access point  201  determines, based on existing schedules (e.g., wake-up schedules for other power-saving stations, polling schedules, etc.), whether temporal period □ can be accommodated (i.e., whether the shared-communications channel can handle the additional “load” of the desired wake-up schedule without the rate of collisions exceeding a particular threshold □.) 
     Task  530  is a branch statement based on the result of task  520 ; if a new wake-up schedule with temporal period □ cannot be accommodated, execution proceeds to task  540 , otherwise execution continues at task  550 . 
     At task  540 , access point  201  sends a negative notice frame to station  202 - i  that indicates that the desired wake-up schedule cannot be accommodated. In some embodiments, the negative notice might indicate that no additional load can be accommodated by access point  201 , while in some other embodiments, the negative notice might indicate that station  202 - i  might try an alternative method of power-saving, while in still some other embodiments, the negative notice might indicate a suggested alternative method of power-saving. After completion of task  540 , the method of  FIG. 5  terminates. 
     At task  550 , access point  201  determines a value for temporal offset □ that will keep the rate of collisions between the new wake-up schedule and existing schedules below threshold □. In some cases, access point  201  might also need to make adjustments to one or more of the existing schedules in order to keep the rate of collisions below threshold □. 
     At task  560 , access point  201  sends a positive notice frame to station  202 - i  that indicates the temporal offset □ for station  202 - i &#39;s wake-up schedule. After completion of task  560 , the method of  FIG. 5  terminates. 
     After completion of  FIG. 5 , access point  201  buffers downlink frames for station  202 - i  and automatically transmits buffered frames in accordance with station  202 - i &#39;s wake-up schedule. Access point  201  can either transmit all of the buffered frames to station  202 - i , or can transmit a portion of the frames and indicate the end of the transmission by enabling an end-of-awake period control field in the last frame. This provides access point  201  with the flexibility to manage its downlink transmissions (e.g., according to traffic class priorities, etc.) without forcing station  202 - i  to stay awake until all its buffered frames are received. 
     As will be appreciated by those skilled in the art, although  FIG. 5  is disclosed as a method to be performed by access point  201 , in some embodiments in which local-area network  200  (i) has one or more non-power-saving stations in addition to power-saving station  202 - i , and (ii) supports peer-to-peer communications,  FIG. 5  might be performed either by one of the non-power-saving stations, or by power-saving station  202 - i  itself, instead of access point  201 . In the latter case, the communications-oriented tasks of  FIG. 5  ( 510 ,  540 , and  560 ) need not be performed by station  202 - i.    
       FIG. 6  depicts a flowchart for access point  201  for a second method of establishing a wake-up schedule for a power-saving station, in accordance with the illustrative embodiment of the present invention. It will be clear to those skilled in the art which tasks depicted in  FIG. 6  can be performed simultaneously or in a different order than that depicted. 
     At task  610 , access point  201  receives a temporal period □ and a suggested temporal offset □ for a desired wake-up schedule for power-saving station  202 - i , in well-known fashion. As will be appreciated by those skilled in the art, in some embodiments temporal period □ and offset □ might be embedded in a message that contains other kinds of information (e.g., a traffic specification [TSPEC] message in an IEEE 802.11e network, etc.), while in some other embodiments, temporal period □ and offset □ might be sent via a special-purpose message. In the former case, the message might also contain a field that indicates that station  202 - i  is in power-save mode, while in the latter case, this is implicitly indicated by the special-purpose message. 
     At task  620 , access point  201  determines, based on existing schedules (e.g., wake-up schedules for other power-saving stations, polling schedules, etc.), whether temporal period □ can be accommodated (i.e., whether the shared-communications channel can handle the additional “load” of the desired wake-up schedule without the rate of collisions exceeding a particular threshold □.) This determination is made independent of the suggested temporal offset □. 
     Task  630  is a branch statement based on the result of task  620 ; if a new wake-up schedule with temporal period □ cannot be accommodated, execution proceeds to task  640 , otherwise execution continues at task  650 . 
     At task  640 , access point  201  sends a negative notice frame to station  202 - i  that indicates that the desired wake-up schedule cannot be accommodated. In some embodiments, the negative notice might indicate that no additional load can be accommodated by access point  201 , while in some other embodiments, the negative notice might indicate that station  202 - i  might try an alternative method of power-saving, while in still some other embodiments, the negative notice might indicate a suggested alternative method of power-saving. After completion of task  640 , the method of  FIG. 6  terminates. 
     At task  650 , access point  201  determines whether the suggested temporal offset □ will keep the rate of collisions between the new wake-up schedule and existing schedules below threshold □. If not, execution proceeds to task  660 , otherwise execution continues at task  670 . 
     At task  660 , access point  201  determines a temporal offset □′ that will keep the rate of collisions between the new wake-up schedule and existing schedules below threshold □. After completion of task  660 , execution continues at task  680 . 
     At task  670 , access point  201  sets temporal offset □′ to the same value as suggested temporal offset □. 
     At task  680 , access point  201  sends a positive notice frame to station  202 - i  that indicates the temporal offset □′ for station  202 - i &#39;s wake-up schedule. After completion of task  680 , the method of  FIG. 6  terminates. 
     After completion of  FIG. 5 , access point  201  buffers downlink frames for station  202 - i  and automatically transmits buffered frames in accordance with station  202 - i &#39;s wake-up schedule. Access point  201  can either transmit all of the buffered frames to station  202 - i , or can transmit a portion of the frames and indicate the end of the transmission by enabling an end-of-awake-period control field in the last frame. This provides access point  201  with the flexibility to manage its downlink transmissions (e.g., according to traffic class priorities, etc.) without forcing station  202 - i  to stay awake until all its buffered frames are received. 
     As will be appreciated by those skilled in the art, although  FIG. 6  is disclosed as a method to be performed by access point  201 , in some embodiments in which local-area network  200  (i) has one or more non-power-saving stations in addition to power-saving station  202 - i , and (ii) supports peer-to-peer communications,  FIG. 6  might be performed either by one of the non-power-saving stations, or by power-saving station  202 - i  itself, instead of access point  201 . In the latter case, the communications-oriented tasks of  FIG. 6  ( 610 ,  640 , and  680 ) need not be performed by station  202 - i.    
       FIG. 7  depicts a flowchart for station  202 - i  for entering and operating in power-saving mode, in accordance with the illustrative embodiment of the present invention. 
     At task  710 , station  202 - i  transmits to access point  201 , in well-known fashion, a temporal period □, and optionally, a suggested temporal offset, for its desired wake-up schedule. As will be appreciated by those skilled in the art, in some embodiments temporal period □ and suggested offset □ might be embedded in a message that contains other kinds of information (e.g., a traffic specification [TSPEC] message in an IEEE 802.11e network, etc.), while in some other embodiments, temporal period □ and suggested offset □ might be sent via a special-purpose message. In the former case, the message might also contain a field that indicates that station  202 - i  is in power-save mode, while in the latter case, this is implicitly indicated by the special-purpose message. As will further be appreciated by those skilled in the art, in some embodiments in which local-area network  200  supports peer-to-peer communications, station  202 - i  might transmit □ and             to a non-power-saving station.
     At task  720 , station  202 - i  receives a reply notice from access point  201 , in well-known fashion. As will be appreciated by those skilled in the art, in some embodiments station  202 - i  might receive the reply notice from a non-power-saving station. 
     At task  730 , station  202 - i  checks whether the reply notice received at task  720  is a positive notice comprising a temporal offset             or a negative notice. If it is a negative notice, the method of  FIG. 7  terminates, otherwise execution continues at task  740 .
     At task  740 , station  202 - i  enters a doze state. 
     At task  750 , station  202 - i  wakes up in accordance with temporal period □ and temporal offset {tilde over (□)} 
     At task  760 , station  202 - i  receives one or more downlink frames and transmits one or more buffered uplink frames, in well-known fashion. As will be appreciated by those skilled in the art, in the case of contention-based access to the shared-communications channel (e.g., the Distributed Coordination Function [DCF] in IEEE 802.11b, the Extended Distributed Coordination Function [EDCF] in IEEE 802.11e, etc.), access point  201 , having the highest-priority access to the channel, first transmits the buffered downlink frames to station,  202 - i , and then station  202 - i , after gaining access to the channel, transmits its buffered uplink frames to access point  201 . In order to achieve greater power-save performance for power-saving stations that employ a contention-based access mechanism, access point  101  refrains from transmitting following its transmission to station  202 - i , for a period of time sufficiently long to enable a power-saving station to gain access to the channel. 
     As will be appreciated by those skilled in the art, in the case of contention-free access to the shared-communications channel (e.g., the Polling Coordination Function [PCF] in IEEE 802.11b, the Hybrid Coordination Function [HCF] in IEEE 802.11e, etc.), transmission of downlink and uplink frames occurs in interleaved fashion. As described above, station  202 - i  stays awake to receive downlink frames until either an end-of-awake-period frame or a conventional end-of-sequence frame is received. After completion of task  760 , execution continues back at task  740 . 
     As will be appreciated by those skilled in the art, in some embodiments in which local-area network  200  supports peer-to-peer communications and has one or more non-power-saving stations in addition to power-saving station  202 - i , the communications-oriented tasks of  FIG. 7  ( 710 ,  720 , and  760 ) (i) might be performed with respect to one of the non-power-saving stations instead of access point  201 , or (ii) might not be performed at all when power-saving station  202 - i  itself performs the methods of  FIGS. 5 and 6 , as described above. 
     An 802.11 station can prolong its battery life by powering off its radio when not transmitting or receiving. The efficiency of the protocol determining when a station should wake up in order to send and/or receive transmissions destined to it will depend on the type of traffic involved. The traffic may be periodic in one or both directions, and have different priorities. The 802.11e draft standard provides two mechanisms for power-saving delivery: The Power Management mechanism in the 802.11-1999 standard, referred to here as the ‘legacy’ mechanism, and the APSD (Automatic Power Saving Delivery) mechanism. The latter, which has subsequently come to be known as “Scheduled APSD”, is designed to improve QoS performance by taking advantage of the periodic nature of VoIP and other synchronous downlink streams. The legacy mechanism can also be used for VoIP calls, but less effectively. The two mechanisms can be combined and used for bi-directional periodic streams. 
     While operating under legacy power management, a station can have its downlink traffic buffered when it is asleep. The station requests buffering of its traffic by setting the power management bit to 1 in the frame control field of a frame transmitted uplink. When the station wakes up, the station can receive its frames by indicating that it is awake. This can be done in two ways: the first way is by setting the power management bit to 0 in the frame control field of its frames uplink, and the second way is by sending a PS (power saving) poll to request the transmission of a single frame. 
     When the first method is used, the AP notifies the station when the all buffered frames have been transmitted and the buffer is empty by setting the More Data bit in the last frame transmitted to a station to 0. If the station has no more uplink frames to send, it can go back to sleep after acknowledgement has been sent for the last buffered frame. If more frames are pending uplink transmission, the station can stay awake to transmit these frames, and will go to sleep, provided the acknowledgements received from the AP continue to indicate that there are no frames buffered. When the station goes back to sleep, it can set the power management bit to 1 in the frame control field of either the ACK to the last downlink frame received, or in the frame control field of the last uplink frame sent. All retransmissions of frames lost or received with errors will occur during the time interval when the power-saving bit is 0. 
     The legacy power saving mechanism can be combined with new features of the 802.11e draft standard to yield a more efficient power saving mechanism. Specifically, the new QoS frame format allows the AP to indicate whether a QoS frame is the last frame to be transmitted in the present wake-up period by setting the Last bit in the QoS control field. This flag is different from the More Data bit in the frame control field, used to signal that there are more frames buffered at the AP for the destination station. The capability to indicate both is useful when the AP must postpone certain downlink transmissions in order to meet QoS requirements. A station that goes to sleep having received a downlink frame with both the Last bit set to 1 and the More Data bit set to 1 may send a null frame with Power Management bit set to 0 to receive the remaining buffered frames at a later time. 
     A power-saving station can find out whether there is buffered traffic at the AP by reading the beacon TIM, which indicates so. If, however, a station has a reason to wake up and transmit uplink frequently (that is, at time interval shorter than the beacon period), there is no need to wake up in order to listen to the beacon TIM. The More Data bit in the acknowledgement lets the station know of its buffered frames pending transmission. 
     An example of this arises during a VoIP call. In general, a station capable of VoIP calling is typically in one of two modes: Stand-by mode or Active mode. In the stand-by mode the station is powered on but does not engage in calling. A station in stand-by mode may receive or send signaling traffic during the initiation of a call. In the active mode the station is engaged in a call, or equivalently, generates and receives traffic periodically. A station exchanging traffic with the AP that is not symmetric can operate as in stand-by VoIP mode. A station sending periodic traffic streams uplink without receiving a periodic downlink stream can operate as in the VoIP active mode, provided that the delay tolerance for downlink frames is not less than the interarrival time of the periodic uplink stream. The ‘legacy’ power saving mechanism in 802.11-1999 can be used for both modes. 
     If silences are not suppressed during a VoIP call, there will be frames generated periodically along both directions, uplink and downlink. In that case, the station wakes up to transmit its uplink frames. Having been notified of the existence of buffered downlink frames by the More Data bit in the acknowledgement frame, the station stays awake to receive its buffered frames. 
     With silence suppression at the station, there are two possible modes of operation. The station may wake up periodically and transmit null frames. Acknowledgement of uplink frames indicate whether downlink frames are pending transmission, and hence the station stays awake to receive its buffered frames, as described above. Alternatively, the station may listen to the beacon TIM to ascertain the same. The advantage of the second method is that less power is used if the downlink side were silent, too. If the downlink side is sending frames, it is preferable to send a null frame at the service period, as less power would be used. The station will have omitted powering on for the TIM. Preferably, the two approaches are combined. 
     The station does not wake up for the beacon TIM if there is periodic uplink data with period less than or equal to the tolerance for downlink delay. If the station has no uplink data for at least a service interval (period of the stream), the station wakes up to listen to the TIM. The station will continue to do so until either uplink or downlink data arrives. If the TIM indicates downlink data buffered at the AP for the station, and if the station continues to have no uplink data, the station starts waking up at the service interval and sends null frames uplink, in order to signal that it is awake and ready to receive downlink data. If uplink data is generated, the station will send the uplink frame instead of the null frame. 
     The logic of station operation under the Legacy power-saving rules is outlined below. It is assumed that the downlink service interval specified is shorter than the TIM beacon interval. 
     The station will go to sleep and wake up to listen to the beacon TIM periodically to check whether there is buffered traffic, unless there is periodic uplink traffic generated by the station with a shorter service interval than the TIM beacon interval. If buffered traffic is indicated, the station will send a null frame with the Power Management bit set to 0 in the frame control field, signaling to the AP that it is awake. If no buffered traffic is indicated, the station will repeat waking up to listen to the beacon TIM at the next beacon interval. 
     If uplink traffic is generated periodically with a shorter period than the TIM beacon interval, the station will wake up and send uplink frame(s) as they arrive. An uplink frame with the Power Management bit set to 0 in the frame control field will signal the AP that the power-saving station is awake. 
     The station will stay awake until it has transmitted its uplink frames and has received notice from the AP that either there are no buffered frames pending transmission, or downlink transmission of buffered frames is postponed. A downlink frame with the More Data bit set to 0 in the frame control field, will signal that there are no more downlink frames pending transmission. A downlink frame with the Last bit set to 1 in the QoS control field, signals that the AP will not transmit more downlink frames during this wake-up period. 
     Having received a downlink frame with either the More Data bit set to 0 or the Last bit “ON”, a station shall indicate in its last frame that it is going back to sleep. The last frame will be either the last uplink MSDU or an ACK to the last downlink frame. If the last uplink transmission is an uplink MSDU, the station will stay awake until the expiration of the NAV or until it receives an ACK, whichever occurs first. If an ACK is not received, it will retransmit the frame. 
     If the last frame is an ACK to a downlink frame, the station will stay awake until it receives another transmission starting at PIFS following ACK timeout. If no such transmission occurs the station can go to sleep. If the transmission is not directed to itself, the station can go to sleep. Otherwise the station will acknowledge receipt of the frame and stay awake until it receives another transmission starting at PIFS following ACK timeout. This feature is used to safeguard against repeated retransmissions by the AP. It avoids unanswered retransmissions when the ACK to the last downlink frame is missed and the station has gone to sleep. 
     A station that goes to sleep having received a downlink frame with the Last bit set to 1 and the More Data bit set to 1 may subsequently send a null frame with Power Management bit set to 0 to receive the remaining buffered frames. 
     During AP ‘Legacy’ operation, the AP sends frames buffered for a power saving station as soon as the station wakes up. That is indicated when a frame is received from that station with the Power Management bit set to 0 in the frame control field. Downlink data is piggybacked with any pending ACKs to uplink data from the station. If there is no frame to send in a cycle, it sends nothing. 
     Receipt of a frame with the Power Management bit set to 1 in the frame control field indicates that the station sending the frame is in sleep mode. The AP buffers the frames destined to a station in power saving mode. The More Data bit in the frame control field is set to 1 for all buffered frames except the last, in which the same is set to 0. 
     The Last bit in the QoS control field is set to 0 for all downlink frames sent to a station until the AP determines that other downlink transmissions have precedence, in which case the AP sends downlink frames with the Last bit set to 1. If the AP that receives an uplink frame from a station for which it has no buffered data, it will set the More Data bit to 0 in the ACK sent to that station. 
     In order to accomplish QoS Prioritization under ‘Legacy’ Power Management, requirements, separate EDCF buffers are used to store frames by their priority at the station. Buffers are emptied using the rules of EDCF contention. To preserve battery life, a station may wake up either when delay-sensitive traffic (high priority EDCF traffic) arrives at its buffer, or after the uplink frames have reached a specified age, at which point the station will transmit uplink frames with the same TXOP. The station will stay awake to receive the frames that are buffered at the AP. If all the frames are not sent by the AP while the station wakes up for transmission of uplink frames, the station will wake up subsequent to being notified that there are downlink frames remaining buffered at the AP in order to receive these frames. All priority queues at the station will contend while the station is awake. Channel contention for uplink transmission may be interrupted and the station may go to sleep in order to avoid a long contention period and heavy battery drain. 
     The user priority of the uplink frame serving to notify the AP that the station is awake need not restrict the user priority of the buffered frame transmitted in response. In general, the higher-priority frames will be transmitted before lower priority frames, unless other algorithms are adopted at the AP to account in addition to priority, the age of the buffered frame and its remaining life. 
     The APSD Mechanism is designed for periodic downlink traffic streams such as VoIP calls. It applies to both symmetric and non-symmetric traffic streams. The legacy power-saving rules apply when operating under APSD. In addition, a station operating in APSD mode indicates in a TSPEC request the rate at which downlink frames will be generated. The AP will schedule the time of downlink frame delivery to the station, notifying the station of this schedule in its TSPEC response. The station must wake up to receive downlink frames according to that schedule. It should be noted that APSD applies to non-symmetric periodic streams, such as audio and video. 
     APSD can be combined with legacy power saving in order to accommodate both periodic and non-periodic traffic. When the downlink traffic is not periodic, a station can use the legacy power management method described above. For instance, when in stand-by mode, a station would listen to the TIM beacon and send an uplink frame to receive all buffered frames. If the AP receives a frame with the Power Management bit set to 0 in the frame control field, the AP will send frames buffered for that station, regardless of whether this occurs at the scheduled wake up time. A station would not need to wake up to find out from the TIM whether there are downlink frames waiting if there is an APSD downlink stream scheduled. 
     In general, a power-saving station can transmit uplink transmissions at any time. There are benefits derived, however, from coordinating uplink transmission with the APSD schedule. APSD can be used with both channel access mechanisms, distributed random access (as in EDCF) and centralized polled access (as in HCF polling). If a station with an admitted APSD TSPEC uses EDCF access, it is efficient to send uplink frames at the specified APSD schedule. Otherwise, a station would have to expend additional energy for powering up at a different time to transmit. When using polled access, the AP will send a poll combined with the downlink data; both will be transmitted according to the specified schedule. In addition to the power savings during power-up mentioned above, piggybacking a poll enables uplink transmissions to occur without contention. The APSD service interval should be short enough to accommodate all downlink APSD streams. A power-saving station will be polled with an aggregate schedule for all traffic streams. 
     To summarize, a station will use the Legacy power saving mechanism unless there is a downlink APSD TSPEC request admitted for the station with a service interval shorter than the TIM beacon interval, in which case it employs APSD as described below. 
     If there is a downlink APSD TSPEC admitted for a station with a longer service interval than the TIM beacon interval, the station will engage in both the Legacy power saving mechanism and APSD as described below. Null uplink frames with the Power Management bit set to 0 in the frame control field will be sent when the station wakes to receive buffered frames, provided that it is not due to wake up shortly according to the APSD schedule. 
     The operation of the station and the AP under APSD is described in more detail below for each of the two access modes. 
     Station APSD operation 
     EDCF access
         The station wakes up periodically at the TSPEC-specified schedule and sends any buffered uplink frames.       

     If there is no frame to send in a cycle, the station waits to receive a downlink transmission. If a transmission is received but it is not directed to itself, the station will go to sleep. The station will stay awake for a specified time (e.g. SIFS plus the transmission time of two data frames and an ACK) and if no transmission is received, it goes to sleep. 
     The station will stay awake until it has transmitted all its uplink frames and has received notice from the AP that there are no buffered frames pending immediate transmission. A downlink frame with the More Data bit set to 0 in the frame control field, signals that there are no more downlink frames pending transmission. A downlink frame with the Last bit set to 1 in the QoS control field, signals that the AP need not transmit more downlink frames during this wake-up period. 
     Having received a downlink frame with either the More Data bit set to 0 or the Last bit “ON”, a station shall acknowledge receipt of the frame and stay awake until it receives another transmission starting at PIFS following ACK timeout. If no such transmission occurs the station will go to sleep. If the transmission is not from the AP, or not directed to itself, the station will go to sleep. Otherwise the station will acknowledge receipt of the frame and stay awake until it receives another transmission starting at PIFS following ACK timeout. 
     A station that goes to sleep having received a downlink frame with the Last bit set to 1 and the More Data bit set to 1 may send a null frame with Power Management bit set to 0 to receive the remaining buffered frames. 
     Polled access 
     The station wakes up periodically at the TSPEC-specified schedule and waits to be polled. Uplink data is piggybacked with ACKs. After a specified time expires without receiving a poll, the station sends a frame uplink using EDCF access. 
     The station will stay awake until it has transmitted its uplink frames and has received notice from the AP that there are no buffered frames pending immediate transmission. A downlink frame with the More Data bit set to 0 in the frame control field, signals that there are no more downlink frames pending transmission. A downlink frame with the Last bit set to 1 in the QoS control field, signals that the AP need not transmit more downlink frames during this wake-up period. 
     Having received a downlink frame with either the More Data bit set to 0 or the Last bit set to 1, a station shall acknowledge receipt of the frame and stay awake until it receives another transmission starting at PIFS following ACK timeout. If no such transmission occurs the station can go to sleep. If the transmission is not from the AP, or not directed to itself, the station can go to sleep. Otherwise the station will acknowledge receipt of the frame and stay awake until it receives another transmission starting at PIFS following ACK timeout. 
     A station that goes to sleep having received a downlink frame with the Last bit set to 1 and the More Data bit set to 1 may send a null frame with Power Management bit set to 0 to receive the remaining buffered frames. 
     AP APSD Operation 
     EDCF Access—Active Mode 
     The AP sends any buffered frames at the TSPEC-specified schedule. Downlink data is piggybacked with any pending ACKs to uplink data from the station. If there is no frame to send in a cycle, it sends nothing. 
     Receipt of a frame with the Power Management bit set to 1 in the frame control field indicates that the station sending the frame is going to sleep mode. The AP buffers the frames destined to a station in power saving mode. The More Data bit in the frame control field is set to 1 for all buffered frames except the last, in which the same is set to 0. 
     The Last bit in the QoS control field is set to 0 for all downlink frames sent to a station until the AP determines that other downlink transmissions have precedence, in which case the AP sends downlink frames with the Last bit “ON”. Once a frame has been sent to a station with the Last bit “ON”, the AP may send additional frames to the same station, provided the station remains awake. If the AP that receives an uplink frame from a station for which it has no buffered data, it will set the More Data bit to 0 in the ACK sent to that station. 
     Polled access—Active mode 
     The AP polls station starting at the TSPEC-specified schedule. Downlink data is piggybacked with polls to the station and ACKs to uplink data. Polling continues as indicated by the More Data bit (or the queue size) in the poll response. Receipt of a frame with the Power Management bit set to 1 in the frame control field indicates that the station sending the frame is going to sleep mode. The AP buffers the frames destined to a station in power saving mode. The More Data bit in the frame control field is set to 1 for all buffered frames except the last, in which the same is set to 0. 
     The Last bit in the QoS control field is set to 0 for all downlink frames sent to a station until the AP determines that other downlink transmissions have precedence, in which case the AP sends downlink frames with the Last bit set to 1. Once a frame has been sent to a station with the Last bit set to 1, the AP may not send additional frames to the same station until the next scheduled poll. If the AP has no buffered data, it will set the More Data bit to 0 in the poll sent to that station. 
     QoS Prioritization under APSD 
     As in the case of Legacy power saving, QoS requirements are best served when the AP is free to send downlink frames as soon as possible, or according to the criteria employed in a scheduling algorithm. In general, the higher-priority frames will be transmitted before lower priority frames, unless other algorithms are adopted at the AP to account, in addition to priority, the age of the buffered frame and its remaining life. That means that downlink transmission of frames buffered at the AP should be allowed to occur when the station wakes up, regardless of what causes the station to wake up. That is, regardless of whether the station follows the APSD schedule, or sends uplink frames with the Power Management bit set to 0 in the frame control field. 
     Buffers at the AP are emptied when the station is off the power saving mode. Using the PIFS access rule (the AP accesses the channel if it has been idle for a time interval of duration PIFS) for all or just the highest priority traffic, the higher priority queues are typically emptied first, followed by the lower priority. Downlink transmission to a station that is awake may stop before the buffers are all empty if the AP has higher priority traffic pending for other stations. The last bit will be used to notify a station that no more downlink frames will be sent while it is still awake, and it may thus go sleep. A station that goes to sleep having received a downlink frame with the Last bit set to 1 and the More Data bit set to 1 may subsequently send a null frame with Power Management bit set to 0 using EDCF access in order to receive the remaining buffered frames. 
     A comparison of ‘Legacy’ and APSD will now be discussed. Advance knowledge of the station wake-up schedule in APSD enables the station to wake up when the AP is ready to transmit downlink frames. It is not necessary to be prompted by the station with uplink frames notifying that it is awake. Hence, APSD is efficient for both symmetric (e.g. voice) and asymmetric (e.g. video) periodic streams. APSD, when used with either EDCF or polled access, increases channel utilization efficiency because the station need not stay awake waiting for the AP to complete other transmissions and TXOPs before sending buffered data to the power-saving station. Doing otherwise would cause battery drain, delay and jitter. HCF polling combined with APSD gives even better results in terms of battery life. Piggybacking data with a poll or an acknowledgement reduces channel overhead. Polling further eliminates power consumption as the station avoids contention for the channel to send its uplink frame. 
     Although the illustrative embodiment of the present invention is disclosed in the context of IEEE 802.11 local-area networks, it will be clear to those skilled in the art after reading this specification how to make and use embodiments of the present invention for other kinds of networks and network protocols. 
     It is to be understood that the above-described embodiments are merely illustrative of the present invention and that many variations of the above-described embodiments can be devised by those skilled in the art without departing from the scope of the invention. It is therefore intended that such variations be included within the scope of the following claims and their equivalents.