Interoperable Replication Logic In questo capitolo viene presentata una infrastruttura software denominata IRL
6.2. SVILUPPI FUTURI 99
i fault report propagati dai Local Failure Detector e dal Fault Notifier, per cui non reagisce a tali eventi creando nuove repliche.
• Richieste uscenti. CORBA consente ad un oggetto di invocarne un altro
per produrre il risultato per una invocazione da parte del client. Questa possibilit`a non `e attualmente supportata dal prototipo di IRL, poich´e se un object group invocasse un altro oggetto, la richiesta sarebbe inviata pi`u volte (una per ogni membro), causando una violazione della consistenza. La soluzione a questo problema consiste nell’identificazione univoca delle richi-este uscenti dai membri dell’object group e nel filtraggio dei duplicati sugli oggetti invocati, e pu`o essere implementata modificando opportunamente l’ORGW e l’IRGW.
Abbiamo pianificato di implementare queste funzionalit`a nella prossima ver-sione del prototipo di IRL. Inoltre abbiamo pensato di effettuare una serie di esperimenti in cui le repliche dell’end-tier sono distribuite in una WAN.
Notiamo infine che il prototipo `e stato sviluppato sia in Java che in C++, ed `e disponibile per il download sul sito web del progetto IRL [IRL].
Bibliografia
[ADKM92a] Y. Amir, D. Dolev, S. Kramer, and D. Malkhi. Membership Algorithms in Broadcast Domains. In Proceedings of the 6th International Workshop on
Distributed Algorithms, Lecture Note in Computer Science #647, pages
292–312, November 1992.
[ADKM92b] Y. Amir, D. Dolev, S. Kramer, and D. Malkhi. Transis: A Communication Sub-System for High Availability. In Proceedings of the 22nd Annual
International Symposium on Fault-Tolerant Computing, pages 76–84, July
1992.
[ADMSM94] Y. Amir, D. Dolev, P. M. Melliar-Smith, and L. E. Moser. Robust and Ef-ficient Replication Using Group Communication. Technical Report CS94-20, Institute of Computer Science, the Hebrew University of Jerusalem, Jerusalem, Israel, 1994.
[AHN+94] M. Ahamad, P.W. Hutto, G. Neiger, J.E. Burns, and P. Kohli. Causal Memory: Definitions, Implementations and Programming. Technical Report TR GIT-CC-93/55, Georgia Institute of Technology, 1994. [AMMS+95] Y. Amir, L. Moser, P. M. Melliar-Smith, D. Agarwal, and P. Ciarfella. The
Totem single-ring ordering and membership protocol. ACM Transactions
on Computer Systems, 13(4):93–132, November 1995.
[AS98] Y. Amir and J. Stanton. The Spread Wide Area Group Communi-cation System. Technical Report CNDS-98-4, Center for Networking and Distributed Systems, Computer Science Department, Johns Hopkins University, 3400 N. Charles Street Baltimore, MD 21218-2686, April 1998. [Asp02] J. Aspnes. Randomized protocols for asynchronous consensus. Technical Report cs.DS/0209014, Yale University, Department of Computer Sci-ence, 2002. Invited survey paper for Distributed Computing PODC 20th anniversary issue, to appear.
[AW94] H. Attiya and J. Welch. Sequential Consistency versus Linearizability.
ACM Transactions on Computer Systems, 12(2):91–122, May 1994.
[Ban98] B. Ban. Design and implementation of a reliable group communication toolkit for java. Cornell University, September 1998.
[BCBT96] A. Basu, B. Charron-Bost, and S. Toueg. Simulating Reliable Links with Unreliable Links in the Presence of Process Crashes. In Proceedings of
Distributed Algorithm (WDAG ’96), pages 105–122, October 1996.
[BCMT02] R. Baldoni, S. Cimmino, C. Marchetti, and A. Termini. Performance Analysis of Java Group Toolkits: A Case Study. In Proceedings of the
International Workshop on scientiFic engIneering of Distributed Java applIcations (FIDJI’2002), pages 81–90, Luxembourg, November 2002.
[BDGS95] O. Babao˘glu, R. Davoli, L. Giachini, and P. Sabattini. The Inherent Cost¨ of Strong-Partial View-Synchronous Communication. Technical Report UBLCS–95–11, Department of Computer Science, University of Bologna, April 1995.
[BDM01] O. Babao˘glu, R. Davoli, and A. Montresor. Group Communication in¨ Partitionable Systems: Specification and Algorithms. IEEE Transactions
on Software Engineering, 27(4):308–336, April 2001.
[BDMS98] O. Babao˘glu, R. Davoli, A. Montresor, and R. Segala. System Support for¨ Partition-aware Network Applications. In Proceedings of the 18th IEEE
International Conference on Distributed Computing (ICDCS), pages 184–
191, May 1998.
[BHG87] P. Bernstein, V. Hadzilacos, and H. Goodman. Concurrency Control and
Recovery in Database Systems. Addison-Wesley, Reading, MA, 1987.
[Bir93] K. Birman. The Process Group Approach to Reliable Distributed Computing. Communications of the ACM, 36(12):37–53, December 1993. [Bir99] K. Birman. A Review of Experiences with Reliable Multicast. Software
– Practice and Experience, 29(9):741–774, 1999.
[BJ87] K. Birman and T. Joseph. Exploiting Virtual Synchrony in Distributed Systems. In Proceedings of the 11th ACM Symp. on Operating Systems
Principles, pages 123–138, December 1987.
[BJRA85] K. Birman, T. Joseph, T. Raeuchle, and A. El Abbadi. Implement-ing Fault-tolerant Distributed Objects. IEEE Transactions on Software
Engineering, 11(6):502–508, June 1985.
[Bla] V. Blagojevic. Implementing totem’s total ordering protocol in javagroups reliable group communication toolkit. York University.
BIBLIOGRAFIA 103
[BM01] R. Baldoni and C. Marchetti. Software replication in three-tier architec-tures: is it a real challenge? In Proceedings of the 8th IEEE Workshop on
Future Trends of Distributed Computing Systems (FTDCS’2001), pages
133–139, Bologna, Italy, November 2001.
[BMPV02] R. Baldoni, C. Marchetti, R. Panella, and L. Verde. Handling FT-CORBA Compliant Interoperable Object Group Reference. In Proceedings of the
6th IEEE International Workshop on Object Oriented Real-time Depend-able Systems (WORDS’02), pages 37–44, Santa Barbara (CA), USA,
January 2002.
[BMTP02a] R. Baldoni, C. Marchetti, and S. Tucci-Piergiovanni. Asynchronous Ac-tive Replication in Three-tier Distribuuted Systems. In Proceedings of the
9th IEEE Pacific Rim Symposium on Dependable Computing (PRDC02),
Tsukuba, Japan, December 2002. to appear, also available as Technical Report at http://www.dis.uniroma1.ir/∼irl.
[BMTP02b] R. Baldoni, C. Marchetti, and S. Tucci-Piergiovanni. Fault-tolerant Se-quencer: Specification and an Implementation. In P. Ezhilchelvan and A. Romanovsky, editors, Concurrency in Dependable Computing. Kluwer Academic Press, 2002.
[BSS91] K. Birman, A. Schiper, and P. Stephenson. Lightweight Causal and Atomic Group Multicast. ACM Transactions on Computer Systems,
9(3):272–314, August 1991.
[BSTM93] N. Budhiraja, F.B. Schneider, S. Toueg, and K. Marzullo. The Primary-Backup Approach. In S. Mullender, editor, Distributed Systems, pages 199–216. ACM Press - Addison Wesley, 1993.
[BvR93] K. Birman and R. van Renesse. Reliable Distributed Computing With The
ISIS Toolkit. IEEE Computer Society Press, Los Alamitos, 1993.
[CD89] B. Chor and C. Dwork. Advances in Computer Research 5: Randomness
and Computation, chapter Randomization in Byzantine Agreement, pages
701–712. JAI Press, 1989.
[CF98] F. Cristian and C. Fetzer. The Timed Asynchronous Distributed System. In Proceedings of the 28nd Annual International Symposium on
Fault-Tolerant Computing, pages 140–149, 1998.
[CHT96] T. D. Chandra, V. Hadzilacos, and S. Toueg. The weakest failure detector for solving Consensus. Journal of ACM, 43(4):685–722, July 1996. [CKV01] G.V. Chockler, I. Keidar, and R. Vitenberg. Group Communications
Specifications: a Comprehensive Study. ACM Computing Surveys,
[CMA97] F. Cristian, S. Mishra, and G. Alvarez. High-performance Asynchronous Atomic Broadcast. Distributed System Engineering Journal, 4(2):109–128, June 1997.
[CT96] T. Chandra and S. Toueg. Unreliable Failure Detectors for Reliable Distributed Systems. Journal of the ACM, pages 225–267, Mar. 1996. [D´ef00] Xavier D´efago. Agreement-Related Problems: From Semi Passive
Repli-cation to Totally Ordered Broadcast. PhD thesis, ´Ecole Polytechnique F´ed´erale de Lausanne, Switzerland, 2000. PhD thesis no. 2229.
[DLS88] C. Dwork, N.A. Lynch, and L. Stockmeyer. Consensus in the Presence of Partial Synchrony. Journal of the ACM, 35(2):288–323, April 1988. [DM96] D. Dolev and D. Malkhi. The Transis Approach to High Availability
Cluster Communication. Communications of the ACM, 39(4):64–70, April 1996.
[DMS95] D. Dolev, D. Malkhi, and R. Strong. A Framework for Partitionable Membership Service. Technical Report CS95-4, Institute of Computer Science, The Hebrew University of Jerusalem, 1995.
[DSS98] X. D´efago, A. Schiper, and N. Sergent. Semi-passive replication. In
Proceedings of the 17th IEEE Symposium on Reliable Distributed Systems (SRDS), pages 43–50, West Lafayette, IN, USA, October 1998.
[FC99a] C. Fetzer and F. Cristian. A Highly Available Local Leader Election Service. IEEE Transactions on Software Engineering, 25(5):603–618,
1999.
[FC99b] C. Fetzer and F. Cristian. The Timed Asynchronous Distributed Sys-tem Model. IEEE Transactions on Parallel and Distributed SysSys-tems, 10(6):642–657, 1999.
[FH02] R. Friedman and E. Hadad. FTS: a High-Performance CORBA Fault-Tolerance Service. In Proceedings of the 7th IEEE International
Work-shop on Object-Oriented Real-Time Dependable Systems (WORDS 2002),
pages 61–68, 2002.
[FLP85] M. Fischer, N. Lynch, and M. Paterson. Impossibility of Distributed Consensus with One Faulty Process. Journal of the ACM, 32(2):374–382, April 1985.
[FV97] R. Friedman and A Vaysburd. Fast Replicated State Machines over Partitionable Networks. In Proceedings of the 16th IEEE International
BIBLIOGRAFIA 105
[FvR95] R. Friedman and R. van Renesse. Strong and Weak Virtual Synchrony in Horus. Technical Report TR95–1491, Department of Computer Science, Cornell University, March 1995.
[GF01] R. Guerraoui and S. Frølund. Implementing E-Transactions with Asyn-chronous Replication. IEEE Transactions on Parallel and Distributed
Systems, 12(2):133–146, 2001.
[GHJV94] E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns:
Elements of Reusable Object-Oriented Software. Addison Wesley, 1994.
[GS95] R. Guerraoui and A. Schiper. Transaction model vs Virtual Synchrony model: bridging the gap. In K. Birman, F. Cristian, F. Mattern, and A. Schiper, editors, Distributed Systems: From Theory to Practice, Lecture Notes on Computer Science. Springer-Verlag, 1995.
[GS97a] R. Guerraoui and A. Schiper. Software-Based Replication for Fault Toler-ance. IEEE Computer - Special Issue on Fault Tolerance, 30:68–74, April 1997.
[GS97b] R. Guerraoui and A. Schiper. Total order multicast to multiple groups. In Proceedings of the 17th International Conference on Distributed
Com-puting Systems (ICDCS-17), pages 578–585, Baltimore, USA, May
1997.
[GS01] R. Guerraoui and A. Schiper. The Generic Consensus Service. IEEE
Transactions on Software Engineering, 27(1):29–41, January 2001.
[Hay98] M.G. Hayden. The Ensemble System. PhD thesis, Cornell University, Ithaca, NY, USA, 1998.
[HT93] V. Hadzilacos and S. Toueg. Faul-Tolerant Broadcast and Related Prob-lems. In S. Mullender, editor, Distributed Systems, chapter 16. Addison Wesley, 1993.
[HV99] M. Henning and S. Vinoski. Advanced CORBA Programming with C++. Addison Wesley Longman, 1999.
[HW90] M. Herlihy and J. Wing. Linearizability: A Correctness Condition for Concurrent Objects. ACM Trans. on Programming Languages and
Systems, 12(3):463–492, 1990.
[ION] IONA Web Site. http://www.iona.com.
[KA98] B. Kemme and G. Alonso. A Suite of Database Replication Protocols based on Group Communications. In Proceedings of the 18th International
Conference on Distributed Computing Systems (ICDCS), May 1998.
[KD96] I. Keidar and D. Dolev. Efficient Message Ordering in Dynamic Networks. In Proceedings of the 15th ACM Symposium on Principles of Distributed
Computing (PODC), pages 68–86, May 1996.
[Kei94] I. Keidar. A highly available paradigm for consistent object replica-tion. Master’s thesis, Institute of Computer Science, Hebrew University, Jerusalem, Israel, 1994. also Tech. Rep. CS95-5.
[Kem02] B. Kemme. Implementing Database Replication based on Group Commu-nication. In Proceedings of the International Workshop on Future Trends
in Distributed Computing (FuDiCo 2002), pages 156–158, June 2002.
[KT91] F. Kaashoek and A. S. Tanenbaum. Fault tolerance using group communication. ACM Operating Systems Review, 25(2):71–74, April
1991.
[Lam78] L. Lamport. Time, Clocks and the Ordering of Events in a Distributed System. Communications of the ACM, 21(7):558–565, 1978.
[Lam79] L. Lamport. How to make a multiprocessor computer that correct-ly execute multiprocess programs. IEEE Transactions on Computers, 28(9):690–691, 1979.
[LM97] S. Landis and S. Maffeis. Building Reliable Distributed Systems with CORBA. Theory and Practice of Object Systems, 3(1), 1997.
[MAMSA94] L. E. Moser, Y. Amir, P. M. Melliar-Smith, and D. A. Agarwal. Extended Virtual Synchrony. In Proceedings of the 14 International Conference on
distributed Computing Systems, June 1994.
[Mar02] C. Marchetti. A Three-tier Architecture for Active Software Replication. PhD thesis, Dipartimento di Informatica e Sistemistica, Universit`a degli Studi di Roma “La Sapienza”, 2002.
[MFSW95] C. Malloth, P. Felber, A. Schiper, and U. Wilhelm. Phoenix: A Toolkit for Building Fault-Tolerant Distributed Application in Large Scale. Tech-nical report, Department d’Informatique, Ecole Polytechnique Federale de Lausanne, July 1995.
[MMSA+95] L. E. Moser, P. M. Melliar-Smith, D. A. Agarwal, R. K. Budhia, C. A. Lingley-Papadopoulos, and T. P. Archambault. The Totem Sys-tem. In Proceedings of the 25th Annual International Symposium on
BIBLIOGRAFIA 107
[MMSA+96] L. Moser, P. M. Melliar-Smith, D. Agarwal, R. Budhia, and C. Lingley-Papadopoulos. Totem: A Fault-Tolerant Multicast Group Commu-nication System. Communications of the ACM, 39(4):54–63, April
1996.
[MMSN98] L.E. Moser, P.M. Melliar-Smith, and P. Narasimhan. Consistent Object Replication in the Eternal System. Theory and Practice of Object Systems, 4(3):81–92, 1998.
[MPR01] H. Miranda, A. Pinto, and L. Rodrigues. Appia, a flexible protocol kernel supporting multiple coordinated channels. In Proceedings of The 21st
International Conference on Distributed Computing Systems (ICDCS-21),
pages 707–710, Phoenix, Arizona, USA, April16–19 2001. IEEE Computer Society.
[MS95] C. Malloth and A. Schiper. View Synchronous Communication in Large Scale Networks. In Proc 2nd Open Workshop of the ESPRIT projet
BROADCAST (#6360), Grenoble (France), July 1995.
[MVB03] C. Marchetti, A. Virgillito, and R. Baldoni. Enhancing availability of cooperative applications through interoperable middleware. Journal of
Information Science and Engineering (JISE), Special Issue on Parallel and Distributed Systems, 19(1), January 2003. to appear.
[MVBM01] C. Marchetti, A. Virgillito, R. Baldoni, and M. Mecella. Integrating Au-tonomous Enterprise Systems through Dependable CORBA Objects. In
Proceedings of the 5th IEEE International Symposium on Autonomous Decentralized Systems (ISADS01), pages 204–211, Dallas, Texas, USA,
March 2001.
[Obj97] Object Management Group (OMG), Framingham, MA, USA.
COR-BAServices: Common Object Services Specification, OMG Document
formal edition, July 1997. OMG Final Adopted Specification.
[Obj01a] Object Management Group (OMG), Framingham, MA, USA. The
Com-mon Object Request Broker Architecture and Specifications. Revision 2.6,
OMG Document formal edition, December 2001. OMG Final Adopted Specification.
[Obj01b] Object Management Group (OMG), Framingham, MA, USA. Unreliable
Multicast, OMG Document ptc/2001-11-08 edition, October 2001. OMG
Draft Adopted Specification.
[Pow91] D. Powell. Delta4: a Generic Architecture for Dependable Distributed
[Pow96] D. Powell-editor. Special Section on Group Communication.
Communications of the ACM, 39(4):50–97, 1996.
[PSL80] M. Pease, R. Shostak, and L. Lamport. Reaching Agreement in the Presence of Faults. Journal of the ACM, 27(2):228–234, 1980.
[Sch85] F. Schneider. Paradigms for Distributed Programs. In Distributed Systems
– Methods and Tools for Specification, pages 343–430. Lecture Notes in
Computer Science, Vol. 190, Springer-Verlag, New-York, NY, 1985. [Sch93] F.B. Schneider. Replication Management Using the State Machine
Ap-proach. In S. Mullender, editor, Distributed Systems. ACM Press -Addison Wesley, 1993.
[SSRB00] D. C. Schmidt, M. Stal, H. Rohnert, and F. Buschmann. Pattern-Oriented
Software Architecture: Patterns for Concurrent and Networked Objects.
Wiley & Sons, 2000.
[TB01] Z. Tari and O. Bukhres. Fundamentals of Distributed Object Systems
-The CORBA Perspective. Wiley-Interscience. John Wiley & Sons, inc.,
2001.
[VB98] A. Vaysburd and K. Birman. The Maestro Approach to Building Reliable Interoperable Distributed Applications with Multiple Execution Styles.
Theory and Practice of Object Systems, 4(2):73–80, 1998.
[VCF00] P. Verissimo, A. Casimiro, and C. Fetzer. The Timely Computing Base: Timely Actions in the Presence of Uncertain Timeliness. In Proceedings
of the 1st International Conference on Dependable Systems and Networks (DNS2000), New York, USA, June 2000.
[VR02] P. Vicente and L. Rodrigues. An indulgent uniform total order algorithm with optimistic delivery. In Proceedings of the 21th IEEE Symposium
on Reliable Distributed Systems (SRDS’02), pages 92–101, Osaka, Japan,
October 2002.
[vRBH94] R. van Renesse, K. Birman, and T. M. Hickey. Design and Performance of Horus: A Lightweight Group Communications System. Technical Report 94-1442, Cornell University, Dept. of Computer Science, August 1994. [vRBM96] R. van Renesse, K. Birman, and S. Maffeis. Horus: A flexible Group
Communication System. Communications of the ACM, 39(4):76–83, April 1996.
[WS95] U. G. Wilhelm and A. Schiper. A hierarchy of totally ordered multicas-ts. In Proceedings of the 14th IEEE Symposium on Reliable Distributed