DR-OSGi: Hardening Distributed Components with Network Volatility Resiliency
- Cite this paper as:
- 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
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.