Patent application number | Description | Published |
20080270564 | Virtual machine migration - Virtual machine migration is described. In embodiment(s), a virtual machine can be migrated from one host computer to another utilizing LUN (logic unit number) masking. A virtual drive of the virtual machine can be mapped to a LUN mask associates the LUN with a host computer. The LUN mask can be changed to unmask the LUN to a second computer to migrate the virtual machine from the host computer to the second computer. | 10-30-2008 |
20100281482 | APPLICATION EFFICIENCY ENGINE - A system and a method are provided. Performance and capacity statistics, with respect to an application executing on one or more VMs, may be accessed and collected. The collected performance and capacity statistics may be analyzed to determine an improved hardware profile for efficiently executing the application on a VM. VMs with a virtual hardware configuration matching the improved hardware profile may be scheduled and deployed to execute the application. Performance and capacity statistics, with respect to the VMs, may be periodically analyzed to determine whether a threshold condition has occurred. When the threshold condition has been determined to have occurred, performance and capacity statistics, with respect to VMs having different configurations corresponding to different hardware profiles, may be automatically analyzed to determine an updated improved hardware profile. VMs for executing the application may be redeployed with virtual hardware configurations matching the updated improved profile. | 11-04-2010 |
20120323853 | VIRTUAL MACHINE SNAPSHOTTING AND ANALYSIS - Described are techniques for capturing and analyzing snapshots of virtual machines. One or more computers may automatically obtain snapshots of virtual machines as they are executing to form a pool of virtual machine snapshots. The virtual machine snapshots are then read to obtain a set of features properties of the virtual machine snapshots, including information about a running guest operating system, software installed on the virtual machine, metadata about the virtual machine itself, and others. The features or properties are analyzed, in one embodiment using a machine learning algorithm, to automatically compute and store information about the virtual machines. | 12-20-2012 |
20120324446 | VIRTUAL MACHINE IMAGE COMPOSITION AND SIGNING - Techniques are described for composing virtual machine images, generating signatures thereof, and verifying virtual machine images. A virtual machine image may be generated by installing or inserting software to a base virtual machine image. A signature may be computed using hash values of blocks of the base virtual machine image; blocks of the base image that are unchanged need not be hashed to generate the signature. A copy of the new virtual machine image can be verified at a computer hosting virtual machines by computing hashes only for modified or new blocks (relative to the base image). Block verification can take place in the background when a virtual machine starts; all of the blocks are verified (hashed and compared) in some order, and at the same time, unverified blocks are verified on demand as needed by the virtual machine. | 12-20-2012 |
20120331461 | HOST ENABLED MANAGEMENT CHANNEL - A logical communication path is provided between a target virtual machine (VM) and a host or application communicating with the VM. The target VM runs on a hypervisor host that has a hypervisor and a proxy agent. The hypervisor manages execution of the VM. A mapping is maintained indicating which VMs execute on which hosts. When the host or application is to send a message or packet to the target VM, the mapping is consulted and the hypervisor host hosting the target VM is identified. The message or packet, which may identify the target VM, is transmitted to the hypervisor host. A proxy agent at the hypervisor host selects a communication channel between the hypervisor and the target VM. The hypervisor then passes the message or packet through the selected channel to the target VM. | 12-27-2012 |
20130007216 | VIRTUAL MACHINE MIGRATION TOOL - Tools and techniques for migrating applications to compute clouds are described herein. A tool may be used to migrate any arbitrary application to a specific implementation of a compute cloud. The tool may use a library of migration rules, apply the rules to a selected application, and in the process generate migration output. The migration output may be advisory information, revised code, patches, or the like. There may be different sets of rules for different cloud compute platforms, allowing the application to be migrated to different clouds. The rules may describe a wide range of application features and corresponding corrective actions for migrating the application. Rules may specify semantic behavior of the application, code or calls, storage, database instances, interactions with databases, operating systems hosting the application, and others. | 01-03-2013 |
20130007254 | CONTROLLING NETWORK UTILIZATION - Network utilization of an arbitrary application is controlled by tracking network usage statistics of virtual machines (VMs), including at least VMs hosting parts of the application. For network utilization control, VMs serve as network proxies for elements of the application. A specification for a network requirement of the application is evaluated against the network usage statistics. When a network capacity requirement to/from/through an element of the application is not satisfied, one or more VMs are adapted to satisfy the requirement. For example, a VM may be migrated from a host or network location that has excess network bandwidth. Or, for example, network bandwidth availability for an under-requirement VM may be increased and bandwidth availability for a VM at an appropriate host or network location may be decreased. Thus, application-level communication path requirements may be satisfied using VM adaptations. | 01-03-2013 |
20130007731 | VIRTUAL MACHINE IMAGE LINEAGE - Techniques are described for tracking and maintaining the lineage of virtual machines (VMs). As applications are built or compiled, information about the makeup or elements of the applications is captured. As applications are installed on VMs, that information is also captured. As the VMs are deployed to hosts, decommissioned, migrated between hosts, etc., that information is also maintained. Therefore, it is possible to trace relations between live VMs (and/or hosts they execute on) and the elements of applications installed on the VMs. For example, if an element is a source code file, it may be possible to link that source code file with particular hosts or VMs. Or, it may be possible to determine whether a given host or VM has a dependency on an application element. Given a dataset of lineage information, a wide range of previously unavailable information can be obtained. | 01-03-2013 |
20130007732 | VIRTUAL MACHINE IMAGE ANALYSIS - Techniques for analyzing virtual machine images are described. In one embodiment, a subset of settings is extracted from one or more virtual machine images, the virtual machine images store therein values of the settings. The settings are used by software executing in virtual machines of the virtual machine images, respectively. A target one of the virtual machine images is selected and target values of the settings are obtained from the target virtual machine image. Sample values of the settings are obtained from a plurality of virtual machine images. The subset formed by identifying similarities and differences of the values between the virtual machine images. | 01-03-2013 |
20130007733 | VIRTUAL MACHINE BLOCK SUBSTITUTION - Techniques are described to allow substation of blocks into a virtual machine image of an executing virtual machine. A patch may be applied to a first virtual machine image. One or more blocks modified by the patch are identified and copied to a host having a virtual machine executing from a virtual machine image that is based on the first virtual machine image (prior to the patch). While the virtual machine is executing, the substitution blocks are applied (supersede) corresponding original blocks in the virtual machine image. A guest operating system in the virtual machine may either begin using an executable file in a substitution block. In addition, the guest operating system may be forced to flush from memory and cache executable code replaced by the substitution block. | 01-03-2013 |
20140143775 | VIRTUAL MACHINE IMAGE ANALYSIS - Techniques for analyzing virtual machine images are described. In one embodiment, a subset of settings is extracted from one or more virtual machine images, the virtual machine images store therein values of the settings. The settings are used by software executing in virtual machines of the virtual machine images, respectively. A target one of the virtual machine images is selected and target values of the settings are obtained from the target virtual machine image. Sample values of the settings are obtained from a plurality of virtual machine images. The subset formed by identifying similarities and differences of the values between the virtual machine images. | 05-22-2014 |
20140289720 | Virtual Machine Block Substitution - Techniques are described to allow substation of blocks into a virtual machine image of an executing virtual machine. A patch may be applied to a first virtual machine image. One or more blocks modified by the patch are identified and copied to a host having a virtual machine executing from a virtual machine image that is based on the first virtual machine image (prior to the patch). While the virtual machine is executing, the substitution blocks are applied (supersede) corresponding original blocks in the virtual machine image. A guest operating system in the virtual machine may either begin using an executable file in a substitution block. In addition, the guest operating system may be forced to flush from memory and cache executable code replaced by the substitution block. | 09-25-2014 |