Font Size: a A A

Load Balancing Approach For Multi-tenant SaaS Application

Posted on:2012-04-13Degree:DoctorType:Dissertation
Country:ChinaCandidate:D S WangFull Text:PDF
GTID:1228330467482762Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
With the rapid development of service computing and cloud computing, Software as a Service (aka, SaaS) has been popular as a new software delivery pattern in both industry and academia. SaaS delivers software functionality as services, and provides customized service through multi-tenancy to users with different requirement in a Pay-as-You-Go way. Most multi-tenant SaaS applications support large amount of users. When many users are accessing the application in a very short time interval, load balancing approach which ensures the scalability and QoS of the SaaS has become an important problem in multi-tenant SaaS application.Load balancing algorithms and implementation technologies are long time research topics for researchers in various fields like distributed systems and Web applications. However, multi-tenant SaaS applications provide services of different functionalities with different QoS levels to users in a Pay-as-You-Go way. Current load balancing approaches with single server load model and single load dispatching policy do not consider the Pay-as-You-Go requirement of SaaS application, thus they are not able to ensure the differentiate QoS level of tenants or to optimize load dispatching according to the system resource requirement based on the functionality of execution request. As a result, current load balancing approaches can not effectively support the scalability and the performance of multi-tenant SaaS applications.To solve this problem, this paper proposes a load balancing approach for multi-tenant SaaS application. Based on the analysis and definition of tenant user requirement, this paper puts forward a user requirement supporting system resource configuration method, and researches server load index modeling, requests dispatching for stateless SaaS applications, data allocation method and requests dispatching for stateful SaaS applications which are important components of the proposed load balancing mechanism.First, to meet the requirement of multi-tenant SaaS application with Pay-as-You-Go feature, this paper proposes a load balancing architecture for multi-tenant SaaS application. The objective, the framework, the key techniques and the basic structure of the load balancing mechanism are discussed. The implementation foundations of the tenant user requirement model, the distributed data storage pattern and the single instance software architecture are proposed.Second, to support different QoS level of different tenants for users with different non-functional requirements, this paper proposes a user requirement supporting system resource allocation method. The goal of system resource allocation is analyzed, and the mathematical model of the problem is put forward. Then2algorithms to solve the problem are proposed:a heuristic algorithm and a genetic algorithm. Through experimental results of the solution quality and execution time, we discussed the selection policy between the2algorithms.Third, to achieve load balancing for stateless SaaS application, this paper proposes a tenant functional type based server load model, which classifies tenants according to their functional types and corresponding system resource consumptions based on experimental results. Then a tenant user requirement based load balancing method which is built on the system resource allocation method and the server load model is put forward. The experimental result shows that tenant user requirement based load balancing method ensures the tenants to provider service with QoS level as promised, and improves the overall system performance as wellFourth, to achieve load balancing for stateful SaaS application, this paper proposes business transaction with data operation attributes, analyzes data allocation problem based on data operation attributes of tenants. Then a tenant business transaction oriented load balancing mechanism is proposed based on the server load adjustment model based on business transactions data operation cost and puts forward a business transaction data operation costs based requests patch dispatching algorithm. Experimental result shows that the mechanism mentioned above improves the performance of stateful SaaS application.Fifth, with the techniques mentioned above, this paper designs and implements a prototype system of the load balancing mechanism in multi-tenant SaaS application. The load balancing system is realized in multi-tenant SaaS application execution environment. The environment and the design and implementation of the SaaS execution agent are introduced. Then the framework of the load balancing system is put forward. The functionality, process, user interface and the relationship of the modules are described.
Keywords/Search Tags:cloud computing, SaaS, multi-tenancy, scalability, load balancing
PDF Full Text Request
Related items