Computer program product for a shared queue structure for data integrity
First Claim
1. A computer program product for use with a computer system, said computer program product comprising a computer usable medium having computer readable program code means embodied in said medium for allowing one or more processing systems to process client requests, said computer readable program code means comprising:
- computer readable program code means for enabling a first data processing system having a first data processing application program running thereon to submit a message for processing;
computer readable program code means for enabling one of a plurality of second data processing systems to receive said message and transmit said message for storage on a queue;
computer readable program code means for enabling one of said plurality of second data processing systems to retrieve said message from said queue and process said message via one or more data processing programs running thereon, and transmit a second message to said queue;
computer readable program code means for enabling a queue processor and shared storage device to provide communications between said plurality of second data processing systems, and to store said message in said queue in the form of a list entry, said queue comprising;
a plurality of queue types having one or more list headers, wherein said message is stored within said list entry associated with a list header associated with one of said queue types based on the type of said message,wherein each of said one or more list headers is accessible at any given time by only one of said second data processing systems, such that said one or more list headers minimize contention for access to messages located therein.
0 Assignments
0 Petitions
Accused Products
Abstract
A shared queue is provided to allow any of a plurality of systems to process messages received by clients of a data processing environment. A received message is enqueued onto the shared queue. Any of the plurality of systems having available processing capacity can retrieve the message from the shared queue and process the message. A response to the message, where appropriate, is enqueued onto the shared queue for delivery back to the client. A unique list structure is provided to implement the queue. The list structure is comprised of a plurality of sublists, or queue types. Each queue type is divided into a plurality of list headers. List entries, containing data from the received messages, are chained off of the list headers. A common queue server is used to interface to the queue and to store messages thereon. The common queue server stores message data in storage buffers, and then transfers this data to the list entries. Thus, common queue server coordinates the enqueuing of data onto the shared queue.
100 Citations
12 Claims
-
1. A computer program product for use with a computer system, said computer program product comprising a computer usable medium having computer readable program code means embodied in said medium for allowing one or more processing systems to process client requests, said computer readable program code means comprising:
-
computer readable program code means for enabling a first data processing system having a first data processing application program running thereon to submit a message for processing; computer readable program code means for enabling one of a plurality of second data processing systems to receive said message and transmit said message for storage on a queue; computer readable program code means for enabling one of said plurality of second data processing systems to retrieve said message from said queue and process said message via one or more data processing programs running thereon, and transmit a second message to said queue; computer readable program code means for enabling a queue processor and shared storage device to provide communications between said plurality of second data processing systems, and to store said message in said queue in the form of a list entry, said queue comprising; a plurality of queue types having one or more list headers, wherein said message is stored within said list entry associated with a list header associated with one of said queue types based on the type of said message, wherein each of said one or more list headers is accessible at any given time by only one of said second data processing systems, such that said one or more list headers minimize contention for access to messages located therein. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
Specification