A Graph-based Approach for Deploying Component-based Applications into Channel-based Distributed Environments
Abstract
With significant advances in software development technologies, it is now possible to have complex software applications, which include a large number of heterogeneous software components distributed over a large network of computers with different computational capabilities. To run such applications, their components must be instantiated on proper hardware resources in their target environments so that user requirements and constraints are also met. This process is called software deployment. However, this process is often challenging for large, distributed, component-based applications with many constraints and requirements. This article presents a graph-based deployment approach that does the deployment with respect to the communication resources required by application components and communication resources available on the hosts in the target environment. In our approach, component-based applications and distributed environments are modeled with the help of graphs. Deployment of an application is then defined as the mapping of the application graph to the target environment graph. This article further discusses how this mapping could be done to minimize the cost and to maximize the reliability of deployments.
Keywords
References
A. Heydarnoori, F. Mavaddat, and F. Arbab, "Deploying loosely coupled, component-based applications into distributed environments," in Proceedings of the 13th IEEE International Symposium and Workshop on Engineering of Computer Based Systems. IEEE Computer Society, 2006.
A. Heydarnoori and F. Mavaddat, "Reliable deployment of component-based applications into distributed environments," in Proceedings of the 3rd International Conference on Information Technology: New Generations. IEEE Computer Society, 2006, pp. 52–57.
A. Heydarnoori, Deploying Component-based Applications: Tools and Techniques, ser. Studies in Computational Intelligence. Springer, 2008, vol. 253, pp. 29–42.
A. Heydarnoori and F. Mavaddat, "Caspian: A QoS-aware deployment approach for channel-based component-based applications," David R. Cheriton School of Computer Science, University of Waterloo, Tech. Rep. CS-2006-39, 2006.
F. Arbab, "Reo: A channel-based coordination model for component composition," Mathematical Structures in Computer Science, vol. 14, no. 3, pp. 329–366, 2004.
http://dx.doi.org/10.1017/S0960129504004153
F. Arbab and F. Mavaddat, "Coordination through channel composition," in Coordination Models and Languages, ser. Lecture Notes in Computer Science. Springer, 2002, vol. 2315, pp. 275–297.
C.-a. Sun, R. Rossing, M. Sinnema, P. Bulanov, and M. Aiello, "Modeling and managing the variability of Web service-based systems," Journal of Systems and Software, vol. 83, no. 3, pp. 502–516, 2010.
http://dx.doi.org/10.1016/j.jss.2009.10.011
R. Schollmeier, "A definition of peer-to-peer networking for the classification of peer-to-peer architectures and applications," in Proceedings of the First International Conference on Peer-to-Peer Computing, Aug. 2001, pp. 101–102.
R. Hassin and A. Levin, "A better-than-greedy approximation algorithm for the minimum set cover problem," SIAM Journalon on Computing, vol. 35, pp. 189–200, July 2005.
http://dx.doi.org/10.1137/S0097539704444750
T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms, 2nd ed. MIT Press, 2001. M. R. Lyu, Handbook of Software Reliability Engineering. IEEE Computer Society Press and McGraw-Hill, 1996.
E. Dahlhaus, D. S. Johnson, C. H. Papadimitriou, P. D. Seymour, and M. Yannakakis, "The complexity of multiterminal cuts," SIAM Journalon on Computing, vol. 23, pp. 864–894, August 1994.
http://dx.doi.org/10.1137/S0097539792225297
G. Calinescu, H. Karloff, and Y. Rabani, "An improved approximation algorithm for multiway cut," in Proceedings of the thirtieth annual ACM symposium on Theory of computing. ACM, 1998, pp. 48–52.
V. V. Vazirani, Approximation Algorithms, 2nd ed. Springer, 2002.
Full Text: PDF


