Automated synchronization of orders represented in multiple markets
First Claim
1. A computer-implemented method of operating a first market that is configured to interact with other markets, the method comprising:
- under control of instructions executed by one or more processors in a computer system;
receiving, at the first market, an order that is available for execution, wherein the order is simultaneously available for execution at a second market;
receiving, at the first market, an order-related instruction that relates to the order that is simultaneously available for execution at both the first and second markets,wherein the order-related instruction is automatically received by the first market as a result of an action being taken by the second market with respect to the order at the second market, andwherein the order-related instruction specifies an action to be taken by the first market with respect to the order at the first market and a number of items in the order to be acted upon by the specified action;
determining a first number of items in the order that are available at the first market to be acted upon by the specified action, and setting a first value equal to the lesser of the determined first number of items and the number of items specified in the order-related instruction;
determining a second number of items in the order that are currently marked as being in process at the first market and thereby are not available to be acted upon by the specified action, and setting a second value equal to the determined second number of items;
marking a number of items in the order at the first market as being on hold for taking the specified action, wherein the number of items that are marked as being on hold equals the first value;
notifying the second market of the first and second values;
receiving, at the first market, an action acknowledgement indicating that the action being taken by the second market has been taken by the second market and identifying the number of items in the order at the second market that were acted upon by the action taken by the second market;
taking the specified action at the first market on items that were marked as being on hold, wherein the number of items acted upon by the specified action at the first market equals the number of items that were acted upon by the action taken by the second market; and
if the number of items acted upon by the specified action at the first market is less than the number of items that were marked as being on hold, removing the on hold marking from the items at the first market that were not acted upon by the specified action.
2 Assignments
0 Petitions
Accused Products
Abstract
An market process internal to a platform is configured to operate with a market external to the platform. Generally, the market process first attempts to reflect an order related action at the external market, and if successful, internally commits the order related action. In some situations, such as when trading becomes fast or when the external market expects to have control over all orders posted thereat, the market acts as a router for orders received from trading processing on the platform. When the external market elects to return to the try-commit operational protocol, the order file of the market process is resynchronized with the order file of the external market.
-
Citations
19 Claims
-
1. A computer-implemented method of operating a first market that is configured to interact with other markets, the method comprising:
under control of instructions executed by one or more processors in a computer system; receiving, at the first market, an order that is available for execution, wherein the order is simultaneously available for execution at a second market; receiving, at the first market, an order-related instruction that relates to the order that is simultaneously available for execution at both the first and second markets, wherein the order-related instruction is automatically received by the first market as a result of an action being taken by the second market with respect to the order at the second market, and wherein the order-related instruction specifies an action to be taken by the first market with respect to the order at the first market and a number of items in the order to be acted upon by the specified action; determining a first number of items in the order that are available at the first market to be acted upon by the specified action, and setting a first value equal to the lesser of the determined first number of items and the number of items specified in the order-related instruction; determining a second number of items in the order that are currently marked as being in process at the first market and thereby are not available to be acted upon by the specified action, and setting a second value equal to the determined second number of items; marking a number of items in the order at the first market as being on hold for taking the specified action, wherein the number of items that are marked as being on hold equals the first value; notifying the second market of the first and second values; receiving, at the first market, an action acknowledgement indicating that the action being taken by the second market has been taken by the second market and identifying the number of items in the order at the second market that were acted upon by the action taken by the second market; taking the specified action at the first market on items that were marked as being on hold, wherein the number of items acted upon by the specified action at the first market equals the number of items that were acted upon by the action taken by the second market; and if the number of items acted upon by the specified action at the first market is less than the number of items that were marked as being on hold, removing the on hold marking from the items at the first market that were not acted upon by the specified action. - View Dependent Claims (2, 3, 4)
-
5. A computer system for operating a first market that is configured to interact with other markets, the system comprising:
-
a communication component comprising one or more computing devices programmed to; receive an order that is available for execution, wherein the order is simultaneously available for execution at a second market; and receive an order-related instruction that relates to an order that is simultaneously available for execution at both the first and second markets, wherein the order-related instruction is automatically received by the communication component as a result of an action being taken by the second market with respect to the order at the second market, and wherein the order-related instruction specifies an action to be taken by the first market with respect to the order at the first market and a number of items in the order to be acted upon by the specified action; and a processing component in communication with the communication component and comprising one or more computing devices programmed to; determine a first number of items in the order that are available at the first market to be acted upon by the specified action and set a first value equal to the lesser of the determined first number of items and the number of items specified in the order-related instruction; determine a second number of items in the order that are currently marked as being in process at the first market and thereby are not available to be acted upon by the specified action, and set a second value equal to the determined second number of items; and mark a number of items in the order at the first market as being on hold for taking the specified action, wherein the number of items that are marked as being on hold equals the first value; wherein the communication component is further programmed to notify the second market of the first and second values, and receive an action acknowledgement from the second market indicating that the action being taken by the second market has been taken by the second market and identifying the number of items in the order at the second market that were acted upon by the action taken at the second market; and wherein the processing component is further programmed to take the specified action at the first market on items that were marked as being on hold, wherein the number of items acted upon by the specified action at the first market equals the number of items that were acted upon by the action taken by the second market, and if the number of items acted upon by the specified action at the first market is less than the number of items that were marked as being on hold, then remove the on hold marking from the items at the first market that were not acted upon by the specified action. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A tangible computer-accessible storage medium on which computer-executable instructions are stored for operating a first market that is configured to interact with other markets, wherein the instructions, in response to being executed by a computer, cause the computer to:
-
receive an order that is available for execution, wherein the order is simultaneously available for execution at a second market; receive an order-related instruction that relates to the order that is simultaneously available for execution at both the first and second markets, wherein the order-related instruction is automatically received by the first market as a result of an action being taken by the second market with respect to the order at the second market, and wherein the order-related instruction specifies an action to be taken by the first market with respect to the order at the first market and a number of items in the order to be acted upon by the specified action; determine a first number of items in the order that are available at the first market to be acted upon by the specified action and set a first value equal to the lesser of the determined first number of items and the number of items specified in the order-related instruction; determine a second number of items in the order that are currently marked as being in process at the first market and thereby are not available to be acted upon by the specified action, and set a second value equal to the determined second number of items; and mark a number of items in the order at the first market as being on hold for taking the specified action, wherein the number of items that are marked as being on hold equals the first value; notify the second market of the first and second values; receive an action acknowledgement indicating that the action being taken by the second market has been taken by the second market and identifying the number of items in the order at the second market that were acted upon by the action taken by the second market; take the specified action at the first market on items that were marked as being on hold, wherein the number of items acted upon by the specified action at the first market equals the number of items that were acted upon by the action taken by the second market; and if the number of items acted upon by the specified action at the first market is less than the number of items that were marked as being on hold, remove the on hold marking from the items at the first market that were not acted upon by the specified action. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A computer system for operating a first market that is configured to interact with other markets, the system comprising:
-
means for receiving, at the first market, an order that is available for execution, wherein the order is simultaneously available for execution at a second market; means for receiving, at the first market, an order-related instruction that relates to the order that is simultaneously available for execution at both the first and second markets, wherein the order-related instruction is automatically received at the first market as a result of an action being taken by the second market with respect to the order at the second market means for determining, from the order-related instruction, an action to be taken by the first market with respect to the order at the first market and a number of items in the order to be acted upon by the specified action; means for determining a first number of items in the order that are available at the first market to be acted upon by the specified action and setting a first value equal to the lesser of the determined first number of items and the number of items specified in the order-related instruction; means for determining a second number of items in the order that are currently marked as being in process at the first market and thereby are not available to be acted upon by the specified action, and setting a second value equal to the determined second number of items; means for marking a number of items in the order at the first market as being on hold for taking the specified action, wherein the number of items that are marked as being on hold equals the first value; means for notifying the second market of the first and second values; means for receiving, at the first market, an action acknowledgement indicating that the action being taken by the second market has been taken by the second market and identifying the number of items in the order at the second market that were acted upon by the action taken by the second market; means for taking the specified action at the first market on items that were marked as being on hold, wherein the number of items acted upon by the specified action at the first market equals the number of items that were acted upon by the action taken at the second market; and means for removing the on hold marking from the items at the first market that were not acted upon by the specified action if the number of items acted upon by the specified action at the first market is less than the number of items that were marked as being on hold. - View Dependent Claims (16, 17, 18, 19)
-
Specification