P
US8479219B2ActiveUtilityPatentIndex 26

Allocating space in message queue for heterogeneous messages

Assignee: GOPALAKRISHNA NEERAJ KPriority: Jun 30, 2010Filed: Jun 30, 2010Granted: Jul 2, 2013
Est. expiryJun 30, 2030(~4 yrs left)· nominal 20-yr term from priority
Inventors:GOPALAKRISHNA NEERAJ KKESAVAN SANJAY MTHYAGARAJ LOHITASHWA
G06F 9/546
26
PatentIndex Score
0
Cited by
22
References
14
Claims

Abstract

Allocating space for storing heterogeneous messages in a message queue according to message classification. The classification may comprise message type, application type, network type, and so forth. Messages of multiple classification values may be queued in a single queue, referred to as a primary queue. When the allocated portion of the primary queue is reached for a particular message classification, then subsequent messages having that classification are sent to a secondary queue for queueing. The secondary queue also allocates space according to message classification. When space for a particular message classification becomes available in the primary queue, one or more messages having that classification may be moved from the secondary queue to the primary queue.

Claims

exact text as granted — not AI-modified
The invention claimed is: 
     
       1. A method of queueing messages in allocated space of a message queue in a computing system, comprising:
 determining a classification of a message to be queued in a message queue that queues messages for a plurality of classifications, further comprising:
 evaluating at least one characteristic of the message; and 
 selecting, from a plurality of predetermined classifications, the classification that corresponds to the evaluated at least one characteristic; 
 
 determining, from a total amount of space of the message queue, an amount of the space that is allocated to queueing messages having the determined classification; 
 determining an amount of the allocated space that is in use for already-queued messages having the determined classification; and 
 if the determined amount of the allocated space that is in use for the already-queued messages having the determined classification does not exceed the determined amount of the space that is allocated to queueing messages having the determined classification, then queueing the message in the message queue and updating the amount of the allocated space that is in use for the already-queued messages having the determined classification, and otherwise, sending the message for queueing temporarily in a secondary queue that is distinct from the message queue. 
 
     
     
       2. The method according to  claim 1 , wherein a determined amount of space of the secondary queue is also allocated to queueing messages having the determined classification. 
     
     
       3. The method according to  claim 1 , wherein the classification is a message type of the message to be queued. 
     
     
       4. The method according to  claim 1 , wherein the message to be queued is classified according to an application which generated the message. 
     
     
       5. The method according to  claim 1 , wherein the message to be queued is classified according to a network type of a network over which the message is sent to the messaging queue to be queued. 
     
     
       6. The method according to  claim 1 , wherein the message to be queued is classified according to a target recipient of the message. 
     
     
       7. The method according to  claim 1 , further comprising responding to receiving the message for queueing temporarily in the secondary queue by:
 determining, from a total amount of space of the secondary queue, an amount of space of the secondary queue which is allocated to queueing messages having the determined classification, the secondary queue queueing messages having a second plurality of classifications; 
 determining an amount of the allocated space of the secondary queue which is in use for already-queued messages having the determined classification; and 
 if the determined amount of the allocated space of the secondary queue which is in use for the already-queued messages having the determined classification does not exceed the determined amount of the space of the secondary queue which is allocated to queueing messages having the determined classification, then queueing the message in the secondary queue and updating the amount of the allocated space of the secondary queue which is in use for the already-queued messages having the determined classification. 
 
     
     
       8. The method according to  claim 7 , further comprising generating a warning that the message cannot be queued when the determined amount of the allocated space of the secondary queue which is in use for the already-queued messages having the determined classification exceeds or equals the determined amount of the allocated space of the secondary queue which is allocated for queueing messages having the determined classification. 
     
     
       9. The method according to  claim 1 , further comprising iteratively evaluating whether the message queue has unused space in the space allocated to queueing messages having any of the plurality of classifications and, if so, determining whether any messages having the any classification are queued in the secondary queue and, if so, moving at least one of the queued messages from the secondary queue to the message queue and updating the amount of the allocated space of the message queue which is in use for already-queued messages having the any classification and the amount of the allocated space of the secondary queue which is in use for already-queued messages having the any classification. 
     
     
       10. The method according to  claim 1 , further comprising iteratively evaluating, for each classification for which at least one message is queued in the secondary queue, whether the message queue has unused space in the space which is allocated to queueing messages having the each classification and, if so, moving at least one of the queued messages from the secondary queue to the message queue and updating the amount of the allocated space of the message queue which is in use for already-queued messages having the each classification and the amount of the allocated space of the secondary queue which is in use for already-queued messages having the each classification. 
     
     
       11. A system for queueing messages in allocated space of a message queue in a computing system, comprising:
 a computer comprising a processor; and 
 instructions which are executable, using the processor, to implement functions comprising:
 determining a classification of a message to be queued in a message queue that queues messages for a plurality of classifications, further comprising:
 evaluating at least one characteristic of the message; and 
 selecting, from a plurality of predetermined classifications, the classification that corresponds to the evaluated at least one characteristic; 
 
 determining, from a total amount of space of the message queue, an amount of the space that is allocated to queueing messages having the determined classification; 
 determining an amount of the allocated space that is in use for already-queued messages having the determined classification; and 
 if the determined amount of the allocated space that is in use for the already-queued messages having the determined classification does not exceed the determined amount of the space that is allocated to queueing messages having the determined classification, then queueing the message in the message queue and updating the amount of the allocated space that is in use for the already-queued messages having the determined classification, and otherwise, sending the message for queueing temporarily in a secondary queue that is distinct from the message queue. 
 
 
     
     
       12. The system according to  claim 11 , wherein the functions further comprise responding to receiving the message for queueing temporarily in the secondary queue by:
 determining, from a total amount of space of the secondary queue, an amount of space of the secondary queue which is allocated to queueing messages having the determined classification, the secondary queue queueing messages having a second plurality of classifications; 
 determining an amount of the allocated space of the secondary queue which is in use for already-queued messages having the determined classification; and 
 if the determined amount of the allocated space of the secondary queue which is in use for the already-queued messages having the determined classification does not exceed the determined amount of the space of the secondary queue which is allocated to queueing messages having the determined classification, then queueing the message in the secondary queue and updating the amount of the allocated space of the secondary queue which is in use for the already-queued messages having the determined classification. 
 
     
     
       13. A computer program product for queueing messages in allocated space of a message queue in a computing system, the computer program product comprising:
 a non-transitory computer readable storage medium having computer readable program code embodied therein, the computer readable program code configured for:
 determining a classification of a message to be queued in a message queue that queues messages for a plurality of classifications, further comprising:
 evaluating at least one characteristic of the message; and 
 selecting, from a plurality of predetermined classifications, the classification that corresponds to the evaluated at least one characteristic; 
 
 determining, from a total amount of space of the message queue, an amount of the space that is allocated to queueing messages having the determined classification; 
 determining an amount of the allocated space that is in use for already-queued messages having the determined classification; and 
 if the determined amount of the allocated space that is in use for the already-queued messages having the determined classification does not exceed the determined amount of the space that is allocated to queueing messages having the determined classification, then queueing the message in the message queue and updating the amount of the allocated space that is in use for the already-queued messages having the determined classification, and otherwise, sending the message for queueing temporarily in a secondary queue that is distinct from the message queue. 
 
 
     
     
       14. The computer program product according to  claim 13 , wherein the computer readable program code is further configured for responding to receiving the message for queueing temporarily in the secondary queue by:
 determining, from a total amount of space of the secondary queue, an amount of space of the secondary queue which is allocated to queueing messages having the determined classification, the secondary queue queueing messages having a second plurality of classifications; 
 determining an amount of the allocated space of the secondary queue which is in use for already-queued messages having the determined classification; and 
 if the determined amount of the allocated space of the secondary queue which is in use for the already-queued messages having the determined classification does not exceed the determined amount of the space of the secondary queue which is allocated to queueing messages having the determined classification, then queueing the message in the secondary queue and updating the amount of the allocated space of the secondary queue which is in use for the already-queued messages having the determined classification.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.