Apparatus and method for load balancing among data communications ports in automated securities trading systems
First Claim
1. A method of balancing data communications loads among data communications ports in systems for automated trading of securities, the systems including at least one broker-dealer system coupled through at least one data communications system to more than one market system, the method comprising:
- sending electronically a first order from a broker-dealer system to a market via a first port connected to said market, there being at least said first port and a second port connected between said broker-dealer and said market;
receiving through said first port from said market to which the first port is coupled an acknowledgment of said first order;
sending the acknowledgment from said first port to the broker-dealer system;
determining that the first port is not overloaded, the determination being dependent upon at least the first order, and the acknowledgment; and
sending a second order through the first port to the market, the sending of the second order being dependent upon the determination that the first port is not overloaded.
14 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for balancing data communications loads among data communications ports in systems for automated trading of securities. Embodiments typically include receiving acknowledgments of orders previously sent through a port from a broker-dealer system to a market, sending acknowledgments to the broker-dealer system, and determining that port are not overloaded. Various embodiments make determinations of overload on the basis of latency, net order count, or order count compared with acknowledgment count. Alternative embodiments send orders only through least-loaded ports. Least-loaded ports are identified on the basis of latency, net order count, or a combination of the two.
123 Citations
22 Claims
-
1. A method of balancing data communications loads among data communications ports in systems for automated trading of securities, the systems including at least one broker-dealer system coupled through at least one data communications system to more than one market system, the method comprising:
-
sending electronically a first order from a broker-dealer system to a market via a first port connected to said market, there being at least said first port and a second port connected between said broker-dealer and said market; receiving through said first port from said market to which the first port is coupled an acknowledgment of said first order; sending the acknowledgment from said first port to the broker-dealer system; determining that the first port is not overloaded, the determination being dependent upon at least the first order, and the acknowledgment; and sending a second order through the first port to the market, the sending of the second order being dependent upon the determination that the first port is not overloaded. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 21)
-
-
10. A method of balancing data communications loads among data communications ports in systems for automated trading of securities, the systems including at least one broker-dealer system coupled through at least one data communications system to more than one market system, the method comprising:
-
sending electronically a first order from a broker-dealer system to a market via a first port connected to said market, there being at least said first port and a second port connected between said broker-dealer and said market; receiving through said first port from said market to which the first port is coupled an acknowledgment of said first order; sending the acknowledgment from said first port to the broker-dealer system; determining that the first port is not overloaded, the determination being dependent upon at least the first order, and the acknowledgment; and sending a second order through the first port to the market, the sending of the second order being dependent upon the determination that the first port is not overloaded; determining, before sending the second order through the first port to the market, that the first port is a least-loaded port, herein sending the order through the first port to the market is dependent upon determining that the first port is a least-loaded port; determining a net order count and a latency for said first port, wherein the net order count for said first port indicates the net number of orders sent through the first port to the market for which acknowledgments have not yet been received from the market, wherein latency for the first port comprises a measure of the speed with which markets return acknowledgments for orders, wherein any other ports coupled to the market have corresponding net order counts and latencies, wherein determining that the first port is a least-loaded port comprises determining that the product of the net order count for the first port multiplied by, the latency for the first port is not greater than the product of the net order count and the latency for any of said other ports coupled to the market.
-
-
11. A load balancing system for automated trading of securities in which data communications loads are balanced among data communications ports, the load balancing system coupled to a multiplicity of ports organized so that one market is coupled to the broker-dealer system through more than one port, the load balancing system operative when a new order from a broker-dealer system is available and ready to be sent through a port to said market, the load balancing system operative continually in turn upon each port assigned to said market, the load balancing system comprising:
-
computer memory; at least one computer processor coupled for data communications to said computer memory and said broker-dealer system, and coupled through said data communications ports to more than one market, the processor programmed to; receive through a port from a market to which the port is coupled an acknowledgment of a first order; send the acknowledgment to the broker-dealer system; determine that the port is not overloaded, the determination being dependent at least upon the first order, and the acknowledgment, and send a second order through the port to the market, the sending of the second order being dependent upon the determination that the port is not overloaded; and store in said computer memory by the processor the acknowledgment and the second order. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 22)
-
-
20. A load balancing system for automated trading of securities in which data communications loads are balanced among data communications ports, the load balancing system coupled to a multiplicity of ports organized so that one market is coupled to the broker-dealer system through more than one port, the load balancing system operative when a new order from a broker-dealer system is available and ready to be sent through a port to said market, the load balancing system operative continually in turn upon each port assigned to said market, the load balancing system comprising:
-
computer memory; at least one computer processor coupled for data communications to said computer memory and said broker-dealer system, and coupled through said data communications ports to more than one market, the processor programmed to; receive through a port from a market to which the port is coupled an acknowledgment of a first order; send the acknowledgment to the broker-dealer system; determine that the port is not overloaded, the determination being dependent at least upon the first order, and the acknowledgment and send a second order through the port to the market, the sending of the second order being dependent upon the determination that the port is not overloaded; and store in said computer memory by the processor the acknowledgment and the second order, determine, before sending the second order through the port to the market, that the port is a least-loaded port, wherein sending the second order through the port to the market is dependent upon the determination that the port is a least-loaded port; wherein a data structure for the port maintained in said processors comprises a net order count and a latency, wherein the net order count indicates the net number of orders sent through the port to the market for which acknowledgments have not yet been received from the market, wherein latency comprises a measure of the speed with which markets return acknowledgments for orders, wherein any other ports coupled to the market have data structures comprising net order counts and latencies, wherein the processor programmed to determine that the port is a least-loaded port also is programmed to determine that the product of the net order count for the port multiplied by the latency for the port is not greater than the product of net order count and latency for any other port coupled to the market.
-
Specification