Paper Menu >>
Journal Menu >>
J. Serv. Sci. & Management, 2009, 2: 1-9 Published Online March 2009 in SciRes (www.SciRP.org/journal/jssm) Copyright © 2009 SciRes JSSM A Virtualization-Based Service System Development Method Tong Mo 1 *, Zhongjie Wang 1 , Xiaofei Xu 1 , Xianzhi Wang 1 1 School of Computer Science and Technology, Harbin Institute of Technology, 150001, China. Email: motong_hit@126.com*; rainy@hit.edu.cn; xiaofei@hit.edu.cn; wangxianzhi@hit.edu.cn Received December 30 th , 2008; revised January 24 th , 2009; accepted February 18 th , 2009. ABSTRACT Amazon and Taobao publish product introduction online for customers’ personal choice and become the successful examples of modern service based on information and communication technologies. However, if they want to achieve a complex service through composing some simple services, the research of service composition platform is still rudi- mental. In order to achieve this goal, a virtualization-based service system development method is proposed. The ser- vice elements are described standardized as service component at first. Then the service component is virtualized to be a web service and is deployed on a service platform, which is similar to Amazon. Customers put forward their demands on this platform and the platform will auto-match and dispatch task to the component to build a real-world service sys- tem. Finally, an application in ocean logistics service is briefly introduced. Keywords: service description, service system development, service composition, service component, online publish-choice, ocean logistics 1. Introduction The services industry has increasingly grown over the last 50 years to dominate economic activity in most ad- vanced industrial economies. According to relating statis- tics, in some developed countries above 90%’s labor force are working for service industry and it occupies over 70% of the Gross Domestic Product (GDP) [1]. The era of service economy has arrived. Assisted by development of information and commu- nication technologies, service pattern has been trans- formed from provider-customer traditional mode into a complex social technical ecosystem [2]. More and more service links and participators increase the cost of service interoperation significantly. In order to reduce the cost, a popular way of these new service systems is using a vir- tualization-based service for composition. Providers dis- play what they can provide through virtualized informa- tion on the web, such as pictures and some textual de- scriptions, to replace the physical display. And customers can select and get what they want (or inversed) [3]. The virtualization-based service can ignore the space-time distance and make information transformation, service composition and data collection more conveniently. On one hand, it can reduce service cost such as time, money, energy, etc; on the other hand, the original data that is saved automatically provide strong support for analysis and management. Some successful examples are Amazon [4], Taobao [5], etc. Though there are such a lot of effective applications, most of them are “composition for physical services”. What are published by provider or customer are physical things, such as books, commodities, etc. The services, for example, transportation, healthcare, consultation, etc., are also remained in state of single publish-choice. But with increasingly fining of social division, service has become more and more complex and cross-domain. If customers want to get a complex service that is composed by a lot of service elements that are provided by multi-providers, this kind of composition is always done by manpower. But on the internet, the number of providers is much lar- ger than the number in local range. So we need a com- puter-assistant method that can develop a complex ser- vice system by service composition. The complex service system in this paper is not only an information system, but also includes non-software elements such as people and hardware. But the main idea of the method is similar with that we use software ser- vices building business information system based on the idea of Software as a service (SaaS) in software engi- neering [6]. Travel service gives us a good reference in this domain. A travel program can be seen as a composi- tion of the single service elements such as showplace, catering, accommodation, transport, etc, and they are still often composed by the travel agents or tourists them- selves. ·The benefits of these new service system develop- ment methods are as follows: ·Fast service query on-line and selection. ·Computer-assistant composition based on customers’ 2 TONG MO, ZHONGJIE WANG, XIAOFEI XU, XIANZHI WANG Copyright © 2009 SciRes JSSM Service Element Service Component Model Service Customer C all P L A T F O R m Selec tAss ig n Service Platform Virtualized Service Component Deployment Abstract Virtualization 服务构件 服务构件服务构件 服务构件 Service Component 服务构件 服务构件服务构件 服务构件 Service Component 服务构件 服务构件服务构件 服务构件 Service Component 服务构件 服务构件服务构件 服务构件 Service Component Show Service Interaction Figure 1. Big picture of building complex service based on virtualized service elements voice and individual adaptation. ·Assign the service element in real world with the invoking and controlling service on web. The rest of this paper is organized as follows. The big picture of the method is shown in Section 2. In Sec- tion 3, how to describe service elements is discussed and the virtualization method is proposed in Section 4. In Section 5, the arithmetic of service matching is briefly introduced and an application prospect is dis- cussed based on a case of ocean logistic in Section 6. Finally the paper comes to the conclusions. 2. Big Picture: Virtualization-Based Service System Development The big picture of building a complex service based on virtualized service elements is shown in Figure 1. The process of this method includes three main phases and can be divided into eight steps. Deployment phase: Step1. The key elements of service such as behavior, actor, and resources are packaged as service components. Step2. The service components are virtualized as soft- ware. Step3. The virtualized service components are de- ployed onto the service platform. Matching phase: Step4. Customers log in the platform and input their individual demands through the interfaces that fits the habits of people. These demands are transformed into a standards XML format file. Step5. According to the customer’s demand on specific steps of service, platform will filter the relevant compo- nents, and get a smaller set of candidates. If some of the demands can find eligible components, the components closest to the demand will be reserved as a substitute. Step6. According to the partial and overall demand of service, platform will match the candidate’s components and feedback all the results in line with the demand. The result will be ranked with customer-defined policies to facilitate customer’s choice. Step7. Customer can self-edit the service based on the results, and submit a satisfactory outcome of the choice. Scheduling phase: Step8. Platform will assign the work to the software component that is selected by customer. And the tasklist of the component will add a record. Then the actor will execute service interaction following the tasklist with customer. The key techniques and challenges in three phases are as follows: ·Standardized expression of the elements In order to find what the customer want easily, the published things should comply with certain standards. The providers and customers often have different under- standing and description with the same service element based on their own backgrounds and angles of view. This gap can be merged easily by similarity judgment and further communication likes a phone call or face to face talk in single-service-choice. But in complex service composition, cumulative effect of these gaps may make the result meaningless. Both of the above two successful composition platforms have a standard mode for each owner to show their goods and payment. But in this situation, a standardized expression for service is more complex than for physical goods. It not only contains the functional contents (input, output, precondition, quality index, etc), but also some other related elements. For example, the actor may be a very important factor that affects the customer satisfaction, and what they use is also need to be shown. ·Invoking service on web and assign the service ele- ment in real world The service that published on web is not just a literal description of a variety of formats. It also can be called just as we operate software. A similar scene is that if we use telephone to appoint a service, there must be a call TONG MO, ZHONGJIE WANG, XIAOFEI XU, XIANZHI WANG 3 Copyright © 2009 SciRes JSSM center (front) as a kind of interface. So for each service behavior, it also needs a software interface which is de- ployed on web for us to call. Though we publish and choose our service on web; it finally should be mapped and implemented in the real world. In Amazon, the book that a customer selects and chooses is just a virtualized image of real book on-line, but what the customer finally gets is that real book. · Matching service based on customers’ voice Based on customers’ voice, the most suited groups of services should be selected automatically. These results are collated by the integral sufficiency and key Quality of Service (QoS) parameters. These three techniques and challenges will be dis- cussed in the following sections. 3. Service Component: A Uniform Descrip- tion of Service Elements 3.1 Information that Needs to be Described Because there is still lacking a recognized definition for behavior that applies to all service fields, it is very hard to give a complete description of it. However, we de- scribe it in order to establish a unified environment for customer and provider to choose and publish. So we only need to focus on the information that is used frequently in establishing the relationship between service demand and supply. A comparison with product behavior will help us to understand it more clearly. The most important information is the function of be- havior. It means what this behavior can do and what is the result of it. Though we can still use a binary group < input, output > as we describe the function of produc- tion behavior, the input and output of service behavior are mostly not physical things. For example, transforma- tion behavior changes customers’ position, so the input and output are the start points and end points respectively. In addition to input and output, quality index is another important part of service behavior function. Sometimes, for the same input and output, different performance of quality may means different services. In precedent, for the same transformation, the service may either be a normal one or an express one according to different time that should be spent on it. Though we talk about service behavior and emphasize the difference from production, resource is also an im- portant factor that impacts customers’ choice. This re- source is a kind of support for service behavior rather than the result. That means this resource is the thing that will be used during the service and impact customer’s service experience. In the field of manufacturing, customers just concern about the final product while don’t care who made it. But because interaction is a major feature of service behavior, there could be some special request on the behavior actor. For example, a pretty miss front may reduce customers’ complaints and an automatic response system could offer make them angry. Customers often put forward a number of requests to the actor to guarantee the behavior can be implemented smoothly. 3.2 Definition of Service Component Based on the above analysis, we have gotten all the key elements that are needed for the establishment of the relationship between service demand and supply, and we use service component to depict it. Service component is a package of service actor and a behavior performed by this actor including all the supportive elements in conceptual level. It is the basic unit of ser- vice system offering a predefined functionality and able to communicate with other components. Reus- ability and independent execution are two important characteristics of service component and it can be plugged into different service systems. The structure is shown in Figure 2. Basic Information Service Component Identification AnnotationVersion Actor InformationBehavior Information Basic Information Internal Structure Information Provider Information Usability Information SupportResource Information Function Explanation Level Explanation Level Description SupportResource QosMetrics Value Range Type Input OutputQos Metrics Figure 2. The structure of service component 4 TONG MO, ZHONGJIE WANG, XIAOFEI XU, XIANZHI WANG Copyright © 2009 SciRes JSSM As it is shown in Figure 2, service component gives us a unified format to describe the behavior that is needed in service by both customer and provider. It can be easily described by formal description language and here we use XML as a description language. The details are shown as follows: ·Basic Information: It involves the most basic infor- mation of a component, such as identification, annotation and version. Identification includes ID No. and name. Annotation is a text of narration. Version often includes Version No., creator and creating date. ·Actor Information: Actor is one of the two cores of service component. It describes the main body that pro- vides service function in this component. In software domain, the main body of a traditional web service is a section of code and don’t need to be further introduced. In service domain, the main may be human, software, hardware or a group of these things. It includes the fol- lowing ingredients: ★ Basic Information. Such as ID No., name, etc. ★ Internal Structure Information. Sometimes, the actor of a behavior may be not executed by one entity but by a team or a group of entities. So the composition of actors is shown in this subsection. ★ Provider Information. Provider is the organization that the actor belongs to. ★ Usability Information. It shows the time when the actor can be used. ★ SupportResource Information. SupportResource is the thing that is needed and used by actor during the execution of service behavior. Sometimes, it is a little hard to distinguish a resource to be a SupportResource or a part of actor. Here we use an example to illustrate the nuance. In logistics service, a transport function is pro- vided by a component. In this component, there is a truck driver and a truck that belongs to a cargo. In this cargo, if the truck driver just drives that truck, then they can be looked as a group, the truck is a part of actor. If the truck driver and truck don’t have a binding relation and just many-to-many, the truck can be seen as a SupportRe- source for the truck driver. ·Behavior Information: Behavior is the other core of service component. As the same with traditional software behavior description; it also focus on the function de- scription but adds one unique service character-service level. Table 1. A case of service component package real service element Natural language description of service element Service component description The name of truck driver is ZhangSan. He is a self-employed truck driver. His cell phone No. is 13936831568. <tns:actor> <tns:provider> <tns:orgnizationName>ZhangSan</tns:orgnizationName> <tns:description>Self employed</tns:description> <tns:telephone>13936831568</tns:telephone> <tns:contactPerson>ZhangSan</tns:contactPerson> </tns:provider> </tns:actor> He works from 9:00 AM to 7:00 PM everyday. <tns:actor> <tns:availableTime> <tns:type>Everyday</tns:type> <tns:startTime>9:00</tns:startTime> <tns:endTime>19:00</tns:endTime> </tns:availableTime> </tns:actor> His business is truck transformation <tns:behavior> <tns:functionType>transormation_truck</tns:functionType> </tns:behavior> The normal speed of delivery is an average of 80km/h and carrying capac- ity is 5t. <tns:behavior> <tns:levels> <tns:levelInfo> <tns:levelName>normal</tns:levelName> <tns:levelDescription/> </tns:levelInfo> <tns:QoSMetrics> <tns:parameterName>speed</tns:parameterName> <tns:minimumValue/> <tns:maximumValue>80</tns:maximumValue> <tns:parameterUnit>km/h</tns:parameterUnit> </tns:QoSMetrics> <tns:QoSMetrics> <tns:parameterName>carrying_capacity</tns:parameterName> <tns:minimumValue/> <tns:maximumValue>5</tns:maximumValue> <tns:parameterUnit>t</tns:parameterUnit> </tns:QoSMetrics> </tns:levels> </tns:behavior> TONG MO, ZHONGJIE WANG, XIAOFEI XU, XIANZHI WANG 5 Copyright © 2009 SciRes JSSM ★ Function Explanation. ◎ Type. It is a quote to a concept of service domain ontology. The subjectivity of service naming has brought a lot of inconvenience to service query. So the ontology will give us a standardized solution. Unfortu- nately, it is very hard to build industry recognized do- main ontology, so we often use a conventional concept for substitution. ◎ Input & output (I/O). The same with software, the I/O is the main reflection of function. Sometimes, the I/O is information, but the type may not only be an electronic data, but also some papery stuff such as documents, graph, table, etc. In most cases of service behaviors, re- source is another kind of I/O. For example, patients may get some drugs from a medical care; a repair service is another typical case. ◎ QoS Metrics. A set of quality parameters are used to evaluate the result of service behavior. Some of them can be obtained directly from the basis data. Some of them are gained via further computing, statistics or analysis. Some typical parameters are time, cost, cus- tomer satisfaction, etc. For each parameter, it needs to show the related data, data’s acquiring method and the formula. ★ Level Explanation. In traditional web service, each function of a software component has only one perform- ance. But in service domain, with the same terms of be havior and the actor, the service component may have different performance. This distinction is reflected by different SupportResource and the value of QoS parame- ters. For example, in logistics service, a transport com- ponent’s actor is a person and the behavior is transport. For the same task, if the actor does it by a car, the time will be less than an hour and the cost will be 100 RMB; on the contrast, if the actor does it on foot, the time will be more but the cost will be less. So we use service level with different SupportResource and QoS metrics value range to make a distinction. It is a unique character of service component and what makes it most different from software component. ◎ Level Description. Including identifying informa- tion and a text of narration. ◎ SupportResource. The SupportResource will be used in this level. It is a subset of the SupportResource in actor information. ◎ QoS Metrics Value Range. This is the value bound of quality parameters. A case of service component is shown in table 1, and it shows a service component of transformation. The natu- ral language description of service is in the left and the right is the XML based service component description follows the above structure. For example, the normal speed of delivery is an average of 80km/h and weight is 5t. So it has a service level named normal and has two QoS parameters: speed and weight. Of course, it may have other levels, such as a high-speed which may load less. As a complete service component description is too long to show, we just excerpt some critical segments to this paper. 4. Virtualization Method of Service Component Service component is only a standard document for pro- vider to publish his service and for customer to query eas- ily. In contrast, the software virtualized version provides a user interface to show how to use the real service element packaged by component and record the running informa- tion. It is similar as the relationship between web service and the functional software system. According to the dif- ference of actor and business level, the service component can be divided into human component, software compo- nent, hardware component and composite component. 4.1 Virtualization Method for Human Component Human component represents the behavior that is exe- cuted by people or mainly depends on people. It is the dominant component and the difficulty of service de- scription. But software human behavior is not a new topic and there has been already a well-formed specification: WS-HumanTask [7]. It is used with another specification: BPEL4People [8] which will also be referred in sector 4.4 to define the process of human-machine interaction. Though WS-HumanTask focuses on software domain, it provides us with fairly fine basis to draw on. In our opinion, the software of human component is just like a software client of the real people. Component user can use that as software to assign work to service executants just like what we do by cell phone, email or even verbal order. This software client includes three main parts: tasklist, log and interface. In the view of the idea of WS-humanTask, a job as- signed to the actor of a component is treated as a task and the tasklist is a task schedule for the component. It re- cords when, where, to whom that the component need to provide service. It is a kind of continuously information. Log is the utilizing history of the component. It includes serial number, date and time, source, type, event and user. The two parts above are used frequently to record the call of components. All the functions of software service component are invoked through the interface. The outside world can call it just like calling general software interface. According to different uses, the interfaces are divided into common interface and service function interface. Common interface corresponds to the general func- tions of all software service components, for example, query component’s information, amend component’s state, manage task list and log, etc. This kind of interface doesn’t relate to specific service and is just used to query and manage its own information. Service function interface represents a typical service function of component, such as transporting, packing, checking container, etc. This kind of function is reflected in the form of service task and service interface is the interface of a task. 6 TONG MO, ZHONGJIE WANG, XIAOFEI XU, XIANZHI WANG Copyright © 2009 SciRes JSSM The steps of making an XML file of service compo- nent to be software are as follows: Step1. Building new software which is named same with the service component and adding an empty tasklist and log file. Step2. Initializing the software and generating the common function of it: tasklist management and log management. Step3. Adding the query function of software and link- ing with the XML file of service component. Step4. Building the service function call interface and the parameters is the input of service behavior. Software interfaces of a component are shown in Table 2. The left is the XML based service component descrip- tion, and the right is the corresponding interfaces. For example, this component has an actor, and the provider of actor is named ZhangSan, so we can get this information by call the interface hasProvider (actor). 4.2 Virtualization Method for Software Compo- nent and Hardware Component SaaS is a model of software deployment where an appli- cation is hosted as a service provided to customers across the Internet [9]. So customer doesn’t have to take care about software maintenance, ongoing operation, and can on-demand pricing. It is gaining a great deal of attrac- tions today and more and more businesses are adopting SaaS for cost-effective software management solutions as well as business structure and process transformations [10]. These well-packaged software services can be called directly and don’t need any form of repackaging [11]. Of course, there are also many legacy systems that is developed using the traditional way. If we want to use the function of these old systems, we need to package some function interface as a web service. The research of web service packaging technology is fairly mature so we won’t go details in this paper. In fact, there is no pure hardware component, because a behavior can hardly be implemented by hardware alone. This kind of component usually packages two types of behavior. One can be carried out by big machine which is inde- pendent and has a high degree of automation, such as Computerized Numerical Control (CNC) machine. But it still needs a command from the outside world. For this type of component, we need to issue a task order to the operator, and the call mode as well as virtualized method is the same as the human component in Sebsection 4.1. The only difference is that the hardware takes place to be the main body of the actor. The other is the behavior of the automation equipment which is controlled by its own software system. Packag- ing this kind of component involves developing a special interface for the system. A typical application is the Global Position System (GPS). Table 2. The result of a component that is software virtualized Service component Function of software virtualized comonent Schema of component <tns:actor> <tns:provider> <tns:orgnizationName>ZhangSan</tns:orgnizationName> <tns:description>Self employed</tns:description> <tns:telephone>13936831568</tns:telephone> <tns:contactPerson>ZhangSan</tns:contactPerson> </tns:provider> <tns:availableTime> <tns:type>Everyday</tns:type> <tns:startTime>9:00</tns:startTime> <tns:endTime>19:00</tns:endTime> </tns:availableTime> </tns:actor> … Query function hasActor(component) hasProvider(actor) hasAvailableTime(actor) … The return values of these functions are a string of the results. Behavior of component <tns:behavior> <tns:functionType>transormation_truck</tns:functionType> <tns:input> <tns:inputInformation> <tns:billObject> <tns:name>PaicheBill</tns:name> <tns:parameters> <tns:address/> <tns:arrivetime_plan/> </tns:parameters> </tns:billObject> </tns:inputInformation> </tns:input> </tns:behavior> Service function callService(component, level, inputstring) // The value of inputstring is a string that is composed by the input of the behavior and separator. In this case, the inputstring is “Harbin Westgreat Street 207# @@@ 2008-11-21 11:00”. The reurn value of this function is a taskid. getResult(component, taskid) // Get the result of the service task. The return value is a result object. Task and log func- tion taskQuery(condition) logQuery(condition) … TONG MO, ZHONGJIE WANG, XIAOFEI XU, XIANZHI WANG 7 Copyright © 2009 SciRes JSSM 4.3 Virtualization Method for Composite Com- ponent The three types of service components mentioned above are basic components executed by single actor. But in the actual process of service, many acts of service process are scheduled following the relatively fixed mode, and some of the components are ordered with the regular emergence of high-frequency. In order to simplify the selection of components and service matching, reduce the computational complexity, and improve the efficiency of the service schedule, we combine these components a larger one for further reusability. It is similar with the establishment of the large size software component and web service in the software domain. Because the three basic components are all packaged as software, we can directly draw on the existing standard used to build a large size web service to build composite service component. The common industry practice is using Web Services Business Process Execution Lan- guage (WS-BPEL) [12] and WS-BPEL Extension for People (BPEL4People) [8] to specify the information interactions between software service, and orchestrate them as a process. At the beginning of a BPEL process, <partnerLink> and <variable> is used to define the link of service and declare variables. The process is combined by <sequence> which is a group of activities that is called one by one, and <flow> which is a group of parallel ac- tivities. In the main body of process, <invoke> is used to call a service and <receive> is used to wait the service to callback. The control of the implementation logic in- cludes <switch>, <while> and <pick>. The other details of BPEL and BPEL4People can be found in documents 8 and 12. 5. Computer-Aided Service Selection and Matching Service component and virtualization is a kind of com- puter understandable way for service elements describing, saving and calling. So the computer can pre-select and match the service and provide us options, when custom- ers make a complex service needs. And it can release us from the heavy work of comparison, calculation and communication, when there are more and more service options. The needs of customers’ are a lot of constraints on to- tal or local quality indicators, such as function, time, cost, credit, etc. Service selection and matching is choosing appropriate service components and organizing them correctly to satisfy the customers. It equals to a multi- objective optimization problem and we use a genetic al- gorithm (GA) based service matching algorithm (SMA) to achieve it. ·Input The input of SMA includes four parts: QoS parameter trees, service flow model, constraints sets, and service components sets. QoS parameter trees are a set of key performance in- dicators of services and are used to evaluate the quality. The name and calculation method of these parameters are relatively stable and are divided by industry. Service flow model is a XML file that is parsed from customers’ voice. On one hand, it shows which simple parts the complex service includes; on the other hand, it describes the sequential logic of these simple parts and is used as the basis for some types of parameters such as time. Constraints sets are the other part of customers’ voice. They are divided into three types: local constraint is the constraint for one simple part; partial constraint is for two or more simple parts and global is for all the simple parts. All of the constraints are described according two for- mats: The first one is simple condition which is a triple form <qp, mo, value>; qp is quality parameter, mo is mathematical operator and value is the number and unit. For example, “time < 5 hour” is a simple condition. The other one is complex condition which is a logical expres- sion of simple condition. For example, “if time < 5 hour then money = 100 RMB else money = 50 RMB”. All the constraints have a weight to show the importance for customers. Service components sets are the sets of service com- ponents classified according to service domain. ·Output The output of SMA includes four parts: service com- ponents set, result of evaluation, and scheduling plan. Service components set are the components selected for each simple parts of the complex service. Result of evaluation is the sufficiency of the service components set to the customers’ voice. Scheduling plan is a set of information for calling the service components, including time, place, and other useful information. ·Implementation logic The implementation logic of SMA is the same with GA, and the principle of algorithm is shown as follows: 1. Initial population (first generation) 2. Determine the fitness of each chromosome/ individ- ual 3. Repeat: Perform selection Perform crossover Perform mutation Determine the fitness of each individual Until the stopping criterion applies 4. Return last population The key operations of SMA are follows: ★ Chromosome coding A chromosome can be seen as a result of service selec- tion and matching. It is a set of gene with a certain order and each gene represent a service component. For exam- ple, in a travel services, a chromosome is a complete tourist routes and genes are attractions, transport, ac- commodation, catering, etc. A population is a set of the chromosomes that in the domain of this complex service. 8 TONG MO, ZHONGJIE WANG, XIAOFEI XU, XIANZHI WANG Copyright © 2009 SciRes JSSM ★ Genetic operation Generating: The population is generated following a random way and the population size is fifty. Each gene in one chromosome is generated by the service component that has the same function type. Here we use a pre-selection technique to limit the scope of the service components. We filter out those components which do not meet the local constraints before the SMA. So the service composition is under the condition of the compo- nents that meet the local constraints and if some of the gene can’t find eligible components, the components that are closest to the demand are reserved as a substitute. Selection/Reproduction: Here we use a mechanism for the survival of the fittest and the worst five chromosomes fall into disuse. Another mechanism in SMA selection is differential reproduction. The chromosomes are put into the breeding pond according to a [0,2] probability which is calculated by its fitness. Crossover: New chromosomes are generated by ex- changing the genes in the same location of two randomly selected chromosomes. Considering the characteristics of service composition, we crossover the chromosomes un- der niche protection. Niche presents a common feature of the same species in biology. In service composition, some simple parts of a complex service are also required to have some same features. For example, some parts should be provided by the same provider. So the niche protection is used to avoid the broken of these same fea- tures through the crossover. Mutation: Mutation changes some genes of a chromo- some and brings some new genes to the population. In SMA, the chromosome and the position of genes are se- lected randomly. ★ Fitness determination In SMA, we use customer satisfaction to be the fitness of a complex service and use penalty function method to determine the satisfaction. )()()( cNcPcf −= The f(c) is fitness of a chromosome and it equals to the positive satisfaction P(c) minus the negative impact N(c) of those constraints that are not bound to meet. The satisfaction of the chromosome P(c) is expressed as P(c)= ∑∏∑ == n i m jas wj jji iSw 11 )( λ == ∑ ∑ = = n i m jji ww 1 1 1,1 There are n genes in a chromosome and i w is the weight of gene i. For each gene, the number of QoS pa- rameters is m, and i w is the weight of parameter j. ( ) jj iS is the satisfaction function of the QoS parameters j of gene i. as λ is the additional contributions to the satisfaction of those genes that are intrinsic satisfaction associated. 6. Case Study The full container load (FCL) export business is one of the core businesses in ocean logistics service domain. It is a deep-division-business and the business chain can be broken down into a number of coupling parts of lower level. Because of the high degree of specialization, one participator is usually responsible for one single-part in the business chain. So in a FCL export business, it often involves many organizations and in most cases the num- ber is greater than five. This situation leads extremely large cost for establishing business relations such as time, money and energy. At this stage in the industry, this problem is mainly solved through a long-term coopera- tive relationship. However, it makes the service to be a low-optional one and very likely to run another way counter to the trend of “On-demand”. The contradiction is a typical problem exists in many service fields that have similar characteristics. So we choose it as case background and try to verify the virtualized service eco- system’s convenience and improvement on efficiency of system building. A typical FCL export business mainly includes five parts: booking cabins, container yard choice and con- tainer allocation, loading goods, export declarations, and container gate-in. According to business needs, these parts can be further divided into different levels. For ex- ample, the part of loading goods includes container pre- paring, truck distributing, goods transformation etc. All of these can be seen as different sized behaviors and can have the providers. Firstly, they are packaged into service components according to the rules above. The main components for the five business links are shown in Fig- ure 3. Figure 4 shows a matching result according to a customer’s requirement. As soon as the customer con- firms a solution from the result set, the platform will send the task message to the real actor through the virtualized software, and start the service 7. Conclusions Nowadays, though service develops rapidly, the system for behavior service is still rudimentary and lacks coor- dination. The results of this paper try to make up for this. Although the virtualized system is still in the simulating and testing stage, it opens a brilliant prospect that we can orchestrate behavior service just like what we have done in web service domain. Figure 3. Service components deployed on the platform TONG MO, ZHONGJIE WANG, XIAOFEI XU, XIANZHI WANG 9 Copyright © 2009 SciRes JSSM Figure 4. Matching result From the case test we can find that, though the initiali- zation of platform and add service component may cost a lot, for each using, it just needs less cost to edit cus- tomer’s demand. A prominent advantage of virtualized system building is that the cost (time, money, and energy) is less impacted by the number of provider. In contrast to this, the cost in traditional system increases dramatically when the provider number grows. Though they use stabile service chain to improve the running condition, the custom degree is also limited. Sometimes, getting a full accordance with the wishes of customer solution from a large number of candidates by manpower can be an unpractical mission. Because the service matching is auto-calculated in virtual- ized system building, so it can release us from the complex computation and compare work, and we become able to pay attention to work more meaningful. At the micro level, we can use statistical methods and data mining to find which component and which combination is often used and then further explore the reasons and the law. At the macro level, based on statistics for a period of time, we may find the evolution of each part in a service business chain from an ecosystem angle. Future work includes: establishing a sound interface system, applying this system into real service, and refin- ing the component matching algorithm. 8. Acknowledgement Research works in this paper are partial supported by the National High-Tech Research and Development Plan of China (2006AA01Z167, 2006AA04Z165) and the Na- tional Natural Science Foundation (NSF) of China (60673025). REFERENCES [1] J. Spohrer and P. Maglio, “Emergence of service science: Services sciences, management, engineering (SSME) as the next frontier in innovation,” Nordic Service Innovation Workshop, Oslo, Norway, 2005. [2] P. Maglio, S. Srinivasan, J. T. Kreulen, and J. Spohrer, “Service systems, service scientists, SSME, and innovation,” Communications of the ACM, New York, Vol. 49(7): pp. 81-85, 2006. [3] J. Spohrer and P. Maglio, “Emergence of service science: Services sciences, management, engineering (SSME) as the next frontier in innovation,” Nordic Service Innovation Workshop, Oslo, Norway, 2005. [4] http://www.Amazon.cn. [5] http://www.Taobao.com. [6] T. Mo, J. M. Xu, Z. J. Wang, Y. F. Ma, H. Y. Huang, Y.Wang, A. Liu, J. Zhu, and X. F. Xu, “SCS: A case study on service composition in automobile supply chain,” Journal of Harbin Institute of Technology, Harbin, China 2008 Supplement 1. pp. 323-329, 2008. [7] http://www.oasis-open.org/committees/download.php/275 49/ws-humantask-1.1-spec-wd-02.doc. [8] http://xml.coverpages.org/bpel4people.html. [9] http://en.wikipedia.org/wiki/SaaS. [10] SaaS 2.0: Software-as-a-Service as Next-Gen Business Platform, Saugatuck Technology. [11] SaaS Integration Platforms: The Looming SaaS Deployment and Support Dilemma, Saugatuck Technology. [12] http://www.oasis-open.org/committees/wsbpel. (Edited by Vivian and Ann) |