# An Efficient Causal Group Communication Protocol for Free Scale Peer-to-Peer Networks
## 4 Discussion
### Protocols Designed for Hierarchical Networks
#### 4.3.2 Protocols that Use Logical References  
This section contains the protocols that are designed for hierarchical peer-to-peer networks that use the \"happed before\" relation defined by [PERSON] [30] or other mechanisms that do not imply global time reference.  
Distributed Floor Control Protocols [7] and A Reliable Multicast [6] protocol use the synchronization mechanisms by coordinators to ensure causal ordering of events. As a result, these protocols do not require any control information to be sent, but require an infrastructure to support communication between peers. In addition, these protocols are a type of server-client protocol, where a server order is enforced to all clients.  
The Two-Layered protocol for a Large-Scale Group of Processes [16] and the Domain-Based Causal Ordering Group Communication protocol [11] use two vector clocks: one for the subgroup, and another one for the global group. As this reduces the size of control information and storage requirements, it implies that the messages that are concurrent in one group become causally ordered in another group. Both protocols require sending \(g\) integers in a subgroup, where \(g\) is the number of peers in a subgroup and \(l\) integer in a global group, where \(l\) is the number of groups.  
An Optimal Causal Broadcast Protocol [8] sends only the identifier of a last received or send message. As a result of this decision, the overhead is constant, but this can produce cases where the messages will not be correctly ordered.  
Dependency Sequences [15] represent message causal relations as a sequence of message identifiers in the form of intervals. However, the proposed protocol does not contain any mechanisms to remove unnecessary dependencies. As a result of this fact, each new message will have an overhead that is no less than the overhead of a previous message. Without an external mechanism to remove unnecessary dependencies, an overhead will grow indefinitely.  
Hierarchical Clocks [15] use two different clocks to represent a message causal relationship. One clock is used to represent the message dependency on external events (events from other groups) and the other clock to represent message dependency on local events (events from the same group). A disadvantage of these protocols is that they do not contain mechanisms to reduce sequence sizes, and thus the size of the control information will grow indefinitely. They require external mechanisms like checkpoints to accomplish this task.  
In the Adaptive Causal Ordering Algorithm [26], a message carries control information only about its direct predecessors; however, in the worst case, the communication overhead is O(\(n\)) integers per message, where \(n\) is the number of peers in the system (broadcast case).  
For the Causal Multicast in Mobile Networks [27], the communication overhead is dynamic having a worst case of size O(\(n\)), where n is the number of peers in the system (broadcast case). We note that in this protocol, the updating process of the control structures considers the acknowledgement by the peers for each message received to its local super peer, which increases the delay in the communication.