Open Access

Trustworthy Group Making Algorithm in Distributed Systems

Human-centric Computing and Information Sciences20111:6

DOI: 10.1186/2192-1962-1-6

Received: 18 October 2011

Accepted: 22 November 2011

Published: 22 November 2011

Abstract

Information systems are being shifted to scalable architectures like Cloud and peer-to-peer (P2P) models. In this paper, we consider the P2P model as a fully distributed, scalable system different from centralized coordinated systems in Cloud and Grid systems. A P2P system is composed of peer processes (peers). Here, applications are realized by activities of peers and cooperations among multiple peers. In P2P systems, since there is no centralized coordination, each peer has to obtain information about other peers by itself. In the group cooperation, each group member peer has to be trustworthy so that malicious behavior of a member peer cannot effect overall outcome of the whole group. Here, it is important to consider the trustworthiness of each group member as a base of an agreement procedure in the distributed environment. The goal of a group and the way to archive the goal are decided by the group members. During the agreement procedure, opinions of member peers have to be collected in a group. Malicious and unexpected behaviors of member peers can negatively effect the output of a group. Hence, it is significant to discuss how to compose a group only by including more trustworthy peers. In this paper, by taking advantage of the trustworthiness concept of each peer, we propose a novel approach to composing a trustworthy group in the distributed agreement protocols.

1 Introduction

The group cooperation is one of the most important actions in our human society. Without group cooperation, it is difficult to achieve any objective. It has been proven that cooperations among individual computers (peers) as a group are also really important in computer systems [13], like database transactions [4, 5], robot technologies [6], and sensor-actuator networks [7]. Nowadays information systems are being shifted to distributed architectures from traditional centralized architectures. Peer-to-peer (P2P) systems are open world systems differently from other systems like the cloud computing model [810]. A huge number of computers and various types of computers with P2P applications are interconnected in large-scale P2P overlay networks lying on the top of underlying physical computer networks like the Internet Protocol (IP) networks. Differently from centralized or hybrid P2P systems, there is no centralized index server which manages the whole P2P system. Peers represents individual computers in the P2P system and autonomously take actions and cooperate with each other to realize the objective such as file sharing, building distributed storage, instant messaging, realizing distributed computation, contents delivery, and cooperative work. Because of the nature of the P2P systems, it is difficult for every peer to figure out what kinds of information are distributed to what peers, what kinds of peers exist in P2P overlay networks, and what kinds of relations among peers exist. In addition, malicious peers and faulty peers like crash-faulty peers can join and leave a P2P system without being authenticated and authorized. This causes a question on how each peer to trust a target peer in the P2P systems. In P2P applications like Intelligent Decision Advisor (IDA), Distributed Decision Making (DDM), and Computer Supported Cooperative Work (CSCW) [11, 12], a group of multiple peers are required to do cooperation to realize some objective, for example, to fix a date of a meeting and to find a best location to build a building. Each member peer of the group plays an equally important role so that malicious and faulty behaviors of a peer can negatively effect the final output of the group. We introduce the trustworthiness concept of a peer [13], i.e. the more successfully a peer forwards messages, the more trustworthy the peer is. By taking advantage of trustworthiness concept [14] of peers, we propose a novel approach to creating a trustworthy group among peers.

In group communications [15, 16], each peer has to deliver messages to every peer and receives messages from every peer in a group. There are many discussions on how to causally deliver messages in a group [17]. Efficient and reliable mechanisms to broadcast messages to every peer are required in order to casually deliver messages and realize the cooperation of multiple peers in a scalable group. The basic approach to broadcasting messages is the flooding algorithm [18]. Here, each peer sends a message to its neighbors and the neighbors forward the messages to their neighbor neighbor peers. In the multipoint relying (MPR) mechanism [19], each peer transmits a message to every neighbor peer but only some, not all of the neighbor peers forward the message. In order to increase the fault-tolerance, we discuss a novel trustworthiness-based broadcast (TBB) algorithm to reliably and efficiently deliver messages to every peer in a group. Here, each peer sends a message to its neighbor peers and only trustworthy peers out of the neighbor peers forward the message to their neighbors. Hence, even if untrustworthy peers are faulty, other peers can receive messages through trustworthy peers.

In section 2, we discuss the trustworthiness of peer and calculation of trustworthiness. In section 3, we present how to make a trustworthy group according to the trustworthiness of peers. In section 4, based on the trustworthy group concept we discuss trustworthiness-base broadcast (TBB) algorithm.

