Abstract
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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Bastarrica, M.C., et al.: A Binary Integer Programming Model for Optimal Object Distribu-tion. In: 2nd Int’l. Conf. on Principles of Distributed Systems, Amiens, France (December 1998)
Fuggetta, A., Picco, G.P., Vigna, G.: Understanding Code Mobility. IEEE Trans. on Soft-ware Engineering (May 1998)
Ganesh, A.J., Kermarrec, A., Massoulie, L.: Peer-to-Peer Membership Management for Gos-sip-Based Protocols. IEEE Transactions on Computers 52, 139–149 (2003)
Garlan, D., et al.: Using Gauges for Architecture-Based Monitoring and Adaptation. In: Work-ing Conf. on Complex and Dynamic Systems Arch., Brisbane, Australia (December 2001)
Gifford, D.K.: Weighted Voting for Replicated Data. In: Proceedings of the 7th Symposium on Operating System Principles, New York, pp. 150–162 (1979)
Hardekopf, B., et al.: A Decentralized Voting Algorithm for Increasing Dependability inDistributed Systems. In: 5th World Multi- Conference on Systemic, Cybernetics and Informat-ics, (SCI 2001) (2001)
Hunt, G., Scott, M.: The Coign Automatic Distributed Partitioning System. In: 3rd Sympo-sium on Operating System Design and Implementation, New Orleans, LA (February 1999)
IEEE Standard Computer Dictionary: A Compilation of IEEE Standard Computer Glossaries, New York, NY (1990)
Jia, W., Kaiser, J., Nett, E.: An Efficient and Reliable Group Multicast Protocol. In: Second International Symposium on Autonomous Decentralized Systems. Phoenix, Arizona (April 1995)
Johnson, B.: Design and Analysis of Fault Tolerant Digital Systems. Addison-Wesley, Reading (1989)
Kichkaylo, T., et al.: Constrained Component Deployment in Wide-Area Networks Using AIPlanning Techniques. In: Int’l. Parallel and Distributed Processing Symposium (April 2003)
Kieckhafer, R., Walter, C., Finn, A., Thambidurai, P.: The MAFT Architecture for Distributed Fault Tolerance. IEEE Transactions On Computers 37(4), 398–405 (1988)
Kreps, D.: Game Theory and Economic Modeling. Clarendon Press, Oxford (1990)
Lee, E.A.: Embedded software. Advances in Computers 56 (2002)
Malek, S., Mikic-Rakic, M., Medvidovic, N.: Prism-MW: A Style-Aware ArchitecturalMiddleware for Resource Constrained, Distributed Systems. IEEE Trans. on Software Engineering 31(3) (March 2005)
Medvidovic, N., et al.: Software Architectural Support for Handheld Computing. IEEE Computer (September 2003)
Mikic-Rakic, M., et al.: A Tailorable Environment for Assessing the Quality of DeploymentArchitectures in Highly Distributed Settings. In: Emmerich, W., Wolf, A.L. (eds.) CD 2004. LNCS, vol. 3083, pp. 1–17. Springer, Heidelberg (2004)
Mikic-Rakic, M., et al.: Improving Availability in Large, Distributed, Component-BasedSystems via Redeployment. In: Dearle, A., Eisenbach, S. (eds.) CD 2005. LNCS, vol. 3798, pp. 83–98. Springer, Heidelberg (2005)
Mikic-Rakic, M., Medvidovic, N.: Software Architectural Support for DisconnectedOperation in Highly Distributed Environments. In: International Symposium on Component-based Software Engineering (CBSE7), Edinburgh, UK (May 2003)
Oreizy, P., et al.: Architecture-Based run-time Software Evolution. In: ICSE 1998, Kyoto, Japan (April 1998)
Russell, S., Norvig, P.: Artificial Intelligence: A Modern Approach. Prentice Hall, Englewood Cliffs (1995)
Tanenbaum, A.: Computer Networks. Prentice Hall, Englewood Cliffs
Waldpurger, C.A., et al.: Spawn. A Distributed Computational Economy. IEEE Trans. on Software Engineering (February 1992)
Weissman, J.: Fault-Tolerant Wide-Area Parallel Computing. In: IPDPS 2000 Workshop, Can-cun, Mexico (May 2000)
Weinsberg, Y., Ben-Shaul, I.: A Programming Model and System Support for Discon-nected-Aware Applications on Resource-Constrained Devices. In: ICSE 2002, Orlando, FL (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Malek, S., Mikic-Rakic, M., Medvidovic, N. (2005). A Decentralized Redeployment Algorithm for Improving the Availability of Distributed Systems. In: Dearle, A., Eisenbach, S. (eds) Component Deployment. CD 2005. Lecture Notes in Computer Science, vol 3798. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11590712_8
Download citation
DOI: https://doi.org/10.1007/11590712_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-30517-0
Online ISBN: 978-3-540-32281-8
eBook Packages: Computer ScienceComputer Science (R0)