IP Library Granted Patent US 11,334,386
Granted Patent B2
US 11,334,386 · App. 17/065,561 · Granted May 17, 2022

Method of scheduling an additional new processing task to be executed by a processor, scheduler, and central processing unit

Inventors: Pavel Novotny (Brno, CZ); Gerd Dieter Spahl (Puchheim, DE)
Assignee: Unify Patente GmbH & Co. KG
G06F9/4887G06F9/505G06F9/5038G06F11/3433
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 11,334,386
App. No.
17/065,561
Granted
May 17, 2022
Kind
B2
Abstract

A method of scheduling an additional new processing task to be executed by a processor which is already executing a predetermined number of processing tasks to be executed within timeslots and in a periodic sequence of timeslots by the processor can include determining the periodicity of execution of each processing task, associating the performance consumption with each processing task, and scheduling the additional new processing task to be executed in a periodic sequence of timeslots so as to satisfy a predetermined performance consumption criterion. Further, the present invention relates to a communication system, computer device, scheduler and a Central Processing Unit (CPU) with a scheduler.

Claims (47)

1. A method of scheduling an additional new processing task to be executed by a processor which is already executing a predetermined number of processing tasks, wherein each running processing task is to be executed within a timeslot and in a periodic sequence of timeslots by the processor, and wherein each processing task causes a predetermined performance consumption when being executed by the processor, wherein the method comprises:

determining the periodicity of execution of each processing task,

associating the performance consumption with each processing task,

scheduling the additional new processing task to be executed in a periodic sequence of timeslots so as to satisfy a predetermined performance consumption criterion, wherein the predetermined performance consumption criterion is minimizing the highest load in each timeslot; and

wherein the selection of the initial starting timeslot is based on a packet length of data packets received for the additional new processing task, and on a calculated performance consumption for all timeslots in which the additional new processing task will be invoked.

2. The method according to claim 1 , wherein for selecting the initial starting timeslot, a step of determining the timeslots with most available resources is carried out, wherein the determination is based on the number of the running and scheduled processing tasks, and the computation demand of the scheduled and running processing tasks.

3. The method of claim 2 , wherein the method further comprises a step of registering all running and scheduled processing tasks.

4. The method of claim 1 , wherein the data packets are part of a media stream.

5. A method of scheduling an additional new processing task to be executed by a processor which is already executing a predetermined number of processing tasks, wherein each running processing task is to be executed within a timeslot and in a periodic sequence of timeslots by the processor, and wherein each processing task causes a predetermined performance consumption when being executed by the processor, wherein the method comprises:

determining the periodicity of execution of each processing task,

associating the performance consumption with each processing task,

scheduling the additional new processing task to be executed in a periodic sequence of timeslots so as to satisfy a predetermined performance consumption criterion; and

accessing, for the selection of the initial starting timeslot of the additional new task, a table, in which the running processing tasks which are being executed are stored for each timeslot and are associated with a respective performance coefficient representing the performance consumption for each one of the scheduled and running processing tasks.

6. The method of claim 5 , wherein the predetermined performance consumption criterion is finding the timeslots which are not yet consumed by the processing of the running processing tasks at all, or which are consumed least by the processing of the running processing tasks.

7. The method of claim 5 , wherein the predetermined performance consumption criterion is minimizing the highest load in each timeslot.

8. The method according to claim 7 , wherein the scheduling is carried out such that an initial starting timeslot for invoking the additional new processing task as well as the recurring timeslots in the periodic sequence both are assigned to the timeslots that satisfy the predetermined consumption criterion.

9. The method according to claim 6 , wherein the scheduling is carried out such that an initial starting timeslot for invoking the additional new processing task as well as the recurring timeslots in the periodic sequence both are assigned to the timeslots that satisfy the predetermined consumption criterion.

10. The method of claim 5 , wherein the processing of the processing tasks is carried out in a single processor architecture.

11. The method of claim 5 , wherein the method is carried out on a media processing system that plans the additional new processing task with a granularity of 1 ms.

12. The method according to claim 5 , wherein the total performance consumption for the timeslots used for processing the running processing tasks and the additional new processing task is calculated using the performance coefficients.

13. A non-transitory computer-readable medium having code stored thereon that defines a method when a processor executes the code, the method comprising:

determining the periodicity of execution of each processing task for scheduling an additional new processing task to be executed by the processor which is already executing a predetermined number of processing tasks, wherein each running processing task is to be executed within a timeslot and in a periodic sequence of timeslots by the processor, and wherein each processing task causes a predetermined performance consumption when being executed by the processor;

associating the performance consumption with each processing task, and

scheduling the additional new processing task to be executed in a periodic sequence of timeslots so as to satisfy a predetermined performance consumption criterion, wherein the predetermined performance consumption criterion is minimizing the highest load in each timeslot; and

wherein the selection of the initial starting timeslot is based on the packet length of data packets received for the additional new processing task and on a calculated performance consumption for all timeslots in which the additional new processing task will be invoked.

14. The non-transitory computer-readable medium of claim 13 , wherein the code defines a scheduler for a central processing unit (CPU), the processor being the CPU.

15. A media processing system comprising:

a processor;

a non-transitory computer-readable medium communicatively connectable to the processor, the non-transitory computer-readable medium having code stored thereon that defines a method when the processor executes the code, the method comprising:

determining the periodicity of execution of each processing task for scheduling an additional new processing task to be executed by the processor which is already executing a predetermined number of processing tasks, wherein each running processing task is to be executed within a timeslot and in a periodic sequence of timeslots by the processor, and wherein each processing task causes a predetermined performance consumption when being executed by the processor;

associating the performance consumption with each processing task, and

scheduling the additional new processing task to be executed in a periodic sequence of timeslots so as to satisfy a predetermined performance consumption criterion, wherein the predetermined performance consumption criterion is defined so that a highest load is minimized in each of the timeslots to keep the load in all the timeslots as low as possible; and

wherein the selection of the initial starting timeslot is based on a packet length of data packets received for the additional new processing task and on a calculated performance consumption for all timeslots in which the additional new processing task will be invoked.

16. The media processing system of claim 15 , wherein the predetermined performance consumption criterion is defined so that a timeslot with a highest amount of available resources are searched for and found for scheduling the new processing task to that timeslot.

17. The media processing system of claim 15 , wherein the data packets are part of a media stream.

18. A media processing system comprising:

a processor;

a non-transitory computer-readable medium communicatively connectable to the processor, the non-transitory computer-readable medium having code stored thereon that defines a method when the processor executes the code, the method comprising:

determining the periodicity of execution of each processing task for scheduling an additional new processing task to be executed by the processor which is already executing a predetermined number of processing tasks, wherein each running processing task is to be executed within a timeslot and in a periodic sequence of timeslots by the processor, and wherein each processing task causes a predetermined performance consumption when being executed by the processor;

associating the performance consumption with each processing task,

scheduling the additional new processing task to be executed in a periodic sequence of timeslots so as to satisfy a predetermined performance consumption criterion, and

accessing, for the selection of the initial starting timeslot of the additional new task, a table, in which the running processing tasks which are being executed are stored for each timeslot and are associated with a respective performance coefficient representing the performance consumption for each one of the scheduled and running processing tasks.

19. A non-transitory computer-readable medium having code stored thereon that defines a method when a processor executes the code, the method comprising:

determining the periodicity of execution of each processing task for scheduling an additional new processing task to be executed by the processor which is already executing a predetermined number of processing tasks, wherein each running processing task is to be executed within a timeslot and in a periodic sequence of timeslots by the processor, and wherein each processing task causes a predetermined performance consumption when being executed by the processor;

associating the performance consumption with each processing task,

scheduling the additional new processing task to be executed in a periodic sequence of timeslots so as to satisfy a predetermined performance consumption criterion, and

accessing, for the selection of the initial starting timeslot of the additional new task, a table, in which the running processing tasks which are being executed are stored for each timeslot and are associated with a respective performance coefficient representing the performance consumption for each one of the scheduled and running processing tasks.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2025
From: WILMINGTON SAVINGS FUND SOCIETY, FSB
To: MITEL (DELAWARE), INC.; MITEL COMMUNICATIONS, INC.; MITEL NETWORKS, INC.; MITEL NETWORKS CORPORATION
Reel/Frame 071712/0821 →
NOTICE OF SUCCCESSION OF AGENCY - PL Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 069895/0755 →
NOTICE OF SUCCCESSION OF AGENCY - 3L Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 070006/0268 →
NOTICE OF SUCCCESSION OF AGENCY - 2L Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 069896/0001 →
CHANGE OF NAME Recorded Oct 24, 2024
From: UNIFY PATENTE GMBH & CO. KG
To: UNIFY BETEILIGUNGSVERWALTUNG GMBH & CO. KG
Reel/Frame 069242/0312 →
SECURITY INTEREST Recorded Jan 5, 2024
From: UNIFY PATENTE GMBH & CO. KG
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 066197/0333 →
SECURITY INTEREST Recorded Jan 5, 2024
From: UNIFY PATENTE GMBH & CO. KG
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 066197/0299 →
SECURITY INTEREST Recorded Jan 5, 2024
From: UNIFY PATENTE GMBH & CO. KG
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 066197/0073 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2020
From: NOVOTNY, PAVEL; SPAHL, GERD DIETER
To: UNIFY PATENTE GMBH & CO. KG
Reel/Frame 054615/0426 →
Priority Claims (1)
EP 19202853 · Oct 11, 2019 · regional
Continuity (1)
Related Publication 20210109784A1 · Apr 15, 2021