Patent ID: 8261286

Claim:
A system comprising: one or more processors implementing a broker that receives messages from the one or more producers for dispatch to a plurality of consumers including a first consumer, wherein the broker maintains: a physical queue storing the messages generated by the one or more producers, wherein each message stored in the physical queue is associated with an identifier, wherein the physical queue has associated therewith a first physical pointer and a second physical pointer, and wherein the first physical pointer indicates a next unacknowledged message in the physical queue, and the second physical pointer indicates a location for writing a next message in the physical queue; a first logical queue managing a first logical pointer and a second logical pointer of the first logical queue, wherein the first logical pointer indicates an identifier of a next in flight message in the physical queue that is yet to be acknowledged by the first consumer and the second logical pointer indicates an identifier of a next backlogged message in the physical queue that is to be dispatched to the first consumer; and a second logical queue managing a first logical pointer and a second logical pointer of the second logical queue, wherein the first logical pointer indicates an identifier of a next in flight message in the physical queue that is yet to be acknowledged by a second consumer and the second logical pointer indicates an identifier of a next backlogged message in the physical queue that is to be dispatched to the second consumer; wherein the broker updates the position of the first physical pointer based at least in part on a minimum of the first pointer of the first logical queue and the first pointer of the second logical queue; and a memory in communication with the one or more processors, wherein the memory stores at least one of the physical queue and the logical queue.