System for workload balancing by resetting an average queue depth upon the start of the server instance
First Claim
Patent Images
1. An apparatus, having a processor, for workload balancing in an asynchronous messaging system comprising:
- means for obtaining an average queue depth of a message queue;
means for controlling a number of server instances of a server for retrieving messages from the message queue based on the average queue depth and one or more predetermined thresholds;
means for determining if the average queue depth exceeds a first predetermined threshold of the one or more predetermined thresholds;
means for initiating the start of a server instance for retrieving messages from the message queue by placing a trigger message on an initialisation queue in response to determining that the average queue depth exceeds the first predetermined threshold of the one or more predetermined thresholds, wherein the trigger message indicates that the server instance is to be started; and
means for resetting the average queue depth to less than the first predetermined threshold immediately upon the start of the server instance in response to determining that the first predetermined threshold has been exceeded.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates to an apparatus and computer program for workload balancing in an asynchronous messaging system. The number of server instances, which process work items from a queue of messages, is controlled based upon that queue'"'"'s average queue depth and one or more predetermined thresholds.
-
Citations
20 Claims
-
1. An apparatus, having a processor, for workload balancing in an asynchronous messaging system comprising:
-
means for obtaining an average queue depth of a message queue; means for controlling a number of server instances of a server for retrieving messages from the message queue based on the average queue depth and one or more predetermined thresholds; means for determining if the average queue depth exceeds a first predetermined threshold of the one or more predetermined thresholds; means for initiating the start of a server instance for retrieving messages from the message queue by placing a trigger message on an initialisation queue in response to determining that the average queue depth exceeds the first predetermined threshold of the one or more predetermined thresholds, wherein the trigger message indicates that the server instance is to be started; and means for resetting the average queue depth to less than the first predetermined threshold immediately upon the start of the server instance in response to determining that the first predetermined threshold has been exceeded. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer program for workload balancing in an asynchronous messaging system, the computer program stored on a computer recordable medium having computer readable program code, wherein the computer readable program code, when executed in a data processing system, causes the data processing system to:
-
obtain an average depth of a message queue; control a number of server instances of a server for retrieving messages from the message queue based on the average queue depth and one or more predetermined thresholds; determine if the average queue depth exceeds a first predetermined threshold of the one or more predetermined thresholds; responsive to determining that the average queue depth exceeds the first predetermined threshold, initiate the start of a server instance for retrieving messages from the message queue by placing a trigger message on an initialisation queue, wherein the trigger message indicates that the server instance is to be started; and responsive to determining that the first predetermined threshold has been exceeded, reset the average queue depth to less than the first predetermined threshold immediately upon the start of the server instance. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A system, comprising:
-
a processor; and a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to; obtain an average depth of a message queue; control a number of server instances of a server for retrieving messages from the message queue based on the average queue depth and one or more predetermined thresholds; determine if the average queue depth exceeds a first predetermined threshold of the one or more predetermined thresholds; responsive to determining that the average queue depth exceeds the first predetermined threshold, initiate the start of a server instance for retrieving messages from the message queue by placing a trigger message on an initialisation queue, wherein the trigger message indicates that the server instance is to be started; and responsive to determining that the first predetermined threshold has been exceeded, reset the average queue depth to less than the first predetermined threshold immediately upon the start of the server instance. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification