This thesis explores the issue of service deployment for SaaS providers or PaaS providers who need to host multiple composite SaaS applications which might share some common services based on the SOA methodology. The service deployment problem considered in this thesis is to determine which services should be deployed onto which virtual machines given a set of services, a collection of composite SaaS applications, and a particular number of virtual machines. The goal of service deployment is to minimize the response time of composite SaaS applications.
Most previous researches on service deployment and resource allocation focus on minimizing the inter-service communication costs. In this thesis, we propose an integrated approach to the service deployment problem which takes not only communication costs but also the potential parallelism among services into consideration. We developed two types of graphs to model the communication costs between services, Service Dependency Graph (SDG), and potential parallelism among services, Service Concurrence Graph (SCG), respectively. These two graphs are then integrated into a single Service Relationship Graph (SRG) and the service deployment problem is transformed into a minimum k-cut problem for solution. We conducted a series of simulation experiments to evaluate the proposed approach and compare it with several previous methods, FFD, GA, MC-BT. The experimental results show that our approach can achieve the shortest service response time for composite SaaS applications in both single application execution and execution of multiple online requests, leading to 40.6% performance improvement, compared to Random when CCR=1, in terms of average service response time.
As cloud computing emerges, software development and deployment based on the new models of SaaS and SOA are expected to bring a lot of benefits for both software developers
and users. Before the benefits can be realize, software service providers have to confront several technical challenges. Service deployment is one of the most critical issues for improving the QoS of composite SaaS applications. Our work in this thesis can contribute to the research and development on service deployment for the ever increasing composite SaaS applications.
Based on our work in this thesis, there are some promising future research directions requiring further investigation. The first is to take into consideration the issue of load balancing, balancing the totally required computation time of all deployed services on each (virtual) machine, when designing the service deployment algorithms. This is especially important for serving online requests. The second direction is about dynamic redeployment due to the time-varying workload commonly seen in real cloud environments. Finally, in this thesis, each service will be deployed on only one (virtual) machine. Another important research issue is to deal with the dynamic resource provisioning problem where each service can be deployed on more than one (virtual) machines to serve heavy workload. Determining the most appropriate amount of (virtual) machines to deploy each service according to the workload requirement is a crucial part for both maintaining acceptable QoS performance and minimizing the amount of resources used in order to reduce costs.
References
[1] R. Buyya, C. S. Yeo and S. Venugopal, “Market-oriented cloud computing: vision, hype, and reality for delivering IT services as computing utilities,” IEEE International Conference, 2008.
[2] P. Hofmann and D. Woods, “Cloud computing: The limits of public clouds for business applications,” Internet Computing, IEEE, vol. 14, pp. 90-93, 2010.
[3] W. Yi , M. B. Blake, “Service-oriented computing and Cloud computing: challenges and opportunities,” Internet Computing, IEEE, vol. 14, pp. 72-75, 2010.
[4] T. Phan, W.-S. Li, B. Furht, A. Escalante, “Vertical load distribution for cloud computing via multiple implementation options handbook of cloud computing,” Springer US, pp.
277-308, 2010.
[5] A. Khalid, “Cloud computing: applying issues in small business,” in Signal Acquisition and Processing, International Conference on ICSAP '10, pp. 278-281, 2010.
[6] J. N. Hoover and R. Martin, “Demystifying the cloud,” InformationWeek Research &
Reports, pp. 30-37, 2008.
[7] J. Junjie and, Z. Jian, “Research on open SaaS software architecture based on SOA,”
Proceedings of International Symposium on Computational Intelligence and Design (ISCID), pp. 144-147, 2010.
[8] The minimum k-cut problem in graph theory. Available: (2014.7) http://en.wikipedia.org/wiki/Minimum_k-cut
[9] The graph coloring problem in graph theory. Available: (2014.7) http://en.wikipedia.org/wiki/Graph_coloring
[10] Amazon Elastic Compute Cloud (Amazon EC2). Available: (2014.7) http://aws.amazon.com/ec2/
[11] Google. Google App Engine. Available: (2014.7)
[14] The Cloud Computing and Distributed Systems (CLOUDS) Laboratory, University of Melbourne, CloudSim: A framework for modeling and simulation of Cloud computing infrastructures and Services. Available: http://www.cloudbus.org/cloudsim/ (2014.7) [15] R. N. Calheiros, R. Ranjan, A. Beloglazov, C. A. F. De Rose, and R. Buyya, “CloudSim:
a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms,” Software: Practice and Experience, vol. 41, pp.
23-50, 2011.
[16] M. Mitchell, “An introduction to genetic algorithms,” A Bradford Book The MIT Press, fifth printing, 1999.
[17] J. Dong, X. Jin, H. Wang, Y. Li, P. Zhang and S. Cheng, “Energy-saving virtual machine placement in Cloud data centers,” 13th IEEE/ACM International Symposium on Cluster, Cloud, and Grid Computing, 2013.
[18] Fist Fit Decresing (FFD). Available: (2014.7) http://en.wikipedia.org/wiki/Bin_packing_problem
[19] A. M. Nakai, E. Madeira, and L. E. Buzato, “Load balancing for internet distributed services using limited redirection rates,” 5th Latin-American in Dependable Computing Symposium (LADC), pp. 156-165, 2011.
[20] M. Bramson, Y. Lu, and B. Prabhakar, “Randomized load balancing with general service
time distributions,” ACM SIGMETRICS international conference on Measurement and modeling of computer systems (SIGMETRICS), vol. 38, pp. 275-286, 2010.
[21] C. Graham, “Chaoticity on path space for a queueing network with selection of the shortest queue among several,” Journal of Applied Probability, vol. 37, pp. 192-211, 2000.
[22] E. Oppong, S. Khaddaj, H. E. Elariss, “Cloud computing: resource management and service allocation,” 12th International Symposium on Distributed Computing and Applications to Business, Engineering & Science, 2013.
[23] H. Yu and D. Wang, “System resource allocation algorithm for multi-tenant SaaS application,” International Conference on Cloud and Service Computing, 2011.
[24] M. Gusev, S. Ristov, G. Velkoski, M. Simjanoska, “Optimal resource allocation to host web services in Cloud,” IEEE Sixth International Conference on Cloud Computing, 2013.
[25] L. Ai, M. Tang and C. Fidge, “Resource allocation and scheduling of multiple composite web services in cloud computing using cooperative coevolution,” 18th international conference on Neural Information Processing (ICONIP), 2011.
[26] B. Y. Wu, C. H. Chi, Z. Chen, M. Gu, J. Sun, “Workflow-based resource allocation to optimize overall performance of composite services,” Future Generation Computer Systems, Volume 25, Issue 3, pp. 199-212, 2009.
[27] S. Ranjan, E. Knightly, “High-performance resource allocation and request redirection algorithms for web clusters,” IEEE Transactions on Parallel And Distributed Systems, Vol. 19, No. 9, 2008.
[28] S. Ranjan, R. Karrer, E. Knightly, “Wide area redirection of dynamic content by internet data centers,” Twenty-third AnnualJoint Conference of the IEEE Computer and
Communications Societies (INFOCOM), Vol. 2, 2004.
[29] R. Doyle, J. Chase, O. Asad, W. Jin, and A. Vahdat, “Model-based resource provisioning in a web service utility,” 4th conference on USENIX Symposium on Internet Technologies and Systems (USITS), Vol. 4, 2003.
[30] P. Shivam, S. Babu, and J. Chase, “Learning application models for utility resource planning,” IEEE International Conference on Autonomic Computing (ICAC), pp.
255-264, 2006.
[31] P. Padala, K. G. Shin, X. Zhu, M. Uysal, Z. Wang, S. Singhal, A. Merchant, K. Salem,
“Adaptive control of virtualized resources in utility computing environments,” 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems (Eurosys), 2007.
[32] J. Rao, X. Bu, C. Z. Xu, L. Wang, G. Yin, “VCONF: A reinforcement learning approach to virtual machines auto-configuration,” 6th International conference on Autonomic computing (ICAC), pp. 137-146, 2009.
[33] S. Ranjan, J. Rolia, Fu, H., Knightly, R, “QoS-driven server migration for internet data centers,” 10th International Workshop on Quality of Service, 2002.
[34] H. Z. Zhou, K. C. Huang, and F. J. Wang, “Dynamic resource provisioning for interactive workflow applications on Cloud computing platform,” Lecture Notes in Computer Science, Vol. 6083, pp. 115-125, 2011.
[35] C. H. Tsai, K. C. Huang, F. J. Wang, and C. H. Chen, “A distributed server architecture supporting dynamic resource provisioning for BPM-oriented workflow management systems,” Journal of Systems and Software,Vol. 83, Issue 8, pp. 1538-1552, 2010.
[36] E. Tejedor, J. Ejarque, F. Lordan, R. Rafanell, J. Alvarez, D. Lezzi, R. Sirvent and R. M.
Badia, “A Cloud-unaware programming model for easy development of composite services,” Third IEEE International Conference on Coud Computing Technology and
Science, 2011.
[37] R. Wang, Y. Zhang, S. Liu, L. Wu, X. Meng, “A dependency-aware hierarchical service model for SaaS and Cloud services,” IEEE International Conference on Services Computing, 2011.
[38] F. Casati, S. Ilnicki, L.-J. Jin, V. Krishnamoorthy, M.-C. Shan, “eFlow: a platform for developing and managing composite e-Services,” Academia/Industry Working Conference on Research Challenges, 2000.
[39] S. v. d. Burg and E. Dolstra, “A self-adaptive deployment framework for service-oriented systems,” 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, 2011.
[40] N. Laranjeiro and M. Vieira, “Deploying fault tolerant web service compositions,”
International Journal on Computer Systems Science & Engineering, pp. 23-34, 2008.
[41] N. Bobroff, A. Kochut and K. Beaty, “Dynamic placement of virtual machines for managing SLA violations,” 10th IFIP/IEEE International Symposium in Integrated Network Management, pp. 119-128, 2007.
[42] M. Wang, X. Meng and L. Zhang, “Consolidating virtual machines with dynamic bandwidth demand in data centers,” in INFOCOM, Proceedings IEEE, pp. 71-75, 2011.
[43] X. Meng, V. Pappas and L. Zhang, “Improving the scalability of data center networks with traffic-aware virtual machine placement,” IEEE INFOCOM, pp. 1-9, 2010.
[44] V. Mann, A. Kumar, P. Dutta, and S. Kalyanaraman, “VMFlow: leveraging VM mobility to reduce network power costs in data centers,” NETWORKING, pp. 198-211, 2011.
[45] O. Biran, A. Corradi, M. Fanelli, L. Foschini, A. Nus, D. Raz, and E. Silvera, “A stable network-aware VM placement for Cloud systems,” 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (ccgrid), pp. 498-506, 2012.
[46] B. Zhang, Z. Qian, W. Huang, X. Li and S. Lu, “Minimizing communication traffic in data centers with power-aware VM placement,” 6th International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing, 2012.
[47] S. Shahand, S. J. Turner, W. Cai, M. Khademi, “DynaSched: a dynamic web service scheduling and deployment framework for data-intensive Grid workflows,” International Conference on Computational Science, ICCS, p.p. 593-602, 2010.
[48] E. Juhnke, T. Dornemann, D. Bock, B. Freisleben, “Multi-objective scheduling of BPEL workflows in geographically distributed Clouds,” IEEE 4th International Conference on Cloud Computing, 2011.
[49] T. Verbelen, T. Stevens, F. D. Turck, B. Dhoedt, “Graph partitioning algorithms for optimizing software deployment in mobile cloud computing,” Future Generation Computer Systems 29, p.p.451-459, 2013.
[50] Z. Mao, J. Yang, Y. Shang, C. C. Liu and J. Chen, “A game theory of cloud service deployment,” IEEE 9th World Congress on Services, 2013.
[51] F. B. Charrada, N. Tebourski, S. Tata, S. Moalla, “Approximate placement of service-based applications in hybrid clouds,” IEEE 21st International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE), 2012.
[52] Y. Laili, F. Tao, L. Zhang, Y. Cheng, Y. Luo and B. R. Sarker, “A ranking chaos algorithm for dual scheduling of cloud service and computing resource in private cloud,”
Journal Computers in Industry, Volume 64, Issue 4, pp. 448-463, 2013.
[53] L. L.-S. Jose, M.-V. Rafael, S. M. Ruben, M. L. Ignacio, “Scheduling strategies for optimal service deployment across multiple clouds,” Future Generation Computer Systems, Vol. 29, Issue 6, pp. 1431-1441, 2013.
[54] F. Legillon, N. Melab, D. Renard, E.-G. Talbi, “Cost minimization of service deployment
in a public cloud environment,” IEEE 27th International Symposium on Parallel &
Distributed Processing Workshops and PhD Forum, 2013.
[55] T. Cucinotta and G. F. Anastasi, “A heuristic for optimum allocation of real-time service workflows,” IEEE International Conference on Service-Oriented Computing and Applications (SOCA), 2011.
[56] E. Yang, Y. Zhang, L. Wu, Y. Liu, S. Liu, “A hybrid approach to placement of tenants for service-based multi-tenant SaaS application,” IEEE Asia-Pacific Services Computing Conference, 2011.
[57] Q. Zhang, J. Xiao, E. G¨urses, M. Karsten and R. Boutaba, “Dynamic service placement in shared service hosting infrastructures,” Proceedings of the 9th IFIP TC 6 international conference on Networking, pp. 251-264, 2010.
[58] T. Liu, T. Lu, W. Wang, Q. Wang, Z. Liu, N. Gu and X. Ding, “SDMS-O: a service deployment management system for optimization in clouds while guaranteeing users’
QoS requirements,” Future Generation Computer Systems, Vol. 28, Issue 7, pp.
1100-1109, 2012.
[59] G. C. Veronica, I. P. Alonso, M. Marin, E. Feuestein, “Service deployment algorithms for vertical search engines,” 21st Euromicro International Conference on Parallel, Distribute, and Network-Based Processing, 2013.
[60] Z. I. M. Yusoh and M. Tang, “Composite SaaS placement and resource optimization in Cloud computing using evolutionary algorithms,” IEEE Fifth International Conference on Cloud Computing, 2012.
[61] Z. I. M. Yusoh and M. Tang, “A cooperative coevolutionary algorithm for the composite SaaS placement problem in the cloud,” 17th International Conference on Neural Information, 2010.
[62] M. Tang and Z. I. M. Yusoh, “A parallel cooperative co-evolutionary genetic algorithm for the composite SaaS placement problem in cloud computing,” 12th international conference on Parallel Problem Solving from Nature (PPSN), Vol. 2, pp. 225-234, 2012.
[63] Z. I. M. Yusoh, M. Tang and Senior Member, “A penalty-based genetic algorithm for the composite SaaS placement problem in the cloud,” IEEE World Congress on Computational Intelligence (WCCI), 2010.
[64] Z. I. M. Yusoh, M. Tang and Senior Member, “A penalty-based grouping genetic algorithm for multiple composite SaaS components clustering in cloud,” IEEE International Conference on Systems, Man and Cybernetics, 2012.
[65] Z. I. M. Yusoh, M. Tang and Senior Member, “Clustering composite SaaS components in cloud computing using a grouping genetic algorithm,” IEEE Congress on Evolutionary Computation, IEEE Computer Society, International Convention Centre, Brisbane, QLD, pp. 1727-1734, 2012.
[66] Service Oriented Architecture (SOA). Available: (2014.7) http://en.wikipedia.org/wiki/Service-oriented_architecture
[67] Business Process Execution Language (BPEL). Available: (2014.7) http://en.wikipedia.org/wiki/Business_Process_Execution_Language
[68] F. R. L. Cicerre, E. R. M. Madeira, L. E. Buzato, “A hierarchical process execution support for grid computing,” Concurrency and Computation: Practice and Experience, vol.18 no.6, pp. 581-594, 2006.
[69] M. Wieczorek, R. Prodan, A. Hoheisel, M. Wieczorek, R. Prodan, A. Hoheisel,
“Taxonomies of the Multi-Criteria Grid Workflow Scheduling Problem,” Grid middleware and services, pp. 237-264, 2008.
[70] W. Ahmed, Y. Wu, W. Zheng, “Response time based optimal web service selection,”
IEEE Transactions on Parallel and Distributed Systems, 2013
[71] O. Sinnen, “Task scheduling for parallel systems,” Book, Wiley-Interscience, 2007 [72] S. Jain, C. Swamy and K. Balaji, “Greedy algorithms for k-way graph partitioning,”
Source: CiteSeerX, Available: (2014.7).
[73] N. VydyanathanAn, S. Krishnamoorthy, G. Sabin, U. Catalyurek, T. Kurc, P. Sadayappan and J. Saltz, “Integrated approach for processor allocation and scheduling of Mixed-Parallel Applications,” International Conference on Parallel Processing (ICPP), 2006.
[74] M. Stoer and F. Wagner, “A simple min-cut algorithm,” Journal of the ACM, Vol. 44, No.4, pp. 585-591, July 1997.