Disclosed are a queue management system and a method of managing a queue.
This system and method are for use with a parallel processing system
including a plurality of clients and a plurality of processors. The
clients receive messages and transmit the messages to a shared queue for
storage, and the processors retrieve messages from the shared queue and
process said messages. The queue management system includes a mirror
queue for maintaining a copy of each message transmitted to the shared
queue by one of the clients; and the queue management system stores to
the mirror queue, a copy of each message transmitted to the shared queue
by that one of the clients. The mirror queue provides the system with
continuity in case of an outage of the shared queue. In the event of such
an outage, each instance of an application can simply discontinue using
the shared queue and process requests from the mirror queue. The mirror
queue is used until the shared queue is once again available. Preferably,
the copy of each message transmitted to the mirror queue is provided with
a reference, such as a poiner, to the location of the message on the
shared queue.