2 Trustworthiness of Peers

In P2P systems, each peer has to obtain information of other peers and propagate the information to other peers through neighbor (acquaintance) peers. A neighbor peer p j of a peer p i means that p i can directly communicate with p j . Thus, it is significant for each peer p i to have some number of neighbor peers. Moreover, it is more significant to discuss if each p i can trust neighbor peers. In reality, each peer might be faulty. If some peer p j is faulty, other peers might not be able to communicate with neighbor peers of the peer p j . Hence, it is critical to discuss how a peer can trust each of its neighbor peers.

Let p r be a peer with neighbor peers as shown in Figure 1. We would like to discuss the trustworthiness of each neighbor peer p i of the peer pr. Let T r (p i ) show the trustworthiness of a neighbor peer p i of the peer p r , which the peer p r holds. N(p r ) shows a collection of neighbor peers of the peer p r . The peer p r calculates the trustworthiness T r (p i ) for each neighbor peer p i by collecting the trustworthiness values T k (p i ) on the peer p i from every neighbor peer p k in N(p r ) which can communicate with both p i and p r , i.e. p k N (p r ) ∩ N(p i ). There is some possibility that the peer p i is faulty or sends incorrect information. Hence, the peer p r does not consider the trustworthiness T i (p i ) from the target peer p i to calculate the trustworthiness T r (p i ).
https://static-content.springer.com/image/art%3A10.1186%2F2192-1962-1-6/MediaObjects/13673_2011_Article_5_Fig1_HTML.jpg
Figure 1

Trustworthiness of peer.

A peer p k sends a request to the peer p i and receives a reply from p i . This request-reply interaction is referred to as transaction. If the peer p k receives a successful reply from p i , the transaction is successful. Otherwise, it is unsuccessful. The peer p k considers the neighbor peer p i to be more trustworthy if p k issued more number of successful transactions for p i . Let ST k (p i ) indicate the subjective trustworthiness T k (p i ) on the target peer p i which a peer p k obtains through directly communicating with the peer p i . Let tT k (p i ) show the total number of transactions which the peer p k issues to p i . Let sT k (p i ) (≤ tT k (p i )) be the number of successful transactions which the peer p k issues to p i . Here, the subjective trustworthiness ST k (p i ) is calculated as follows:
S T k ( p i ) = s T k ( p i ) t T k ( p i )
(1)
If the peer p i is not a neighbor peer of a peer p k , p i N(p k ), the peer p k does not obtain the subjective trustworthiness ST k (p i ). In addition, if the peer p k had not issued any transaction to the peer p i even if p i N (p k ), i.e. tT k (p i ) = 0, the subjective trustworthiness ST k (p i ) is not defined. Here, the subjective trustworthiness ST k (p i ) is assumed to be a "null" value. Thus, through communicating with each neighbor peer p k , each peer p r obtains the subject trustworthiness ST k (p i ) for the neighbor peer p i . The subjective trustworthiness ST k (p i ) shows how reliably a peer p i is recognized by a peer p k . Therefore, if a peer p r would like to get the trustworthiness of a target peer p i , the peer p r asks each neighbor peer p k to send the subjective trustworthiness ST k (p i ) of the peer p i . Each neighbor peer p k keeps in record the subjective trustworthiness ST k (p i ) in the log. Here, let T N (p r ) be a collection of neighbor peers which send the non-null subjective trustworthiness ST k (p i ) to the peer p r . After collecting the subjective trustworthiness ST k (p i ) on the target peer p i from every neighbor peer p k , the source peer p r calculates the trustworthiness T r (p i ) on the neighbor peer p i by calculating the average value of the subjective trustworthiness values:
T r ( p i ) = p k T N ( p r ) - { p i } S T k ( p i ) | T N ( p r ) - { p i } |
(2)
Let us consider peers shown in Figure 2 as an example. Here, a source peer p r would like to know the trustworthiness T r (p i ) of a neighbor peer p i . The peer p r has five neighbor peers, p1, p2, p3, p4, and p i . Here, N(p r ) = {p1, p2, p3, p4, p i }. The peer p i is excluded from N (p r ) since p i is a target peer, i.e. S = N (p r ) - {p i } = {p1, p2, p3, p4}. Here, the source peer p r requests each neighbor peer p k in the neighbor set S to send the subjective trustworthiness ST k (p i ) of the peer p i (k = 1, 2, 3, 4). After receiving the subjective trustworthiness of the peer p i from all the four neighbors in the neighbor set S, the peer p r calculates the trustworthiness T r (p i ) of the peer p i by using the formula (2), i.e. T r (p i ) = (ST1(p i ) + ST2(p i ) + ST3(p i ) + ST4(p i )) / 4.
https://static-content.springer.com/image/art%3A10.1186%2F2192-1962-1-6/MediaObjects/13673_2011_Article_5_Fig2_HTML.jpg
Figure 2

Subjective trustworthiness.

Now, let us consider three peers p r , p i , and p j . Here, p i is a neighbor peer of p r and p j is a neighbor peer of p i while p j is not a neighbor peer of p r as shown in Figure 3. Through communicating with the neighbor peer p i , the peer p r obtains the trustworthiness T i (p j ) on the peer p j . Here, we have to discuss how much the peer p r can trust the non-neighbor peer p j . In this paper, the transitive trustworthiness TT r (p i ) on a peer p j is defined as follows:
https://static-content.springer.com/image/art%3A10.1186%2F2192-1962-1-6/MediaObjects/13673_2011_Article_5_Fig3_HTML.jpg
Figure 3

Transitive trustworthiness.

T T r ( p j ) = T r ( p i ) T i ( p j ) .
(3)
Next, let us consider four peers shown in Figure 4. Here, a peer p r has a pair of neighbor peers p i and p k which are neighbor of a target peer p j . The transitive trustworthiness T r (p k ) · T k (p j ) and T r (p i ) · T i (p j ) might be different. In this paper, we calculate the transitive trustworthiness TT r (p j ) as follows.
https://static-content.springer.com/image/art%3A10.1186%2F2192-1962-1-6/MediaObjects/13673_2011_Article_5_Fig4_HTML.jpg
Figure 4

Transitive trustworthiness of peer.

T T r ( p j ) = T r ( p j ) if  p j  is a neighbor of p r . T r ( p i ) T T i ( p j ) if the condition  α holds .
(4)

Condition α: p j is not a neighbor of p r , p i is a neighbor of p r , and T r (p i ) is the maximum out of every neighbor of p r where TT i (p j ) is defined.

3 Trustworthy Groups

3.1 Basic ideas

During distributed agreement procedures, first of all, the initiator peer p i proposes an objective of a group G and invites others to the group G to do cooperation together with them. The initiator peer p i sends an invitation message to its directly connected neighbor peers. Through the neighbor peers, the initiator peer p i is connected with other peers and the group G of the peers is established. In this paper, the term "group" stands for the decision making committee which includes number of peers as members of the group. Each group makes decision on the given objectives by exchanging their opinions among group members.

In the previous works [20, 21], we mainly discuss how to reliably deliver messages in a group of multiple peers after the group has been established. A group is constructed in a way that first neighbors, i.e. neighbors of an initiator peer are first included and then first neighbors of each first neighbor peer are included, until the number of members satisfy the group objectives like the scale of a required group. We discuss the trustworthiness-based broadcast (TBB) algorithm [22] to chose most trustworthy members to deliver the initiator message to the other peers as a relay peer in the group established. The trustworthiness of each peer is not considered when a group is established. The evaluation results o the TBB algorithm shows that, if peers in the group do not have enough number of directly connected neighbor peers, it is difficult to deliver messages to each peers in the group. The basic idea of the TBB algorithm is to chose most trustworthy peers (relay peer) to deliver messages to the other peers which do not have direct connections with the initiator peer. Since the relay peers forward the messages to other peers, the relay peers have to be more trustworthy. From the evaluation results, we found, if some peers which are selected as relay peers do not have enough number of first neighbor pees in the group, there is possibility that relay peers are not able to deliver the message from the initiator peer to all the other peers in the group. Here, some peers which are introduced to the initiator peer may not be trustworthy. That is, even if the peers receive messages, the peers may not forward the message to other peers. In this paper, we try to make a trustworthy group which is composed of trustworthy peers.

In this paper, we consider how to improve the trustworthiness of a group by including trustworthy peers in the group. If the group we call a decision making committee can be formed by more trustworthy peers from the beginning, we can significantly improve the reliability and efficiency of the whole decision making process afterward. We would like to discuss how to compose a group G so that every peer can receive messages in presence of untrustworthy peers. In P2P systems, an initiator peer which would like to make a group has to invite peers which the peer knows, i.e. neighbor peers. Then, the initiator peer invites its neighbors to the group.

