The Community for Technology Leaders
RSS Icon
Issue No.08 - August (2009 vol.58)
pp: 1080-1094
Alysson Neves Bessani , University of Lisboa, Lisboa
Miguel Correia , University of Lisboa, Lisboa
Joni da Silva Fraga , Universidade Federal de Santa Catarina, Florianópolis
Lau Cheuk Lung , Universidade Federal de Santa Catarina, Florianópolis
Open distributed systems are typically composed by an unknown number of processes running in heterogeneous hosts. Their communication often requires tolerance to temporary disconnections and security against malicious actions. Tuple spaces are a well-known coordination model for this kind of systems. They can support communication that is decoupled both in time and space. There are currently several implementations of distributed fault-tolerant tuple spaces but they are not Byzantine-resilient, i.e., they do not provide a correct service if some replicas are attacked and start to misbehave. This paper presents an efficient implementation of a Linearizable Byzantine fault-tolerant Tuple Space (LBTS) that uses a novel Byzantine quorum systems replication technique in which most operations are implemented by quorum protocols while stronger operations are implemented by more expensive protocols based on consensus. LBTS is linearizable and wait-free, showing interesting performance gains when compared to a similar construction based on state machine replication.
Tuple spaces, Byzantine fault tolerance, intrusion tolerance, quorum systems.
Alysson Neves Bessani, Miguel Correia, Joni da Silva Fraga, Lau Cheuk Lung, "An Efficient Byzantine-Resilient Tuple Space", IEEE Transactions on Computers, vol.58, no. 8, pp. 1080-1094, August 2009, doi:10.1109/TC.2009.71
[1] D. Gelernter and N. Carriero, “Coordination Languages and Their Significance,” Comm. ACM, vol. 35, no. 2, pp. 96-107, 1992.
[2] D. Gelernter, “Generative Communication in Linda,” ACM Trans. Programming Languages and Systems, vol. 7, no. 1, pp. 80-112, Jan. 1985.
[3] G. Cabri, L. Leonardi, and F. Zambonelli, “Mobile Agents Coordination Models for Internet Applications,” Computer, vol. 33, no. 2, pp. 82-89, Feb. 2000.
[4] GigaSpaces, GigaSpaces—Write Once, Scale Anywhere, http:/, 2008.
[5] Sun Microsystems, JavaSpaces Service Specification, http://www. jini.orgstandards, 2003.
[6] T.J. Lehman, A. Cozzi, Y. Xiong, J. Gottschalk, V. Vasudevan, S. Landis, P. Davis, B. Khavar, and P. Bowman, “Hitting the Distributed Computing Sweet Spot with TSpaces,” Computer Networks, vol. 35, no. 4, pp. 457-472, 2001.
[7] D.E. Bakken and R.D. Schlichting, “Supporting Fault-Tolerant Parallel Programming in Linda,” IEEE Trans. Parallel and Distributed Systems, vol. 6, no. 3, pp. 287-302, Mar. 1995.
[8] A. Xu and B. Liskov, “A Design for a Fault-Tolerant, Distributed Implementation of Linda,” Proc. 19th Symp. Fault-Tolerant Computing (FTCS '89), pp. 199-206, June 1989.
[9] J. Fraga and D. Powell, “A Fault- and Intrusion-Tolerant File System,” Proc. Third Int'l Conf. Computer Security, pp. 203-218, 1985.
[10] L. Lamport, R. Shostak, and M. Pease, “The Byzantine Generals Problem,” ACM Trans. Programming Languages and Systems, vol. 4, no. 3, pp. 382-401, July 1982.
[11] A. Murphy, G. Picco, and G.-C. Roman, “LIME: A Coordination Model and Middleware Supporting Mobility of Hosts and Agents,” ACM Trans. Software Eng. and Methodology, vol. 15, no. 3, pp. 279-328, July 2006.
[12] F. Favarim, J.S. Fraga, L.C. Lung, and M. Correia, “GridTS: A New Approach for Fault-Tolerant Scheduling in Grid Computing,” Proc. Sixth IEEE Symp. Network Computing and Applications (NCA '07), pp. 187-194, July 2007.
[13] M. Herlihy and J.M. Wing, “Linearizability: A Correctness Condition for Concurrent Objects,” ACM Trans. Programming Languages and Systems, vol. 12, no. 3, pp. 463-492, July 1990.
[14] M. Herlihy, “Wait-Free Synchronization,” ACM Trans. Programming Languages and Systems, vol. 13, no. 1, pp. 124-149, Jan. 1991.
[15] D. Malkhi and M. Reiter, “Byzantine Quorum Systems,” Distributed Computing, vol. 11, no. 4, pp. 203-213, Oct. 1998.
[16] E.J. Segall, “Resilient Distributed Objects: Basic Results and Applications to Shared Spaces,” Proc. Seventh Symp. Parallel and Distributed Processing (SPDP '95), pp. 320-327, Oct. 1995.
[17] R. Ekwall and A. Schiper, “Replication: Understanding the Advantage of Atomic Broadcast over Quorum Systems,” J.Universal Computer Science, vol. 11, no. 5, pp. 703-711, 2005.
[18] M. Castro and B. Liskov, “Practical Byzantine Fault-Tolerance and Proactive Recovery,” ACM Trans. Computer Systems, vol. 20, no. 4, pp. 398-461, Nov. 2002.
[19] J.-P. Martin and L. Alvisi, “Fast Byzantine Consensus,” IEEE Trans. Dependable and Secure Computing, vol. 3, no. 3, pp. 202-215, July-Sept. 2006.
[20] P. Zielinski, “Paxos at War,” Technical Report UCAM-CL-TR-593, Univ. of Cambridge Computer Laboratory, June 2004.
[21] M.J. Fischer, N.A. Lynch, and M.S. Paterson, “Impossibility of Distributed Consensus with One Faulty Process,” J. ACM, vol. 32, no. 2, pp. 374-382, Apr. 1985.
[22] M. Abd-El-Malek, G. Ganger, G. Goodson, M. Reiter, and J. Wylie, “Fault-Scalable Byzantine Fault-Tolerant Services,” Proc. 20th ACM Symp. Operating Systems Principles (SOSP '05), pp. 59-74, Oct. 2005.
[23] J. Cowling, D. Myers, B. Liskov, R. Rodrigues, and L. Shrira, “HQ-Replication: A Hybrid Quorum Protocol for Byzantine Fault Tolerance,” Proc. Seventh Symp. Operating Systems Design and Implementations (OSDI '06), Nov. 2006.
[24] F.B. Schneider, “Implementing Fault-Tolerant Service Using the State Machine Approach,” ACM Computing Surveys, vol. 22, no. 4, pp. 299-319, Dec. 1990.
[25] A.N. Bessani, M. Correia, J. da Silva Fraga, and L.C. Lung, “Sharing Memory between Byzantine Processes Using Policy-Enforced Tuple Spaces,” IEEE Trans. Parallel and Distributed Systems, vol. 20, no. 3, pp. 419-443, Mar. 2009.
[26] R.R. Obelheiro, A.N. Bessani, L.C. Lung, and M. Correia, “How Practical Are Intrusion-Tolerant Distributed Systems?” DI-FCUL TR 06-15, Dept. of Informatics, Univ. of Lisbon, 2006.
[27] C. Dwork, N.A. Lynch, and L. Stockmeyer, “Consensus in the Presence of Partial Synchrony,” J. ACM, vol. 35, no. 2, pp. 288-322, 1988.
[28] R.L. Rivest, A. Shamir, and L.M. Adleman, “A Method for Obtaining Digital Signatures and Public-Key Cryptosystems,” Comm. ACM, vol. 21, no. 2, pp. 120-126, 1978.
[29] D. Gifford, “Weighted Voting for Replicated Data,” Proc. Seventh ACM Symp. Operating Systems Principles (SOSP '79), pp. 150-162, Dec. 1979.
[30] R.A. Bazzi and Y. Ding, “Non-Skipping Timestamps for Byzantine Data Storage Systems,” Proc. 18th Int'l Symp. Distributed Computing (DISC '04), pp. 405-419, Oct. 2004.
[31] C. Cachin and S. Tessaro, “Optimal Resilience for Erasure-Coded Byzantine Distributed Storage,” Proc. Int'l Conf. Dependable Systems and Networks (DSN '06), pp. 115-124, June 2006.
[32] B. Liskov and R. Rodrigues, “Tolerating Byzantine Faulty Clients in a Quorum System,” Proc. 26th IEEE Int'l Conf. Distributed Computing Systems (ICDCS '06), 2006.
[33] D. Malkhi and M. Reiter, “Secure and Scalable Replication in Phalanx,” Proc. 17th IEEE Symp. Reliable Distributed Systems (SRDS '98), pp. 51-60, Oct. 1998.
[34] J.-P. Martin, L. Alvisi, and M. Dahlin, “Minimal Byzantine Storage,” Proc. 16th Int'l Symp. Distributed Computing (DISC '02), pp. 311-325, Oct. 2002.
[35] G. Bracha and S. Toueg, “Asynchronous Consensus and Broadcast Protocols,” J. ACM, vol. 32, no. 4, pp. 824-840, 1985.
[36] M. Correia, N.F. Neves, and P. Veríssimo, “How to Tolerate Half Less One Byzantine Nodes in Practical Distributed Systems,” Proc. 23rd IEEE Symp. Reliable Distributed Systems (SRDS '04), pp. 174-183, Oct. 2004.
[37] J.-P. Martin, L. Alvisi, and M. Dahlin, “Small Byzantine Quorum Systems,” Proc. Dependable Systems and Networks (DSN '02), pp.374-388, June 2002.
[38] N. Busi, R. Gorrieri, R. Lucchi, and G. Zavattaro, “SecSpaces: A Data-Driven Coordination Model for Environments Open to Untrusted Agents,” Electronic Notes in Theoretical Computer Science, vol. 68, no. 3, pp. 310-327, Mar. 2003.
[39] P. Dutta, R. Guerraoui, R.R. Levy, and A. Chakraborty, “How Fast Can a Distributed Atomic Read Be?” Proc. 23rd Ann. ACM Symp. Principles of Distributed Computing (PODC '04), pp. 236-245, July 2004.
[40] N. Busi, R. Gorrieri, and G. Zavattaro, “On the Expressiveness of Linda Coordination Primitives,” Information and Computation, vol. 156, nos. 1/2, pp. 90-121, Jan. 2000.
[41] A.N. Bessani, J. da Silva Fraga, and L.C. Lung, “BTS: A Byzantine Fault-Tolerant Tuple Space,” Proc. 21st ACM Symp. Applied Computing (SAC '06), pp. 429-433, 2006.
[42] A.N. Bessani, E.P. Alchieri, M. Correia, and J.S. Fraga, “DepSpace: A Byzantine Fault-Tolerant Coordination Service,” Proc. Third ACM SIGOPS/EuroSys European Systems Conf. (EuroSys '08), pp.163-176, Apr. 2008.
[43] D. Malkhi and M. Reiter, “An Architecture for Survivable Coordination in Large Distributed Systems,” IEEE Trans. Knowledge and Data Eng., vol. 12, no. 2, pp. 187-202, Mar./Apr. 2000.
[44] I. Abraham, G. Chockler, I. Keidar, and D. Malkhi, “Byzantine Disk Paxos: Optimal Resilience with Byzantine Shared Memory,” Distributed Computing, vol. 18, no. 5, pp. 387-408, Apr. 2006.
[45] N.H. Minsky, Y.M. Minsky, and V. Ungureanu, “Making Tuple-Spaces Safe for Heterogeneous Distributed Systems,” Proc. 15th ACM Symp. Applied Computing (SAC '00), pp. 218-226, Mar. 2000.
23 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool