Method for distributing resources in a time-shared system
First Claim
1. A method for time sharing the resources of a processing machine among a plurality of accounts, each account containing processes competing for access to said resources including the periodic use of specific hardware associated with the processing machine, comprising the machine performed steps of:
- assigning a separate processing rate entitlement to each account in response to performance requirements selected by each separate user, said processing rate entitlement being a measure of entitlement to access the resources of said processing machine;
allocating a share of the processing rate entitlement to the various processes within each account;
measuring the time periods during which each specific hardware is used by each process;
multiplying said time periods during which specific hardware is used with weight factors associated with each specific hardware to determine the resources consumed by each process;
calculating a processing rate for each process by dividing the resources consumed by a predetermined time interval;
calculating a priority for each process by dividing the allocated processing rate entitlement by the processing rate; and
executing the process having the highest priority.
1 Assignment
0 Petitions
Accused Products
Abstract
A method is disclosed for distributing processing resources among a plurality of users of a time-shared system wherein resources are divided among various user accounts; each user assigning specific weights to the various programs (processes) in his account. A program is selected for processing in accordance with its assigned weight, the resources allocated to the account containing the process, and its recent processing rate. Programs are executed through a series of processing intervals; after each interval the priority of the executing program is lowered in proportion to the resources consumed. Priorities are recalculated after each processing interval for all programs competing for access to the resources.
-
Citations
7 Claims
-
1. A method for time sharing the resources of a processing machine among a plurality of accounts, each account containing processes competing for access to said resources including the periodic use of specific hardware associated with the processing machine, comprising the machine performed steps of:
-
assigning a separate processing rate entitlement to each account in response to performance requirements selected by each separate user, said processing rate entitlement being a measure of entitlement to access the resources of said processing machine; allocating a share of the processing rate entitlement to the various processes within each account; measuring the time periods during which each specific hardware is used by each process; multiplying said time periods during which specific hardware is used with weight factors associated with each specific hardware to determine the resources consumed by each process; calculating a processing rate for each process by dividing the resources consumed by a predetermined time interval; calculating a priority for each process by dividing the allocated processing rate entitlement by the processing rate; and executing the process having the highest priority. - View Dependent Claims (2, 3)
-
-
4. In a system having at least one account, a method for scheduling processes for execution by a processing machine, each process being associated with an account and having an initial value of priority, each process utilizing one or more particular resources during execution, each account being assigned a processing rate entitlement in response to user selected performance requirements, and each process in the account being assigned a weight factor in response to user selected performance requirements, comprising the machine performed steps of:
-
apportioning the processing rate entitlement among the processes in each account in accordance with their assigned weight factors; measuring the time interval during which a particular resource is used by each of said processes; multiplying the time interval during which a particular resource is used and a separate numerical quantity associated with each particular resource to determine resource consumption for each process; calculating a resource consumption rate for each process by dividing the resources consumed by a predetermined time interval; dividing the apportioned processing rate entitlement by the resource consumption rate to determine a value of priority for each process; and executing the process having the highest priority. - View Dependent Claims (5, 6, 7)
-
Specification