A highly available, high-performance memory queue. Locking of the queue is
minimized in order to provide a highly available queue and to improve
performance of the queue. Multiple updates of the queue can occur under a
single lock. Further, messages of the queue are persistent. A
time-initiated checkpointing process, as well as the storing of message
information on a recovery log, ensures the persistence of the queue
messages.