1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service.
Published byModified over 3 years ago
Presentation on theme: "1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service."— Presentation transcript:
2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service and help consumers to pick the best service from all available offers.
3 Outline > Introduction to Matchmaking Service Description Language Matchmaking Algorithm Matchmaking Service design Conclusion
4 Some definitions Ads: A service description –Service ads: it is provided by service provider that describes the service provided –Service Request ads: it is provided by consumer that describes the service he wants Service –Simple Service: Service that can not be divided into smaller services. –Complex service: Service that consists of multiple smaller services with particular structure –Member Service: a service that is part of a complex service. It can be a simple service or a complex service
5 Matchmaking Service Functionalities: –Advertising Service providers can advertise their services and consumers can advertise their requests –Browsing Consumer and service provider can browse the current ads –Querying Consumer and service can find out a relevant ads from current available ones.
6 Matchmaking Service Key components: –A language to express ads –Matchmaking algorithms to match ads –A repository to organize all ads that are advertised by consumer and service provider –…
7 Outline Introduction to Matchmaking Service > Description Language –>> Introduction –Design –Example Matchmaking Algorithm Matchmaking Service design Conclusion
8 Description Language Description Language is used to by service provider to describe their service and consumer to describe the request.
9 Description Language Requirements –Easy to use and understand –Symmetric –High degree of flexibility and expressiveness –Ability to express constraints and preference –Machine-understandable
10 Description Language Flexibility and Expressiveness –Flexible/Extensible enough to describe different services used in difference scenarios such as: Grid resource selection, e-commerce –Expressive enough to describe both a simple service and a complex service that may consist of several simple services with a particular structure. –Ability of express semi-structured data
11 Related work: ClassAds language ClassAds language –Use arithmetic/logic expression to describe the attribute of a service, constraints and relationship of services. –pros: It is very easy to use and understand Can describe the constraints and preferences that is often a logic/arithmetic operations of attributes every easily –cons: ClassAds is just a data structure. For a service description, we need more semantic ontologies to describe service in order to implement semantic match Limitation to describe the complex service that has particular structure or logic relationship
12 Related work: XML based language RDF, DAML+OIL, DAML-S, UDDI, ebXML) –Use metadata to describe the a service –pros: Support Semantic match –cons: not so easy to understand Limitation to express constraints and preference because it doesn’t support logic/arithmetic expression Limitation to describe the complex service that has particular structure or logic relationship
13 Outline Introduction to Matchmaking Service > Description Language –Introduction –>> Design –Example Matchmaking Algorithm Matchmaking Service design Conclusion
14 Description Language: Design Components in a service description –Metadata definition: It defines the metadata that can be used to describe the service –Member Service description: It defines the member services using metadata –Full Service description: It defines attributes of this service and the logic structure of member services in this service
15 Description language: Design Metadata definition –Solution: Semantic Web technology –Pros: The extensibility of XML language make it possible to describe different kinds of services Support semi-structure data Support subsumption match Many ongoing projects make it a developing technology
16 Metadata definition Four kinds of metadata –Class Similar to Class in OO programming language, it defines a type of service. Class definition includes constraints to its properties and its relationship with other Class. –Properties Similar to property in OO programming language, it defines a attribute of a Class. Property definition includes range of property value, domain where the property will be used, and its semantic relationship with other properties. –Value It defines valid values that can used to describe properties –Metadata to define the logic relationship between classes (for example: subclass) and logic relationship between properties( for example: subproperty).
20 Service Description Every service belongs to a class Property/value pair to describe the characteristics of a service For complex service, using logic programming language to describe the relationship of its member service
21 Simple Service Description ClassAds structure + metadata –Example( here ‘ComputationResource’, ‘os’ and ‘linux’ is metadata defined in previous example. And ‘ID’, ‘Requirements’ and ‘Rank’ are system defined metadata)
22 Simple Service Description Extensions to ClassAds language –Class declaration operator: “::” –Attribute/Value: metadata –Subsumption operator: ISA “Redhat ISA Linux” return true based on the definition of metadata “Redhat” and “Linux” in previous example –Function: Type() Type(rs1) = “Computation Resource”; –More data types: for example: a= means value of a is between 1 and 5, here is new data type “scale”. –More …
23 Complex Service Description Complex Service Description structure
24 Complex Service Description Extensions to ClassAds language –Aggregation function to describe the aggregation attributes of Whole service –Logic programming language to describe the logic relationship of member services in this service
25 Example: A computation resource and a storage resource connected by network with at least 100k bandwidth
26 Example: N machines connected by network with at least 100K bandwidth
27 Example Mapping function in parallel computing –1 D mapping function for cactus application –Because this example can not be fitted into this page, it can be provided by request.
28 Example A simple online selling service includes two member services: Sell and Delivery. If in Sell service, customer chooses in-store pick-up, no delivery is needed.
29 Outline Introduction to Matchmaking Service Description Language > Matchmaking Algorithm Matchmaking Service Design Conclusion
30 Matchmaking Algorithm Two kind of Service descriptions: service ads and service request ads
31 Matchmaking algorithm A service ad only matches service request ads that are his sibling or children of sibling in the class tree. –Example: Ad in “Resource Request” class will match ads in “Storage Resource Offer” and “Computation Resource Offer” class in previous graph.
32 Matchmaking algorithm Simple Service: two ads match each other if there is not conflictions in their common properties and attribute “requirements” is evaluated to true.
33 Matchmaking algorithm-complex service Complex Service description includes two parts: description of member services and predicates that describe the relationship of member service. Matchmaking is a process to find the related member services and organize them into a complex one that match the requirements.
34 Matchmaking algorithm: Complex Service Step 1: Get possible value for every member service
35 Matchmaking algorithm: Complex Service Step 2: –Treat possible value for every member service as value range of this member service. –Using the solver for constraint logic programming language to get the value for every member service that satisfy the predicate. –Related works (CLP programming language and solver)
36 Outline Introduction to Matchmaking Service Description Language Matchmaking Algorithm > Matchmaking Service Design Conclusion
38 Matchmaking Service –Advertising Service: Let consumer to advertise their request and let service provider to advertise their service. –Browsing Service: Let’s user to browse the current ads. All Service is described by a class, So this service can support classified browsing function. –Query Service: Let’s user to get ads that satisfying his requirements.
39 Matchmaking Service Query Service: Instant Service: Matchmaking Service returns the matched result instantly Subscription Service: Matchmaking Service notifies the subscriber newest result for his request periodically. More …
40 Matchmaking Service Interface design: –Interface for user to add or modify metadata –Based on the metadata library, a user-friendly GUI interface is provided to help user to build a valid ads.
41 Matchmaking Service Ads repository –The organization of ads Based the type of ads, organize them into a logic tree structure in order to improve performance of browsing and query –More …
42 Outline Introduction to Matchmaking Service Description Language Matchmaking Algorithm Matchmaking Service Design > Conclusion
43 Conclusion Description of service –Introduce metadata to describe the service –Use logic programming language to describe complex services Matchmaking algorithm –Support semantic match –Support the matchmaking of complex service Matchmaking Service –Service design