Method and system for allocating CPU bandwidth by prioritizing competing processes
First Claim
1. A method of prioritizing an allocation of bandwidth between a plurality of competing processes, the method comprising the steps of:
- a). registering, within a computer, said plurality of processes each having a prioritized count value from highest to lowest priority, wherein the priority is based on the percentage of bandwidth assigned to each of said plurality of processes;
b). determining the process having the highest priority count value;
c). executing the process having the highest priority count value on a preemptive priority basis, wherein if more than one process has the same highest priority count value, the currently executing process continues to be executed if it is one of the processes having the highest priority count value, otherwise, one of the processes having the same highest priority count value is selected based on a predetermined criteria;
d). decrementing the count value of the currently executing process;
e). repeating steps (b)-(d) until the count value of each process is zero;
f). reassigning the initial respective count values to processes which are not complete;
g). repeating steps (b)-(f) until each process is complete.
14 Assignments
0 Petitions
Accused Products
Abstract
A method and system of allocating bandwidth between a plurality of competing processes, the method comprising the steps of (a) registering, within a computer, the plurality of processes, each having an assigned priority from highest priority to lowest priority; (b) assigning to each of the plurality of processes a count value relative to each of the process'"'"' priority, wherein the lowest priority process is assigned a base count value, and each higher priority process is assigned a count value which is determined based on the ratio of its priority to the process with the lowest priority; (c) determining the process having the highest count value; (d) executing the process having the highest count value, wherein if more than one process has the same highest count value, the currently executing process continues to be executed if it is one of the processes having the highest count value, otherwise, one of the processes having the same highest count value is selected based on a predetermined criteria; (e) decrementing the count value of the currently executing process; (f) repeating steps (c)-(e) until the count value of each process is zero; (g) reassigning the initial respective count values to processes which are not complete; and (h) repeating steps (c)-(g) until each process is complete.
-
Citations
28 Claims
-
1. A method of prioritizing an allocation of bandwidth between a plurality of competing processes, the method comprising the steps of:
-
a). registering, within a computer, said plurality of processes each having a prioritized count value from highest to lowest priority, wherein the priority is based on the percentage of bandwidth assigned to each of said plurality of processes; b). determining the process having the highest priority count value; c). executing the process having the highest priority count value on a preemptive priority basis, wherein if more than one process has the same highest priority count value, the currently executing process continues to be executed if it is one of the processes having the highest priority count value, otherwise, one of the processes having the same highest priority count value is selected based on a predetermined criteria; d). decrementing the count value of the currently executing process; e). repeating steps (b)-(d) until the count value of each process is zero; f). reassigning the initial respective count values to processes which are not complete; g). repeating steps (b)-(f) until each process is complete. - View Dependent Claims (2, 3)
-
-
4. A system for allocating bandwidth between a plurality of competing processes comprising:
-
management means for assigning a count value to each of said plurality of competing processes, each competing process having a respective required bandwidth, wherein a base count value of lowest priority is assigned to the competing process having a lowest required bandwidth percentage, and a higher priority count value is determined for each other process based on a ratio of the required bandwidth of the process to the required bandwidth of the process with the lowest priority, means for executing the one of said plurality of processes having the determined highest priority count value; and system timer means for interrupting said management means to cause said management means to reiteratively determine which of said plurality of processes should be currently executed based on the determined highest priority count value. - View Dependent Claims (5, 6, 7, 8)
-
-
9. A method for allocating bandwidth between a plurality of competing processes the method comprising the steps of:
-
a) registering in a table within a computer, each of said plurality of competing processes and an associated bandwidth requirement; b) ranking said plurality of processes based only on each process'"'"' bandwidth requirement; c) determining which process should be executed based on said ranking; and d) executing the process determined in step (c). - View Dependent Claims (10, 11)
-
-
12. A method for prioritizing an allocation of bandwidth of a bandwidth-limited resource between competing devices comprising the steps of:
-
interrupting the bandwidth-limited resource on a pre-emptive priority basis in order to allow a reassignment of the bandwidth; providing a requested bandwidth for each competing device; determining a count value for each competing device wherein the count values are ordered for priority of execution based on the required bandwidth of the corresponding competing device; and decrementing the count value of the competing device executing prior to the interrupting step. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A system for prioritizing an allocation of bandwidth among a plurality of competing devices to a bandwidth-limited resource comprising:
-
the bandwidth-limited resource being subject to interruption by a system timer on a pre-emptive priority basis in order to pre-empt a currently executing one of the plurality of competing devices and determine an updated allocation of bandwidth between the competing devices; a data structure including, for each of the plurality of competing devices, a required bandwidth, and a count value having a priority based on its required bandwidth; and an execute process causing execution of the competing device having the highest priority count value. - View Dependent Claims (27, 28)
-
Specification