STREAM PROCESSING UTILIZING VIRTUAL PROCESSING AGENTS
First Claim
1. A computer-implemented method for delivering events, the method comprising:
- receiving a publication of an event;
identifying a processing agent for receiving information associated with the event based on configurations of the processing agent, wherein the processing agent does not explicitly subscribe to receive the event;
determining if the processing agent is activated;
in response to determining that the processing agent is not activated, activating the processing agent;
delivering the information associated with the event to the processing agent;
receiving a subscription to one or more events from the processing agent; and
delivering the one or more events to the processing agent.
3 Assignments
0 Petitions
Accused Products
Abstract
Technologies are described herein for event delivery and stream processing utilizing virtual processing agents. Upon receiving an event publication in a queue, a runtime system identifies one or more virtual processing agents that might be interested in, but have not explicitly subscribed to, the published event. Event information of the published event is then delivered to the identified virtual processing agents. Prior to the actual delivery, the runtime system further determines if the virtual processing agents have been activated and activates those processing agents that have not been activated. Based on the received event information, some of the virtual processing agents might decide to explicitly submit subscriptions to receive more events from the queue. The explicit subscriptions will trigger the runtime system to deliver the subscribed events to the processing agents, which might include past events that have been published in the queue before the explicit subscription is received.
51 Citations
20 Claims
-
1. A computer-implemented method for delivering events, the method comprising:
-
receiving a publication of an event; identifying a processing agent for receiving information associated with the event based on configurations of the processing agent, wherein the processing agent does not explicitly subscribe to receive the event; determining if the processing agent is activated; in response to determining that the processing agent is not activated, activating the processing agent; delivering the information associated with the event to the processing agent; receiving a subscription to one or more events from the processing agent; and delivering the one or more events to the processing agent. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-readable storage medium having computer-executable instructions stored thereon which, when executed by a computer, cause the computer to:
-
determine a processing agent for receiving an event that is published in a queue and that the processing agent does not explicitly subscribe to, wherein the event is published in the queue through a first virtual stream corresponding to the event; determine if the processing agent is activated; in response to determining that the processing agent is not activated, activate the processing agent; cause event information of the event to be delivered to the processing agent; process an explicit subscription to a second virtual stream defined by the explicit subscription, wherein the explicit subscription is submitted by the processing agent in response to the event information delivered to the processing agent; and cause events in the second virtual stream to be delivered to the processing agent. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A system, comprising one or more computing devices executing a runtime that is configured to:
-
manage a queue for receiving and persisting publications of events; receive a publication of an event in a first virtual stream and forward the publication of the event to the queue; identify a processing agent for delivering event information of the event based on a configuration of the processing agent, wherein the processing agent does not explicitly subscribe to receive the event and is addressable for delivering the event information independent of whether the processing agent is activated or not activated; determine if the processing agent is activated; in response to determining that the processing agent is not activated, activate the processing agent; deliver the event information to the processing agent; receive an explicit subscription to events in a second virtual stream from the processing agent after the event information is delivered to the processing agent; determine whether the explicit subscription specifies past events published in the queue before the explicit subscription is received; in response to determining that the explicit subscription specifies past events, retrieve a past event from the past events published in the queue and push the past events to the second virtual streams, and deliver the events in the second virtual stream to the processing agent. - View Dependent Claims (17, 18, 19, 20)
-
Specification