# US 12,761,969 B2 · Method, apparatus, device and medium for performing task in computing system

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

- Number: US 12,761,969 B2
- Document ID: US12761969B2
- Status: Granted
- Kind: B2
- Application number: 18/516,009
- Filed: 2023-11-21
- Published: 2024-06-06
- Granted: 2026-10-13
- Earliest claimed: 2022-11-28
- Assignees: Douyin Vision Co., Ltd.
- Applicants: Douyin Vision Co., Ltd.
- Inventors: Zhenliang Mu; Shaochen Shi; Zhengju Sha; Lifei Chen; Chi Xu; Di Wu
- Web page: https://patentgrep.com/patent/US12761969B2

## CPC

- G06F 9/505: {considering the load}
- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G06F 9/5072: {Grid computing}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method, apparatus, device and medium for executing tasks in a computing system are provided in the present disclosure. The computing system comprises a first computing node and a plurality of second computing nodes, available duration of the first computing node is known, and the available duration of the plurality of second computing nodes is unknown. A task manager is started at the first computing node, the task manager being used to manage a plurality of tasks to be executed in the computing system. The task manager requests a set of second computing nodes in the plurality of second computing nodes to the computing system. The task manager distributes a target task in the plurality of tasks to the set of second computing nodes so as to execute the target task by using the set of second computing nodes.

## Claims

### Claim 1

A method of executing tasks in a computing system, the computing system comprising a first computing node and a plurality of second computing nodes, available duration of the first computing node being known, available duration of the plurality of second computing nodes being unknown, and the method comprising:
starting a task manager at the first computing node, the task manager being used to manage a plurality of tasks to be executed in the computing system;
requesting, by the task manager, a set of second computing nodes in the plurality of second computing nodes to the computing system; and
distributing, by the task manager, a target task in the plurality of tasks to the set of second computing nodes so as to execute the target task by using the set of second computing nodes.

### Claim 2 (depends on 1)

The method of claim 1, wherein requesting, by the task manager, the set of second computing nodes comprises: requesting the set of second computing nodes to the computing system based on a computing resource demand for executing the plurality of tasks.

### Claim 3 (depends on 1)

The method of claim 1, wherein requesting, by the task manager, the set of second computing nodes comprises: in response to determining that the number of second computing nodes waiting to be allocated by the computing system is lower than a predetermined threshold, requesting, by the task manager, the set of second computing nodes to the computing system.

### Claim 4 (depends on 1)

The method of claim 1, wherein requesting the set of second computing nodes to the computing system comprises: in response to determining that a request cost of a given second computing node in the plurality of second computing nodes meets a first threshold, requesting the given second computing node to the computing system.

### Claim 5 (depends on 4)

The method of claim 4, wherein requesting the set of second computing nodes to the computing system comprises: in response to determining that a sum of a request cost of the set of second computing nodes and the request cost of the given second computing node meets a second threshold, requesting the given second computing node to the computing system.

### Claim 6 (depends on 1)

The method of claim 1, wherein distributing, by the task manager, the target task comprises:
dividing the target task into a plurality of sub-tasks; and
distributing a target sub-task in the plurality of sub-tasks to a target second computing node in the set of second computing nodes.

### Claim 7 (depends on 6)

The method of claim 6, further comprising: in response to determining that the target sub-task is executed at the target second computing node, storing an execution result of the target sub-task to a storage space associated with the target task.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
in response to determining that the available duration of the target second computing node expires, distributing a next sub-task after the target sub-task in the plurality of sub-tasks to a further second computing node in the set of second computing nodes; and
instructing the further second computing node to execute the next sub-task based on the execution result in the storage space.

### Claim 9 (depends on 6)

The method of claim 6, wherein dividing the target task into the plurality of sub-tasks comprises:
obtaining the historical available duration of the set of second computing nodes based on an operational history of the set of second computing nodes; and
dividing the target task into the plurality of sub-tasks based on the historical available duration, an execution time of a sub-task in the plurality of sub-tasks being less than the historical available duration.

