[acm press the first acm/sigevo summit - shanghai, china (2009.06.12-2009.06.14)] proceedings of the...

4
Cloud Service and Service Selection Algorithm Research Wenying Zeng School of Computer Science and Engineering, South China University of Technology; Guangdong Institute of Science and Technology Guangzhou 510640, China [email protected] Yuelong Zhao School of Computer Science and Engineering, South China University of Technology Guangzhou 510640, China [email protected] Junwei Zeng Chongqing University of Posts and Telecommunications Chongqing 400065, China [email protected] ABSTRACT This paper describes the cloud service architecture and key technologies for service selection algorithm. Cloud computing is a hot topic on software and distributed computing based on Internet, which means users can access storages and applications from remote servers by web browsers or other fixed or mobile terminals. Because the constrained resources of fixed or mobile terminals, cloud computing will provide terminals with powerful complementation resources to acquire complicated services. The paper discusses the cloud service architecture and key algorithms about service selection with adaptive performances and minimum cost. The cloud service architecture is reasonable and the proposed service selection algorithms are available, scalable, and adaptive to different types of environments of services and clients. Categories and Subject Descriptors H.3.5 [Information Storage and Retrieval]: Online Information Services – commercial services, data sharing, web-based services. General Terms Algorithms, Management, Measurement, Performance, Design, Economics, Reliability, Theory. Keywords Cloud Service, Cloud Computing, Architecture, Service Selection, Two-step Algorithm. 1. INTRODUCTION The rapid progress in cloud computing gradually changes the distribution and maintenance mode of software and application. Furthermore, the hardware vendors will suffer from the conversion of information products, for people may only need basic devices to connect with the Internet and can access the boundless powerful resources and services from remote servers. It is both a huge challenge and an opportunity to mobile pervasive computing. Cloud computing is actually cloud service to users or clients which means dynamic, light, low cost, transparent and reliable and privacy remote service to some extent. Cloud service has more widely meaning in the view of costs and gains. In the future, there will be many services available from the service clouds or computing cloud, and how to select the optimum service will be a challenge problem, which is just our motivation and contribution to this research. The rest of this paper is organized as follows. Section 2 illustrates related work. Section 3 proposes the architecture of cloud service. Section 4 discusses cloud service behavior mode. Section 5 puts forward the two-step service selection algorithm and analyzes the availability and scalability of the service selection algorithms. Section 6 makes a conclusion. 2. RELATED WORK T. V. Raman [1] presented a usage/delivery model that the application logic along with user data resides in the network cloud. Cloud computing [2] is similar to on-demand computing, software as a service, or the Internet as platform. Cloud computing provides software or application services from remote instead from locality. The practical cases of cloud computing are word process for the web(Google Docs, Adobe Buzzword, Photoshop Express, etc.), enterprise computing in the cloud(Salesforce.com), IBM Blue Cloud, Amazon S3 storage cloud, EC3, etc. The cloud OS include eyeOS, AIR (formerly Apollo), OpenLaszlo, etc. Cloud computing [3] builds on decades of research in virtualization, distributed computing, utility computing, networking, web, and software services. The document [4] presented service cloud to integrate and extend distributed system architecture. A cloud-based infrastructure [5] includes cloud-based storage services, cloud-based data services, and cloud-based compute services. Clouds are different form grids [6], for the cloud came out of the Web 2.0 mindset, while grid out of the cooperation computing at simplicity. There are three types of cloud manifestations, i.e. very large-scale offerings by vendors, centers with many hardware by good natural connectivity, and companies with large IT departments that will create their own cloud (such as Intel, Boeing, and eBay). Cloud service is the expanded term to cloud computing. Cloud service is focused on the server side service mode and client side service selection method about the gain from cloud computing. 3. ARCHITECTURE OF CLOUD SERVICE The cloud service for mobile pervasive computing includes cloud service architecture, service method and procedure (request for- ward/process/selection/return), which involves server side and client side. As a service-oriented architecture, cloud service can be divided into hierarchical model based on its service types provided for clients. We discuss some related aspects about the server side and client side. Copyright is held by the author/owner(s). GEC'09, June 12–14, 2009, Shanghai, China. ACM 978-1-60558-326-6/09/06. 1045

Upload: junwei

Post on 13-Dec-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Cloud Service and Service Selection Algorithm ResearchWenying Zeng

School of Computer Science and Engineering,

South China University of Technology; Guangdong Institute of Science and

Technology Guangzhou 510640, China

[email protected]

Yuelong Zhao School of Computer Science and

Engineering, South China University of Technology

Guangzhou 510640, China

[email protected]

Junwei Zeng Chongqing University of Posts and

Telecommunications Chongqing 400065, China

[email protected]

ABSTRACT This paper describes the cloud service architecture and key technologies for service selection algorithm. Cloud computing is a hot topic on software and distributed computing based on Internet, which means users can access storages and applications from remote servers by web browsers or other fixed or mobile terminals. Because the constrained resources of fixed or mobile terminals, cloud computing will provide terminals with powerful complementation resources to acquire complicated services. The paper discusses the cloud service architecture and key algorithms about service selection with adaptive performances and minimum cost. The cloud service architecture is reasonable and the proposed service selection algorithms are available, scalable, and adaptive to different types of environments of services and clients.

Categories and Subject Descriptors H.3.5 [Information Storage and Retrieval]: Online Information Services – commercial services, data sharing, web-based services.

General Terms Algorithms, Management, Measurement, Performance, Design, Economics, Reliability, Theory.

Keywords Cloud Service, Cloud Computing, Architecture, Service Selection, Two-step Algorithm.

1. INTRODUCTION The rapid progress in cloud computing gradually changes the distribution and maintenance mode of software and application. Furthermore, the hardware vendors will suffer from the conversion of information products, for people may only need basic devices to connect with the Internet and can access the boundless powerful resources and services from remote servers. It is both a huge challenge and an opportunity to mobile pervasive computing. Cloud computing is actually cloud service to users or clients which means dynamic, light, low cost, transparent and reliable and privacy remote service to some extent. Cloud service has more widely meaning in the view of costs and gains. In the future, there will be many services available from the service clouds or computing cloud, and how to select the optimum service will be a challenge problem, which is just our motivation and contribution to this research.

The rest of this paper is organized as follows. Section 2 illustrates related work. Section 3 proposes the architecture of cloud service. Section 4 discusses cloud service behavior mode. Section 5 puts forward the two-step service selection algorithm and analyzes the availability and scalability of the service selection algorithms. Section 6 makes a conclusion.

2. RELATED WORK T. V. Raman [1] presented a usage/delivery model that the application logic along with user data resides in the network cloud.

Cloud computing [2] is similar to on-demand computing, software as a service, or the Internet as platform. Cloud computing provides software or application services from remote instead from locality. The practical cases of cloud computing are word process for the web(Google Docs, Adobe Buzzword, Photoshop Express, etc.), enterprise computing in the cloud(Salesforce.com), IBM Blue Cloud, Amazon S3 storage cloud, EC3, etc. The cloud OS include eyeOS, AIR (formerly Apollo), OpenLaszlo, etc. Cloud computing [3] builds on decades of research in virtualization, distributed computing, utility computing, networking, web, and software services. The document [4] presented service cloud to integrate and extend distributed system architecture.

A cloud-based infrastructure [5] includes cloud-based storage services, cloud-based data services, and cloud-based compute services. Clouds are different form grids [6], for the cloud came out of the Web 2.0 mindset, while grid out of the cooperation computing at simplicity. There are three types of cloud manifestations, i.e. very large-scale offerings by vendors, centers with many hardware by good natural connectivity, and companies with large IT departments that will create their own cloud (such as Intel, Boeing, and eBay). Cloud service is the expanded term to cloud computing. Cloud service is focused on the server side service mode and client side service selection method about the gain from cloud computing.

3. ARCHITECTURE OF CLOUD SERVICE The cloud service for mobile pervasive computing includes cloud service architecture, service method and procedure (request for-ward/process/selection/return), which involves server side and client side. As a service-oriented architecture, cloud service can be divided into hierarchical model based on its service types provided for clients. We discuss some related aspects about the server side and client side.

Copyright is held by the author/owner(s). GEC'09, June 12–14, 2009, Shanghai, China. ACM 978-1-60558-326-6/09/06.

1045

3.1 Hierarchical Model of Cloud Service Cloud service can provides all sorts of service from hardware (infrastructure) to storage, data, software, application, etc. The hierarchical model of cloud service can be represented as Figure 1.

Application service

Software service

Data service

Storage service

Infrastructure service

Figure 1. Hierarchical model of cloud service. The cloud service can be taken as an ecosystem made up of producers and consumers, according to the cloud service life cycle from origination to application, the users can be divided into four kinds[3], i.e. CI developer, service author, service integration and provisioning, service user, as Figure 2. It is a hierarchical structure, which shape means different users have different scale numbers, from the bottom to the top, the numbers tend to be increased.

Service user

Service integration & provisioning

Service author

CI developer

Figure 2. Hierarchical structure of cloud ecosystem.

