Service Discovery Overview Introduction History of service discovery

































- Slides: 33

Service Discovery

Overview Introduction History of service discovery, challenges Components Description, distribution, query Existing systems Mainstream, ad-hoc, location aware, semantic, Internetscale

What is service discovery? Query Distribution Provider Directory Service description Service vs resource discovery Consumer

History of resource discovery System Resource Example Remarks RLP (1983) IP Address of some host Finding an internet gateway Request is directed to IP or broadcast to subnet. Whois (1985) Users Domain names Centralized, Localized information X. 500 (1988) General User directory Distributed storage, Complexity (maintaining, populating and querying databases) Archie (1992) Files User information Automated (FTP) directory updates, regular expression query WWW (1992) Document Web pages Distributed, URL

Motivation for new service discovery protocols Static resource information (whois, RLP, X. 500) Automatic discovery of LAN network services (SLP, Jini, UPn. P) n Automatic n n Automatically announce or register service instead of manually entering information. LAN services n Printer, FAX machine, …

Motivation for new service discovery protocols Static resource information (whois, RLP, X. 500) Automatic discovery of LAN network services (SLP, Jini, UPn. P) Internet scale discovery (INS/Twine, Ninja) n Wide-area service discovery n n n Multiple attributes Auto configured and rapid availability Automated discovery without user input Policy support by agent Scalable

Motivation for new service discovery protocols n Pervasive computing n n n User intent Client thickness Cyber foraging (living off the land) Context awareness Proactive vs transparent Ad hoc networks n n Me-services n n n Personal and pervasive Semantic service discovery Dynamic service composition Distributed trust management Profile driven management Semantic web n Express meaning n Knowledge representation using ontologies n Improving accuracy of web search n Agents exchange ontology information to perform service discovery

Components Provider Directory Consumer Directory repository Centralized Distributed Hierarchical Structured P 2 P Ad hoc Service description Attribute/value Tree-like XML Ontologies (DAML)

Components Provider Directory Announcement Register Multicast/broadcast Consumer Query/Service Access Syntax Ontology Programming language dependency

Mainstream protocols Jini Salutation SLP UPn. P Bluetooth Main Entities Lookup Service, Client, Service Salutation Manager, Transport Manager, Client Server Directory Agent, Service Agent, User Agent Control Point, Devices (Services) SDP Client, SDP Server (or both) Service Repository Lookup Service A set of SLMs DA (directory agent) None SDP Server Service Announcement Discovery/ Join protocol Registering with local SLM Service Registration Multicast Not advertisement Supported Access to Service proxy Service object based Session on RMI Management Service type for discovered service Invoking Action to service Not Supported Service Description Interface type and attribute matching Description in XML Attribute ID and Attribute Value Functional Unit Service type and attributes and attribute within it matching

Mainstream protocols Jini Salutation SLP UPn. P Bluetooth Service Group No Scope No Service Class Event Notification Remote Events Availability Checking (periodic & automatic) SLP extension for event notification Service publishes event when state variable changes Not Supported Other Features Java-centric architecture Transport independence Authenticatio Automatic n security configuration feature Services could be browsed from a hierarchy Usage CNN and sprint Web/ Directory Servers, E-mail, Calendar, Collaboration Servers Novell Netware Bluetooth access points, print adaptors, Palm OS bluetooth system Win. XP for gateways, Internet connectivity and NAT

More protocols… m. SLP: mesh-enhanced SLP Fully-meshed peering DA architecture with one or more scopes in common Reliability Scalability Backward Compatibilityextends DA Advertisement with a “mesh-enhanced” attribute

More protocols… UDDI: Universal Description, Discovery and Integration UDDI specifications and schemas used to build discovery services on Internet Provide consistent publishing interface Allow programmatic discovery of services Who: Sun, IBM, Microsoft partnership

More Protocols… UDDI: Universal Description, Discovery and Integration Services described in XML and published using Publisher’s API Consumers access services by using the Programmer’s API built on SOAP Business registry contains yellow, white, green pages

Design for ad hoc networks n n n No central directory service Limited use of network/device resources Reliability Pervasive Distributed Konark Deap. Space GSD Allia

Design for ad hoc networks Main entities Node acts as client+server Service announcement Flooding On device join Periodically, delta announcement (Konark) Slotted (DEAPSpace uses slotted+periodic) Cache advertisements TTL

Design for ad hoc networks Service description What is described? service name, type, attribute, keywords, properties and functions Service hierarchy - tree like structure (Konark, GSD) Interface format, e. g. , function prototype. How is it described and stored? WSDL file (Konark) Data structures similar to ASN. 1 (DEAPSpace) Encoder/decoder Ontology: DAML+OIL (GSD)

