Service Discovery in Ubiquitous Computing Environments - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

Service Discovery in Ubiquitous Computing Environments

Description:

Tapestry (Berkeley) Chord (MIT) 15. Napster & Gnutella. Napster: Centralized server cluster ... Tapestry. Nodes and objects have unique 160-bit IDs ... – PowerPoint PPT presentation

Number of Views:21
Avg rating:3.0/5.0
Slides: 32
Provided by: simo2
Category:

less

Transcript and Presenter's Notes

Title: Service Discovery in Ubiquitous Computing Environments


1
Service Discovery in Ubiquitous Computing
Environments
  • Simon (Chih-Chieh) Han
  • Simonhan_at_cs.ucla.edu

2
What is service
  • Applications that perform computation or action
    on behalf of users
  • Examples
  • Server with IP 128.97.93.22
  • HP color printer
  • Files that has UCLA in it

3
Where is X???
  • Ubiquitous Computing envisions
  • Billions of computers, devices, and files
  • How do we locate a particular service or device
    in the network?
  • Service discovery tries to answer the where
    question

4
Issues
  • Availability
  • Given services are in the network, what is the
    success rate of discovery
  • Scalability
  • Must support billion services in the wide-area
    network
  • Load balancing
  • Fault-tolerance
  • Allow frequent service joins/leaves, user
    joins/leaves
  • Security
  • Allow only authenticated access to services
  • Allow discovery of trusted services
  • Expressiveness
  • Support wide range of query for services

5
First GenerationWhere is www.ucla.edu?
  • Characteristics
  • Client/Server model
  • Global name space
  • Targeted at specific services
  • Discover computes in the network
  • Examples
  • DNS (Domain Name Service)
  • NIS (Network Information Service)
  • SAP (Systems, Application, Products in Data
    Processing)
  • Collection of applications for business
  • LDAP (Lightweight Directory Access Protocol)
  • Global
  • Locating Objects in global name space

6
Second GenerationWhere is the printer?
  • Characteristics
  • Client/Server and Decentralized model
  • Security
  • Service expressiveness
  • Fault-tolerance
  • Discover devices in the network
  • Examples
  • SLP
  • Jini (Sun Microsystem)
  • Salutation (Salutation Consortium)
  • INS (MIT)
  • SDS (Berkeley)

7
Service Location Protocol (SLP)
  • User Agents (UA) perform service discovery
  • Service Agents (SA) advertise the location and
    characteristics of services.
  • Directory Agents (DA) collect service addresses
    from SAs and respond to service requests from UAs
  • DA discovery is done either from DHCP or sending
    request to multicast group address
    (239.255.255.253).
  • UA must have the driver for SA!

8
Jini Network
  • Developed by Sun Microsystem
  • Very similar to SLP
  • DA -gt Lookup service
  • SA -gt Service provider
  • UA -gt Client
  • Specific to JVM
  • Device driver can be downloaded from DA

9
Salutation
  • Developed by the Salutation Consortium
  • Similar idea as SLP
  • Services register with Salutation Managers (SLMs)
    and clients query SLMs to find devices
  • Independent of Transport layer
  • As oppose to TCP/IP in SLP
  • Independent of programming language
  • As oppose to Java in Jini

10
Intentional Naming System (INS)
  • Part of MIT Project Oxygen
  • Focus on service description, query and routing
  • XML service description using attribute-value
    tree
  • Support queries of any-cast and multi-cast
  • Integrate query resolution and routing

11
How INS works
12
(Service Discovery Service) SDS
  • Part of Berkeley Ninja project
  • Similar discovery protocol as Jini Network
  • XML service description
  • Hierarchies of SDS servers for Load balancing
  • Focus on security
  • Certificate Authority for public key
  • Capability Manger for capability-based access
    control
  • Wide-area network support
  • Multiple hierarchies
  • Lossy aggregated service description
  • Support simple query with attributes

13
How SDS works
Dashed lines periodic multicast Solid lines
one time RMI connection
14
Third GenerationWhere is music clip?
  • Characteristics
  • Fully decentralized model
  • Scale to wide-area network
  • Structure the network so routing is quick
  • Robust to frequent joins/leaves
  • partition data so joins/leaves require minimal
    work
  • Discover files in the network
  • Napster
  • Gnutella
  • CAN (Berkeley)
  • Pastry (Rice University Microsoft Research)
  • Tapestry (Berkeley)
  • Chord (MIT)

15
Napster Gnutella
  • Napster
  • Centralized server cluster
  • load balance among servers using DNS rotation
  • no security passwords in plain text, no
    authentication, no anonymity
  • Gnutella
  • Flooding based search protocol
  • If you dont have the file you want, query 7 of
    your partners.
  • If they dont have it, they contact 7 of their
    partners, for a maximum hop count of 10.
  • Scaling is problem!!!

16
Content-Addressable Network (CAN)
  • d-dimensional virtual coordinate space to store
    (key, value)
  • Entire coordinate space is dynamically
    partitioned among all the nodes, every node
    owns its individual, distinct zone.
  • Using consistent hash to store/retrieve key
  • Nodes keep virtual neighbors for routing/querying
    purpose.

