Context-based notification delivery
First Claim
1. A method comprising:
- accessing, by a computing system, data representing a first contextual value for a notification client;
determining, by the computing system, that the first contextual value for the notification client corresponds to a second contextual value for at least one exchange point of a plurality of exchange points, wherein each of the plurality of exchange points comprises a logical grouping of notifications, wherein each of the plurality of exchange points is accessible by a plurality of clients for publishing or listening to the notifications;
establishing, by the computing system, a persistent connection between the notification client and the at least one exchange point based on the first contextual value corresponding to the second contextual value, wherein the persistent connection is configured to provide access to streams of notification data associated with the at least one exchange point; and
terminating, by the computing system, the persistent connection between the notification client and the at least one exchange point in response to at least one of the first contextual value and the second contextual value being modified such that the first contextual value does not correspond to the second contextual value.
2 Assignments
0 Petitions
Accused Products
Abstract
A notification relay service architecture can utilize one or more computing platforms that are configured to rely on a connectivity descriptor. The connectivity descriptor can express permissions of various users of the notification relay service to publish to and/or listen to notifications from one or more “exchange points.” The notification relay service can receive notifications from publishers intended for various exchange points and push notifications at exchange points to users without need for the notification relay service components to manage or even understand the underlying relationship(s) between publishers and subscribers. Server-based and/or client-based evaluations of a client'"'"'s current context can be used to control whether and how notifications are relayed to/from the client.
77 Citations
20 Claims
-
1. A method comprising:
-
accessing, by a computing system, data representing a first contextual value for a notification client; determining, by the computing system, that the first contextual value for the notification client corresponds to a second contextual value for at least one exchange point of a plurality of exchange points, wherein each of the plurality of exchange points comprises a logical grouping of notifications, wherein each of the plurality of exchange points is accessible by a plurality of clients for publishing or listening to the notifications; establishing, by the computing system, a persistent connection between the notification client and the at least one exchange point based on the first contextual value corresponding to the second contextual value, wherein the persistent connection is configured to provide access to streams of notification data associated with the at least one exchange point; and terminating, by the computing system, the persistent connection between the notification client and the at least one exchange point in response to at least one of the first contextual value and the second contextual value being modified such that the first contextual value does not correspond to the second contextual value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory computer-readable medium tangibly embodying program code executable by a computing system, the program code comprising:
-
program code for accessing data representing a first contextual value for a notification client; program code for determining that the first contextual value for the notification client corresponds to a second contextual value for at least one exchange point of a plurality of exchange points, wherein each of the plurality of exchange points comprises a logical grouping of notifications, wherein each of the plurality of exchange points is accessible by a plurality of clients for publishing or listening to the notifications; and program code for providing a persistent connection between the notification client and the at least one exchange point, wherein the persistent connection is configured to provide access to streams of notification data associated with the at least one exchange point; wherein determining that the first contextual value corresponds to the second contextual value comprises at least one of; determining that the first contextual value comprising a direction of movement relative to the at least one exchange point by a client device associated with the notification client satisfies the second contextual value comprising a required direction of movement or a required range of directions of movement;
ordetermining that the first contextual value comprising a past treatment of the previous notifications satisfies the second contextual value comprising a threshold level of past treatment of previous notifications associated with the at least one exchange point. - View Dependent Claims (11)
-
-
12. A non-transitory computer-readable medium embodying program components executable by a processor to provide a notification client, the program components comprising:
-
an interface module configured to establish a connection to a notification relay service; an access manager module configured to identify a plurality of exchange points for which the notification client has listening or publishing permission, wherein each of the plurality of exchange points comprises a logical grouping of notifications, wherein each of the plurality of exchange points is accessible by a plurality of clients for publishing or listening to the notifications; a context manager module configured to; access data representing a first contextual value for the notification client; and determine that the first contextual value for the notification client corresponds to a second contextual value for at least one exchange point; and a notification request module configured to request a persistent connection between the notification client and the at least one exchange point based on the first contextual value corresponding to the second contextual value, wherein the persistent connection is configured to provide access to streams of notification data associated with the at least one exchange point, wherein the persistent connection is terminated based on at least one of the first contextual value and the second contextual value being modified such that the first contextual value does not correspond to the second contextual value. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A notification server comprising:
-
a processor; a non-transitory computer-readable medium accessible by the processor; wherein the processor is configured to execute program components embodied in the non-transitory computer-readable medium, wherein executing the program components causes the notification server to perform acts comprising; determining a plurality of exchange points for which a notification client has listening or publishing permission, wherein each of the plurality of exchange points comprises a logical grouping of notifications, wherein each of the plurality of exchange points is accessible by a plurality of clients for publishing or listening to the notifications; accessing data representing a first contextual value for the notification client; determining that the first contextual value for the notification client corresponds to a second contextual value for at least one exchange point of the plurality of exchange points; establishing a persistent connection between the notification client and the at least one exchange point based on the first contextual value corresponding to the second contextual value, wherein the persistent connection is configured to provide access to streams of notification data associated with the at least one exchange point; and terminating the persistent connection between the notification client and the at least one exchange point in response to at least one of the first contextual value and the second contextual value being modified such that the first contextual value does not correspond to the second contextual value. - View Dependent Claims (19, 20)
-
Specification