Notes
Slide Show
Outline
1
Course Overview
  • Introduction
  • Data in Wireless Cellular Systems
  • Data in Wireless Local Area Networks
  • Internet Protocols
  • TCP over Wireless Link
  • Ad-Hoc Networks, Sensor Networks
  • Services and Service Discovery
  • System Support for Mobile Applications
2
Services
  • Many other standardized and non-standardized services exist. Mobile computers will need to find out about the existence of these services to provide a complete computing environment to the end-user:
    • directory services: X.500, LDAP
    • e-mail services: POP, IMAP
    • other Internet services: FTP, HTTP, NNTP, DHCP
    • non-standardized services: printers, e-commerce servers, file storage, …..
  • Often, find servers in “neighborhood”, which changes over time
  • Configure device to use these servers automatically
3
Service Location Protocol (RFC 2165)
  • Clients find Servers by type and desired attributes
  • Services advertise themselves
  • Provide “scopes” to organize services, using arbitrary policies
  • Provide low-cost administration and effortless extension to new services
  • Provide decentralized and (after creation) self-administered availability
  • Compatibility with browsers, existing applications, and services (using URLs)
4
SLP Agent Model
5
SLP Protocol Characteristics
  • Distributed and self-managing, with numerous service agents
  • compatible with other administrative protocols and mobile networking protocols
  • string-based (reduced parser complexity)
  • easily implemented
  • uses existing standards where possible
  • expressive query grammar (LDAP v3 query syntax)
  • Scalability a prime motivation, given expected explosion of network services
6
Service Location Discovery Framework
  • User Agents (UAs) intercede for applications
  • Service Agents (SAs) intercede for services
  • UAs and SAs on nearby networks can communicate
  • Larger deployments use Directory Agents (DAs) transparently
7
Service Handles: URLs
  • Standardized way to access a large variety of network resources
  • General form of URLs: <scheme>:<scheme_specific_part>
  • Often, URLs something like: scheme://host:port/opaque
  • Some examples:
    • nfs://slag.eng.sun.com/src/slp
    • service:http://www.research.sun.com/
    • service:lpr://motels.eng.sun.com/MPK15-214
8
Service Requests
  • A UA requests a service
    • by type, possibly with a naming_authority
    • from a particular scope
    • by predicate (a boolean query based on service attributes)
  • Example:
    • service type = service:printer:lpr
    • scope list = Engineering, Marketing
    • predicate = (&(location-description = Printer Room)                (duplex-mode = duplex))
  • Representation: <service-type[.na],scope,[query]>
9
Service Request Examples
  • <nfs, default, (content=slp-src)> returns only NFS servers whose content attribute have value slp-src
  • <http.sun, research, homepage> returns all “homepages” within scope “research”
  • <lpr, local, postscript> uses reserved value “local” for the scope and only returns printers registered with the keyword postscript
10
SLP: Finding Directory Agents
  • There are four ways to find Directory Agents
    • listening for directory agent advertisements
    • multicast/broadcast request for small installations
    • request option 78 from DHCP
    • manual configuration
  • So even in worst case (manual configuration), user does not need to configure each service manually, only SLP
11
SLP: Other Messages
  • Service Acknowledge
  • Attribute Request
  • Attribute Reply
  • DA Advertisement
12
SLP Example: Finding a Printer
13
SLP Example: Mobile Computer Setup
14
SLP: Scalability
  • Small installation: no need for DA, local broadcasts
  • Large installations:
    • replicate multiple DAs
      • fault tolerance
      • load sharing
      • requires some form of “reliable broadcast”
    • scopes
      • operator-defined
      • use DHCP to configure SLP agents with non-default scopes, using SLP Service Scope Option (79)
  • Very large installations: misses protocol for DA-DA interactions
15
SLP Status
  • Standardized in RFC 2165
  • Products start to appear (Novell, Apple, Cisco, …)
  • Intel interested in SLP v2 as basis for their “Wired for Management” OEM initiative
  • Specified as part of the MCNRS (Mobile Network Computer Reference Specification)
  • Salutation Consortium has adopted SLP for service device discovery
16
JINI Connection Technology
  • Three basic trends:
    • end user is system administrator
    • computers disappear
    • the one computer is everywhere
  • Vision: When you walk up to an interaction device that is part of a system employing Jini technology, all of its services are as available to you as if they were on your own computer--and services include not only software but hardware devices as well, including disk drives, DVD players, VCRs, printers, scanners, digital cameras, and almost anything else you could imagine that passes information  in and out. Adding a new device to a system employing Jini technology is simply plugging it in.
17
JINI Requirements
  • Jini connection technology requires a few things:
    • an infrastructure which operates as a dynamically distributed system
    • a common language and implementation that enables low-overhead communication between distributed objects
    • a lookup service (which identifies objects that supply those services)
    • an add-in protocol which is implemented on each device -- the discovery/join protocol
    • a subtract-out mechanism -- providing resilience when a device is unplugged -- which is called leasing
18
JINI Overview
19
JINI Discovery
20
JINI Discovery Process
21
JINI Join
22
JINI Lookup
23
JINI Service Invocation