Thread boundaries comprising functionalities for an event by a single thread and tasks associated with the thread boundaries configured in a defined relationship
First Claim
Patent Images
1. A computer system for processing events, the computer system comprising:
- a plurality of thread boundaries configured to perform a service, wherein a first thread boundary in the plurality of thread boundaries includes at least one task configured to perform at least a part of the service;
a plurality of thread boundary queues coupled to the respective thread boundaries, wherein a first thread boundary queue is configured to hold one or more events, requesting the service, for routing to the first thread boundary and a second thread boundary queue is configured to hold one or more events processed by the first thread boundary for routing to a second thread boundary;
a resource allocation module configured to allocate one or more threads to the first thread boundary based on a comparison of a number of events being held in the first thread boundary queue with a number of events being held in the second thread boundary queue; and
an administrative module configured to control an operation of the plurality of thread boundaries and tasks included within each of the plurality of thread boundaries,wherein the administrative module is configured to dynamically modify a defined relationship between the tasks included within the plurality of thread boundaries.
3 Assignments
0 Petitions
Accused Products
Abstract
Each of a plurality of thread boundaries comprises functionality to be performed for a given event by a single thread. A plurality of queues through which events may be routed may be coupled to the thread boundaries. A plurality of tasks may be configured in a defined relationship, each task being associated with a thread boundary and comprising a unit of code for performing a specific function. Resources may be allocated to thread boundaries based on queue depth.
111 Citations
17 Claims
-
1. A computer system for processing events, the computer system comprising:
-
a plurality of thread boundaries configured to perform a service, wherein a first thread boundary in the plurality of thread boundaries includes at least one task configured to perform at least a part of the service; a plurality of thread boundary queues coupled to the respective thread boundaries, wherein a first thread boundary queue is configured to hold one or more events, requesting the service, for routing to the first thread boundary and a second thread boundary queue is configured to hold one or more events processed by the first thread boundary for routing to a second thread boundary; a resource allocation module configured to allocate one or more threads to the first thread boundary based on a comparison of a number of events being held in the first thread boundary queue with a number of events being held in the second thread boundary queue; and an administrative module configured to control an operation of the plurality of thread boundaries and tasks included within each of the plurality of thread boundaries, wherein the administrative module is configured to dynamically modify a defined relationship between the tasks included within the plurality of thread boundaries. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for processing events, the method comprising:
-
processing, using a processing device, a high level description of an event processing system that specifies communicative couplings relating to; a plurality of thread boundaries that perform a service, a first thread boundary includes at least one task configured to perform at least a part of the service, a plurality of thread boundary queues coupled to the respective thread boundaries, wherein a first thread boundary queue that holds one or more events, requesting the service, for routing to the first thread boundary and a second thread boundary queue that holds one or more events processed by the first thread boundary for routing to a second thread boundary, a resource allocation module that allocates one or more threads to the first thread boundary based on a comparison of a number of events being held in the first thread boundary queue with a number of events being held in the second thread boundary queue; configuring, using the processing device, the at least one task in accordance with the high level description; receiving, using the processing device, a modification to the high level description; and dynamically modifying, using the processing device, the at least one task configuration in accordance with the received modification and a defined relationship between the at least one task and other tasks included in the first thread boundary. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A non-transitory computer readable medium having stored thereon computer-executable instructions, execution of which by a computing device causes the computing device to perform operations comprising:
-
processing a high level description of an event processing system that specifies communicative couplings relating to; a plurality of thread boundaries configured to perform a service, a first thread boundary includes at least one task configured to perform at least a part of the service, a plurality of thread boundary queues coupled to the respective thread boundaries, wherein a first thread boundary queue is configured to hold one or more events, requesting the service, for routing to the first thread boundary and a second thread boundary queue is configured to hold one or more events processed by the first thread boundary for routing to a second thread boundary, a resource allocation module configured to allocate one or more threads to the first thread boundary based on a comparison of a number of events being held in the first thread boundary queue with a number of events being held in the second thread boundary queue; configuring the at least one task in accordance with the high level description; receiving a modification to the high level description; and dynamically modifying the at least one task configuration in accordance with the received modification and a defined relationship between the at least one task and other tasks included in the first thread boundary. - View Dependent Claims (14, 15, 16, 17)
-
Specification