Stateless application notifications
First Claim
1. A system comprising:
- one or more processors; and
memory storing instructions that, responsive to execution by the one or more processors, causes a notification service to perform acts comprising;
establishing a communication channel with a client application to deliver notifications between an application service and the client application;
generating obfuscated routing data for the communication channel to be used by the application service to direct notifications on the communication channel for the client application through the notification service, the obfuscated routing data not being interpretable by the application service and the client application, the content of the obfuscated routing data being controlled by the notification service;
obtaining a notification packaged with the obfuscated routing data from the application service, the obfuscated routing data encoding a pathway of the communication channel that can be ascertained by the notification service from the obfuscated routing data in process and without looking-up cached state data for the communication channel; and
interpreting the obfuscated routing data to identify the communication channel and direct the notification obtained from the application service 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.
40 Citations
20 Claims
-
1. A system comprising:
-
one or more processors; and memory storing instructions that, responsive to execution by the one or more processors, causes a notification service to perform acts comprising; establishing a communication channel with a client application to deliver notifications between an application service and the client application; generating obfuscated routing data for the communication channel to be used by the application service to direct notifications on the communication channel for the client application through the notification service, the obfuscated routing data not being interpretable by the application service and the client application, the content of the obfuscated routing data being controlled by the notification service; obtaining a notification packaged with the obfuscated routing data from the application service, the obfuscated routing data encoding a pathway of the communication channel that can be ascertained by the notification service from the obfuscated routing data in process and without looking-up cached state data for the communication channel; and interpreting the obfuscated routing data to identify the communication channel and direct the notification obtained from the application service to the client application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. 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 and via a network, a channel handle for the channel from a notification service, the channel handle encoding routing data interpretable by the notification service in process and without looking-up cached state data for the channel to direct notifications on the channel to the application of the client, the content of the routing data being controlled by the notification service; caching at the client a channel handle returned by the notification service in response to the requesting; providing, by the client and via the network, the channel handle returned by the notification service to the application service to enable the application service to use the channel handle to route notifications to the client, the routing data of the channel handle not being interpretable by the application service and the application of the client; and receiving at the client a notification on the channel from the notification service, the notification packaged with the routing data at the application service to cause the notification service to direct the notification on the channel to the client. - View Dependent Claims (11, 12, 13)
-
-
14. A computer implemented method comprising:
-
establishing a communication channel with a client application to deliver notifications between an application service and the client application; generating obfuscated routing data for the communication channel to be used by the application service to direct notifications on the communication channel for the client application through the notification service, the obfuscated routing data not being interpretable by the application service and the client application, the content of the obfuscated routing data being controlled by the notification service; obtaining a notification packaged with the obfuscated routing data from the application service, the obfuscated routing data encoding a pathway of the communication channel that can be ascertained by the notification service from the obfuscated routing data in process and without looking-up cached state data for the communication channel; and interpreting the obfuscated routing data to identify the communication channel and direct the notification obtained from the application service to the client application. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification