Methods and systems for coordinated financial transactions in distributed and parallel environments
First Claim
1. A method for handling compound requests in a system comprising multiple nodes for executing requests, the method comprising the steps of:
- receiving a compound request comprising a plurality of individual requests, wherein the plurality of individual requests include (i) one or more individual requests of a first request type associated with a first node of said system comprising multiple nodes and (ii) at least one other individual request of a second request type associated with a second node of said system comprising multiple nodes, wherein the second node is different from the first node;
placing the plurality of individual requests of the compound request on their respective nodes for execution based on each individual request'"'"'s request type;
determining a number of individual requests of the compound request placed on the first node, whereinin response to determining two or more individual requests of the compound requests are placed on the first node, determining if at least one individual request of the two or more individual requests of the compound request placed on said first node is not executable,in response to determining at least one non-executable individual request of the compound request placed on the first node, determining if the at least one non-executable individual request becomes executable at a future time, and rejecting the compound request if the at least one non-executable individual request does not become executable at the future time;
in response to determining only one individual request of the compound request is placed on the first node, then determining if the one individual request placed on said first node is executable and rejecting said compound request if it is determined that the one individual request placed on said first node cannot execute;
if each of the one or more individual requests of the first request type placed on said first node are executable, then determining if at least one individual request of said compound request placed on said second node is executable, and rejecting said compound request if it is determined that at least one individual request of said compound request placed on said second node cannot execute; and
executing said compound request, if it is determined that all individual requests of said compound request can execute.
1 Assignment
0 Petitions
Accused Products
Abstract
Automated techniques are disclosed for coordinating request or transaction processing in a data processing system. For example, a technique for handling compound requests, in a system comprising multiple nodes for executing requests in which an individual request is associated with a particular node, comprises the following steps. A compound request comprising at least two individual requests associated with a same node is received. It is determined if both of the at least two individual requests are executable. The compound request is executed if it is determined that all individual requests of the compound request can execute.
23 Citations
15 Claims
-
1. A method for handling compound requests in a system comprising multiple nodes for executing requests, the method comprising the steps of:
-
receiving a compound request comprising a plurality of individual requests, wherein the plurality of individual requests include (i) one or more individual requests of a first request type associated with a first node of said system comprising multiple nodes and (ii) at least one other individual request of a second request type associated with a second node of said system comprising multiple nodes, wherein the second node is different from the first node; placing the plurality of individual requests of the compound request on their respective nodes for execution based on each individual request'"'"'s request type; determining a number of individual requests of the compound request placed on the first node, wherein in response to determining two or more individual requests of the compound requests are placed on the first node, determining if at least one individual request of the two or more individual requests of the compound request placed on said first node is not executable, in response to determining at least one non-executable individual request of the compound request placed on the first node, determining if the at least one non-executable individual request becomes executable at a future time, and rejecting the compound request if the at least one non-executable individual request does not become executable at the future time; in response to determining only one individual request of the compound request is placed on the first node, then determining if the one individual request placed on said first node is executable and rejecting said compound request if it is determined that the one individual request placed on said first node cannot execute; if each of the one or more individual requests of the first request type placed on said first node are executable, then determining if at least one individual request of said compound request placed on said second node is executable, and rejecting said compound request if it is determined that at least one individual request of said compound request placed on said second node cannot execute; and executing said compound request, if it is determined that all individual requests of said compound request can execute. - View Dependent Claims (2, 3, 4)
-
-
5. An article of manufacture comprising a non-transitory computer readable storage medium comprising one or more computer programs which, when executed by a computer, implement method steps for handling compound requests in a system comprising multiple nodes for executing requests in which an individual request is associated with a particular node, the method steps comprising:
-
receiving a compound request comprising a plurality of individual requests, wherein the plurality of individual requests include (i) one or more individual requests of a first request type associated with a first node of said system comprising multiple nodes and (ii) at least one other individual request of a second request type associated with a second node of said system comprising multiple nodes, wherein the second node is different from the first node; placing the plurality of individual requests of the compound request on their respective nodes for execution based on each individual request'"'"'s request type; determining a number of individual requests of the compound request placed on the first node, wherein in response to determining two or more individual requests of the compound requests are placed on the first node, determining if at least one individual request of the two or more individual requests of the compound request placed on said first node is not executable, in response to determining at least one non-executable individual request of the compound request placed on the first node, determining if the at least one non-executable individual request becomes executable at a future time, and rejecting the compound request if the at least one non-executable individual request does not become executable at the future time; in response to determining only one individual request of the compound request is placed on the first node, then determining if the one individual request placed on said first node is executable and rejecting said compound request if it is determined that the one individual request placed on said first node cannot execute; if each of the one or more individual requests of the first request type placed on said first node are executable, then determining if at least one individual request of said compound request placed on said second node is executable, and rejecting said compound request if it is determined that at least one individual request of said compound request placed on said second node cannot execute; and executing said compound request, if it is determined that all individual requests of said compound request can execute. - View Dependent Claims (13, 14, 15)
-
-
6. Apparatus for handling compound requests in a system comprising multiple nodes for executing requests in which an individual request is associated with a particular node, the apparatus comprising:
-
a memory; and at least one processor coupled to the memory and configured to; receive a compound request comprising a plurality of individual requests, wherein the plurality of individual requests include (i) one or more individual requests of a first request type associated with a first node of said system comprising multiple nodes and (ii) at least one other individual request of a second request type associated with a second node of said system comprising multiple nodes, wherein the second node is different from the first node; place the plurality of individual requests of the compound request on their respective nodes for execution based on each individual request'"'"'s request type; determine a number of individual requests of the compound request placed on the first node, wherein in response to determining two or more individual requests of the compound requests are placed on the first node, determine if at least one individual request of the two or more individual requests of the compound request placed on said same first node is not executable, in response to determining at least one non-executable individual request of the compound request placed on the first node, determine if the at least one non-executable individual request becomes executable at a future time, and reject the compound request if the at least one non-executable individual request does not become executable at the future time; in response to determining only one individual request of the compound request is placed on the first node, then determine if the one individual request placed on said first node is executable and reject said compound request if it is determined that the one individual request placed on said first node cannot execute; if each of the one or more individual requests of the first request type placed on said first node are executable, then determine if at least one individual request of said compound request placed on said second node is executable, and reject said compound request if it is determined that at least one individual request of said compound request placed on said second node cannot execute; and execute said compound request, if it is determined that all individual requests of said compound request can execute. - View Dependent Claims (7, 8, 9)
-
-
10. A method for handling compound requests in a system comprising multiple nodes for trading stocks or commodities comprising the steps of:
-
assigning stock or commodity types to individual nodes of the system wherein state information associated with a stock or commodity type is maintained on the node associated with the stock or commodity type; receiving a compound request comprising a plurality of individual requests, wherein the plurality of individual requests include (i) one or more individual requests of a first request type associated with a first node of said system comprising multiple nodes and (ii) at least one other individual request of a second request type associated with a second node of said system comprising multiple nodes, wherein the second node is different from the first node; placing the plurality of individual requests of the compound request on their respective nodes for execution based on each individual request'"'"'s request type which corresponds to at least one of the stock or commodity types assigned to the nodes; determining a number of individual requests of the compound request placed on the first node, wherein in response to determining two or more individual requests of the compound requests are placed on the first node, determining if at least one individual request of the two or more individual requests of the compound request placed on said first node is not executable, in response to determining at least one non-executable individual request of the compound request placed on the first node, determining if the at least one non-executable individual request becomes executable at a future time, and rejecting the compound request if the at least one non-executable individual request does not become executable at the future time; in response to determining only one individual request of the compound request is placed on the first node, then determining if the one individual request placed on said first node is executable and rejecting said compound request if it is determined that the one individual request placed on said first node cannot execute; if each of the one or more individual requests of the first request type placed on said first node are executable, then determining if at least one individual request of said compound request placed on said second node is executable, and rejecting said compound request if it is determined that at least one individual request of said compound request placed on said second node cannot execute; and executing said compound request, if it is determined that all individual requests of said compound request can execute. - View Dependent Claims (11, 12)
-
Specification