A Decentralized Redeployment Algorithm for Improving the Availability of Distributed Systems

In distributed and mobile environments, the connections among the hosts on which a software system is running are often unstable. As a result of connectivity losses, the overall availability of the system decreases. The distribution of software components onto hardware nodes (i.e., the system's deployment architecture) may be ill-suited for the given target hardware en-vironment and may need to be altered to improve the software system's avail-ability. Determining a software system's deployment that will maximize its availability is an exponentially complex problem. Although several polyno-mial-time approximative techniques have been developed recently, these techniques rely on the assumption that the system's deployment architecture and its properties are accessible from a central location. For these reasons, the existing techniques are not applicable to an emerging class of decentralized systems marked by the limited system wide knowledge and lack of central-ized control. In this paper we present an approximative solution for the rede-ployment problem that is suitable for decentralized systems and assess its performance.

[1]  David K. Gifford,et al.  Weighted voting for replicated data , 1979, SOSP '79.

[2]  Eugene Miya,et al.  On "Software engineering" , 1985, SOEN.

[3]  Barry W. Johnson Design & analysis of fault tolerant digital systems , 1988 .

[4]  Chris J. Walter,et al.  The MAFT Architecture for Distributed Fault Tolerance , 1988, IEEE Trans. Computers.

[5]  R. Ramaswami,et al.  Book Review: Design and Analysis of Fault-Tolerant Digital Systems , 1990 .

[6]  John Lane,et al.  IEEE Standard Computer Dictionary: Compilation of IEEE Standard Computer Glossaries , 1991 .

[7]  Tad Hogg,et al.  Spawn: A Distributed Computational Economy , 1992, IEEE Trans. Software Eng..

[8]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .

[9]  Weijia Jia,et al.  An efficient and reliable group multicast protocol , 1995, Proceedings ISADS 95. Second International Symposium on Autonomous Decentralized Systems.

[10]  Steven A. Demurjian,et al.  A Binary Integer Programming Model for Optimal Object Distribution , 1998, OPODIS.

[11]  Peyman Oreizy,et al.  Architecture-based runtime software evolution , 1998, Proceedings of the 20th International Conference on Software Engineering.

[12]  Galen C. Hunt,et al.  The Coign automatic distributed partitioning system , 1999, OSDI '99.

[13]  Gian Pietro Picco,et al.  Understanding code mobility , 1998, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[14]  Jon B. Weissman Fault Tolerant Wide-Area Parallel Computing , 2000, IPDPS Workshops.

[15]  B. Hardekopf,et al.  A Decentralized Voting Algorithm for Increasing Dependability in Distributed Systems , 2000 .

[16]  David C. Parkes,et al.  An auction-based method for decentralized train scheduling , 2001, AGENTS '01.

[17]  David Garlan,et al.  Using Gauges for Architecture-Based Monitoring and Adaptation , 2001 .

[18]  Israel Ben-Shaul,et al.  A programming model and system support for disconnected-aware applications on resource-constrained devices , 2002, ICSE '02.

[19]  Anne-Marie Kermarrec,et al.  Peer-to-Peer Membership Management for Gossip-Based Protocols , 2003, IEEE Trans. Computers.

[20]  Marija Mikic-Rakic,et al.  Software Architectural Support for Handheld Computing , 2003, Computer.

[21]  Marija Mikic-Rakic,et al.  Adaptable Architectural Middleware for Programming-in-the-Small-and-Many , 2003, Middleware.

[22]  Tammy Noergaard,et al.  Embedded Software , 2009, Encyclopedia of Biometrics.

[23]  Vijay Karamcheti,et al.  Constrained component deployment in wide-area networks using AI planning techniques , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[24]  Sam Malek,et al.  A Tailorable Environment for Assessing the Quality of Deployment Architectures in Highly Distributed Settings , 2004, Component Deployment.

[25]  Marija Mikic-Rakic,et al.  Software Architectural Support for Disconnected Operation in Highly Distributed Environments , 2004, CBSE.

[26]  Marija Mikic-Rakic,et al.  A style-aware architectural middleware for resource-constrained, distributed systems , 2005, IEEE Transactions on Software Engineering.

[27]  Sam Malek,et al.  Improving Availability in Large, Distributed Component-Based Systems Via Redeployment , 2005, Component Deployment.