### Claim 10 (depends on 9)

The method of claim 9, wherein dividing the target task into the plurality of sub-tasks based on the historical available duration comprises:
selecting a set of steps from a plurality of steps of the target task;
performing the set of steps by a second computing node in the set of second computing nodes so as to determine the statistical duration for performing a single step in the set of steps; and
dividing the target task into the plurality of sub-tasks based on the historical available duration and the statistical duration.

### Claim 11

An electronic device, comprising:
at least one processing unit; and
at least one memory coupled to the at least one processing unit and storing instructions to be executed by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the electronic device to perform a method of executing tasks in a computing system, the computing system comprising a first computing node and a plurality of second computing nodes, available duration of the first computing node being known, available duration of the plurality of second computing nodes being unknown, and the method comprising:
starting a task manager at the first computing node, the task manager being used to manage a plurality of tasks to be executed in the computing system;
requesting, by the task manager, a set of second computing nodes in the plurality of second computing nodes to the computing system; and
distributing, by the task manager, a target task in the plurality of tasks to the set of second computing nodes so as to execute the target task by using the set of second computing nodes.

### Claim 12 (depends on 11)

The device of claim 11, wherein requesting, by the task manager, the set of second computing nodes comprises: requesting the set of second computing nodes to the computing system based on a computing resource demand for executing the plurality of tasks.

### Claim 13 (depends on 11)

The device of claim 11, wherein requesting, by the task manager, the set of second computing nodes comprises: in response to determining that the number of second computing nodes waiting to be allocated by the computing system is lower than a predetermined threshold, requesting, by the task manager, the set of second computing nodes to the computing system.

### Claim 14 (depends on 11)

The device of claim 11, wherein requesting the set of second computing nodes to the computing system comprises: in response to determining that a request cost of a given second computing node in the plurality of second computing nodes meets a first threshold, requesting the given second computing node to the computing system.

### Claim 15 (depends on 14)

The device of claim 14, wherein requesting the set of second computing nodes to the computing system comprises: in response to determining that a sum of a request cost of the set of second computing nodes and the request cost of the given second computing node meets a second threshold, requesting the given second computing node to the computing system.

### Claim 16 (depends on 11)

The device of claim 11, wherein distributing, by the task manager, the target task comprises:
dividing the target task into a plurality of sub-tasks; and
distributing a target sub-task in the plurality of sub-tasks to a target second computing node in the set of second computing nodes.

### Claim 17 (depends on 16)

The device of claim 16, further comprising: in response to determining that the target sub-task is executed at the target second computing node, storing an execution result of the target sub-task to a storage space associated with the target task.

### Claim 18 (depends on 17)

The device of claim 17, further comprising:
in response to determining that the available duration of the target second computing node expires, distributing a next sub-task after the target sub-task in the plurality of sub-tasks to a further second computing node in the set of second computing nodes; and
instructing the further second computing node to execute the next sub-task based on the execution result in the storage space.

### Claim 19 (depends on 16)

The device of claim 16, wherein dividing the target task into the plurality of sub-tasks comprises:
obtaining the historical available duration of the set of second computing nodes based on an operational history of the set of second computing nodes; and
dividing the target task into the plurality of sub-tasks based on the historical available duration, an execution time of a sub-task in the plurality of sub-tasks being less than the historical available duration.

### Claim 20

A non-transitory computer-readable storage medium, on which a computer program is stored, the computer program, when executed by a processor, causing the processor to perform a method of executing tasks in a computing system, the computing system comprising a first computing node and a plurality of second computing nodes, available duration of the first computing node being known, available duration of the plurality of second computing nodes being unknown, and the method comprising:
starting a task manager at the first computing node, the task manager being used to manage a plurality of tasks to be executed in the computing system;
requesting, by the task manager, a set of second computing nodes in the plurality of second computing nodes to the computing system; and
distributing, by the task manager, a target task in the plurality of tasks to the set of second computing nodes so as to execute the target task by using the set of second computing nodes.
