Abstract
Because middleware abstractions remove the need for low- level network programming, modern distributed component systems expose network volatility (i.e., frequent but intermittent outages) as application-level exceptions, requiring custom manual handling. Unfortunately, handling network volatility effectively is nontrivial—the programmer must consider not only the specifics of the application, but also of its target deployment environment. As a result, to make a distributed component application resilient against network volatility, programmers commonly create custom solutions that are ad-hoc, tedious, and error-prone. In addition, these solutions are difficult to customize for different networks and to reuse across different applications.
To address these challenges, this paper presents a systematic approach to hardening distributed components to become resilient against network volatility. Specifically, we present an extensible framework for enhancing a distributed component application with the ability to continue executing in the presence of network volatility. To accommodate the diverse hardening needs of various combinations of networks and applications, our framework not only provides a collection of hardening strategies, but also simplifies the creation of new strategies. Our reference implementation, built on top of the R-OSGi infrastructure, is called DR-OSGi. DR-OSGi imposes a very low overhead on the hardened applications, requires no changes to their source code, and is plug-in extensible. Applying DR-OSGi to several realistic distributed applications has hardened them with resiliency to effectively withstand network volatility.
Keywords
Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
CCA-Forum, http://www.cca-forum.org/
Net:Netem, http://www.linuxfoundation.org/en/Net:Netem/
Aldrich, J., Sazawal, V., Chambers, C., Notkin, D.: Language support for connector abstractions. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743. Springer, Heidelberg (2003)
The AspectJ project, http://www.eclipse.org/aspectj/
Benson, D.A., Karsch-Mizrachi, I., Lipman, D.J., Ostell, J., Rapp, B.A., Wheeler, D.L.: Genbank. Nucleic Acids Res. 30, 17–20 (2002)
Dahlin, M., Chandra, B., Gao, L., Khoja, A., Nayate, A., Razzaq, A., Sewani, A.: Using mobile extensions to support disconnected services. Technical Report CS-TR-00-20, University of Texas at Austin (2000)
Fullmer, C.L., Garcia-Luna-Aceves, J.: Solutions to hidden terminal problems in wireless networks. In: Proceedings ACM SIGCOMM, pp. 39–49 (1997)
Herrero, J.L., Sanchez, F., Sanchez, O., Toro, M.: Fault tolerance AOP approach. In: Workshop on AOP and Separation of Concerns, pp. 44–52 (2001)
Hull, B., Jamieson, K., Balakrishnan, H.: Mitigating congestion in wireless sensor networks. In: ACM SenSys 2004, Baltimore, MD (November 2004)
Jain, K., Padhye, J., Padmanabhan, V.N., Qiu, L.: Impact of interference on multi-hop wireless network performance. In: MobiCom 2003: Proceedings of the 9th annual international conference on Mobile computing and networking, pp. 66–80. ACM, New York (2003)
JBoss AOP, http://www.jboss.org/jbossaop
Joseph, A.D., de Lespinasse, A.F., Tauber, J.A., Gifford, D., Kaashoek, M.F.: Rover: A toolkit for mobile information access. In: Proceedings of the Fifteenth Symposium on Operating Systems Principles (December 1995)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)
Knopflerfish - open source OSGi, http://www.knopflerfish.org
Microsoft. Component Object Model (COM)
Mikic-Rakic, M., Medvidovic, N.: A classification of disconnected operation techniques. In: Proceedings of the 32nd EUROMICRO Conference on Software engineering and Advanced Applications (EUROMICRO-SEAA 2006) (2006)
Noble, B.D., Sayanarayanan, M., Narayanan, D., Tilton, J.E., Flinn, J., Walker, K.R.: Agile application-aware adaptation for mobility. In: Proceedings of the 16th ACM Symposium on Operating Systems Principles (October 1997)
Object Management Group. The common object request broker: Architecture and specification version 3.0 (July 2003), http://doc.ece.uci.edu/CORBA/formal/02-06-33.pdf
Object Management Group. The CORBA component model specification. Specification, Object Management Group (2006)
OSGi Alliance. OSGi release 4.1 specification. Specification (2007)
Polze, A., Schwarz, J., Malek, M.: Automatic generation of fault-tolerant CORBA-services. In: Haverkort, B.R., Bohnenkamp, H.C., Smith, C.U. (eds.) TOOLS 2000. LNCS, vol. 1786. Springer, Heidelberg (2000)
Rellermeyer, J.S., Alonso, G.: Concierge: a service platform for resource-constrained devices. In: The 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007, pp. 245–258 (2007)
Rellermeyer, J.S., Alonso, G., Roscoe, T.: R-OSGi: Distributed applications through software modularization. In: Cerqueira, R., Campbell, R.H. (eds.) Middleware 2007. LNCS, vol. 4834, pp. 1–20. Springer, Heidelberg (2007)
Sadjadi, S.M., McKinley, P.K.: ACT: An adaptive CORBA template to support unanticipated adaptation. In: Proceedings of the 24th International Conference on Distributed Computing Systems (ICDCS 2004), pp. 74–83 (2004)
Smith, T., Waterman, M.: Identification of common molecular subsequences. J. Mol. Biol. 147, 195–197 (1981)
Spring Framework, http://www.springsource.org/
Tambe, S., Dabholkar, A., Balasubramanian, J., Gokhale, A.: Automating middleware specializations for fault tolerance. In: Proceedings of the International Symposium on Object/component/service-oriented Real-time distributed Computing, ISORC 2009 (March 2009)
Weinsberg, Y., Ben-Shaul, I.: A programming model and system support for disconnected-aware applications on resource-constrained devices. In: Proceedings of the 24th International Conference on Software Engineering, Orlando, Florida, May 2002, pp. 374–384 (2002)
Wuyts, K., Scandariato, R., Claeys, G., Joosen, W.: Hardening XDS-based architectures. In: ARES 2008: Proceedings of the 2008 Third International Conference on Availability, Reliability and Security, Washington, DC, USA, pp. 18–25. IEEE Computer Society, Los Alamitos (2008)
Zhang, M., Wolff, R.: Crossing the digital divide: cost-effective broadband wireless access for rural and remote areas. IEEE Communications Magazine 42(2), 99–105 (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 IFIP International Federation for Information Processing
About this paper
Cite this paper
Kwon, YW., Tilevich, E., Apiwattanapong, T. (2009). DR-OSGi: Hardening Distributed Components with Network Volatility Resiliency. In: Bacon, J.M., Cooper, B.F. (eds) Middleware 2009. Middleware 2009. Lecture Notes in Computer Science, vol 5896. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-10445-9_19
Download citation
DOI: https://doi.org/10.1007/978-3-642-10445-9_19
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-10444-2
Online ISBN: 978-3-642-10445-9
eBook Packages: Computer ScienceComputer Science (R0)