Scalable queues on a scalable structured storage system
First Claim
1. A computer-implemented method to manage a scalable queue, the method performed in a cloud computing platform and comprising:
- receiving messages to add to a scalable queue, wherein the scalable queue is a virtual queue comprising the plurality of subqueues, wherein the messages are added to the plurality of subqueues, and wherein each message comprises a visibility start time that indicates a processing order for messages in the plurality of subqueues;
ordering the messages in each subqueue based on the visibility start time, wherein the visibility start time indicates when each message is available for dequeing; and
obtaining one or more of the messages based on comparing a time maintained by the cloud computing platform to the visibility start time of the one or more messages, wherein one or more messages are obtained when the visibility start time of the one or more messages is earlier than the time maintained by the cloud computing platform.
1 Assignment
0 Petitions
Accused Products
Abstract
A cloud computing platform contains a structured storage subsystem the provides scalable queues. The cloud computing platform monitors message throughput for the scalable queues and automatically increases or decreases subqueues that provide the operational functionality for each scalable queue. A visibility start time and cloud computing platform time are maintained for each message to provide an approximate first-in-first-out order for messages within each subqueue. A message in a subqueue may be available for processing when the current cloud computing time is greater than the visibility start of the message.
18 Citations
20 Claims
-
1. A computer-implemented method to manage a scalable queue, the method performed in a cloud computing platform and comprising:
-
receiving messages to add to a scalable queue, wherein the scalable queue is a virtual queue comprising the plurality of subqueues, wherein the messages are added to the plurality of subqueues, and wherein each message comprises a visibility start time that indicates a processing order for messages in the plurality of subqueues; ordering the messages in each subqueue based on the visibility start time, wherein the visibility start time indicates when each message is available for dequeing; and obtaining one or more of the messages based on comparing a time maintained by the cloud computing platform to the visibility start time of the one or more messages, wherein one or more messages are obtained when the visibility start time of the one or more messages is earlier than the time maintained by the cloud computing platform. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. One or more tangible computer-readable media storing instructions to perform a method to manage a scalable queue, the method performed in a cloud computing platform and comprising:
-
receiving messages to add to a scalable queue, wherein the scalable queue is a virtual queue comprising a plurality of subqueues, wherein the messages are added to the plurality of subqueues to provide automatic scaling based on a throughput load on the scalable queue, and wherein each message comprises a visibility start time that indicates a processing order for messages in the plurality of subqueues; ordering the messages in each subqueue based on a visibility start time, wherein the visibility start time indicates when each message is available for dequeueing; and obtaining one or more of the messages based on comparing a time maintained by the cloud computing platform to the visibility start time of the one or more messages. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system for managing a scalable queue in a cloud computing platform, the system comprising:
a front end server for; receiving messages to add to a scalable queue, wherein the messages are added to a plurality of subqueues, wherein each message comprises a visibility start time that indicates a processing order for messages in the plurality of subqueues; ordering the messages in each subqueue based on the visibility start time, wherein the visibility start time indicates when each message is available for dequeueing; and obtaining one or more of the messages based on comparing a time maintained by the cloud computing platform to the visibility start time of the one or more messages. - View Dependent Claims (16, 17, 18, 19, 20)
Specification