System and method for dequeue optimization using conditional iteration
First Claim
1. A computer readable storage medium storing program instructions that, when executed by one or more processing devices, perform a method, the method comprising:
- aggregating expired messages in a queue to determine expiration times for the expired messages, the queue comprising a first index page, and a first data page and a second data page linked with the first index page;
determining a location in the queue for a next valid message based on a comparison of a current time and the expiration times; and
bypassing at least one of an index page of the queue, or a data page of the queue to dequeue a valid message based on the location.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods for dequeue optimizations in queues are performed by systems and apparatuses. The methods optimize dequeue operations using aggregation of expired messages enqueued in a queue and conditional iteration over enqueued messages based on the aggregation to service dequeue commands. Queues utilize page hierarchies such as root pages, index pages, and data pages. The aggregation of expired messages for pages in the queue determines the latest expired time for messages for a given page, and these latest expired times are stored in their respective pages, including data pages, index pages, and root pages, for use in the conditional iteration. The conditional iteration bypasses pages for which a latest expired time for all messages is prior to the current time when servicing dequeue requests for the queue.
2 Citations
20 Claims
-
1. A computer readable storage medium storing program instructions that, when executed by one or more processing devices, perform a method, the method comprising:
-
aggregating expired messages in a queue to determine expiration times for the expired messages, the queue comprising a first index page, and a first data page and a second data page linked with the first index page; determining a location in the queue for a next valid message based on a comparison of a current time and the expiration times; and bypassing at least one of an index page of the queue, or a data page of the queue to dequeue a valid message based on the location. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
at least one non-volatile storage device configured to store program logic configured to; aggregate expired messages in a queue to determine expiration times for the expired messages, the queue comprising a first index page, and a first data page and a second data page linked with the first index page; determine a location in the queue for a next valid message based on a comparison of a current time and the expiration times; and bypass at least one of an index page of the queue, or a data page of the queue to dequeue a valid message based on the location. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
14. A computer-implemented method comprising:
-
aggregating expired messages in a queue to determine expiration times for the expired messages, the queue comprising a first index page, and a first data page and a second data page linked with the first index page; determining a location in the queue for a next valid message based on a comparison of a current time and the expiration times; and bypassing at least one of an index page of the queue, or a data page of the queue to dequeue a valid message based on the location. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification