Wake-on-LAN and Instantiate-on-LAN in a Cloud Computing System
AssigneeRackspace US, Inc.
InventorsPaul Voccio, Antony Joel Messerli, Alexander Walsh, Jason L. Mick
Life of this patent
Estimating the term…
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.
Claims20
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 already 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 already allocated, identifying an 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.
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 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 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.
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 is active;
- and take action thereon, wherein:
- if the message type indicates that the identified first operating environment should be inactive, using the processor to execute a sequence of computer-readable instructions that, when executed:
- if the first operating environment has been already allocated and is active, placing the first operating environment into an inactive state;
- if the first operating environment is not active or not allocated, doing nothing.
Dependencies are inferred from the claim text.