54 Mobile Computing
2. Cloning of a process is useful in cases where the child process inherits state from the
parent process. Cloning is typically achieved using a remote fork mechanism. A remote
fork, followed by the termination of the parent, resembles process migration. The com-
plexity of cloning is similar to migration, because the same amount of the process state is
inherited (e.g. open files and address space). In migration, the parent is terminated. In
cloning, both parent and child may continue to access the same state, introducing a
distributed-shared state, which is complex and costly to maintain. Many systems use remote
3. Mobile agents are becoming increasingly popular. The mobility of agents on the Web em-
phasizes safety and security issues more than complexity, performance, transparency and
heterogeneity. Mobile agents are implemented on top of safe languages, such as Java, Tele-
script and Tcl/Tk. We discuss mobile agents later in the book.
Compared to process migration, mobile agents are less complex to implement, because
they do not have to support OS semantics. Performance requirements are also different,
owing to the wide-area network communication cost, which is the dominant factor. Hetero-
geneity is taken care of at the language level. The early results and the wide interest in the
area of mobile agents indicate that they have a bright future.
4. Object migration at the middleware level is also possible. Because of the increasing costs
of OS development and the lack of standard solutions for distributed systems and hetero-
geneity, middleware-level solutions have generated more interest.
Distributed objects are supported in middleware systems such as distributed computing
environment (DCE) and common object request broker architecture (CORBA), as discussed in
the appendix of this book. One reason is that the early heterogeneity of these systems did not
adequately support mobility. However, some systems support mobility at the middleware level,
such as DC and the Object Management Group (OMG) mobile agent system interoperability
facility (MASIF) specification for mobile agents, based on OMG CORBA, which we discuss in the
A process is a key concept in operating systems. Process migration consists of extracting the state
of a process at the source node and transferring it to the destination node. The DEMOS multi-
processor used the first instance of process migration and showed the way forward to implement
logical mobility for mobile systems. There are many advantages and applications of migrating
processes, especially in mobile computing. Alternatives to process migration include mobile
agents and process cloning.
In Chapter 5, we shall look at physical mobility as represented by mobile handheld systems.
1. What are the components of a process that need to be moved when a process is migrated?
2. Implement process migration using a suitable C/C program, using the various steps
discussed in this chapter.