The basic idea to make a trustworthy group G is that each peer only invites its trusted neighbor peers into the group G. Since an initiator peer p i does not have enough number of neighbor peers to make a group, the initiator peer p i asks its trustworthy neighbor peer p j to introduce their neighbor peers to the initiator peer p i . By choosing trustworthy peers among neighbor peers and introducing the trusted neighbor peers to the initiator peer p i , only trustworthy member peers are included in the group G. There is smaller possibility the member peers who play a role of relay peer might be faulty.

3.2 Scale of a group

At the beginning stage of an agreement procedure, according to the objectives which the group aims at achieving, the scale of the group is decided. For example, more or fewer number of peers are required to be included in a group for different objectives. In the scientific computation, huge number of peers are required to be involved in the computation process and offer their computation power. In another case like schedule making or decision making in a group, only small number of peers may be required to be involved. But in either case, by selecting group members according to their behaviors in the history, we can somehow guarantee the future behaviors of the peers.

3.3 Creation of a trustworthy group

We assume each peer dynamically updates the subjective trustworthiness value of each neighbor peer on completion of each transaction with the corresponding neighbor peer. We also assume that each peer periodically calculates the trustworthiness value for each of its neighbor peer by requesting other neighbor peers to send the subject trustworthiness values. Therefore, each peer holds an up-to-date subjective trustworthiness value and trustworthiness value to each of its neighbor peers.

At first, the initiator peer p o selects the most trustworthy peer which satisfies the trustworthiness requirement from its first neighbor peers depending on the trustworthiness record the initiator peer has on the neighbor peers. If the selected trustworthy peers from the first neighbors do not satisfy the scale of the group and more number of peers are required in the network, the initiator peer p o requests the selected peers to become a relay peer and to introduce trustworthy peers from its neighbor peer p j to the initiator peer p o . Here, suppose the initiator peer p o is introduced a peer p j from a neighbor peer p i . If T o (p i TT i (p j ) is larger than some value, the initiator peer p o takes the peer p j as a relay peer. By repeating this procedure, enough number of trustworthy peers can be selected as the group members and a trustworthy group is created.

As shown in Figure 5, the initiator peer p0 in the middle (triangle shape) asks only trustworthy neighbor peers p01, p02, p03, p04 and p05 to make a group G. The black colored peers stand for the trustworthy peers to the initiator p0 and white colored peers indicate untrustworthy peers. If peers p01, p02, p03, p04 and p05 accept the invitation from the initiator peer p0, the peers send acknowledgments to the initiator peer p0 and are included in the group G. At this point, the initiator peer p0 checks for the number of peers in the group G. If more number of peers are needed to be included in the group G, the initiator peer p0 asks trustworthy neighbor peers p01, p02, p03, p04 and p05 to introduce their trustworthy neighbors to p o . As shown in Figure 5, the peer p01 introduces peers p11, p12, and p13 to the initiator peer p o . Here, T01(p1i) is larger than the trustworthiness requirement T req . The peer p o takes every peer p1isince T0(p 01) · T01(p(1i)) ≥ for i = 1,..., 3. The peer p02 introduces peers p14 and p15. The peer p03 introduces peers p16 and p17. The peer p04 introduces a peer p18 to the initiator peer p0. Since the peer p05 does not have trustworthy neighbor peers which satisfy the trustworthiness requirement of the group G, no peer is introduced from the peer p05 to the initiator peer p0. The initiator peer p o invites the peers p11,..., p18 to the group G and the number of peers in the group satisfy the scale of the group G. Thus, the group G includes fourteen peers.
https://static-content.springer.com/image/art%3A10.1186%2F2192-1962-1-6/MediaObjects/13673_2011_Article_5_Fig5_HTML.jpg
Figure 5

Group members selection.

To create a trustworthy group, the following steps are taken:
  1. 1.

    The initiator peer p0 decides on the scale S of the group G and the trustworthiness requirement T req .

     
  2. 2.

    The initiator peer p0 selects most trustworthy neighbors which satisfy the trustworthiness requirement (≥ T req ) as group members.

     
  3. 3.

    If the initiator peer p0 could find enough number of peers (≥ S) among its neighbors, the group is successfully created.

     
  4. 4.

    If the initiator peer p0 could not find enough number of group members (≥ S) from its neighbors, p i asks selected trustworthy neighbors to introduce trustworthy neighbor peers.

     
  5. 5.

    If a selected peer introduces its trustworthy neighbor peers to the initiator peer p0, the initiator peer p0 invites every introduced peer which satisfies the trustworthiness requirement in the group. If the peer agree on member of the group G, the per is included in the group G. This step is repeated until the number of peers in the group get the group scale S.

     
  6. 6.

    Unless enough number of trustworthy peers could be found, the procedure terminates and the group creation fails.

     

By applying the trustworthiness concept into the group creation procedure, we can increase the reliability of the group. Only trustworthy peers are invited to the group. This means that there is smaller possibility that some member peer is faulty to broadcast messages to every member peer and the fault-tolerance of the group can be increased. On the other hand, groups where the trustworthiness concept of peers is not considered can be vulnerable to the network failure.

4 Trustworthiness-based Broadcast (TBB) Scheme

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.
https://static-content.springer.com/image/art%3A10.1186%2F2192-1962-1-6/MediaObjects/13673_2011_Article_5_Fig6_HTML.jpg
Figure 6

Introduction of neighbor peers.

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.
https://static-content.springer.com/image/art%3A10.1186%2F2192-1962-1-6/MediaObjects/13673_2011_Article_5_Fig7_HTML.jpg
Figure 7

Message broadcast scenario 1.

https://static-content.springer.com/image/art%3A10.1186%2F2192-1962-1-6/MediaObjects/13673_2011_Article_5_Fig8_HTML.jpg
Figure 8

Message broadcast scenario 2.

https://static-content.springer.com/image/art%3A10.1186%2F2192-1962-1-6/MediaObjects/13673_2011_Article_5_Fig9_HTML.jpg
Figure 9

Message broadcast scenario 3.

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).
https://static-content.springer.com/image/art%3A10.1186%2F2192-1962-1-6/MediaObjects/13673_2011_Article_5_Fig10_HTML.jpg
Figure 10

