IP Library Granted Patent US 10,474,373
Granted Patent B2
US 10,474,373 · App. 14/679,300 · Granted Nov 12, 2019

Provisioning applications in a heterogeneous virtual environment

Inventors: Jairam Choudhary (Sunnyvale, CA); Matthew Conover (Mountain View, CA)
Assignee: VMware, Inc.
G06F3/0619G06F3/06G06F3/0665G06F3/0689G06F8/61G06F9/455G06F9/45558G06F17/30G06F2009/45579
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,474,373
App. No.
14/679,300
Granted
Nov 12, 2019
Kind
B2
Abstract

Systems, methods, and software described herein provision application volumes for a plurality of virtual machines. In one example, a method of provisioning volumes for attachment to virtual machines includes provisioning an application in a virtual volume of a first virtual drive format, and identifying one or more alternative virtual drive formats for the application. The method further includes duplicating the application in the virtual volume to one or more additional virtual volumes corresponding to the one or more alternative virtual drive formats. The method also includes storing the virtual volume and the one or more additional virtual volumes in separate storage repositories, wherein each of the storage repositories is associated with one or more virtual machines and a particular virtual drive format.

Claims (36)

1. An apparatus to provision application volumes for attachment to virtual machines, the apparatus comprising:

one or more non-transitory computer readable media; and

processing instructions stored on the one or more non-transitory computer readable media that, when executed by processing circuitry, direct the processing circuitry to:

provision an application in a first virtual volume of a first virtual drive format;

identify one or more alternative virtual drive formats for the application;

duplicate the application in the virtual volume to one or more additional virtual volumes corresponding to the one or more alternative virtual drive formats; and

store the virtual volume and each of the one or more additional virtual volumes in separate storage locations, wherein each of the storage locations is accessible by a different set of virtual machines associated with a particular virtual drive format.

2. The apparatus of claim 1 wherein the processing instructions to identify the one or more alternative virtual drive formats for the application direct the processing circuitry to receive user input to identify the one or more alternative virtual drive formats for the application.

3. The apparatus of claim 1 wherein the processing instructions to provision the application in the virtual volume of the first virtual drive format direct the processing circuitry to, in a provisioning virtual machine, provision the application in the virtual volume using a native virtual drive format to the provisioning virtual machine.

4. The apparatus of claim 1 wherein the first virtual drive format comprises virtual hard disk (VHD) format, and wherein the one or more alternative virtual drive formats comprise at least virtual machine disk (VMDK) format.

5. The apparatus of claim 1 wherein the first virtual drive format comprises virtual machine disk (VMDK) format, and wherein the one or more alternative virtual drive formats comprise at least virtual hard disk (VHD) format.

6. The apparatus of claim 1 wherein the apparatus further comprises the processing circuitry.

7. The apparatus of claim 1 wherein each virtual volume from the first virtual volume and the one or more additional virtual volumes is configured to be mounted to a corresponding virtual machine in the different sets of virtual machines, and wherein the corresponding virtual machine is configured to edit registry keys to make the application executable from the mounted virtual volume.

8. A method of provisioning application volumes for attachment to virtual machines, the method comprising:

provisioning an application in a virtual volume of a first virtual drive format;

identifying one or more alternative virtual drive formats for the application; and

duplicating the application in the virtual volume to one or more additional virtual volumes corresponding to the one or more alternative virtual drive formats; and

storing the virtual volume and each of the one or more additional virtual volumes in separate storage locations, wherein each of the storage locations is accessible by a different set of virtual machines associated with a particular virtual drive format.

9. The method of claim 8 wherein identifying the one or more alternative virtual drive formats for the application comprises receiving user input to identify the one or more alternative virtual drive formats for the application.

10. The method of claim 8 wherein the first virtual drive format comprises virtual hard disk (VHD) format, and wherein the one or more alternative virtual drive formats comprise at least virtual machine disk (VMDK) format.

11. The method of claim 8 wherein the first virtual drive format comprises virtual machine disk (VMDK) format, and wherein the one or more alternative virtual drive formats comprise at least virtual hard disk (VHD) format.

12. The method of claim 8 wherein provisioning the application in the virtual volume of the first virtual drive format comprises, in a provisioning virtual machine, provisioning the application in the virtual volume using a native virtual drive format to the provisioning virtual machine.

13. The method of claim 8 wherein each virtual volume from the first virtual volume and the one or more additional virtual volumes is configured to be mounted to a corresponding virtual machine in the different sets of virtual machines, and wherein the corresponding virtual machine is configured to edit registry keys to make the application executable from the mounted virtual volume.

14. A system to provision application volumes for attachment to virtual machines, the system comprising:

a plurality of storage repositories;

a provisioning manager configured to;

provision an application in a virtual volume of a first virtual drive format;

identify one or more alternative virtual drive formats for the application;

duplicate the application in the virtual volume to one or more additional volumes corresponding to the one or more alternative virtual drive formats; and

store the virtual volume and each of the one or more additional virtual volumes separately in the plurality of storage repositories, wherein each storage repository in the plurality of storage repositories is accessible by a different set of virtual machines associated with a particular virtual drive format.

15. The system of claim 14 wherein the provisioning manager configured to identify the one or more alternative virtual drive formats for the application is configured to receive user input to identify the one or more alternative virtual drive formats for the application.

16. The system of claim 14 wherein the provisioning manager configured to provision the application in the virtual volume of the first virtual drive format is configured to provision the application in the virtual volume using a native virtual drive format to the provision manager.

17. The system of claim 16 wherein the native virtual drive format comprises virtual hard disk (VHD) format, and wherein the one or more alternative virtual drive formats comprises at least virtual machine disk (VMDK) format.

18. The system of claim 16 wherein the native virtual drive format comprises virtual machine disk (VMDK) format, and wherein the one or more alternative virtual drive formats comprises at least virtual hard disk (VHD) format.

19. The system of claim 14 wherein each virtual volume from the first virtual volume and the one or more additional virtual volumes is configured to be mounted to a corresponding virtual machine in the different sets of virtual machines, and wherein the corresponding virtual machine is configured to edit registry keys to make the application executable from the mounted virtual volume.

20. The system of claim 14 wherein each of the different sets of virtual machines is executed by a different type of hypervisor.

Assignments (3)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
MERGER Recorded Oct 13, 2015
From: CLOUDVOLUMES, INC.
To: VMWARE, INC.
Reel/Frame 036785/0944 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2015
From: CHOUDHARY, JAIRAM; CONOVER, MATTHEW
To: CLOUDVOLUMES, INC.
Reel/Frame 035339/0617 →