Browse Prior Art Database

Dynamic policy for queue artefacts in messaging systems with respect to resource prioritisation Disclosure Number: IPCOM000239028D
Publication Date: 2014-Oct-02
Document File: 2 page(s) / 25K

Publishing Venue

The Prior Art Database


This article describes providing additional control over prioritisation levels on MOM queue definitions to enable resource assignment by workload management processes.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 53% of the total text.

Page 01 of 2

Dynamic policy for queue artefacts in messaging systems with respect to resource prioritisation

Message Oriented Middleware (MOM) solutions are typically accessed by multiple applications and can have hundreds of queue artefacts defined, each serving different roles. There may be queues servicing audit / error / batch / real-time processes as an example. Users can currently set priorities on messages and applications that modify priorities of messages and applications going through a particular queue point, but there is nothing to give that control over what queues should have priority over others. A user can define a QOS on a queue (i.e. Persistent / Non-Persistent) but a MOM administrator cannot control what queues should have priority over other queues.

    In the solution herein, the queue artefacts are augmented with an additional property describing the prioritisation level of a queue. This can be implemented on a numeric scale or queues can be augmented with a usage type - such as real-time traffic / audit / failure - and this information is utilised to map to resource prioritisation levels. This enables MOM administrators to dynamically define and apply policy to the queue artefact itself to control what share of resources / priority certain queues should have.

    A user defines a queue and is prompted for the expected usage from a drop down list. When the queue is accessed (for instance a connection requested, a message put / get command processed) resources can be prioritised appropriately for the importance of the processing, for instance, connections can be provided to applications accessing queues with higher priorities, and similar to CPU prioritisation of the thread performing any message processing. The priority can additionally be propagated to additional threads, for instance, for CPU priority additional data can be added to the requests picked up by thread pools, or priority levels set on spawned threads.

    This can be used in addition to priority levels defined on messages to provide finer grained control over prioritisation of resources. For example:

Queue 1 contains Messag...