gloserv: global service discovery architecture

23
GloServ: Global GloServ: Global Service Discovery Service Discovery Architecture Architecture Knarig Arabshian and Henning Schulzrinne IRT internal talk April 8, 2004

Upload: andrew-james

Post on 31-Dec-2015

33 views

Category:

Documents


2 download

DESCRIPTION

GloServ: Global Service Discovery Architecture. Knarig Arabshian and Henning Schulzrinne IRT internal talk April 8, 2004. Agenda. Motivation Background RDF and RQL Architecture Hierarchy, registration, query Related work Conclusions and future work. What is service discovery?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: GloServ: Global Service Discovery Architecture

GloServ: Global GloServ: Global Service Discovery Service Discovery ArchitectureArchitecture

Knarig Arabshian and Henning Schulzrinne

IRT internal talkApril 8, 2004

Page 2: GloServ: Global Service Discovery Architecture

GloServ/Knarig 2

AgendaAgenda

Motivation Background

RDF and RQL Architecture

Hierarchy, registration, query Related work Conclusions and future work

Page 3: GloServ: Global Service Discovery Architecture

GloServ/Knarig 3

What is service discovery?What is service discovery? Where is “foo”? Who

is responsible for “bar”? What Italian

restaurants are near Columbia University?

Events + services Can be location-

based

…there is a classical music concert at 7pm across the street, near your hotel ...

Page 4: GloServ: Global Service Discovery Architecture

GloServ/Knarig 4

Why global services?Why global services? Ubiquitous computing is becoming prevalent in

today’s society Traveler visiting a new city wants to know all

classical music events. Doctor visiting a hospital wants to know

medical services in this hospital. Visitor in starbucks wants to know if it offers

local internet TV.

Service discovery should be global

Page 5: GloServ: Global Service Discovery Architecture

GloServ/Knarig 5

What are the challenges?What are the challenges? Service description and querying

Too specific: does not extend to a new service

Too broad: difficult to search or find Semantically describe services

Global scale Flat: does not scale Hierarchy: like DNS

Location based – restaurant.service.newyork.ny.us Service based – newyork.ny.us.service.restaurant

Page 6: GloServ: Global Service Discovery Architecture

GloServ/Knarig 6

Service description (RDF)Service description (RDF)

<?xml version=“1.0”?>

<RDF>

<Restaurant about=“http://…/PatsPizza.html”>

<Cuisine>Italian</Cuisine>

<Rating>6</Rating>

</Restaurant>

</RDF>

Resource Description Framework (RDF) XML-based by W3C Originally designed to represent metadata for web

resources Semantically defines web resources Identify things using URI Describe using properties and property values

Page 7: GloServ: Global Service Discovery Architecture

GloServ/Knarig 7

More RDF [2]More RDF [2]

(subject, predicate, object)

doc , title, My resumedoc, editor, <><>, homePage, http://…<>, fullName, Alice

Cueba

http://www.home.com/doc

http://www/~alice

My resume

Alice Cueba

titleeditor

homePage fullName

Page 8: GloServ: Global Service Discovery Architecture

GloServ/Knarig 8

More RDF [3]More RDF [3]<?xml version=“1.0”>

<rdf:RDF xmlns:rdf=“…” …>

<rdf:Description rdf:about=“http://www.home.com/doc”>

<dc:title>My resume</dc:title>

<a:editor rdf:nodeID=“editorInfo”/>

</rdf:Description>

<rdf:Description rdf:nodeID=“editorInfo”>

<a:fullName>Alice Cueba</a:fullName>

<a:homePage rdf:resource=“http://www/~alice”/>

</rdf:Description>

</rdf:RDF>

Page 9: GloServ: Global Service Discovery Architecture

GloServ/Knarig 9

RDF schemaRDF schema Vocabulary description language that provides a type

system for RDF. Classes are similar to object-oriented classes Properties are similar to members within a class (Subject, predicate, object) => (Class, property,

property value) Example:

Restaurant, rating, 6 Restaurant, cuisine, Italian

Rating = (domain=>Restaurant, range=>literal) Classproperty : can be many-to-many Classes can have subclasses, Properties can have

subproperties

Page 10: GloServ: Global Service Discovery Architecture

GloServ/Knarig 10

RDF schema [2]RDF schema [2]<RDF …>

<Class ID=“Restaurant”>

<Comment>A dining establishment

</Comment>

<label>Restaurant</label>

</Class>

<Property ID=“Rating”>

<domain resource=“#Restaurant”>

<range resource=“#Literal”>

</Property>

<Property ID=“Cuisine”>

<domain resource=“#Restaurant”>

<range resource=“#Literal”>

</Property>

</RDF>

<RDF …>

<Restaurant about=“http://…/PatsPizza.html”>

<Cuisine>Italian</Cuisine>

<Rating>6</Rating>

</Restaurant>

</RDF>

Page 11: GloServ: Global Service Discovery Architecture

GloServ/Knarig 11

Query in RDFQuery in RDF Different querying languages for RDF

RDF data query language (RDQL) RDF query language (RQL)

Chose RQL Allows schema query (why needed?)

Select Y from {X} rating {Y}

Where X=“http://…/PatsPizza”

Result: Y=6

Find me the rating of pat’s pizza

Page 12: GloServ: Global Service Discovery Architecture

GloServ/Knarig 12

Query in RDF [2]Query in RDF [2]

Querying the properties that belong to a particular domain

select @X from Property{@X} where @X in domain( Restaurant )

=>Result: @X = Rating, Cuisine

Querying subclasses of a particular class

select $X from Class{$X} where $X in subClassOf( Event )

=>Result: $X = Classical, Medical, Emergency

Page 13: GloServ: Global Service Discovery Architecture

GloServ/Knarig 13

Architecture: HierarchyArchitecture: Hierarchy

medical.event

serviceevent

concert.event

jazz.concert.event classical.concert.event

restaurant.service

Page 14: GloServ: Global Service Discovery Architecture

GloServ/Knarig 14

Determination of Service Determination of Service HierarchyHierarchy The GloServ architecture is similar to DNS

root name servers authoritative name servers that manage the information of

services.

Separate classification system similar to North American Industry Classification System (NAICS)

classifies the hierarchy of services establishes RDF schemas that describe each type of service The service categorization is similar to yellow pages directory.

Authority such as ICANN delegates the top level services

Page 15: GloServ: Global Service Discovery Architecture

GloServ/Knarig 15

RegistrationRegistration

gloserv:registrar

restaurant.service

2) Choose hierarchy level to register to

1)Present user with service hierarchy

3) Generate URI and contact correct server to obtain meta data for GUI

4)Create form (according to the meta data) for user to fill out

ServiceAgent Operator

5)Verify service agent and store RDF document in server

Page 16: GloServ: Global Service Discovery Architecture

GloServ/Knarig 16

User QueryUser Query

Local user agent

restaurant.service

2) Choose service to query to

1)Present user with services offered

3) Generate URI and contact correct server to obtain meta data for GUI

4)Create query form (according to the meta data) for user to fill out

User

5)Formulate RQL query and obtain list of services

Page 17: GloServ: Global Service Discovery Architecture

GloServ/Knarig 17

Generating URI to contact Generating URI to contact correct Authoritative correct Authoritative ServerServer Service Level

User chooses the level of the hierarchy it wants to either register to or query to

Registrar and Local User Agent: Concatenate the service hierarchy into a

URI: service->restaurant will evaluate to gloserv:restaurant.service

Page 18: GloServ: Global Service Discovery Architecture

GloServ/Knarig 18

Generating URI to contact Generating URI to contact correct Authoritative correct Authoritative ServerServer Location Level

Find out the nearest location-based servers by querying its cached RDF store of its location hierarchy: new_york.ny.us

Generate URI: gloserv:restaurant.service.new_york.ny.us

If this URI doesn’t exist, try the sibling location gloserv:restaurant.service.brooklyn.ny.us

May also try just the service URI itself in case it is not a location-based service (gloserv:restaurant.service)

Page 19: GloServ: Global Service Discovery Architecture

GloServ/Knarig 19

Query within Authoritative Query within Authoritative ServerServer restaurant.service authoritative server

will execute RQL query on its RDF store and return matches

User may also add additional text to search for

This evaluates to a heuristic that searches for (subject, predicate, objects) that match the text May not be as accurate Gives user opportunity to choose from a

broader list of services

Page 20: GloServ: Global Service Discovery Architecture

GloServ/Knarig 20

Related WorkRelated Work SLP (Service Location protocol)

User Agents (UA) perform service discovery on behalf of a client

Service Agents (SA) which advertise location and characteristics of the service on behalf of the service

Directory Agents (DA), records available services and also responds to service requests from UAs (optional).

Two modes of operation DA exists: UAs learn of services available by unicasting their

requests to the DA. DA doesn’t exist: UAs repeatedly multicast messages to Sas

that responds to the UAs via unicast.

Page 21: GloServ: Global Service Discovery Architecture

GloServ/Knarig 21

Related WorkRelated Work JINI

Built on top of the Java object and RMI system. Service registries, similar to SLP’s DAs The Java class hierarchy defines services and their attributes.

UPnP Doesn’t have a central service registry Services multicast their announcements to control points that are

listening Control points can also multicast discovery messages and search

for devices within the system. XML describes the services in greater detail.

Page 22: GloServ: Global Service Discovery Architecture

GloServ/Knarig 22

Differences/SimilaritiesDifferences/Similarities Scaling

SLP and Jini can cover small networks as well as

larger enterprise networks UPnP appropriate for home or small office networks.

Querying Simple text-based attribute-value query languages for SLP

and Jini UPnP provides more descriptive queries through XML.

Main Drawbacks do not cover a wide area network that spans the whole Internet SLP, Jini provide simpler querying mechanism which do not

give enough flexibility to the system.

Page 23: GloServ: Global Service Discovery Architecture

GloServ/Knarig 23

Conclusion and Future Conclusion and Future WorkWork

GloServ is a global service discovery architecture

Uses RDF/RQL to describe and query for services

Hierarchical definition of services Building a prototype

implementation of GloServ