Method and apparatus for allocating network resources and changing the allocation based on dynamic workload changes
First Claim
Patent Images
1. A method of allocating network resources on a computer network, comprising:
- monitoring at least two nodes on the computer network among at least a first process and a second process for allocation of computer resources on each of the at least two nodes;
assigning a priority to each of the at least two processes, the second process being assigned a lower priority than the first process;
for the first process running on at least one of the two nodes, setting a minimum resource allocation for the first process on the at least two nodes independent of the computer resources needed by other processes running on the computer network; and
redistributing computer resources on the network so that the minimum resource allocation for the first process is guaranteed should insufficient network resources be available, said redistributing step being performed by removing a computer resource previously assigned to the second process, and reallocating the removed computer resource to the first process irrespective of an amount of computer resources necessary for the second process to run on the computer network.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of allocating and distributing processes to network resources. The amount of network resources is determined for each process or groups of processes to be executed on the computer network. A minimum source allocation is provided for one or more of the processes. Each of the network resources is monitored for resource use. If necessary, a resource allocator redistributes network resources in accordance with the minimum resource allocation.
133 Citations
13 Claims
-
1. A method of allocating network resources on a computer network, comprising:
-
monitoring at least two nodes on the computer network among at least a first process and a second process for allocation of computer resources on each of the at least two nodes;
assigning a priority to each of the at least two processes, the second process being assigned a lower priority than the first process;
for the first process running on at least one of the two nodes, setting a minimum resource allocation for the first process on the at least two nodes independent of the computer resources needed by other processes running on the computer network; and
redistributing computer resources on the network so that the minimum resource allocation for the first process is guaranteed should insufficient network resources be available, said redistributing step being performed by removing a computer resource previously assigned to the second process, and reallocating the removed computer resource to the first process irrespective of an amount of computer resources necessary for the second process to run on the computer network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An article, comprising:
-
at least one sequence of machine executable instructions in machine readable form, wherein execution of the instructions by one or more processors causes the one or more processors to;
(i) monitor at least two nodes on the computer network among at least two processes for allocation of computer resources on each of the at least two nodes;
(ii) assign a priority to each of the at least two processes, the second process being, assigned a lower priority than the first process;
(iii) for a first process of the at least two processes running on at least one of the two nodes, set a minimum resource allocation for the first process on the at least two node irrespective of the computer resources needed by other processes running on the compute network; and
(iv) redistribute computer resources on the network so that the minimum resource allocation for the first process is guaranteed should insufficient network resources be available, said redistribution being performed by removing a computer resource previously assigned to the second process, and reallocating the removed computer resource to the first process irrespective of an amount of computer resources necessary for the second process to run on the computer network.
-
-
11. A computer architecture for switching resource allocation policies on a compute network, comprising:
-
monitoring means for monitoring at least two nodes on the computer network among least a first and a second process for allocation of computer resources on each of the at least two nodes;
assigning means for assigning a priority to each of the at least two processes, the second process being assigned a lower priority than the first process;
for the first process running on at least one of the two nodes, setting means for setting a minimum resource allocation for the first process on the at least two nodes independent of the computer resources needed by other processes running on the computer network; and
redistributing means for redistributing computer resources on the network so that the minimum resource allocation for the first process is guaranteed should insufficient network resources be available, said redistribution being performed by removing a computer resource previously assigned to the second process, and reallocating the removed computer resource to the first process irrespective of an amount of computer resources necessary for the second process to run on the computer network.
-
-
12. A computer system comprising:
-
a processor; and
a memory coupled to said processor, the memory having stored therein sequences of instructions, which, when executed by said processor, cause said processor to perform the steps of;
monitoring at least two nodes on the computer network among at least a first process and a second process for allocation of computer resources on each of the at least two nodes;
assigning a priority to each of the at least two processes, the second process being assigned a lower priority than the first process;
for the first process running on at least one of the two nodes, setting a minimum resource allocation for the first process on the at least two nodes independent of the computer resources needed by other processes running on the computer network; and
redistributing computer resources on the network so that the minimum resource allocation for the first process is guaranteed should insufficient network resources be available, said redistributing step being performed by removing a computer resource previously assigned to the second process, and reallocating the removed computer resource to the first process irrespective of an amount of computer resources necessary for the second process to run on the computer network.
-
-
13. A method of allocating network resources on a computer network, comprising the steps of:
-
allocating computer resources on each node of the computer network among at least a high-priority process and a low-priority process according to an allocation schema associated with said node;
setting a minimum resource allocation for the high-priority process independent of computer resources needed by other processes running on the computer network;
monitoring first nodes on which the high-priority process is executed; and
if computer resources allocated to the high-priority process on at least one of said first nodes become unavailable, changing the allocation schema associated with at least one of second nodes on which the low-priority process is executed to remove an amount of computer resources previously assigned to the low-priority process and reallocate the removed amount of computer resources to the high-priority process, whereby the minimum resource allocation for the high-priority process is guaranteed regardless of computer resources necessary for the low-priority process to run on said at least one of said second nodes.
-
Specification