Personal and pooled virtual machine update
First Claim
1. A computer program product comprising one or more computer-storage media having thereon one or more computer-executable instructions that are structured such that, when executed by one or more processors of a computing system, cause the computing system to operate a task broker,wherein the task broker is configured to schedule update tasks for a plurality of virtual machines that run on a host machine, and for at least one update task of the scheduled update tasks performing the following:
- an act of determining that the at least one update task should be performed;
an act of determining whether the virtual machine is asleep or awake once it is determined the at least one update task should be performed by the virtual machine;
wherein when it is determined the virtual machine is asleep;
causing the virtual machine on which the at least one update task is to be performed to begin running in preparation for updating the virtual machine; and
an act of causing the at least one update task to be performed on the running virtual machine; and
wherein when it is determined the virtual machine is awake then causing the at least one update task to be performed on the running virtual machine.
2 Assignments
0 Petitions
Accused Products
Abstract
The updating of virtual machines. A task broker schedules update tasks for multiple virtual machines on the host machine. As each update task is to be performed, if the virtual machine is not currently running, as might be the case for a personal virtual machine, the virtual machine is caused to begin running to allow the update task to be performed on the virtual machine. Also, a pooled virtual machine is updated by copying information from the old virtual hard drive to a location to allow the information to be preserved as the master image is updated. After the update is completed, the virtual machine is formed, associated with the new virtual hard drive, and copied back to the virtual machine.
109 Citations
16 Claims
-
1. A computer program product comprising one or more computer-storage media having thereon one or more computer-executable instructions that are structured such that, when executed by one or more processors of a computing system, cause the computing system to operate a task broker,
wherein the task broker is configured to schedule update tasks for a plurality of virtual machines that run on a host machine, and for at least one update task of the scheduled update tasks performing the following: -
an act of determining that the at least one update task should be performed; an act of determining whether the virtual machine is asleep or awake once it is determined the at least one update task should be performed by the virtual machine; wherein when it is determined the virtual machine is asleep; causing the virtual machine on which the at least one update task is to be performed to begin running in preparation for updating the virtual machine; and an act of causing the at least one update task to be performed on the running virtual machine; and wherein when it is determined the virtual machine is awake then causing the at least one update task to be performed on the running virtual machine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer program product comprising one or more computer-storage media having thereon one or more computer-executable instructions that are structured such that, when executed by one or more processors of a computing system, cause the computing system to operate a virtual machine,
wherein the virtual machine is configured to receive an update task to be performed on the virtual machine, and notify a task broker that the update task is to be performed on the virtual machine, wherein the task broker schedules the update task into an update schedule based on the notification from the virtual machine, and wherein if the virtual machine is not running when the update task is to be performed based on the update schedule with the task broker, the virtual machine is configured to respond to an instruction from the task broker to begin running from the task broker, and perform the update task upon instruction from the task broker.
Specification