implementing universal plug and play in smart objects and intelligent appliances bengt christensson...

22
Implementing Universal Implementing Universal Plug And Play In Smart Plug And Play In Smart Objects Objects And Intelligent And Intelligent Appliances Appliances Bengt Christensson Bengt Christensson CTO CTO Axis Communications Axis Communications

Upload: alicia-stewart

Post on 12-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implementing Universal Plug And Play In Smart Objects And Intelligent Appliances Bengt Christensson CTO Axis Communications

Implementing Universal Plug Implementing Universal Plug And Play In Smart Objects And Play In Smart Objects And Intelligent AppliancesAnd Intelligent Appliances

Bengt Christensson Bengt Christensson CTOCTOAxis Communications Axis Communications

Page 2: Implementing Universal Plug And Play In Smart Objects And Intelligent Appliances Bengt Christensson CTO Axis Communications

Session OverviewSession Overview

Technology trendsTechnology trends Challenges and requirementsChallenges and requirements Solutions to date and the Solutions to date and the

Universal Plug and Play WayUniversal Plug and Play Way ImplementationImplementation DemoDemo Call to actionCall to action

Page 3: Implementing Universal Plug And Play In Smart Objects And Intelligent Appliances Bengt Christensson CTO Axis Communications

Technology TrendsTechnology Trends

Focus shifting from connectivity Focus shifting from connectivity to servicesto services More devices/services will be networkedMore devices/services will be networked Use your time efficientlyUse your time efficiently

Ubiquitous communicationsUbiquitous communications Anywhere, anything and intuitive, tooAnywhere, anything and intuitive, too Useful bandwidth availableUseful bandwidth available Home networkingHome networking

Page 4: Implementing Universal Plug And Play In Smart Objects And Intelligent Appliances Bengt Christensson CTO Axis Communications

ServicesServices

Technologies converge, devices don’tTechnologies converge, devices don’t

Devices, PCs And Devices, PCs And Services InterconnectServices Interconnect

Page 5: Implementing Universal Plug And Play In Smart Objects And Intelligent Appliances Bengt Christensson CTO Axis Communications

ChallengesChallenges

SimplicitySimplicity Robustness - “always on”Robustness - “always on” Scalability- ad hoc/configuredScalability- ad hoc/configured Interoperability, manageability, securityInteroperability, manageability, security Lightweight cost-effective technologyLightweight cost-effective technology Building networking applicationsBuilding networking applications Wide range of different devices Wide range of different devices

and services...and services...

Page 6: Implementing Universal Plug And Play In Smart Objects And Intelligent Appliances Bengt Christensson CTO Axis Communications

Protocol RequirementsProtocol Requirements

““Automatic networking”Automatic networking” Address assignment, naming, discovery, Address assignment, naming, discovery,

and service identificationand service identification ScalabilityScalability

Work in serverless environments and Work in serverless environments and leverage directory services, if availableleverage directory services, if available

Dynamic ad hoc environmentsDynamic ad hoc environments FlexibilityFlexibility

Support device and service individualitySupport device and service individuality Open standards-basedOpen standards-based

Internet RFCs, public sourceInternet RFCs, public source

Page 7: Implementing Universal Plug And Play In Smart Objects And Intelligent Appliances Bengt Christensson CTO Axis Communications

Solutions To DateSolutions To Date

Ad hoc (serverless, peer-to-peer)Ad hoc (serverless, peer-to-peer) Manual IP address assignment, ARPManual IP address assignment, ARP No intuitive namingNo intuitive naming SLP, SMB, Salutation, “flood-ping”SLP, SMB, Salutation, “flood-ping”

Configured (server-based)Configured (server-based) DHCP, BOOTP, RARPDHCP, BOOTP, RARP DNS, WINSDNS, WINS Directory (LDAP, NDS, SLP, Salutation)Directory (LDAP, NDS, SLP, Salutation)

Page 8: Implementing Universal Plug And Play In Smart Objects And Intelligent Appliances Bengt Christensson CTO Axis Communications

The Universal Plug The Universal Plug And Play WayAnd Play Way Works in both ad hoc and Works in both ad hoc and

configured environmentsconfigured environments

