Wake-on-LAN and instantiate-on-LAN in a cloud computing system
First Claim
Patent Images
1. A method for remotely managing a hardware/software platform, the method comprising:
- receiving, at a first location, using a first network interface card (NIC) associated with a hardware portion of said platform, a management packet identifying a first virtual machine associable with the platform, the virtual machine including a logical container and an operating environment;
evaluating said management packet via an instruction processor executing on said platform to determine a message type;
if the message type is a wake message, then;
evaluating whether the first virtual machine has been previously allocated;
if the first virtual machine has been previously allocated, making a logical container available and loading an operating environment encapsulating the state of the previously-allocated first virtual machine into the logical container;
if the first virtual machine has not been previously allocated, identifying an instruction sequence from the management packet, the instruction sequence suitable for instantiating a virtual machine;
making a logical container available for the first virtual machine, and executing the instruction sequence to instantiate the first virtual machine using the logical container.
5 Assignments
0 Petitions
Accused Products
Abstract
Several different embodiments of a flexible virtual machine management system are described. The virtual machine management system is used to instantiate, wake, move, sleep, and destroy individual operating environments in a cloud or cluster. In various embodiments, the virtual machine management system uses single messages to perform complex operations, allowing for flexible and scalable use of virtual resources in a cluster while still reducing energy consumption to the minimum possible level. In one preferred embodiment, Wake-on-LAN packets are used as the messages.
152 Citations
16 Claims
-
1. A method for remotely managing a hardware/software platform, the method comprising:
-
receiving, at a first location, using a first network interface card (NIC) associated with a hardware portion of said platform, a management packet identifying a first virtual machine associable with the platform, the virtual machine including a logical container and an operating environment; evaluating said management packet via an instruction processor executing on said platform to determine a message type; if the message type is a wake message, then; evaluating whether the first virtual machine has been previously allocated; if the first virtual machine has been previously allocated, making a logical container available and loading an operating environment encapsulating the state of the previously-allocated first virtual machine into the logical container; if the first virtual machine has not been previously allocated, identifying an instruction sequence from the management packet, the instruction sequence suitable for instantiating a virtual machine;
making a logical container available for the first virtual machine, and executing the instruction sequence to instantiate the first virtual machine using the logical container. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system for computation, the system comprising:
-
a combination hardware/software platform, the hardware portion of the platform including a first network interface card (NIC), a processor, a memory, a computer-readable storage medium, and a power controller; the software portion of the platform including a hypervisor, wherein the hypervisor is associated with a plurality of logical containers, each logical container including a virtual network interface; wherein each logical container is operable to host an operating environment; and
wherein each logical container and each operating environment can be in one of a plurality of states, including an active state, an inactive state, and an unallocated state; and
wherein the hypervisor, the logical containers, and the operating environments can be manipulated by a sequence of computer-readable instructions;and wherein, responsive to a message received at the first NIC, the message identifying a first virtual interface associated with a first operating environment, the platform is operable to determine a message type and evaluate whether the identified first operating environment has been previously allocated and whether the identified first operating environment is active; and
take action thereon using the processor to execute a sequence of computer-readable instructions that, when executed;if the message type indicates that the identified first operating environment should be active; if the first operating environment has been already allocated and is active, route the message to the virtual network interface of the logical container hosting the identified first operating environment; if the first operating environment has been already allocated but is not active, make a first logical container available on the platform and load a representation encapsulating the state of the previously-allocated first operating environment into the first logical container, and route the message to the virtual network interface of the logical container hosting the identified first operating environment; if the first operating environment has not been already allocated, make a first logical container available;
instantiate, using one or more instructions included in the message received at the first NIC, the first identified operating environment in the first logical container; and
route the message to the virtual network interface of the logical container hosting the identified first operating environment.- View Dependent Claims (14, 15, 16)
-
Specification