IP Library Granted Patent US 9,311,673
Granted Patent B2
US 9,311,673 · App. 10/206,150 · Granted Apr 12, 2016

Security transaction matching

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 9,311,673
App. No.
10/206,150
Granted
Apr 12, 2016
Kind
B2
Abstract

A securities processor includes non-volatile storage, a first-in-first-out queue maintained in the non-volatile storage to store events, a random access memory, and an order book maintained in the random access memory to store one or more events corresponding to quotes or outstanding orders related to a security. A matching process receives the events from the queue, determines whether the event can be matched with a contra-side event stored in the order book, and executes a transaction between the received event and a matched contra side event if a match is found.

Claims (46)

1. A computer system apparatus, the apparatus comprising:

non-volatile storage;

a random access memory;

a first-in-first-out event queue maintained in the non-volatile storage, the event queue configured to store a set of events, the set of events comprising incoming orders for a security;

an order book maintained in the random access memory, the order book configured to store one or more outstanding orders for the security;

an order file maintained in the non-volatile storage, the order file configured to store the orders stored in the order book; and

a processor configured to perform operations that include:

receiving an event that includes an order for the security;

responsive to the receiving the event, storing the event in the event queue in the non-volatile storage;

after storing the event in the event queue:

attempting to match the order against the outstanding orders stored in the order book in the random access memory;

determining that the order cannot be matched against any of the outstanding orders stored in the order book; and

responsive to the determining that the order cannot be matched, simultaneously writing the order to the order book in the random access memory and writing the order to the order file in the non-volatile storage,

wherein:

the attempting to match the order against the outstanding orders is performed within a matching process that is executed by the processor;

only the matching process is permitted to access the order book in the random access memory; and

one or more modules executed by the processor are permitted to access the order file in the non-volatile storage.

2. The apparatus of claim 1 wherein the set of events further includes a quote to sell the security, a quote to buy the security, and an instruction to modify a previous quote for the security.

3. The apparatus of claim 1 wherein the set of events further includes a supervisory command that affects orders or quotes related to the security.

4. The apparatus of claim 3 wherein the supervisory command is a command to halt trading in the security.

5. The apparatus of claim 1 , wherein the operations further include:

after power to the apparatus is lost and restored, reconstructing the order book in the random access memory based on the order file in the non-volatile storage.

6. The apparatus of claim 5 , wherein the reconstructing the order book includes comparing the event queue in the non-volatile storage to the order file in the non-volatile storage.

7. A computer system comprising:

a processor;

non-volatile storage coupled to the processor; and

a random access memory coupled to the processor;

wherein the non-volatile memory is configured to store a first-in-first-out event queue, the event queue configured to store events, the events comprising orders for a security;

wherein the random access memory is configured to store an order book, the order book including outstanding orders for the security;

wherein the non-volatile memory is configured to store an order file; and

wherein the random access memory is configured to store instructions that, when executed by the processor, cause the processor to perform operations that include:

storing an event in the event queue, the event including an order for the security;

determining whether the order can be matched with a contra-side order stored in the order book; and

responsive to determining that the order cannot be matched:

writing the order to the order book; and

when writing the order to the order book, writing the order to the order file,

wherein:

the determining whether the order can be matched with a contra-side order stored in the order book is performed within a matching process that is executed by the processor;

only the matching process is permitted to access the order book in the random access memory; and

one or more modules executed by the processor are permitted to access the order file in the non-volatile storage.

8. The computer system of claim 7 wherein the events further include a quote to buy the security, a quote to sell the security, or an instruction to modify a previous quote for the security.

9. The computer system of claim 7 wherein the events further include a supervisory command that affects orders or quotes related to the security.

10. The computer system of claim 9 wherein the supervisory command is a command to halt transactions in the security.

11. The computer system of claim 7 , wherein the operations further include:

after power to the computer system is lost and restored, reconstructing the order book based on the order file.

12. The computer system of claim 11 , wherein the reconstructing the order book includes comparing the event queue to the order file.

Assignments (9)
CHANGE OF NAME Recorded Oct 9, 2015
From: THE NASDAQ OMX GROUP, INC.
To: NASDAQ, INC.
Reel/Frame 036822/0452 →
CHANGE OF NAME Recorded Mar 28, 2008
From: NASDAQ STOCK MARKET, INC., THE
To: NASDAQ OMX GROUP, INC., THE
Reel/Frame 020747/0105 →
SECURITY AGREEMENT Recorded Mar 5, 2008
From: THE NASDAQ STOCK MARKET, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 020599/0436 →
PATENT SECURITY AGREEMENT Recorded Feb 28, 2008
From: NASDAQ STOCK MARKET, INC., THE
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 020617/0355 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Oct 11, 2007
From: BANK OF AMERICA, N.A.
To: THE NASDAQ STOCK MARKET, INC.
Reel/Frame 019943/0733 →
SECURITY AGREEMENT Recorded Apr 21, 2006
From: THE NASDAQ STOCK MARKET, INC.
To: BANK OF AMERICA, N.A. AS COLLATERAL AGENT
Reel/Frame 017507/0308 →
TERMINATION AND RELEASE AGREEMENT Recorded Apr 19, 2006
From: JPMORGAN CHASE BANK N.A., AS ADMINISTRATIVE AGENT
To: THE NASDAQ STOCK MARKET, INC.
Reel/Frame 017492/0228 →
SECURITY AGREEMENT Recorded Jan 11, 2006
From: NASDAQ STOCK MARKET, INC., THE
To: JP MORGAN CHASE BANK, N.A.
Reel/Frame 017222/0503 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2002
From: HUGHES, JOHN T. JR.; FRIEDMAN, BRUCE E.
To: NASDAQ STOCK MARKET, INC., THE
Reel/Frame 013452/0840 →