Patent ID: 7464138

Claim:
A queue management system for managing a queue in a parallel processing system including a plurality of client processors, a plurality of server processors, and a shared queue, each of the client processors including an associated mirror queue, and wherein the client processors generate messages and copy the messages onto the shared queue, and the server processors retrieve messages from the shared queue, process the retrieved messages to generate responses, and place said generated responses onto the shared queue, the queue management system comprising: copy means on each of the client processors for copying onto the mirror queue associated with said each client processor the messages copied by said each of the client procesors onto the shared queue; and removing means on each of the client processors, for removing, after one of the messages that was copied into the shared queue by said each client processor is processed by one of the server processors, the copy of said one of the messages from the shared queue; and wherein, at specified times, each of the client processors discontinues use of the shared queue and processes messages on the mirror queue associated with said each client processor; and after said specified times, said each of the client processors resumes use of the shared queue, and copies onto the shared queue outstanding messages from the mirror queue associated with said each of the client processors; wherein: each client processor maintains a local copy of each message generated by said each client processor; and after copying said one of the messages onto the shared queue, said each client processor updates said local copy of said one of the messages with a reference to the location of said one of the messages on the shared queue, and then copies said local copy of said one of the messages, including said reference onto the mirror queue.