Using Filtered Cartesian Flattening and Microrebooting to Build Enterprise Applications with Self-adaptive Healing

  • Authors:
  • J. White;B. Dougherty;H. D. Strowd;D. C. Schmidt

  • Affiliations:
  • Department of Electrical Engineering and Computer Science, Vanderbilt University, Nashville, USA TN;Department of Electrical Engineering and Computer Science, Vanderbilt University, Nashville, USA TN;Institute for Software Research, Carnegie Mellon University, Pittsburgh, USA;Department of Electrical Engineering and Computer Science, Vanderbilt University, Nashville, USA TN

  • Venue:
  • Software Engineering for Self-Adaptive Systems
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Building enterprise applications that can self-adapt to eliminate component failures is hard. Existing approaches for building adaptive applications exhibit significant limitations, such as requiring developers to manually handle healing side-effects, such as lock release, thread synchronization, and transaction cancellation. Moreover, these techniques require developers to write the complex recovery logic needed to self-adapt without exceeding resource constraints. This paper provides two contributions to R&D on self-adaptive applications. First, it describes a microrebooting technique called Refresh that uses (1) feature models and a heuristic algorithm to derive a new and correct application configuration that meets resource constraints and (2) an application's component container to shutdown the failed subsystems and reboot the subsystem with the new component configuration. Second, we present results from experiments that evaluate how fast Refresh can adapt an enterprise application to eliminate failed components. These results show that Refresh can reconfigure and reboot failed application subsystems in approximately 150ms. This level of performance enables Refresh to significantly improve enterprise application recovery time compared to standard system or application container rebooting.