17
Content-Addressable Network (CAN)
  • When node joins
  • Bootstrap
  • Randomly pick point p
  • Find point p and join routing

18
Queries in CAN
  • Store/retrieve files
  • (filename (K), data (V)) K is deterministically
    mapped onto a point P in the coordinate space
    using Uniform hash function.
  • Simple greedy forwarding to neighbor with
    coordinates closest to destination coordinate
  • Every CAN node maintains a coordinate routing
    table with pointers to 2d neighbors.
  • d-dimensional coordinate space partitioned into n
    equal zones path lengths are O(dn1/d) hops.

19
Pastry
  • Decentralized, scalable, and self-organizing
  • Adapt to the arrival, departure and failure of
    nodes.
  • Seeks to minimize the distance messages travel,
    according to a scalar proximity metric like the
    number of IP routing hops.
  • In Pastry network,
  • Each node has a unique 128 bits id, nodeId
  • secure hash on node public key or IP address
  • Presented with a message and a key, Pastry node
    efficiently routes the message to the node with a
    nodeId that is numerically closest to the key.

20
State of Pastry Node
  • NodeIds are in base 4
  • Leaf set
  • L/2 numerically closest larger nodeID and L/2
    nodes with closest smaller nodeId
  • Routing Table
  • Chosen from scalar proximity metric, such as the
    number of IP routing hops or geographic distance.
  • Neighborhood Set
  • Stores closest nodes according to proximity
    metric

21
Routing in Pastry
  • Forwards message to a node whose nodeId shares
    with the key a prefix that is at least one digit
    (or b bits) longer than the prefix that the key
    shares with the current nodeId
  • If no such node is found in the routing table,
    the message is forwarded to a node whose nodeId
    shares a prefix with the key as long as the
    current node, but is numerically closer to the
    key than the current nodeId
  • Routing table size O(log N)
  • Number of hops O(log N)

22
Tapestry
  • Nodes and objects have unique 160-bit IDs
  • Nodes route messages using destination ID, to a
    node whose ID shares longer suffix
  • Fault-tolerant using soft-state lease
  • Periodic update service information

23
Routing in Tapestry
  • Neighbor Map at node 0642

24
Routing in Tapestry
  • the path taken by a message originating from node
    0325 destined for node 4598

25
Chord
  • Provides peer-to-peer hash lookup service
  • Lookup(key) ? IP address
  • Chord does not store the data
  • Efficient O(Log N) messages per lookup
  • N is the total number of servers
  • Scalable O(Log N) state per node
  • Robust survives massive changes in membership
  • Chord assigns keys to node with consistent
    hashing technique
  • All nodes roughly receive the same number of keys
  • When the Nth node joins ( or leaves ) the network
    only O(1/N) fraction of keys are moved
  • Uses a flat namespaces 0 2m -1 (Key spaces
    used to identify both object and nodes)
  • Node ID in the key space is obtained through
    hashing its IP address
  • A node is responsible for all keys equal to or
    before its identifier until its predecessor
    nodes identifier in the key space.

26
Chord Identifier Circle
27
Simple Key Lookup
  • Each node contacts its successor node on the
    identifier circle

28
Scalable Key Lookup
  • Lookup with finger table (routing table)

29
Trend of Service Discovery
  • Type of service
  • Hosts -gt Devices -gt Files
  • Architecture
  • Client/Server -gt Decentralized
  • Network size
  • Local network -gt Global network
  • Service Description
  • Global name space -gt arbitrary attribute-value
    pairs
  • Service mobility
  • Static -gt highly mobile

30
Beyond Service Discovery
  • What is the business model once we have service
    discovery
  • How can we trust the service provider?
  • How do we determine the quality of service?
  • What are the services besides files and printers?
  • Network simulator service?
  • Bus schedule service?
  • Stock quote?

31
References
  • Christian Bettstetter, Christoph Renner, A
    Comparison Of Service Discovery Protocols And
    Implementation Of The Service Location Protocol.
  • Steven E. Czerwinski, Ben Y. Zhao, Todd D. Hodes,
    Anthony D. Joseph, Randy H. Katz, An Architecture
    for a Secure Service Discovery Service.
  • William Adjie-Winoto, Elliot Schwartz, Hari
    Ralakrishman, Jeremy Lilley , The design and
    implementation of an intentional naming system
  • Peter Druschel and Anthony Rowstron. Pastry
    Scalable, distributed object location and routing
    for large-scale peer-to-peer systems. Submission
    to ACM SIGCOMM 2001.
  • Sylvia Ratnasamy, Paul Francis, Mark Handley,
    Richard Karp, and Scott Schenker. A scalable
    content addressable network. Submission to ACM
    SIGCOMM, 2001.
  • Ion Stoica, Robert Morris, David Karger, M. Frans
    Kaashoek, and Hari Balakrishnan. Chord A
    scalable peer-to-peer lookup service for internet
    applications. Submission to ACM SIGCOMM, 2001.
Write a Comment
User Comments (0)
About PowerShow.com