US10623328B1ActiveUtility
Message brokering for asynchronous status updates
Est. expiryJun 8, 2038(~11.8 yrs left)· nominal 20-yr term from priority
H04L 43/16H04L 43/0858H04L 47/50H04L 47/6275
76
PatentIndex Score
5
Cited by
11
References
14
Claims
Abstract
One example method of operation may include one or more of receiving messages from different clients, storing the messages in a queue, identifying the clients assigned to the messages, assigning the messages to different threads in a thread pool based on the identified clients, and processing the messages via the different threads.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method, comprising:
receiving a plurality of messages from a plurality of different clients;
storing the plurality of messages in a queue;
identifying corresponding clients, of the plurality of different clients, assigned to the plurality of messages;
assigning a message, of the plurality of messages, to a fast lane thread and assigning a message, of the plurality of messages to a slow lane thread, where the fast lane thread and the slow lane thread are in a thread pool, and the assigning is based on the corresponding clients;
identifying level of concurrency for a destination;
assigning the message, assigned to the fast lane thread, to a fast lane overflow thread when the level of concurrency is above a threshold level of concurrency;
assigning the message, assigned the slow lane thread, to a slow lane overflow thread when the level of concurrency is below a threshold level of concurrency; and
processing the messages via the assigned fast lane overflow thread and the assigned slow lane overflow thread.
2. The method of claim 1 , wherein the identifying the corresponding clients comprises:
identifying client reputations based on message processing compliance times.
3. The method of claim 1 , wherein the queue is a first-in-first-out (FIFO) queue.
4. The method of claim 1 , wherein the processing the plurality of messages further comprises:
determining whether a message, of the plurality of messages has reached an intended destination.
5. The method of claim 4 , wherein the processing the plurality of messages further comprises:
receiving a confirmation that a message, of the plurality of messages, has been delivered.
6. An apparatus, comprising:
a receiver configured to receive a plurality of messages from a plurality of different clients; and
a processor configured to:
store the plurality of messages in a queue;
identify corresponding clients, of the plurality of different clients, assigned to the plurality of messages;
assign a message, of the plurality of messages, to a fast lane thread and assigning a message, of the plurality of messages to a slow lane thread, where the fast lane thread and the slow lane thread are in a thread pool, and the assigning is based on the corresponding clients;
identify level of concurrency for a destination;
assign the message, assigned to the fast lane thread, to a fast lane overflow thread when the level of concurrency is above a threshold level of concurrency;
assign the message, assigned the slow lane thread, to a slow lane overflow thread when the level of concurrency is below a threshold level of concurrency; and
process the messages via the assigned fast lane overflow thread and the assigned slow lane overflow thread.
7. The apparatus of claim 6 , wherein the processor is further configured to:
identify the corresponding clients based on message processing compliance times.
8. The apparatus of claim 6 , wherein the queue is a first-in-first-out (FIFO) queue.
9. The apparatus of claim 6 , wherein the processor is further configured to:
determine whether a message, of the plurality of messages has reached an intended destination.
10. The apparatus of claim 9 , wherein the processor is further configured to:
receive a confirmation that a message, of the plurality of messages, has been delivered.
11. A non-transitory computer readable storage medium configured to store one or more instructions that when executed by a processor cause the processor to perform:
receiving a plurality of messages from a plurality of different clients;
storing the plurality of messages in a queue;
identifying corresponding clients, of the plurality of different clients, assigned to the plurality of messages;
assigning a message, of the plurality of messages, to a fast lane thread and assigning a message, of the plurality of messages to a slow lane thread, where the fast lane thread and the slow lane thread are in a thread pool, and the assigning is based on the corresponding clients;
identifying level of concurrency for a destination;
assigning the message, assigned to the fast lane thread, to a fast lane overflow thread when the level of concurrency is above a threshold level of concurrency;
assigning the message, assigned the slow lane thread, to a slow lane overflow thread when the level of concurrency is below a threshold level of concurrency; and
processing the messages via the assigned fast lane overflow thread and the assigned slow lane overflow thread.
12. The non-transitory computer readable storage medium of claim 11 , wherein the identifying the corresponding clients comprises:
identifying client reputations based on message processing compliance times.
13. The non-transitory computer readable storage medium of claim 11 , wherein the queue is a first-in-first-out (FIFO) queue.
14. The non-transitory computer readable storage medium of claim 11 , wherein the processing the plurality of messages via the different threads comprises:
determining whether a message, of the plurality of messages has reached an intended destination, and
wherein processing the plurality of messages via the different threads further comprises:
receiving a confirmation that a message, of the plurality of messages, has been delivered.Join the waitlist — get patent alerts
Track US10623328B1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.