Messaging system thread pool
First Claim
Patent Images
1. A computer implemented messaging method, comprising:
- providing a multi-tenant messaging environment comprising enterprise servers having multiple producers and consumers;
providing a minimum of two threads comprising one thread manager and at least one consumer thread;
providing a plurality of queues in which there is one queue per tenant;
providing a dynamically determined thread pool of consumers that poll the queues;
assigning each tenant'"'"'s thread to a queue from said thread pool; and
said thread manager controlling the number of active threads by periodically looking at all threads to determine status, whereinwhen all currently existing threads are busy, the thread manager adds a thread;
when currently existing threads are not all busy, the thread manager takes no action; and
when the thread manager cycles through all threads twice and identifies a thread that does not have a message, the thread manager terminates that thread.
5 Assignments
0 Petitions
Accused Products
Abstract
A thread pool of consumers polls existing queues. A thread manager controls the number of active threads. This approach limits the number of threads, but is still able to keep up with the volume of traffic.
19 Citations
8 Claims
-
1. A computer implemented messaging method, comprising:
-
providing a multi-tenant messaging environment comprising enterprise servers having multiple producers and consumers; providing a minimum of two threads comprising one thread manager and at least one consumer thread; providing a plurality of queues in which there is one queue per tenant; providing a dynamically determined thread pool of consumers that poll the queues; assigning each tenant'"'"'s thread to a queue from said thread pool; and said thread manager controlling the number of active threads by periodically looking at all threads to determine status, wherein when all currently existing threads are busy, the thread manager adds a thread; when currently existing threads are not all busy, the thread manager takes no action; and when the thread manager cycles through all threads twice and identifies a thread that does not have a message, the thread manager terminates that thread. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
Specification