P2P Power Saving Mechanism – PART 1- Opportunistic Power Save

Power saving mechanisms, in current Wi-Fi networks is not defined for APs, it is defined only for clients. But in P2P Power saving mechanism we have a Group Owner (GO) who acts like a AP will follow newly implemented power saving mechanism to save power. These newly implemented protocols will make GO to be sleep for a defined amount of periods. Before we get in to the details of the P2P Power save mechanism we will learn about the following and later we see the sniffer captures related to them.

P2P Power management and its effects in P2P discovery

P2P Power Management reduces P2P Device availability and therefore impacts the discoverability of that P2P Device. For this reason, the P2P Power Management protocol defines an availability period, called the CTWindow, to assist in maintaining P2P Device discoverability. The CTWindow (Client Traffic Window) is a period during which a P2P Group Owner is present.

Few Important things to know:

1) The P2P Group Owner is responsible for selecting an appropriate value for CTWindow.

2) The CTWindow shall be an integral number of TU and shall always be less than the beacon interval.

3) For a P2P Group Owner that desires to be discoverable, the CTWindow should be at least 10 TU.

4) A CTWindow shall start at each TBTT and extend for the chosen duration.

5) During this time window the P2P Group Owner shall be in the active state subject to the P2P Group Owner power save state precedence rules (we will learn about this precedence rules in the later sections) .

6) A P2P Group Owner shall complete any active frame exchange sequence prior to ending the CTWindow.

7) CTWindow is also used for P2P Group Owner Opportunistic Power Save.

Now we will learn about the Power saving mechanisms defined in WiFi Direct protocol.

P2P Power saving Mechanisms

WiFi Direct protocol defines different power saving mechanisms. They are

  1. P2P Opportunistic Power Save mode
  2. Notice of Absence Power Save mode.
  3. OppS Mode + NoA Mode for Extra Doze

Now we will learn about those two power saving mechanisms are we will see the differences between both the power save methods and we will see the sniffer captures related to them.

P2P Opportunistic Power Save mode

The P2P Group Owner shall indicate that Opportunistic Power Save is enabled by setting the OppPS bit to 1 in the CTWindow and OppPS Parameters field of the Notice of Absence attribute. We can see the sniffer capture for this later in the post.

1) The Opportunistic Power Save protocol (OPS) allows a P2P Group Owner to opportunistically save power when all its associated clients are sleeping. P2P Group Owner can only save power when all its clients are sleeping.

2) A P2PGroup Owner can save power by defining a limited presence period after every Beacon transmission, known as CTWindow, where P2P Clients are allowed to transmit.

3) If at the end of the CTWindow all associated P2P Clients are sleeping, the P2PGroup Owner is allowed to sleep until the next Beacon time. However, if any P2P Client stays in active mode at the end of the CTWindow the P2P Group Owner is forced to remain awake until the next Beacon time. Observe the below figure to understand this OPS power save mechanism.

From the below figure observe that 2 clients are connected to the GO. And will look at each and every step to follow what exactly is happening in OPS mode. Observe the below steps. The below diagram is given as a reference for the below particular scenario.

Figure 1 : P2P Opportunistic Power Save Mode

1) After TBTT, GO enters to the CT Window. In the CT Window GO will be awake and it will be serving the clients.

2) Now observe that After CT Window , no clients are transmitting anything and now the GO goes to the DOZE state until the next TBTT.

3) Now observe that GO is awake in the CT Window in the TBTT and serving the clients. Now we can also observe that even after CT Window the GO is still awake because the client transmissions are still happening, so GO is not supposed to sleep until sending the next TBTT.

4) But , any time after the end of each CTWindow, if all of the connected P2P Clients are determined to be in Doze state by the P2P Group Owner, the P2P Group Owner may enter Doze state from that time until the next TBTT. Observe that in the figure client sends the power management bit set to 1 saying client is entering the power save mode and GO enters to doze state.

These steps will be happening continuously based on the clients, and the above diagram shown as a example to understand this OPS mode. If all the clients are sleeping then the GO can sleep after the CT Window. If any clients are awake even after CT Window then the GO should be awake until the next TBTT. Here GO getting into the DOZE mode depends on the connected clients traffic.

Observe the below sniffer and check the Notice of Absence Attribute.

Observe the CT Window and Opps Parameters field formats.

This is about the Opportunistic power save mode and we will learn about Notice of Absence Power saving method in the next post