Design for ad hoc networks Access to the service RPC SOAP/HTTP - konark Specific Interface, e. g. , function prototype Encoder/decoder – DEAP SPACE Query formation Path based or syntax based Request routing Policy based - allia Group based – GSD

Contributions Konark DEAPSpace GSD Allia Service Description WSDL, hierarchy of services Data structures (encoder/decoder) DAML+OIL N/A Service Announcement Delta gossip protocol Slotted+periodic broadcast Broadcast (broadcast. ID) Policy based alliance of nearby nodes Access to Service SOAP/HTTP; path or syntax based query Interface N/D Intelligently routes to the service groups Provides a policy based framework (Advertisement, Cache and Forwarding Managers) Other Remarks

Design for semantic ontologies Use of semantic ontologies Inexact/exact querying More powerful reasoning engines and AI tools Enhancing current service location protocols Ronin Agent Framework DReggie Find me the best cab service…

Contributions Ronin Agent Framework Dreggie for M-commerce Built on top of Jini Prolog engine Enhance Jini Matching mechanism of Jini’s Lookup. Service Prolog reasoning engine used for matching Agent-oriented development Java classes and interfaces printing service, restaurant service Communicate with other agents using Agent Communication Language Agent deputy Mediates agent communication Represents owner agent in the network Located in the Jini Lookup Service registration along with interface registration Services register with DAML description and interface DAML gives hierarchical description of services

Location-aware service discovery Where is the closest Italian restaurant to me? • Location sensing • Nomadic users • Handy devices Cool. Town, Splendor, Agents 2 Go

Cool. Town Every service (e. g. , printer) has a web server, and a tag. Users walk in and receive URL from tag beacons Connect to the URL which describes the service and can invokes it Place manager maintains resources in a place, with web interface (HTML and XML) Resources can be grouped. Also acts as a resolver for some places

Splendor Tag-based location aware Tag label location and people Proxies Enhanced security Service management (registration, security) Bootstrapping using multicast Trusted servers managing services

Agents 2 Go Palm. App (with CDPD modem) Cell tower Location identified by cell tower id register Restaurant agent or other services User query Brokers Area 2 Initial query form User query Locator Area 3 Maps geographic area to broker Agents 2 Go Server

Contributions Attach web URL to services and periodically broadcast (Cool. Town) Intermediate trusted proxy for security and service management (Splendor) Localized brokers store services in the location and are mapped to based on the user location (Agent 2 Go)

Internet-scale discovery Construct scalable, robust services Huge throughput demands and availability Interoperability Efficiency Fault tolerance INS/Twine, Ninja/SDS, WSPDS

INS/Twine (discovery & early binding) root res subject camera man Uses Chord structured peer to peer system Lookup in Log(N) resolver traffic model ACompany AModel Resource is a camera, manufactured by ACompany and filming traffic. Service Propagation Resource state changes, Strand. Mapper Hash(strand) update is propagated Periodic refreshing of resource information Distributed hash table (Chord). Key. Router maps to Chord. edge resolvers attached to clients update frequently Internal resolvers infrequently

Ninja Services running on clusters of workstations A chain across proxies and bases to find better service Stateless and softstate proxy Heterogeneous devices and sensors Secure Service Discovery Service (SDS) Uses XML to encode Distributed data structures service descriptions Certificate Authority and Capability Managers for security Servers dynamically organize themselves into hierarchies for scalability Filters query upwards to avoid overloading one node (Bloom filter)

Multi-tier ubiquitous service discovery protocol Global Services Registry-gateway to global network Context attributes provided by services Brokering Agentrecommends appropriate service Distance to server Server load Service channel Attribute-value pair service description Localized Service Propagation propagate upward with attenuation factor of service attributes Global Services Query Routing Overlay hierarchy Domain Hierarchy

WSPDS: Web Services P 2 P Discovery Service Servent: Server/Client DAML ontology for service description Querical data network Probabilistic flooding Each node defined by content Node links to other nodes of smiliar content Semantic matching algorithm used to choose neighbor

Contributions INS/Twine: structured P 2 P lookup on strands Ninja/SDS: query filtering and service aggregation Multi-tier Ubiquitous SDP: context attributes, hierarchical, localized service propagation WSPDS: QDN, DAML for service description

Conclusions Service discovery for different scenarios in ubiquitous and pervasive environments: ad-hoc, location-aware, semantic and Internet-scale, and combinations of these Tackle problems in service distribution, query and description Not much work done in semantic service discovery