# US 12,761,964 B2 · Methods and systems for time-bounding execution of computing workflows

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

- Number: US 12,761,964 B2
- Document ID: US12761964B2
- Status: Granted
- Kind: B2
- Application number: 17/067,283
- Filed: 2020-10-09
- Published: 2021-04-15
- Granted: 2026-10-13
- Earliest claimed: 2019-10-10
- Assignees: Lynx Software Technologies, Inc.
- Applicants: Channel One Holdings Inc.
- Inventors: Damian Brunt Fozard; Kenneth Wenger; Stephen Richard Viggers
- Web page: https://patentgrep.com/patent/US12761964B2

## CPC

- G06F 9/5044: {considering hardware capabilities}
- 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/4806: {Task transfer initiation or dispatching}
- G06F 9/4843: {by program, e.g. task dispatcher, supervisor, operating system}
- G06F 9/485: {Task life-cycle, e.g. stopping, restarting, resuming execution (G06F9/4881 takes precedence)}
- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G06F 9/50: Allocation of resources, e.g. of the central processing unit [CPU]
- G06F 9/5005: {to service a request}
- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 9/5038: {considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups)}
- G06F 9/505: {considering the load}
- G06F 9/5083: {Techniques for rebalancing the load in a distributed system}
- G06N 3/02: Neural networks
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Methods and systems are provided herein for a safety-critical computing platform. The safety-critical platform includes: (a) at least one physical device which is operable to execute at least one data processing operation; and (b) a processor, the processor operatively coupled to the at least one physical device, wherein the processor executes application software which generates and transmits, to the at least one physical device, instructions for executing the at least one data processing operation.

## Claims

### Claim 1

A method for operating a computer system for performing time-bounding execution of a workflow, the workflow comprising a plurality of workload tasks, the computer system comprising at least a central processing unit (CPU) and at least one specialized processor having a parallelized computing architecture, the method comprising operating the CPU to:
identify a resource requirement for executing each workload task of the plurality of workload tasks;
determine a resource constraint for the at least one specialized processor, each specialized processor of the at least one specialized processor comprises an accelerator configured for providing parallelized computing processing;
based on the resource requirement and the resource constraint, determine whether the at least one specialized processor can execute each workload task of the plurality of workload tasks within a predetermined time,
wherein if the at least one specialized processor can execute at least one workload task within the predetermined time, transmit the at least one workload task to the at least one specialized processor for execution,
otherwise, based on the resource requirement and the resource constraint associated with one or more remaining workload tasks, the method comprises operating the CPU to select one of:
configuring the at least one specialized processor to execute the one or more remaining workload tasks within the predetermined time, and transmit the one or more remaining workload tasks for execution on the at least one specialized processor; and
executing, at the CPU, the one or more remaining workload tasks within the predetermined time.

### Claim 2 (depends on 1)

The method of claim 1, wherein the at least one specialized processor is selected from the group consisting of a graphic processing unit (GPU), a neural processing unit (NPU), a tensor processing unit (TPU), a neural network processor (NNP), an intelligence processing unit (IPU) or a vision processing unit (VPU).

### Claim 3 (depends on 1)

The method of claim 1, further comprising operating the at least one specialized processor to execute the at least one workload task to generate one or more corresponding execution states.

### Claim 4 (depends on 3)

The method of claim 3, wherein the computer system further comprises a memory storage in communication with the CPU and at the at least one specialized processor, and the method further comprises operating the at least one specialized processor to store the one or more execution states in the memory storage.

### Claim 5 (depends on 4)

The method of claim 4, further comprising receiving, from the at least one specialized processor, one or more execution states associated with the at least one workload task following execution.

### Claim 6 (depends on 5)

The method of claim 5, wherein receiving the one or more execution states comprises:
retrieving, by the CPU, the one or more execution states from the memory storage.

### Claim 7 (depends on 1)

The method of claim 1, wherein the resource requirements for executing each workload task of the plurality of workload tasks comprise at least one of memory availability requirement or processing capacity requirement.

### Claim 8 (depends on 1)

The method of claim 1, wherein the resource constraints for the at least one specialized processor comprise at least one of a memory availability constraint or a processing capacity constraint.

### Claim 9 (depends on 1)

