4.1 Multipoint relaying (MPR) scheme
In a group of multiple peers, each peer has to deliver a message to all the other peers. In a scalable P2P overlay network, each peer cannot directly send a message to every other peer of a group due to the scalability of the network. Each peer can only send a message to its neighbor peers, i.e. acquaintance peers. One approach to broadcasting a message is pure flooding scheme where messages are forwarded from peers to their neighbor peers. However, the pure flooding scheme implies the huge network overhead due to the message explosion.
The concept of "multipoint relaying (MPR)" scheme is developed to reduce the number of duplicate transmissions. Here, on receipt of a message, a peer forwards the message to all the neighbor peers but only some of the neighbor peers forward the message to other peers. Each peer is assumed to know not only the first neighbor peers but also the second neighbor peers. First neighbor peers are peers with which the peer can directly communicate. The peer is assumed to know every second neighbor peer, but cannot directly communicate with it. By taking into consideration the second neighbor peers, each peer selects a subset of the first neighbor peers only which forward the message. The selected neighbor peers are referred to as relay peers. The other neighbor peers which just receive the message and do not forward the message are leaf peers. In a directed acyclic graph (DAG) as shown in Figure 5, peers colored black and white to show relay and leaf peers, respectively. Relay peers (black one) forwards the message to the other peers, leaf peers (white one) only receives the message and does not forward it to the others. By reducing the number of peers to forward the message to the other peers, totally the MPR algorithm can significantly reduce the number of message which broadcast in the network. Therefore, we can save the network bandwidth for other network activities.
4.2 Message broadcasting
Normally, in order to broadcast a message from an initiator peer to every member peer in a group, the initiator peer sends the message to its neighbor peers. Then the neighbor peers forward the message to their neighbor peers and so on. Finally the message can be deliver to all members in the group.
To more reliably and efficiently broadcast messages to every peer in a group, we take into account the trustworthiness of each neighbor peer and newly introduce a way to deliver messages to the other members through most trustworthy neighbor peers. In our human society, we always consider the trustworthiness of a person as one of the most important factors to evaluate a person. We always would like to work with trustworthy persons. For example, if there is an important package we would like to deliver to someone and there is no way to directly deliver the package, we have to ask someone to deliver the package. In this case, we select a most trustworthy person to deliver the package, since there is smaller possibility a trustworthy person lose the package.
As discussed in the previous section, a group G is composed of trustworthy neighbors of the initiator peer p
i
and trustworthy neighbors which are introduced to the initiator peer p
i
as shown in Figure 6.
In Figure 6, there are 17 peers. We assume the trustworthiness requirement of a group G is T
req
≥ 5 and the scale of the group S = 10. Since the trustworthiness requirement of the group G is T
req
≥ 5, an initiator peer p
i
only invites peers p01, p02, and p03 to the group G, because each of the peers may have a greater trustworthy value than T
req
. The scale of the group S = 10 means that, the minimum number of trustworthy peers to compose a trustworthy group G is 10. The initiator peer p
i
asks the selected peers p01, p02, and p03 to introduce their neighbor peers which have greater trustworthy values than T
req
. On receipt of the request from the initiator peer p
i
, the peer p01 only introduces its neighbor peer p10 to p
i
, because the other peers cannot satisfy the trustworthiness requirement T
req
of the group. In the neighbor peer p02, none of its neighbor peers pt 2, pt 3, and pt 4can satisfy the trustworthiness requirement T
req
. Thus, the peer p02 can introduce none of its neighbor to the initiator peer p
i
. The peer p03 can introduce its neighbor peers p11 and p12 to the initiator peer p
i
according to the trustworthiness requirement of the group G. Since the number of selected trustworthy peers still cannot satisfy the scale requirement S of the group G, the initiator peer p
i
asks trustworthy peers p10, p11, p12, and p13 newly included to introduce their trustworthy neighbor peers. Finally, the peer p12 introduces its neighbor peers p20 and p21 which satisfy the trustworthiness requirement T
req
of the group G. Here, since the number of peers satisfy the scale requirement S of the group G, the group G is established and ready to do the group activities.
By including only the peers which satisfy the trustworthiness requirement T
req
of the group G, the trustworthiness of the group can be guaranteed. Therefore, the initiator peer p
i
knows about not only its directly connected neighbor peers but also other group members. Since other group members are introduced to the initiator peer p
i
through neighbors of the initiator peer, the initiator peer knows which peer is introduced by which neighbor peer and the trustworthiness of the peers. The information about other members can be used by the initiator peer p
i
to select effective and more reliable paths to broadcast messages.
The scenarios as shown in Figures 7, 8, and 9 indicate how an initiator peer p
i
selects the message broadcast paths in order to more reliably and efficiently broadcast messages to every peer in the group G.
Based on the trustworthy group concept, we can increase the reliability of the message broadcasting procedure and fault tolerance of the group. In this paper, we also consider the efficiency of the message broadcasting procedure. That is, we have to reduce the number of messages to deliver messages to all the peers in a group G. In addition, by taking advantage of the TBB algorithm [22], we can increase the reliability of the message delivery process. According to the TBB algorithm, the most reliable path for a source peer to deliver messages to the other peers in the group G can be selected, even in presence of peer faults. Thus, messages can be delivered to all the peers in the group G.
Figures 7, 8, and 9 show some common scenarios showing how peers forward messages after a trustworthy group is established. The initiator peer p
i
sends a message to its trustworthy neighbor peers p01 and p02 and then the peers forward the message to the peers p10,..., p15 as shown in Figure 7. Here, we discuss the scenarios shown in Figures 8 and 9. Here, there is possibility that some peers are both neighbors of peers p01 and p02. The peer p12 and peers p10, p11, and p12 are shared neighbor peers of both the peers p01 and p02, respectively. Because at the group creation phase, the initiator peer p
i
already has the information about each peer in the group G, e.g. the trustworthiness value and so on. Therefore, the initiator peer p
i
can select an efficient path to deliver messages to the other peers in the group G. For example, in Figure 9, since both peers p01 and p02 can forward messages to the peers p10, p11, and p12 and the initiator peer p
i
knows about that. Since the peer p02 has a greater trustworthiness value 8 than the trustworthiness value 7 of the peer p01, the initiator peer p
i
selects the peer p02 to forward messages to the peers p10, p11, and p12. The peer p01 does not forward messages to the peers p10, p11, and p12. By applying this scheme, we can not only guarantee that messages can be more reliably delivered but also the number of unnecessary message delivery can be reduced in the network.
4.3 TBB algorithm
A relay peer plays a critical role to broadcast messages in a trustworthy group G. If a relay peer is faulty, every peer simply covered by the faulty relay peer is not able to receive messages. Since the group is composed by trustworthy peers, there is smaller possibility the trustworthy peers might be faulty. In addition, we modify our previous work, trustworthiness-based broadcast (TBB) algorithm based on the trustworthy group concept to furthermore increase the reliability and flexibility of message broadcasting procedure in the group G.
The depth D of a group G means how many times the relay peers have to forward a message to send the message from the initiator peer p
i
to a member peer p
j
of the group G. Let P(D=h)show collection of peers which can receive the message from the initiator peer p
i
with h hops. As shown in Figure 10, since the depth D of peers p20, p21, and p22 is 3 (D = 3), P(D = 3)= {p20, p21, p22}. Thus, the initiator peer p
i
needs to deliver a message to peers in the set P(D = 3)through peers in P(D = 2)and P(D = 1).
Relay peers in the set P(D=i-1)forward messages to peers in a set P(D=i). By checking peers in the sets P(D=i)and P(D=i-1), we can find whether or not some peers in the set P(D=i)receive message from multiple (≥ 2) relay peers in the set P(D=i-1). If a peer receives a message from multiple peers, we can select only the most trustworthy relay peer to deliver the message to the peer. Thus, we can not only more reliably deliver messages to peers but also reduce unnecessary message delivery.
For example, in Figure 11, we assume there are eight peers in the group G. The initiator peer p
i
sends a message to other peers through a pair of directly connected trustworthy neighbor peers p01 and p02. The peer p01 has three directly connected trustworthy neighbor peers p11, p12, and p13. The peer p02 also has three directly connected trustworthy neighbor peers p13, p14, and p15. A pair of peers p01 and p02 have a common trustworthy neighbor peer p13 so that both the peers p01 and p02 forward messages from the initiator peer p
i
to the peer p13. As defined, a set PD=i(i = 2) includes peers p11, ..., p15 and a set PD=i-1(i = 2) includes peers p01 and p02. By checking the sets PD=iand PD=i-1, we can find the peers p01 and p02 forward messages to the peer p13. Since the trustworthiness value of p01 is six and the trustworthiness value of p02 is eight as shown in Figure 11 so that a more trustworthy peer p02 is selected to forward messages to the peer p13. The relay peer p01 would not forward messages to the peer p13. By applying this algorithm to all peers in the group G, we can select a more trustworthy path to deliver messages to each peer in the group G and also reduce the unnecessary message delivery in the group G.