Distributed system with asynchronous execution systems and methods
First Claim
1. A method of performing a transaction in a distributed system, the method comprising:
- providing a first command and a second command that define functions to be performed in the transaction, wherein the first command further defines a dependency;
holding the first command in a waiting state until the dependency is satisfied;
prioritizing the first command and second command; and
executing the first command and the second command in an order based at least in part on the prioritization.
12 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are provided for reducing latency in distributed systems by executing commands as sufficient information and system resources become available. In one embodiment, commands in a transaction include dependency information and an execution engine is configured to execute the commands as the dependencies become satisfied. In some embodiments, the commands also include priority information. If sufficient resources are not available to execute two or more commands with satisfied dependencies, the execution engine determines an order for executing the commands based at least in part on the priority information. In one embodiment, time-intensive commands are assigned a higher priority than commands that are expected to take less time to execute.
350 Citations
20 Claims
-
1. A method of performing a transaction in a distributed system, the method comprising:
-
providing a first command and a second command that define functions to be performed in the transaction, wherein the first command further defines a dependency;
holding the first command in a waiting state until the dependency is satisfied;
prioritizing the first command and second command; and
executing the first command and the second command in an order based at least in part on the prioritization. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A distributed system comprising:
-
a plurality of nodes configured to participate in a transaction through a computer network, wherein the transaction comprises commands with dependencies;
a layout manager module configured to determine in which one of the plurality of nodes to write blocks of data; and
an execution manager module configured to process the commands based at least in part on the dependencies. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of processing commands in a distributed system, the method comprising:
-
defining dependencies for a plurality of commands;
setting the plurality of commands in a waiting state;
as dependencies are satisfied for particular commands, setting the particular commands in a runnable state; and
executing the particular commands in the runnable state as system resources become available. - View Dependent Claims (17)
-
- 18. A network comprising a plurality of nodes configured to participate in a transaction over the network, wherein the transaction comprises a plurality of commands, wherein at least one of the commands comprises dependency information, and wherein the network executes the at least one command when the dependency information is satisfied.
Specification