Managing notifications pushed to user devices
In one embodiment, a first computing device receives a communication from a second computing device. If the communication is a keep-alive ping from the second computing device for a network connection between the first computing device and the second computing device, then the first computing device sends a response to the ping to the second computing device using a secondary processor of the first computing device.
1. A method comprising, by a mobile client device:
receiving, at the mobile client device, a communication from a remote server, wherein the mobile client device comprises a primary processor and a secondary processor, wherein the secondary processor is a sensors hub for managing one or more sensors monitoring an internal state of the mobile client device; and
processing, by the mobile client device, the communication based on the type of communication, wherein:
if the communication is a ping from the remote server, then sending, by the secondary processor of the mobile client device, a response to the communication from the remote server, or
if the communication is a non-interruptive notification, then storing, by the secondary processor of the mobile client device, the communication in a memory of the mobile client device while the primary processor is in a sleep mode.
2. The method of claim 1 , wherein the communication is received while the primary processor of the mobile client device is in the sleep mode.
3. The method of claim 1 , further comprising presenting the non-interruptive notification to a user of the mobile client device when the primary processor wakes up from the sleep mode.
4. The method of claim 1 , wherein if the communication is an interruptive notification, then waking up, by the secondary processor, the primary processor of the mobile client device to handle the communication.
5. The method of claim 1 , further comprising:
monitoring, by the one or more sensors managed by the secondary processor, a status of the mobile client device while the primary processor of the mobile client device is in the sleep mode; and
if there is a task that needs to be performed by the primary processor, then waking up, by the secondary processor, the primary processor of the mobile client device.
6. The method of claim 1 , wherein the secondary processor consumes less power than the primary processor.
7. The method of claim 1 , wherein the one or more sensors of the mobile client device comprise one or more of:
an altimeter;
a motion sensor;
a light sensor;
a temperature sensor; or
a biometric sensor.
8. The method of claim 1 , wherein the non-interruptive notification does not require immediate attention of a user of the mobile client device.
9. A mobile client device comprising:
a memory comprising instructions executable by two or more processors; and
the two or more processors coupled to the memory and operable to execute the instructions, the two or more processors being operable when executing the instructions to:
receive a communication from a remote server, wherein the two or more processors of the mobile client device comprises a primary processor and a secondary processor, wherein the secondary processor is a sensors hub for managing one or more sensors monitoring an internal state of the mobile client device; and
process the communication based on the type of communication, wherein:
if the communication is a ping from the remote server, then send, by the secondary processor of the mobile client device, a response to the communication from the remote server, or
if the communication is a non-interruptive notification, then store, by the secondary processor of the mobile client device, the communication in the memory of the mobile client device while the primary processor is in a sleep mode.
10. The mobile client device of claim 9 , wherein the communication is received while the primary processor of the mobile client device is in the sleep mode.
11. The mobile client device of claim 9 , wherein the two or more processors are further operable when executing the instructions to present the non-interruptive notification to a user of the mobile client device when the primary processor wakes up from the sleep mode.
12. The mobile client device of claim 9 , wherein the two or more processors are further operable when executing the instructions to if the communication is an interruptive notification, then wake up, by the secondary processor, the primary processor of the mobile client device to handle the communication.
13. The mobile client device of claim 9 , wherein the two or more processors are further operable when executing the instructions to:
monitor, by the one or more sensors managed by the secondary processor, a status of the mobile client device while the primary processor of the mobile client device is in the sleep mode; and
if there is a task that needs to be performed by the primary processor, then wake up, by the secondary processor, the primary processor of the mobile client device.
14. The mobile client device of claim 9 , wherein the secondary processor consumes less power than the primary processor.
15. The mobile client device of claim 9 , wherein the non-interruptive notification does not require immediate attention of a user of the mobile client device.
16. One or more computer-readable non-transitory storage media embodying software that is operable when executed by a mobile client device to:
receive, at the mobile client device, a communication from a remote server, wherein the mobile client device comprises a primary processor and a secondary processor, wherein the secondary processor is a sensors hub for managing one or more sensors monitoring an internal state of the mobile client device; and
process, by the mobile client device, the communication based on the type of communication, wherein:
if the communication is a ping from the remote server, then send, by the secondary processor of the mobile client device, a response to the communication from the remote server, or
if the communication is a non-interruptive notification, then store, by the secondary processor of the mobile client device, the communication in a memory of the mobile client device while the primary processor is in a sleep mode.
17. The media of claim 16 , wherein:
the communication is received while the primary processor of the mobile client device is in the sleep mode; and
the software is further operable when executed by the mobile client device to:
if the communication is an interruptive notification, then wake up, by the secondary processor, the primary processor of the mobile client device to handle the communication.
18. The media of claim 16 , wherein the software is further operable when executed by the mobile client device to:
monitor, by the one or more sensors managed by the secondary processor, a status of the mobile client device while the primary processor of the mobile client device is in the sleep mode; and
if there is a task that needs to be performed by the primary processor, then wake up, by the secondary processor, the primary processor of the mobile client device.
19. The media of claim 16 , wherein the sensors hub consumes less power than the primary processor.
20. The media of claim 16 , wherein the non-interruptive notification does not require immediate attention of a user of the mobile client device.