Allocating space in message queue for heterogeneous messages
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-modifiedThe 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.