IP Library Granted Patent US 8,370,837
Granted Patent B2
US 8,370,837 · App. 12/832,878 · Granted Feb 5, 2013

Blocking file system for on-the-fly migration of a container with an NFS mount

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,370,837
App. No.
12/832,878
Granted
Feb 5, 2013
Kind
B2
Abstract

This invention relates to a method, system and computer program product for performing on-the-fly migration of a virtual server from one network node to another node on the network. All active processes executing on a virtual server are frozen and the state of these processes, including virtual server network connectivity information, are saved into a dump file. The dump file is transferred to the destination network node. Using the information stored in the dump file, the execution state of all active processes and the state of network connections of the virtual server are restored at the destination node to the state existing immediately prior to on-the-fly migration.

Claims (67)

1. A method for performing on-the-fly migration to a new platform of a container connected to a shared storage drive by employing a blocking file system, the method comprising:

launching a virtual execution environment inside the container;

simultaneously suspending all active processes in the virtual execution environment;

storing a state of all active processes executing in the container into a dump file;

migrating the dump file to the new platform;

on the new platform, mounting a blocking file system having a blocking state and a restarting state, such that when the blocking file system is in the blocking state, any request directed to the blocking file system results in blocking the requesting task, and where the blocking file system, upon command, transitions from the blocking state to the restarting state;

restoring the state of all the active processes in the container on the new platform from the dump file;

starting restored processes on the new platform;

reconnecting to shared storage drive; and

transitioning the blocking file system to the restarting state where blocking file system unblocks previously blocked tasks while restoring connection to files on the networked storage drive; and

dismounting the blocking file system,

wherein on-the-fly migration is performed transparently to the users of the virtual execution environment,

wherein requests by the active processes to access a file system during the migration of the are redirected to the blocking file system, and

wherein the container comprises a standard Application Programming Interface (API).

2. The method of claim 1 , further comprising placing at least some of the active processes attempting to access a file system into unkillable state.

3. The method of claim 2 , wherein placing of the at least some of the active processes into unkillable state is performed by modified operating system kernel.

4. The method of claim 1 , wherein the API is replaced with a replacement API while the container is migrated to the new platform.

5. The method of claim 4 , wherein in order to complete the container migration, the replacement API is dismounted and replaced by the standard API.

6. A non-transitory computer useable storage medium having computer executable program logic stored thereon for executing on a processor, the program logic for performing on-the-fly migration to a new platform of a container connected to a shared storage drive by employing a blocking file system, and comprising computer code for:

launching a virtual execution environment inside the container;

simultaneously suspending all active processes in the virtual execution environment;

storing the state of all active processes executing in the container into a dump file;

migrating the dump file to the new platform;

on the new platform, mounting a blocking file system having a blocking state and a restarting state, such that when the blocking file system is in the blocking state, any request directed to the blocking file system results in blocking the requesting task, and where the blocking file system, upon command, transitions from the blocking state to the restarting state;

restoring the state of all the active processes in the container on the new platform from the dump file;

starting restored processes on the new platform;

reconnecting to shared storage drive; and

transitioning the blocking file system to the restarting state where blocking file system unblocks previously blocked tasks while restoring connection to files on the networked storage drive; and

dismounting the blocking file system,

wherein on-the-fly migration is performed transparently to the users of the virtual execution environment,

wherein requests by the active processes to access a file system during the migration of the are redirected to the blocking file system, and

wherein the container comprises a standard Application Programming Interface (API).

7. A system for performing on-the-fly migration to a new platform of a container comprising virtual execution environment, by utilizing a blocking file system, the system comprising:

a processor;

a memory;

a virtual execution environment running inside the container, wherein:

all active processes in the virtual execution environment are simultaneously suspended;

a state of all active processes executing in the container is stored in a dump file;

the dump file is migrated to the new platform and the state of the active processes in the container is restored on the new platform from the dump file; and

operation of the virtual execution environment is continued,

wherein the on-the-fly migration is performed using a blocking file system and wherein on-the-fly migration is performed transparently to the users of the virtual execution environment; and

on the new platform, mounting a blocking file system having a blocking state and a restarting state, such that when the blocking file system is in the blocking state, any request directed to the blocking file system results in blocking the requesting task, and where the blocking file system, upon command, transitions from the blocking state to the restarting state,

wherein requests by the active processes to access a file system during the migration of the are redirected to the blocking file system, and

wherein the container comprises a standard Application Programming Interface (API).

8. The system of claim 7 , further comprising placing at least some of the active processes attempting to access a file system into unkillable state.

9. The system of claim 7 , wherein the API is replaced with a replacement API while the container is migrated to the new platform.

10. The system of claim 7 , wherein placing of the at least some of the active processes into unkillable state is performed by modified operating system kernel.

11. The system of claim 10 , wherein in order to complete the container migration, the replacement API is dismounted and replaced by the standard API.

12. A method for performing on-the-fly migration of a container to a new platform with a mounted file system by employing a blocking file system, the method comprising:

launching a virtual execution environment inside the container;

suspending all active processes in the virtual execution environment;

storing a state of all active processes executing in the container in a dump file;

transferring the dump file to the new platform;

replacing a previously mounted file system by mounting, on the new platform, a blocking file system having a blocking state and a restarting state in a blocking state, such that any request directed to the blocking file system results in blocking the requesting task;

restoring a state of the active processes in the container on the new platform from the dump file;

starting restored processes on the new platform;

transitioning the blocking file system to the restarting state where the blocked file redirects tasks to available files of the mounted file system and the blocking file system unblocks previously blocked tasks while restoring connection to corresponding files in the mounted file system; and

dismounting the blocking file system;

wherein the transfer of the dump file is performed transparently to the users of the virtual execution environment,

wherein requests by the active processes to access a file system during the migration of the are redirected to the blocking file system, and

wherein the container comprises a standard Application Programming Interface (API).

13. The method of claim 12 , wherein the shared storage drive is used to store the dump file, and wherein the shared storage drive is a networked storage drive.

14. The method of claim 12 , wherein mounting of blocking file system includes replacing an application programming interface of the shared storage drive file system by the blocking file system application program interface.

15. The method of claim 12 , wherein the shared storage drive is a template file system storage that is similar between the old platform and the new platform.

16. The method of claim 12 , wherein reconnecting to the shared storage drive includes reconfiguring connection of the restored processes to the shared storage drive.

17. The method of claim 16 , wherein the reconfiguring includes updating IP address to IP address of the new platform.

18. The method of claim 16 , wherein the reconfiguring includes updating a root directory name to a root directory name of the new platform.

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 Jan 30, 2018
From: PARALLELS IP HOLDINGS GMBH
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 045193/0679 →
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 Mar 23, 2012
From: PARALLELS HOLDINGS, LTD.
To: PARALLELS IP HOLDINGS GMBH
Reel/Frame 027916/0689 →
SECURITY AGREEMENT Recorded Jun 23, 2011
From: PARALLELS HOLDINGS LTD. (F/K/A SWSOFT HOLDINGS LTD.)
To: SILICON VALLEY BANK
Reel/Frame 026480/0957 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2010
From: TORMASOV, ALEXANDER G.; EMELIANOV, PAVEL
To: PARALLELS HOLDINGS, LTD.
Reel/Frame 024655/0593 →