DR-OSGi: hardening distributed components with network volatility resiliency

  • Authors:
  • Young-Woo Kwon;Eli Tilevich;Taweesup Apiwattanapong

  • Affiliations:
  • Department of Computer Science, Virginia Tech;Department of Computer Science, Virginia Tech;National Electronics and Computer Technology Center

  • Venue:
  • Middleware'09 Proceedings of the ACM/IFIP/USENIX 10th international conference on Middleware
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Because middleware abstractions remove the need for lowlevel network programming, modern distributed component systems expose network volatility (i.e., frequent but intermittent outages) as application-level exceptions, requiring custommanual 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-OSGi1. 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.