Gloserv global service discovery architecture
This presentation is the property of its rightful owner.
Sponsored Links
1 / 23

GloServ: Global Service Discovery Architecture PowerPoint PPT Presentation


  • 73 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

GloServ: Global Service Discovery Architecture

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Gloserv global service discovery architecture

GloServ: Global Service Discovery Architecture

Knarig Arabshian and Henning Schulzrinne

IRT internal talk

April 8, 2004


Agenda

Agenda

  • Motivation

  • Background

    • RDF and RQL

  • Architecture

    • Hierarchy, registration, query

  • Related work

  • Conclusions and future work

GloServ/Knarig


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

GloServ/Knarig


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

GloServ/Knarig


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

GloServ/Knarig


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

Service description (RDF)

GloServ/Knarig


More rdf 2

More RDF [2]

(subject, predicate, object)

doc , title, My resume

doc, editor, <>

<>, homePage, http://…

<>, fullName, Alice Cueba

http://www.home.com/doc

editor

title

My resume

fullName

homePage

http://www/~alice

Alice Cueba

GloServ/Knarig


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>

GloServ/Knarig


Rdf schema

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

  • Classproperty : can be many-to-many

  • Classes can have subclasses, Properties can have subproperties

GloServ/Knarig


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>

RDF schema [2]

GloServ/Knarig


Query in rdf

Query 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

GloServ/Knarig


Query in rdf 2

Query in RDF [2]

Querying the properties that belong to a particular domain

select @X from [email protected]} 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

GloServ/Knarig


Architecture hierarchy

Architecture: Hierarchy

event

service

restaurant.service

medical.event

concert.event

GloServ/Knarig

jazz.concert.event

classical.concert.event


Determination of service hierarchy

Determination of Service Hierarchy

  • 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

GloServ/Knarig


Registration

Registration

Service

Agent

Operator

1)Present user with service hierarchy

2) Choose hierarchy level to register to

gloserv:registrar

4)Create form (according to the

meta data) for user to fill out

3) Generate URI and contact

correct server to obtain meta

data for GUI

5)Verify service agent and

store RDF document in server

restaurant.service

GloServ/Knarig


User query

User Query

User

1)Present user with services offered

2) Choose service to query to

Local user agent

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

3) Generate URI and contact

correct server to obtain meta

data for GUI

5)Formulate RQL query and

obtain list of services

restaurant.service

GloServ/Knarig


Generating uri to contact correct authoritative server

Generating URI to contact correct Authoritative Server

  • 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

GloServ/Knarig


Generating uri to contact correct authoritative server1

Generating URI to contact correct Authoritative Server

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

GloServ/Knarig


Query within authoritative server

Query within Authoritative Server

  • 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

GloServ/Knarig


Related work

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

GloServ/Knarig


Related work1

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

GloServ/Knarig


Differences similarities

Differences/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.

GloServ/Knarig


Conclusion and future work

Conclusion and Future Work

  • 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

GloServ/Knarig


  • Login