Power Save Multi-Poll (PSMP)By CWNP On 09/14/2007 - 13 Comments
- Introduction -
In the legacy power save polling method, the station awakes from dozing and sends a PS-Poll frame to the AP that has been queueing its data traffic while it dozed. For each PS-Poll frame the station sends to the AP, the AP responds with one data frame. Additionally, stations have to wait for the DTIM Beacon to know whether or not it has queued traffic. It's a high-overhead, high-latency protocol that only allows stations to doze a moderate amount - not good enough for wVoIP.
The next stage was U-APSD (adopted by the Wi-Fi Alliance as WMM Power Save (WMM-PS). WMM-PS improves the efficiency of legacy power save by increasing the amount of time the client is allowed to doze and by decreasing the number of frames that a client needs to send and receive in order to download the same number of frames buffered by the access point as before. It consists of a signaling mechanism added to WMM that enables the access point to buffer data frames and send them to the client upon its request. The station requests its data through use of a trigger frame (which could be a data frame). After the client has sent a trigger frame, the access point acknowledges it is ready to send the data. Data frames are sent during an EDCA Transmit Opportunity (TXOP) burst, with each data frame interleaved with an acknowledgement frame from the client. On the last data frame, the access point indicates that no more data frames are available and the client can revert to its dozing state.
The 802.11n amendment defines a new power save protocol called Power Save Multi-Poll (PSMP), which has both an scheduled and unshceduled part. Think of Scheduled PSMP (S-PSMP) as a way that APs can, during their own TXOP, send a schedule to one or more stations in the BSS letting the stations know when to be awake to receive downlink data frames and when they (individually) are allowed to begin transmitting. By using a schedule, stations can doze for the maximum amount of time possible while missing no frames.
Unscheduled PSMP (U-PSMP) functionality does not replace U-APSD (WMM), but rather extends it to add further functionality. PSMP capable stations can still use WMM-PS with trigger frames when appropriate.
- Primer -
S-PSMP provides a time schedule that is used by an AP and its PSMP-capable stations (typically devices such as handhelds, where battery life is at a premium). S-PSMP operation is controlled using the PSMP Action Frame. The amounts of time used for downlink and uplink transmission are defined as part of the PSMP frame. PSMP-UTT (uplink transmission time) is the time scheduled for PSMP-capable stations in the BSS to transmit frames to the AP. PSMP-DTT (downlink transmission time) is the time scheduled for the AP to transmit frames to the stations within the BSS. A PSMP Sequence is a series of frames that starts with a PSMP Action Frame and is followed by either PSMP uplink or downlink frames.
The AP configures the "PSMP STAs Only" field within the HT Information Element to 1 in Beacons when it wants stations that only support PSMP operation to associate. There are two modes of PSMP: Scheduled and Unscheduled. It's likely that if PSMP operation is implemented by vendors (which is yet to be seen, but hopefully soon), it will be unscheduled mode that gets the call because it simply extends U-APSD, which was given to us by IEEE 802.11e and adopted by the Wi-Fi Alliance as part of WMM-PS.
- PSMP Frame Format -
A PSMP frame is an HT management action frame, and it's format is represented below. The Destination Address (DA) field of this frame is the broadcast address or a multicast address. The reason for using a broadcast or multicast DA is so that all stations will process the frame upon receipt. After the frame is received, part of the frame contents (the STA_INFO Type subfield of the PSMP STA Info field) specifies whether or not the frame is actually destined to one or more individual stations, all stations, or a multicast group.
The PSMP Parameter Set is used to describe the downlink transmission time schedule (PSMP-DTT) and uplink transmission time schedule (PSMP-UTT) that immediately follows the PSMP frame. The "PSMP Parameter Set" field is followed by zero or more "STA Info" fields that are used to specify transmission schedules for individual stations in the BSS.
The Category field is set to 7 (representing HT)
The Action field is set to 2 (representing PSMP)
PSMP Parameter Set field
PSMP STA Info
In a PSMP frame, the "STA_ID" fields of all its "STA Info" fields with STA_INFO Type set to 2 (individually addressed) are unique. For example, each station identified in the PSMP frame is identified exactly once. The PSMP STA Info fields within a PSMP frame are ordered by STA_INFO Type as follows: broadcast (STA_INFO Type=0), multicast (STA_INFO Type=1), and then individually addressed (STA_INFO Type=2) - discussed more below.
- PSMP Parameter Set field -
The PSMP Parameter Set field is used in a PSMP frame to define the number of PSMP STA Info records held in the PSMP frame, to indicate whether the PSMP sequence is to be
followed by another, and to indicate the duration of the PSMP sequence. The PSMP Parameter Set field is 2 octets in length. The structure of the PSMP Parameter Set field is:
More PSMP (1)
PSMP Sequence Duration/ID (10)
The N_STA field indicates the number of STA Info fields present. The More PSMP field when set to 1 indicates whether this PSMP sequence is followed by another PSMP sequence and vice versa. The PSMP Sequence Duration/ID field indicates the duration of the current PSMP sequence that is described by the PSMP frame, in units of 8 µs, relative to the end of the PSMP frame. Therefore, this field can describe a PSMP sequence with a duration of up to 8.184 ms.
- PSMP STA Info field -
The PSMP STA Info field is used by the PSMP frame. The PSMP STA Info field defines the allocation of time to the downlink (PSMP-DTT) and/or uplink (PSMP-UTT) associated
with a single receiver address. There are three variants of the structure for individually addressed, multicast, and broadcast cases. The length of the PSMP STA Info field is 8 octets.
The Individually-Addressed (IA) variant is structured as follows:
STA_INFO Type (2)
PSMP-DTT Start Offset (11)
PSMP-DTT Duration (8)
PSMP-UTT Start Offset (11)
PSMP-UTT Duration (10)
...where all numbers are in bits. The STA_INFO Type field is used to define whether the frame is IA (2), multicast (1), or broadcast (0) and therefore defines the rest of the structure of the frame (which differs depending on the type). The STA_ID field is the association identifier (AID) of the station.
The Broadcast variant is structured as follows:
STA_INFO Type (2)
PSMP-DTT Start Offset (11)
PSMP-DTT Duration (8)
The Multicast variant is structured as follows:
STA_INFO Type (2)
PSMP-DTT Start Offset (11)
PSMP-DTT Duration (8)
PSMP Multicast ID (43)
The PSMP-DTT Start Offset field indicates the start of the PPDU that has the downlink data of the station. The offset is specified relative to the end of the PSMP frame. It is given as an integer number of 4 µs.
The PSMP-DTT Duration field indicates the end of downlink data of a station relative to the start of the PPDU that contains the first frame destined to the station. It contains a duration in units of 16 µs.
The PSMP-UTT Start Offset field indicates the start of the PSMP-UTT. The first PSMP-UTT is scheduled to begin after a SIFS interval from the end of the last PSMP-DTT described in the PSMP. The offset is specified relative to the end of the PSMP frame. It is specified in units of 4 µs.
The PSMP-UTT Duration field indicates the maximum length of a PSMP-UTT for a station. PSMP-UTT Duration is specified in units of 4 µs. All transmissions by the station within the current PSMP sequence lie within the indicated PSMP-UTT.
- PSMP Operation -
Think of PSMP operation as a way that the AP can send notifications (action frames) to one or more PSMP capable stations during its own TXOP allowing them to: 1) transmit frames to the AP at specific point in time, or 2) understand that they should be awake and ready to receive one or more transmissions at a specific point in time. If a station has frames to send, it starts transmission without performing CCA and regardless of its NAV value at the start of its PSMP-UTT Offset. Use of the PSMP-UTT doesn't imply that a station is a TXOP holder. Instead, it's the AP that holds the TXOP and controls downlink and uplink transmissions using the PSMP mechanism.
The AP first configures the Beacons to show whether or not only PSMP stations are allowed in the BSS. To start a PSMP Sequence, the AP transmits a PSMP Action frame (IA, broadcast, or multicast) giving instructions to one or more stations. If the action frame is IA, then the instructions contain information on when any downlink data will start and how long it will last, when each station (there can be a list of stations in an IA variant) is allowed to start transmitting and for how long. If the variant is multicast or broadcast, it contains data on exactly when the downlink transmission will start and how long it will last. With multicast variants, it also contains the multicast ID.
Either RIFS or SIFS can be used to separate uplink or downlink transmissions. If a station runs out of uplink data to transmit during its PSMP-UTT, the station isn't allowed to truncate the TXOP with a CF-End frame because it's not the TXOP holder (the AP is the TXOP holder during a PSMP Sequence).
PSMP recovery frames, which are modified versions of the original PSMP action frame, are used when a station scheduled to transmit during a PSMP-UTT does not transmit within a PIFS of its scheduled transmission time. Perhaps a station didn't hear the PSMP frame and thus didn't know to begin transmitting at that specific time. The PSMP recovery frame is sent by the AP after a PIFS from the station's scheduled uplink transmission start time. The PSMP recovery frame only modifies the schedule of the station that missed its scheduled appointment, and the schedules of other stations remain unchanged. The station that missed its original transmission time simply has a shorter period of time in which to transmit uplink frames.
After transmission of an initial PSMP sequence, additional PSMP sequences can be transmitted by the AP in order to support resource allocation and error recovery. An initial PSMP sequence followed by one or more PSMP sequences is termed a PSMP burst. A station is not allowed to transmit a +HTC MPDU in which the RD/More PPDU field is set to 1 during a PSMP burst. The RD protocol and PSMP are similar in many ways and would conflict in this case. An AP is allowed to transmit a CF-End to end the PSMP burst. All data frames transmitted during a PSMP burst must be QoS Data frames.
- PSMP Resource Allocation within a PSMP Burst -
If the allocated PSMP-UTT Duration is not long enough for a station to send ALL of its queued data, the station transmits only the part of the queued data that fits within the allocated PSMP-UTT Duration and may transmit a resource request to the AP within that PSMP-UTT. The resource request is communicated by setting either the Queue Size field or the TXOP Duration Request field of the QoS Control Field that is carried in a QoS Data frame. If a station receives an PSMP-UTT that is not long enough to transmit ANY data from its queues, it may transmit (within the PSMP-UTT) a QoS Null frame containing information about the state of its transmit queues. The HT AP may then use this information to schedule a PSMP-UTT either in the current PSMP burst or a later PSMP burst. The AP may allocate a PSMP-UTT Duration in the next PSMP sequence based on the resource request from the station sufficient to allow transmission of the remaining queued data.
- PSMP Retransmission -
Any failed transmissions during PSMP-DTT and PSMP-UTT may be respectively retransmitted in PSMP-DTT and PSMP-UTT period of the next PSMP sequence. An AP transmits BlockAck responses, if any, to a station's PSMP-UTT data transmissions in the PSMP-DTT of a subsequent PSMP sequence. The AP may reserve a PSMP-UTT in a subsequent PSMP sequence to allow the station to retransmit failed frames. The station may retransmit failed frames in a PSMP sequence of the current PSMP burst if a PSMP-UTT reservation is present or in a subsequent service period. A station that cannot complete its retransmissions in the last PSMP sequence of the PSMP burst because not enough time is allocated in its PSMP-UTT, may transmit the data outside any PSMP sequence. Frames transmitted outside the scheduled service period under EDCA are subject to the Access Category prioritization. In the case of uplink frames transmitted outside the scheduled service period, the MTBA that acknowledges these frames is delivered in the PSMP-DTT within the next service period.