US5210872A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Critical task scheduling for real-time systems
Assignee: Texas Instruments Inc
•
Filing: 1991-06-28
•
Granted: 1993-05-11
•
Expires: 2011-06-28
Abstract
Abstract A task scheduling method for a real time computer system having automatic memory management or some other resource that is consumed in terms of a bit rate. The method ensures that non critical tasks do not prevent the timely execution of critical tasks. Each task is evaluated in terms of its rate of consumption of the resource. This rate is controlled by assigning each task a consumption quota and keeping track of the consumption of each task as it executes. The task is required to relinquish its processor time if it attempts to consume more than its quota.
Inventors
- 👤 Edward E. Ferguson
- 👤 Dexter S. Cook
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-24 17:38
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4843; G06F9/4881; G06F9/4887
Claims Analysis
Total Claims: 22
Claim 1
Independent Claim
105 words
A method of scheduling tasks to be executed by a real time embedded computer system having a resource that is consumed in bits per unit of time, comprising: associating a currently executing task with a maximum allocation value, wherein said maximum allocation value represents the maximum number of bits that said task may consume per activation; counting, in terms of bits, the consumption of said resource, at intervals as said task executes; comparing said consumption value with said maximum allocation value; and delivering a signal to a scheduler, if said counter value exceeds said maximum allocation value, which indicates that said task must discontinue execution.
Claim 2
Independent Claim
105 words
A method of scheduling tasks to be executed by a real time embedded computer system having a resource that is consumed in bits per unit of time, comprising: associating a currently executing task with a maximum allocation value, wherein said maximum allocation value represents the maximum number of bits that said task may consume per activation; counting, in terms of bits, the consumption of said resource, at intervals as said task executes; comparing said consumption value with said maximum allocation value; and delivering a signal to a scheduler, if said counter value exceeds said maximum allocation value, which indicates that said task must discontinue execution.
Claim 3
Dependent Claim
14 words
The method of claim 1, wherein said resource is dynamically allocated and reclaimed memory.
Claim 4
Dependent Claim
16 words
The method of claim 2, and further comprising the step of scheduling a garbage collection task.
Claim 5
Dependent Claim
25 words
The method of claim 2, wherein said counting step and said comparing step are linked to a local allocator of a program executing said task.
Claim 6
Dependent Claim
20 words
The method of claim 1, wherein said resource is a communications link having a capacity of n bits per second.
Claim 7
Dependent Claim
29 words
The method of claim 1, wherein said task is a critical task, such that said maximum allocation value has been determined to permit said task to meet system deadlines.
Claim 8
Dependent Claim
35 words
The method of claim 1, wherein said task is a non critical task and said maximum allocation value has been determined so that said non critical task will not prevent timely execution of critical tasks.
Claim 9
Dependent Claim
44 words
The method of claim 1, wherein said task executes within a time slice of a processor of said computer system, and said task is required to discontinue execution if either said time slice has expired or said counter value exceeds said maximum allocation value.
Claim 10
Dependent Claim
17 words
The method of claim 1, and further comprising the step of dynamically adjusting said maximum allocation value.
Claim 11
Dependent Claim
148 words
A computer system for executing application programs in hard real time and programmed with automatic memory management programming, comprising: a central processing unit for executing application programs and operating system programs; a computer memory for storing said programs and data operated on by said programs; a garbage collector for reclaiming memory allocated by said application programs; a counter for incrementing an allocation value according to the allocation requests of a current task of said program; a comparator for comparing the current value of said counter to a maximum allocation value stored in said memory and associated with said current task; and a scheduler for determining which tasks are to be processed by said central processing unit, wherein said scheduler receives a signal from said comparator if said counter value exceeds said maximum allocation value, and in response to said signal, causes said current task to temporarily cease execution.
Claim 12
Dependent Claim
26 words
The system of claim 10, wherein said counter and said comparator are software routines linked to a local allocation routine of said automatic memory management programming.
Claim 13
Dependent Claim
16 words
The system of claim 10, wherein said counter and said comparator are implemented as hardware devices.
Claim 14
Dependent Claim
97 words
A task controller for a real time embedded computer system having a resource that is consumed in bits per unit of time, comprising: a memory for storing maximum allocation values for tasks to be executed by the computer system; a counter for counting allocation requests of a currently executing task; a comparator for comparing a maximum allocation value of said currently executing task with the output of said counter; communication means for delivering a signal to a system scheduler, if said output of said counter exceeds said maximum allocation value, with respect to said currently executing task.
Claim 15
Dependent Claim
97 words
A task controller for a real time embedded computer system having a resource that is consumed in bits per unit of time, comprising: a memory for storing maximum allocation values for tasks to be executed by the computer system; a counter for counting allocation requests of a currently executing task; a comparator for comparing a maximum allocation value of said currently executing task with the output of said counter; communication means for delivering a signal to a system scheduler, if said output of said counter exceeds said maximum allocation value, with respect to said currently executing task.
Claim 16
Dependent Claim
26 words
The task controller of claim 13, wherein said counter and said comparator are software routines linked to local allocation routine of said automatic memory management programming.
Claim 17
Dependent Claim
17 words
The task controller of claim 13, wherein said counter and said comparator are implemented as hardware devices.
Claim 18
Dependent Claim
13 words
The task controller of claim 13, wherein said resource is dynamically allocated memory.
Claim 19
Dependent Claim
17 words
The task controller of claim 16, and further comprising a schedule for scheduling a garbage collection task.
Claim 20
Dependent Claim
21 words
The task controller of claim 13, wherein said resource is a communications link having a capacity of n bits per second.
Claim 21
Dependent Claim
30 words
The task controller of claim 13, wherein said task is a critical task, such that said maximum allocation value has been determined to permit said task to meet system deadlines.
Claim 22
Dependent Claim
36 words
The task controller of claim 13, wherein said task is a non critical task and said maximum allocation value has been determined so that said non critical task will not prevent timely execution of critical tasks.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1996-05-10 | 1996-11-09 | 1997-05-11 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2000-05-10 | 2000-11-09 | 2001-05-11 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2004-05-10 | 2004-11-09 | 2005-05-11 | $7700.00 | Window Closed / Lapsed |