System and method for the automated brokerage of financial instruments
First Claim
1. An automated brokerage system for processing activity requests related to financial instruments, the system comprising:
- a front end layer comprising at least one front end server, the at least one front end server configured to execute a plurality of applications, the plurality of applications configured to generate activity requests related to one or more financial instruments in response to input from remote users;
an intermediate layer in communication with the front end layer, the intermediate layer comprising a plurality of intermediate layer servers for simultaneously processing the generated activity requests, the intermediate layer servers being configured to provide a plurality of services in connection with the processing of the activity requests;
a back end layer in communication with the intermediate layer, the back end layer comprising a data source configured to provide financial instrument quote data, a data repository configured to store customer account data, and an order placement system configured to place one or more orders on a financial instrument trading market, the one or more orders being derived from at least one received activity request;
wherein the at least one front end server is further configured to distribute activity requests to the plurality of intermediate layer servers based on activity request type;
wherein the intermediate layer servers are configured to interact with the back end layer data source, the back end layer data repository, and the back end layer order placement system as necessary to process the received activity requests;
wherein the intermediate layer servers comprise a plurality of dedicated servers, the dedicated servers comprising;
a plurality of order servers, each order server configured to receive and process order activity requests from the front end layer;
a plurality of customer account servers, each customer account server configured to receive and process customer account activity requests from the front end layer, wherein the processing of customer account activity requests includes interacting with the back end layer data repository to retrieve customer account data therefrom and providing the retrieved customer account data to the front end applications for display to the users; and
a plurality of quote servers, each quote server configured to receive and process quote activity requests from the front end layer, wherein the processing of quote activity requests includes interacting with the back end layer data source to retrieve the financial instrument quote data therefrom and providing the retrieved financial instrument quote data to the front layer applications for display to the users; and
wherein the intermediate layer further comprises;
a first load balancer that interfaces the front end applications with the plurality of order servers, the first load balancer being configured to distribute order activity requests among the plurality of order servers;
a second load balancer that interfaces the front end applications with the plurality of customer account servers, the second load balancer being configured to distribute customer account activity requests among the plurality of customer account servers; and
a third load balancer that interfaces the front end applications with the plurality of quote servers, the third load balancer being configured to distribute quote activity requests among the plurality of quote servers;
wherein the order servers are configured to directly communicate with the customer account servers via the first load balancer and the second load balancer;
wherein the order servers are configured to directly communicate with the quote servers via the first load balancer and the third load balancer;
wherein the customer account servers are configured to directly communicate with the order servers via the second load balancer and the first load balancer;
wherein the customer account servers are configured to directly communicate with the quote servers via the second load balancer and the third load balancer;
wherein the quote servers are configured to directly communicate with the order servers via the third load balancer and the first load balancer; and
wherein the quote servers are configured to directly communicate with the customer account servers via the third load balancer and the second load balancer.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed herein in a preferred embodiment is an automated financial instrument brokerage system wherein a front end layer interacts with customers to generate activity requests for an intermediate layer. The intermediate layer preferably processes the activity requests and places financial instrument orders on a financial market if appropriate. A backend layer preferably provides data to the intermediate layer for processing activity requests. Multiple heterogeneous front end customer applications may be supported by the same intermediate layer. Further, multiple backend layer applications may interact with the intermediate layer in a manner transparent to the front end layer. Further, scalability can be achieved be partitioning various tasks of the intermediate layer onto separate servers, and more preferably on-separate redundant servers. Load balancers may then be used in the intermediate layer to provide distributed access to these servers. Also disclosed herein is a caching technique whereby turnaround time for processing activity requests can be reduced by reducing the number of times that the intermediate layer needs to interact with the backend layer.
-
Citations
40 Claims
-
1. An automated brokerage system for processing activity requests related to financial instruments, the system comprising:
-
a front end layer comprising at least one front end server, the at least one front end server configured to execute a plurality of applications, the plurality of applications configured to generate activity requests related to one or more financial instruments in response to input from remote users; an intermediate layer in communication with the front end layer, the intermediate layer comprising a plurality of intermediate layer servers for simultaneously processing the generated activity requests, the intermediate layer servers being configured to provide a plurality of services in connection with the processing of the activity requests; a back end layer in communication with the intermediate layer, the back end layer comprising a data source configured to provide financial instrument quote data, a data repository configured to store customer account data, and an order placement system configured to place one or more orders on a financial instrument trading market, the one or more orders being derived from at least one received activity request; wherein the at least one front end server is further configured to distribute activity requests to the plurality of intermediate layer servers based on activity request type; wherein the intermediate layer servers are configured to interact with the back end layer data source, the back end layer data repository, and the back end layer order placement system as necessary to process the received activity requests; wherein the intermediate layer servers comprise a plurality of dedicated servers, the dedicated servers comprising; a plurality of order servers, each order server configured to receive and process order activity requests from the front end layer; a plurality of customer account servers, each customer account server configured to receive and process customer account activity requests from the front end layer, wherein the processing of customer account activity requests includes interacting with the back end layer data repository to retrieve customer account data therefrom and providing the retrieved customer account data to the front end applications for display to the users; and a plurality of quote servers, each quote server configured to receive and process quote activity requests from the front end layer, wherein the processing of quote activity requests includes interacting with the back end layer data source to retrieve the financial instrument quote data therefrom and providing the retrieved financial instrument quote data to the front layer applications for display to the users; and
wherein the intermediate layer further comprises;a first load balancer that interfaces the front end applications with the plurality of order servers, the first load balancer being configured to distribute order activity requests among the plurality of order servers; a second load balancer that interfaces the front end applications with the plurality of customer account servers, the second load balancer being configured to distribute customer account activity requests among the plurality of customer account servers; and a third load balancer that interfaces the front end applications with the plurality of quote servers, the third load balancer being configured to distribute quote activity requests among the plurality of quote servers; wherein the order servers are configured to directly communicate with the customer account servers via the first load balancer and the second load balancer; wherein the order servers are configured to directly communicate with the quote servers via the first load balancer and the third load balancer; wherein the customer account servers are configured to directly communicate with the order servers via the second load balancer and the first load balancer; wherein the customer account servers are configured to directly communicate with the quote servers via the second load balancer and the third load balancer; wherein the quote servers are configured to directly communicate with the order servers via the third load balancer and the first load balancer; and wherein the quote servers are configured to directly communicate with the customer account servers via the third load balancer and the second load balancer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 38, 39)
-
-
26. An automated brokerage system, the system comprising:
-
a plurality of applications configured to generate activity requests related to one or more financial instruments in response to input from remote users, the activity requests comprising any of the group consisting of order activity requests, customer account activity requests, and quote activity requests; at least one order server configured to process the order activity requests; at least one customer account server configured to process the customer account activity requests; at least one quote server configured to process the quote activity requests; at least one quote data source in communication with the at least one quote server, the quote data source being configured to provide financial instrument quote data to the quote server; at least one data repository in communication with the at least one customer account server and the at least one order server, the data repository being configured to store customer account data and provide stored customer account data to the customer account server; at least one order placement system in communication with the order server, the order placement system being configured to place one or more orders received from the order server on a financial instrument trading market, the one or more orders being derived from at least one order activity request; and a plurality of load balancers in communication with the at least one order server, the at least one customer account server and the at least one quote server; wherein the at least one order server, the at least one customer account server and the at least one quote server are configured to directly communicate with each other via the load balancers. - View Dependent Claims (27, 28, 29)
-
-
30. A method for processing activity requests related to financial instruments, the method comprising:
-
providing a first layer and a second layer in an automated financial instrument brokerage system, the first layer for interacting with users to generate activity requests, wherein the second layer is in communication with the first layer, and wherein the second layer is configured to process activity requests; providing, in the first layer, a plurality of heterogeneous applications that are configured to generate activity requests related to financial instruments in response to user input; providing, in the second layer, a plurality of de-centralized order servers, customer account servers and quote servers for processing activity requests, wherein the de-centralized order servers, customer account servers and quote servers are configured to directly communicate activity requests between each other for processing thereby via a plurality of associated load balancers; providing a common interface for each of the heterogeneous applications to communicate the activity requests to the second layer; routing generated activity requests through the common interface from the first layer to an appropriate one of the de-centralized order servers, customer account servers and quote servers based on a type for the generated activity request; and processing activity requests in the second layer with the de-centralized order servers, customer account servers and quote servers independently of the application from which those activity requests originated. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 40)
-
Specification