Resource allocation in a virtualized environment
First Claim
1. A method of allocating resources in a computer system, comprising:
- accessing information identifying service requirements between a service provider and each of a plurality of users;
allocating processing resources to each of the plurality of users according to the information identifying service requirements between each of the plurality of users and the service provider, wherein the total number of processing resources allocated to the users exceeds the total number of processing resources available, wherein the information identifying service requirements is accessed from a service level agreement between each of the plurality of users and the service provider, the service level agreement of each of the plurality of users being stored in a computer-readable format, and wherein the information identifying service requirements is harvested from each user'"'"'s service level agreement and used in the allocating of the processing resources for a specified period of time;
modifying the allocating of the processing resources in response to a change in the service requirements of the service level agreement for at least one of the users over the specified period of time; and
enforcing the service requirements for the plurality of users over the specified period of time according to the allocating of the processing resources after the change in service requirements.
9 Assignments
0 Petitions
Accused Products
Abstract
In a virtualized environment, provisioned virtual machines may be migrated between different servers as needed and, accordingly, may be clustered according to particular configurations and requirements. The system described herein provides techniques for controlling the provisioning of users'"'"' virtual machines among clusters based on determined requirements obtained from users'"'"' service level agreements (SLAs) and in accordance with an optimized allocation of resources to service the processes corresponding to the virtual machines. The provisioning of virtual machines according to the system described herein may be dynamically controlled and allow for over-provisioning of virtual machines to a cluster beyond that which would normally be supported at the cluster absent the provisioning control techniques provided by the system described herein. The over-provisioning may be controllable according to specific requirements identified in each user'"'"'s SLA.
-
Citations
22 Claims
-
1. A method of allocating resources in a computer system, comprising:
-
accessing information identifying service requirements between a service provider and each of a plurality of users; allocating processing resources to each of the plurality of users according to the information identifying service requirements between each of the plurality of users and the service provider, wherein the total number of processing resources allocated to the users exceeds the total number of processing resources available, wherein the information identifying service requirements is accessed from a service level agreement between each of the plurality of users and the service provider, the service level agreement of each of the plurality of users being stored in a computer-readable format, and wherein the information identifying service requirements is harvested from each user'"'"'s service level agreement and used in the allocating of the processing resources for a specified period of time; modifying the allocating of the processing resources in response to a change in the service requirements of the service level agreement for at least one of the users over the specified period of time; and enforcing the service requirements for the plurality of users over the specified period of time according to the allocating of the processing resources after the change in service requirements. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable storage medium storing computer software that allocates resources in a computer system, the computer software comprising:
-
executable code that accesses information identifying service requirements between a service provider and each of a plurality of users; executable code that allocates processing resources to each of the plurality of users according to the accessed information identifying service requirements between each of the plurality of users and the service provider, wherein the total number of processing resources allocated to the users exceeds the total number of processing resources available, wherein the information identifying service requirements is accessed from a service level agreement between each of the plurality of users and the service provider, the service level agreement of each of the plurality of users being stored in a computer-readable format, and wherein the information identifying service requirements is harvested from each user'"'"'s service level agreement and used in the allocating of the processing resources for a specified period of time; executable code that modifies the allocating of the processing resources in response to a change in the service requirements of the service level agreement for at least one of the users over the specified period of time; and executable code that enforces the service requirements for the plurality of users over the specified period of time according to the allocating of the processing resources after the change in service requirements. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method of requesting resources in a computer system, comprising:
-
each of a plurality of users providing information identifying service requirements required of a service provider; each of the plurality of users requesting processing resources according to the information identifying service requirements required of the service provider, wherein the total number of processing resources requested by all of the plurality of users exceeds the total number of processing resources available at the same time, and wherein the service requirements from the information identifying service requirements required of the service provider are satisfied for each of the plurality of users, wherein the information identifying service requirements is provided from a service level agreement between each of the plurality of users and the service provider, the service level agreement of each of the plurality of users being stored in a computer-readable format, and wherein the information identifying service requirements is harvested from each user'"'"'s service level agreement and used in the allocating of the processing resources for a specified period of time; at least one of the plurality of users causing a change in the service requirements of the service level agreement of the at least one user over the specified period of time that causes a modification of the allocating of the processing resources; and at least one other user of the plurality of users receiving a modified allocation of processing resources over the specified period of time according to the allocating of the processing resources after the change in service requirements. - View Dependent Claims (16, 17, 18)
-
-
19. A non-transitory computer readable storage medium storing computer software that requests resources in a computer system, the computer software comprising:
-
executable code that provides, for each of a plurality of users, information identifying service requirements required of a service provider; executable code that requests, for each of the plurality of users, processing resources according to the information identifying service requirements required of the service provider, wherein the total number of processing resources requested by all of the plurality of users exceeds the total number of processing resources available at the same time, and wherein the service requirements from the information identifying service requirements required of the service provider are satisfied for each of the plurality of users, wherein the information identifying service requirements is provided from a service level agreement between each of the plurality of users and the service provider, the service level agreement of each of the plurality of users being stored in a computer-readable format, and wherein the information identifying service requirements is harvested from each user'"'"'s service level agreement and used in the allocating of the processing resources for a specified period of time; executable code that, for at least one of the plurality of users, causes a change in the service requirements of the service level agreement of the at least one user over the specified period of time that causes a modification of the allocating of the processing resources; and executable code that, for at least one other user of the plurality of users, receives information corresponding to modified allocation of processing resources over the specified period of time according to the allocating of the processing resources after the change in service requirements. - View Dependent Claims (20, 21, 22)
-
Specification