IP Library Granted Patent US 10,623,328
Granted Patent B1
US 10,623,328 · App. 16/003,274 · Granted Apr 14, 2020

Message brokering for asynchronous status updates

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,623,328
App. No.
16/003,274
Granted
Apr 14, 2020
Kind
B1
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 (49)

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.

Assignments (6)
OMNIBUS ASSIGNMENT OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Nov 25, 2024
From: UBS AG, STAMFORD BRANCH (AS SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH IN ITS CAPACITY AS COLLATERAL AGENT)
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS THE SUCCESSOR COLLATERAL AGENT
Reel/Frame 069438/0775 →
CHANGE OF NAME Recorded Apr 3, 2023
From: INTRADO CORPORATION
To: WEST TECHNOLOGY GROUP, LLC
Reel/Frame 063239/0876 →
CHANGE OF NAME Recorded Apr 3, 2023
From: WEST CORPORATION
To: INTRADO CORPORATION
Reel/Frame 063239/0900 →
NOTICE OF GRANT OF SECURITY INTEREST (SECOND LIEN) IN PATENTS Recorded Jan 31, 2023
From: CX360, INC.; WEST TECHNOLOGY GROUP, LLC (FKA INTRADO CORPORATION, FKA WEST CORPORATION); INTRADO INTERACTIVE SERVICES CORPORATION (FKA WEST INTERACTIVE SERVICES CORPORATION, FKA COBALT ACQUISITION COMPANY)
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 062571/0018 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS - FIRST LIEN Recorded May 22, 2019
From: WEST CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 049255/0843 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2018
From: BALACHANDRAN, KARTHIKA; MCMURTRY, KERRY; NASH, JASON RANDALL; PARTHIBHAN, SUBHASH
To: WEST CORPORATION
Reel/Frame 046025/0828 →