Distributed matching engine
A system includes a plurality of servers that are configured to execute a distributed matching system for the trading of one or more items.
1 . A system comprising a plurality of servers connected to a network, the system is configured to:
each of the plurality of servers is configured to:
maintain, a distinct book of orders to trade one or more items, each of the orders including a quantity and each of the one or more items being assigned a unique port similarly identified on the plurality of servers;
receive a first order to trade a first item of the one or more items;
when the first item of the one or more items in the first order are maintained in the distinct book, (i) place the first order in the book, (ii) control execution of one or more contra-orders against the first order, and (iii) communicate the first order to the plurality of servers over the unique port assigned to the first item of the one or more items; and
when the first order is the one or more contra-orders to trade the first item of the one or more items, (i) communicate the first order to a first server of the plurality of servers responsible for controlling execution of the one or more contra-orders against the first order, (ii) remove, by the first server, the quantity of the first order from its book of orders, and (iii) communicate, by the first server over the unique port, a confirmation message to the plurality of servers indicating the first order was traded.
2 . The system of claim 1 , wherein the one or more items are selected from (i) financial instruments including fixed income securities, equities, foreign exchange, (ii) real-estate property including lots, homes, commercial buildings, and (iii) consumer products including cars, electronics, and airline and concert tickets.
3 . The system of claim 2 , wherein at least one of the plurality of servers performs a clearing transaction to trade the one or more items.
4 . The system of claim 1 , wherein the book of orders comprises received and generated orders to trade the one or more items.
5 . The system of claim 1 , wherein when the distinct book of orders of the first server does not include the first item of the one or more items to be traded the first server does not receive the orders for the first item of the one or more items.
6 . The system of claim 1 , wherein the orders are removed from the book when a total quantity of the first order is removed.
7 . A method comprising:
maintaining, on each of a plurality of servers connected to a network, a distinct book of orders to trade one or more items, each of the orders including a quantity and each of the one or more items being assigned a unique port similarly identified on the plurality of servers;
receiving a first order to trade a first item of the one or more items;
when the first item of the one or more items in the first order are maintained in the distinct book, (i) placing the first order in the book, (ii) controlling execution of one or more contra-orders against the first order, and (iii) communicating the first order to the plurality of servers over the unique port assigned to the first item of the one or more items; and
when the first order is the one or more contra-orders to trade the first item of the one or more items, (i) communicating the first order to a first server of the plurality of servers responsible for controlling execution of the one or more contra-orders against the first order, (ii) removing, by the first server, the quantity of the first order from its book of orders, and (iii) communicating, by the first server over the unique port, a confirmation message to the plurality of servers indicating the first order was traded.
8 . The method of claim 7 , wherein the one or more items are selected from (i) financial instruments including fixed income securities, equities, foreign exchange, (ii) real-estate property including lots, homes, commercial buildings, and (iii) consumer products including cars, electronics, and airline and concert tickets.
9 . The method of claim 8 , wherein at least one of the plurality of servers performs a clearing transaction to trade the one or more items.
10 . The method of claim 7 , wherein the book of orders comprises received and generated orders to trade the one or more items.
11 . The method of claim 7 , wherein when the distinct book of orders of the first server does not include the first item of the one or more items to be traded the first server does not receive the orders for the first item of the one or more items.
12 . The method of claim 7 , wherein the orders are removed from the book when a total quantity of the first order is removed.