1 / 43

Draft of a Matchmaking Service

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

ulric
Download Presentation

Draft of a Matchmaking Service

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Draft of a Matchmaking Service Chuang liu

  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).

  17. Metadata definition example

  18. Metadata Definition example Definition of this classes described by DAML

  19. Metadata Definition example(cont.)

  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=<1, 5> means value of a is between 1 and 5, here <1, 5> 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

  37. Matchmaking Service: • Architecture

  38. 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.

  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

More Related