Ad Hoc Configured

Address AutoNet DHCP

Naming Multicast DNS DNS

Discovery Simple Discovery Directory service

XML and XSL style sheets in the device XML and XSL style sheets in the device define service and interactiondefine service and interaction

Page 9: Implementing Universal Plug And Play In Smart Objects And Intelligent Appliances Bengt Christensson CTO Axis Communications

NICNIC

TCP/IP stackTCP/IP stack

NDISNDIS

XMLXMLSimple ServiceSimple ServiceDiscoveryDiscovery

Universal Universal Plug and Plug and Play Play providerprovider

WINSOCKWINSOCK

LDAPLDAP

ApplicationsApplications

ADSIADSI

Client ComponentsClient Components

Page 10: Implementing Universal Plug And Play In Smart Objects And Intelligent Appliances Bengt Christensson CTO Axis Communications

Physical mediaPhysical media

Device functionsDevice functions

HTTP (~20k)HTTP (~20k)SimpleSimpleDiscovery (~4k)Discovery (~4k)

XML, XSLXML, XSLschemaschema

TCP/IP stack (~40k) TCP/IP stack (~40k)

DHCPDHCPAutoNetAutoNet

Smart Object ComponentsSmart Object Components

Page 11: Implementing Universal Plug And Play In Smart Objects And Intelligent Appliances Bengt Christensson CTO Axis Communications

1. DHCP broadcast1. DHCP broadcast

(Timeout)(Timeout)

2. Assign AutoNet address2. Assign AutoNet address

3. DNS name multicast3. DNS name multicast

4. Announce service4. Announce service

(Timeout - wait for requests)(Timeout - wait for requests)

5. Discover service5. Discover service

7. Response to discover7. Response to discover

8. GetXMLschema8. GetXMLschema

9. XML schema9. XML schema

Universal Plug And Play In Action - Universal Plug And Play In Action - Ad HocAd Hoc

Page 12: Implementing Universal Plug And Play In Smart Objects And Intelligent Appliances Bengt Christensson CTO Axis Communications

1. DHCP broadcast1. DHCP broadcast

2. Address from DHCP server2. Address from DHCP server

3. Name unicast to DNS server3. Name unicast to DNS server

4. Announce service to listener4. Announce service to listener

6. Directory updated by listener6. Directory updated by listener

5. Listener Get_HTTP XML5. Listener Get_HTTP XML

8. LDAP query directory8. LDAP query directory

7. Device-specific negotiation7. Device-specific negotiation

Server

Server

Universal Plug And Play In Action - Universal Plug And Play In Action - ConfiguredConfigured

Page 13: Implementing Universal Plug And Play In Smart Objects And Intelligent Appliances Bengt Christensson CTO Axis Communications

Packet Examples Packet Examples AnnounceAnnounce

HTTP packet data exampleHTTP packet data exampleANNOUNCE * HTTP/1.1ANNOUNCE * HTTP/1.1

HOST: *HOST: *

Location: http://170.1.128.135/Location: http://170.1.128.135/description.xmldescription.xml

Object-Class: printerObject-Class: printer

Multicast UDP packetMulticast UDP packet

Page 14: Implementing Universal Plug And Play In Smart Objects And Intelligent Appliances Bengt Christensson CTO Axis Communications

Packet ExamplesPacket ExamplesDiscover and responseDiscover and response

DiscoverDiscoverDISCOVER (objectClass=printer)DISCOVER (objectClass=printer)

HTTP/1.1HTTP/1.1

HOST: 172.*.*.*HOST: 172.*.*.*

Request-ID: 54Request-ID: 54

Response to discoverResponse to discoverHTTP/1.1 302 FoundHTTP/1.1 302 Found

Request-ID: 54Request-ID: 54

Location: http://172.1.128.135/description.xmlLocation: http://172.1.128.135/description.xml

Object-Class: printerObject-Class: printer

Page 15: Implementing Universal Plug And Play In Smart Objects And Intelligent Appliances Bengt Christensson CTO Axis Communications

Axis Camera ExampleAxis Camera Example

ImplementationImplementation Network-attached Network-attached

