US2010325640A1PendingUtilityA1

Queueing messages related by affinity set

Assignee: IBMPriority: Jun 17, 2009Filed: Jun 16, 2010Published: Dec 23, 2010
Est. expiryJun 17, 2029(~2.9 yrs left)· nominal 20-yr term from priority
G06F 2209/548G06F 9/546
46
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

In a messaging and queuing system that supports a cluster of logically associated messaging servers for controlling queues of messages, messages are processed. In response to an application program command to a first messaging server, a queue is opened, the queue having multiple instances on further messaging servers of the cluster. Responding to first messaging server putting messages on the queue, messages are distributed among the multiple instances of the queue on their respective messaging servers so as to balance. For the first message of an affinity set, access information for the particular queue instance to which it is put is obtained and stored. The access information may be used in order to send the further message to the particular queue instance and, if said further message is not part of the affinity set, it is put to an instance of the queue as determined by said predetermined rules.

Claims

exact text as granted — not AI-modified
1 . A method of processing messages, including affinity sets of related messages, for use with a messaging and queuing system of the type capable of supporting a cluster, the method comprising:
 in response to an application program command to a messaging server, opening a queue having multiple instances of the queue on respective messaging servers of the cluster, wherein the messaging server is among a plurality of logically associated messaging servers for controlling and hosting queues of messages, wherein the messaging server and respective messaging servers are logically associated;   in response to application program commands to the messaging server to put a plurality of messages on the queue, distributing messages among the multiple instances of the queue so as to balance a workload between at least two messaging servers according to predetermined rules, wherein the at least two messaging servers are among the plurality of logically associated messaging servers;   obtaining and storing access information for a particular queue instance to which a first message of the plurality of messages is put, wherein the first message is a first message of an affinity set; and   in response to an application program command to the messaging server to put a first further message to the queue, wherein the first further message is part of the affinity set, sending the first further message to the particular queue instance using the access information.   
     
     
         2 . The method as claimed in  claim 1 , wherein distributing messages among the multiple instances is specified by an option in an application program command which causes selection of a queue instance to be deferred until a command to put messages on the queue is received. 
     
     
         3 . The method as claimed in  claim 1 , wherein distributing further comprises using an object handle as the access information for selecting the queue instance; and responsive to opening the queue, generating the object handle, wherein opening is performed by the messaging server. 
     
     
         4 . The method as claimed in  claim 3  further comprising:
 referencing an access information associated with a predecessor message of the message; and 
 wherein putting the first further message of the affinity set to the queue comprises putting the first further message to a queue of the predecessor message. 
 
     
     
         5 . The method as claimed in  claim 1  further comprising:
 in response to selecting the particular queue instance for the first message, deriving access information from a message attribute of the first message. 
 
     
     
         6 . The method as claimed in  claim 1  further comprising:
 in response to an application program command to the messaging server to put a second further message to the queue, wherein the second further message is not part of the affinity set, putting the second further message to an instance of the queue as determined by the predetermined rules. 
 
     
     
         7 . A messaging and queuing network for processing messages, including affinity sets of related messages, for use with a messaging and queuing system of the type capable of supporting a cluster, the network comprising:
 a computer system for opening a queue having multiple instances of the queue on respective messaging servers of the cluster, wherein the messaging server is among a plurality of logically associated messaging servers for controlling and hosting queues of messages, wherein the messaging server and respective messaging servers are logically associated; responsive to a commanding to the messaging server by an application program command;   a computer system for distributing messages among the multiple instances of the queue so as to balance a workload between at least two messaging servers according to predetermined rules, wherein the at least two messaging servers are among the plurality of logically associated messaging servers responsive to commanding by an application program command, the messaging server to put a plurality of messages on the queue;   a computer system for obtaining and storing access information for a particular queue instance to which a first message of the plurality of messages is put, wherein the first message is a first message of an affinity set;   a computer system for sending the first further message to the particular queue instance using the access information in response to commanding by an application program command to the messaging server to put a first further message to the queue, wherein the first further message is part of the affinity set; and   a computer system for putting a second further message to an instance of the queue as determined by the predetermined rules, in response to commanding by an application program command to the messaging server to put the second further message to the queue, wherein the second further message is not part of the affinity set.   
     
     
         8 . The messaging and queuing network as claimed in  claim 7 , wherein the computer system for distributing messages among the multiple instances is specified by an option in an application program command which causes selection of a queue instance to be deferred until a command to put messages on the queue is received. 
     
     
         9 . The messaging and queuing network as claimed in  claim 7 , wherein the computer system for distributing further comprises a computer system for using an object handle as the access information for selecting the queue instance; and, a computer system for generating the object handle responsive to opening the queue, wherein opening is performed by the messaging server. 
     
     
         10 . The messaging and queuing network as claimed in  claim 9  further comprising:
 a computer system for referencing an access information associated with a predecessor message of the message; and 
 wherein the computer system for putting the first further message of the affinity set to the queue comprises a computer system for putting the first further message to a queue of the predecessor message. 
 
     
     
         11 . The messaging and queuing network as claimed in  claim 7  further comprising:
 a computer system for deriving access information from a message attribute of the first message in response to selecting the particular queue instance for the first message. 
 
     
     
         12 . The messaging and queuing network of  claim 7 , wherein the computer system for opening opens a queue by supplying a connection handle as a parameter of an MQOPEN call, thereby establishing access to the queue.

Join the waitlist — get patent alerts

Track US2010325640A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.