IP Library Granted Patent US 8,656,386
Granted Patent B1
US 8,656,386 · App. 12/048,046 · Granted Feb 18, 2014

Method to share identical files in a common area for virtual machines having the same operating system version and using a copy on write to place a copy of the shared identical file in a private area of the corresponding virtual machine when a virtual machine attempts to modify the shared identical file

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 8,656,386
App. No.
12/048,046
Granted
Feb 18, 2014
Kind
B1
Abstract

A system, method and computer program product for managing files of Virtual Machines, including launching a plurality of Virtual Machines in a computing system having a host OS; using a content of at least one file of the host OS as a shared file; using a re-direct, providing access to the shared file when any Virtual Machine attempts to access its private file; using copy-on-write, making a copy of the shared file if the Virtual Machine attempts to modify the shared file, and placing a copy of the shared file in a private area of the corresponding Virtual Machine.

Claims (43)

1. A method for managing files of Virtual Machines, the method comprising:

launching a plurality of Virtual Machines in a computing system having a host OS;

based on knowledge of files of guest OSes in the Virtual Machines and of the host OS as belonging to the same OS version, and which file is owned by which system component, identifying identical files in multiple guest OSes in the Virtual Machines and in the host OS;

using a content of at least one identical file of the host OS as a shared file;

using a re-direct, providing access to the shared file when any Virtual Machine attempts to access its private file;

using copy-on-write, making a copy of the shared file if the Virtual Machine attempts to modify the shared file, and placing a copy of the shared file in a private area of the corresponding Virtual Machine,

wherein one of the Virtual Machines is used as a master template for the shared files, and attempts to access the shared file by other Virtual Machines are redirected to the master template.

2. The method of claim 1 , wherein providing access to the copy of the shared file in a shared space uses an API redirection.

3. The method of claim 2 , wherein the API redirection is performed on a file basis.

4. The method of claim 2 , wherein the API redirection is performed on a block basis.

5. The method of claim 1 , wherein the launching is performed from a VM image that does not include an OS distributive.

6. The method of claim 1 , wherein the launching is performed from a boot-only disk partition.

7. The method of claim 6 , wherein templates for VM use are located in a separate storage area of a hard disk drive accessible by the host OS.

8. The method of claim 6 , wherein boot data for the VMs is located at a predefined absolute address.

9. The method of claim 1 , wherein the Virtual Machines are launched with full featured guest OSes, and a footprint of the guest OSes is then reduced by eliminating unnecessary files and replacing at least some of remaining files with redirection links.

10. The method of claim 9 , wherein the remaining files are identified by comparing guest OS files with host OS files.

11. The method of claim 9 , wherein the remaining files are identified by comparing guest OS directories with host OS directories.

12. The method of claim 1 , further comprising overlapping linear memory address spaces of at least two Virtual Machines.

13. The method of claim 1 , wherein the guest OS of the Virtual Machines does not contain standard games supplies with the OS.

14. The method of claim 1 , wherein a temporary files folder of the Virtual Machine is redirected to a temporary files folder of the OS.

15. The method of claim 1 , wherein a hiberfile.sys file of the Virtual Machine is removed from an image of the VM from which multiple VMs are launched.

16. The method of claim 1 , wherein driver files of the Virtual Machine are removed from the image of the VM, and redirects to host OS drivers are added.

17. The method of claim 1 , wherein virtual disk drive of the Virtual Machine is compacted.

18. The method of claim 1 , wherein one of the Virtual Machines is used as master template, and includes shareable user application files to which attempts to access the shared file by other Virtual Machines are redirected.

19. The method of claim 1 , wherein providing access to the copy of the shared file in the shared space uses at least one of:

(a) network access to a file system in a shared area;

(b) file redirection using a cluster file system and direct access to emulated raw disk partition that is created as a file or disk;

(c) redirection using shared bus access initiated via VMM or Hypervisor;

(d) shared memory area; and

(e) network transport using at least one of TCP, UDP, Named Pipe, Local Unix Domain Sockets, SMB redirection and NFS.

20. The method of claim 1 , wherein access to the shared file from the Virtual Machine is implemented using stub files.

21. The method of claim 1 , wherein the shared file is read-only.

22. A non-transitory computer useable storage medium having computer executable program logic stored thereon for executing on a processor, the program logic implementing the steps of:

launching a plurality of Virtual Machines in a computing system having a host OS;

based on knowledge of files of guest OSes in the Virtual Machines and of the host OS as belonging to the same OS version, and which file is owned by which system component, identifying identical files in multiple guest OSes in the Virtual Machines and in the host OS;

using a content of at least one identical file of the host OS as a shared file;

using a re-direct, providing access to the shared file when any Virtual Machine attempts to access its private file;

using copy-on-write, making a copy of the shared file if the Virtual Machine attempts to modify the shared file, and placing a copy of the shared file in a private area of the corresponding Virtual Machine,

wherein one of the Virtual Machines is used as a master template for the shared files, and attempts to access the shared file by other Virtual Machines are redirected to the master template.

23. A system for migrating an execution environment to a new platform hardware or a new virtual platform, the system comprising:

a processor;

a memory; and

a computer code loaded into the memory and executed on the processor for implementing the steps of claim 1 .

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Jul 18, 2019
From: UBS AG, STAMFORD BRANCH, AS ADMINISTRATIVE AND COLLATERAL AGENT
To: COREL CORPORATION; CLEARSLIDE, INC.; PARALLELS INTERNATIONAL GMBH
Reel/Frame 049787/0073 →
RELEASE OF SECURITY INTEREST RECORDED AT : REEL 047973 FRAME 0797 Recorded Jul 17, 2019
From: UBS AG, STAMFORD BRANCH
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 049773/0590 →
SECURITY INTEREST Recorded Dec 21, 2018
From: PARALLELS INTERNATIONAL GMBH
To: UBS AG, STAMFORD BRANCH
Reel/Frame 047973/0797 →
MERGER Recorded Mar 6, 2018
From: PARALLELS IP HOLDINGS GMBH
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 045122/0592 →
RELEASE OF SECURITY INTEREST Recorded Dec 14, 2015
From: SILICON VALLEY BANK
To: PARALLELS HOLDINGS LTD. (F/K/A SWSOFT HOLDINGS LTD.)
Reel/Frame 037289/0685 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2011
From: PARALLELS SOFTWARE INTERNATIONAL, INC.
To: PARALLELS HOLDINGS, LTD.
Reel/Frame 027467/0328 →
SECURITY AGREEMENT Recorded Apr 3, 2010
From: PARALLELS HOLDINGS, LTD.
To: SILICON VALLEY BANK
Reel/Frame 024170/0853 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2008
From: BAIMETOV, ILYA; TORMASOV, ALEXANDER G.; BELOUSSOV, SERGUEI M.; DOBROVOLSKIY, NIKOLAY N.
To: PARALLELS SOFTWARE INTERNATIONAL, INC.
Reel/Frame 020997/0828 →