×

High-performance memory queue

  • US 7,089,564 B2
  • Filed: 02/22/2001
  • Issued: 08/08/2006
  • Est. Priority Date: 02/22/2001
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method of managing message queues, said method comprising:

  • issuing a transaction to access a queue containing messages resident in volatile memory;

    selectively locking the queue during processing of said transaction, wherein the queue remains unlocked for one or more aspects of the transaction processing; and

    maintaining persistence of one or more messages of said queue, said maintaining persistence comprisingperforming a checkpoint of said queue at predefined time intervals, said performing the checkpoint comprising copying a definition of said queue and contents of said queue, including said one or more messages, to persistent storage;

    between time interval based checkpoints comprising copying said definition of said queue and said contents of said queue, writing information regarding an update of the one or more messages of the queue to a log in persistent storage; and

    wherein the performing of the checkpoint of the queue further comprises;

    (i) obtaining and locking a checkpoint control record;

    (ii) setting a variable “

    current queue”

    equal to a local queue;

    (iii) determining whether the “

    current queue”

    is equal to zero;

    (iv) if the “

    current queue”

    is equal to zero, then waiting for created processes to finish, and thereafter updating the checkpoint control record to indicate checkpointing is complete, and unlocking the record;

    (v) if the “

    current queue”

    is not zero, then determining whether the local queue has changed since the last checkpoint;

    (vi) if the local queue has changed, then creating an asynchronous process to checkpoint the local queue, and thereafter, or if the local queue has not changed since the last checkpoint, then setting the variable “

    current queue”

    equal to a next local queue and repeating said steps (iii)–

    (vi) until each local queue has undergone checkpointing.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×