Patent ID: 7644197

Claim:
A method, for processing an ordered sequence of elements in one or more queues, comprising: receiving a first element from one or more queues at a first processor, the first element having a first position in a temporal order; processing the first element to generate a first processed element; receiving a second element from the one or more queues at a second processor, the second element having a second position in the temporal order which is after the first position; processing the second element to generate a second processed element, wherein the second processed element is generated before the first processed element is generated; and committing the first and second processed elements to a write queue by: determining that the first element precedes the second element in the temporal order; and in response to determining that the first element precedes the second element in the temporal order, ensuring that the second processed element is committed to the write queue after the first processed element is committed to the write queue even though the second processed element was generated before the first processed element was generated.