MobiCom 2000 Tutorial

Service Discovery and Device Cooperation

MobiCom 2000 Tutorial

Service Discovery and Device Cooperation

Tutorial Overview

Introduction to Mobile Computing

Ubiquitous, Mobile, Nomadic

What does Mobile Computing Offer?

Offerings (2)

A One Slide Case Study

The Toys

Portable Information Appliances

Case Study:  Palm VII

Characteristics of Mobile Devices

Characteristics (2)

Characteristics (3)

Other Mobile Computing Challenges

Mobile Computing Challenges

Challenges (2)

 Proxies, Proxies

Adaptation

Challenges (3)

Service Discovery

Why?

Service Discovery: Scenarios

Dynamic Discovery of Devices

Dynamic System Configuration

Service Discovery: Capabilities

Service Discovery: Components

Who?

A Simple Scheme: DNS SRV

DNS SRV RR Details (from RFC)

DNS SRV RFC Details (2)

DNS SRV Example

DNS SRV Limitations

Bluetooth: Goals

Piconets / Scatternets

Who is Bluetooth?

The Cordless Desktop

Goodbye Cables…Hello Cooperation

“Send” and Forget...

"Last hop" Network Access

Bluetooth Kills Trees...

Bluetooth vs. Bluetooth SDP

Bluetooth Hardware

Bluetooth Hardware

Aside: Bluetooth vs. IrDA

Bluetooth Protocol Stack (!)

Bluetooth Device Connection States

Bluetooth States

Bluetooth SDP: What?

Bluetooth SDP

Bluetooth SDP

Bluetooth SDP: NOT

SDP: Service Classes

SDP:  Service Records

SDP: Service Attributes

SDP Service Primitives

A Brief Look at Security Issues

Bluetooth Security

Bluetooth Security (2)

Bluetooth Security (3)

Bluetooth: Concerns

Jini: Goals

Jini Requirements

Aside: Multiple Devices per JVM

Jini Requirements (2)

Jini Technology

Jini Infrastructure Initialization

Jini Entities

What is a Jini Service?

Jini Lookup Services

Lookup Service Discovery

Finding a Lookup Server: Protocols

Jini: Multicast Request Protocol

Jini: Multicast Request Protocol

Jini: Multicast Request Protocol

Jini: Multicast Request Protocol

Jini: Multicast Request Protocol

Jini: Multicast Request Protocol

Jini: Unicast Discovery Protocol

Unicast Discovery: LookupLocator

Jini: Multicast Announcement Protocol

What Service Do I Want?

ServiceRegistrar: Remote Control for Lookup Server

Registration: ServiceItem

Choosing Services: ServiceTemplate

Globally Unique Service Identifiers!

Scope of Lookup Discovery Protocols

Other Jini Stuff

Jini Security

Jini Security (2)

Java Security Manager

Even with the Security Manager..

Jini: Concerns

Jini:  Simple Example

SLP: Service Location Protocol

SLP: Agent Duties

SLP: Goals

SLP: Discovering DAs

Service Templates

SLP Advertisement/Queries

Some of the SLP Message Types

SLP Schematic (From Whitepaper)

SLP: Reducing Traffic

SLP: Security

Microsoft Offerings

Microsoft: UPnP

UPnP: Device Model

UPnP Device Model Example

UPnP:  Six Steps

Addressing: AutoIP

AutoIP

Discovery: SSDP

SSDP in Action

SSDP Service Announcement

SSDP Response: The Details…

UPnP Description Documents

Description Document, Cont.

UPnP: Control

UPnP: Events (GENA)

UPnP: Presentation

UPnP Security

SLP vs. SSDP

UPnP vs. Jini

UPnP: Concerns

Salutation Consortium

Salutation Overview

Salutation: Architecture

Salutation: Functional Units

[FAX]

[DOC]

Searching for Services

Salutation Architecture

Salutation API:  Quick Peek

Salutation Lite

Salutation Security

Salutation: Concerns

Interoperability

Jini ßŕ SLP Bridge

Jini ßŕ SLP Bridge (2)

Final Thoughts

Useful References

Useful References (2)

Useful References (3)

Useful References (4)

Useful References (5)