System, method and computer program product for process migration with planned minimized down-time
First Claim
1. A method of migrating a service process from a first server to a second server, the method comprising:
- (a) executing the service process on the first server;
(b) determining a set of memory pages associated with the service process and creating a software-managed bitmap of the memory pages;
(c) marking all the memory pages associated with the service process as unaffected in the bitmap;
(d) establishing a migration criteria for indicating whether the service process is ready to be migrated;
(e) starting a trace of affected memory pages associated with the service process and marking the affected pages in the bitmap;
(f) when the migration criteria is satisfied, freezing the service process on the first server;
(g) initializing a background migration process;
(h) migrating the affected memory pages from the first server to a second server;
(i) starting the service process on the second server;
(j) migrating on-demand to the second server memory pages from the first server accessed by the service process on the second server; and
(k) migrating remaining memory pages associated with the service process from the first server to the second server using the background migration process,wherein the migration criteria are based on a frequency of newly affected pages.
7 Assignments
0 Petitions
Accused Products
Abstract
A system, computer program product and method for a running process migration with planned minimized down-time. The method facilitates fast and efficient process migration by performing background data synchronization prior to actual process migration. The service slowdown is reduced by employing two-stage transfer method. During a first stage the service, being executed on the original machine, does not stop and all the available data required by this process is being copied. After the first stage is completed the service continues to be executed without an interruption, while the most of the data associated with the service process is already transferred to the new machine. During the second stage the execution of the service on the first machine is stopped. The files, which were not available during the first stage, are now copied. Then the execution of service is started on the second machine. The down-time is reduced to the duration of the second stage.
-
Citations
23 Claims
-
1. A method of migrating a service process from a first server to a second server, the method comprising:
-
(a) executing the service process on the first server; (b) determining a set of memory pages associated with the service process and creating a software-managed bitmap of the memory pages; (c) marking all the memory pages associated with the service process as unaffected in the bitmap; (d) establishing a migration criteria for indicating whether the service process is ready to be migrated; (e) starting a trace of affected memory pages associated with the service process and marking the affected pages in the bitmap; (f) when the migration criteria is satisfied, freezing the service process on the first server; (g) initializing a background migration process; (h) migrating the affected memory pages from the first server to a second server; (i) starting the service process on the second server; (j) migrating on-demand to the second server memory pages from the first server accessed by the service process on the second server; and (k) migrating remaining memory pages associated with the service process from the first server to the second server using the background migration process, wherein the migration criteria are based on a frequency of newly affected pages.
-
-
2. A method of migrating a service process from a first server to a second server, the method comprising:
-
(a) executing the service process on the first server; (b) determining a set of memory pages associated with the service process; (c) creating a first bitmap of memory pages; (d) marking all the memory pages associated with the service process as unaffected in the first bitmap; (e) starting a trace of affected memory pages associated with the service process; (f) marking the affected memory pages in the bitmap until a first criteria being satisfied; (g) after the first criteria is satisfied, creating a second bitmap with reflection of memory pages marked in the first bitmap and starting migration of affected memory pages marked in the first bitmap; (h) marking the affected memory pages in the second bitmap; (i) when all pages marked in the first bitmap are migrated, checking if a second criteria is satisfied; (j) if the second criteria is not satisfied, using the second bitmap as the first bitmap and repeating steps (f)-(i); (k) if the second criteria is satisfied, freezing the service process on the first server; (l) migrating the memory pages marked in the bitmap from the first server to a second server; (m) starting the service process on the second server; (n) on-demand migrating, to the second server, memory pages from the first server accessed by the service process on the second server; and (o) migrating remaining memory pages associated with the service process from the first server to the second server using the background migration process. - View Dependent Claims (5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
3. A method of migrating a service process from a first server to a second server, the method comprising:
-
(a) executing the service process on the first server; (b) determining a set of memory pages associated with the service process; (c) creating a first bitmap of memory pages; (d) marking all the memory pages associated with the service process as unaffected in the first bitmap; (e) starting a trace of affected memory pages associated with the service process; (f) marking the affected memory pages in the bitmap until a first criteria being satisfied; (g) after the first criteria is satisfied, creating a second bitmap with reflection of memory pages marked in the first bitmap and starting migration of affected memory pages marked in the first bitmap; (h) marking the affected memory pages in the second bitmap; (i) when all pages marked in the first bitmap are migrated, checking if a second criteria is satisfied; (j) if the second criteria is not satisfied, using the second bitmap as the first bitmap and repeating steps (f)-(i); (k) if the second criteria is satisfied, freezing the service process on the first server; (l) migrating the memory pages marked in the bitmap from the first server to a second server; (m) starting the service process on the second server; (n) on-demand migrating, to the second server, memory pages from the first server accessed by the service process on the second server; and migrating remaining memory pages associated with the service process from the first server to the second server using the background migration process, wherein the first criteria is satisfied after expiration of time interval from starting the trace of affected memory pages.
-
-
4. A method of migrating a service process from a first server to a second server, the method comprising:
-
(a) executing the service process on the first server; (b) determining a set of memory pages associated with the service process; (c) creating a first bitmap of memory pages; (d) marking all the memory pages associated with the service process as unaffected in the first bitmap; (e) starting a trace of affected memory pages associated with the service process; (f) marking the affected memory pages in the bitmap until a first criteria being satisfied; (g) after the first criteria is satisfied, creating a second bitmap with reflection of memory pages marked in the first bitmap and starting migration of affected memory pages marked in the first bitmap; (h) marking the affected memory pages in the second bitmap; (i) when all pages marked in the first bitmap are migrated, checking if a second criteria is satisfied; (j) if the second criteria is not satisfied, using the second bitmap as the first bitmap and repeating steps (f)-(i); (k) if the second criteria is satisfied, freezing the service process on the first server; (l) migrating the memory pages marked in the bitmap from the first server to a second server; (m) starting the service process on the second server; (n) on-demand migrating, to the second server, memory pages from the first server accessed by the service process on the second server; and migrating remaining memory pages associated with the service process from the first server to the second server using the background migration process, wherein the second criteria depends on memory pages unmarked in the second bitmap or depends on a ratio of affected pages marked in the first and the second bitmap.
-
-
6. A method of migrating a service process from a first server to a second server, the method comprising:
-
(a) executing the service process on the first server; (b) determining a set of memory pages associated with the service process; (c) creating a first bitmap of memory pages; (d) marking all the memory pages associated with the service process as unaffected in the first bitmap; (e) starting a trace of affected memory pages associated with the service process; (f) marking the affected memory pages in the bitmap until a first criteria being satisfied; (g) after the first criteria is satisfied, creating a second bitmap with reflection of memory pages marked in the first bitmap and starting migration of affected memory pages marked in the first bitmap; (h) marking the affected memory pages in the second bitmap; (i) when all pages marked in the first bitmap are migrated, checking if a second criteria is satisfied; (j) if the second criteria is not satisfied, using the second bitmap as the first bitmap and repeating steps (f)-(i); (k) if the second criteria is satisfied, freezing the service process on the first server; (l) migrating the memory pages marked in the bitmap from the first server to a second server; (m) starting the service process on the second server; (n) on-demand migrating, to the second server, memory pages from the first server accessed by the service process on the second server; and migrating remaining memory pages associated with the service process from the first server to the second server using the background migration process, wherein the migration criteria are temporal characteristics comprising any of; a frequency of newly affected pages; and a time period from starting the trace of the affected memory pages.
-
-
17. A non-transitory computer useable recording storage medium having computer program logic stored thereon for executing on a processor, the computer program logic implementing the following steps:
-
(a) executing the service process on the first server; (b) determining a set of memory pages associated with the service process; (c) creating a first software-managed bitmap of memory pages; (d) marking all the memory pages associated with the service process as unaffected in the first bitmap; (e) starting a trace of affected memory pages associated with the service process; (f) marking the affected memory pages in the first bitmap until a first criteria is satisfied; (g) after the first criteria is satisfied, creating a second software-managed bitmap with reflection of memory pages marked in the first bitmap and starting migration of affected memory pages marked in the first bitmap; (h) marking the affected memory pages in the second bitmap; (i) when all pages marked in the first bitmap are migrated, checking if a second criteria is satisfied; (j) if the second criteria is not satisfied, using the second bitmap as the first bitmap and repeating steps (f)-(i); (k) if the second criteria is satisfied, freezing the service process on the first server; (l) migrating the memory pages marked in the bitmap from the first server to a second server; (m) starting the service process on the second server; (n) on-demand migrating, to the second server, memory pages from the first server accessed by the service process on the second server; and (o) migrating remaining memory pages associated with the service process from the first server to the second server using the background migration process.
-
-
18. A method for migrating a plurality of virtual servers from a first physical server to a second physical server, the method comprising:
-
running a virtual server process on the first physical server; determining a set of memory pages associated with the virtual server process and creating a software-managed bitmap of the memory pages; initializing a background migration process; marking all the memory pages associated with the virtual server process as unaffected in the bitmap; establishing a criteria for controlling tracing of the memory pages; starting tracing changes to the memory pages associated with the virtual server process; defining memory pages affected by the virtual server process; completing tracing changes to the memory pages when the criteria is met; migrating the affected memory pages to the second physical server; freezing the virtual server process on the first physical server; initializing the virtual server process on the second physical server; migrating other affected memory pages from the first physical server to the second physical server; starting the virtual server process on the second physical server; and migrating remaining memory pages associated with the virtual server process from the first physical server to the second physical server within a background migration process, wherein the criteria are based on a time period from starting the trace of the affected memory pages. - View Dependent Claims (19, 20, 21)
-
-
22. A system for migrating a running service process from a first server to a second server, the system executing the steps of:
-
executing a service process on the first server; determining a set of memory pages associated with the running service process and creating a software-managed bitmap of the memory pages; initializing a background migration process; marking all memory pages associated with the running service process as unaffected in the bitmap; establishing a criteria for tracing the memory pages;
starting tracing changes to the memory pages associated with the running service process;defining memory pages affected by the service process and marking the pages in the bitmap; completing tracing changes to the memory pages when the criteria is met; migrating the affected memory pages to the second server; freezing the running service process on the first server; initializing the service process on the second server; migrating other affected memory pages from the first server to the second server; starting the service process on the second server; and migrating remaining memory pages associated with the service process from the first server to the second server within a background migration process, wherein the criteria depends on memory pages unmarked in the bitmap.
-
-
23. A system for migrating a plurality of virtual servers from a first physical server to a second physical server, the system executing the steps of:
-
executing a virtual server process on the first physical server; determining a set of memory pages associated with a running virtual server process and creating a software-managed bitmap of the memory pages; initializing a background migration process; marking all memory pages associated with the running virtual server process as unaffected in the bitmap; establishing criteria for controlling the memory pages tracing process; starting tracing of the changes to the memory pages associated with the running virtual server process; defining memory pages affected by the service process and marking the pages in the bitmap; completing tracing of the changes to the memory pages when the criteria is met; migrating the affected memory pages to the second physical server; freezing the running virtual server process on the first physical server; initializing the running virtual server process on the second physical server; migrating other affected memory pages from the first physical server to the second physical server; starting the service process on the second physical server; and migrating remaining memory pages associated with the running virtual server process from the first physical server to the second physical server after a predefined waiting period expires, wherein the criteria is satisfied after expiration of time interval from starting the trace of affected memory pages.
-
Specification