Abstract:
Scheduling and dispatching jobs for a plurality of different entities. A method includes receiving at a work coordinator, one or more actions associated with a job. The method further includes storing in a log at the work coordinator, keyed on a job key, state for the one or more actions and a list of the one or more actions. The method further includes making calls to one or more worker processes to cause the worker process to perform actions associated with the job. As a result of making calls to one or more worker processes, the method further includes receiving at least one of a change to the list of remaining actions or the state.
Abstract:
Representative embodiments disclose a consistent, low latency, reliable storage system that uses quorum logic. An odd number of storage nodes are selected to store data for a client application. The odd number allows a quorum to be determined. When data is written to the storage nodes, success is identified if the data is successfully written to a majority of the storage nodes. Similarly, when a read is performed, success is identified if the majority of the storage nodes return the same value written in the same write operation. This is determined by matching a value and a version number for each node. Additional data is written to the storage nodes along with the values to allow the system to identify and repair inconsistencies in the data. In some embodiments, both the current data and prior data are stored to aid in repairing inconsistent data.
Abstract:
Embodiments are directed to executing a workflow using a virtualized clock and to ensuring idempotency and correctness among workflow processes. In one scenario, a computer system a computer system determines that a workflow session has been initialized. The workflow session runs as a set of episodes, where each episode includes one or more pulses of work that are performed when triggered by an event. Each workflow session is processed according to a virtualized clock that keeps a virtual session time for the workflow session. The computer system receives an event that includes an indication of the time the event was generated, and then accesses the received event to determine which pulses of work are to be performed as part of a workflow session episode. The computer system then executes the determined pulses of work according to the virtual session time indicated by the virtualized clock.
Abstract:
Representative embodiments disclose a consistent, low latency, reliable storage system that uses quorum logic. An odd number of storage nodes are selected to store data for a client application. The odd number allows a quorum to be determined. When data is written to the storage nodes, success is identified if the data is successfully written to a majority of the storage nodes. Similarly, when a read is performed, success is identified if the majority of the storage nodes return the same value written in the same write operation. This is determined by matching a value and a version number for each node. Additional data is written to the storage nodes along with the values to allow the system to identify and repair inconsistencies in the data. In some embodiments, both the current data and prior data are stored to aid in repairing inconsistent data.