1 draft of a matchmaking service chuang liu. 2 matchmaking service matchmaking service is a service...

43
1 Draft of a Matchmaking Service Chuang liu

Post on 20-Dec-2015

221 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

1

Draft of a Matchmaking Service

Chuang liu

Page 2: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

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.

Page 3: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

3

Outline

• > Introduction to Matchmaking Service• Description Language• Matchmaking Algorithm• Matchmaking Service design• Conclusion

Page 4: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

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

Page 5: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their 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.

Page 6: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

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

– …

Page 7: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

7

Outline

• Introduction to Matchmaking Service• > Description Language

– >> Introduction

– Design

– Example

• Matchmaking Algorithm• Matchmaking Service design• Conclusion

Page 8: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

8

Description Language

• Description Language is used to by service provider to describe their service and consumer to describe the request.

Page 9: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

9

Description Language

• Requirements– Easy to use and understand

– Symmetric

– High degree of flexibility and expressiveness

– Ability to express constraints and preference

– Machine-understandable

Page 10: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

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

Page 11: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

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

Page 12: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

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

Page 13: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

13

Outline

• Introduction to Matchmaking Service• > Description Language

– Introduction

– >> Design

– Example

• Matchmaking Algorithm• Matchmaking Service design• Conclusion

Page 14: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

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

Page 15: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their 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

Page 16: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

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

Page 17: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

17

Metadata definition example

Resource

StorageResource

CompuationResource

SubClassSubClass

osOS

Unix Linux Windows

SunOS Irix

Redhat Suse

Windows98

Windows2000

WindowsXP

class

property

A example of Class relationship

Page 18: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

18

Metadata Definition example

Definition of this classes described by DAML<rdfs:Class rdf:about="#Resource"></rdfs: Class><rdfs:Class rdf:about="#ComputationResource"> <rdfs:subClassOf rdf:resource="#Resource"/> <rdfs:subClassOf> <daml:Restriction daml:maxcardinalityQ="1"> <daml:onProperty rdf:resource="#os"/> </daml:Restriction> </rdfs:subClassOf></rdfs:Class>

<rdfs:Class rdf:ID="OS"> <daml:oneOf rdf:parseType="daml:collection"> <OS rdf:ID="Linux"/> <OS rdf:ID="Windows"/> <OS rdf:ID="Unix"/> </daml:oneOf></rdfs:Class>

<rdf:Property rdf:ID="os"><rdfs:domain rdf:resource="#ComputationResourcel"/><rdfs:range rdf:resource="#OS"/></rdf:Property>

Page 19: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

19

Metadata Definition example(cont.)

<rdfs:Class rdf:ID="Unix"><rdfs:subClassOf rdf:resource="#OS"/><daml:oneOf rdf:parseType="daml:collection">

<Unix rdf:ID="Irix"/><Unix rdf:ID="SunOS"/>

</daml:oneOf></rdfs:Class>

<rdfs:Class rdf:ID="Linux"><rdfs:subClassOf rdf:resource="#OS"/><daml:oneOf rdf:parseType="daml:collection">

<Linux rdf:ID="suse Linux"/><Linux rdf:ID="Redhat"/>

</daml:oneOf></rdfs:Class>

<rdfs:Class rdf:ID="Windows"><rdfs:subClassOf rdf:resource="#OS"/><daml:oneOf rdf:parseType="daml:collection">

<Windows rdf:ID="Windows98"/><Windows rdf:ID="Windows2000"/><Windows rdf:ID="WindowsXP"/>

</daml:oneOf></rdfs:Class>

Page 20: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

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

Page 21: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their 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)

rs1=ComputationResource::[os=Redhat::[...];...Requirements=...;Rank=...;

]

Page 22: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

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 …

Page 23: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

23

Complex Service Description

• Complex Service Description structure

service=ComplexService::[Member Service1 Description;Member Service2 Description;

...Rules=[ Logic rules used to describe the

relationship of member service;]]<Attribute> = <Value>; ...Requirements=Rank=

]

Page 24: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

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

Page 25: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

25

Example:

• A computation resource and a storage resource connected by network with at least 100k bandwidth

service=ComplexServiceA::[computationR=ComputationResource::[...];storageR=StorageResource::[...];Rules=[ ServiceTopology({s1, s2}) :-

type(s1)=ComputationResource,type(s2)=StorageResource,s1.Bandwidth(s2) > 100 K.

];Requirements=

Rules.ServiceTopology({computationR, storageR}); ...]

Page 26: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

26

Example:

• N machines connected by network with at least 100K bandwidth

s= ComplexService::[t=ComputationResource[...];machinelist=List[...];Rules=[

service(L) :- Size(L)=N, BandReq(L).BandReq({H| T}) :- Conn( H, T), BandReq(T),

Type(H)=ComputationResource.BandReq({H}) :- true.Conn(H, {h|t}) :- H.Bandwidth(h) > 100K,

Conn(H, t).Conn(H, {}) :- true.

];Requirements= Rules.service(machinelist);

]

Page 27: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

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.

Page 28: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

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.

s=OnelineSell::[sellService=Sell::[...];Deliverary= Deliverary::[...];Rules=[

Service({Sell, Delivery}):- Sell.deliveryMethod= Pick-up,requirements(Sell).

Service({Sell, Delivery}) :- Sell.deliveryMethod !=Pick-up,requirement(Sell), requirements(Delivery).

];Requirements=Rules.Service(sellService, Deliverary);...

]

Page 29: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

29

Outline

• Introduction to Matchmaking Service• Description Language• > Matchmaking Algorithm• Matchmaking Service Design• Conclusion

Page 30: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

30

Matchmaking Algorithm

• Two kind of Service descriptions: service ads and service request ads

Resource

StorageResource

CompuationResource

SubClassSubClass

StorageResource

request

StorageResource

offer

ComputationResource

offer

ComputationResource

offer

Request Offer

Resourcerequest

Page 31: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

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.

Page 32: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

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.

request=ComputationResourceRequest::[

os ISA Linux;cpuload=<0, 1>;

... ]

offer=ComputationResourceOffer::[

os=Redhat;cpuload=0.1;...]

Page 33: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

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.

Page 34: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

34

Matchmaking algorithm: Complex Service

• Step 1: Get possible value for every member service

Member Service1

Member Service2

Service instances thatmatch member service 1

Service instances thatmatch member service 2

Member Service2

Service instances thatmatch member service n

Page 35: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their 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)

Page 36: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

36

Outline

• Introduction to Matchmaking Service• Description Language• Matchmaking Algorithm• > Matchmaking Service Design• Conclusion

Page 37: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

37

Matchmaking Service:

• Architecture

Ads repositoryMetadatalibrary

Interface

ads

Matchmaker

metadatadefinition

advertising

browsing /query

Page 38: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

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.

Page 39: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

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 …

Page 40: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

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.

Page 41: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

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 …

Page 42: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

42

Outline

• Introduction to Matchmaking Service• Description Language• Matchmaking Algorithm• Matchmaking Service Design• > Conclusion

Page 43: 1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service

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