Commit-time ordered message queue supporting arbitrary read and dequeue patterns from multiple subscribers
First Claim
1. A method comprising performing a machine-executed operation involving instructions, wherein the machine-executed operation is at least one of:
- A) sending said instructions over transmission media;
B) receiving said instructions over transmission media;
C) storing said instructions onto a machine-readable storage medium; and
D) executing the instructions;
wherein said instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of;
in response to a request, from a client of a database system, to enqueue one or more first messages, the database system adding said one or more first messages to a message queue, said one or more first messages associated with a first database transaction being executed for said client, committing the first database transaction;
wherein committing the first database transaction includes determining a unique system commit time corresponding to the first database transaction, wherein system commit times corresponding to respective database transactions are based on transactional dependencies among database transactions;
associating the unique system commit time with the one or more first messages; and
ordering messages in the message queue based on the unique system commit time.
1 Assignment
0 Petitions
Accused Products
Abstract
Data consistency in the context of information sharing requires maintenance of dependencies among information being shared. Transactional dependency ordering is implemented in a database system message queue, by associating a unique system commit time with each transactional message group. Read consistency is implemented in such a queue by allowing only messages with a fully determined order to be visible. A fully determined order is implemented through use of a high watermark, which guarantees that future transactions, for which messages are entering the queue, have commit times that are greater than the current high watermark. Therefore, only messages below the current high watermark are visible and can be dequeued, with no chance of other new messages enqueuing below the current high watermark.
-
Citations
13 Claims
-
1. A method comprising performing a machine-executed operation involving instructions, wherein the machine-executed operation is at least one of:
-
A) sending said instructions over transmission media;
B) receiving said instructions over transmission media;
C) storing said instructions onto a machine-readable storage medium; and
D) executing the instructions;
wherein said instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of;
in response to a request, from a client of a database system, to enqueue one or more first messages, the database system adding said one or more first messages to a message queue, said one or more first messages associated with a first database transaction being executed for said client, committing the first database transaction;
wherein committing the first database transaction includes determining a unique system commit time corresponding to the first database transaction, wherein system commit times corresponding to respective database transactions are based on transactional dependencies among database transactions;
associating the unique system commit time with the one or more first messages; and
ordering messages in the message queue based on the unique system commit time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
Specification