1 / 23

GloServ: Global Service Discovery Architecture

What Italian restaurants are near Columbia University? Events + services. Can be location ... Restaurant, range=>literal) Class property : can be many-to-many ...

Roberta
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. 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. GloServ: Global Service Discovery Architecture

    Knarig Arabshian and Henning Schulzrinne IRT internal talk April 8, 2004

    2. Agenda

    Motivation Background RDF and RQL Architecture Hierarchy, registration, query Related work Conclusions and future work

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

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

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

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

    7. More RDF [2]

    (subject, predicate, object) doc , title, My resume doc, editor, <> <>, homePage, http://… <>, fullName, Alice Cueba http://www.home.com/doc http://www/~alice My resume Alice Cueba title editor homePage fullName

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

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

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

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

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

    13. Architecture: Hierarchy

    medical.event service event concert.event jazz.concert.event classical.concert.event restaurant.service

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

    15. Registration

    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 Service Agent Operator 5)Verify service agent and store RDF document in server

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

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

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

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

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

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

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

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

More Related