Stateless Application Notifications
First Claim
1. One or more computer-readable storage media storing instructions, that when executed by a computing device, cause the computing device to implement an notification service configured to perform acts comprising:
- establishing a communication channel with a client application to deliver notifications from an application service to the client application;
generating obfuscated routing data for the communication channel usable by the application service to direct notifications on the channel through the notification service;
issuing the obfuscated routing data for use by the application service;
obtaining a notification packaged with the obfuscated routing data from the application service; and
interpreting the obfuscated routing data to identify the communication channel and direct the notification to the client application.
2 Assignments
0 Petitions
Accused Products
Abstract
Stateless application notifications are described that enable third parties to provide messages to client applications. A communication channel can be established between a notification service and an application. Upon request, the notification service can generate obfuscated routing data for the channel, which can be in the form of a channel handle or token. The routing data can be encrypted and digitally signed to obscure the content and format of the routing data from third parties. An application service possessing the obfuscated routing data can package a notification with the data and send the package to the notification service for delivery. The application service does so without knowing the channel particulars encoded by the obfuscated routing data. The notification service that produces the obfuscated routing data can decrypt and interpret the data, and deliver the notification on the channel to an appropriate endpoint application on behalf of the application service.
57 Citations
20 Claims
-
1. One or more computer-readable storage media storing instructions, that when executed by a computing device, cause the computing device to implement an notification service configured to perform acts comprising:
-
establishing a communication channel with a client application to deliver notifications from an application service to the client application; generating obfuscated routing data for the communication channel usable by the application service to direct notifications on the channel through the notification service; issuing the obfuscated routing data for use by the application service; obtaining a notification packaged with the obfuscated routing data from the application service; and interpreting the obfuscated routing data to identify the communication channel and direct the notification to the client application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 12)
-
-
11. The one or more computer-readable storage media of claim 11, wherein the channel handle is constructed as a uniform resource identifier (URI) that encodes a combination of the client application, a client device, and a user of the client device.
-
13. A computer implemented method comprising:
-
obtaining a request from a client for a token associated with a channel established to enable notifications from an application service to an application of the client; generating the token containing routing data that encodes a delivery pathway for the channel; encrypting and digitally signing the token to obfuscate the routing data from third parties; returning the token to the client to enable the client to employ the channel for notifications from the application service; obtaining a notification for delivery to the application of the client that uses the token; decrypting the token to retrieve the routing data and verify the validity of the routing data; delivering the notification to the client based on the routing data retrieved from the token. - View Dependent Claims (14, 15, 16)
-
-
17. A computer implemented method comprising:
-
initiating, by a client, creation of a channel to provide notifications from an application service to an application of the client; requesting, by the client, a channel handle for the channel from a notification service the channel handle encoding routing data interpretable by the notification service to direct notifications on the channel to the application of the client; caching at the client a channel handle returned by the notification service in response to the requesting; providing, by the client, the channel handle to the application service; receiving at the client a notification on the channel from the notification service, the notification sent by the application service in association with the channel handle to cause the notification service to direct the notification on the channel. - View Dependent Claims (18, 19, 20)
-
Specification