The method of claim 1, wherein the pre-determined time corresponds to a healthy case execution time (HCET).

### Claim 10 (depends on 1)

The method of claim 1, wherein configuring the at least one specialized processor comprises at least one of: increase the number of compute resources associated with the at least one specialized processor for executing the at least one remaining workload task, terminating execution of one or more low priority workload tasks on the at least one specialized processor, configuring the one or more low priority workload tasks executing on the at least one specialized processor to use less compute resources.

### Claim 11 (depends on 1)

The method of claim 1 further comprises:
determining the at least one specialized processor can execute at least one portion of a workload task within the predetermined time;
in response to determining the at least one specialized processor can execute the at least one portion of the workload task with the predetermined time, transmitting the at least one portion of the workload task to the at least one specialized processor for execution and operating the CPU to execute a remaining portion of the workload task;
otherwise, operating the CPU to select one of:
configuring the resource constraint of the at least one specialized processor to enable the at least one specialized processor to execute at least one portion of a remaining workload task of the one or more remaining workload tasks within the predetermined time, transmitting the at least one portion of the remaining workload task for execution on the at least one specialized processor, and operating the CPU to execute a remaining portion of the remaining workload task; and
executing, at the CPU, the one or more remaining workload tasks within the predetermined time.

### Claim 12

A system for performing time-bounding execution of a workflow, the workflow comprising a plurality of workload tasks, the system comprising at least a central processing unit (CPU) and at least one specialized processor having a parallelized computing architecture, the CPU being operable to:
identify a resource requirement for executing each workload task of the plurality of workload tasks;
determine a resource constraint for the at least one specialized processor, each specialized processor of the at least one specialized processor comprises an accelerator configured for providing parallelized computing processing;
based on the resource requirement and the resource constraint, determine whether the at least one specialized processor can execute each workload task of the plurality of workload tasks within a predetermined time,
wherein if the at least one specialized processor can execute at least one workload task within the predetermined time, transmit the at least one workload task to the at least one specialized processor for execution,
otherwise, based on the resource requirement and the resource constraint associated with one or more remaining workload tasks, the CPU is operable to select one of:
configuring the at least one specialized processor to execute the one or more remaining workload tasks within the predetermined time, and transmitting the one or more remaining workload tasks for execution on the at least one specialized processor; and
executing, on the CPU, the one or more remaining workload tasks within the predetermined time.

### Claim 13 (depends on 12)

The system of claim 12, wherein the at least one specialized processor is selected from the group consisting of a graphic processing unit (GPU), a neural processing unit (NPU), a tensor processing unit (TPU), a neural network processor (NNP), an intelligence processing unit (IPU) or a vision processing unit (VPU).

### Claim 14 (depends on 12)

The system of claim 12, wherein the at least one specialized processor is further operable to: execute the at least one workload task to generate one or more corresponding execution states.

### Claim 15 (depends on 14)

The system of claim 14 further comprises a memory storage in communication with the CPU and at the at least one specialized processor, and the at least one specialized processor is further operable to: store the one or more execution states in the memory storage.

### Claim 16 (depends on 15)

The system of claim 15, wherein the CPU is further operable to: receive, from the at least one specialized processor, one or more execution states associated with the at least one workload task following execution.

### Claim 17 (depends on 16)

The system of claim 16, wherein receiving the one or more execution states comprises the CPU being operable to:
retrieve one or more execution states from the memory storage.

### Claim 18 (depends on 12)

The system of claim 12, wherein the resource requirements for executing each workload task of the plurality of workload tasks comprise at least one of memory availability requirement or processing capacity requirement.

### Claim 19 (depends on 12)

The system of claim 12, wherein the resource constraints for the at least one specialized processor comprise at least one of a memory availability constraint or a processing capacity constraint.

### Claim 20 (depends on 12)

The system of claim 12, wherein the pre-determined time corresponds to a healthy case execution time (HCET).

### Claim 21 (depends on 12)

The system of claim 12, wherein configuring the at least one specialized processor comprises at least one of: increase the number of compute resources associated with the at least one specialized processor for executing the at least one remaining workload task, terminating execution of one or more low priority workload tasks on the at least one specialized processor, configuring the one or more low priority workload tasks executing on the at least one specialized processor to use less compute resources.
