US2018007144A1PendingUtilityA1

Event queuing and distribution system

Assignee: RACKSPACE US INCPriority: Apr 27, 2011Filed: May 16, 2017Published: Jan 4, 2018
Est. expiryApr 27, 2031(~4.7 yrs left)· nominal 20-yr term from priority
G06F 2209/548H04L 67/141G06F 9/542G06F 16/182G06F 17/30194
47
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A REST-based event distribution system is described, with particular applicability to the distribution of distributed filesystem notifications over a high-latency best-effort network such as the Internet. In one embodiment, event channels are mapped to URL spaces and created and distributed through the use of HTTP POST and GET requests. The system is optimized for short polling by clients; an event history is maintained to buffer messages and maintain the idempotence of requests. In another embodiment, the events are registered as a SIP event pack allowing for the distribution of filesystem events.

Claims

exact text as granted — not AI-modified
1 - 20 . (canceled) 
     
     
         1 . An event distribution system, the system comprising:
 a server operable to receive a series of event notifications and generate one or more messages to a message-receiving client, the server further including:
 a backing store configured to store a first event associated with a first channel identifier and to allow subsequent retrieval of the first event using the first channel identifier, wherein the first event is associated with a first event identifier; 
 a channel manager operable to receive one or more message subscription requests via a synchronous protocol and maintain an open channel associated with each message subscription request until such channel times out or is closed, and wherein a message subscription request includes a second event identifier, where the second event identifier corresponds to an event temporally prior to the first event identifier; 
 an event manager operable to receive the series of event notifications and evaluate whether to create a response corresponding to the event notification, to create a modified response, or to block the generation of a response; 
 a communications manager operable to generate one or more server-side event messages suitable for distribution on a channel; 
 wherein the generation of event messages is controlled by the evaluation by the event manager that a response or a modified response should be created, 
 wherein the server-side event message includes a unique event identifier. 
   
     
     
         2 . The event distribution system of  claim 1 , wherein the synchronous protocol is one of HTTP, HTTPS, and SIP. 
     
     
         3 . The event distribution system of  claim 1 , wherein the event messages suitable for distribution on a channel are in a format chosen from the group of a Javascript array, JSON, BSON, XML, HTML, and plain text. 
     
     
         4 . The event distribution system of  claim 1 , wherein the channel identifier is a URI. 
     
     
         5 . The event distribution system of  claim 1 , wherein the event manager uses the event filtering system to identify a set of essential parameters that characterize a request, the set of essential parameters including a channel identifier; and wherein every request including identical parameters returns an identical response via the communications manager. 
     
     
         6 . The event distribution system of  claim 7 , wherein the set of essential parameters includes a temporal range; and wherein a request with identical parameters includes a request made within the defined temporal range. 
     
     
         7 . A method comprising:
 at a server, receiving a series of message subscriptions, event notifications and generating one or more messages to a message-receiving client,
 wherein receiving the series of message subscriptions includes receiving one or more message subscription requests via a synchronous protocol; and 
 maintaining an open channel associated with each message subscription request until such channel times out or is closed; and 
 retrieving from a message subscription request a first event identifier, the first event identifier internally corresponding to an event time; 
 wherein receiving a series of event notifications includes storing a plurality of event information in a backing store associated with a first channel identifier; and 
 evaluating for each of the event notifications, via a channel manager, whether to create a message corresponding to the event notification, to create a modified response, or to block the generation of a message; and 
 wherein generating one or more messages to a message-receiving client includes creating a server-side event message in a format suitable for sending on one or more open channels; and 
 wherein the server-side event message includes a unique event identifier. 
   
     
     
         8 . The method of  claim 7 , further comprising sending the server-side event message via an open channel. 
     
     
         9 . The method of  claim 8 , wherein sending the server-side event is done via a synchronous client-server protocol. 
     
     
         10 . The method of  claim 8 , wherein sending the server-side event is done via one of HTTP, HTTPS, and SIP. 
     
     
         11 . The method of  claim 7 , wherein the receiving an event notification includes receiving an event publishing request, wherein the event publishing request includes an event publishing verb and a subject, wherein the event publishing request is transmitted using one of HTTP and HTTPS, and wherein the event publishing verb is one of POST and PUT. 
     
     
         12 . The method of  claim 7 , wherein the channel identifier is a URI. 
     
     
         13 . The method of  claim 7 , wherein the server-side event message includes a representation of one or more events. 
     
     
         14 . The method of  claim 7 , wherein the format suitable for sending on one or more open channels is selected from the group consisting of a Javascript array, JSON, BSON, XML, HTML, and plain text. 
     
     
         15 . The method of  claim 7 , wherein each event notification corresponds to the generation of a server-side event message. 
     
     
         16 . The method of  claim 7 , wherein a plurality of event notifications correspond to a single generated server-side event message. 
     
     
         17 . The method of  claim 7 , wherein the message-receiving client is a web browser.

Join the waitlist — get patent alerts

Track US2018007144A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.