# US 12,118,391 B2 · System and method for low latency node local scheduling in distributed resource management

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

- Number: US 12,118,391 B2
- Document ID: US12118391B2
- Status: Granted
- Kind: B2
- Application number: 18/151,946
- Filed: 2023-01-09
- Published: 2023-05-25
- Granted: 2024-10-15
- Earliest claimed: 2017-04-19
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Naganarasimha Ramesh Garla; Varun Saxena; Guilin Sun
- Web page: https://patentgrep.com/patent/US12118391B2

## CPC

- G06F 9/5005: {to service a request}
- G06F 9/5061: {Partitioning or combining of resources}
- G06F 9/3836: {Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution}
- G06F 9/48: Program initiating; Program switching, e.g. by interrupt
- G06F 9/5016: {the resource being the memory}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system for allocation of resources and processing jobs within a distributed system includes a processor and a memory coupled to the processor. The memory includes at least one process and at least one resource allocator. The process is adapted for processing jobs within a distributed system which receives jobs to be processed. The resource allocator is communicably coupled with at least one process, and is adapted to generate one or more sub-processes within a limit of one or more resources allocated to the process for processing jobs.

## Claims

### Claim 1

A device, comprising:
a memory configured to store instructions; and
one or more processors coupled to the memory and configured to execute the instructions to:
communicate with a resource master to allocate resources of the device;
generate, based on the resources, a master container comprising container resources for running the master container and buffer resources for processing job requests in the device;
receive a first job request;
generate a sub-container to process the first job request, wherein the sub-container comprises a portion of the buffer resources; and
resize, by a local resource allocator running on the device and based on resource usage of the device after generating the sub-container, a first size of the master container and a second size of the sub-container.

### Claim 2 (depends on 1)

The device of claim 1, wherein the one or more processors are further configured to execute the instructions to track allocation of the resources, wherein the resource master is a remote resource master of a distributed processing system, and wherein before resizing the first size of the master container and the second size of the sub-container, the one or more processors are further configured to execute the instructions to receive, from the remote resource master of the distributed processing system, a third size of the master container.

### Claim 3 (depends on 1)

The device of claim 1, wherein the one or more processors are further configured to execute the instructions to identify whether the portion is within a limitation from the master container.

### Claim 4 (depends on 1)

The device of claim 1, wherein the one or more processors are further configured to execute the instructions to resize the portion.

### Claim 5 (depends on 1)

The device of claim 1, wherein the one or more processors are further configured to execute the instructions to pause the sub-container.

### Claim 6 (depends on 1)

The device of claim 1, wherein the master container is configured to coordinate with the sub-container.

### Claim 7 (depends on 1)

The device of claim 1, wherein the first job request comprises an ad hoc job request.

### Claim 8 (depends on 1)

The device of claim 1, wherein the second size is within resource limits of the master container.

### Claim 9

A method, comprising:
communicating with a resource master to allocate resources of a device;
generating, based on the resources, a master container comprising container resources for running the master container and buffer resources for processing job requests in the device;
receiving a first job request;
generating a sub-container to process the first job request, wherein the sub-container comprises a portion of the buffer resources; and
resizing, by a local resource allocator running on the device and based on resource usage of the device after generating the sub-container, a first size of the master container and a second size of the sub-container.

### Claim 10 (depends on 9)

The method of claim 9, further comprising tracking allocation of the resources, wherein the resource master is a remote resource master of a distributed processing system, and wherein before resizing the first size of the master container and the second size of the sub-container, the method further comprises receiving, from the remote resource master of the distributed processing system, a third size of the master container.

### Claim 11 (depends on 9)

The method of claim 9, further comprising identifying whether the portion is within a limitation from the master container.

### Claim 12 (depends on 9)

The method of claim 9, further comprising resizing the portion.

### Claim 13 (depends on 9)

The method of claim 9, further comprising pausing the sub-container.

### Claim 14 (depends on 9)

The method of claim 9, further comprising coordinating the master container with the sub-container.

### Claim 15 (depends on 9)

The method of claim 9, wherein the first job request comprises an ad hoc job request.

### Claim 16 (depends on 9)

The method of claim 9, wherein the second size is within resource limits of the master container.

### Claim 17

A computer program product comprising instructions stored on a non-transitory computer-readable medium that, when executed by one or more processors, cause a device to:
communicate with a resource master to allocate resources of the device;
generate, based on the resources, a master container comprising container resources for running the master container and buffer resources for processing job requests in the device;
receive a first job request;
generate a sub-container to process the first job request, wherein the sub-container comprises a portion of the buffer resources; and
resize, by a local resource allocator running on the device and based on resource usage of the device after generating the sub-container, a first size of the master container and a second size of the sub-container.

### Claim 18 (depends on 17)

The computer program product of claim 17, wherein the one or more processors are further configured to execute the instructions to identify whether the portion is within a limitation from the master container, resources, wherein the resource master is a remote resource master of a distributed processing system, and wherein before resizing the first size of the master container and the second size of the sub-container, the one or more processors are further configured to execute the instructions to receive, from the remote resource master of the distributed processing system, a third size of the master container.

### Claim 19 (depends on 17)

The computer program product of claim 17, wherein the one or more processors are further configured to execute the instructions to coordinate the master container with the sub-container.

### Claim 20 (depends on 17)

The computer program product of claim 17, wherein the second size is within resource limits of the master container.
