P
USRE47464EActiveUtilityPatentIndex 47

Intelligent work load manager

Assignee: III HOLDINGS 6 LLCPriority: Apr 27, 2012Filed: Nov 22, 2016Granted: Jun 25, 2019
Est. expiryApr 27, 2032(~5.8 yrs left)· nominal 20-yr term from priority
Inventors:SHIKARI FAIYAZMATTA MADHAV
H04L 67/1008G06F 9/546G06F 2209/548H04L 67/10H04L 43/08H04L 67/1002H04L 67/1001
47
PatentIndex Score
0
Cited by
24
References
54
Claims

Abstract

An apparatus comprising a processor configured to monitor at a recurring interval a plurality of message queues and a plurality of server sessions that access the message queues, determine, at each occurrence of the interval, an appropriate number of server sessions per queue that achieves acceptable load balance, and redistribute the server sessions among the message queues to match the appropriate number of server session per queue upon determining the appropriate number of server sessions and prior to a subsequent occurrence of the interval.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. An apparatus comprising a processor configured to:
 monitor at a recurring interval a plurality of message queues and a plurality of server sessions that access the message queues, wherein the server sessions are distributed among the message queues in a current distribution; 
 determine, at each occurrence of the interval, an appropriate number of server sessions per queue that achieves acceptable load balance; and 
 redistribute the current distribution of the server sessions among the message queues to match the appropriate number of server session sessions per queue upon determining the appropriate number of server sessions and prior to a subsequent occurrence of the interval. 
 
     
     
       2. The apparatus of  claim 1 , wherein the processor is configured to maintain the server sessions for the message queues if the message queues each have a depth beyond a threshold depth value for determining whether a message queue is relatively lightly loaded. 
     
     
       3. The apparatus of  claim 1 , wherein the processor is configured to leave a minimum number of sessions per queue upon redistributing the server sessions among the message queues. 
     
     
       4. The apparatus of  claim 1 , wherein the processor is configured to move a maximum number of sessions per queue upon redistributing the server sessions among the message queues. 
     
     
       5. The apparatus of  claim 1 , wherein the servers' sessions are activation specification sessions implemented using an International Business Machines (IBM) Websphere application program. 
     
     
       6. A method for intelligently managing a work load comprising:
 monitoring at a recurring interval a plurality of message queues and a plurality of server sessions that access the message queues, wherein the server sessions are distributed among the message queues in a current distribution; 
 determining, at each occurrence of the interval, an appropriate number of server sessions per queue that achieves acceptable load balance; and 
 redistributing the current distribution of the server sessions among the message queues to match the appropriate number of server session sessions per queue upon determining the appropriate number of server sessions and prior to a subsequent occurrence of the interval. 
 
     
     
       7. The method of  claim 6 , further comprising maintaining the server sessions for the message queues if the message queues each have a depth beyond a threshold depth value for determining whether a message queue is relatively lightly loaded. 
     
     
       8. The method of  claim 6 , further comprising leaving a minimum number of sessions per queue upon redistributing the server sessions among the message queues. 
     
     
       9. The method of  claim 6 , further comprising moving a maximum number of sessions per queue upon redistributing the server sessions among the message queues. 
     
     
       10. The method of  claim 6 , wherein the servers' sessions are activation specification sessions implemented using an International Business Machines (IBM) Websphere application program. 
     
     
       11. A non-transitory computer-readable medium having computer usable instructions stored thereon for execution by a processor, wherein the instructions cause the processor to:
 monitor at a recurring interval a plurality of message queues and a plurality of server sessions that access the message queues, wherein the server sessions are distributed among the message queues in a current distribution; 
 determine, at each occurrence of the interval, an appropriate number of server sessions per queue that achieves acceptable load balance; and 
 redistribute the current distribution of the server sessions among the message queues to match the appropriate number of server session sessions per queue upon determining the appropriate number of server sessions and prior to a subsequent occurrence of the interval. 
 
     
     
       12. The non-transitory computer-readable medium of  claim 11 , wherein the instructions further cause the processor to maintain the server sessions for the message queues if the message queues each have a depth beyond a threshold depth value for determining whether a message queue is relatively lightly loaded. 
     
     
       13. The non-transitory computer-readable medium of  claim 11 , wherein the instructions further cause the processor to leave a minimum number of sessions per queue upon redistributing the server sessions among the message queues. 
     
     
       14. The non-transitory computer-readable medium of  claim 11 , wherein the instructions further cause the processor to move a maximum number of sessions per queue upon redistributing the server sessions among the message queues. 
     
     
       15. The non-transitory computer-readable medium of  claim 11 , wherein the servers' sessions are activation specification sessions implemented using an International Business Machines (IBM) Websphere application program. 
     
     
       16. An apparatus comprising a processor configured to:
 monitor a plurality of message queues and a plurality of server sessions that access the message queues, wherein the server sessions are distributed among the message queues in a current distribution;   determine an appropriate number of server sessions per queue that achieves acceptable load balance; and   redistribute the current distribution of the server sessions among the message queues to better match the appropriate number of server sessions per queue, based on determining the appropriate number of server sessions.    
     
     
       17. An apparatus according to claim 16, wherein the processor is further configured to:
 maintain the server sessions for the message queues if the message queues each have a depth beyond a threshold depth value for determining whether a message queue is relatively lightly loaded.    
     
     
       18. An apparatus according to claim 16, wherein the processor is further configured to:
 leave a minimum number of sessions per queue upon redistributing the server resources.    
     
     
       19. An apparatus according to claim 16, wherein the processor is further configured to:
 move a maximum number of sessions per queue upon redistributing the server resources among the message queues.    
     
     
       20. A method for intelligently managing a work load, the method comprising:
 monitoring at a recurring interval a plurality of message queues and a plurality of server resources available to service a plurality of server sessions that access the message queues, wherein the server resources are distributed among the message queues in a current distribution;   determining, at each occurrence of the interval, an appropriate number of server resources that achieves acceptable load balance; and   redistributing the current distribution of the server resources among the message queues to better match an appropriate number of server sessions per queue, based on determining the appropriate number of server resources that achieves acceptable load balance and prior to a subsequent occurrence of the interval.    
     
     
       21. A method according to claim 20, further comprising:
 maintaining the server sessions for the message queues if the message queues each have a depth beyond a threshold depth value for determining whether a message queue is relatively lightly loaded.    
     
     
       22. A method according to claim 20, further comprising:
 leaving a minimum number of sessions per queue upon redistributing the server resources.    
     
     
       23. A method according to claim 20, further comprising:
 moving a maximum number of sessions per queue upon redistributing the server resources among the message queues.    
     
     
       24. A non-transitory computer-readable medium having computer usable instructions stored thereon for execution by a processor, wherein the instructions cause the processor to:
 monitor at a recurring interval a plurality of message queues and a plurality of server resources available to service a plurality of server sessions that access the message queues, wherein the server resources are distributed among the message queues in a current distribution;   determine, at each occurrence of the interval, an appropriate number of server resources that achieves acceptable load balance; and   redistribute the current distribution of the server resources among the message queues to better match an appropriate number of server sessions per queue, based on determining the appropriate number of server resources that achieves acceptable load balance and prior to a subsequent occurrence of the interval.    
     
     
       25. A non-transitory computer-readable medium according to claim 24, wherein the instructions further cause the processor to:
 maintain the server sessions for the message queues if the message queues each have a depth beyond a threshold depth value for determining whether a message queue is relatively lightly loaded.    
     
     
       26. A non-transitory computer-readable medium according to claim 24, wherein the instructions further cause the processor to:
 leave a minimum number of sessions per queue upon redistributing the server resources.    
     
     
       27. A non-transitory computer-readable medium according to claim 24, wherein the instructions further cause the processor to:
 move a maximum number of sessions per queue upon redistributing the server resources among the message queues.    
     
     
       28. A method for intelligently adjusting a work load of server resources, the method comprising:
 monitoring how many requests are made to server resources configured to service the requests, thereby resulting in a number of requests made;   comparing the number of requests made to at least one threshold; and   in response to determining that the number of requests made exceeds a first threshold, increasing the number of server resources to service the requests, or in response to determining that the number of requests made is less than a second threshold, decreasing the number of server resources to service the requests.    
     
     
       29. A method according to claim 28, wherein the threshold is a percentage threshold.  
     
     
       30. A method according to claim 28, wherein said increasing the number of server resources to service the requests comprises increasing the number of server resources up to a maximum limit.  
     
     
       31. A method according to claim 28, wherein said decreasing the number of server resources to service the requests comprises decreasing the number of server resources down to a minimum limit.  
     
     
       32. A method according to claim 28, wherein said increasing the number of server resources to service the requests comprises reallocating idle server resources.  
     
     
       33. A method according to claim 28, wherein said increasing the number of server resources to service the requests comprises reallocating server resources having less workload.  
     
     
       34. A method according to claim 28, wherein said increasing the number of server resources to service the requests comprises increasing the number of server resources by a predefined increment.  
     
     
       35. A method according to claim 28, wherein said decreasing the number of server resources to service the requests comprises decreasing the number of server resources by a predefined increment.  
     
     
       36. A method according to claim 28, wherein the steps of the method are performed at a recurring interval.  
     
     
       37. An apparatus comprising a processor configured to:
 monitor how many requests are made to server resources configured to service the requests, thereby resulting in a number of requests made;   compare the number of requests made to at least one threshold; and   in response to determining that the number of requests made exceeds a first threshold, increase the number of server resources to service the requests, or in response to determining that the number of requests made is less than a second threshold, decrease the number of server resources to service the requests.    
     
     
       38. An apparatus according to claim 37, wherein the threshold is a percentage threshold.  
     
     
       39. An apparatus according to claim 37, wherein the processor is further configured to increase the number of server resources to service the requests up to no more than a maximum limit, if the processor determines that the number of requests made exceeds the first threshold.  
     
     
       40. An apparatus according to claim 37, wherein the processor is further configured to decrease the number of server resources down to no less than a minimum limit, if the processor determines that the number of requests made is less than the second threshold.  
     
     
       41. An apparatus according to claim 37, wherein the processor is further configured to increase the number of server resources to service the requests by reallocating idle server resources, if the processor determines that the number of requests made exceeds the first threshold.  
     
     
       42. An apparatus according to claim 37, wherein the processor is further configured to increase the number of server resources to service the requests by reallocating server resources having less workload, if the processor determines that the number of requests made exceeds the first threshold.  
     
     
       43. An apparatus according to claim 37, wherein the processor is further configured to increase the number of server resources by a predefined increment, if the processor determines that the number of requests made exceeds the first threshold.  
     
     
       44. An apparatus according to claim 37, wherein the processor is further configured to decrease the number of server resources by a predefined increment, if the processor determines that the number of requests made is less than the second threshold.  
     
     
       45. An apparatus according to claim 37, wherein the processor is further configured to perform its operations in a loop at a recurring interval.  
     
     
       46. A non-transitory computer-readable medium having computer usable instructions stored thereon for execution by a processor, wherein the instructions cause the processor to:
 monitor how many requests are made to server resources configured to service the requests, thereby resulting in a number of requests made;   compare the number of requests made to at least one threshold; and   in response to determining that the number of requests made exceeds a first threshold, increase the number of server resources to service the requests, or in response to determining that the number of requests made is less than a second threshold, decrease the number of server resources to service the requests.    
     
     
       47. A non-transitory computer-readable medium according to claim 46, wherein the threshold is a percentage threshold.  
     
     
       48. A non-transitory computer-readable medium according to claim 46, wherein the instructions further cause the processor to increase the number of server resources to service the requests up to no more than a maximum limit, in response to determining that the number of requests made exceeds a first threshold.  
     
     
       49. A non-transitory computer-readable medium according to claim 46, wherein the instructions further cause the processor to decrease the number of server resources down to no less than a minimum limit, in response to determining that the number of requests made is less than a second threshold.  
     
     
       50. A non-transitory computer-readable medium according to claim 46, wherein the instructions further cause the processor to increase the number of server resources to service the requests by reallocating idle server resources, in response to determining that the number of requests made exceeds a first threshold.  
     
     
       51. A non-transitory computer-readable medium according to claim 46, wherein the instructions further cause the processor to increase the number of server resources to service the requests by reallocating server resources having less workload, in response to determining that the number of requests made exceeds a first threshold.  
     
     
       52. A non-transitory computer-readable medium according to claim 46, wherein the instructions further cause the processor to increase the number of server resources by a predefined increment, in response to determining that the number of requests made exceeds a first threshold.  
     
     
       53. A non-transitory computer-readable medium according to claim 46, wherein the instructions further cause the processor to decrease the number of server resources by a predefined increment, in response to determining that the number of requests made is less than a second threshold.  
     
     
       54. A non-transitory computer-readable medium according to claim 46, wherein the instructions further cause the processor to perform its operations in a loop at a recurring interval.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.