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 including at least a first server and a second server, wherein the plurality of servers interconnected by at least one network:
wherein the first server is configured to:
maintain a first order book for an item to be traded;
receive a first order for the item, wherein the first order includes a quantity;
place the first order in the first order book, wherein the first server is responsible for controlling execution of contra-orders against the first order; and
communicate the first order on the network;
wherein the second server is configured to:
maintain a second order book for the item;
receive the first order communicated by the first server;
place the first order in the second order book;
receive a second order for the item;
determine the second order is a contra-order to the first order; and
in response to determining the second order is a contra-order to the first order, communicate the second order to the first server;
wherein the first server is further configured to:
receive the second order from the second server;
determine whether the first order is available;
when available, execute a trade between the first and second orders;
remove the first order from the first order book when the second order is for all available quantity of the first order; and
communicate a confirmation message on the network indicating the first order is traded against; and
wherein the second server is further configured to:
receive the confirmation message; and
in response to receiving the confirmation message, remove the first order from the second order book when the second order is for all available quantity of the first order.