IP Library Granted Patent US 11,100,253
Granted Patent B2
US 11,100,253 · App. 16/285,160 · Granted Aug 24, 2021

Enforcing restrictions related to a virtualized computer environment

Inventors: Matthew David Ginzton (San Francisco, CA); Matthew B. Eccleston (San Francisco, CA); Srinivas Krishnamurti (Palo Alto, CA); Gerald C. Chen (San Francisco, CA); Nick Michael Ryan (Sunnyvale, CA)
Assignee: VMware, Inc.
G06F21/6281G06F9/45558G06F12/1408H04L63/0236G06F2009/45587G06F2221/2107
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 11,100,253
App. No.
16/285,160
Granted
Aug 24, 2021
Kind
B2
Abstract

An administrator may set restrictions related to the operation of a virtual machine (VM), and virtualization software enforces such restrictions. There may be restrictions related to the general use of the VM, such as who may use the VM, when the VM may be used, and on what physical computers the VM may be used. There may be similar restrictions related to a general ability to modify a VM, such as who may modify the VM. There may also be restrictions related to what modifications may be made to a VM, such as whether the VM may be modified to enable access to various devices or other resources. There may also be restrictions related to how the VM may be used and what may be done with the VM. Information related to the VM and any restrictions placed on the operation of the VM may be encrypted to inhibit a user from circumventing the restrictions.

Claims (59)

1. A method for creating a virtual machine (VM) on an administrator physical computing system and distributing the VM to a user physical computing system, comprising:

via a VM manager executing on the administrator computing system, receiving specifications for virtual system hardware to emulate for the VM and generating a configuration file based on the specifications;

creating the VM on the administrator physical computing system;

generating, by the VM manager, a VM folder containing a set of files that include the configuration file and a virtual disk file for the VM;

encrypting the configuration file and the virtual disk file by cryptographic software, wherein the cryptographic software encrypts data written by the VM manager to the configuration file and the virtual disk file and decrypts data read from the configuration file and the virtual disk file by the VM manager;

distributing the VM folder generated on the administrator physical computing system and the cryptographic software to the user physical computing system;

installing, on the user physical computing system, the VM created on the administrator physical computing system and the cryptographic software;

configuring the VM installed on the user physical computing system based on the configuration file from the distributed VM folder, wherein virtualization software on the user physical computing system accesses contents of the configuration file via the cryptographic software to determine the virtual system hardware to emulate for the VM; and

using the virtual disk file from the distributed VM folder to emulate a virtual disk in the installed VM, wherein the cryptographic software installed on the user physical computing system decrypts data read from the virtual disk during operation of the VM and encrypts data written to the virtual disk during operation of the VM.

2. The method of claim 1 , further comprising:

receiving, via the VM manager, one or more restrictions on the operation of the VM and writing the one or more restrictions in a policy file; and

storing the policy file in the VM folder distributed to the user physical computing system, wherein all of the files of the VM folder are cryptographically bound together.

3. The method of claim 2 , further comprising:

installing enforcer software on the user physical computing system, the enforcer software configured to restrict actions relating to operation of the VM on the user physical computing system that violate the restrictions in the policy file.

4. The method of claim 3 , wherein the enforcer software executes on the user physical computing system but not in the VM.

5. The method of claim 1 , wherein the configuration file specifies at least one of the following for the VM: a number of virtual CPUs, an amount of virtual system memory, a size of a virtual disk, and a number and a type of virtual devices.

6. The method of claim 1 , further comprising:

receiving restrictions via the VM manager specifying what changes to the configuration of the VM are allowed on the user physical computing system; and

restricting the user from making changes to the configuration of the VM that are not allowed on the user physical computing system.

7. A computing device for creating a virtual machine (VM) on an administrator physical computing system and distributing the VM to a user physical computing system, comprising:

at least one processor; and

memory including instructions that, when executed by the at least one processor, cause the computing device to perform a method comprising:

via a VM manager executing on the administrator computing system, receiving specifications for virtual system hardware to emulate for the VM and generating a configuration file based on the specifications;

creating the VM on the administrator physical computing system;

generating, by the VM manager, a VM folder containing a set of files that include the configuration file and a virtual disk file for the VM;

encrypting the configuration file and the virtual disk file by cryptographic software, wherein the cryptographic software encrypts data written by the VM manager to the configuration file and the virtual disk file and decrypts data read from the configuration file and the virtual disk file by the VM manager;

distributing the VM folder generated on the administrator physical computing system and the cryptographic software to the user physical computing system;

installing, on the user physical computing system, the VM created on the administrator physical computing system and the cryptographic software;

