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