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 a 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 servers for processing the generated activity requests, the servers being configured to provide a set of services in connection with the processing of the activity requests; and
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; and
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.
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.
177 Citations
90 Claims
-
1. An automated brokerage system for processing activity requests related to financial instruments, the system comprising:
-
a front end layer comprising a 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 servers for processing the generated activity requests, the servers being configured to provide a set of services in connection with the processing of the activity requests; and
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; and
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. - 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, 26, 27, 28, 29, 30, 31)
-
-
32. 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; and
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. - View Dependent Claims (33, 34, 35)
-
-
36. In an automated financial instrument brokerage system comprising a backend database for storing customer account data and a server for processing activity requests received from a user, wherein at least some of the activity requests need customer account data for processing, a method comprising:
-
maintaining a memory that is resident in the server;
storing customer account data retrieved from the backend database in the resident memory; and
determining, according to predetermined usage rules, whether to use the customer account data stored in the resident memory when processing activity requests. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
-
-
49. A computer-readable medium for determining whether to process an activity request in an automated financial instrument brokerage system in accordance with customer account data stored in a memory resident on a system server or with customer account data stored in a system backend database, the computer-readable medium comprising:
-
computer code executable by a processor for determining if a customer associated with an activity request has customer account data stored in the resident memory;
computer code executable by a processor for determining, if the customer associated with the activity request does have customer account data stored in the resident memory, whether to use the customer account data stored in the resident memory when processing the activity request, wherein the usage determination is made in accordance with a plurality of predetermined usage rules. - View Dependent Claims (50, 51, 52, 53)
-
-
54. In an automated financial instrument brokerage system comprising a backend quote data source for obtaining financial instrument quote data and a server for processing quote activity requests, a method comprising:
-
maintaining a memory that is resident in the server;
storing quote data retrieved from the backend quote data source in the resident memory; and
determining, according to predetermined usage rules, whether to use the quote data stored in the resident memory when processing quote activity requests. - View Dependent Claims (55, 56, 57, 58, 59, 60)
-
-
61. A method of scaling an automated financial instrument brokerage system, the system comprising a plurality of applications in communication with a plurality of server groups, the applications being configured to generate activity requests related to one or more financial instruments in response to input from a remote user, the activity requests having a plurality of activity request types, each server group comprising a plurality of servers configured to process a different type of activity request, the method comprising:
-
providing at least one load balancer to connect the applications with the server groups;
registering each server of the server groups with the at least one load balancer;
directing the generated activity requests from the applications to the at least one load balancer;
distributing, from the load balancer, the directed activity requests among the registered servers. - View Dependent Claims (62, 63, 64)
-
-
65. A method for switching an automated financial instrument brokerage system from an old customer account database to a new customer account database, the system comprising a first layer for interacting with users to generate activity requests related to one or more financial instruments, a second layer in communication with the first layer for processing activity requests, and a third layer comprising the old database and the new database, both the old and new database being configured to store customer account data relating to equities and options, the method comprising:
-
during a first-time interval, (1) storing data relating to option trades transacted during the first time interval in the old database, (2) storing data relating to equity trades transacted during the first time interval in the new database, and (3) retrieving customer account data from both the old database and the new database in response to activity requests generated during the first time interval that need customer account data for processing;
during a second time interval, (1) storing data relating to option trades and equity trades transacted during the second time interval in the new database, and (2) retrieving customer account data from both the old database and the new database in response to activity requests generated during the second time interval that need customer account data for processing; and
upon expiration of the second time interval, (1) copying the content of the old database into the new database, (2) storing data relating to option trades and equity trades transacted after the expiration of the second time interval in the new database, and (3) retrieving customer account data from the new database in response to activity requests generated after the expiration of the second time interval that need customer account data for processing;
wherein the overall duration of the first time interval and the second time interval define a settlement period for equity trades. - View Dependent Claims (66, 67, 68, 69, 70, 71, 72, 73, 74, 75)
-
-
76. A method of obtaining quote data from at least one quote vendor for a financial instrument brokerage system, the system comprising at least one server configured to utilize quote data when processing an activity request related to one or more financial instruments, the method comprising:
-
receiving quote data from a quote vendor in a first data format;
converting the received quote data to a second data format; and
providing the second format quote data to the at least one server for use when processing the activity request. - View Dependent Claims (77, 78)
-
-
79. A method of obtaining quote data from multiple quote vendors for a financial instrument brokerage system, the system comprising at least one server configured to utilize quote data when processing an activity request related to one or more financial instruments, the method comprising:
-
receiving quote data from a plurality of quote vendors, wherein at least two of the plurality of quote vendors use different data formats for the quote data;
converting the receiving quote data to a common data format; and
providing the common format quote data to the at least one server for use when processing a customer'"'"'s activity request. - View Dependent Claims (80, 81)
-
-
82. In an automated financial instrument brokerage system configured to process activity requests related to financial instruments, the-system comprising a first layer for interacting with users to generate activity requests, a second layer in communication with the first layer, wherein the second layer is configured to process activity requests, a method comprising:
-
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 a common interface for each of the heterogeneous applications to communicate the activity requests to the second layer;
receiving activity requests at the second layer from the common interfaces; and
processing activity requests in the second layer independently of the application from which those activity requests originated. - View Dependent Claims (83, 84, 85, 86)
-
-
87. In an automated financial instrument brokerage system, a method of providing administrative control over financial instrument orders allowed by the system, the method comprising:
-
providing a database in which order restrictions are stored;
providing an interface configured to allow an administrator to control the restrictions that are stored in the database;
processing an order activity request generated by an application in response to user input against the restrictions stored in the database to determine whether the order activity request is valid; and
rejecting the order activity request if it is determined to be invalid. - View Dependent Claims (88, 89, 90)
-
Specification