3.2 Service Granularity When there are many services in the cloud, services should be organized as hierarchical structure, which will reduce search overhead. Figure 3 represents that root service can be made up of sub services. It also means service cloud can have multiple partial replications distributed into the nodes which need some functions of cloud service. The locality and replications can save the cost of communications and lift reliability. Service granularity can be different and low couple degree and high inner intensive degree. Low level small granularity service can compose to medium granularity service, and by embedded composition medium granularity service can combines to large granularity service or huge granularity service to fulfill an integrative task or project. In the Figure 3, the leaf nodes labeled numbers can be atom services, which can be used to composed higher level and ability service. The atom services may be all kinds of service units, such as hardware, software, platform, storages, data, components, and business, etc., which may be distributed from wide area scope or centralized in some specific remote server clusters and held or managed by different enterprises or virtual organizations or owners collaborated or competitive by some contracts, policies, laws or rules and driven by economics or other benefits.

Figure 3. Granularity model of cloud service.

3.3 User Preference When users access cloud service, they will select the better service cater to their preference. Cloud service delivering mechanism should judge user preference by context awareness and construct service composition to response to users’ requests.

3.4 User Ability In mobile pervasive computing, user ability is limited. For example, mobile devices have small screen, limited storage space, weak process ability, limited energy and dynamic mobility. Cloud service should be specified for this kind of users to ensure the service result is effective and adaptive and available.

3.5 The Relationships of Services and Clients The main goal of cloud service is to provide clients with low cost and convenient service. The relations of cloud services and clients are apparent. The clients can access cloud services by service proxy, while service proxy can be one or multiple, as Figure 4 and Figure 5. The Figure 4 means all clients’ access service clouds by the same proxy, which adapt to small scale cloud service and may be volunteer and easy to lead to single point failure. The Figure 5 means that different people can access cloud services from multiple proxy based on service types, geographic area, preference setup, etc. The latter relationship is adaptive to large scale cloud service and better in reliability, load balance, steady, and etc.

Figure 4. The single proxy mode of services and clients.

1046

Figure 5. The multiple proxies mode of services and clients.

4. SERVICE BEHAVIOR MODE Just as SOA, there are three roles in cloud service, i.e. service register, service discovery and service proxy, as Figure 6. Before a service is available, it must be registered and distribution by advertisement or directory. When clients send requests for services, services must be discovered by service proxy. When service proxy finds services needed by clients, it responses to the clients requests and execute some related functions or components.

Service clouds Service

Proxy

Service register

Service discover

Figure 6. Cloud service behavior mode.

There will be many units with the integrated structure, i.e. service register, service discover, service proxy, based on cloud service provider configuration and cloud performance requirements. Multiple service proxy can interconnect with each other to construct an overlay network to cooperation or competition. This will involve complexity and interesting challenges, similar to mankind organization and social behaviors which can be discussed later by game theory, evolution algorithms, etc.

5. SERVICE SELECTION ALGORITHM When clients access the cloud service by proxy, there will be many available services. The service selection algorithm will decide the service cost and gains. Assumed cloud service possesses service attributes such service unit price, distance, responsive time, traffic volume, storage space, etc. When a client send a service request, he doesn’t know the service attributes, but the proxy know the service attributes. The client only need to ask for the specified service goal, such as minimum cost and maximum gains, then the service proxy will judge the service attributes and select the optimal service to user. If there are multiple proxies to cooperate to select available services, the selection principles are the same.

The service selection procedure can be illustrated as follows. When one client sends a service request to a proxy, the proxy acts as the following steps. First, the proxy select all related service list from cloud service by service discover, judge the service state and availability, remove the unavailable service item, and keep the available service list. Second, the proxy make a decision from the available service list based on the users’ preference and goals, for example, maximized gains, best performance, minimized cost, etc. Third, the proxy forward the client request to the selected

service provider, and the service provider execute some programs to return the computing result or service. If only the selected service provider couldn’t succeed to return the client needed service, the proxy will obtain a notification and select the next optimum service provider to do this again. If the trying times is over some threshold (for example, 5 times, or 16 minutes), the proxy return the failure message to the client. Finally, the client would send the service request again or not at random or voluntarily.

5.1 Available Service List Selection When a client send a service request to the service proxy, the service proxy ask the service discover to obtain existed service list and related service availability degree. Service availability may include many aspects, to service i as Si, we denote as Ai1, Ai2, Ai3,… Aij,…, Aim, which m is the attributes number of each service. We also use Wij to denote the importance weight of every attributes of service i, which j=1, 2, 3, …, m. Then the service availability can be described as Ai, like equation (1). To that service with Ai greater than specified threshold θ , the service is available, and then it is added to the available service list set. Later the proxy should decide the optimized service based on the available service list set. If there are many available services, the proxy can select the top several items as available service set.

∑=

−=mj

