Retrieving events from a queue
First Claim
1. In a computer system, a method for retrieving events from an event port, the method comprising:
- receiving from a computer software application, a request to retrieve a specified number of events from an event port to which completed events are posted by one or more event sources;
determining whether the specified number of events is available at the event port;
if the specified number of events is available at the event port, retrieving the specified number of events from the event port and returning the retrieved events to the requesting computer software application;
if fewer events than the specified number of events are available at the event port, placing the request in a request queue with requests to be processed at a later time and ordering the request queue based on priorities of the requests in the request queue, wherein the specified number of events to be retrieved from the event port is used to determine a relative priority of the request in the request queue with respect to other requests in the request queue; and
changing the priorities of the requests in the request queue based on the number of events available at the event port, wherein the changing is further based on a specified number of events to be retrieved as part of at least one request received in response to at least one indication about the number of events available at the event port.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus, including computer program products, implementing and using techniques for retrieving events from an event port. A request to retrieve a specified number of events from an event port to which completed events are posted by one or more event sources is received from a computer software application. It is determined whether the specified number of events is available at the event port. If the specified number of events is available at the event port, the specified number of events is retrieved from the event port and the retrieved events are returned to the requesting computer software application. If fewer events than the specified number of events are available at the event port, the request is placed in a request queue with requests to be processed at a later time and the request queue is ordered based on priorities of the requests in the request queue.
-
Citations
41 Claims
-
1. In a computer system, a method for retrieving events from an event port, the method comprising:
-
receiving from a computer software application, a request to retrieve a specified number of events from an event port to which completed events are posted by one or more event sources; determining whether the specified number of events is available at the event port; if the specified number of events is available at the event port, retrieving the specified number of events from the event port and returning the retrieved events to the requesting computer software application; if fewer events than the specified number of events are available at the event port, placing the request in a request queue with requests to be processed at a later time and ordering the request queue based on priorities of the requests in the request queue, wherein the specified number of events to be retrieved from the event port is used to determine a relative priority of the request in the request queue with respect to other requests in the request queue; and changing the priorities of the requests in the request queue based on the number of events available at the event port, wherein the changing is further based on a specified number of events to be retrieved as part of at least one request received in response to at least one indication about the number of events available at the event port. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer program product, stored on a machine-readable medium, comprising instructions operable to cause a computer to:
-
receive from a computer software application, a request to retrieve a specified number of events from an event port to which completed events are posted by one or more event sources; determine whether the specified number of events is available at the event port; if the specified number of events is available at the event port, retrieve the specified number of events from the event port and returning the retrieved events to the requesting computer software application; if fewer events than the specified number of events are available at the event port, place the request in a request queue with requests to be processed at a later time and order the request queue based on priorities of the requests in the request queue, wherein the specified number of events to be retrieved from the event port is used to determine a relative priority of the request in the request queue with respect to other requests in the request queue; and changing the priorities of the requests in the request queue based on the number of events available at the event port, wherein the changing is further based on a specified number of events to be retrieved as part of at least one request received in response to informing the computer application software about the number of events available at the event port. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A computer system for retrieving transaction events generated by one or more event sources in a computer system, comprising:
- a processor;
an event queue configured to receive transaction events generated by one or more event sources, the event queue being accessible through an event port; a request queue configured to hold requests to retrieve transaction events from the event queue, each request having an associated priority determining a place of the request in the request queue, wherein the specified number of events to be retrieved from the event port is used to determine a relative priority of the request in the request queue with respect to other requests in the request queue; and a queue manager when executed by the processor, operable to; receive requests from a computer software application; organize the received requests in the request queue; determine whether a sufficient number of events are available in the event queue to fill a request with a highest priority in the request queue; if a sufficient number of events is available in the event queue, retrieve the events needed to fill the request with the highest priority in the request queue through the event port and return the filled request to the requesting computer software application; and change the associated priorities of the requests in the request queue based on the number of events available in the event queue, wherein the changing is further based on a specified number of events to be retrieved as part of at least one request received in response to a value set to the number of events available in the event queue. - View Dependent Claims (40, 41)
- a processor;
Specification