Personalized Service Selection
FIELD OF INVENTION
' The present invention relates to a method of selecting at least one service from a group of services, and in particular to the selection of at least one service from a group of services discovered through submission of a service description to a network node cataloguing and advertising services.
TECHNOLOGICAL BACKGROUND
Services as to be understood within the present specification relate to services provided through any generic service platform supporting service discovery and service interaction, e.g., Web service platforms, further service provision platforms beyond the third generation of mobile communication environments. In view of reasons increased in the variety of services, it is essential that
users are supported in the selection of appropriate services that fulfill their individual tasks and needs. Besides choosing the service providing appropriate capability, however, a user will also have certain preferences towards the utility in view of different objects or information each service may provide.
One such typical example of services are Web services as Internet-based, distributed modular applications providing standard interfaces and communication protocols and aiming at efficient and effective service integration. Typical Web service applications include business-to-business integration, business process integration and management, re-sourcing and content distribution. . - ... . ■
However, distinct approaches to service selection rely on standards like UDDI (The UDDI Technical White Paper, http ; //ww .uddi . org . ) , WSDL (E. Christensen, F. Curbera, G.
Meredith, and S. Weerawarana, Web Services Description Language (WSDL) 1.1. http://www.w3.org/TR/2001/NOTE-wsdl- 20010315, 2001) or ebXML (ebXML.ebXML Web Site. http; //www. ebXML.org. ) having only limited semantic meaning used for service description: UDDI specifications are designed to function in a fashion similar to yellow pages, their services can be looked up by name and/or by a simple taxonomy of services capabilities.
Other approaches rely on the semantic Web like DAML-S (A.
Ankolenkar, M. Burstein, J.R. Hobbs, 0. Lassila, D.L. Martin, D. McDermott, S.A. Mcllraith, S. Narayanan, M.
Paolucci, T.R. Payne, and K. Sycara . DAML-S: Web Service
Description for the Semantic Web. In Proc. Of Int. Semantic Web Conf. (ISWC'02, Sardinia, Italy, LNCS 2342, Springer, 2002) or WSMF (D. Fensel and C. Bussler. The Web Service Modeling Framework WSMF. To appear in Electronic Commerce Research and Applications. http://www.cs.vu.nl/~dieter/ wese/wsmf .paper .pdf) . They are first efforts trying to provide semantically enriched service descriptions. However, these concepts still let aside personalization issues such as the use of knowledge-based descriptions, also referred to as ontologies in the followings, for user/service profiling, preference-based representations of user demands or the cooperative assistance in the selection process. Further, missing concepts of interoperability for human interaction with services have severe problems again due to lack of personalization.
SUMMARY OF INVENTION
In view of the above, the object of the present invention is to support user-centered and personalized selection of services .
According to the present invention, this object is achieved through a method of selecting at least one service from a group of services discovered through submission of service descriptions to a network node cataloguing and advertising services. A first step is provided to pre-select services from the group of services in compliance with a pre- determined service-objective represented through a query term. Secondly, the query term is expanded with service
parameters expressing service user preferences. In a third step, the expanded query term is instantiated for submission of service requests to pre-selected services or catalogues for delivery of related service offers.
In view of the above, an important aspect of the present invention is a two-step approach to service selection. Initially, services are pre-selected according to abstract non-instantiated query terms. Then, before instantiation of such query terms, the query terms are expanded with service parameters expressing service 'user preferences. It should be noted that such expansion is only considered for service parameters supported through pre-selected services.
Therefore,, only in the final step there is instantiated. the standard query term for submission of service requests to pre-selected services or catalogues. The services will then process related service requests and respond with related service offers so as to indicate how instantiated service parameters may be supported.
An important advantage of the present invention is automatic expansion of service requests enriching them with user-specific needs and wishes, e.g., taken from typical usage patterns or explicitly supplied values. Further, services not matching query term profiles in view of a given service object may be discarded on the fly, avoiding unnessary service request processing overhead.
Therefore, the present invention significantly improves the handling of the growing number of services through
instantaneous limitation of sites of service offers being indeed able to meet specified service objectives. In other words, only services having desired service capabilities will be checked with respect to service availability in view of service user goals.
Further, the two-stage approach according to pre-selection using abstract query terms and final selection using instantiated expanded query terms allows for comparison of finally generated service offers with user-provided strategies and preferences for desirable objectives and user benefits.
Yet another important advantage is that the present invention is .easily deployable in universal environments including any type of service provision platforms.
In view of the above, the present invention supports personalization during service selection playing a key role during selection and composition of services to choose between different competing services and perform predefined objectives.
Further, the present invention anticipates seamless integration of networks providing services where the variety of services may be expected even to grow by orders of magnitude making services' usability an important success factor.
Still further, it should be noted that the selection mechanism according to the present invention does not only
depend on simple service utility measures like execution costs, but also considers the usefulness of objects or information that a service offers in view of user needs. In other words, the focus of the present invention is not on the use of a service as such, but on the support of an end user during selection ^of a service considering the objective and goal of the service user.
Therefore, the quality of services may be essentially improved per se because a service user is supported in proactive, advanced, personalized way during all steps necessary to service execution.
According to a preferred embodiment of the present invention, the expansion of the query term may either be achieved automatically, i.e.' through automatic identification of signature parameters of pre-selected services offered beyond the query term, or through user specification.
Also here, the present invention is perfectly adapted to support most flexible personalization of service selection even in an automatic or in a user-driven "process .
Therefore, the present invention perfectly supports personalization according to the needs of the service user. Either the service user prefers automized personalization of service selection in view of pre-existing usage patterns or aims at a detailed selection of preferences for each and every service selection and therefore prefers interaction during service selection.
According to yet another preferred embodiment of the present invention, soft constraints parameters are instantiated using values derived from service . user profiles, collections of user preferences, service domain knowledge representation or through user specification.
This preferred embodiment of the present invention is perfectly suitable to cope with increasing diversity of types of services, e.g., business-to-business, peer-to- peer, and customer-to-customer.
Further, it allows to represent user preferences in view of converged network and services, a plethora of devices like wireline phone, wireless phone, wireless hand-held, Internet-connected desk-top, lap-top, WLAN, pager, different roles of end users like employee, e.g., approvers, project teams, travel-related services, or personal, e.g., family, travel-related services, etc.
From the above, it may be seen that each different service scenario may lead to different aspects of personalization which may perfectly be represented, e".g., through user profiles, user preferences, and/or service domain knowledge for selection of a particular type of service in a related context .
According to yet another preferred embodiment of the present invention, it is proposed to assess the service offer for terminating service selection. Assessing a service means a tradeoff between service utility, which. may
be added value of the service accuracy of service, trustworthiness of service, etc., and costs of service execution.
This preferred embodiment is a further step towards personalization and support of the service user in service selection. It should be noted that the type of utility measure is freely selectable within the overall framework of the present invention as long as it is in relation to the way different services are offered.
Typical examples of utility measures for assessment of services may be the costs functions, weighting of different offered service features, consideration of time-related aspects, cost aspects, usage patterns, etc. in evaluating offered services.
According to yet another preferred embodiment of the present invention, it is proposed to relax the query term along the line of user preferences when the service offered does not meet pre-determined criteria. Here, it should be noted that relaxation may be related both to hard constraints and soft constraints of "'the query term, optionally by considering a pre-determined order of relaxation. Preferably, the steps of pre-selection and selection of services is repeated in view of the query term for delivery of a relaxed service offer.
This preferred embodiment of the present invention is of particular use to avoid either information flooding in view
of an under-specified service request or a no-result effect in view of an over-specified request.
Further, relaxation and modification of a service request is of particular benefit when the context of service provision changes on the go, e.g., due to roaming of a mobile service user, change of availability of services, change of user preferences, etc.
According to a further preferred embodiment of the present invention, service selection is achieved in view of combined services through service object decomposition.
In particular, it is proposed to decompose a service objective reflecting a complex, service goal into a plurality of service sub-ob ectives being related to services having lower complexity. Then, for each such sub- objective, at least one service is selected as outlined above. Finally, combinations of services are evaluated with respect to the sub-objects.
The handling of combined services άs of particular value in view of converged services and increasing service diversity, e.g., through third-party application platform interfaces. Therefore, decomposition is of particular value for provision of user-centered services.
E.g., a service user may be interested in arranging a business trip, however, may not be particularly interested in taking care of booking a flight, renting a car to the airport, finding a routing to the meeting space, finding
currency exchange facilities, and finally booking restaurants, or whatever type of sub-service is necessary to achieve an overall service goal .
Further, service objective decomposition considers growing diversity of services. As service users can be expected to consider all services offered until they find an adequate match, it is imperative that the task of service decomposition is as well supported within the overall framework of the present invention, in particular in a personalized manner, so as to not only support selection of single services, but also to recommend combinations of services in a personalized manner between which the service user may then subsequently choose. ' ,
Preferably, service decomposition may be driven by user profiles, usage patterns, preferred decomposition strategies in view of user groups, or service usage histories gathered from previous interactions or, in other words, long-term profiles.
According to yet another preferred embodiment of the present invention, the selective service selection and/or decomposition approach is applied recursively over a hierarchy of service levels.
This preferred embodiment of the present invention supports modularity in structuring the service selection problem in a top-down manner. Service query terms may be as well personalized in a structured, modular manner taking a step- by-step approach over different levels of abstractions to
increase overall quality of the final selection and decomposition/composition result .
According to another preferred embodiment of the present invention there is provided a computer program product directly loadable into the internal memory of a service selection apparatus comprising software code portions for performing the inventive service selection process when the product is run on a processor of the service selection apparatus.
Therefore, the present invention is also provided to achieve an implementation of the inventive method steps on computer or processor systems. In conclusion, such implementation leads .to the provision of computer program products for use with a computer system or more specifically a processor comprised in, e.g., a service selection apparatus.
This programs defining the functions of the present invention can be delivered to a computer/processor in many forms, including, but not limited to information permanently stored on non-writable storage media, e.g., read only memory devices such as ROM or CD ROM discs readable by processors or computer I/O attachments; information stored on writable storage media, i.e. floppy discs and harddrives; or information convey to a computer/processor through communication media such as network and/or Internet and/or telephone networks via modems or other interface devices. It should be understood that such media, when carrying processor readable
instructions implementing the inventive concept represent alternate embodiments of the present invention.
BRIEF DESCRIPTION OF DRAWING
In the following preferred embodiments of the present invention will be explained with reference to the drawing in which:
Fig. 1 shows a schematic diagram illustrating the provision of services in the sense of the present invention;
Fig. 2 shows a schematic diagram- of .a service selection apparatus according to the present invention;
Fig. 3 shows a flowchart of operation of the service selection apparatus shown in Fig. 2 ;
Fig. 4 shows a further detailed schematic diagram of the service selection apparatus shown in Fig. 2;
Fig. 5 shows a flowchart of operation of the service selection apparatus shown in Fig. 4 ;
Fig. 6 shows a further flowchart of operation of the service selection apparatus shown in Fig. 4;
Fig. 7 shows recursive application of service decomposition/selection over several levels of service objective abstraction according to the present invention;
Fig. 8 shows an example of a service objective decomposition according to the present invention;
Fig. 9 shows an example of service selection according to the present invention;
Fig. 10 shows approaches to Web service provision for support of service selection according to present invention; and
Fig. 11 shows approaches to semantic Web service provision for support of service selection according to the present invention.
DESCRIPTION OF PREFERRED EMBODIMENTS
Throughout the description of the best mode and preferred embodiments of the present invention the terminology used should be understood as follows :
Constraints : = Set of query attributes to be fulfilled by the respective service or the offered results. Constraints are either imposed on a service interface or on a service output .
Service := A service is a software object or a network entity, meant to interact with other services or an end user, encapsulating certain functionality or a set of functionalities. A service has a defined interface.
Hard Constraints : = Constraints that strictly have to be fulfilled.
Query Term := Phrase used to communicate with a service catalog or the service itself. A query term expresses user needs in terms of hard/soft constraints. A query language is defined and used to express query terms, e.g., the Structured Query Language SQL for catalogs/services implemented through standard database systems. A query term may also contain semantic descriptions.
Query Relaxation/Expansion := Re-formulation of a given query term either through adding new constraints, typically soft constraints, or the explicit relaxation of soft/hard constraints with respect to a given or associated user preference.
Service Catalog , := .Services are registered and advertised with specialized network entities/nodes, i.e., service catalogs, for automated advertisement and discovery by clients. Catalogs may also be distributed over a plurality of nodes in a network. For Web Services UDDI repositories are often used as catalogs .
Semantic Service Description := Verbal service characterization for semantic meaningful advertisement of a service, e.g., keywords or an ontology-based description, e.g., DAML-S or Semantic Web.
Service Interface : = List of service typed parameters, also referred to as signature or signature parameters. The service interface is defined as an ordered list and has to be instantiated before service invocation.
Service Signature : = set of service parameters, also referred to as signature parameters, arranged in order and specified to a certain parameter type for service invocation, service parameters have to be instantiated before service invocation.
Service Request := List of instantiated signature parameters in compliance with a query term.
Soft Constraints : = Constraints that should be fulfilled, if possible, e.g., user preferences.
User Preferences := User preferences are used to express user wishes either through a partial order of relevant terms (I like A better than B, I prefer A over C, etc.) or through reasonable numerical soft constraints (minimize the price of a service, find the nearest service, get the closest flight booking date, etc.) in naturally ordered domain. User preferences may be expressed in semantic form using common techniques from knowledge representation.
Web Service -. = A Web service is a special service identified .by a URI uniform resource identificator, whose interfaces and bindings are defined and described using XML. Its definition can be discovered by other software systems, typically through (centralized) service catalogs. These systems may then interact with the Web service in a manner prescribed by its definition, using XML based messages conveyed by Internet protocols.
Fig. 1 shows a schematic diagram illustrating the provision of services in the sense of the present invention.
As shown in Fig. 1 and outlined above, a service 10 encapsulates at least one functionality 12 which is provided through a .defined interface 14 in a network 16. Irrespective whether a service is provided as software object or network entity or a combination thereof, interaction with other services or service end user(s) is achieved via service signatures allowing for an exchange of information necessary for service invocation. It should be noted that the present invention is not restricted to a particular type of network, and , is applicable, e.g., to mobile communication networks, the Internet, local networks, converged networks, heterogeneous networks, peer- to-peer networks, etc., or any combination thereof.
In other words, after instantiation of service typed parameters or equivalently signature parameters a service may be invoked through a related service request. While the present invention is not to be understood as being restricted to a particular type of service, typical non-
binding examples of services are Web services, I-mode services, other distributed service paradigms, e.g., CORBA, JINI, JXTA.
As shown in Fig. 1, a service catalog 18 is provided to register and advertise different services provided in the network 16. A service catalog may be distributed over a plurality of nodes in the network 16. Service catalogs 16 achieve advertisement and promoting of services using service descriptions on an abstracted level, e.g., a semantic service description as outlined above.
In view of the above, it should be clear that service selection through a service user is based on service discovery using an abstract service description • and query terms, while invocation of a service selected by a service user necessitates instantiation of the service signature.
As will be explained in the following, the present invention significantly improves mechanisms for service selection in that service selection is not only based on abstract service descriptions, but also based on service interrogation mechanisms enriched with user preferences.
Fig. 2 shows a schematic diagram of a service selection apparatus according to the present invention.
As shown in Fig. 2, the service" selection apparatus 20, which may equally be referred to as service management apparatus, is provided for selecting at least one service from a group of services discovered through submission of a
semantic service description to a network node cataloguing and advertising services.
As shown in Fig. 2, the service selection apparatus comprises a service discovery unit 22 (optional when services are discovered, e.g., as pre-defined set of services preferred by a specific user) , a service preselection unit 24, a query expansion unit 26, and a service selection unit 28. Different sub-units of the service selection apparatus exchange information via a bus 30.
Fig. 3 shows a flowchart of operation of the service selection apparatus and related sub-units shown in Fig. 2.
Before explaining details of operation of the. service selection apparatus 20 shown in Fig. 2 it should be noted that service selection according to the present invention means support of user objectives through consideration of user preferences during service selection instead of simply relying on formal service descriptions for service selection and putting the burden of considering details of service capabilities on the user.
As shown in Fig. 3, operatively the service discovery unit 22 executes a step S10 to discover or identify a set of candidate services which in principle are available to meet a service objective formulated and provided by a service user. Service discovery according to step S10 implies submission of a service description to a network node cataloguing and advertising services.
As shown in Fig. 3, operatively the service pre-selection unit 24 executes a step S12 to pre-selecting services from the services discovery in compliance with a pre-determined service objective. Here, assuming that a service objective is represented through a query term pre-selection of services means discarding those services that do not support a query with the submitted query term.
As shown in Fig. 3, operatively the query expansion unit 26 executes a step S14 to expand the query term with service parameters expressing service user preferences. Here, expanding the query term means identifying signature parameters of pre-selected services offered beyond the query term as soft constraint parameters .
As shown in Fig. 3, operatively the service selection unit 28 executes a step S16 to instantiate the expanded query term for submission of service requests to pre-selected services and delivery of related service offers. As service offers are generated through consideration of user preferences it is possible to support user objectives in a highly efficient way.
From the above, it should be clear that expanding the query term with user preferences for service selection improves selection quality by ruling out inadequate services. Options for personalized selections of services based on signature parameters are, e.g., cooperative retrieval techniques aiming at finding the adequate query term against available services.
As will be explained in more detail in the following, service users are free to decide which constraints of a query term should never be dropped and which parts and/or in what order constraints may be dropped. A semantic service description where a service user leaves out constraints means that he does • not insist on related service characteristics.
On the other hand, if many alternative services are available for service selection previously gathered preferences from a long term user profile or directly user specified preferences may be expressed in the form of soft constraints. Unlike hard constraints, they may be relaxed when a query term gets too specific and does not lead to suitable service offers any longer.
As shown in Fig. 3, operatively the service selection unit 30 finally executes a step S18 to assess a digital service and, optionally, to invoke the selected digital service. Here, assessment of a digital service means consideration of service utility in view of service execution costs. It should be noted that any type of service assessment is well applicable within the service selection framework of the present invention, e.g., application of cost • functions, weighted cost functions, utility functions as function expressing the value of service for the service user.
Fig. 4 shows a further detailed schematic diagram of the service selection apparatus shown in Fig. 2.
As shown in Fig. 4, the service discovery unit 22 comprises a semantic description unit 32 and a service objective decomposition unit 34. The query expansion unit 26 comprises a soft constraint unit 36 and a user interface unit 38. The service selection unit 28 comprises an instantiation unit 40, a service assessment unit 42, a service offer display unit 44, and a query term relaxation unit 46. Additional sub-units are a user preference database unit 48 and a control unit 50.
Operatively, the semantic service description unit 32 is adapted to receive and process a service objective for generation of a related semantic service description. The semantic service description then forms the basis for service discovery through involvement of service catalogs.
Further, operatively the service objective decomposition unit 34 supports the service description unit in set-up of appropriate semantic service descriptions through decomposing a complex service objective into a plurality of sub-objectives which may be easier to achieve. One related, non-binding example would be the decomposition of the service object business travel organization into the sub- objectives traveling, • accommodation, meeting place arrangement.
Further, operatively the service object decomposition unit 34 has access to the user preference database 48 storing a representation of service user profiles, collections of user preferences, service domain knowledge representation, etc. to achieve service object decomposition. E.g., usage
patterns reflecting user strategies for service objective decomposition and may be clustered according to user groups. According to the available service and user specific information, the service decomposition unit will then set-up the sub-objectives and forward them to the semantic description unit 32.
Further, operatively the service object decomposition unit 34 is adapted to model a relation between different identified sub-objectives for assessment of combinations of services offered with respect to the different sub- objectives. The relation between the sub-objectives may be modeled using a graph representation, wherein every sub- objective is represented as a node of the graph and every service achieving the sub-objective is represented. • as directed edge leading to the node and originating from a node modeling a sub-objective that has to be achieved before the service may be invoked.
In the following different sub-units of the query expanding unit 26 will be explained with reference to Fig. 4.
Operatively, the soft constraint unit 36 is adapted to receive a set of pre-selected services and related signature parameters. In processes this information to automatically identify signature parameters of pre-selected services offered beyond the query term as soft constraint parameters, e.g., as a difference set between signature parameters of each pre-selected service and the query term used for discovery of the service.
Further, operatively the interface unit 38 is adapted to input of signature parameters as soft constraints through the service user. It should be noted the interface unit 38 may be operated also in combination with the soft constraint unit 36 to further improve degree of personalization during service selection.
In the following different sub-units of the service selection unit 28 will be explained with reference to Fig. 4.
Operatively, the instantiating unit 40 is adapted to assign values to signature parameters of a query term for submission to the related service. The service will then process the submitted instantiated- signature parameters to evaluate service availability in view of the instantiated, specified values for delivery of a service offer.
In other words, it makes a difference whether a service has the capability to process a certain user objective, e.g., non-stop flight to a destination, or whether such a user objective may actually be achieved after more detailed definition of the objective, e.g., availability of non-stop flight to destination on a certain day.
Further, operatively the instantiating unit 40 is not only adapted to instantiate signature parameters of a query term, but also to instantiate soft constraint parameters in view of information, e.g., in the user preferences database 48. Therefore, not only hard constraints may be considered
during service selection but also soft constraints expressing user preference.
As outlined above, the. addition of soft constraints, either generated automatically or through user interaction, and the subsequent instantiation is the pre-requisite for support of users during service selection. This may be achieved in a most efficient manner, when user preferences, usage patterns, assumed user intentions, usage stereo types, etc. are considered for meaningful instantiation of query parameters to generate correspondingly meaningful and personalized service offers.
Assuming that such service offers comprises alternatives to a specific service objective or sub-objective a .further aspect of service selection is related to the final decision which service will actually be invoked.
Heretofore, operatively the service assessment unit 42 shown in Fig. 4 is adapted to assess the service offer. Generally, service assessment implies a tradeoff between service utility and service invocation costs. Here, while the present invention is not restricted to any type of utility and cost - measure, typical examples for utility are trustworthiness, execution time, achievable service quality. Further, typical examples for costs are costs charged by the service provider, related communication costs, etc.
Further, assuming that the initial service object has been decomposed into a plurality of sub-objectives being modeled
through the graph representation as outlined above, operatively the service assessment unit 42 is adapted to assign a utility measure and a cost value for service assessment and to evaluate meaningful service combinations, e.g., through path metric calculation.
As alternative to automatic selection of a service from a service offer, the present invention also supports termination of service selection through the service user. Therefore, operatively the service offer display unit 44 will display a service offer with related service characteristics for termination of the service selection process through the service user.
A further important aspect of the present invention to be explained in the following relates to query term expansion/relaxation.
As outlined above, query term expansion/relation means re- formulation of a given query term either through adding new constraints, typically soft constraints, or the explicit relaxation of soft/hard constraints with respect to a given or associated user preference.
Operatively, query term expansion/relation unit 46 is adapted to modify query attributes to be fulfilled by a service or offered service results, wherein constraints on service performance are either imposed on a service interface or a service result.
Service expansion/relaxation may be achieved in view of pre-known user preferences, usage patterns, etc. or alternatively through user-interaction before subsequent repetition of the service selection process with the expanded/relaxed query term.
The overall flow of operation of the service selection apparatus controlled by the control unit 50 shown in Fig. 4 will be explained with reference to Fig. 5 and 6.
As shown in Fig. 5, initially a service offer will be generated according to the steps S10 to S18 as outlined above. Then in a step S20 there is executed an interrogation whether the delivered service offer meets pre-determined criteria either. in view of automated service offer assessment or through indication by the service user. In the affirmative case the service selection process will terminate while otherwise a step S22 is executed for expansion/relaxation of the query term. Subsequent hereto, the steps S10 to S18 will be executed again for delivery of a modified service offer. The service delivery iterations will be repeated until either the pre-determined service criteria are met or an upper limit for the number of service delivery iterations is reached.
As shown in Fig. 6, considering the offer of combined services on the basis of service offer decomposition the service selection process as explained with respect to Fig. 5 has to be repeated with respect to each identified sub- objective.
As shown in Fig. 6, a step S24 is executed to decompose the service objective into service sub-objectives as outlined above. Then, a step S28 corresponding to step S10 to S18 shown in Fig. 5 is executed to select at least one service with respect to each sub-objective. The result of step S26 is the basis for execution of step S28 executed to assess combinations of services selected with respect to the sub- objectives .
A further important aspect of the present invention is related to recursive application of the service selection according to the present invention over several hierarchy levels of service abstraction.
As shown in Fig. 7, service, objective decomposition and related service selection processes can be applied recursively to an increasingly refined service granularity. On each service hierarchy level service offers may be generated, both, without and with service objective decomposition, as appropriate.
While above, different aspects and preferred embodiments the present invention have been described, in the following the concepts underlying the present invention will be illustrated with respect to a service selection example.
Heretofore, there is considered a sample user called Michael who is working for a Los Angeles based Company and has to attend a business meeting in Boston at a specific date. Setting up all necessary preparation is a complex task and a finding of adequate services may be quite time-
consuming. In particular, communicating personal requirements and preferences to a plurality of services that even might not be available for Michael's task will definitively get tedious.
Basically the task may include, but is not restricted to setting up the necessary transportation, achieving reservations for accommodation or restaurants, and arrangement of meeting times and places with business partners. Depending on Michael's preferences it may also involve other tasks, e.g., arranging entertainment for the evenings or discovery of sporting or sightseeing possibilities.
As outlined above, after discovery of related services Michael would still be confronted with a single or a composition of a plurality of services that best fit (s) his personal needs. However, given the growing diversity of services Michael can not be expected to browse all service offers until he finds an adequate match. Thus, the task of service objective decomposition and related service selection will be supported through offer of service recommendations as a set of possible services or related combinations between which Michael can finally choose.
Fig. 8 shows an example a service objective decomposition in view of Michaels service objective, i.e. arranging a business trip to Boston.
Generally, while the discovery of services can often be performed, e.g., using simple key-word based searches on
the semantic Web, a combination of several services still poses difficulties unless the concepts of service objective decomposition according to the present invention and as outlined above are applied. Due to the heterogeneity and autonomy of different services it is impossible to rely on existing models to build and coordinate composition of services .
As shown in Fig. 8, in particular personalization aspects must be considered during service objective decomposition. Depending on the characteristics of the traveling starting point and the meeting place several ways of achieving the service objective may be applied possibly involving a variety of different services.
E.g., if the business trip spans over a rather long distance, a service for booking a flight will be possibly involved. However, it could also be in compliance with Michael's preferences to travel by train.
Further, since flights can only achieve transportation between two airports, the service objective arrange business trip will finally be decomposed, e.g., into: find possible transportation or most convenient airports for departure and arrival, transport Michael from office or his apartment to airport, book flight to chosen airport, transport Michael from this airport to business location or meeting place.
As shown in Fig. 8 and outlined above, this service object decomposition may be represented as directed graph. Based
on this service objective decomposition, then single services may be discovered and selected in the sense as outlined above, e.g., a flight book service or a train booking service .
Further, transportation from the office to the airport may be decomposed into taxi-service or public transportation, which again decomposes into bus or subway service. Transportation from the destination airport to the business location may again be of the simple kind like getting a taxi or involve complex tasks like renting a car. Thus, complex tasks generally will again decompose into several sub-services. For the example shown in Fig. 8 one may identify twelve different ways of doing the business trip.
Here, each way to organize Michael's business trip is related to one of his usage patterns that is categorized by the respective location and time constraints. E.g., if Michael decides to take a flight and use the subway to the airport a subway service providing a line to the airport must be selected and a flight must be selected that will be airborne some time after the subway has arrived to allow check in.
While there is no' single dedicated approach to service objective decomposition, companies like travel agencies will use certain usage patterns or heuristics to handle it. E.g., starting with a general approach like distance or duration of a journey they chose appropriate means of transportation or decide if booking a hotel will be necessary, then working out details.
During design of services an understanding what capabilities the service should provide will be formed and considered. An understanding of different possibilities for usage of the service and also related service objective decompositions for certain typical queries or service requests are mandatory. These typical interactions with services for different user groups are often referred to as usage patterns. Here, a usage pattern depends on user intentions and different intentions will need different usage patterns.
As outlined above, as different user groups will have at least some typical strategies to achieve some kind of - -service objective, these groups may be clustered and then be assigned to different usage patterns.
E.g., considering a service for traveling to locations for departure and destination will always have to be supplied and will differ from usage to usage, but possible service decompositions will always be taking the train or booking a flight. Generally speaking, the train will be slower but cheaper than the flight.
Here, distinguishing only two user groups one may assign simple service objective decomposition strategies. There may be business travelers for whom time is probably a more important asset than money. This may trigger some default business travel service decomposition patterns, e.g., avoid train and book business class flight, minimize flight time, avoid change of plane during business trip.
Also, different rules for service domain knowledge apply. E.g., the relaxation of constraints like arrival time for business traveling is far more difficult than with a usage pattern for tourists. Typical tourist usage patterns would be more concerned about money and hence try to minimize costs such that taking the train could be an adequate choice, whereas flying business class would be less desirable .
Therefore, for composing different service sub-objectives usage patterns may be seen as a representation of different possibilities or strategies that users apply to decompose their service objective. The decomposition into service sub-ob ective's then has a direct impact' on the selected of services for achievement of the overall service objective.
Considering again the sample usage scenario as outlined above the complex transportation problem from the destination airport in Boston to the business place may be decomposed into different service sub-objectives. One option would be renting a car at .the airport, another one would be taking a taxi or public transportation. Whatever the decomposition will be, it strongly depends on the user an thus is a matter of adequate personalization techniques using personal preferences to state preferred decomposition strategies and/or dislikes.
It should be noted that these strategies generally override more general terms of usage patterns. E.g., if a service user suffers from fear of flying his or her ■ personal
profile would definitely state the dislike of flying although he or she might be part of a business traveling pattern that prefers fast ways of traveling. In this case the specific personal . profile would override the more general profile.
Fig. 9 shows an example of service selection on the basis of an available service objective decomposition, e.g., the booking of a flight after service decomposition according to Fig. 8.
Service selection relates to selection of services fulfilling hard constraints that advertise to perform a service (sub-) objective but may differ with respect to typical parameters, e.g., execution costs. As . outlined above, according to the present invention it is proposed to add preferred service characteristics of objects and information that a service claims to provide during service selection.
As will shown in the following service selection example, this helps to select from different discovered services and to discard services that can in principle handle a service (sub-) objective, but do not provide preferred service features along user preferences. Thus service selection according to the present invention features expanding a service request by service user specific demands and wishes. Services not matching a certain profile are discarded on the fly and equally useful service discovery results are compared with respect to user provided strategies. Using techniques from cooperative answering
there is achieved a better selection considering service user's long term profile without running the risk of empty service selection results.
For the example given with respect to Fig. 8 one may assume without loss of generality that Michael decided to book a flight .
Firstly, there must be discovered possible service candidates that allow to achieve the service objective flight booking. As the business meeting starts at 3 p.m. on the 10-th of November, Michael has to arrive till noon to have some time left to go to the business location. Besides Michael wants to fly business class. To express his objectives one could, in a non-binding manner, consider a SQL type query:
SELECT flights FROM services
WHERE departure = 'LAX' AND arrival = 'BOS'
AND arrival_date <= '10-03-2003 12:00'
AND class = 'business'
to discover four candidate services, see step S10 in Fig. 3 and Fig. 5, according to:
As shown in the middle part of Fig. 9, the next step is sorting out what parameters are needed to guarantee the observance of Michael's hard constraints, see step S12 in Fig. 3 and Fig. 5.
Since the service query specifies departure, arrival, arrival date, class, the Air Travel Economy service is discarded on the fly for not providing business class services .
The next step., see step S14 in Fig. 3 and Fig. 5, relates to checking for additional parameters beyond the hard constraints. As shown in Fig. 9, the result will be: departure, date, airline, price, and non-stop.
The next step, see step S16 in Fig. 3 and Fig. 5, relates to a query of Michael's long tern profile for preferences with respect to these additional parameters. The result reveals that Michael generally uses Delta Airline and prefers non-stop flights. Some general preferences from the flight booking service domain could also be supplied, e.g., short travelling time, i.e., departure with maximum proximity to the arrival date is preferred. However, since it is a business trip no information about preferred prices will be available so that no signature parameter for price will be instantiated for the expanded query.
Now, in a next step, see step S20 in Fig. 3 and Fig. 5, expanded queries will be build -with respect to pre-selected services according to:
SELECT flights FROM Book'n_Fly WHERE departure = 'LAX' AND arrival = 'BOS' AND arrival_date <= '10-03-2003 12:00' AND class = 'business' PREFERRING MAX (departure_date)
SELECT flights FROM Flights_0n_line WHERE departure = 'LAX' AND arrival = 'BOS'
AND arrival_date <= '10-03-2003 12:00'
AND class = 'business' PREFERRING MAX (departure_date)
AND airline = 'Delta'
SELECT flights FROM Easy Flights
WHERE departure = 'LAX' AND arrival = 'BOS'
AND arrival_date <= '10-03-2003 12:00'
AND class = 'business' PREFERRING MAX (departure_date)
AND non-stop = true
As shown in Fig. 9, the candidate services will respond to the expanded query with service offers according to:
It should be noted that although some of the services may not be queried with airlines all services may be capable of stating the airline in the service offer. Easy flights
delivers two possible flights, where D765 is a non-stop flight while LH737 has a better departure and arrival time.
Performing the service assessment step, see step S18 in Fig. 3 and Fig. 5, the service selection approach according to the present invention would propose Easy Flight's D765 as it optimizes two soft constraint parameters, i.e. airline and non-stop.
However, also every other suitable service assessment could be used: Michael might for instance insist on the short traveling time. Returning to the non-empty set of candidate services the service selection is finished and Michael may eventually decide which service should be booked.
However, if no services are discovered, Michael would have to reconsider his hard/soft constraints in the query term, see steps S20 and S22 in Fig. 5. E.g., he might have to decide to drop the business class constraint.
As shown in Fig. 5, service selection would start all over. In this case even the previously discarded Air Travel Economy service may have to be considered again.
In the following a further example of service selection according to the present invention will be explained.
Heretofore and in addition to the above, it is assumed that
Michael also wants to achieve a restaurant booking, e.g., after the business meeting in Boston. Michael may decide for a local restaurant featuring Chinese cuisine and • may
use his PDA or mobile phone _ to discovery appropriate services. Since the business meeting is expected to end about 7 pm, he wants to book a table from 8pm to have some time left to go to the restaurant. Besides, he wants to book a restaurant that is suitable for business occasions. To express his objective one could, in a non-binding manner, consider a SQL query:
SELECT reservation FROM restaurant_service WHERE booking = '10-03-2003'
AND booking_time >= '8:00 pm' AND category = 'business'
to discover four candidate services, see step S10 in Fig. 3 and Fig. 5, according to:
In view of the above, all query terms specified in the where-clause are hard constraints, see step S12 in Fig. 3, and Fig. 5. I.e., neither would Michael at this stage book a restaurant on any other day, nor would he consider a casual-style restaurant to entertain his business partners.
Here, as the query term specifies booking date, booking time, and category, the service Take-out Sichuan has to be discarded immediately, as no signature parameter category is provided for this restaurant service.
Thus, the cooperative service selection algorithm according to the present invention executes the necessary steps to choose adequate services and get the maximum quality results. It assumes that a service objective is provided that can be managed, e.g., by Web services. A long-term user profile and/or general common knowledge on the service domain and related common vocabulary may be used.
The next step, see step S14 in Fig. 3 and Fig. 5, checks for additional signature parameters beyond the hard constraints and gets the signature parameters food flavour, non-smoking, and price range. Now Michaels long term profile which may be stored on his PDA or mobile phone is queried for preferences with respect to these additional signature parameters.
This may lead to the result that Michael generally likes to take business partners to expensive restaurants and rather prefers tables in non-smoking areas. Some general preferences from the service domain may also be applied, e.g., everyone would prefer a reservation close to the specified time or in other words a booking time with minimum time delay to the specified booking time. However, since it is a business dinner, no information about preferred food flavours may be available.
The next step, see sep S16 in Fig. 3 and Fig. 5, is the expansion of the query term with respect to the individual services and the instantiation of the expanded query terms Using, e.g., a declarative notion, the result are three instantiated query terms submitted to the restaurant , services according to:
SELECT reservation FROM Wong's_Grill WHERE booking = '10-03-2003' AND booking_time >= '8:00 pm' AND category = 'business' PREFERRING MIN (booking_time)
SELECT reservation FROM Cantonese_Specials WHERE booking = '10-03-2003'
AND booking_time >= '8:00 pm'
AND category = 'business' PREFERRING MIN (booking_time)
AND non_smoking = 'true'
SELECT reservation FROM Shandong_Inn
WHERE booking = '10-03-2003'
AND booking_time >= '8:00 pm'
AND category = 'business' PREFERRING MIN (booking_time)
AND price_range = 'expensive'
The following table shows sample service offers from the different services:
As can be seen, every restaurant service returns his best offer with respect to Michael's hard constraints and preferences expressed as soft constraints. It should be noted that although the restaurant services may not allow for querying on, e.g., ratings, some restaurant services may nevertheless be capable of stating their ratings in the service offer.
The next step, see step S18 in Fig. 3 and Fig. 5, relates to assessment of the delivered service offer.
Cantonese Specials delivers two possible reservations, because one is a non-smoking table whereas the other one has a better booking time. Since both aspects are related to soft constraints and Michael did not specify an ordering, the service offers can be considered as equally good.
Further, Wong's Grill will be discarded since it is in every aspect worse than the reservation, e.g., at the Shandong Inn.
It may not automatically be decided which of the further options is to be preferred since Michael might put emphasis on the non-smoking table or might use an entirely new characteristic, e.g., rating, for his final decision. Therefore, every suitable or a previously known service assessment may be used: Michael might, e.g., always insist on the closest booking, in which case the Shandong Inn would be the overall best recommendation" Anyway, returning a non-empty service offer the selection may be finished and Michael may eventually decide which restaurant service should be booked.
However, if an empty service offer is returned, Michael will reconsider his service constraints, see set S20 and S22 in Fig. 3 and Fig. 5.
Michael could, e.g., decide to drop his business category constraint. Then, service selection would start all over. In this case even the previously discarded Take-out Sichuan service will have to be considered again.
In view of the above, it should be clear that a service user may easily supply soft constraint parameters and/or an order of relaxation. Soft constraints would have to be seen as supplied for a special service request and could be more specific than or even conflicting with general long term preferences and would thus have to be evaluated after the provided hard constraints, but before the query is expanded with terms from the long term user profile.
Fig. 10 shows .approaches to Web service provision .for support of service selection according to present invention.
As shown in Fig. 10, the present invention is also applicable in combination with a plurality of existing approaches to enhanced service description.
Service discovery q may be achieved "through Universal description, Discovery, and Integration, UDDI, as approach to online registry of Web services. Further alternatives are Web Service Description Language, WSDL, as XML based vocabulary, and the Simple Object Access Protocol SOAP, E- Speak comparing service requests with service descriptions, and/or ebXML offering service description from a workflow perspective.
Fig. 11 shows approaches to semantic service provision for support of service selection according to the present invention.
DAML-S is an ontology-based approach to the description of Web services and aims at providing a common ontology or services. Build on top of DAML+OIL, D. Connolly et al . DAML+OIL Reference Description, W3C note, December 2001, the design of DAML-S follows the layered approach to semantic web markup languages, DAML-S aims at providing an ontology that allows an agent and users to discover, invoke, and compose Web services. The structure of the DAML-S ontology is threefold and has a service profile for advertising and discovering services, a process model giving detailed descriptions of . the service operation, and a service grounding which provides details on how to interoperate with a service via message exchange.
As shown in Fig. 11, another alternative for semantic service discovery is a Web Service Modeling Framework,
WSMF, describing the pre-conditioning and post-conditioning of services together with a service model . The Web Service
Modeling Framework, WSMF, aims at strongly de-coupling the various components • implementing a Web service application while at the same time providing a maximum degree of mediation between the different components. Web Service
Modeling Framework, WSMF, builds on comprehensive ontologies such as DAML-S and provides the concepts of service objective repositories and mediators to resolve service requests.
While above different standards for service discovery have been discussed with respect to Fig. 10 and Fig. 11, clearly they are considered as non-binding to the scope of the present invention. Further, any of the functionalities outlined above, may be either realized in hardware, software, or a combination thereof.