Abstract
Group Communication System (GCS) is largely recognized as fundamental support in fault tolerance solutions. The need for such a system arises not only in wired networks but also in mobile Ad-Hoc networks. The design of this service becomes more complex in these networks because of their very dynamic topology and limited energy autonomy. Group Membership service is considered as a significant part of the GCS. In this paper, we propose HiCo-MoG (Hierarchical Consensus for Mobile Group): an efficient solution for group membership in large mobile Ad-Hoc Network (MANET). While the group membership problem is also equivalent to Consensus, we use the Dynamic Hierarchical Consensus called (HCD) with dynamic clusterheads set for designing a group membership service for MANETs. The HCD protocol achieves consensus using the clusters provided by a new failure detector called
Introduction
Recent progress of laptop computers and mobile networks technology bring to great steps the users in the world of mobile processing. The introduction of mobile users provides a large flexibility and availability for group applications. Mobile Ad-Hoc Network (or MANET) [30,33] is a set of mobile nodes which communicate with each other without assistance of any fixed infrastructure. Each node in the network can directly communicate with only its neighbors, i.e. nodes which are in its communication range. If a direct communication link cannot be established, then a multi-hop routing scheme is used. As opposed to traditional networks, nodes in MANETs are constrained in their energy availability, memory, computational resources, and communication bandwidth. Also, the topology of the network can change frequently.
MANET is established “on the fly” by a group of mobile nodes. It is organized as a group of nodes created on demand and is thus naturally based on group communication model. Each node in the network can join and leave the group freely. Additionally, MANETs are inherently scalable; there is no upper bound on the number of nodes composed the network. A group is a set of processes which are said to be members of the group. Group communication services are useful for building applications that require reliable multipoint communication among a group (or groups) of processes. The design of reliable Group Communication Systems (GCS) is already difficult in the case of wired networks. It becomes more complex in MANETs and the existing group communication systems were not considered in these networks. Group membership service is a significant part of GCS. It maintains information about the nodes that belong to the group and delivers the message to them. In MANETs, group membership changes frequently due to nodes mobility, and unreliable wireless communications links. The group management service must be effective in resources utilization and able to minimize the effect of group membership changes on the members.
In [13], it is shown that the group membership problem is equivalent to Consensus. The consensus is one of fundamental fault-tolerant problem arising from many distributed computing systems. It is considered as a basic building bloc for resolving agreement problems. However, it has been proved that in asynchronous distributed system, the consensus problem cannot be solved deterministically even with only one process crash [20]. To overcome this impossibility, several oracles have been proposed including Unreliable Failure Detectors (FD) [15]. FD are introduced as a mechanism that provides (possibly incorrect) information about processes failures. So, they were characterized in terms of two properties: completeness and accuracy. Completeness characterizes the failure detector capability of suspecting every incorrect process, while accuracy characterizes the failure detector capability of not suspecting correct processes i.e., restricts the mistakes that the failure detector can make. Unreliable failure detectors, when satisfying these properties on completeness and accuracy, can be used to solve several agreement problems in asynchronous distributed systems, in particular the consensus and group membership problems [13,17].
FD are classical mechanisms that also provide information about processes failures and can help systems to cope with the high dynamics of MANETs. In [40,41] hierarchical solutions for solving the consensus problem in MANETs are proposed. These are the first two works that have been reported on deterministically achieving consensus in MANETs. So, the authors consider a hierarchical network with fixed clusterheads in [41] and with dynamic clusterheads in [40]. The dynamic solution is an improved version called HCD. It consists of a modular approach that separates the concerns of clustering hosts from achieving consensus by means of new FD called
In mobile environment, group applications should be able to tailor the GCS according to its needs not only in terms of timeliness, reliability and security. To cope with the needs of modern applications, GCSs need to be scalable, robust, and flexible [11,22]. Although many collaborative applications in MANETs do not require stringent synchronization guarantees and fully-connected of all members, which allows members to agree on a shared approximation of the group membership [23]. Reaching agreement on the group membership in the presence of failures for large network is difficult. As the network is very dynamic and inherently scalable, it becomes critical and necessary to have some efficient mechanisms that quickly detect node failures to maintain dynamically group membership consistency. The movement event that causes frequent connections or disconnections of nodes must also be taken into count.
In this paper, we propose HiCo-MoG: a new group membership service for MANETs. We believe that with an efficient clustering architecture and the means of deterministic consensus for an agreement on a global consistent view, we can carry out a simple and more effective solution for group membership responding to applications needs. The group members are organized into clusters (or sub-groups) in the deployment area of members through
Problem statement and related work
In this section, we will first give a definition of the problem and then a review of the related research.
Problem statement
The design of reliable and efficient GCS is a true challenge in MANETs. Compared with fixed networks, as the network is very dynamic, group membership changes frequently due to nodes mobility and unreliable wireless communications links. The difficulty lies especially in handling the mobility of devices [1]. If a mobile host moves from one cell to another during the agreement in group membership, it can cause frequent changes in the group composition, since it is often difficult to distinguish between a crashed host and the slow one due to handoffs. Some work assumes a handoff agent who was supposed to be responsible in supervising the movement of mobile hosts between cells and reports the changes, which these movements generate on the current view to the membership agent. The membership agent is responsible for detecting the causes of a change of view: join and leave of mobile sites, failures reported by the FD and mobility reported by the handoff agent. Consequently, the system must distinguish between disconnections and failures, the fact that temporary disconnection of a member causes him to leave the group and join it in a reduced time [7]. In addition, as a MANET is often large, different members may have contradicting and asymmetric perceptions of the group’s membership according to their relative location. This injects inaccuracy in determining the group membership and exacerbates the time required to agree on the current membership. It is therefore necessary to have mechanisms that maintain group membership consistency. Also, because of the scalability problem, the group membership service should be effective in resources consumption. These additional constraints should be considered in MANETs distributed algorithms of group membership problem.
Several studies in group communication show that it is not practical to manage and assure consistency of the global group view (the list of all group members) in large MANETs, without subdividing the entire group into sub-groups managed locally. The main advantage of this subdivision is that any change in sub-group composition does not require the recalculation of the entire group membership or some other local views. Unfortunately, it is well recognized in group management as well as security of group communication that the role of a group controller is significant. This controller should be elected in MANET. However, solutions based only on one controller are not scalable. This promotes the subdivision of the whole group into sub-groups or clusters with multiple controllers (or leaders), which requires both the management of each sub-group and the communication between them. In our case, these leaders are the clusterheads set that are easily provided by the used failure detectors without using an election algorithm.
Related work
In the early stage of the development of group communications systems, small groups were used for providing replicated services, fault-tolerance and data replication. These groups have static configurations; join and leave were rare events. After that, dynamic systems have gained attention in many research areas. With the emerging of world-wide communication technology, new applications aim to allow users to freely join and leave any group. Actually, the group concept proved to be very useful and dynamic systems with large groups with many participants were emerged [11,19,38]. GCS has been well-studied for static, wired networks [17]. For WAN, the first well proposed approach is Moshe [27]. It is characterized by a client/server architecture, in which servers are in charge of maintaining client membership. It relies on a network event mechanism specific for a WAN, which keeps servers informed about changes to the group and performs as an eventually perfect failure detector. Few works have been done on the development of distributed services, such as group communication in mobile environment. In MANETs, research in this direction remains relatively new.
Mobile groups are an extension of traditional group’s concept to the mobile environment. In this case, more issues in group membership need to be considered because they are different from those in traditional one. First, mobile hosts such as laptop computers, PDAs, and mobile phones have severe resource constraints in terms of energy and processing capabilities. Second, wireless communication involves high error rate and limited bandwidth problems. Third, mobile environment is known by the movement of its devices. All these additional constraints should be considered in MANETs distributed algorithms related to group membership problem. In the group communication models, the total ordering of messages at nodes is required to maintain the global consistency of the group views. This service of group communication is an important complement of group membership service. In this context, some solutions have been proposed either for mobile or P2P systems [6,10]. Prakash and Baldoni [32] used location information in the determination of group membership of a mobile system when the network stays connected. They provide a first attempt to define a location-based group membership service. It is assumed that the network stays connected and there are no failures. Only changes due to mobility are considered. The architecture proposed is composed of a proximity layer between the group membership layer and the underlying mobile network.
At the beginning, group communication in MANETs have extended traditional GCS to deal with mobility to ensure reliable communications. Roman et al. in [34] have proposed a solution to address the unpredictable nature of wireless networks in Ad Hoc mode versus mobile entity discovery. An entity is considered to be within the communication range of another if the two are within a specified distance of each other called a safe distance. This criterion is determined by the signal strength of messages received via a connection without a direct connection (i.e., without using base stations or routing protocols to relay messages). This intensity depends on the distance between the transmitter and receiver. Therefore based on the signal strength, a mobile entity receiving a message can determine the proximity of its transmitter. Entities whose messages are received with low intensity are not retained, as it is assumed that they have a high probability of becoming inaccessible in the future. In the same context, [24] provided the specification for a partitionable group membership service supporting Ad-Hoc mobile applications and proposed a protocol for implementing the service.
[7] have proposed a protocol to solve the problem of reliable communication among a set of unbounded processes forming a group in a dynamic system. The problem is studied in a setting where communication links model a temporary disconnection among group members. In some other solutions, groups are formed according to several attributes[8,29]. Local attributes are applied to individual devices like: location, proximity, available resources and global attributes applied to the whole group: group size and reputation. Solutions of GCS using this approach considers only one leader controlling all group members and do not show their effectiveness for a scale network.
Recently, [23] presented a group membership service based on partial member connectivity that allows members to agree on a shared approximation of the group membership. Their main idea is to separate node discovery and connectivity from the membership service. This allows members to agree a shared approximation of the group membership. [28] proposed a new group membership model that takes into account the formation of dynamic paths to deal with the network partition. Their solution avoids capricious views installation during stable periods because the removal or inclusion of a process is allowed only if this process was suspected to leave or join the partition. Based on this idea, [3,39] proposed a dynamic group membership service for vehicle coordination. They defined and evaluated by simulations a set of criteria concerned with the correctness and performance of the views produced by the protocol to be satisfied. [2] proposed a toolset for mobile systems testing. It consists of a scenario-based approach that is well suited for describing the behaviour and interactions to observe in distributed systems. The approach is demonstrated on a case study whose specification are detailed in [24].
Background
View oriented GCS
GCS constitutes a significant block for dynamic distributed systems. It provides two main services [17]:
Group membership: the group members are provided with the list of all current group members, called view, and are notified about any membership changes. This group membership can change due join/leave operations; voluntary or involuntary departure but also due to the communication and process failure. Reliable and ordered message delivery: at least causal ordered of messages is important in any kind of distributed system. This means if the content of message m is dependent on the content of message Join: one process sends a request to join the group; Merge: two or more groups are organized into one group; Leave: one member leaves the group; Partition: the group is divided into two or more independent groups.
Group membership service is considered as a significant part of the GCS, it manages the formation and maintenance of currently active and connected group members called view, and also informs the applications of the updated view whenever it changes. The view-oriented group communication systems are used to realize the fault-tolerant distributed computing systems [6,31]. For a given group, a view includes the identifier and a list of currently active and connected members; these identifiers distinguish between different instances of the same membership set. The following group membership change events should be considered:
On each change of membership, a specific protocol is executed.
Group membership as consensus
In distributed systems, group membership has been extensively investigated as an underlying mechanism for achieving consensus through a concept known as virtual synchrony [23]. It imposes that view change events are delivered in a consistent order with respect to the flow of messages. Consensus and reliable broadcast have been considered for the first time in static groups. After that, systems with dynamic groups extend this model by providing explicit join and leave operations to adapt the group membership over time. Moreover, such systems can exclude faulty processes automatically from the membership. So, still reaching agreement on the group membership in the presence of failures is not trivial. Two approaches have been considered [12]:
Run a consensus protocol among the all previous group members to agree on the future group membership. This is the canonical approach, it tolerates further failures during the membership change, but involves the potentially expensive consensus primitive. Integrate consensus with the membership protocol and run it only among the correct members. Since this consensus algorithm doesn’t need to tolerate failures, it can be simpler; because further failures may still occur, it provides different guarantees.
It has been demonstrated in [13] that reducing membership to consensus in an interesting way rather than developing complex membership protocols. In this case, decoupling “failure detectors” from “membership exclusion” is favoured. So,the membership problem can be seen as a consensus problem. Despite they are different, solving consensus can help in solving group membership by transforming it into a sequence of consensus, where each consensus is executed by the processes in the current view and the decision returned by the consensus is a set of processes [36]. Precisely, if we consider the current membership view
Overview of HCD
The HCD protocol [40] achieves consensus in MANETs using the clusters constructed by


