IP Library Granted Patent US 11,627,099
Granted Patent B2
US 11,627,099 · App. 17/502,164 · Granted Apr 11, 2023

Message ordering buffer

Inventors: Ajay Sunderajan Madhavan (Aurora, IL); Todd James Borro (Evanston, IL); Maximiano J. Martinez (Chicago, IL); David Erik Heitman (Mokena, IL)
Assignee: Chicago Mercantile Exchange Inc.
H04L49/9036H04L47/50H04L47/622H04L47/6275
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 11,627,099
App. No.
17/502,164
Granted
Apr 11, 2023
Kind
B2
Abstract

The disclosed embodiments, collectively referred to as the “Message Ordering Buffer” or “MOB”, relate to an improved messaging platform, or processing system, which may also be referred to as a message processing architecture or platform, which routes messages from a publisher to a subscriber ensuring related messages, e.g., ordered messages, are conveyed to a single recipient, e.g., processing thread, without unnecessarily committing resources of the architecture to that recipient or otherwise preventing message transmission to other recipients. The disclosed embodiments further include additional features which improve efficient and facilitate deployment in different application environments. The disclosed embodiments may be deployed as a message oriented middleware component directly installed, or accessed as a service, and accessed by publishers and subscribers, as described herein, so as to electronically exchange messages therebetween.

Claims (43)

1. A method including:

receiving, by a processor, a request for a first message of selected content from a first requestor, the selected content including multiple messages;

binding, based on the selected content and responsive to the request, a selected lane to the first requestor, the selected lane being unavailable for transmission for other requestors while bound to the first requestor;

sending, via the selected lane while bound, at least a second message of the selected content to the first requestor;

maintaining, by the processor, the binding for the selected lane until a transaction boundary occurs;

determining, by the processor, that the transaction boundary has occurred;

unbinding, by the processor, the first requestor from the selected lane in response to the transaction boundary; and

determining, after unbinding the first requestor from the selected lane and in accord with a contention protocol, to send the selected content to a second requestor before servicing another request from the first requestor, the contention protocol including a round robin servicing order, a first come first served servicing order, a queue priority servicing order, or any combination of the foregoing.

2. The method of claim 1 , where the transaction boundary includes receiving a message rollback from the first requestor, receiving a message commit from the first requestor, or both.

3. The method of claim 1 , where the transaction boundary includes sending a last message of the multiple messages of the selected content.

4. The method of claim 1 , where the transaction boundary includes an expiry of a timeout to request a next message of the selected content.

5. The method of claim 1 , where the request includes a reference to a namespace that uniquely identifies the selected content.

6. The method of claim 1 , where binding the selected lane includes dynamically generating the selected lane by assigning a network transmission resource for operation of the selected lane.

7. The method of claim 6 , where unbinding the selected lane includes dynamically tearing down the selected lane by releasing the network transmission resource.

8. The method of claim 1 , where the selected lane includes a persistent lane generated prior to the request.

9. The method of claim 8 , where binding the selected lane includes determining that the selected content had been published to the selected lane by a publisher of the selected content.

10. The method of claim 1 , where a single unit of order (UOO) includes all of the multiple messages of the selected content.

11. A system including:

transmission circuitry configured to:

receive a request for a first message of selected content from a first requestor, the selected content including multiple messages; and

send via a selected lane while bound, at least a second message of the selected content to the first requestor; and

processing circuitry configured to:

bind, based on the selected content and responsive to the request, the selected lane to the first requestor, the selected lane being unavailable for transmission for other requestors while bound to the first requestor;

maintain the binding for the selected lane until a transaction boundary occurs;

determine that the transaction boundary has occurred; and

unbind the first requestor from the selected lane in response to the transaction boundary; and

determine, after unbinding the first requestor from the selected lane and in accord with a contention protocol, to send the selected content to a second requestor before servicing another request from the first requestor, the contention protocol including a round robin servicing order, a first come first served servicing order, a queue priority servicing order, or any combination of the foregoing.

12. The system of claim 11 , where the transaction boundary includes receiving a message rollback from the first requestor, receiving a message commit from the first requestor, or both.

13. The system of claim 11 , where the transaction boundary includes sending a last message of the multiple messages of the selected content.

14. The system of claim 11 , where the transaction boundary includes an expiry of a timeout to request a next message of the selected content.

15. The system of claim 11 , where the request includes a reference to a namespace that uniquely identifies the selected content.

16. The system of claim 11 , where the processing circuitry is further configured to bind the selected lane by dynamically generating the selected lane by assigning a network transmission resource for operation of the selected lane.

17. The system of claim 16 , where the processing circuitry is further configured to unbind the selected lane by dynamically tearing down the selected lane by releasing the network transmission resource.

18. A product including:

machine-readable media other than a transitory signal; and

instructions stored on the machine-readable media, the instructions configured to, when executed, cause a machine to:

receive a request for a first message of selected content from a first requestor, the selected content including multiple messages;

bind, based on the selected content and responsive to the request, a selected lane to the first requestor, the selected lane being unavailable for transmission for other requestors while bound to the first requestor;

send, via the selected lane while bound, at least a second message of the selected content to the first requestor;

maintain the binding for the selected lane until a transaction boundary occurs;

determine that the transaction boundary has occurred; and

unbind the first requestor from the selected lane in response to the transaction boundary; and

determine, after unbinding the first requestor from the selected lane and in accord with a contention protocol, to send the selected content to a second requestor before servicing another request from the first requestor, the contention protocol including a round robin servicing order, a first come first served servicing order, a queue priority servicing order, or any combination of the foregoing.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2021
From: MADHAVAN, AJAY SUNDERAJAN; BORRO, TODD JAMES; MARTINEZ, MAXIMIANO J.; HEITMAN, DAVID ERIK
To: CHICAGO MERCANTILE EXCHANGE INC.
Reel/Frame 057802/0506 →
Continuity (2)
Continuation 17096004 · Nov 12, 2020
Related Publication 20220150204A1 · May 12, 2022
Cited By (1)
US 12,327,218