Message loss prevention

Before a process migrates a message is sent by the source node to all reference holders indicating that the process intends to migrate. These processes then buffer messages to the migrating process until a second message is sent, passing the new address of the process. At all times each reference holder knows the exact location of a process. Unfortunately this approach has significant drawbacks. Firstly it is more complex than message redirection. Secondly, it is necessary to contact all reference holders before effecting a move; this implies both that it is possible to determine which processes hold references (in general rather difficult), and that all such processes are contactable at the time of migration. If they are not, then the migration cannot take place. A variant of this technique is one in which the initial message indicating intention to migrate is not sent. All messages to the process during migration are lost. Only when the process has successfully migrated does it contact all reference holders to update their addresses. In ANSA/ODP, the techniques of redirection and loss prevention can be combined together so that a migrating node attempts to get clients to redirect their messages before it starts to move, but that its previous home will redirect messages from any clients who are still `using the old address'.