Autonomic Group Protocol for Distributed Systems
Tomoya Enokido and Makoto Takizawa
Department of Computers and Systems Engineering
Tokyo Denki University
{eno, taki}@takilab.k.dendai.ac.jp
Abstract
An autonomic group protocol supports applications with
enough quality of service (QoS) in change of QoS supported
by networks and applications. An autonomic group service
is supported for applications by cooperation of multiple au-
tonomous agents. Each agent autonomously takes a class of
each protocol function like retransmission. Classes taken by
an agent are required to be consistent with but might be dif-
ferent from the others. A group is composed of views each of
which is a subset of agents and in each of which agents au-
tonomously take protocol classes consistent with each other.
We discuss a model of autonomic group protocol. We also
present how to autonomously change retransmission ways in
a group as an example.
1 Introduction
Peer-to-Peer (P2P) systems [1] are getting widely available
like grid computing [4] and autonomic computing [5]. Group
communication supports basic communication mechanism to
realize cooperation of multiple peer processes. Multiple peer
processes first establish a group and then messages are ex-
changed among the processes [2, 7, 8, 10, 12]. There are group
protocols which support the ordered and atomic delivery of
messages [2, 7, 8, 10, 12]. A group protocol is realized by pro-
tocol functions; multicast/broadcast, receipt confirmation, de-
tection and retransmission of messages lost, ordering of mes-
sages received, and membership management. There are var-
ious ways to realize each of these functions like selective and
go-back-n retransmissions [6].
The complexity and efficiency of implementation of group
protocol depends on what types and quality of service (QoS)
are supported by the underlying network. Messages sent by a
process may be lost and unexpectedly delayed due to conges-
tions and faults in the network. Thus, QoS parameters are dy-
namically changed due to congestions and faults. The higher
level of communication function is supported, the larger com-
putation and communication overheads are implied. Hence,
the system has to take only classes of functions necessary and
sufficient to support required service by taking usage of the
underlying network service.
The paper [12] discusses a communication architecture
which supports a group of multiple processes which satisfies
application requirements in change of network service. How-
ever, a protocol cannot be dynamically changed each time QoS
supported by the underlying network is changed. In addition,
each process in a group has to use the same protocol functions.
It is not easy to change protocol functions in all the processes
since a large number of processes are cooperating and some
computers like personal computers and mobile computers are
not always working well.
In this paper, we discuss an autonomic group protocol
which can support types and quality (QoS) of service required
by applications even if QoS supported by the underlying net-
work is changed. Each protocol module is realized in an au-
tonomous agent. An agent autonomously changes implemen-
tation of each group protocol function depending on network
QoS monitored. Here, an agent might take different types of
protocol functions from other agents but consistent with the
other agents. We discuss what combination of protocol func-
tions are consistent. Each agent has a view which is a subset
of agents to which the agent can directly send messages. If a
group is too large for each agent to perceive QoS supported by
other agents and manage the group membership, the group is
decomposed into views. In each view, messages are exchanged
by using its own consistent protocol functions. A pair of dif-
ferent views might take different protocols.
In section 2, we show a system model. In section 3, we dis-
cuss classes of protocol functions. In section 4, we present an
agent-based architecture to support the autonomic group ser-
vice. In section 5, we discuss how to change retransmission
functions.
2 System Model
2.1 Autonomic group agent
A group of multiple application processes A
1
, ..., A
n
(n
≥ 2) are cooperating by taking usage of group communication
service. The group communication service is supported by co-
operation of multiple peer autonomous group (AG) agents
p
1
, ..., p
n
through exchanging messages by taking usage of
underlying network service [Figure 1]. For simplicity, a term
“agent” means an AG agent in this paper. The underlying net-
work supports a pair of agents with communication service
which is characterized by quality of service (QoS) parame-
ters; delay time [msec], message loss ratio [%], and bandwidth
[bps].
The cooperation of multiple AG agents is coordinated by
a group protocol. A group protocol is realized in a collec-
tion of protocol functions, transmission, confirmation, retrans-
mission, ordering of message, detection of message lost, co-
ordination schemes, and membership management. There are
multiple ways to implement each protocol function. A proto-
col function class means a way of implementation of proto-
col function. The classes are stored in a protocol class base
(CB). Each application process A
i
takes group communica-
tion service through an agent p
i
. Each agent p
i
autonomously
takes one class for each group protocol function from the pro-
tocol class base CB, which can support an application with
Proceedings of the 24th International Conference on Distributed Computing Systems Workshops (ICDCSW’04)
0-7695-2087-1/04 $20.00 © 2004 IEEE