ijiji AWA..1

)( θ (1)

The algorithm of available service list selection is represented as Figure 7.

Figure 7. The available service list selection algorithm.

5.2 Maximized Gain and Minimized Cost Service Selection Assumed that there are k services available from cloud service system for the first available service selection, the next step is to select the optimized service from the available service list set. The maximum Gain service selection algorithm can be illustrated as follows. Assumed that the service i has m sub gain Gi1, Gi2, Gi3, …, Gim, and related importance weight is αi1, αi2, αi3, …, αim. Then the gain Gi can be calculated as the equation (2).

ijmj

iji GG ∑=

=..1

α (2)

1047

The service proxy calculates service gains of the available service list set, and can get the maximized gain service. The minimized cost service selection algorithm can be described as follows. Assumed that the service i has m sub cost, i.e. Ci1, Gi2, Ci3, …, Cim, and related importance weight is βi1, βi2, βi3, …, βim. Then the gain Ci can be calculated as the equation (3).

∑=

=mj

ijiji CC..1

β (3)

The service proxy calculates service costs of the available service list set, and later can get the minimized cost service.

Assumed the proportions are r to the maximized gains, and (1-r) to the minimized cost, where r∈[0,1]. If r=1, the algorithm is the maximized gain algorithm, and if r=0, the algorithm is equal to the inverse minimized cost algorithm.

Then the improved optimum service selection can be based on the equation (4). Here the proxy should select the net maximized gain service to improve service efficiency, denoted as Gci.

∑ ∑= =

−−=−−=mj mj

ijijijijiici CrGrCrrGG..1 ..1

)1()1( βα

(4) The trade off to maximized gain and minimized cost service selection algorithm is represented as Figure 8.

Figure 8. The optimized service selection algorithm.

5.3 Performance Analysis for the Above Two-Step Selection Algorithm We define the above algorithms as the two-step algorithm of cloud service selection, i.e. the first step available service list selection, the second optimized service selection considering the maximized gain and the minimized cost of service selection. We mainly analyze the performance of the two-step selection algorithm from the availability and the scalability. Other performances such as reliability, security is relative to applications. First, we talk about the

availability. For the algorithms assumed condition is independent to the services and clients types, whether they are any services types, and rich clients, such as PCs, laptops, or thin clients, such as PDAs, mobile phones, etc., the above two-step algorithm is available and adaptive by context aware.

Second, we discuss the scalability. From the above service selection algorithms, the proxy can select the optimized available service for the client request. If there are multiple clients’ requests, the proxy will carry the same calculation method to select the optimum service for every client request. The algorithms are scalable and reliable because if the added calculation time is increased by linear mode. The proxy can cooperate with other proxy in the cloud service, which will degrade the calculation time addition more effectively, but will involved communication time and traffic overhead. So the two-step algorithm is scalable. The service selection results can be cached or recorded to profiles to improve the performance of the later related selection processes.

6. CONCLUSION In this paper, cloud service contains more extensive contents than cloud computing. Cloud service architecture and service selection algorithm of two-step are proposed. Clients usually access cloud service by service proxy to select services by lower cost and larger gains, such as more rapid response, more economic, or more convenient, etc. The algorithm is available, scalable, and adaptive to different types of environments of services and clients. It may be adaptive to future cloud computing for there are abundant available services to be selected.

7. ACKNOWLEDGMENTS This work is supported in part by the National Natural Science Foundation of China under grant 60573145, Hunan Natural Science Foundation under grant 05JJ30120, Guangzhou Science and Technology Project under grant 2007J1-C0401.

8. REFERENCES [1] Raman, T. V. 2008. Cloud computing and equal access for all.

Proceedings of the 2008 international cross disciplinary conference on Web accessibility (W4A), Apr.2008, 1-4. DOI= http://doi.acm.org/10.1145/1368044.1368046.

[2] Brian Hayes. 2008. Cloud computing. Communications of the ACM, July 2008, vol. 51, no. 7, 9-11.

[3] Vouk, Mladen A. 2008. Cloud computing - Issues, research and implementations. Proceedings of the International Conference on Information Technology Interfaces (ITI’08), June 2008, 31-40.

[4] Philip K. McKinley, Farshad A. Samimi, Jonathan K. Shapiro, and Chiping Tang. 2006. Service Clouds: A Distributed Infrastructure for Constructing Autonomic Communication Services. Proceedings of the 2nd IEEE International Symposium on Dependable, Autonomic and Secure Computing (DASC'06), Sept.2006, 341-348.

[5] Robert L. Grossman, Yunhong Gu, Michael Sabala, and Wanzhi Zhang. 2009. Compute and storage clouds using wide area high performance networks. Future Generation Computer Systems, vol. 25, no. 2, 179-183.

[6] Milojicic Dejan. 2008. Cloud computing: Interview with Russ Daniels and Franco Travostino. IEEE Internet Computing, vol. 12, no. 5, 7-9.

1048