Abstract
We present the concept of mobile groups as a basic
mechanism for both the reliable migration and the
coordination of mobile processes. Analogously to
traditional group systems, mobile groups also provide
message delivery guarantees and virtual synchrony.
Furthermore, they make process mobility not only visible
for the group, but also consistently ordered with other
group actions (such as crashes, joins, leaves, and other
migrations). The mobile groups approach represents a
novel mobility support mechanism which can be used to
handle reliability of mobile distributed systems (such as
the mobile agent systems), at the application and system
level (e.g., for coordinating distributed agents and for
reliable agent migration, respectively). In this paper, we
discuss the motivations for the mobile groups, formally
define their basic properties, and present a membership
protocol for such groups. We also discuss some
implementation issues and present the advantages of
mobile groups against mechanisms commonly employed
for the coordination of mobile processes or agents.
1. Introduction
Process Groups have been widely used as a
mechanism for supporting consistent execution of sets of
co-operating processes in distributed systems [3,23]. In a
process group, processes communicate with each other by
exchanging messages which are multicast to the whole
group. In order to preserve consistency, the group
communication protocols guarantee certain properties
such as atomic delivery (either all processes deliver a
message or no one delivers it), message ordering
guarantees (e.g., causal and total), and virtual synchrony
where modifications on the group membership (caused by
events such as process crashes and joins, etc.) are
consistently ordered with respect to message delivery. In
such an environment, operational processes perceive a
mutually consistent ordered sequence of events, though,
in reality, they may happen in an arbitrary order.
In traditional group communication systems
[14,18,16,5,6], after a process member joins a group, it
generally remains at the same location in the distributed
environment (until it crashes or leaves the group).
However, such stationary processes are not the unique
way of structuring distributed applications. Some form of
migrating process, i.e., a process that can change the node
in which it is running, during its execution, is being
frequently proposed as a basic component for designing
distributed applications. An example of such migrating
processes that have attracted the attention of researchers
in the last years are the mobile agents. The mobile agent
concept is being proposed to support different types of
applications, including electronic commerce, workflow
management, network management, and distributed
information retrieval [1,2].
Similarly to distributed applications based on static
processes, applications based on processes that can
migrate also need forms of reliable co-operation between
processes. This need may appear at the application or at
the system level. At the application level, for example,
consider the case of a user who wants to find some
resource in the Internet. A group of agents might be used
to look for the resource in parallel. The actions of the
agents should, however, be coordinated. For example, if
some of them fail, another one must be created to
complete a desired minimum set of agents looking for the
resource. In order to coordinate the creation of new
agents, a coordinator for the group should be elected.
Additionally, each agent should choose locations to visit
that have not been previously visited by other agents in
the group. In this scenario, the members of the group need
a mutually consistent view of the group configuration
(i.e., group members and corresponding locations) and
other events (such as process crashes and message
delivery). As another example, a group of agents being
Coordination of Mobile Processes with Mobile Groups
Raimundo J. Araújo Macêdo and Flávio M. Assis Silva
Distributed Systems Laboratory – LaSiD
Computing Science Department, Federal University of Bahia
Campus de Ondina, CEP: 40170-110, Salvador-BA, Brazil
{macedo, fassis}@ufba.br
Proceedings of the International Conference on Dependable Systems and Networks (DSN’02)
0-7695-1597-5/02 $17.00 © 2002 IEEE