430 likes | 716 Views
Draft of a Matchmaking Service. Chuang liu. 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. Outline. > Introduction to Matchmaking Service Description Language
E N D
Draft of a Matchmaking Service Chuang liu
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.
Outline • > Introduction to Matchmaking Service • Description Language • Matchmaking Algorithm • Matchmaking Service design • Conclusion
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
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.
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 • …
Outline • Introduction to Matchmaking Service • > Description Language • >> Introduction • Design • Example • Matchmaking Algorithm • Matchmaking Service design • Conclusion
Description Language • Description Language is used to by service provider to describe their service and consumer to describe the request.
Description Language • Requirements • Easy to use and understand • Symmetric • High degree of flexibility and expressiveness • Ability to express constraints and preference • Machine-understandable
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
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
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
Outline • Introduction to Matchmaking Service • > Description Language • Introduction • >> Design • Example • Matchmaking Algorithm • Matchmaking Service design • Conclusion
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
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
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).
Metadata Definition example Definition of this classes described by DAML
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
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)
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=<1, 5> means value of a is between 1 and 5, here <1, 5> is new data type “scale”. • More …
Complex Service Description • Complex Service Description structure
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
Example: • A computation resource and a storage resource connected by network with at least 100k bandwidth
Example: • N machines connected by network with at least 100K bandwidth
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.
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.
Outline • Introduction to Matchmaking Service • Description Language • > Matchmaking Algorithm • Matchmaking Service Design • Conclusion
Matchmaking Algorithm • Two kind of Service descriptions: service ads and service request ads
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.
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.
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.
Matchmaking algorithm: Complex Service • Step 1: Get possible value for every member service
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)
Outline • Introduction to Matchmaking Service • Description Language • Matchmaking Algorithm • > Matchmaking Service Design • Conclusion
Matchmaking Service: • Architecture
Matchmaking Service • 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.
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 …
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.
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 …
Outline • Introduction to Matchmaking Service • Description Language • Matchmaking Algorithm • Matchmaking Service Design • > Conclusion
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