Power efficient brokered communication supporting notification blocking
First Claim
1. A method implemented in a notification service, the method comprising:
- receiving at the notification service, from an application service, a message targeting one of multiple applications on a computing device, the notification service and the application service each being implemented on different devices that are each separate from the computing device;
maintaining at the notification service, while there is a single persistent communication connection between the computing device and the notification service, information that identifies statuses for the multiple applications on the computing device, based at least in part on previously received indications from the computing device of ones of the multiple applications for which notifications are blocked and ones of the multiple applications for which notifications are unblocked, the previously received indications received over the single persistent communication connection, one of the previously received indications comprising an indication, received from the computing device, to block notifications for a particular application, the one previously received indication having been received in response to the particular application not running on the computing device and the particular application not being permitted to run as a background application on the computing device;
determining, based at least in part on a status for one of multiple applications, whether notifications for the one application on the computing device are blocked; and
providing from the notification service, to the computing device over the single persistent communication connection, a notification targeting the one application and including data from the message only in response to determining that notifications for the one application on the computing device are not blocked.
2 Assignments
0 Petitions
Accused Products
Abstract
A notification service receives messages including various data from application services, and provides notifications including that data to the appropriate computing devices. Each computing device includes a notification system that receives notifications from the notification service and provides those notifications to the appropriate applications on the computing device. If an application is not allowed to run on a computing device, the notification system on the computing device provides an indication to the notification service to block notifications for the application on the computing device. The notification service ceases providing notifications to a computing device targeting applications for which notifications are blocked on the computing device until an indication is received from the computing device to unblock notifications for the application.
-
Citations
20 Claims
-
1. A method implemented in a notification service, the method comprising:
-
receiving at the notification service, from an application service, a message targeting one of multiple applications on a computing device, the notification service and the application service each being implemented on different devices that are each separate from the computing device; maintaining at the notification service, while there is a single persistent communication connection between the computing device and the notification service, information that identifies statuses for the multiple applications on the computing device, based at least in part on previously received indications from the computing device of ones of the multiple applications for which notifications are blocked and ones of the multiple applications for which notifications are unblocked, the previously received indications received over the single persistent communication connection, one of the previously received indications comprising an indication, received from the computing device, to block notifications for a particular application, the one previously received indication having been received in response to the particular application not running on the computing device and the particular application not being permitted to run as a background application on the computing device; determining, based at least in part on a status for one of multiple applications, whether notifications for the one application on the computing device are blocked; and providing from the notification service, to the computing device over the single persistent communication connection, a notification targeting the one application and including data from the message only in response to determining that notifications for the one application on the computing device are not blocked. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. One or more computer-readable storage media having stored thereon multiple instructions that, responsive to execution by one or more processors of a first computing device, cause the one or more processors to:
-
receive, from a notification service implemented on a second computing device separate from the first computing device, a notification targeting an application of multiple applications on the first computing device, the notification service maintaining, while there is a single persistent communication connection between the first computing device and the notification service, information that identifies statuses for the multiple applications on the first computing device based at least in part on previously received indications from the first computing device of ones of the multiple applications for which notifications are blocked and ones of the multiple applications for which notifications are unblocked; determine whether the application is allowed to run on the first computing device; provide, in response to determining that the application is allowed to run on the first computing device, the notification to the application; and send over the single persistent communication connection, in response to determining that the application is not allowed to run on the first computing device, a blocked indication to the notification service indicating that notifications targeting the application on the first computing device are not to be sent to the first computing device, the determining that the application is not allowed to run on the first computing device comprising determining that the application is not allowed to run in response to the application not running on the computing device and the application not being permitted to run as a background application on the computing device. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A first computing device, comprising at least a memory configured to store executable instructions for a brokered communication notification system and one or more processors configured to execute the instructions for the brokered communication notification system that is configured to:
-
receive, from a notification service implemented on a second computing device separate from the first computing device, a notification targeting one application of multiple applications on the first computing device, the notification service maintaining, while there is a single persistent communication connection between the first computing device and the notification service, information that identifies statuses for the multiple applications on the first computing device, based at least in part on previously received indications from the first computing device of ones of the multiple applications for which notifications are blocked and ones of the multiple applications for which notifications are unblocked, the previously received indications received over the single persistent communication connection, one of the previously received indications comprising an indication, received from the first computing device, to block notifications for a particular application, the one previously received indication having been received in response to the particular application not running on the computing device and the particular application not being permitted to run as a background application on the computing device; determine, at the first computing device, whether the one application is allowed to run on the first computing device, the one application being allowed to run on the first computing device if the one application is running or is permitted to run as a background application on the first computing device, and the one application not being allowed to run on the first computing device if the one application is not running and is not permitted to run as a background application on the first computing device; provide, in response to determining that the one application is allowed to run on the first computing device, the notification to the one application; send over the single persistent communication connection, in response to determining that the one application is not allowed to run on the first computing device, a blocked indication to the notification service indicating that notifications targeting the one application are not to be sent to the first computing device; determine, at the first computing device after returning the blocked indication to the notification service, that the one application is allowed to run on the first computing device; and send an unblocked indication to the notification service indicating that notifications targeting the one application are to be sent to the first computing device. - View Dependent Claims (18, 19, 20)
-
Specification