Depth of a group.

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.
https://static-content.springer.com/image/art%3A10.1186%2F2192-1962-1-6/MediaObjects/13673_2011_Article_5_Fig11_HTML.jpg
Figure 11

Trust-based message broadcasting.

5 Concluding Remarks

In this paper, we discussed how to create a trustworthy group of multiple peers in a scalable P2P overlay network. In the decentralized scalable P2P networks, it is difficult to make sure the correctness of information. Only trustworthy neighbor peers of a peer can provide the peer with valid information. In a group, all group members must be trustworthy so that malicious action of a peer can not effect the whole group. Hence, only trustworthy neighbors are invited to make the group. By using the trustworthiness of peers, we newly proposed the trustworthy group concept where only trustworthy neighbor peers are included in the group. The reliability of a group and fault tolerance of message broadcasting procedure of agreement protocols are increased. We also discussed an efficient and reliable way to broadcast messages to all the peers in a trustworthy group. By taking advantage of the trustworthiness-based broadcast (TBB) algorithm, we newly introduced the algorithm to choose most reliable path to deliver message to all the peers in the trustworthy group. By the combinations of the trustworthy group concept and the TBB algorithm, not only messages can be more reliably delivered to all the peers in the group but also the number of unnecessary message delivery can be reduced in the network.

Declarations

Acknowledgements

This research is supported by Research Fellowships of Japan Society for the Promotion of Science for Young Scientists (JSPS). This research was also partially supported by the strategy research project of Seikei University and MEXT, Grant in Aid for Building Strategy Research Infrastructure.

Authors’ Affiliations

(1)
Department of Computers and Information Science, Faculty of Science and Technology, Seikei University
(2)
Faculty of Bussiness Administration, Rissho University

