Chapter 8 Consensus Problem under Peer-to-Peer Environment: An Application to
8.3.3 Getting the Consistent File Information
To prevent the distribution of inconsistent files, each processor executes the protocol CPp2p to get the file information from other processors. Since ⎣n-1/3⎦ processors at most may be faulty, each fault-free processor can get the correct and consistent file information. The initial value of each processor is shown in Table 8-1.
Table 8-1 The initial value of each processor
Processor ID A B C D E F G H
Initial value 1 1 0 0 0 0 1 0
In the beginning of the protocol CPp2p , each processor creates an mg-tree with the vertex ℜ in the level 0.
Message-Exchanging Phase
In the message-exchanging phase, the number of rounds required γ must be computed first, where γ=t+1=3, and t = ⎣(n-1)/3⎦. In our example, there are eight processors in the DB(2,3) de-Bruijn network as shown in Figure 8-4. Hence, the number of rounds required γ is 3 (γ= ⎣(8-1)/3⎦+1=3).
In the first round of message-exchanging phase, each processor transmits its initial value to all other processors by protocol SVC. Then each processor stores the messages from other processors in the level 1 of its mg-tree. Figure 8-9(c) shows the mg-trees of each processor after the first round of message-exchanging phase. Since processor B and processor G are malicious processors, they may transmit values arbitrarily.
In the second round of message-exchanging phase, each processor transmits the messages received in the level 1 of its mg-tree to other processors and receives other
processors’ messages in the level 2 of its mg-tree. An example of processor A’s mg-tree after the second round of message-exchanging phase is shown in Figure 8-9(d).
In the third round of message-exchanging phase, each processor transmits the messages received in the level 2 of its mg-tree to other processors and receives other processors’
messages in the level 3 of its mg-tree. An example of processor A’s mg-tree after the third round of message-exchanging phase is shown in Figure 8-9(e).
Decision-Making Phase
In the decision-making phase, each processor deletes vertices with repeated names of mg-tree to avoid the repeated influence from malicious processors. An example of processor A’s mg-tree without repeated name vertices is shown in Figure 8-9(f).
After deleting the vertices with repeated names, each processor uses the VOTEmg
function on its mg-tree from leaf to root to compute the Consensus value.
VOTEmg(ℜ)=VOTEmg(VOTEmg(A), VOTEmg(B), VOTEmg(C), VOTEmg(D), VOTEmg(E), VOTEmg(F), VOTEmg(G), VOTEmg(H)). For example, processor A computes VOTEmg(ℜ)=
VOTEmg(1,1,0,0,0,0,1,0) = 0, where VOTEmg(A)= VOTEmg(1,1,1,1,1,0,1), VOTEmg(B)=
VOTEmg(1,1,0,1,0,1,0) and so on.
Each processor can find out the inconsistent file by correct file information obtained using protocol CPp2p. Then the fault-free processors know which files they hold are correct and which or not, and they will not share inconsistent files to other processors.
Processor Parameters
capability Bandwidth Space of Storage
(b) three clusters which are partitioned by k-means algorithm
Figure 8-9. An example of our approach (cont’d.)
Processor A’s 1-level mg-tree Processor B’s 1-level mg-tree Processor C’s 1-level mg-tree
Processor D’s 1-level mg-tree Processor E’s 1-level mg-tree Processor F’s 1-level mg-tree
A
Processor G’s 1-level mg-tree Processor H’s 1-level mg-tree
(c) The mg-trees of each processor after the first round of message-exchanging phase Figure 8-9. An example of our approach (cont’d.)
(d) Processor A’s mg-tree after the second round of message-exchanging phase
(e) Processor A’s mg-tree after the third round of message-exchanging phase
(f) Processor A’s mg-tree without repeated name vertices
Figure 8-9. An example of our approach
8.4 The Correctness of CP
p2pThe following lemmas and theorems are used to prove the correctness of protocol CPp2p.
Lemma 8-1: After VOTEmg function is applied to mg-tree from leaf to root, all correct vertices of an mg-tree are common.
Proof: In the decision-making phase, all vertices with repeated names are deleted in an mg-tree. At level t+1 or above, the correct vertex α has at least 2t+1 children, and out of which at least t+1 children are correct. The true values of these t+1 correct vertices are common, and the majority of the vertex value α is common. The correct vertex α is common in the mg-tree if the level of α is less then t+1. Consequently, all correct vertices of the mg-tree are common.
Lemma 8-2: The common frontier exists in the mg-tree.
Proof: By definition, an mg-tree is a tree of level t+1. There are t+1 vertices along each root-to-leaf path of an mg-tree. Since at most t processors can fail, there is at least one correct vertex along each root-to-leaf path of the mg-tree. Using Lemma 8-1, the correct vertex is common and the common frontier exists in each fault-free processor’s mg-tree.
Lemma 8-3: Let α be a vertex, α is common if there is a common frontier in the sub-tree rooted at α.
Proof: If the height of α is 0 and the common frontier (α itself) exists, α is common. If the height of α is γ, the children of α are all in common under the induction hypothesis with the height of the children being γ-1.
Corollary 8-1: The value of root ℜ is common if the common frontier exists in the mg-tree.
Theorem 8-1: The value of root ℜ of a fault-free processor’s mg-tree is common.
Proof: Using Lemmas 6-1, 6-2, 6-3 and Corollary 8-1, the theorem is proved.
Theorem 8-2: Protocol CPp2p solves the Consensus problem in a de-Bruijn overlay P2P file-sharing system.
Proof: To prove this theorem, CPp2p must meet the constraints (Consensus_Agreement) and (Consensus_Validity)
(Consensus_Agreement): Root value is common. By Theorem 8-1, (Consensus_Agreement) is satisfied
(Consensus_Validity): VOTE(α) = v for all fault-free processors, if the initial value of all processor is vs say v = vs.
Most processors are fault-free. The value of the correct vertices for all of the fault-free processors’ mg-trees is v. Therefore, each correct vertex of the mg-tree is common (Lemma 8-1), and its true value is v. Using Theorem 8-1, this root is common. The computed value VOTE(α) = v is stored in the root for all the fault-free processors.
Therefore, (Consensus_Validity) is satisfied.
8.5 Conclusion
The Consensus problem of file-sharing in P2P system becomes more complicated with the growing of P2P networks [2] [11] [17] [34] [20] [29] [35] [42] [49] [54] . The malicious processors could work in coordination with other malicious processors to modify files and spread inconsistent ones to other fault-free processors arbitrarily. If not properly controlled, fault-free processors may also spread inconsistent files to other processors and potentially
paralyze the entire P2P network. So far, no previous has attempted to solve the Consensus problem of file-sharing with malicious processors in P2P networks.
In this chapter, we proposed a novel hybrid approach integrating the clustering algorithm and Consensus protocol to provide better QoS and solve the Consensus problem in the de-Bruijn overlay P2P file-sharing system. In the clustering algorithm, we adopt k-means algorithm to cluster similar processors into the same group to provide better QoS. Moreover, k-means algorithm is the simplest and most popular clustering algorithm [26] . Due to the fact that de-Bruijn graphs are nearly optimal [29] , we adopt de-Bruijn graphs as the overlay network in the P2P file-sharing system. We also proposed a Consensus protocol CPp2p get the consistent file information in the de-Bruijn overlay P2P file-sharing system.
Chapter 9
Conclusion and Future Work
9.1 Conclusion
In recent year, combined wired/wireless network have become more popular, the reliability and fault tolerance of combined wired/wireless network has become an important topic. We know that pure wired networks and pure wireless networks are all special cases of the combined wired/wireless networks. Hence, we also discuss the agreement problems in pure wired network and pure wireless network.
For pure wireless network, we proposed a BA protocol, Mobile Ad-Hoc Agreement Protocol (MAHAP), to solve the BA problem in wireless network with malicious faulty processors. MAHAP is the first BA protocol to solve the BA problem in MANET. The feature of mobility is considered in MAHAP.
For combined wired/wireless network, we proposed another BA protocol, Server-initiated Byzantine Agreement Protocol (SBAP), to solve the BA problem in combined wired/wireless network in the presence of malicious faulty processors. To meet the characteristics of mobile environments, most of the communication and computation overhead must be fulfilled within in the agreement-servers in SBAP. Furthermore, SBAP uses a hierarchical architecture to reduce the communication overhead. For combined wired/wireless network, we also proposed a Consensus protocol, Client-initiated Consensus Protocol (CCP), to solve the Consensus problem in combined wired/wireless network.
Moreover, malicious fault assumption with processors grows into the dual failure mode (both dormant fault and malicious fault) on both processors and communication links.
In order to provide a highly reliable computing environment for combined wired/wireless
network, we proposed a FDA protocol, Adaptive Fault Diagnosis Agreement Protocol (AFDA), to solve the FDA problem in combined wired/wireless network. AFDA is an adaptive FDA protocol. AFDA not only can solve the FDA problem in combined wired/wireless network, but also AFDA can solve the FDA problem in wireless network.
In the usage, the file-sharing application has been the most popular application in P2P systems. Many P2P networks are overlay networks because they run on top of the combined wired/wireless network. However, malicious attackers may modify files arbitrarily and spread inconsistent files to other processors in the P2P network. So far, no previous study has attempted to solve the Consensus problem of file-sharing with malicious processors in P2P networks. Hence, we give an application of Consensus protocol to ensure the file consistency of file-sharing in P2P networks.
9.2 Future Work
In this dissertation, the proposed BA and Consensus protocols required each fault-free processor to reach a common agreement at the same round of message-exchange. That is, even when the system has a smaller number of faulty processors, or there is no faulty processor at all in the system, the system still needs the same rounds of message exchange to reach a common agreement. The above problem is also called the Immediate Agreement Problem (IAP) [19] . As a result, the IAP has a consistent round complexity. However, the message-exchanging phase is a time-consuming phase, and the IAP does not seem efficient enough when the number of faulty processors is smaller than the tolerable number of faulty processors in a network. To improve the efficiency, another related problem called early stopping agreement problem (also called Eventual Agreement Problem, EAP) [15] [27] [58]
can be visited. An early stopping agreement protocol is able to stop as early as possible when a processor receives enough information from other processors. Therefore, our future work
will be focused on solving the early stopping problem in combined wired/wireless network.
Bibliography
[1] J. C. Adams and K.V.S. Ramarao, “Distributed diagnosis of Byzantine processors and links,” Proceeding of the Symposium on Distributed Computing Systems, pp.562-569, 1989.
[2] J. Aspnes, Z. Diamadi, and G. Shah, “Fault-Tolerant Routing in Peer-to-Peer Systems,” in Proceeding of the 23rd Annual Symposium on Principles of Distributed Computing, pp.223-232 ,2002.
[3] O. Babaoglu, and R. Drummond, “Streets of Byzantium: Network Architectures for Fast Reliable Broadcasts,” IEEE Transactions on Software Engineering, Vol. 11, no. 6, 1985, pp. 546-554.
[4] A. Bar-Noy, D. Dolev, C. Dwork and H. R. Strong, “Shifting Gears: Changing Algorithms on the Fly to Expedite Byzantine Agreement,” Information and Computation, vol.97, no.2, pp.205-233, 1992.
[5] M. Barborak, M. Malek and A. Dahubra, “The Consensus Problem in Fault-Tolerant Computing,” ACM Computing Surveys, vol.25, no.2, pp.171-220, 1993.
[6] B. Bellur and R. G. Ogier, A Reliable, “Efficient Topology Broadcast Protocol for Dynamic Networks,” Proceeding of the 18th IEEE INFOCOM, pp.178-186, 1999.
[7] W. G. Bridges and S. Toueg, “On the Impossibility of Directed Moore Graphs,” Journal of Combinatorial Theory, no. 3, 1980.
[8] D. R. Broug, Logic Programming. New Frontiers, Kluwer Academic, 1992.
[9] T. Camp, J. Boleng, and V. Davies, “A Survey of Mobility models for Ad Hoc Network Research,” Wireless Communications & Mobile Computing, vol. 2, no. 5, 2002.
[10] T. Chandra and S. Toueg, “Unreliable Failure Detectors for Reliable Distributed Systems,” Journal of the ACM, Vol. 43, No. 4, 1996, pp. 225-267.
[11] B. Cohen, “Incentives Build Robustness in BitTorrent,” Proceeding of the Workshop on Economics of Peer-to-Peer Systems, pp.1-5, 2003.
[12] G. Coulouris , J. D. Dollimore, T. Kindberg, “Distributed Systems-Concepts and Design”,3rd Edition, Addison-Wesley 2001.
[13] G. D. Crescenzo, R. Ge and G. R. Arce “Securing Reliable Server Pooling in MANET Against Byzantine Adversaries,” IEEE Journal on Selected Areas in Communications, vol. 24, no. 2, 2006, pp. 357-369.
[14] J. Daemen, V. Rijmen, “The Rijndael Block Cipher,” AES Document Version2.
ACM for Computing Machinery, vol. 37, no. 4, pp.720-741, 1990.
[16] W. Diffie and M. E. Hellman, “New Directions in Cryptography,” IEEE Transactions on Information Theory, vol.22, pp. 644-654, 1976.
[17] M. Feldman, K. Lai, I. Stoica, and J. Chuang, “Robust Incentive Techniques for Peer-to-Peer Networks,” Proceeding of the 5th ACM Conference on Electronic Commerce, pp.102-111, 2004.
[18] FIPS 180-1. Secure Hash Standard. U.S. Department of Commerce/NIST, National Tehnical Information Service, Springfield, VA, Apr. 1995.
[19] M. Fisher, and N. Lynch, “A Lower Bound for the Assure Interactive Consistency,”
Information Processing Letters, vol.14, no.3, pp.183-186, 1982.
[20] Gnutella, http://www.gnutella.com
[21] R. Guerraoui and A. Schiper, “The Generic Consensus Service,” IEEE Transactions on Software Engineering, vol. 27, no. 1, 2001, pp. 29-41.
[22] X. Hong, K. Xu, and M. Gerla, “Scalable routing Protocols for Mobile Ad Hoc Networks,” IEEE Network, vol. 16, no.4, pp.11-21, 2002.
[23] H.S. Hsiao, Y.H. Chin, W.P. Yang, “Reaching Fault Diagnosis Agreement under a Hybrid Fault Model,” IEEE Transactions on Computers, vol. 49, no. 9, pp.980-986, 2000.
[24] P. Jacquet, P. Muhlethaler, T. Clausen, A. Laouiti, A. Qayyum and L. Viennot,
“Optimized Link State Routing Protocol for Ad Hoc Networks,” Proceedings of IEEE International Technology for the 21st Century, 2000.
[25] D. B. Johnson and D. A. Maltz, Dynamic Source Routing in Ad Hoc Wireless Networks, Mobile Computing, Kluwer, 1996.
[26] L. Kaufman and P. J. Rousseeuw, finding Groups in Data: An Introduction to Cluster Analysis, John Wiley & Sons, Inc., New York, 1990.
[27] A. W. Krings and T. Feyer, “The Byzantine Agreement Problem: Optimal Early Stopping,” Proceedings of 32nd Hawaii International Conference on System Sciences, LNCS 520, 1999.
[28] L. Lamport, R. Shostak, and M. Pease, “The Byzantine Generals Problem,” ACM Transactions on Programming Languages and Systems, vol.4, no.3, pp.382-401, 1982.
[29] D. Loguinov, A. Kumar, V. Rai, and S. Ganesh, “Graph-Theoretic Analysis of Structured Peer-to-Peer Systems: Routing Distances and Fault Resilience,” Proceeding of Applications, technologies, architectures, and protocols for computer communications, pp.395-406, 2003.
[30] S. Mallela and G. M. Masson, “Diagnosable systems for intermittent faults,” IEEE Transaction on Computers, vol. 27, no. 6, pp. 560-566, 1978.
[31] N. Malpani, J. L. Welch and N. Vaidya, “Leader election algorithms for mobile ad hoc
networks,” Proceedings of the 4th International workshop on Discrete algorithms and methods for mobile computing and communications, pp.96-103, 2000.
[32] S. Marano, V. Matta and L. Tong, “Distributed inference in the presence of Byzantine sensors,” Proceedings of IEEE Asilomar Conference on Signals, Systems, and Computers, 2006, pp. 281-284.
[33] F.J. Meyer and D.K. Pradhan, “Consensus with Dual Failure Modes,” IEEE Transaction on Parallel and Distributed Systems, vol. 2, no. 2, pp. 214-222, 1991.
[34] Napster, http://www.napster.com
[35] M. Naor and U. Wieder, “A Simple Fault Tolerant Distributed Hash Tables,” Lecture Notes in Computer Science, vol. 2735, pp. 88-97, 2003.
[36] M.R. Pearlman and Z. J. Haas, “Determining the optimal configurations for the zone routing protocol,” IEEE Journal on Selected Areas in Communications, vol.17, no. 8, pp.1395–1414, 1999.
[37] M. Pease, R. Shostak, and L. Lamport, “Reaching Agreement in the Presence of Faults,”
Journal of ACM, vol.27, no.2, pp. 228-234, 1980.
[38] G. Pei, M. Gerla, and T.W. Chen, “Fisheye State Routing: A Routing Scheme for Ad Hoc Wireless Network,” Proceedings of the IEEE International Conference on Communications, pp.70-74, 2000.
[39] C.E. Perkins, Ad Hoc Networking, Addison-Wesley, 2001.
[40] C.E. Perkins and E. M. Royer, “Ad-Hoc On-Demand Distance Vector Routing,”
Proceedings of the 1st IEEE Workshop on Mobile Computing Systems & Applications, pp.90–100, 1999.
[41] G. Rabbat, D. Nowak and A. Bucklew, “Generalized Consensus Computation in Networked Systems with Erasure Links,” Proceedings of IEEE 6th Workshop on Signal Processing Advances in Wireless Communications, 2005, pp. 1088-1092.
[42] S. Ratnasamy, P. Francis, M. Handley, R. Karp and S. Schenker, "A scalable content-addressable network", in Proceeding of ACM SIGCOMM, pp. 161-172, Aug.
2001.
[43] N. Roy, S. K. Das, K. Basu and M. Kumar, “Enhancing Availability of Grid Computational Services to Ubiquitous Computing Applications,” in Proceeding of 19th IEEE International Parallel and Distributed Processing Symposium, pp.92a-92a, 2005.
[44] C. Santivanez, R. Ramanathan, and I. Stavrakakis, “Making Link-State Routing Scale for Ad Hoc Networks,” Proceedings of the 2nd ACM International. Symposium on Mobile Ad Hoc Net. & Compputing, pp.22-32, 2001.
[45] B. Schneier, Applied Cryptography: Protocols, Algorithms, and Source Code in C, John Whily & Sons, Inc. 1994.
[46] K. Shin and P. Ramanathan, “Diagnosis of Processors with Byzantine Faults in a Distributed Computing Systems,” Proceedings of International Conference on Fault-Tolerant Computing, pp.55-60, 1987.
[47] A. Silberschatz, P.B. Galvin, G. Gagne, Operating System Concepts 6th Ed., John Wiley
& Sons, Inc, 2002.
[48] T. Simunic “Power Saving Techniques for Wireless LANs,” Proceedings of Design, Automation and Test in Europe, vol. 3, pp. 96-97 2005.
[49] E. Sit, R. Morris, “Security Considerations for Peer-to-Peer Distributed Hash Tables,”
Proceedings for the 1st International Workshop on Peer-to-Peer Systems, pp. 261-269, 2002.
[50] H. S. Siu, Y.H. Chin, W.P. Yang, “A Note on Consensus on Dual Failure Modes, IEEE Transactions on Parallel and Distributed Systems,” vol.7, no.3, pp.225-229, 1996.
[51] H.S. Siu, Y.H. Chin, and W.P. Yang, “Byzantine Agreement in the Presence of Mixed Faults on Processors and Links”, IEEE Transaction on Parallel and Distributed System, vol. 9, no.4, pp. 335-345, 1998.
[52] H.S. Siu, Y.H. Chin, and W.P. Yang, “Reaching Strong Consensus in the Presence of Mixed Failure Types,” Information Sciences: An International Journal, vol.108, nol.1-4, pp.157-180, 1998.
[53] K.N. Sivarajan and R. Ramaswami, “Lightwave Networks Based on de Bruijn Graphs,”
IEEE/ACM Trans. On Networking, vol. 2, no. 1994.
[54] I. Stoica, R. Morris, D. Karger, M. F. Kaashoek, and H. Balakrishnan, "Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications," in Proceeding of ACM SIGCOMM, pp. 149-160, 2001.
[55] Y.F. Tsou, “ A particular Solution for Agreement Problem under Cluster-oriented MANET,” Master Thesis, Department of Information Management, Chaoyang Technology of University, Taiwan, 2007.
[56] J. Turek and D. Shasha, “The Many Faces of Consensus in Distributed Systems,” IEEE Computer, Vol. 25, No. 6, 1992, pp. 8-17.
[57] X. Wang and J. Cao, “An Optimal Early Stopping Uniform Consensus Protocol in Synchronous Distributed Systems with Orderly Crash Failure,” Proceeding of the 23th International Conference on Distributed Computing Systems, pp.76-81, 2003.
[58] S.C. Wang and C.F. Cheng, “Eventually Dual Failure Agreement,” in Fundamenta Informaticae, vol. 57, no. 1, pp.79-99, 2003
[59] S.C. Wang, Y.H. Chin, and K.Q. Yan, “Reaching a Fault Detection Agreement,”
Proceedings International Conference on Parallel Processing, pp.251-258, 1990.
[60] S.C. Wang, Y.H. Chin, and K.Q. Yan, “Byzantine Agreement in a Generalized Connected
Network,” IEEE Transactions on Parallel and Distributed System, vol.6, no.4, pp.420-427, 1995.
[61] S.C. Wang、K.Q. Yan and C.F. Cheng, “Achieving High Efficient Byzantine Agreement with Dual Components Failure Mode on a Multicasting Network,” Proceedings of the 9th IEEE International Conference on Parallel and Distributed Systems, pp. 577-582, 2002.
[62] S.C. Wang、K.Q. Yan and C.F. Cheng, “Evidence-based MultiCasting Fault Diagnosis Agreement with Fallible Processors”, Proceedings of the 32nd International Conference on Parallel Processing, pp.69-74, 2003.
[63] S.C. Wang, K.Q. Yan and H.C. Hsieh, “The New Territory of Mobile Agreement,”
Computer Standards & Interfaces, vol. 26, pp. 435-447, 2004.
[64] S.C. Wang, K.Q. Yan, H.C. Hsieh, “Reaching Consensus Underlying a Mobile Environment,” Proceeding of the 2003 Digital Life and Internet Technology Symposium, 2003.
[65] S.C. Wang, J.E. Yang, K.Q. Yan, and C.F. Cheng, “Achieving High Efficient Consensus in a Hybrid Fallible Multicasting Network,” Proceedings of International Conference on Systems Engineering, 2002.
[66] S.C. Wang, K.Q. Yan and G.Y. Zheng, “Dual Agreement Virtual Subnet Protocol for Mobile Ad-Hoc Networks,” Proceeding of the 22nd Annual ACM Symposium on Applied Computing, pp. 11-15, 2007.
[67] S.C. Wang、W.P. Yang and C.F. Cheng, “Byzantine Agreement on Mobile Ad-Hoc Network,” Proceeding of the IEEE International Conference on Networking, Sensing and Control, pp. 52-57, 2004.
[68] D. B. West, Introduction to Graph Theory, 2nd. Ed., Prentice Hall 2001.
[69] R. Xu and D. Wunsch, “Survey of clustering algorithms,” IEEE Transactions on Neural Networks, vol. 16, no. 3, pp. 645-678, 2005.
[70] K.Q. Yan, Y.H. Chin and S.C. Wang, “Optimal Agreement Protocol in Malicious Faulty Processors and Faulty Links,” IEEE Transactions on Knowledge and Data Engineering, vol.4, no. 3, pp.266-280, 1992.
[71] K.Q. Yan, S.C. Wang, Y.F. Tsou, “Revisit Consensus in a Dual Fallible Clustered-MANET,” Proceeding of the 2006 Taiwan Academic Network Symposium, 2006.
[72] K.Q. Yan, S.C. Wang G.Y. Zheng, “Reaching Dual Fallible Virtual Subnet Consensus,”
Proceeding of the 3rd International Conference on Soft Computing and Intelligent Systems and 7th International Symposium on advanced Intelligent Systems, pp.20-24,