Method for parallel processing of events within multiple event contexts maintaining ordered mutual exclusion
First Claim
Patent Images
1. A method comprising:
- at a computer, dynamically binding an event context to an execution context in response to receiving events by;
maintaining the execution context in an idle state until an event arrives at a head of a global event queue that is accessible by event contexts;
storing, in a memory associated with the computer, arriving events into the global event queue;
storing, in the memory, events from the global event queue in per-execution context event queues; and
associating, at the computer, an event queue with the execution context to temporarily store events for the event context for a duration of the dynamic binding;
removing an event from the events for the event context in the event queue;
placing the event in the event queue of other execution context to which the event context associated with the event is already bound to;
determining the event context;
determining if the event context to which the event belongs is already bound to the execution context;
unbinding the event context; and
returning to the idle state.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for parallel processing of events within multiple event contexts include dynamically binding an event context to an execution context in response to receiving an event by storing arriving events into a global event queue and storing events from the global event queue in per-execution context event queues are described. The techniques associate event queues with the execution contexts to temporarily store the events for a duration of the binding and thus dynamically bind the events received on a per-event basis in the context queues.
-
Citations
17 Claims
-
1. A method comprising:
-
at a computer, dynamically binding an event context to an execution context in response to receiving events by; maintaining the execution context in an idle state until an event arrives at a head of a global event queue that is accessible by event contexts; storing, in a memory associated with the computer, arriving events into the global event queue; storing, in the memory, events from the global event queue in per-execution context event queues; and associating, at the computer, an event queue with the execution context to temporarily store events for the event context for a duration of the dynamic binding; removing an event from the events for the event context in the event queue; placing the event in the event queue of other execution context to which the event context associated with the event is already bound to; determining the event context; determining if the event context to which the event belongs is already bound to the execution context; unbinding the event context; and returning to the idle state. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer program product residing on a computer readable medium for dynamically binding an event context to an execution context in response to receiving events comprising instructions for causing a processor to:
-
maintain the execution context in an idle state until an event arrives at a head of a global event queue that is accessible by event contexts; store events into the global event queue; store events from the global event queue in per-execution context event queues; and associate a FIFO event queue with the execution context to temporarily store events for the event context for a duration of the dynamic binding; remove an event from the events for the event context in the FIFO event queue; place the event in the FIFO event queue of other execution context to which the event context associated with the event is already bound to; determine the event context; determine if the event context to which the event belongs is already bound to the execution context; unbind the event context; and return to the idle state. - View Dependent Claims (14, 15)
-
-
16. A computer system comprising:
-
a processor including multiple processing engines, each processing engine including multiple event contexts; circuitry to dynamically bind an event context to an execution context in response to receiving an event and maintain the execution context in an idle state until an event arrives at a head of a global event queue that is accessible by all event contexts; the global event queue to store arriving events; per-execution context event queues to store events from the global event queue; and a FIFO event queue to temporarily store events for that event context for a duration of the binding, the circuitry further configured to; remove an event from the events for the event context in the FIFO event queue; place the event in the FIFO event queue of other execution context to which the event context associated with the event is already bound to; determine the event context; determine if the event context to which the event belongs is already bound to the execution context; unbind the event context; and return to the idle state. - View Dependent Claims (17)
-
Specification