Service Virtualization in Large Scale, Heterogeneous
and Distributed Environment
Hong-Hui Chen1, De-Ke Guo1, Xue Qun-Wei2, Xue-Shan Luo1, Wei-Ming Zhang1 1
School of Information System &Management, National University of Defense Technology,
Changsha, 410073, China
2
China Institute for Geo-Environmental Monitoring,
Beijing, 100081, China
Abstract As the increasing development of application technology and infrastructure, many kinds of application can be wrapped to standard web service, and tasks can be partitioned and mapped to service instances according to web service architecture. Service-oriented architecture is an approach to define integration architectures based on the concept of a service. We believe service-oriented application should establish on virtualized service rather than concrete service instance directly. In this paper we propose formalized model of virtualized service and service instance, and introduce the division method of service instance space based on a binary equivalence relation in order to obtain virtualized service set. Then, we present a novel virtualized service-oriented architecture and the definition of service virtualization. Furthermore, discuss the implementation technologies of service virtualization from aspects of global and local instantiation process. We also illustrate the application of service virtualization in project of China National Geology Grid to apply its technological concept and exhibit its application perspective.
Keywords: web service, service virtualization, enterprise service bus
1. 0 Introduction
*
Service-oriented architecture is an approach to defining integration architectures based on the concept of a service. It applies successful concepts proved by Object Oriented development, Component Based Design, and Enterprise Application Integration technology. The goal of SOA can be described as bringing the benefits of loose coupling and encapsulation to integration at an enterprise level. Framework of service-oriented is characterized by Web Service Architecture [1], Open Grid Service Architecture (OGSA) [2] and Web Service Resource Framework (WSRF) [3]. The most commonly agreed-on aspects of the definition of a service in SOA are: (1) Services are defined by explicit, implementation-independent interfaces ;(2) Services are loosely bound and invoked through communication protocols that stress interoperability and location transparency;(3) Services encapsulate reusable business function[4].
Service-oriented application establishes on open and dynamic computing environment, this leads to the uncertainty of the reliability and usability of resources or services instance involved by application during its total life circle. Moreover, service-oriented application always can be characterized as open system, and allows replacing and updating each service instance without re-constructing and deploying the whole application again. Therefore, service-oriented application should establish on virtualized service rather than concrete service instance directly. During runtime of application, each virtualized service could be instantiate by the most suitable service instance that satisfies the scheduling method according to the status information of resource or service instance. This cannot only realize the access transparently to service instance, but can also improve the fault-tolerant ability and load-balance ability of service-oriented application.
Comparing to service instance, virtualized service has the following three excellent features: (1) Single system image (SSI): all service instances which possess the same function and access point could be treated as unified virtualized service, without knowledge about location and deployment of service instances. Application would be more reliable and usable through SSI; (2) Openness: components of service-Oriented application (SOA) may be replaced or updated by other instance which belongs to the same virtualized service, meanwhile, operation of replacement or update doesn’t affect the normal work of application; (3) Extensibility: accessing to
Supported by National High Technology Research and Development Program of China under Grant No. 2002AA104220, 2002AA131010, 2002AA134010
virtualized service follows a skewed distribution, thus some virtualized services may be more popular than others. When all service instances that belong to these virtualized services becomes overloading, we can use edge-computing technology to deploy new service instance on demand. This may solve load-balancing problem to some extent. In other words, applications based on virtualized services possess extensibility.
Research institutes and enterprises have done lots of work on standard service and service virtualization technology. The representative achievements include web service architecture, Service Domain [5], OGSA, WSRF and EVP [6] grid resource space model. These achievements pay more attention to architecture and standard of service virtualization.
This paper is concerned with the uniform conceptual model, implementation technologies, and application of service virtualization in a large-scale, heterogeneous, and distributed environment. The organization of this paper is as follows: In Section 2, we formalize the problem of service virtualization and its model. In Section 3, we discuss implementation technologies of service virtualization from the process of global and local instantiation, and analyze performance of application based on virtualized service. In Section 4, we illustrate Virtualized Service-Oriented Application (VSOA) in domain of geo-spatial data-insensitive computing in details. Finally, Section 5 concludes this paper and draws the outline of future research work.
2.0 Overview of Virtualized service-oriented architecture
2.1 Foundational Definition
[Definition 1] Virtualized service= (Interface Document, Resource Document). Interface Document is a description document of service interface that is an abstract definition of standard service. Resource Document indicates the resource type that could be accessed and operated through service interface, and can be embodied as resource metadata schema
[Definition 2] Virtualized service space (VService) is the set of virtualized service. VService differs according to different application domain and background.
We can deduce these properties from definition 1:(1) There exist multiple to multiple associate relation between service interface types and resource types, that is, one kind of service interface can access different types of resource, and a kind of resource allows various service interfaces to access and operate;(2) If both the service interface type and target resource metadata model are the same, the two virtualized services could be regarded as equal. This rule can help eliminating redundant virtualized service.
[Definition 3] Service instance= (Interface documents, Resource, Environment Information). Interface Documents is a set of virtualized service interface document cited and implemented by this service instance. Resource describes the resource instance that could be accessed and operated through service instance, and can be embodied as entry of metadata. Environment Information indicates the status information about host environment of this service instance.
Service instance is the implementation of virtualized service in nature. Definition 3 gives the whole definition of service instance from three aspects: subject (service interface document that can be cited and implemented), object (resource that can be accessed and operated), and environment (status information of host environment). These three aspects provide necessary decision-making information for implementation of service virtualization.
According to definition 1 and 3, we can see that there exist multiple to multiple mapping relations between virtualized service and service instance, that is, one virtualized service may be implemented by multiple service instances through different protocol and technology, meanwhile, one service instance may cite and implement multiple virtualized service. This paper assumes that there exists one to multiple mapping relations between virtualized service and service instance. If the initialized status doesn't meet this assumption, we need modify virtualized services sets until the assumption is satisfied.
2.2 Mapping between virtualized service and service instance
After present the uniform definition of virtualized service and service instance, it is time to study how to extract virtualized service from sets of service instance, and how to organize and deploy service instance based on virtualized service.
[Definition 4] Let assume RSVS (relation of same virtualized service) is a binary relation in service instance set named Service. Assume x and y are random elements of service instance set, if the below two conditions are satisfied, we can believe that
(x,
y)
∈
RSVS
. (1) x and y realize the same set of service interface document;(2) Through the service interface realized by service instance, we can access and operate resource which possesses the same metadata model.
[Theorem 1] The binary relation RSVS in the set of service instances named Service is binary equivalence relation.
Proof.
∀
x
∈
Service
meets the two conditions proposed by definition 4, then(
x
,
x
)
∈
RSVS
, that is, RSVS is reflexive.∀
x
,
y
∈
Service
. If(
x
,
y
)
∈
RSVS
, then y and x realized the same set of service interface, and the operable resources have the same metadata model, that is,(
y
,
x
)
∈
RSVS
, thus RSVS is symmetrical.Finally,
∀
x
,
y
,
z
∈
Service
, if(
x
,
y
)
∈
RSVS
,(
y
,
z
)
∈
RSVS
, the ‘same’ binary relations in the first and the second condition proposed by definition 4 possesses transitivity, x and z realize the same set of service interface, and the operable resources have the same metadata model, that is,(
x
,
z
)
∈
RSVS
, thus binary relation RSVS is transitive. Therefore, RSVS is binary equivalence relation in the service instance set. Thus, Theorem 1 been proved.[Definition 5]
S
is a division of service instance sets named Service, if it meets these conditions, we call S a division about binary equivalence RSVS on Service. (1) If∀
x
,
y
∈
T
1,
T
1∈
S
, then(
x
,
y
)
∈
RSVS
; (2) IfS
T
T
x
∈
∈
∀
1,
1 andy
∈
T
2,
T
2∈
S
, then can’t deduce(
x
,
y
)
∈
R
.[Theorem 2] S is a division about binary equivalence RSVS on service instance sets named Service, exist a single mapping f from Service to virtualized service space named Vservice. Similarly, there exists a single mapping g from S to VService. Moreover f and g possess blow properties:
(1) If
∀
x
,
y
∈
T
1,
T
1∈
Service
,
∃
vs
∈
VService
, Then f(x) =f(y) =vs.(2) If
∀
T
1,
T
2∈
S
,
∃
vs
1,
vs
2∈
VService
, then: g (T1)=vs1and g(T2)=vs2, butvs
1≠
vs
2.Proof. If
∀
T
1∈
S
,
∀
x
,
y
∈
T
1, according to definition 5 we can draw the conclusion that(
x
,
y
)
∈
RSVS
, therefore, x and y realize the same document set of service interface, and the operable resources have the same metadata model. According to definition 1, there exists a corresponding virtualized service vs. Thus, there exists a single mapping f, meets f(x) =f(y) =vs. There exists a single mapping f from Service to virtualized service space VService.We have proved that there exists a single mapping f from any element
T
1 ofS
to virtualized service space VService.∀
x
,
y
∈
T
1,
∃
vs
∈
VService
, f(x) =f(y) =vs, Refer to induction, we conclude that: forT
1, there existsa unique virtualized service that corresponds to it. That is to say, there exists a single mapping g from S to VService. If∀T1,T2∈ S , then
g
(
T
1)
≠
g
(
T
2)
, according to the second condition of definition 5. Thus Theorem 2 has been proved.Definition 4 and theorem 1 have defined and proved the binary equivalence RSVS on service instance set Service, and definition 5 and theorem2 propose the division method of service instance set based on the binary equivalence relation RSVS. For the service-oriented application which adopts the design method from virtualized service to service instance, the division method proposed here does help to organize and deploy service instance; moreover. For the service-oriented application that adopts the method from service instance to virtualized service, the method proposed here gives a good solution about how to obtain virtualized service space from service instance sets.
2.3 Virtualized service-oriented architecture
We can gain the method of modeling virtualized service from its definition directly. First, models the service interface that builds up the virtualized service. Second, models the metadata of target resource that can be accessed and operated through service interface. The related research work about service interface modeling includes: (1) traditional Interface Definition Language (IDL); (2) Web Service Description Language (WSDL); (3) Grid WSDL; (4) DAML-S [7, 8, 9] standard which describes; (5) WSRF [4].
The definition of virtualized service in this paper is able to tolerant the definitions of WS-Resource. It’s wise to define and model service interface following standard WSDL, and modeling metadata of various resources based on XML schema. In service-oriented application, it is usually need to access and operate computing resources, storage resources, data resources, special software, instrument, and etc. The metadata model of these resources may differs between each application, but can be realized using XML Schema.
Service-oriented application establishes on open and dynamic computing environment, this leads to the uncertainty of the reliability and usability of resources or services instance involved by application during its total life circle. Moreover, service-oriented application always can be characterized as open system, and allows replacing and updating each service instance without re-constructing and deploying the whole application again. Therefore, service-oriented application should establish on virtualized service rather than concrete service In order to design and deploy virtualized service-oriented application in given virtualized organization, we study the architecture of virtualized service-oriented application. The architecture can be embodied from aspects of virtualized service organization, discovery, and invoking mechanism. Virtualized service provider publish description information obeyed virtualized service model to a global directory, such as UDDI. Service instance provider publishes description information obeyed given virtualized service to the same global directory. Service request obtain candidate virtualized service by inquiring the global directory, then construct application by integrating those suitable virtualized service. In order to make virtualized service-oriented applications work as designed pattern, it is need to instantiate each virtualized service at running phase.
3.0 Implementation of service virtualization
[Definition 6] Service virtualization is such a process: (1) At the compiling phase, Service-oriented application realizes the initialization of various virtualized services; (2) During the running phase, application instantiate each virtualized service using most suitable service instance dynamically, and ensures that application possess excellent fault-tolerant capability and loading among all service instance.
A virtualized service is an abstract of one service instance set. Every two elements of the service instance set have the same interface, and can access and operate the resource that has the same metadata model. Service virtualization is not only one kind of design thought, but also a design pattern and method. In order to make the service virtualization effective and feasible, we need continue research the model of virtualized service, the instantiation process of virtualized service at running phase, load-balance capability of service instances and fault-tolerant ability of application, etc.
After proposing the thoughts of service virtualization, we believe that service-oriented application should change to be virtualized service-oriented application. In other words, it is more suitable and practical to initialize suitable virtualized service at compiling phase and instantiate those virtualized services at running phase of application. The dynamical instantiation process of virtualized service can be realized from global and local area based on different mechanisms. Local instantiation needs some special mechanisms during the process of service instance development and deployment, moreover, global instantiation needs support of global information service and schedule service.
3.1 Local instantiation of virtualized service
Service suppliers provide users with specialized services that have guaranteed QOS. When a single computer can’t meet QOS needs, it is straightforward to use web service clusters in order to guarantee QOS. Service cluster connects multiple nodes through high-speed network, and furthermore, it support service instance deployment and invoking on demand. It is suggested to create unique delegation service for each virtualized service supported by this web service cluster, and deploys it to the master node of that cluster. Delegation service receive invoking message coming from outside application, and call most suitable service instance deployed at worker node of this cluster through local schedule service, finally transfer the response to original requester.
Local schedule service has response to discover most suitable service instance according to scheduling model, access control strategy, and other assistant decision information provided by provided by local service and resource management service, and local monitor service. Local service management service realizes the virtualized service space of given service cluster, and maintains the mapping and deployment information of virtualized service and service instance. Local resource management service realizes resource type space, and maintains the mapping information between resource type and resource instance, and also create the mapping information between resource instance and service instance. Local monitor service gathers current and history status information of each worker node, and publishes information.
Service cluster provides computing-intensive and data-intensive virtualized service, it is needed to research and develop different schedule model for these two kinds of virtualized services. The design principle of schedule model is that allocate request for virtualized service to service instance statically according to current and history status information of service cluster. It is unpractical to realize load-balance dynamically by using service transfer and check point technology. We will give schedule model for each kind of virtualized service.
management service using delegation service of given virtualized service as input parameter. Second, acquires status information of every service instance’s host environment by using local monitor service. Third, establishes multiple attributes decision model according to status information obtained already, and calculates the most suitable or satisfied service instance. In summary, this schedule model adopts first two components from definition of service instance.
Fig.1The process of local instantiation of virtualized service from the aspect of virtualized service-oriented local application.
Fig.2 Process of global instantiation of virtualized service from the aspect of virtualized service-oriented global application.
(2) Service schedule model for Data-intensive: First, obtains list of service instances from local service management service using delegation service of given virtualized service as input parameter. Second, acquires host environment status information of service instance with the help of local monitor service. Third, combines the data resource request information that is included in the invoking request with local data resource management service, gains the list of suitable data resource. Finally, establish the multiple attribute decision models according to host environment status information and data resource information, then selects the most suitable or satisfied service instance. The schedule model uses the whole three components from the definition of service instance; furthermore, it also considers the load-balance of service cluster and the matchmaking rule between service instance and data resource.
The process of local instantiation and some key components are illustrated with figure 1.
3.2 Global instantiation of virtualized service
After an invoking request for virtualized service arrived at a given service cluster, local instantiation of virtualized service has the responsibility to process and response. Moreover, global instantiation of virtualized service allocate invoking requests for given virtualized service to delegation service of service cluster or service instances that was not deployed at cluster. Global instantiation of virtualized service needs supports of global service management service, global resource service, and global monitor service. The major process can be described by following steps:
(1) If haven’t knowledge about virtualized service space, it need to access global service management service to discover, select and initialize virtualized service. Otherwise, invoke global schedule service using initialized virtualized service as input parameter at runtime of application.
(2) While global schedule service receiving invoking request for given virtualized service, it will inquire global service management service with information of virtualized service and certificate as input parameters, then obtain set of service instances and delegation services.
(3) As far as the computing-intensive virtualized service, it needs to filter those service instance and delegation services that don’t match the static load-balance schedule model.
(4) As far as the data-intensive virtualized service, it is needs to delete those service instances and delegation services which don’t meet static load-balance schedule model and data resource match-making rules according to service instance status information and usable data resource status information (gained through data resource management system). Thus, if there is still more than one service instances or delegation services, just choose one by other schedule algorithm, for example heuristic scheduling algorithm, and etc.
VSO global application
Global service instance space Global virtualized service space
Global delegation service space Local Instantiation of VS Global Instantiation of VS VSO local application
Local service instance space Local virtualized service space
Local delegation service space Local
Instantiation of
virtualized Service
(5) While application received the instantiated result coming from global scheduling service, it allocates the invoking request for given virtualized service to resulting service instance or delegation service.
The process of virtualized service-oriented global application could be illustrated with figure 2.
4.0 Application of service virtualization
CNGG (China National Geology Grid)[10] is a service-oriented application grid focusing on geology survey domain of China, it desire to realize elementary GIS web service, geographic resource evaluating web service and ground water evaluating web service, and furthermore, construct many application systems based on those web service for geology survey domain. Geol-spatial data possesses properties of multi-sources, heterogeneous and large scale. Web service of geology survey can be distributed, virtualized and specialized.
Geo-spatial data and elementary GIS web service can be deployed conforming to service cluster architecture and evaluating web service can be deployed independently or conforming to service cluster architecture. As a result, there are many available web service instance and cluster organized by service virtualization. We will introduce local and global specialized application based on service virtualization, and the applications involve East and Southwest geology survey center. The application architecture and major process can be illustrated with figure3.
Each service cluster must publish delegation web service of virtualized web service and (or) web service instance to distributed Gnutella-like UDDI of CNGG. VSO global application can access Gnutella-like[11] UDDI to realize global instantiation of virtualized web service at running time, for example the result may be that service cluster of Nanking When GSC was accessed at running time, it start the local instantiation process and call one suitable service instance owned by that service cluster to response. If knowledge about information of web service instance and virtualized web service is enough, we can design and implement virtualized web service-oriented local application based on given web service cluster, and transfer the request about virtualized service to suitable service instance deployed at the service cluster at running time.
Fig.3 Framework of virtualized service-oriented application of CNNG
Mine resource evaluating based on factor weight method is a representative virtualized web service-oriented application within CNGG. Factor weight method is a new mathematic model about mine resource evaluating, it analyze mine spot, geological factor, physical prospecting factor, and chemical prospecting factor of given research area, then figure out the metallogenetic probability of given geological cell.
When user access mine resource evaluating application, it needs request pre-probability calculative service, factor weight calculative service, post-probability calculative service to obtain the evaluating result, furthermore, the process utilize many elementary GIS data and function web services. All web service involved in this application can be deployed according to figure 3. Mine resource evaluating application can be constructed based on global or virtualized web service. It request those three virtualized web services at compiling time, then request suitable web service instance respectively at running time, ultimately realize dynamic and transparent accessing.
Some difficult problem could be resolved after implementing and deploying many special applications from different application domains in CNGG. (1) Those core services of CNGG can organize and manage distributed and autonomous geo-spatial data naturally, then solve duplication management problem, finally obtain global data view.(2)Standard geo-spatial data service and metadata service can help to transparently access remote data, unnecessarily using knowledge about deploying information about data.(3)Service virtualization can support
Web service cluster of Chengtu
Autonomous, heterogeneous geo-spatial Delegation service of
virtualized service
Elementary GIS and resource evaluating service
2
Core web service and portal of CNNG VSO global application
4 1
VSO local application
3
Web service cluster of Nanking
Delegation service of virtualized service
Elementary GIS and resource evaluating service instance
Autonomous, heterogeneous geo-spatial data
heterogeneous resource and capability between nodes through local and global virtualized service instantiation process.(4)Resource evaluating application involves large scale geo-spatial data is very complicated, but service cluster can enhance the process capability of these kinds of application.
Moreover, we design and implement virtualized service flow based on virtualized web service. User can construct virtualized service flow based on actor weight calculative, pre-probability calculative and post-probability calculative virtualized web service when necessary, then embody when it was requested.
5.0 Conclusion and future work
Service-oriented architecture is an approach to define integration architectures based on the concept of a service. We believe service-oriented application should establish on virtualized service rather than concrete service instance directly. We propose formalized model of virtualized service and service instance, and introduce the division method of service instance space based on a binary equivalence relation in order to obtain virtualized service set. Then, we present a novel virtualized service-oriented architecture and the definition of service virtualization. Furthermore, discuss the implementation technologies of service virtualization from aspects of global and local instantiation process.
Ming Xu talks about service virtualization problem from developing trend of application and infrastructure technology, he believes that the implementation of service virtualization should embody from application, composition and infrastructure layers [4]. The process of virtualized service local instantiation embodies the infrastructure layers mentioned above, there forth, the process of virtualized service global instantiation embodies composition layer mentioned above.
We embody technology and application perspective of service virtualization by illustrating VOS application in domain of geo-spatial data-insensitive computing. Research result has been adopted by SIG (Spatial Information Grid) [12] and NGG (National Geology Grid) [10] project supported by National High Technology Research and Development of China. We will further study the criteria and method about how to analyze performance of virtualized service-oriented application; also pay more attention to virtualized web service flow.
6.0 References
[1] Wolfgang Hoschek: “The web service discovery architecture.” In: Proc. of the Int'l. IEEE/ACM Supercomputing Conference, Baltimore, USA, 2002, 1-15.
[2] Ian T. Foster, Carl Kesselman, Jeffrey M. Nick et al. “Grid services for distributed system integration”. IEEE Computer, 2002, 35(6): 37-46.
[3] Karl Czajkowski, Donald F Ferguson, Ian Foster et al. “The WS-Resources framework”. Global Grid Forum, March, 2004.
[4] Ian Foster, Carl Kesselman. “The Grid: Blueprint for a New Computing Infrastructure Second Edition”. Morgan Kaufman, November 2003.
[5] Hong Liu, Xinhua Lin, Yang Qi et al. “Aero-crafts aerodynamic simulation and optimization by using ‘CFD-Grid’ based on service domain”. In: LNCS3251, Springer, 2004, 745-752.
[6] Wei Li, Zhiwei Xu. “A model of grid addresses space with applications”. Journal of Computer Research and Development, 2003, 40(12): 1756-1762.
[7] Ankolenkar, A., Burstein, M., Hobbs, J.R. “DAML-S: web service description for the semantic web”. In: Proc. of the First International Semantic Web Conference (ISWC), June, 2002.
[8] Paolucci, M., Kawamura, T., Payne, T.R. and Sycara, K. “Importing the semantic web in UDDI”. In: Proc. of Web Services, E-Business and Semantic Web Workshop, 2002.
[9] Kaarthik,S., Kunal, V., Amit, S., John, M. “Adding semantics to web services standards”. In: Proc. of the International Conference on Web Services, 2003.
[10] Yu Tang, Kaitao He, Nong Xiao et al. “Study on system framework and key issues of national geological application grid”. Journal of Computer Research and Development, 2003, 40(12): 1682-1688.
[11] Matei Ripeanu, Adriana Iamnitchi, and Ian T. Foster: “Mapping the gnutella network. IEEE Internet Computing”. 2002, 6(1): 50-57.
[12] Deke Guo, Honghui Chen, Xueshan Luo. “Resource information management of spatial information grid”. In: LNCS3032, Springer, 2003, 240-243.