References

  1. Corman AB, Schachte P, Teague V: A Secure Group Agreement (SGA) Protocol for Peer-to-Peer Applications. Proc. of the 21st International Conference on Advanced Information Networking and Applications Workshops (AINAW'07) 2007, 24–29.View ArticleGoogle Scholar
  2. Ezhilchelvan P, Morgan G: A Dependable Distributed Auction System: Architecture and an Implementation Framework. Proc. of the IEEE 5th International Symposium on Autonomous Decentralized Systems (ISADS) 2001, 3–7.View ArticleGoogle Scholar
  3. Gray J, Lamport L: Consensus on Transaction Commit. ACM Transactions on Database Systems (TODS) archive 2006,31(1):133–160. 10.1145/1132863.1132867View ArticleGoogle Scholar
  4. Taniar David, Wenny Rahayu J, Leung ClementHC, Goel Sushant: Advances in high performance database technology. Proceedings of the 11th International Conference on Information Integration and Web-based Applications & ServicesiiWAS 2009.Google Scholar
  5. Taniar David, Leung ClementHC, Wenny Rahayu J, Goel Sushant: High Performance Parallel Database. Processing and Grid Databases John Wiley & Sons 2008.Google Scholar
  6. Belta C, Kumar V: Abstraction and control for Groups of robots. IEEE Transactions on Robotics 2004,20(5):865–875. 10.1109/TRO.2004.829498View ArticleGoogle Scholar
  7. Waluyo AB, Taniar D, Srinivasan B, Rahayu JW, Takizawa M: Adaptive and Efficient Data Dissemination in Mobile P2P Environments. The 25th IEEE International Conference on Advanced Information Networking and Applications Workshops (AINA-2011) 2011, 861–866.View ArticleGoogle Scholar
  8. Foster I, et al.: Cloud Computing an Grid Computing 360-Degree Compared. Proc. IEEE Grid Computing Environments Workshop, IEEE Press 2008, 1–10.Google Scholar
  9. Armburst M, et al.: Above the Clouds: Berkeley View of Cloud Computing. tech report UCB/EECS-2009–28, Electrical Eng. and Computer Science Dept., Univ. of California, Berkeley 2009.Google Scholar
  10. Hayes B: Cloud computing. Communications of the ACM 2008,51(7):9–11. 10.1145/1364782.1364786View ArticleGoogle Scholar
  11. Richardson T, Stafford-Fraser Q, Wood KR, Hopper A: Virtual network computing. IEEE Internet Computing 1998,2(1):33–38. 10.1109/4236.656066View ArticleGoogle Scholar
  12. Kling R: Cooperation, Coordination and Control in Computer-supported Work. Communications of the ACM 1991,34(12):83–88.View ArticleGoogle Scholar
  13. Aikebaier A, Enokido T, Takizawa M: Trustworthiness among Peer Processes in Distributed Agreement Protocol. Proc. of IEEE the 24nd International Conference on Advanced Information Networking and Applications (AINA 2010), CD-ROM 2010.Google Scholar
  14. Watanabe K, Nakajima Y, Enokido T, Takizawa M: Ranking factors in peer-to-peer overlay networks. ACM Transactions on Autonomuous and Adaptive Systems (TAAS) 2007.,2(3): Article No. 11 Article No. 11Google Scholar
  15. Lamport L: Time, Clocks and the Ordering of Events in a Distributed System. Communications of the ACM 21 1978, 7: 558–565.View ArticleGoogle Scholar
  16. Chockler GregoryV, Keidar Idit, Vitenberg Roman: Group communication specifications: a comprehensive study. ACM Computing Surveys (CSUR) 2001,33(4):427–469. 10.1145/503112.503113View ArticleGoogle Scholar
  17. Kawanami S, Enokido T, Takizawa M: A Group Communication Protocol for Scalable Causal Ordering. Proc. of the 18th International Conference on Advanced Information Networking and Applications (AINA'04) 2004, 1: 296–301.View ArticleGoogle Scholar
  18. Ripeanu M, Foster I: Mapping Gnutella Network. IEEE Internet Computing 2002, 50–57.Google Scholar
  19. Qayyum A, Viennot L, Laouiti A: Multipoint relaying for flooding broadcast messages in mobile wireless networks. Proc. of the 35th Annual Hawaii International Conference on System Sciences 2002, 3866–3875.View ArticleGoogle Scholar
  20. Aikebaier A, Hayashibara N, Enokido T, Takizawa M: A Distributed Coordination Protocol for a Heterogeneous Group of Peer Processes. Proc. of the IEEE 21th Conference on Advanced Information Networking and Applications (AINA 2007) 2007, 565–572.View ArticleGoogle Scholar
  21. Aikebaier A, Enokido T, Takizawa M: A Distributed Coordination Protocol for Multiple Peer Processes. Proc. of IEEE the 22nd International Conference on Advanced Information Networking and Applications (AINA 2008), CD-ROM 2008.Google Scholar
  22. Aikebaier A, Enokido T, Takizawa M, Deen SM: TBB-Scheme for Reliably Broadcast Messages among Peer Processes. Proc. of the 13th International Conference on Network-based Information Systems (NBiS2010) 2010, 337–344.Google Scholar

Copyright

© Aikebaier et al; licensee Springer. 2011

This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.