# US 2020/0401450 A1 · Systems and methods for scheduling tasks using sliding time windows

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

- Number: US 2020/0401450 A1
- Document ID: US20200401450A1
- Status: Published application
- Kind: A1
- Application number: 17/014,801
- Filed: 2020-09-08
- Published: 2020-12-24
- Earliest claimed: 2015-06-11
- Assignees: Honeywell International Inc.
- Applicants: Honeywell International Inc.
- Inventors: Srivatsan Varadarajan; Larry James Miller; Arthur Kirk McCready; Aaron R. Larson; Richard Frost; Ryan Lawrence Roffelsen
- Web page: https://patentgrep.com/patent/US20200401450A1

## CPC

- G06F 9/5005: {to service a request}
- G06F 9/4812: {by interrupt, e.g. masked}
- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems and methods for scheduling tasks using sliding time windows are provided. In certain embodiments, a system for scheduling the execution of tasks includes at least one processing unit configured to execute multiple tasks, wherein each task in the multiple tasks is scheduled to execute within a scheduler instance in multiple scheduler instances, each scheduler instance in the multiple scheduler instances being associated with a set of time windows in multiple time windows and with a set of processing units in the at least one processing unit in each time window, time windows in the plurality of time windows having a start time and an allotted duration and the scheduler instance associated with the time windows begins executing associated tasks no earlier than the start time and executes for no longer than the allotted duration, and wherein the start time is slidable to earlier moments in time.

## Claims

### Claim 1

A processor, comprising:
processing units configured to execute, simultaneously, respective tasks during at least one of multiple time windows each having a respective estimated start time and each common to the processing units; and
a scheduler configured to
determine a pre-run-time-determinable slack associated with a first one of the time windows,
determine an only-at-run-time-determinable slack in the first one of the time windows, and
advance, simultaneously in each of the processing units, an actual start time of a second one of the time windows relative to the estimated start time of the second one of the time windows by a time no greater than a sum of the determined pre-run-time-determinable slack and the determined only-at-run-time-determinable slack to an earlier time no sooner than an earliest-allowable start time of the second one of the time windows, the second one of the time windows being the next time window immediately after the first one of the time windows.

### Claim 2

A processor, comprising:
processing units configured to execute, simultaneously, respective tasks during at least one of multiple time windows each having a respective estimated end time and each common to the processing units; and
a scheduler configured to
determine a pre-run-time-determinable slack associated with one of the time windows,
determine an only-at-run-time-determinable slack in the one of the time windows, and
advance, simultaneously in each of the processing units, an actual end time of the one of the time windows relative to the estimated end time of the one of the time windows by a time no greater than a sum of the determined pre-run-time-determinable slack and the determined only-at-run-time-determinable slack.

### Claim 3

A processor, comprising:
processing units configured to execute, simultaneously, respective tasks during a time window common to the processing units, each task having a respective estimated start time; and
a scheduler configured to
determine a pre-run-time-determinable slack associated with the time window,
determine an only-at-run-time-determinable slack in the time window, and
advance an actual start time of one of the tasks relative to the estimated start time of the one of the tasks by a time no greater than a sum of the determined pre-run-time-determinable slack and the determined only-at-run-time-determinable slack to an earlier time no sooner than an actual start time of the time window.
