Patent ID: 7865684

Claim:
A method for writing data to a plurality of queues, each portion of a first data being written to a different corresponding one of the queues, the method including: without requiring concurrent locking of more than one queue, determining if a space is available in each queue for writing a corresponding portion of the first data, and if available, reserving the spaces in the queues to ensure that a space in a given queue remains available until a corresponding portion of the first data can be written to the given queue; writing each portion of the first data to a different corresponding one of the queues without locking the corresponding queue while writing the portion of the first data; and writing second data, different from the first data, to at least one queue of the plurality of queues while reserving space for the corresponding portion of the first data including locking the queue to which the second data is being written, determining that space is available in the queue for writing the corresponding portion of the first data and the second data, and writing the second data.