configuring the VM installed on the user physical computing system based on the configuration file from the distributed VM folder, wherein virtualization software on the user physical computing system accesses contents of the configuration file via the cryptographic software to determine the virtual system hardware to emulate for the VM; and

using the virtual disk file from the distributed VM folder to emulate a virtual disk in the installed VM, wherein the cryptographic software installed on the user physical computing system decrypts data read from the virtual disk during operation of the VM and encrypts data written to the virtual disk during operation of the VM.

8. The computing device of claim 7 , wherein the memory further includes instructions that, when executed by the at least one processor, cause the computing device to perform the steps of:

receiving, via the VM manager, one or more restrictions on the operation of the VM and writing the one or more restrictions in a policy file; and

storing the policy file in the VM folder distributed to the user physical computing system, wherein all of the files of the VM folder are cryptographically bound together.

9. The computing device of claim 8 , wherein the memory further includes instructions that, when executed by the at least one processor, cause the computing device to perform the steps of:

installing enforcer software on the user physical computing system, the enforcer software configured to restrict actions relating to operation of the VM on the user physical computing system that violate the restrictions in the policy file.

10. The computing device of claim 9 , wherein the enforcer software executes on the user physical computing system but not in the VM.

11. The computing device of claim 7 , wherein the configuration file specifies at least one of the following for the VM: a number of virtual CPUs, an amount of virtual system memory, a size of a virtual disk, and a number and a type of virtual devices.

12. The computing device of claim 7 , wherein the memory further includes instructions that, when executed by the at least one processor, cause the computing device to perform the steps of:

receiving restrictions via the VM manager specifying what changes to the configuration of the VM are allowed on the user physical computing system; and

restricting the user from making changes to the configuration of the VM that are not allowed on the user physical computing system.

13. A non-transitory computer readable storage medium for creating a virtual machine (VM) on an administrator physical computing system and distributing the VM to a user physical computing system, comprising one or more sequences of instructions, the instructions, when executed by one or more processors, causing the one or more processors to execute the operations of:

via a VM manager executing on the administrator computing system, receiving specifications for virtual system hardware to emulate for the VM and generating a configuration file based on the specifications;

creating the VM on the administrator physical computing system;

generating, by the VM manager, a VM folder containing a set of files that include the configuration file and a virtual disk file for the VM;

encrypting the configuration file and the virtual disk file by cryptographic software, wherein the cryptographic software encrypts data written by the VM manager to the configuration file and the virtual disk file and decrypts data read from the configuration file and the virtual disk file by the VM manager;

distributing the VM folder generated on the administrator physical computing system and the cryptographic software to the user physical computing system;

installing, on the user physical computing system, the VM created on the administrator physical computing system and the cryptographic software;

configuring the VM installed on the user physical computing system based on the configuration file from the distributed VM folder, wherein virtualization software on the user physical computing system accesses contents of the configuration file via the cryptographic software to determine the virtual system hardware to emulate for the VM; and

using the virtual disk file from the distributed VM folder to emulate a virtual disk in the installed VM, wherein the cryptographic software installed on the user physical computing system decrypts data read from the virtual disk during operation of the VM and encrypts data written to the virtual disk during operation of the VM.

14. The non-transitory computer readable storage medium of claim 13 , further comprising instructions that, when executed by the one or more processors, cause the one or more processors to execute the operations of:

receiving, via the VM manager, one or more restrictions on the operation of the VM and writing the one or more restrictions in a policy file; and

storing the policy file in the VM folder distributed to the user physical computing system, wherein all of the files of the VM folder are cryptographically bound together.

15. The non-transitory computer readable storage medium of claim 14 , further comprising instructions that, when executed by the one or more processors, cause the one or more processors to execute the operations of:

installing enforcer software on the user physical computing system, the enforcer software configured to restrict actions relating to operation of the VM on the user physical computing system that violate the restrictions in the policy file.

16. The non-transitory computer readable storage medium of claim 15 , wherein the enforcer software executes on the user physical computing system but not in the VM.

17. The non-transitory computer readable storage medium of claim 13 , wherein the configuration file specifies at least one of the following for the VM: a number of virtual CPUs, an amount of virtual system memory, a size of a virtual disk, and a number and a type of virtual devices.

18. The non-transitory computer readable storage medium of claim 13 , further comprising instructions that, when executed by the one or more processors, cause the one or more processors to execute the operations of:

receiving restrictions via the VM manager specifying what changes to the configuration of the VM are allowed on the user physical computing system; and

restricting the user from making changes to the configuration of the VM that are not allowed on the user physical computing system.

Assignments (3)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →