Service Discovery and Interaction Technologies for Pervasive

Download Report

Transcript Service Discovery and Interaction Technologies for Pervasive

Service Discovery and Interaction
for Pervasive Computing
Nigel Davies
Computing Department
Distributed Systems Lab
Lancaster University, Lancaster,
Sony Electronics,
U.K.
San Jose, CA
Why
• Dynamic environments:
– More devices
– Rapid changes in configuration
– Device mobility
• Zero configuration
– No network managers
– Ability to use newly discovered services
Examples: The Home
• “No new wires” based networks
– Powerline, HomePNA, 802.11, Bluetooth
• Networked appliances
– White goods, CE goods etc.
Home Entertainment
• Relative expense and complexity makes the
addition of home networking feasible.
Office Environments
• Need to locate and interact with lots of new
services.
Service Proxy
A/V Server
Control Server
Projectors
VCR
AV Routing
Lights
Base Station
Demonstration
Aside - User Interaction
• Desirable properties of interface for
controlling a device:
– Unambiguous
– Precise
– Clear start state
– Secure/validated input
Aside - User Interaction
• An alternative
Aside - User Interaction
• How bad would this be ?
Aside - User Interaction
• Activities and interactions have a natural
pace that must be supported.
• For direct manipulation users need feedback
within a few 100 milliseconds.
• Network latency, buffering, user interface
components and user activities all affect the
pace of interaction.
Requirements
• High-quality networks:
– High bandwidth.
– Low latency.
– Guaranteed levels of service.
– Secure.
– Easy deployment and configuration.
• High-quality end-systems:
– Streamed video and audio.
– Rapid response to user actions.
Analysis
Interaction and
application
concerns
Home API
UPnP
Service registration
and discovery and
supporting
protocols
SDP
SSDP
CORBA
Java
&
Jini
Salutation
JetSend
SLP
HTTPU
HAVi
RM
TP
TCP / UDP
Transport and
network protocols
and support
modules
Networking
technologies
X-10
Home
automa
tion
IP,
IP,DHCP,
DHCP,AutoIP
AutoIP
Bluetooth
Ethernet
HomePNA
802.11
HomeRF
1394
CE
Bus
and
Home
Plug
and
Play
Case Study : Mobile Access to
Home AV Networks
• Access to Home AV devices, applications
and content from a mobile device.
• Support streaming AV content originating
and terminating at the mobile device.
Universal Plug and Play
• Pervasive peer-to-peer network connectivity
– PCs, intelligent appliances, and wireless devices.
• Targets :
– home networks, proximity networks, small businesses
networks.
• Enables data communication between devices and
control via a control point on the network.
UPnP Strategy
• Just send data over the network
– (No executables)
• Keep implementation private
– Does not require specific language, OS
– Update implementation without affecting interop
• Agree on meaning and format of data
– Choose subset of proven protocols
– Device-specific agreements driven through a Forum
Interactions
Get an IP
Get an IP
address
address
Discover device
Get XML description
Control Point
Subscribe for Events
Send Events
Invoke Actions
Get Presentation
Device
UPnP Protocol Stack
UPnP vendor
UPnP Forum
UPnP Device Architecture
HTTPU/MU GENA
SSDP
SOAP
HTTP
UDP
IP
TCP
HTTP
GENA
HAVi
• HAVi is a platform for building applications
for home AV networks.
• Supported by a wide range of CE
companies.
• Based on 1394 to provide hot plug and play,
high bandwidth and QoS guarantees.
• Not an IP solution.
HAVi
• Devices split into FAVs, IAVs and BAVs.
• Devices are controlled using DCMs, hosted on
FAVs or IAVs.
• HAVi specifies a complete API for
applications – guaranteed quality for
consumer.
FAV
BAV
BAV
Choosing a Platform
• HAVi offers:
–
–
–
–
Excellent API
Support for many AV devices
AV streaming
QoS guarantees
• UPnP offers
– IP integration
– Device/domain integration
– Ease of implementation
Architecture Requirements
• Three distinct requirements:
– Support access to HAVi APIs from wireless IP devices, enabling
such devices to host HAVi applications and control HAVi devices.
– Support access to wireless IP devices from applications on HAVi
networks, enabling IP devices to appear as local 1394 devices.
– Support streaming of AV content between devices on the HAVi
network and wireless IP devices
Implementation : Discovery
• Discovery is based on the Simple Service
Discovery Protocol (SSDP):
– HAVi/IP bridges periodically announce themselves
using multicast.
– Mobile devices issue explicit queries.
• When a mobile device discovers a HAVi/IP
bridge it registers itself with the bridge.
• The bridge instantiates a DCM and FCMs for the
device.
Implementation : Streaming
• Key was to integrate streaming support with
media toolkits such as JMF etc.
– Java APIs supplemented with JMF HAVi data source
– C++ APIs supplemented with a plug in for
PocketTV’s mpeg player
• Window created using toolkit, plumbing and
control done using HAVi.
– HAVi/IP bridge implements e.g. a display FCM for
the mobile device
– Use HAVi to wire this to an AV drive and video
appears on mobile device
Client Architecture
HAVi Applications
Java and C++
HAVi/IP
Management APIs
Java and C++ HAVi APIs
DCM
Implementation
Functions
Java media
Framework
APIs
Custom JMF
data sources
and sinks
Discovery
Protocols
Messaging System
TCP/IP networking protocols
Streaming protocols
Server Architecture
Server Stub
Mobile DCM
DCMs
Stream Bridge
Discovery
Protocols
Messaging
System
TCP/IP networking protocols
Streaming
protocols
HAVi Stack
Discovery
Stub
1394
Demonstrator
Concluding Remarks
• Rapidly expanding and fiercely competitive space.
• Current applications place little demands on the
access networks (or the middleware!).
• However, future applications will demand support
that offers:
– High bandwidth.
– Low latency.
– Guaranteed levels of service.
– Security.
– Easy deployment and configuration.
HP Labs : Cooltown
• Embed web servers into everything !
• The building blocks : people, places and
things.
How ?
• Communications Technology
– IrDA
– Bluetooth
– 802.11
– IEEE 1394
How with elegance ?
• Middleware platforms to help support
communicating appliances.
–
–
–
–
Java + Jini + …
HAVi
Universal Plug ‘n’ Play
CORBA
A Quick History Lesson
• Home automation is as old as the hills.
• Distributed systems platforms often cited as
offering major benefits in this area.
• “Home Automation Systems: ODP in the
Kitchen?” in proc. ICODP, 1993.
My Hypothesis
• Building communicating appliances is easy.
• Building communicating appliances which
also communicate with humans is very
hard.
A Vision of the Future
User Communications
• Desirable properties of interface for
controlling a device:
– Unambiguous
– Precise
– Clear start state
– Secure/validated input
User Communications
• Providing feedback to the user:
User Communications
• An alternative
User Communication
• How bad would this be ?
WSYWYG vs WYSWGO
• Current approaches often implement a
variant of WYSWYG (what you see is what
you got).
• Appliance interaction implies WYSWGO
(what you see is what’s going on).
Pace and Interaction
• Activities and interactions have a natural
pace that must be supported.
• For direct manipulation users need feedback
within a few 100 milliseconds.
• Network latency, buffering, user interface
components and user activities all affect the
pace of interaction.
Feedback and
Mediated Interaction
• Usual strategy is to introduce a proxy or
mediator.
from A. Dix, “Co-operation Without (reliable) Communications”
The Printing Problem
Print “paper.doc”
Requirements
• High-quality networks:
– High bandwidth.
– Low latency.
– Guaranteed levels of service.
– Easy deployment and configuration.
• High-quality end-systems:
– Streamed video and audio.
– Rapid response to user actions.
Sensing The Real World
Implications
• Networking support.
• Systems support.
• User interfaces and client devices.
• Usabilility.
• Cost.
Concluding Remarks
• Building communicating appliances is easy.
• Building appliances which communicate
with users is (very) hard.
• New metaphors may be required for device
interaction.
• Careful management of user expectations
and models will be required.