Managing virtual machines
First Claim
1. An apparatus for use in managing virtual machines, the apparatus comprising:
- a processor; and
software encoded in media operable when executed on the processor to;
access a poll interval and an analysis interval;
access virtual machine criteria for at least one virtual machine having affinity for one or more hardware components, the virtual machine criteria comprising an upper limit and a lower limit for at least one performance characteristic;
receive periodic information comprising the at least one performance characteristic, with the periodic information being received at a rate substantially equal to the poll interval;
determine if the at least one performance characteristic is between the upper limit and the lower limit by periodically analyzing the periodic information at a periodic rate substantially equal to the analysis interval;
in response to a determination that the at least one performance characteristic is not between the upper limit and the lower limit, modifying the virtual machine affinity with respect to the one or more hardware components.
1 Assignment
0 Petitions
Accused Products
Abstract
According to one embodiment, a method for managing one or more virtual machines includes generating a request for at least one performance characteristic for at least one virtual machine, the at least one virtual machine being associated with a processing group, the processing group including one or more processing modules; receiving a response to the generated request for at least one performance characteristic for the at least one virtual machine; automatically determining whether an increase in the number of processing modules included in the processing group is required, by analyzing the received response to the generated request; and, in response to a determination that an increase in the number of processing modules included in the processing group is required, automatically adding at least one processing module to the processing group.
203 Citations
22 Claims
-
1. An apparatus for use in managing virtual machines, the apparatus comprising:
-
a processor; and
software encoded in media operable when executed on the processor to;
access a poll interval and an analysis interval;
access virtual machine criteria for at least one virtual machine having affinity for one or more hardware components, the virtual machine criteria comprising an upper limit and a lower limit for at least one performance characteristic;
receive periodic information comprising the at least one performance characteristic, with the periodic information being received at a rate substantially equal to the poll interval;
determine if the at least one performance characteristic is between the upper limit and the lower limit by periodically analyzing the periodic information at a periodic rate substantially equal to the analysis interval;
in response to a determination that the at least one performance characteristic is not between the upper limit and the lower limit, modifying the virtual machine affinity with respect to the one or more hardware components. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for managing one or more virtual machines, the method comprising:
-
generating a request for at least one performance characteristic for at least one virtual machine, the at least one virtual machine being associated with a processing group, the processing group including one or more processing modules;
receiving a response to the generated request for at least one performance characteristic for the at least one virtual machine;
automatically determining whether an increase in the number of processing modules included in the processing group is required by analyzing the received response to the generated request; and
in response to a determination that an increase in the number of processing modules included in the processing group is required, automatically adding at least one processing module to the processing group. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A method for managing a plurality of virtual machines, the method comprising:
-
receiving priority information for the plurality of virtual machines; and
based on the received priority information, assigning each of the plurality of virtual machines to one of a plurality of groups of central processing units, such that each of the plurality of virtual machines has affinity with all of the central processing units in the group to which it is assigned;
receiving at least one performance characteristic for at least one of the plurality of virtual machines; and
automatically determining if the central processing units, to which the at least one of the plurality of virtual machines has affinity, are over-utilized by analyzing the at least one performance characteristic; and
in response to a determination the central processing units are over-utilized, automatically allocating at least one additional central processing unit to each of the plurality of groups of central processing units. - View Dependent Claims (12, 13)
-
-
14. A method for managing a plurality of virtual machines, the method comprising:
-
receiving priority information for the plurality of virtual machines; and
based on the received priority information, assigning each of the plurality of virtual machines to one of a plurality of buckets such that each bucket is associated with a group of hardware components, the plurality of buckets comprising a first bucket and a second bucket, with the group of hardware components associated with the first bucket being a subset of the group of hardware components associated with the second bucket. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. Software for use in managing a plurality of virtual machines each having processing capability through association with one or more of a plurality of central processing units, the software embodied in a computer-readable medium and when executed using one or more processors, operable to:
-
access performance criteria comprising;
a first range, a second range, and a third range for at least one performance characteristic associated with the plurality of central processing units; and
a fourth range and a fifth range for at least one performance characteristic associated with each of the plurality of virtual machines;
determine a value of the at least one performance characteristic associated with the plurality of central processing units and the value of the at least one performance characteristic associated with each of the plurality of virtual machines;
in response to a determination that the at least one performance characteristic associated with the plurality of central processing units is in the first range and that the at least one performance characteristic associated with each of the plurality of virtual machines is in the fourth range for each of the plurality of virtual machines, automatically reduce the number of central processing units included in the plurality of central processing units;
in response to a determination that the at least one performance characteristic associated with the plurality of central processing units is in the second range and that the at least one performance characteristic associated with each of the plurality of virtual machines is in the fifth range for one or more of the plurality of virtual machines, automatically increase the number of central processing units included in the plurality of central processing units; and
in response to a determination that the at least one performance characteristic associated with the plurality of central processing units is in the third range, automatically increase the number of central processing units included in the plurality of central processing units. - View Dependent Claims (21, 22)
-
Specification