# US 2025/0086023 A1 · Lockless systems and methods for stateful workload distribution

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2025/0086023 A1
- Document ID: US20250086023A1
- Status: Published application
- Kind: A1
- Application number: 18/463,005
- Filed: 2023-09-07
- Published: 2025-03-13
- Earliest claimed: 2023-09-07
- Assignees: c/o Microsoft Technology Licensing, LLC
- Applicants: c/o Microsoft Technology Licensing, LLC
- Inventors: Ali KANSO; Arijit TARAFDAR; Sumeet KHUSHALANI
- Web page: https://patentgrep.com/patent/US20250086023A1

## CPC

- G06F 9/505: {considering the load}
- G06F 9/5088: {involving task migration}
- G06F 9/4856: {resumption being on a different machine, e.g. task migration, virtual machine migration (G06F9/5088 takes precedence)}
- G06F 9/5072: {Grid computing}
- G06F 9/526: {Mutual exclusion algorithms}
- G06F 2209/5013: Request control
- G06F 2209/505: Clust
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Described are examples for distributing stateful workloads to clusters including obtaining, for a cluster, a previous configuration from a shared database, wherein the previous configuration includes a previous indication of a previous owner of a stateful workload, obtaining, for the cluster and from the shared database, a configuration including an indication of a current owner of the stateful workload. Based on determining that the cluster is the current owner, the cluster can continue processing a next state of the stateful workload, which may be based on one or more other considerations.

## Claims

### Claim 1

A computer-implemented method for distributing stateful workloads to clusters, comprising:
obtaining, for a cluster, a previous configuration from a shared database, wherein the previous configuration includes a previous indication of a previous owner of a stateful workload;
obtaining, for the cluster and from the shared database, a configuration including an indication of a current owner of the stateful workload;
based on determining that the cluster is the current owner:
determining, based on the indication of the current owner, whether the cluster is the previous owner of the stateful workload;
based on determining that the cluster is the previous owner of the stateful workload, continuing processing a next state of the stateful workload; and
based on determining that the cluster is not the previous owner of the stateful workload, waiting for a duration before processing the next state of the stateful workload; and
based on determining that the cluster is not the current owner, refraining from processing the stateful workload.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein determining that the cluster is the current owner is based on consistent hashing using an attribute of the cluster indicated in the configuration and a property of a workspace of the stateful workload.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, further comprising determining the duration based on whether the previous owner of the stateful workload acknowledged the configuration or not.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein obtaining the configuration is performed based on a request from a job handler in the cluster for an indication of the current owner of the stateful workload.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, wherein determining the cluster is the current owner is based on whether a cache of the configuration process is up to date.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, further comprising periodically reporting health status to a cluster health manager.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6, wherein periodically reporting the health status includes declaring an unhealthy status based on failure to obtain the configuration from the shared database.

### Claim 8 (depends on 6)

The computer-implemented method of claim 6, further comprising killing a process of the stateful workload based on receiving an indication from the cluster health manager, wherein the indication is based on the cluster health manager not receiving the reported health status.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein the shared database allows one update of the current owner per a transition period defined for changing ownership for stateful workloads.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, wherein obtaining the configuration is based on receiving, from the shared database or a cluster administrator, a notification indication that the configuration has been updated.

### Claim 11

A device for distributing stateful workloads to a cluster, comprising:
one or more memories storing instructions; and
one or more processors coupled to the one or more memories and configured to execute the instructions to:
store, in the one or more memories, a previous configuration received from a shared database, wherein the previous configuration includes a previous indication of a previous owner of a stateful workload;
obtain, for the cluster and from the shared database, a configuration including an indication of a current owner of the stateful workload;
based on determining that the cluster is the current owner and the previous owner, provide a response to a job handler to process a next state of the stateful workload;
based on determining that the cluster is the current owner and not the previous owner, provide a response to a job handler to wait a duration and then process a next state of the stateful workload; and
based on determining that the cluster is the not current owner, refrain from processing the stateful workload.

### Claim 12 (depends on 11)

The device of claim 11, wherein the one or more processors are configured to execute the instructions to determine that the cluster is the current owner based on consistent hashing using an attribute of the cluster indicated in the configuration and a property of a workspace of the stateful workload.

### Claim 13 (depends on 11)

The device of claim 11, wherein the one or more processors are configured to execute the instructions to determine the duration based on whether the previous owner of the stateful workload acknowledged the configuration or not.

### Claim 14 (depends on 11)

The device of claim 11, wherein the one or more processors are configured to execute the instructions to obtain the configuration based on a request from a job handler in the cluster for an indication of the current owner of the stateful workload.

### Claim 15 (depends on 14)

The device of claim 14, wherein the one or more processors are configured to execute the instructions to determine that the cluster is the current owner based on whether a cache of the configuration is up to date.

### Claim 16 (depends on 11)

The device of claim 11, wherein the one or more processors are configured to execute the instructions to periodically report health status to a cluster health manager.

### Claim 17 (depends on 11)

The device of claim 11, wherein the shared database allows one update of the current owner per a transition period defined for changing ownership for stateful workloads.

### Claim 18 (depends on 11)

The device of claim 11, wherein the one or more processors are configured to execute the instructions to obtain the configuration based on receiving, from the shared database or a cluster administrator, a notification indication that the configuration has been updated.

### Claim 19

A non-transitory computer-readable medium storing instructions thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations for distributing stateful workloads to clusters, comprising:
obtaining a previous configuration from a shared database, wherein the previous configuration includes a previous indication of a previous owner of a stateful workload;
obtaining, for a cluster and from the shared database, a configuration including an indication of a current owner of the stateful workload;
based on determining that the cluster is the current owner and the previous owner, providing a response to a job handler to process a next state of the stateful workload;
based on determining that the cluster is the current owner and not the previous owner, providing a response to a job handler to wait a duration and then process a next state of the stateful workload; and
based on determining that the cluster is the not current owner, refraining from processing the stateful workload.

### Claim 20 (depends on 19)

The non-transitory computer-readable medium of claim 19, further comprising determining that the cluster is the current owner based on consistent hashing using an attribute of the cluster indicated in the configuration and a property of a workspace of the stateful workload.