HCD protocol.
Each round of HCD protocol is divided into four concurrent tasks. Figure 2 shows an illustrative example that describes the types of exchanged messages between either an ordinary member or a clusterhead in each task. The designation of the coordinator host in each round is deterministic and can be allocated to the nodes in a rotating manner. Note that some mobile hosts may be in different rounds at a given time. In each round, some hosts values are sent through proposal messages with necessary parameters until the decision condition is reached. At this time, the decision value is broadcasted to all other alive hosts.
Like the most consensus protocols, Task1 is executed in asynchronous rounds. The figure shows task1 as the execution of the consensus algorithm in a round
GCSs are widely recognized as fundamental in fault tolerance solutions. In any distributed system, security and fault tolerance address similar issues: keeping the system operational in the case of attacks or failures. The particular nature of Ad-Hoc networks in mobility and vulnerability to attacks makes it much more necessary to take the security aspect into account. In MANETs, group communications should be secured and a group key shared between members is required. Group key management is a basic building block for the security of group communications. It requires the existence of group communication support for the establishment of the group key. The group management service is therefore a fundamental support for group key management protocols. It ensures the delivery of communications to all operational members of the group and provides the correct list of them after each alteration in the composition of the group. These two problems are generally treated independently. Some studies have shown the importance of exploring the impact of group characteristics on key management and link security to other aspects of group management [37]. So, it is clear that it is not effective to provide solutions and propose security protocols without taking into account the aspect of the group characteristics. Our group membership service can be used as support for group communication security solutions in Ad-Hoc networks.
System model
The system model of HiCo-MoG is considered as an asynchronous MANET with unbounded set of mobile hosts MHs,
The remaining group membership events are managed by our algorithm that collaborates strongly with HCD algorithm. In addition to the mobility event, a MH can exited the group by invoking the leave operation or by crashing. A MH can invoke only two operations:
Description of HiCo-MoG
HiCo-MoG is focused on the environment where a large number of mobile hosts are organized in two hierarchical levels according to the clustering architecture. As required by the mobile group applications. Such environment requires scalable, robust and consistent group membership service. We therefore give the specification of HiCo-MoG algorithm and the correctness proof.
Problem specification
The variety of proposed specification for the group membership problem responds to the diverse requirements of their applications [5]. The specification of the problem is not unique. On the contrary, multiple definitions and implementations exist, depending on the type of system for which they are devised. The first attempt for unifying the specification properties of group membership services is given in the survey of Chockler et al. [17]. They identify a series of basic properties to be satisfied by every membership or group communication services. In the case of dynamic group membership, reaching agreement on the group membership in the presence of failures is not trivial. In our work, we adopt the basic specification of the group membership problem defined in [17,27]. Accordingly, like as any problem of distributed system, this specification concerns of safety and liveness properties:
(Self Inclusion).
A host is member of each view it installs. This property requires the membership service to inform each mobile host of only those views of which the host is a member. Formally: if
(Initial View Event).
Each event occurs in some view context.
(Local Monotonicity).
Two committed views are never installed in different order by two different hosts: The local monotonicity property requires that the sequence of views delivered to each client during an execution should be the same. It allows mobile hosts to determine which of two given views is more recent, by comparing their view identifiers. Formally: If
(View Agreement).
Means that group members share the same perception of the group membership.
A mobile host does not install a view unless the immediately previous one has been installed by all other mobile hosts contained in both views. If some mobile hosts contained in a committed view does not install it, or installs a different view as its immediate successor, all hosts in the former view will eventually install a new view as the immediate successor to the first one. If the system contains stable components, i.e. subset of hosts that remain correct and connected, the same correct view is installed as the last one in every host of the same component. The liveness property of the membership information depends on the eventually perfect execution of the failure detector. Formally: For every stable component
every message that
(Membership Precision).
Notations
We use the notations in Table 1. for the description of HiCo-MoG algorithm.
Symbol notations
Symbol notations
HiCo-MoG uses a two-level hierarchical structure of MHs as it’s based on HCD: clusterheads (or leaders of sub-groups) and other MHs considered as clients, each client belongs to only one cluster. It considers the group membership service defined by some attributes as needed by the application [8,29]. The formation of the group G is accomplished according to three stages: group member’s discovery, group initialization and dynamic group management:
The group formation is started by a group initiator which launches member’s discovery by diffusing a message One of the important task of the group initialization is to enforce global group constraints like group size and reputation. This phase does not start until the initiator has received responses from hosts in its nearby members. If the attributes are in conformity, it sets its initial view to members responding by positive acknowledgement, and sends it to members which in turn lunch the consensus to agree on the view. Otherwise, the group is ready to be subdivided. Assures the group maintenance according to join/leave events and the output of the failure detector. After every alteration in group composition, members agree on the next view that is the output of consensus decision.

