Intelligent power saving
A device comprising: a transceiver operable in a first or second mode and configured to receive packets from a remote device, each packet comprising an indication of whether or not the remote device has a further packet to transmit, wherein: in the first mode the transceiver: (i) sends a polling message in response to receiving the indication of a further packet for transmission; and (ii) listens for that further packet; and in the second mode the transceiver: (i) does not send a polling message in response to receiving the indication of a further packet for transmission; and (ii) listens for packets regardless of whether a received packet indicates that there is a further packet to transmit or not; and a controller configured to monitor an activity level for the transceiver and cause the transceiver to operate in the first or second mode in dependence on the activity level.
1. A device capable of communicating according to a wireless communications protocol, the device comprising:
a transceiver configured to receive packets from a remote device, each packet comprising an indication of whether or not the remote device has a further packet to transmit, the transceiver being operable in a first mode or a second mode, wherein:
in the first mode the transceiver is configured to: (i) send a polling message to the remote device in response to receiving the indication of the remote device having a further packet to transmit; and (ii) listen for that further packet; and
in the second mode the transceiver is configured to: (i) not send a polling message to the remote device in response to receiving the indication of the remote device having a further packet to transmit; and (ii) listen for packets regardless of whether a received packet indicates that the remote device has a further packet to transmit or not; and
a controller configured to:
monitor an activity level for the transceiver by measuring over a period of time the number of packets received indicating that the remote device has further packets to transmit;
compare the monitored activity level with a threshold; and
cause the transceiver to operate in the first mode or the second mode in dependence on said comparison.
2. The device according to claim 1 , wherein the monitoring of the activity level further comprises measuring a rate of number of packets received over time.
3. The device according to claim 1 , wherein the monitoring of the activity level further comprises measuring a rate of amount of data received over time.
4. The device according to claim 1 , wherein the monitoring of the activity level further comprises determining a priority level for data received.
5. The device according to claim 4 , wherein the controller is configured to cause the transceiver to operate in the second mode if the priority level is associated with video and/or voice data.
6. The device according to claim 1 , wherein the transceiver is configured to listen for packets for a greater amount of time in the second mode than in the first mode.
7. The device according to claim 1 , wherein the transceiver is configured to intermittently listen for packets in the first mode and continually listen for packets in the second mode.
8. The device according to claim 1 , wherein the wireless communications protocol is a Wi-Fi protocol.
9. The device according to claim 8 , wherein the first mode is a power save (PS) mode and the second mode is an active mode according to the Wi-Fi protocol.
10. The device according to claim 8 , wherein the indication of whether or not the remote device has a further packet to transmit is dependent on a more data field of a Wi-Fi packet and wherein the polling message is a PS-Poll.
11. The device according to claim 10 , wherein the monitoring of the activity level further comprises measuring a rate of receiving packets having the more data field set to indicate that the remote device has a further packet to transmit.
12. The device according to claim 1 , wherein the monitoring of the activity level further comprises monitoring for a change in an identifier received from one or more remote devices.
13. The device according to claim 1 , wherein the transceiver is caused to operate in the first mode or the second mode further in dependence on the power level of a battery that powers the transceiver.
14. The device according to claim 1 , wherein the controller is configured to cause the transceiver to operate in the second mode in response to the monitored activity level being greater than a first threshold, and cause the transceiver to operate in the first mode in response to the monitored activity level being less than a second threshold; and,
wherein the second threshold is different to the first threshold.
15. A method of communicating according to a wireless communications protocol, the method comprising:
receiving packets from a remote device, each packet comprising an indication of whether or not the remote device has a further packet to transmit;
operating a transceiver in a first mode or a second mode, wherein:
in the first mode the transceiver: (i) sends a polling message to the remote device in response to receiving the indication of the remote device having a further packet to transmit; and (ii) listens for that further packet; and
in the second mode the transceiver: (i) does not send a polling message to the remote device in response to receiving the indication of the remote device having a further packet to transmit; and (ii) listens for packets regardless of whether a received packet indicates that the remote device has a further packet to transmit or not; and
monitoring an activity level for the transceiver by measuring over a period of time the number of packets received that indicate that the remote device has further packets to transmit;
comparing the monitored activity level with a threshold; and
causing the transceiver to operate in the first mode or the second mode in dependence on said comparison.
16. The method according to claim 15 , wherein monitoring the activity level further comprises monitoring for a change in an identifier of one or more remote devices.
17. The method according to claim 15 , further comprising causing the transceiver to operate in the second mode in response to the monitored activity level being greater than a first threshold, and causing the transceiver to operate in the first mode in response to the monitored activity level being less than a second threshold; and,
wherein the second threshold is different to the first threshold.
18. A non-transitory computer readable storage medium having stored thereon computer readable instructions that, when executed at a computer system, cause the computer system to perform a method of communicating according to a wireless communications protocol, the method comprising:
receiving packets from a remote device, each packet comprising an indication of whether or not the remote device has a further packet to transmit;
operating a transceiver in a first mode or a second mode, wherein:
in the first mode the transceiver: (i) sends a polling message to the remote device in response to receiving the indication of the remote device having a further packet to transmit; and (ii) listens for that further packet; and
in the second mode the transceiver: (i) does not send a polling message to the remote device in response to receiving the indication of the remote device having a further packet to transmit; and (ii) listens for packets regardless of whether a received packet indicates that the remote device has a further packet to transmit or not; and
monitoring an activity level for the transceiver by measuring over a period of time the number of packets received that indicate that the remote device has further packets to transmit;
comparing the monitored activity level with a threshold; and
causing the transceiver to operate in the first mode or the second mode in dependence on said comparison.