Notifications
AssigneeApple Inc.
InventorsDan T. Dodge, Paul S. Streatch
Life of this patent
Estimating the term…
Abstract
In an embodiment, a server may support notifications using an underlying channel-based messaging scheme. A client may register for one or more notifications from a server, or may poll the server for notifications, using messages on the channel. The notification events may be transmitted on another to the client. The flexibility of the notification system may permit distributed systems to effectively manage their notification events, in some embodiments.
Claims30
A non-transitory computer accessible storage medium storing a plurality of instructions forming a server that implements at least one service when executed on a computer, wherein the plurality of instructions are computer-executable to:
- receive a notification request from a client on a first channel by the server, the notification request specifying at least one response channel and one or more events for which notification is requested;
- arm the one or more events on the server responsive to the notification request;
- receive one or more commands from the client on the first channel by the server, wherein the one or more commands invoke the at least one service on the server on behalf of the client, am wherein the one or more events are detectable by the server when executing the at least one service on behalf of the client;
- detect a first event of the one or more events that are armed responsive to the notification request, the first event detected during execution of the at least one service on the server on behalf of the client;
- and
- in response to detecting the first event and determining that the first event is armed, transmit a notification response from the server to the client on the at least one response channel responsive to detecting at least a first event of the one or more events.
A computer system comprising:
- one or more processors;
- and a non-transitory computer accessible storage medium coupled to the one or more processors and storing a plurality of instructions forming a server that implements at least one service when executed on a computer, wherein the plurality of instructions are executable on the one or more processors to:
- receive a notification request from a client on a first channel by the server, the notification request specifying at least one response channel and one or more events for which notification is requested;
- arm the one or more events on the server responsive to the notification request;
- receive one or more commands from the client on the first channel by the server, wherein the one or more commands invoke the at least one service on the server on behalf of the client, and wherein the one or more events are detectable by the server when executing the at least one service on behalf of the client;
- detect a first event of the one or more events that are armed responsive to the notification request, the first event detected during execution of the at least one service on the server on behalf of the client;
- and
- in response to detecting the first event and determining that the first event is armed, transmit a notification response from the server to the client on the at least one response channel responsive to detecting at least a first event of the one or more events.
A non-transitory computer accessible storage medium storing a plurality of instructions forming a server that implements at least one service when executed on a computer, wherein the plurality of instructions are computer-executable to:
- receive a notification request from a client on a first channel by the server, the notification request specifying at least one response channel and one or more events for which notification is requested, wherein the notification request arms the one or more events;
- transmit a notification response on the at least one response channel responsive to detecting at least a first event of the one or more events and responsive to determining that the first event is armed by the server when executing the service on behalf of the client;
- disarm the first event on the server responsive to the notification request specifying level arming;
- receive a second request from the client on the first channel by the server, wherein the second request is transmitted by the client in response to the notification response indicating the first event;
- and
- automatically re-arm the first event during processing of the second request responsive to an indication in the notification request.
Dependencies are inferred from the claim text.