Patent ID: 6769027
Filing Date: 2004-07-27
Classification: G06F

Abstract:
A method for recording the state of a queue containing a plurality of data entities, comprising:(a) providing a first queue comprising a plurality of data entities, a first queue reader operable to read data entities in the first queue, and a first queue writer operable to write data entities onto the first queue, wherein the first queue writer has a corresponding write pointer associated with the first queue to determine a current position of the first queue writer in the first queue and wherein the first queue reader has a corresponding read pointer and a corresponding acknowledge pointer associated with the first queue, the read pointer indicates a next data entity to be read by the first queue reader in the first queue and the acknowledge pointer indicates the last data entity for which an acknowledge signal was received from the first queue reader, wherein at least one of the (i) write pointer and (ii) read and acknowledge pointers has a corresponding backup pointer to track one or more historical positions of a corresponding at least one of the first queue reader and writer in the first queue; (b) periodically setting the at least one backup pointer equal to the at least one of the (i) write pointer and (ii) read and acknowledge pointers of the first queue; (c) after several data entities are written to the first queue by the first queue writer, copying the data entities in the first queue to a second backup queue; and (d) when the first queue is restored, copying data entities from the second backup queue to the first queue and setting the at least one of the (i) write pointer and (ii) read and write pointers to the corresponding backup pointer.