The concept of a process is not introduced in this report as processes are a well-known design in operating systems. Process Migration refers to the mobility of executing (or suspended) processes in a distributed computing environment. Usually, this term indicates that a process uses a network to migrate to another machine to continue its execution there. Sometimes the term is used to describe the change in execution from one processor to another processor within the same machine. I will use process migration in the first context - programs migrating between machines.
Several problems occur when a running process moves to another machine. Some of these problems are:
The phenomena that a host computer must provide services to a process that migrated away is called Residual Dependency.
In addition to the problems mentioned above, process based operating systems usually maintain a variety of tables and states for running processes. There is no simple way to retrieve all administrative information about a process in a simple sequence of copy operations. Depending on the execution of the process, tables need to be searched, copied, altered and re-established on the destination system. Thus, process state replication is no simple task.