← Back to Patent Explorer
US6067557A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system for allocating CPU bandwidth by prioritizing competing processes

Assignee: Extreme Networks Inc
•
Filing: 1996-09-06
•
Granted: 2000-05-23
•
Expires: 2016-09-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Dinesh Hegde

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 18:37
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4843; G06F9/4881

Claims Analysis

Total Claims: 33
Claim 1
Independent Claim 181 words
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.
Claim 2
Independent Claim 181 words
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.
Claim 3
Dependent Claim 24 words
The method of claim 1 wherein, in step (a), said plurality of processes is registered in a table in a memory of the computer.
Claim 4
Dependent Claim 31 words
The method of claim 2, wherein step (b) is reiterated at regular intervals in order to continuously determine which process has the highest priority count value by referring to said table.
Claim 5
Independent Claim 141 words
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.
Claim 6
Independent Claim 141 words
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.
Claim 7
Dependent Claim 42 words
The system of claim 4 wherein said management means determines which of said plurality of processes should be currently executed by referring to a table stored in computer memory which lists each of said plurality of processes and their respective count values.
Claim 8
Dependent Claim 18 words
The system of claim 5 wherein said management means executes the process currently assigned the highest count value.
Claim 9
Dependent Claim 36 words
The system of claim 5 wherein said management means refers to said table to determine which of said plurality of processes should be currently executed at regularly timed intervals as dictated by said system timer means.
Claim 10
Dependent Claim 36 words
The system of claim 7 wherein said management means decrements the count value of the process which is being currently executed, reevaluates said count values and executes the process which then has the highest count value.
Claim 11
Independent Claim 70 words
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).
Claim 12
Independent Claim 70 words
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).
Claim 13
Dependent Claim 73 words
The method of claim 9, wherein step (b) comprises assigning a count value to each of said plurality of processes, said count value being determined relative to each process' bandwidth requirement, in which the process which requires the lowest bandwidth is assigned a base count value and the remaining processes are assigned a count value between the base count value and a highest count value in relative correspondence to each process' bandwidth requirement.
Claim 14
Dependent Claim 22 words
The method of claim 10 wherein step (c) comprises referring to said table to find the process with the highest count value.
Claim 15
Independent Claim 88 words
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.
Claim 16
Independent Claim 88 words
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.
Claim 17
Dependent Claim 19 words
The method of claim 12, wherein the competing device having the highest priority count value is selected for execution.
Claim 18
Dependent Claim 32 words
The method of claim 13, wherein the competing device executing prior to the interrupting step is selected to continue execution if its count value is equal to the highest priority count value.
Claim 19
Dependent Claim 20 words
The method of claim 12, wherein the steps are repeated until the count value of each competing device is zero.
Claim 20
Dependent Claim 22 words
The method of claim 15, wherein after the repeated steps the count values are redetermined for the competing devices having required bandwidth.
Claim 21
Dependent Claim 50 words
The method of claim 12, wherein the count value of the competing device having the lowest required bandwidth is assigned a base count value and the remaining competing devices are assigned count values between the base count value and a highest count value in relative correspondence to their required bandwidth.
Claim 22
Dependent Claim 14 words
The method of claim 17, wherein the highest count value has the highest priority.
Claim 23
Dependent Claim 30 words
The method of claim 12, wherein the count value for each competing device is a ratio of its required bandwidth divided by the lowest required bandwidth of all competing devices.
Claim 24
Dependent Claim 11 words
The method claim 12, wherein the bandwidth-limited resource comprises CPU bandwidth.
Claim 25
Dependent Claim 12 words
The method of claim 20, wherein the competing devices comprise competing processes.
Claim 26
Dependent Claim 25 words
The method of claim 12, wherein the bandwidth-limited resource comprises a network backplane link and the connecting devices comprise ports requiring access to the link.
Claim 27
Dependent Claim 15 words
The method of claim 12, wherein the interrupting step is caused by a system timer.
Claim 28
Dependent Claim 13 words
The method of claim 23, wherein the system timer manages the bandwidth allocation.
Claim 29
Dependent Claim 23 words
The method of claim 12, wherein the bandwidth-limited resource comprises a network switch and the competing devices include network management and connection processes.
Claim 30
Independent Claim 103 words
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.
Claim 31
Independent Claim 103 words
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.
Claim 32
Dependent Claim 14 words
The bandwidth allocation system of claim 26, wherein the competing devices comprise competing processes.
Claim 33
Dependent Claim 14 words
The bandwidth allocation system of claim 27, wherein the bandwidth-limited resource comprises CPU bandwidth.

References Cited (Backward Citations)

US506987A Cited
US4481583A Cited
US5475844A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-05-23 2003-11-22 2004-05-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-05-23 2007-11-22 2008-05-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-05-23 2011-11-22 2012-05-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag