Patent ID: 8078820

Claim:
A method including: assigning a first transaction to a first data structure that stores messages for a queue and is used exclusively for messages in the first transaction; assigning a second transaction to a second data structure that stores messages for a queue, is separate from the first data structure, and is shared by a plurality of transactions; storing a plurality of messages in the first transaction in the first data structure; storing at least some messages in the second transaction in the second data structure; committing the first and second transactions after the messages in the first transaction have been stored in the first data structure and the messages in the second transaction have been stored in the second data structure; adding a message to the second data structure in response to the first transaction being committed, the message locating the messages stored in the first data structure; reading messages in the second transaction from the second data structure after the second transaction has been committed; and reading a plurality of the messages in the first transaction from contiguous memory locations after the first transaction has been committed.