- Open Access
Trustworthy Group Making Algorithm in Distributed Systems
© Aikebaier et al; licensee Springer. 2011
- Received: 18 October 2011
- Accepted: 22 November 2011
- Published: 22 November 2011
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.
- Forward Message
- Group Creation
- Neighbor Peer
- Malicious Peer
- Reliable Path
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 [1–3], like database transactions [4, 5], robot technologies , and sensor-actuator networks . 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 [8–10]. 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 , i.e. the more successfully a peer forwards messages, the more trustworthy the peer is. By taking advantage of trustworthiness concept  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 . 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 . 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 , 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.
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.
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.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  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.
The initiator peer p0 decides on the scale S of the group G and the trustworthiness requirement T req .
The initiator peer p0 selects most trustworthy neighbors which satisfy the trustworthiness requirement (≥ T req ) as group members.
If the initiator peer p0 could find enough number of peers (≥ S) among its neighbors, the group is successfully created.
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.
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.
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.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.
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.
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 , 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.
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.
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.
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.
- 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
- 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
- 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
- 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
- Taniar David, Leung ClementHC, Wenny Rahayu J, Goel Sushant: High Performance Parallel Database. Processing and Grid Databases John Wiley & Sons 2008.Google Scholar
- 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
- 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
- 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
- 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
- Hayes B: Cloud computing. Communications of the ACM 2008,51(7):9–11. 10.1145/1364782.1364786View ArticleGoogle Scholar
- 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
- Kling R: Cooperation, Coordination and Control in Computer-supported Work. Communications of the ACM 1991,34(12):83–88.View ArticleGoogle Scholar
- 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
- 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
- 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
- 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
- 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
- Ripeanu M, Foster I: Mapping Gnutella Network. IEEE Internet Computing 2002, 50–57.Google Scholar
- 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
- 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
- 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
- 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
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.