This Article 
 Bibliographic References 
 Add to: 
OBIWAN: Design and Implementation of a Middleware Platform
November 2003 (vol. 14 no. 11)
pp. 1086-1099

Abstract—Programming distributed applications supporting data sharing is very hard. In most middleware platforms, programmers must deal with system-level issues for which they do not have the adequate knowledge, e.g., object replication, abusive resource consumption by mobile agents, and distributed garbage collection. As a result, programmers are diverted from their main task: the application logic. In addition, given that such system-level issues are extremely error-prone, programmers spend innumerous hours debugging. We designed, implemented, and evaluated a middleware platform called OBIWAN that releases the programmer from the above mentioned system-level issues. OBIWAN has the following distinctive characteristics: 1) allows the programmer to develop applications using either remote object invocation, object replication, or mobile agents, according to the specific needs of applications, 2) supports automatic object replication (e.g., incremental on-demand replication, transparent object faulting and serving, etc.), 3) supports distributed garbage collection of useless replicas, and 4) supports the specification and enforcement of history-based security policies well adapted to mobile agents needs (e.g., preventing abusive resource consumption).

[1] K. Arnold and J. Gosling, The Java Programming Language. Addison-Wesley, 1996.
[2] R. Simon and E. Zurko, Adage: An Architecture for Distributed Authorization OSF Research Inst., Cambridge,, 1997.
[3] D.F. Brewer and M.J. Nash, The Chinese Wall Security Policy Proc. Symp. Research in Security and Privacy, pp. 206-214, May 1989.
[4] P. Butterwoth, A. Otis, and J. Stein, The GemStone Object Database Management System Comm. ACM, vol. 34, no. 10, pp. 64-77, Oct. 1991.
[5] S.J. Caughey, D. Hagimont, and D.B. Ingham, Deploying Distributed Objects on the Internet Recent Advances in Distributed Systems, S. Krakowiak and S.K. Shrivastava, eds., Springer Verlag, Feb. 2000.
[6] O. Deux et al., The${\rm{O}}_2$System Comm. ACM, vol. 34, no. 10, pp. 34-48, Oct. 1991.
[7] N. Dulay, E. Lupu, M. Sloman, and N. Damianou, A Policy Deployment Model for the Ponder Language Proc. Seventh IEEE/IFIP Int'l Symp. Integrated Network Management, 2001.
[8] G. Edjlali, A. Acharya, and V. Chaudhary, History-Based Access Control for Mobile Code Proc. Fifth ACM Conf. Computer and Comm. Security, pp. 38-48, Nov. 1998.
[9] P. Felber, R. Guerraoui, and A. Schiper, Replication of CORBA Objects Recent Advances in Distributed Systems, S. Krakowiak and S.K. Shrivastava, eds., Springer Verlag, Feb. 2000.
[10] P. Ferreira and M. Shapiro, Garbage Collection and DSM Consistency Proc. First Symp. Operating Systems Design and Implementation, pp. 229-241, 1994.
[11] P. Ferreira and M. Shapiro, Modelling a Distributed Cached Store for Garbage Collection: The Algorithm and Its Correctness Proof Proc. Eighth European Conf. Object-Oriented Programming, July 1998.
[12] K. Gharachorloo, S.V. Adve, A. Gupta, J.L. Hennessy, and M.D. Hill, Programming for Different Memory Consistency Models J. Parallel and Distributed Computing, vol. 15, no. 4, pp. 399-407, 1992.
[13] H.M. Gladney, Access Control for Large Collections ACM Trans. Information Systems, vol. 15, no. 2, pp. 154-194, Apr. 1997.
[14] R. Guerraoui and A. Schiper, “Total Order Multicast to Multiple Groups,” Proc. 17th IEEE Int'l Conf. Distributed Computing Systems, pp. 578-585, May 1997.
[15] D. Hagimont and F. Boyer, A Configurable RMI Mechanism for Sharing Distributed Java Objects Internet Computing, vol. 5, Jan. 2001.
[16] G. Karjoth, D.B. Lange, and M. Oshima, A Security Model for Aglets Internet Computing, vol. 1, no. 4, pp. 68-77, 1997.
[17] P. Keleher, A.L. Cox, and W. Zwaenepoel, “Lazy Release Consistency for Software Distributed Shared Memory,” Proc. 19th Ann. Int'l Symp. Computer Architecture, pp. 13-21, May 1992.
[18] A. Kermarrec, A. Rowstron, M. Shapiro, and P. Druschel, The Icecube Approach to the Reconciliation of Divergent Replicas Proc. 20th ACM Symp. Principles of Distributed Computing, Aug. 2001.
[19] D.B. Lange and M. Oshima, Programming and Deploying Java Mobile Agents with Aglets. Addison-Wesley, 1998.
[20] K. Li and P. Hudak, Memory Coherence in Shared Virtual Memory Systems ACM Trans. Computer Systems, vol. 7, no. 4, pp. 321-359, Nov. 1989.
[21] B. Liskov, M. Day, and L. Shrira, Distributed Object Management in Thor Proc. Int'l Workshop Distributed Object Management, pp. 1-15, Aug. 1992.
[22] R. Montanari and G. Tonti, A Policy-Based Infrastructure for the Dynamic Control of Agent Mobility Proc. IEEE Third Int'l Workshop Policies for Distributed Systems and Networks, June 2002.
[23] J.M. Piquer, Indirect Reference-Counting A Distributed Garbage Collection Algorithm Proc. Conf. Parallel Architectures and Languages Europe, pp. 150-165, June 1991.
[24] D. Plainfossé and M. Shapiro, A Survey of Distributed Garbage Collection Techniques Proc. Int'l Workshop Memory Management, Sept. 1995.
[25] D.S. Platt, Introducing the Microsoft.NET Platform. Microsoft Press, 2001.
[26] C. Ribeiro, A. Zúquete, P. Ferreira, and P. Guedes, SPL: An Access Control Language for Security Policies with Complex Constraints Proc. Network and Distributed System Security Symp., Feb. 2001.
[27] A. Sanchez, L. Veiga, and P. Ferreira, Distributed Garbage Collection for Wide Area Replicated Memory Proc. Sixth USENIX Conf. Object-Oriented Technologies and Systems, Jan. 2001.
[28] R. Sandhu, Separation of Duties in Computarized Information Systems Proc. IFIP WG11.3 Workshop Database Security, Sept. 1990.
[29] R.S. Sandhu,"Lattice-based access control models," Computer, vol. 26, no. 11, pp. 9-19, Nov. 1993.
[30] R.S. Sandhu et al., "Role-Based Access Control Models," Computer, Feb. 1996, pp. 38-47.
[31] M. Shapiro, Structure and Encapsulation in Distributed Systems: The Proxy Principle Proc. Sixth Int'l Conf. Distributed Systems, pp. 198-204, May 1986.
[32] M. Shapiro, P. Dickman, and D. Plainfossé, Robust Distributed References and Acyclic Garbage Collection Proc. 11th ACM SIGACT-SIGOPS Symp. Principles of Distributed Computing, 1992.
[33] R.T. Simon and M.E. Zurko, Separation of Duty in Role-Based Environments Proc. IEEE Computer Security Foundations Workshop, pp. 183-194, 1997.
[34] M. Skubiszewski and P. Valduriez, Concurrent Garbage Collection in O2 Proc. 23rd Int'l Conf. Very Large Databases, M. Jarke, M.J. Carey, K.R. Dittrich, F.H. Lochovsky, P. Loucopoulos, and M.A. Jeusfeld, eds. pp. 356-365, Morgan Kaufman, 1997.
[35] A. Silva, M. Mira da Silva, and J. Delgado, An Overview of AgentSpace: A Next-Generation Mobile Agent System Proc. Second Int'l Workshop Mobile Agents, Sept. 1998.
[36] A. Tripathi and N. Karnik, Protected Resource Access for Mobile Agent-Based Distributed Computing Proc. ICPP Workshop Wireless Networking and Mobile Computing, 1998.
[37] L. Veiga and P. Ferreira, Incremental Replication for Mobility Support in OBIWAN Proc. 22nd Int'l Conf. Distributed Computing Systems, pp. 249-256, July 2002.
[38] L. Veiga and P. Ferreira, REPWEB: Replicated Web with Referential Integrity Proc. 18th ACM Symp. Applied Computing, Mar. 2003.
[39] S. Zdonik and D. Maier, Readings in Object-Oriented Database Systems. San Mateo, Calif.: Morgan-Kaufman, 1990.

Index Terms:
Middleware, replication, distributed garbage collection, security policies, mobile agents.
Paulo Ferreira, Lu? Veiga, Carlos Ribeiro, "OBIWAN: Design and Implementation of a Middleware Platform," IEEE Transactions on Parallel and Distributed Systems, vol. 14, no. 11, pp. 1086-1099, Nov. 2003, doi:10.1109/TPDS.2003.1247670
Usage of this product signifies your acceptance of the Terms of Use.