Group formation stages.

HiCo-MoG algorithm
HiCo-MoG algorithm (Algorithm 1) consists of three tasks: Task1 is the discovery step of the group G. At that time, a timeout is set to a constant value that determines a waiting time for collecting members wishing to join the group. A member that confirms to the initiator, initializes his view to its identity. Then, after the initiator receives
On receiving

Flowchart of HiCo-MoG steps.
We will provide some evidence related to the proposed group membership algorithm. The correctness of HiCo-MoG is ensured by proving that it satisfies the defined specification properties:
This property requires a member of the group G to be present in any view it knows about. So, there is an initial view that is installed by all Mobile hosts that appear in it. Afterwards, modifications in group membership are carried out only under the condition that the mobile host which installs the new view belongs to it. In HiCo-MoG algorithm, when G is created in Task1, every group member Among the characteristics of view-oriented group communication systems is that events which occur before the first view are not considered to be occurring in any views. The group membership service typically installs the initial view at the start-up time, and thus every sent or received message after that is considered as event of group communication and occurs in some views. In our case, members uses the group membership service to agree on the initial view as they do for any other view. This is accomplished in Task3.3 of HiCo-MoG when the first members joining the group receive The sequence of views provided by every mobile host has a monotonically increasing sequence of view identifiers. Whenever the group composition is affected by any group membership events, the consensus protocol is called to agree on a new view with an identifier greater than the predecessor one. Since each member always receives distinct views as the decision of consensus, Local Monotonicity follows. Members providing the same views are said to have reached agreement on views. This property is assured by the agreement property of the HCD protocol with next view as proposal parameter (see HCD Algorithm [40]). At the end of Task1-Phase2 of HCD, a member can decide on a view by sending it to all other members. Upon any member receives it in Task2 corresponding to a Reliable Broadcast, the decision will be forwarded and all members will decide on the same view. The system has the stable component as the failure detector
Results and discussion
HiCo-MoG is different from other group membership protocols. Its novelty lies in the use of a deterministic hierarchical consensus in group membership in large MANET. First, it ensures dynamic clustering (i.e. the clusterheads are updated in the case of failures or mobility, and any member can change its cluster and join another when it moves around the area of interest). Second, the used consensus is very adapted since it manages the mobility in order to accelerate its execution and so agree on new views when they are altered. Third, HiCo-MoG can serve as a base bloc for securing mobile group communications.
Contribution of HiCo-MoG
In MANETs, some criteria are known to be effective for any mobile group management. They mainly includes consistency, the mobility management model, clustering scheme, fault tolerance mechanism and scalability. In Table 2, we compare HiCo-MoG with the well known group membership protocols designed for wireless and mobile Ad Hoc networks. According to selected criteria, the comparison shows clearly the contribution of our method.
Comparison with the well known solutions
Comparison with the well known solutions
Like any consensus protocol, it must be demonstrated that the validity, agreement and termination properties of the consensus are satisfied. We will demonstrate that these three properties are satisfied for HiCo-MoG protocol, as it is executed in association with the consensus protocol.
If a mobile host decides a view v then v contains only initial views proposed by the mobile hosts.
The clusterhead deciding in the consensus collects only the values proposed by the hosts in
Two mobile hosts do not decide differently.
This property is fully insured by the consensus module. Therefore, it depends on the agreement property of the HCD protocol. A
No collector can be blocked indefinitely in the collection of proposals.
During the collection phase, each clusterhead collects estimates view from their local hosts. Since the communication channels are assumed to be reliable and depending on the properties of the failure detectors
No clusterhead can be blocked indefinitely in the decision phase.
When a decision is reached between the clusterheads, each clusterhead sends the decision to its local hosts. So, this phase ends. □
Any correct mobile host decides after a finite time.
A (Validity).
Mobile Ad-Hoc networks are characterized by the frequent group membership change and unpredictable topology inducted by mobility of their hosts. This makes the application of some group key management protocols proposed for wired networks to this environment a very challenging. Various research efforts were carried out in order to adapt them to MANETs. Similar to group membership issue, some works in group key management are focused to study the possibility to distinguish the more adequate solutions to this environment. Even with the constraints of MANETs, the efficiency of these solutions are proven for small groups. For the most part of them, it’s still not easy to prove their efficiency when the number of group participants is important, thus are not scalable. To overcome with this problem, the subdivision of the whole large group into groups of moderate sizes (or clusters) is favoured. According to clustering architecture of HiCo-MoG, group membership can be restricted to nodes which trust each other. So, the group key can be carefully establishment with the guaranty of its confidentiality. The absence of a central authentication server in MANETs for generating the group key can be addressed by using a group key agreement [4]. Security functionality can be added in the attributes chosen for the group formation. The contributions of members are their public keys that can be sent with a
Conclusion
Group membership service is an important bloc in designing Group Communication Service (GCS). We have proposed HiCo-MoG, that is a new method for group management in MANETs using hierarchical consensus. The division of the entire group into sub-groups via
