EVENT QUEUING AND DISTRIBUTION SYSTEM
First Claim
Patent Images
1. An event distribution system, the system comprising:
- a server configured to respond to event requests via a synchronous client-server protocol, the server further including;
a backing store configured to store an event associated with a channel identifier and to allow subsequent retrieval of the event using the same channel identifier, wherein an event is associated with an event identifier;
a communications module operable to receive event requests and send responses, wherein the communications module receives from a client an event request including a last seen event identifier that indicates a most recent event consumed by the client;
an event filtering system operable to evaluate, modify, and block event requests and responses, wherein the event filtering system sends a response including one or more events that were added to the first channel before the most recent event consumed by the client was added to the first channel; and
an event manager coordinating the use of the backing store, communications module, and event filtering system;
wherein the event requests represent interactions with a distributed filesystem storage system.
5 Assignments
0 Petitions
Accused Products
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.
31 Citations
20 Claims
-
1. An event distribution system, the system comprising:
a server configured to respond to event requests via a synchronous client-server protocol, the server further including; a backing store configured to store an event associated with a channel identifier and to allow subsequent retrieval of the event using the same channel identifier, wherein an event is associated with an event identifier; a communications module operable to receive event requests and send responses, wherein the communications module receives from a client an event request including a last seen event identifier that indicates a most recent event consumed by the client; an event filtering system operable to evaluate, modify, and block event requests and responses, wherein the event filtering system sends a response including one or more events that were added to the first channel before the most recent event consumed by the client was added to the first channel; and an event manager coordinating the use of the backing store, communications module, and event filtering system; wherein the event requests represent interactions with a distributed filesystem storage system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
11. A method comprising:
-
storing in a backing store an event associated with a channel identifier, the backing store enabling subsequent retrieval of the event using the same channel identifier, and each event being associated with an event identifier; receiving an event request including a last seen event identifier that indicates a most recent event consumed by a client, the event request being from the client and representing one or more interactions with a distributed filesystem storage system; and sending a response including one or more events that were added to the first channel before the most recent event consumed by the client was added to the first channel. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-transient computer readable medium containing executable instructions, which when executed on a processor:
-
storing in a backing store an event associated with a channel identifier, the backing store enabling subsequent retrieval of the event using the same channel identifier, and each event being associated with an event identifier; receiving an event request including a last seen event identifier that indicates a most recent event consumed by a client, the event request being from the client and representing one or more interactions with a distributed filesystem storage system; and sending a response including one or more events that were added to the first channel before the most recent event consumed by the client was added to the first channel.
-
Specification