Dataset intersection determination
First Claim
1. A computer implemented method for a financial electronic market to determine if a received order to buy or sell a financial instrument matches with one or more of a plurality of previously received but unsatisfied orders counter thereto, data indicative of which is stored in an order book database in a first arrangement, the order book database being stored in a first memory, each of the received order and the plurality of previously received but unsatisfied orders being characterized by an attribute, the method comprising:
- receiving, by a processor coupled with the first memory and a second memory also coupled with the first memory, an order to buy or sell a financial instrument characterized by an attribute;
rearranging, by the processor, the data indicative of the plurality of previously received but unsatisfied orders stored in the order book database into a second arrangement different from the first arrangement, the second arrangement comprising a plurality of disjoint subsets of the previously received but unsatisfied orders, such that the amount of data of each of the plurality of disjoint subsets does not exceed a minimum amount of data which must be transferred between the first and second memories in a single transfer operation, wherein each of the plurality of disjoint subsets is characterized by a subset attribute determined therefore based on the attributes of the plurality of previously received but unsatisfied orders included therein;
identifying, by the processor, based on the attribute of the received order and the subset attributes of each of the plurality of subsets, a particular subset of the plurality of subsets which would include one or more previously received but unsatisfied orders counter to the received order if such previously received but unsatisfied orders counter to the received order were within the plurality of previously received but unsatisfied orders stored in the order book database;
causing, by the processor, a transfer of the particular subset from the first memory to the second memory; and
evaluating, by the processor subsequent to the transfer, the particular subset transferred to the second memory to determine whether one or more previously received but unsatisfied orders counter to the received order are included therein, one or more previously received but unsatisfied orders counter to the received order being determined to not exist in the order book database when the one or more previously received but unsatisfied orders counter to the received order are determined to not be included in the particular subset.
1 Assignment
0 Petitions
Accused Products
Abstract
An item is determined to exist in a dataset by arranging the dataset into a plurality of subsets, each bounded by the minimum amount of memory that may be transferred between levels of memory in a memory configuration. The item and the subsets have attributes that allow for a determination of which subset the item would exist in if the item were in the dataset. A singular subset is transferred between levels of memory to determine whether the item exists in the transferred subset. If the item does not exist in the transferred subset, it is determined that the item does not exist in the dataset.
-
Citations
27 Claims
-
1. A computer implemented method for a financial electronic market to determine if a received order to buy or sell a financial instrument matches with one or more of a plurality of previously received but unsatisfied orders counter thereto, data indicative of which is stored in an order book database in a first arrangement, the order book database being stored in a first memory, each of the received order and the plurality of previously received but unsatisfied orders being characterized by an attribute, the method comprising:
-
receiving, by a processor coupled with the first memory and a second memory also coupled with the first memory, an order to buy or sell a financial instrument characterized by an attribute; rearranging, by the processor, the data indicative of the plurality of previously received but unsatisfied orders stored in the order book database into a second arrangement different from the first arrangement, the second arrangement comprising a plurality of disjoint subsets of the previously received but unsatisfied orders, such that the amount of data of each of the plurality of disjoint subsets does not exceed a minimum amount of data which must be transferred between the first and second memories in a single transfer operation, wherein each of the plurality of disjoint subsets is characterized by a subset attribute determined therefore based on the attributes of the plurality of previously received but unsatisfied orders included therein; identifying, by the processor, based on the attribute of the received order and the subset attributes of each of the plurality of subsets, a particular subset of the plurality of subsets which would include one or more previously received but unsatisfied orders counter to the received order if such previously received but unsatisfied orders counter to the received order were within the plurality of previously received but unsatisfied orders stored in the order book database; causing, by the processor, a transfer of the particular subset from the first memory to the second memory; and evaluating, by the processor subsequent to the transfer, the particular subset transferred to the second memory to determine whether one or more previously received but unsatisfied orders counter to the received order are included therein, one or more previously received but unsatisfied orders counter to the received order being determined to not exist in the order book database when the one or more previously received but unsatisfied orders counter to the received order are determined to not be included in the particular subset. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system for use by a financial electronic market to determine if a received order to buy or sell a financial instrument matches with one or more of a plurality of previously received but unsatisfied orders counter thereto, data indicative of which is stored in an order book database in a first arrangement, the order book database being stored in a first memory, each of the received order and the plurality of previously received but unsatisfied orders being characterized by an attribute, the system comprising:
-
a second memory coupled with the first memory and characterized by a fixed amount of data which may be transferred there between in a single memory operation; computer executable program code stored in a third memory and executable by a processor to cause the processor to; rearrange the data indicative of the plurality of previously received but unsatisfied orders stored in the order book database into a second arrangement different from the first arrangement, the second arrangement comprising a plurality of disjoint subsets of the previously received but unsatisfied orders, such that the amount of data of each of the plurality of disjoint subsets does not exceed a minimum amount of data which must be transferred between the first and second memories in a single transfer operation, wherein each of the plurality of disjoint subsets is characterized by a subset attribute determined therefore based on the attributes of the plurality of previously received but unsatisfied orders included therein; identify based on the attribute of the received order and the subset attributes of each of the plurality of subsets, a particular subset of the plurality of subsets which would include one or more previously received but unsatisfied orders counter to the received order if such previously received but unsatisfied orders counter to the received order were within the plurality of previously received but unsatisfied orders stored in the order book database; request the transfer of the particular subset from the first memory to the second memory; and evaluate, subsequent to the transfer, the particular subset transferred to the second memory to determine whether one or more previously received but unsatisfied orders counter to the received order are included therein, one or more previously received but unsatisfied orders counter to the received order being determined to not exist in the order book database when the one or more previously received but unsatisfied orders counter to the received order are determined to not be included in the particular subset. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A system for use by a financial electronic market to determine if a received order to buy or sell a financial instrument matches with one or more of a plurality of previously received but unsatisfied orders counter thereto, data indicative of which is stored in an order book database in a first arrangement, the order book database being stored in a first memory, each of the received order and the plurality of previously received but unsatisfied orders being characterized by an attribute, the system comprising:
-
a data arranger coupled with the first memory and a second memory, the first memory being coupled with the second memory and characterized by a fixed amount of data which may be transferred there between in a single memory operation, the data arranger configured to; rearrange the data indicative of the plurality of previously received but unsatisfied orders stored in the order book database into a second arrangement different from the first arrangement, the second arrangement comprising a plurality of disjoint subsets of the previously received but unsatisfied orders, such that the amount of data of each of the plurality of disjoint subsets does not exceed a minimum amount of data which must be transferred between the first and second memories in a single transfer operation, wherein each of the plurality of disjoint subsets is characterized by a subset attribute determined therefore based on the attributes of the plurality of previously received but unsatisfied orders included therein; the system further comprising; a data locator, coupled with the first and second memories, configured to locate based on the attribute of the received order and the subset attributes of each of the plurality of subsets, a particular subset of the plurality of subsets which would include one or more previously received but unsatisfied orders counter to the received order if such previously received but unsatisfied orders counter to the received order were within the plurality of previously received but unsatisfied orders stored in the order book database; and a data comparator, coupled with the first and second memories, configured to cause the transfer of the particular subset from the first memory to the second memory, and subsequently evaluate the particular subset transferred to the second memory to determine whether one or more previously received but unsatisfied orders counter to the received order are included therein, one or more previously received but unsatisfied orders counter to the received order being determined to not exist in the order book database when the one or more previously received but unsatisfied orders counter to the received order are determined to not be included in the particular subset. - View Dependent Claims (25)
-
-
26. A system for a financial electronic market to determine if a received order to buy or sell a financial instrument matches with one or more of a plurality of previously received but unsatisfied orders counter thereto, data indicative of which is stored in an order book database in a first arrangement, the order book database being stored in a first memory, each of the received order and the plurality of previously received but unsatisfied orders being characterized by an attribute, the system comprising:
-
means for receiving an order to buy or sell a financial instrument characterized by an attribute; means for rearranging the data indicative of the plurality of previously received but unsatisfied orders stored in the order book database in a first arrangement into a second arrangement different from the first arrangement, the second arrangement comprising a plurality of disjoint subsets of the previously received but unsatisfied orders, such that the amount of data of each of the plurality of disjoint subsets does not exceed a minimum amount of data which must be transferred between the first and a second memory coupled therewith in a single transfer operation, wherein each of the plurality of disjoint subsets is characterized by a subset attribute determined therefore based on the attributes of the plurality of previously received but unsatisfied orders included therein; means for identifying, based on the attribute of the received order and the subset attributes of each of the plurality of subsets, a particular subset of the plurality of subsets which would include one or more previously received but unsatisfied orders counter to the received order if such previously received but unsatisfied orders counter to the received order were within the plurality of previously received but unsatisfied orders stored in the order book database; means for causing a transfer of the particular subset from the first memory to the second memory; and means for evaluating, subsequent to the transfer, the particular subset in the second memory to determine whether one or more previously received but unsatisfied orders counter to the received order are included therein, one or more previously received but unsatisfied orders counter to the received order being determined to not exist in the order book database when the one or more previously received but unsatisfied orders counter to the received order are determined to not be included in the particular subset.
-
-
27. A computer implemented method searching archival market data for a historical value of at least one market parameter, the archival market data comprising a plurality of data records stored in a database in a first arrangement, wherein the at least one market parameter to be searched for and the plurality of data records are each characterized by an attribute, the method comprising:
-
receiving, by a processor coupled with a first memory and a second memory, the first memory being coupled with the second memory and characterized by a minimum amount of data which must be transferred there between in a single memory operation, the at least one market parameter to search for; rearranging, by the processor, the plurality of data records into a second arrangement different from the first arrangement, the second arrangement comprising a plurality of disjoint subsets of the data records, such that the amount of data of each of the plurality of disjoint subsets does not exceed the minimum amount of data, wherein each of the plurality of disjoint subsets is characterized by a subset attribute determine therefor based the attributes of the plurality of data records included therein; identifying, by the processor, based on the attribute of the at least one market parameter to search for and the subset attributes of each of the plurality of subsets, a particular subset of the plurality of subsets which would include a value of the market parameter to be searched for if a value of the market parameter to be searched for existed in the archival market data; causing, by the processor, a transfer of the particular subset from the first memory to the second memory; and evaluating, by the processor subsequent to the transfer, the particular subset in the second memory to determine whether a value of the market parameter to be searched for is included therein, a value of the market parameter to be searched for being determined to not exist in the archival market data when it is determined to not be included in the particular subset.
-
Specification