An alternative approach is to present a single operating system that manages all the computers. The operating system can run different processes of an application on different computers. In addition, if a particular site becomes overloaded, the operating system can migrate processes running on the computer to other sites. Migration requires a mechanism to gather load information , a distributed policy that decides when a process should be moved , and a mechanism to affect the transfer .
Migration poses several problems.
A system cannot simply copy the state associated with the migrating process to the destination process since some of this state may be host relative. A process may therefore be migratable only under certain conditions. Some systems do not guarantee that all calls will behave the same when the process is migrated. Even if there is no host relative state, the system must ensure that all messages directed to the migrated process reach the new destination. In some systems such as Charlotte, there are explicit bound ports established between communicating processes.