Claims
- 1. A method for managing messages in a database system, the method comprising the computer-implemented steps of:
receiving one or more requests to enqueue a plurality of messages into a message queue disposed in a volatile memory in the database system, wherein each message from the plurality of messages is associated with a transaction; in response to receiving the one or more requests, storing the plurality of messages in a portion of the volatile memory that is separate from the message queue; and if the transaction commits, then moving the plurality of messages from the portion of the volatile memory to the message queue.
- 2. The method as recited in claim 1, further comprising the computer-implemented step of if the transaction does not commit, then deleting the plurality of messages from the portion of the volatile memory without moving the plurality of messages from the portion of the volatile memory to the message queue.
- 3. The method as recited in claim 2, further comprising the computer-implemented step of if the transaction does not commit Within a specified time, then deleting the plurality of messages from the portion of the volatile memory without moving the plurality of messages from the portion of the volatile memory to the message queue.
- 4. The method as recited in claim 1, wherein the step of moving the plurality of messages from the portion of the volatile memory to the message queue includes deleting the plurality of messages from the portion of the volatile memory.
- 5. The method as recited in claim 1, wherein:
the step of storing the plurality of messages in a portion of the volatile memory that is separate from the message queue includes storing, in a specified order, the plurality of messages in the portion of the volatile memory that is separate from the message queue, and the step of moving the plurality of messages from the portion of the volatile memory to the message queue includes storing the plurality of messages in the message queue in the specified order.
- 6. A computer-readable medium for managing messages in a database system, the computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
receiving one or more requests to enqueue a plurality of messages into a message queue disposed in a volatile memory in the database system, wherein each message from the plurality of messages is associated with a transaction; in response to receiving the one or more requests, storing the plurality of messages in a portion of the volatile memory that is separate from the message queue; and if the transaction commits, then moving the plurality of messages from the portion of the volatile memory to the message queue.
- 7. The computer-readable medium as recited in claim 6, further comprising one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of if the transaction does not commit, then deleting the plurality of messages from the portion of the volatile memory without moving the plurality of messages from the portion of the volatile memory to the message queue.
- 8. The computer-readable medium as recited in claim 7, further comprising one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of if the transaction does not commit within a specified time, then deleting the plurality of messages from the portion of the volatile memory without moving the plurality of messages from the portion of the volatile memory to the message queue.
- 9. The computer-readable medium as recited in claim 6, wherein the step of moving the plurality of messages from the portion of the volatile memory to the message queue includes deleting the plurality of messages from the portion of the volatile memory.
- 10. The computer-readable medium as recited in claim 6, wherein:
the step of storing the plurality of messages in a portion of the volatile memory that is separate from the message queue includes storing, in a specified order, the plurality of messages in the portion of the volatile memory that is separate from the message queue, and the step of moving the plurality of messages from the portion of the volatile memory to the message queue includes storing the plurality of messages in the message queue in the specified order.
- 11. An apparatus for managing messages in a database system, the apparatus comprising a memory one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
receiving one or more requests to enqueue a plurality of messages into a message queue disposed in a volatile memory in the database system, wherein each message from the plurality of messages is associated with a transaction; in response to receiving the one or more requests, storing the plurality of messages in a portion of the volatile memory that is separate from the message queue; and if the transaction commits, then moving the plurality of messages from the portion of the volatile memory to the message queue.
- 12. The apparatus as recited in claim 11, wherein the memory further includes one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of if the transaction does not commit, then deleting the plurality of messages from the portion of the volatile memory without moving the plurality of messages from the portion of the volatile memory to the message queue.
- 13. The apparatus as recited in claim 12, wherein the memory further includes one or more additional instructions which, when executed by the one or more processors, cause the one or more processors to perform the step of if the transaction does not commit within a specified time, then deleting the plurality of messages from the portion of the volatile memory without moving the plurality of messages from the portion of the volatile memory to the message queue.
- 14. The apparatus as recited in claim 11, wherein the step of moving the plurality of messages from the portion of the volatile memory to the message queue includes deleting the plurality of messages from the portion of the volatile memory.
- 15. The apparatus as recited in claim 11, wherein:
the step of storing the plurality of messages in a portion of the volatile memory that is separate from the message queue includes storing, in a specified order, the plurality of messages in the portion of the volatile memory that is separate from the message queue, and the step of moving the plurality of messages from the portion of the volatile memory to the message queue includes storing the plurality of messages in the message queue in the specified order.
RELATED APPLICATION AND CLAIM OF PRIORITY
[0001] This application is a continuation of and claims benefit of U.S. Non Provisional application Ser. No. 10/______ (Attorney Docket No. 50277-2088), entitled “BUFFERED MESSAGE QUEUE ARCHITECTURE FOR DATABASE MANAGEMENT SYSTEMS”, filed on May 21, 2003, which claims the benefit of U.S. Provisional Patent Application No. 60/400,532 (Attorney Docket No. 50277-2066), filed on Aug. 1, 2002, and U.S. Provisional Patent Application No. 60/410,883 (Attorney Docket No. 50277-2081), filed on Sep. 13, 2002. This application is also related to U.S. Non Provisional patent application Ser. No. 10/______ (Attorney Docket No. 50277-2089), entitled “BUFFERED MESSAGE QUEUE ARCHITECTURE FOR DATABASE MANAGEMENT SYSTEMS WITH UNLIMITED BUFFERED MESSAGE QUEUE WITH LIMITED SHARED MEMORY”, filed on May 21, 2003. This application is also related to U.S. Non Provisional patent application Ser. No. 10/______ (Attorney Docket No. 50277-2090), entitled “BUFFERED MESSAGE QUEUE ARCHITECTURE FOR DATABASE MANAGEMENT SYSTEMS WITH GUARANTEED AT LEAST ONCE DELIVERY”, filed on May 21, 2003. This application is also related to U.S. Non Provisional patent application Ser. No. 10/______ (Attorney Docket No. 50277-2091), entitled “BUFFERED MESSAGE QUEUE ARCHITECTURE FOR DATABASE MANAGEMENT SYSTEMS WITH MEMORY OPTIMIZATIONS AND “ZERO COPY” BUFFERED MESSAGE QUEUE”, filed on May 21, 2003.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60400532 |
Aug 2002 |
US |
|
60410883 |
Sep 2002 |
US |