surveillance camerasurveillance camera Self-contained with TCP/IP Self-contained with TCP/IP

and HTTP supportand HTTP support UPnP with XML/XSL UPnP with XML/XSL

descriptiondescription Approx. 40 k bytes for Approx. 40 k bytes for

UPnP neededUPnP needed

Page 16: Implementing Universal Plug And Play In Smart Objects And Intelligent Appliances Bengt Christensson CTO Axis Communications

XML Schema XML Schema Axis CameraAxis Camera

Key elementsKey elements Name spaces definitionsName spaces definitions Device description and functionalityDevice description and functionality Support and purchasing informationSupport and purchasing information References to XSL style sheets for UIReferences to XSL style sheets for UI

Refer to white paper for sample code, Refer to white paper for sample code, XML schema and XSL style sheets XML schema and XSL style sheets http://www.axis.com/products/documentation/ http://www.axis.com/products/documentation/ UpnP.docUpnP.doc

Page 17: Implementing Universal Plug And Play In Smart Objects And Intelligent Appliances Bengt Christensson CTO Axis Communications

‘‘Device Browser’ ExampleDevice Browser’ Example

1 Client runs Device Browser application, Client runs Device Browser application, based on Internet Explorer 5.0based on Internet Explorer 5.0

2 Discover deviceDiscover device3 Fetch description.xml from deviceFetch description.xml from device4 Parse XML data to extract informationParse XML data to extract information5 Present device in viewPresent device in view6 User selects deviceUser selects device7 Present UI links referred by description.xmlPresent UI links referred by description.xml8 User selects UIUser selects UI9 Fetch and view the UI (style sheet)Fetch and view the UI (style sheet)

Page 18: Implementing Universal Plug And Play In Smart Objects And Intelligent Appliances Bengt Christensson CTO Axis Communications

Live DemoLive Demo

Showing UPnPShowing UPnP Device discovery - ‘Device Browser’Device discovery - ‘Device Browser’ Device interaction - XSL Style SheetsDevice interaction - XSL Style Sheets

Camera Printer CD tower

PC

Ethernet

Page 19: Implementing Universal Plug And Play In Smart Objects And Intelligent Appliances Bengt Christensson CTO Axis Communications

DocumentationDocumentation

Simple Service Discovery ProtocolSimple Service Discovery Protocol httphttp

://search.ietf.org/internet-drafts/draft-cai-://search.ietf.org/internet-drafts/draft-cai-ssdp-v1-00.txtssdp-v1-00.txt

Automatic Private IP AddressingAutomatic Private IP Addressing httphttp://://wwwwww..ietfietf..orgorg//internetinternet-drafts/draft--drafts/draft-

ietfietf--dhcdhc-ipv4--ipv4-autoconfigautoconfig-03.-03.txttxt

Multicast DNS (name resolution)Multicast DNS (name resolution) httphttp://://search.search.ietfietf

.org/internet-drafts/draft-manning-multic.org/internet-drafts/draft-manning-multicast-dns-01.txtast-dns-01.txt

Page 20: Implementing Universal Plug And Play In Smart Objects And Intelligent Appliances Bengt Christensson CTO Axis Communications

DocumentationDocumentation

White paperWhite paper httphttp://://wwwwww

.axis.com/products/documentation/.axis.com/products/documentation/UpnPUpnP

.doc.doc

Home Networking & Universal Plug Home Networking & Universal Plug and Play web sitesand Play web sites http://www.microsoft.com/homenethttp://www.microsoft.com/homenet http://www.upnp.orghttp://www.upnp.org

Page 21: Implementing Universal Plug And Play In Smart Objects And Intelligent Appliances Bengt Christensson CTO Axis Communications

Call to ActionCall to Action

UPnP is work in progress!UPnP is work in progress! Review your business opportunities Review your business opportunities

with respect to UPnPwith respect to UPnP Get to understand the principles and Get to understand the principles and

general requirementsgeneral requirements Study released documentationStudy released documentation Keep an eye on Keep an eye on www.upnp.orgwww.upnp.org More great news to come!More great news to come!

Page 22: Implementing Universal Plug And Play In Smart Objects And Intelligent Appliances Bengt Christensson CTO Axis Communications