IP Library Granted Patent US 8,863,134
Granted Patent B2
US 8,863,134 · App. 11/550,767 · Granted Oct 14, 2014

Real time scheduling system for operating system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,863,134
App. No.
11/550,767
Granted
Oct 14, 2014
Kind
B2
Abstract

In one embodiment of the present invention, there is presented computer readable media for servicing at least one task. The machine readable media stores a plurality of instructions, where the plurality of instructions further comprises an operating system. The operating system treats a first request from a task at a priority level associated with a real time application and treats subsequent requests from the task that occur within a predetermined amount of time after the first request at another priority level that is lower than the priority level associated with the task. In another embodiment, an operating system receives real time requirements from at least one task and determines whether it can assure the task of meeting its real time requirements.

Claims (30)

1. A non-transitory computer-readable medium embodying a program executable in at least one device, comprising code that, when executed, causes the at least one device to:

communicate with an operating system executable in a memory of the at least one device to determine whether the operating system is able to accommodate an access requirement of at least one of a plurality of tasks;

associate a priority level with the at least one of the plurality of the tasks in response to the operating system being able to accommodate the access requirement of the at least one of the plurality of the tasks, wherein the priority level is determined utilizing an access requirement corresponding to the at least one of the plurality of the tasks;

associate a timer with the at least one of the tasks to permit the at least one of the plurality of the tasks to make a limited number of access requests to an arbiter at the priority level during a predefined time interval, wherein the timer is further employed to prevent the at least one of the plurality of the tasks from making a subsequent request to the arbiter at the priority level during the predefined time interval following the limited number of access requests at the priority level, and wherein the requests in excess of the limited number of access requests are treated by the arbiter as having a lower priority than the plurality of the tasks;

communicate with the arbiter to resolve a resource contention for a plurality of shared resources of the at least one device by selecting a request corresponding to a respective one of the plurality of the tasks having a highest priority; and

communicate with a sporadic server of the arbiter, the sporadic server operable to arbitrate a plurality of requests made by the plurality of the tasks in excess of the limited number of access requests during the predefined time interval.

2. The non-transitory computer-readable medium of claim 1 , wherein the at least one of the plurality of the tasks corresponds to a real-time application executable in the operating system.

3. The non-transitory computer-readable medium of claim 1 , wherein the at least one of the plurality of the tasks corresponds to a non-real-time application executable in the operating system.

4. The non-transitory computer-readable medium of claim 1 , wherein the operating system is operable to determine whether the access requirement is able to be accommodated for the at least one of the plurality of the tasks by performing a simulation of a servicing of the tasks.

5. A system comprising:

at least one device comprising a memory; and

a scheduling interface in communication with the at least one device, the scheduling interface operable to:

communicate with an operating system executable in a memory of the at least one device to determine whether the operating system is able to accommodate an access requirement of at least one of a plurality of tasks, wherein the access requirement comprises a maximum amount of time that may elapse between a request submission of a service of the at least one of the plurality of tasks;

associate a priority level with the at least one of the plurality of the tasks in response to the operating system being able to accommodate the access requirement of the at least one of the plurality of the tasks, wherein the priority level is determined utilizing an access requirement corresponding to the at least one of the plurality of the tasks;

associate a timer with the at least one of the tasks to permit the at least one of the plurality of the tasks to make a limited number of access requests to an arbiter at the priority level during a predefined time interval, wherein the timer is further employed to prevent the at least one of the plurality of the tasks from making a subsequent request to the arbiter at the priority level during the predefined time interval following the limited number of access requests at the priority level, and wherein the requests in excess of the limited number of access requests are treated by the arbiter as having a lower priority than the plurality of the tasks;

communicate with the arbiter to resolve a resource contention for a plurality of shared resources of the at least one device by selecting a request corresponding to a respective one of the plurality of the tasks having a highest priority; and

communicate with a sporadic server of the arbiter, the sporadic server operable to arbitrate a plurality of requests made by the plurality of the tasks in excess of the limited number of access requests during the predefined time interval.

6. The system of claim 5 , wherein the at least one of the plurality of the tasks corresponds to a real-time application executable in the operating system.

7. The system of claim 5 , wherein the at least one of the plurality of the tasks corresponds to a non-real-time application executable in the operating system.

8. The system of claim 5 , wherein the operating system is operable to determine whether the access requirement is able to be accommodated for the at least one of the tasks by performing a simulation of a servicing of the plurality of the tasks.

9. The system of claim 5 , wherein the timer is further employed to permit the at least one of the tasks associated with the timer to make more requests during the predefined time interval than a respective one of the tasks having a priority lower than the priority of the at least one of the plurality of the tasks.

10. A method comprising:

communicating, by a scheduling interface, with an operating system executable in a memory of at least one device to determine whether the operating system is able to accommodate an access requirement of at least one of a plurality of tasks;

associating, by the scheduling interface, a priority level with the at least one of the tasks in response to the operating system being able to accommodate the access requirement of the at least one of the plurality of the tasks, wherein the priority level is determined utilizing an access requirement corresponding to the at least one of the tasks;

associating, by the scheduling interface, a timer with the at least one of the tasks to permit the at least one of the plurality of the tasks to make a limited number of access requests to an arbiter at the priority level during a predefined time interval, wherein the timer is further employed to prevent the at least one of the plurality of the tasks from making a subsequent request to the arbiter at the priority level during the predefined time interval following the limited number of access requests at the priority level, and wherein the requests in excess of the limited number of access requests are treated by the arbiter as having a lower priority than the tasks;

communicating, by the scheduling interface, with the arbiter to resolve a resource contention for a plurality of shared resources of the at least one device by selecting a request corresponding to a respective one of the plurality of the tasks having a highest priority; and

communicating, by the scheduling interface, with a sporadic server of the arbiter, the sporadic server operable to arbitrate a plurality of requests made by the plurality of the tasks in excess of the limited number of access requests during the predefined time interval.

11. The method of claim 10 , wherein the at least one of the plurality of the tasks corresponds to a real-time application executable in the operating system.

12. The method of claim 10 , wherein the at least one of the plurality of the tasks corresponds to a non-real-time application executable in the operating system.

13. The method of claim 10 , wherein the operating system is operable to determine whether the access requirement is able to be accommodated for the at least one of the plurality of the tasks by performing a simulation of a servicing of the tasks.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE ERROR IN RECORDING THE MERGER IN THE INCORRECT US PATENT NO. 8,876,094 PREVIOUSLY RECORDED ON REEL 047351 FRAME 0384. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 049248/0558 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE MERGER PREVIOUSLY RECORDED AT REEL: 047230 FRAME: 0910. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047351/0384 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047230/0910 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2007
From: MACINNIS, ALEXANDER
To: BROADCOM CORPORATION
Reel/Frame 018753/0035 →