Title
Designing Distributed Applications Using a Phase-Aware, Reversible System
Abstract
Distributed applications will break down or perform poorly when there are too many failures (of nodes and/or communication) in the operating environment. Failures happen frequently on edge networks including mobile and ad hoc networks, but are also unexpectedly common on the general Internet. We propose an approach for designing stress-aware distributed applications that can take environment stress into account to improve their behaviour. We give a concrete illustration of the approach by targeting applications built on top of a Structured Overlay Network (SON). Our underlying SON is Reversible and Phase-Aware. A system is Reversible if the set of operations it provides is a function (called the reversibility function) of its current stress (i.e., all perturbing effects of the environment, including faults), and does not depend on past stress. Reversibility generalizes standard fault tolerance with nested fault models. When the fault rate goes outside the scope of one model, then it is still inside the next one. In order to approximate the reversibility function we introduce the concept of Phase, which is a per-node property that gives a qualitative measure of the available system operations under the current stress. Phase can be determined with no extra distributed operations. We show that making the phase available to applications allows them to improve their behavior in environments with high and variable stress. We propose a Phase API and we design an application, a collaborative graphic editor, that takes advantage of phase to enhance self-adaptation and self-optimization properties. Furthermore, we analyze how the application itself can achieve reversibility in the application level semantics. Using the phase of the underlying node, the application provides an indication to the user regarding its behavior. Thus, the application has improved behaviour with respect to the user, i.e., the user can better understand and decide what to do in a high-stress environment.
Year
DOI
Venue
2017
10.1109/IEEE.EDGE.2017.16
2017 IEEE International Conference on Edge Computing (EDGE)
Keywords
DocType
ISBN
phase,high-stress environment,reversible system,phase-aware application
Conference
978-1-5386-2018-2
Citations 
PageRank 
References 
0
0.34
0
Authors
4
Name
Order
Citations
PageRank
Ruma R. Paul131.39
Jérémie Melchior2774.74
Peter Van Roy361767.19
Vladimir Vlassov422034.73