Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
… through Innovation




                         From home enabled
                         Personal Media to
           ...
… through Innovation




                 Digital Home
• Our homes are evolving

    Yesterday        Today      Tomorrow
...
… through Innovation




                Digital Life
• Our gadgets are proliferating
… through Innovation




             Digital Devices and Assets
• Taking hundreds or thousands of photos and videos
  is ...
… through Innovation




        Two technologies to the rescue




12/16/2009
… through Innovation




                    UPnP Technologies
• Use established Internet standards
    – XML, UDP/TCP/IP,...
… through Innovation




               UPnP Protocol Stack
      Vendor-specific API above




                          ...
… through Innovation




              0 Addressing
• Control point and device get address
  – Use a DHCP server
  – Else ...
… through Innovation




                                    UPnP Device Architecture
                                    ...
… through Innovation




               1 Discovery
•   New device can advertise its services to
    control points
•   Co...
… through Innovation




            1 Discovery: Advertising
  • New device multicasts a number of discovery
    messages...
… through Innovation




                  1 Discovery: Search
       – Control point multicasts a search message
        ...
… through Innovation




               1 Discovery: Response
     – Responses from devices contain discovery
       messa...
… through Innovation




                                                2 Description: Device (phys)
<?xml version="1.0"?...
… through Innovation




            3 Control: Invoke Action
M-POST path of control URL HTTP/1.1
HOST: host of control UR...
… through Innovation




            4 Eventing: Subscribing
SUBSCRIBE publisher path HTTP/1.1
HOST: publisher host:publis...
… through Innovation



                      4 Eventing: Notify
• The values of changed state variables to all the
  subs...
… through Innovation




                            UPnP Stacks
• Intel UPnP SDK and Reference Code
    – http://software...
… through Innovation




Hands On
… through Innovation




      UPnP Media Devices
Devices                        Controllers




      UPnP           Medi...
… through Innovation




                               DLNA
• Industry consortium
    –   250+ companies
    –   Consumer...
… through Innovation




DLNA Stack
… through Innovation




             DLNA 2-Box Models
                                                            2. Sel...
… through Innovation




DLNA 3-Box Model
                                               2. Select
                       ...
… through Innovation



                             Device Classes
Category: Home Networked Devices (HND)   Category: Mob...
… through Innovation




                   Media Formats
• The term “Format” is equivalent to “codec” or “codec family”
•...
… through Innovation




DMS Protocols and Services
                   UPnP MediaServer

                   Content Direct...
… through Innovation




   Content Directory Service - CDS
• The CDS provides a logical structure for the media library
 ...
… through Innovation




Hands On
… through Innovation




                                  New ideas
• Make UPnP not only use Internet Protocols (kind of ...
… through Innovation




Hands On
… through Innovation




            MAD
Media Aggregator and Distributor
… through Innovation




MAD – All Content
… through Innovation




MAD – Personal DMS
… through Innovation




MAD – Check movies on theater
… through Innovation




MAD – Browse my DMS
… through Innovation




MAD – Upload to Sapo Fotos
… through Innovation




MAD – Share with Friends
… through Innovation




MAD – Sapo Fotos – Mais Vistas
… through Innovation




Q&A
… through Innovation




                                 Referências
•   UPnP Standards
     –   http://www.upnp.org/stan...
… through Innovation




Bernardo Cardoso
S@H

3.12.2009

This document is intellectual property of PT Inovação, SA and it...
Upcoming SlideShare
Loading in …5
×

From Home Enabled Personal Media To Instant Personal Media Sharing

2,408 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

From Home Enabled Personal Media To Instant Personal Media Sharing

  1. 1. … through Innovation From home enabled Personal Media to Instant Personal Media Sharing Bernardo Cardoso S@H 3.12.2009 This document is intellectual property of PT Inovação, SA and it´s use or spread is prohibited without express written permission.
  2. 2. … through Innovation Digital Home • Our homes are evolving Yesterday Today Tomorrow Disconnected Siloed Convergent
  3. 3. … through Innovation Digital Life • Our gadgets are proliferating
  4. 4. … through Innovation Digital Devices and Assets • Taking hundreds or thousands of photos and videos is easy, but sorting and uploading them? Not really... • Lets not forget the music too… • Lots of new gadgets are network enabled… • Everything will be network enabled • So, let them discovery, search and do the work, we just want to control… 12/16/2009
  5. 5. … through Innovation Two technologies to the rescue 12/16/2009
  6. 6. … through Innovation UPnP Technologies • Use established Internet standards – XML, UDP/TCP/IP, SOAP • Have an open, flexible architecture for service discovery and control – Simple Service Discovery Protocol (SSDP) – Generic Event Notification Architecture (GENA) – Service Control Protocol Description/Device Description Document (SCPD/DDD) • UPnP Device Architecture (UDA) – 0 Addressing: IP assignment on any network (AutoIP) – 1 Discovery: Of services/devices (SSDP) – 2 Description: Syntax for devices/services (SCPD/DDD) – 3 Control: Of device services (SOAP) – 4 Eventing: Updates of variables (GENA) – 5 Presentation: Access to device HTML page • Device Control Protocols (DCPs) – APIs for various device functionality – Described using SCPD syntax and UDA protocols
  7. 7. … through Innovation UPnP Protocol Stack Vendor-specific API above Vendor-specific physical net UPnP vendor UPnP Forum UPnP Device Architecture HTTPU/MU GENA SSDP SOAP HTTP GENA HTTP UDP TCP IP Vendor-specific OS below
  8. 8. … through Innovation 0 Addressing • Control point and device get address – Use a DHCP server – Else use Auto IP (Always looking for DHCP server) • What is Auto IP? – Pick an address in 169.254/16 range – Check to see if it is used (ARP) – Periodically check for DHCP server • Use DNS if available – Easier for a human to use – More static
  9. 9. … through Innovation UPnP Device Architecture Devices Controllers NOTIFY messages (presence announcements) Discovery SSDP M-SEARCH messages (device/service search) SSDP Description GET device & service description XML Control UPnP Actions SOAP Event subscriptions Events GENA Event notifications GENA
  10. 10. … through Innovation 1 Discovery • New device can advertise its services to control points • Control point can search for the devices of interest • Control point gets to know about the devices, its services and a pointer to a more detailed information
  11. 11. … through Innovation 1 Discovery: Advertising • New device multicasts a number of discovery messages to a standard multicast NOTIFY * HTTP/1.1 HOST: 239.255.255.250:1900 CACHE-CONTROL: max-age = seconds until advertisement expires LOCATION: URL for UPnP description for root device NT: search target NTS: ssdp:alive USN: advertisement UUID • Sends a cancellation message if device is going to become unavailable
  12. 12. … through Innovation 1 Discovery: Search – Control point multicasts a search message with a target equal to the type or identifier for a device or service M-SEARCH * HTTP/1.1 HOST: 239.255.255.250:1900 MAN: "ssdp:discover" MX: seconds to delay response ST: search target – Uses multicast variant of HTTP that has been extended using SSDP methods headers – M-Search is a method defined by SSDP
  13. 13. … through Innovation 1 Discovery: Response – Responses from devices contain discovery messages identical to those advertised by newly connected devices except that now they are unicast HTTP/1.1 200 OK CACHE-CONTROL: max-age = seconds until advertisement expires LOCATION: URL for UPnP description for root device ST: search target USN: advertisement UUID
  14. 14. … through Innovation 2 Description: Device (phys) <?xml version="1.0"?> <root xmlns="urn:schemas-upnp-org:device-1-0"> <URLBase>base URL for all relative URLs</URLBase> <device> <friendlyName>short user-friendly title</friendlyName> <manufacturer>manufacturer name</manufacturer> <manufacturerURL>URL to manufacturer site</manufacturerURL> <modelDescription>long user-friendly title</modelDescription> <modelName>model name</modelName> <modelNumber>model number</modelNumber> <modelURL>URL to model site</modelURL> <serialNumber>manufacturer's serial number</serialNumber> <UDN>uuid:UUID</UDN> Unique Device Name <UPC>Universal Product Code</UPC> <deviceType>urn:schemas-upnp-org:device:deviceType</deviceType> <serviceList> <service> <serviceType>urn:schemas-upnp-org:service:serviceType:v</serviceType> <serviceId>urn:upnp-org:serviceId:serviceID</serviceId> <SCPDURL>URL to service description</SCPDURL> <controlURL>URL for control</controlURL> <eventSubURL>URL for eventing</eventSubURL> </service> Declarations for other services (if any) go here </serviceList> <deviceList>Description of embedded devices (if any) go here</deviceList> <iconList> <icon> <mimetype>image/format</mimetype> <width>horizontal pixels</width> <height>vertical pixels</height> <depth>color depth</depth> <url>URL to icon</url> </icon> XML to declare other icons, if any, go here </iconList> <presentationURL>URL for presentation</presentationURL> </device> <specVersion> <major>1</major> <minor>0</minor> </specVersion> </root> 16-12-2009
  15. 15. … through Innovation 3 Control: Invoke Action M-POST path of control URL HTTP/1.1 HOST: host of control URL:port of control URL CONTENT-TYPE: text/xml; charset="utf-8" MAN: "http://schemas.xmlsoap.org/soap/envelope/"; ns=01 01-SOAPACTION: "urn:schemas-upnp-org:service:serviceType:v#actionName" <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <s:Body> <u:actionName xmlns:u="urn:schemas-upnp-org:service:serviceType:v"> <argumentName>in arg value</argumentName> other in args and their values (if any) go here </u:actionName> </s:Body> </s:Envelope>
  16. 16. … through Innovation 4 Eventing: Subscribing SUBSCRIBE publisher path HTTP/1.1 HOST: publisher host:publisher port CALLBACK: <delivery URL> NT: upnp:event TIMEOUT: Second-requested subscription duration • Control point subscribes to receive messages of a services • Sends a URL to receive event messages • Subscribe, callback and NT are GENA headers • Publisher sends a response to this message
  17. 17. … through Innovation 4 Eventing: Notify • The values of changed state variables to all the subscribers. The initial message contains all the state variables. NOTIFY delivery path HTTP/1.1 HOST: delivery host:delivery port CONTENT-TYPE: text/xml NT: upnp:event NTS: upnp:propchange SID: uuid:subscription-UUID SEQ: event key <e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0"> <e:property> <variableName>new value</variableName> </e:property> Other variable names and values (if any) go here </e:propertyset> 16-12-2009
  18. 18. … through Innovation UPnP Stacks • Intel UPnP SDK and Reference Code – http://software.intel.com/en-us/articles/intel-software-for-upnp-technology- download-tools/ • Microsoft UPnP APIs – http://msdn.microsoft.com/en-us/library/aa382303%28VS.85%29.aspx • Platinum UPnP SDK – http://www.plutinosoft.com/blog/projects/platinum/ • CyberLink for Java – http://cgupnpjava.sourceforge.net/ • Portable UPnP SDK (libupnp) – http://pupnp.sourceforge.net/ • Coherence - a DLNA/UPnP Framework for the Digital Living (Python) – http://coherence.beebits.net/
  19. 19. … through Innovation Hands On
  20. 20. … through Innovation UPnP Media Devices Devices Controllers UPnP MediaServer CP MediaServer UPnP Control Point UPnP MediaRenderer MediaRenderer CP
  21. 21. … through Innovation DLNA • Industry consortium – 250+ companies – Consumer Electronics – Computing Industry – Mobile Devices – Content distributors • Goal: Establish an ecosystem of compatible products for networked media devices • Develops standards-based specifications: “DLNA Guidelines”
  22. 22. … through Innovation DLNA Stack
  23. 23. … through Innovation DLNA 2-Box Models 2. Select 1. Get Media Library info content 2-box pull 3. Get Content stream 1. Get Media Library info and select content 2-box push 2. Pass URI for selected content 3. Get Content binary stream
  24. 24. … through Innovation DLNA 3-Box Model 2. Select content 1. Get Media Library info 3. Pass URI & metadata for selected content 4. Get Content binary stream
  25. 25. … through Innovation Device Classes Category: Home Networked Devices (HND) Category: Mobile Handheld Devices (MHD) Digital Media Server (DMS) Mobile Digital Media Server (M-DMS) (M- Digital Media Player (DMP) Mobile Digital Media Player (M-DMP) (M- Digital Media Renderer (DMR) Digital Media Controller (DMC) Mobile Digital Media Controller (M-DMC) (M- Digital Media Printer (DMPr) Mobile Digital Media Uploader (M-DMU) (M- Mobile Digital Media Downloader (M-DMD) (M- Upload Controller (+UP+) DMS with upload support Download Controller (+DN+) DMS with download support Push Controller (+PU+) DMR Printing Controller 1 (+PR1+) DMPr Printing Controller 2 (+PR2+) 16-12-2009 DMPr
  26. 26. … through Innovation Media Formats • The term “Format” is equivalent to “codec” or “codec family” • List of DLNA-approved formats: Video Audio Images MPEG-1 LPCM AC-3 MPEG-2 MPEG-1/2 L2 ATRAC3plus JPEG H.263 MPEG-1/2 L3 WMA PNG MPEG-4 Part 2 MPEG-4 AAC LC WMA Professional GIF MPEG-4 Part 10 MPEG-4 AAC LTP AMR TIFF WMV9 MPEG-4 HE AAC AMR-WB+ VC-1 MPEH-4 BSAC G.726
  27. 27. … through Innovation DMS Protocols and Services UPnP MediaServer Content Directory Service (CDS) Connection Manager Service (CMS) Media Streaming UPnP DA (Device) HTTP TCP/IP Wi-Fi and/or Ethernet
  28. 28. … through Innovation Content Directory Service - CDS • The CDS provides a logical structure for the media library available in the Server: – Containers Collection of other containers or items Single entity that users perceive as one – Items piece of content • Resources Binary representation of the content (a file or a stream) – DMCs and DMPs retrieve media library information from a DMS using different CDS actions
  29. 29. … through Innovation Hands On
  30. 30. … through Innovation New ideas • Make UPnP not only use Internet Protocols (kind of ) but actually connect to the Internet – Upload content from local devices directly to Online Media Sharing sites: Flickr, Youtube, Sapo Fotos, Sapo Vídeos – Make Online Media accessible to UPnP AV/DLNA devices • Get to non-media assets – RSS feeds to TV via UPnP AV/DLNA – Check movies to see in theater • Interconnect UPnP domains – Share my media with my friends instantaneous, with a little help from a little fiber 12/16/2009
  31. 31. … through Innovation Hands On
  32. 32. … through Innovation MAD Media Aggregator and Distributor
  33. 33. … through Innovation MAD – All Content
  34. 34. … through Innovation MAD – Personal DMS
  35. 35. … through Innovation MAD – Check movies on theater
  36. 36. … through Innovation MAD – Browse my DMS
  37. 37. … through Innovation MAD – Upload to Sapo Fotos
  38. 38. … through Innovation MAD – Share with Friends
  39. 39. … through Innovation MAD – Sapo Fotos – Mais Vistas
  40. 40. … through Innovation Q&A
  41. 41. … through Innovation Referências • UPnP Standards – http://www.upnp.org/standardizeddcps/default.asp • UPnP Overview - Oct 2007 – http://www.upnp.org/resources/documents/UPnPOverview-Oct2007.pdf • An Overview of the DLNA Architecture / DLNA Device Implementation – http://download.microsoft.com/download/f/0/5/f05a42ce-575b-4c60-82d6- 208d3754b2d6/DLNA_Part_1_RS08.pptx – http://download.microsoft.com/download/f/0/5/f05a42ce-575b-4c60-82d6- 208d3754b2d6/DLNA_Part_2_RS08.pptx • UPnP MediaServer using Intels SDK for Windows Home Server and Xbox 360 – http://www.mperfect.net/whsUpnp360/
  42. 42. … through Innovation Bernardo Cardoso S@H 3.12.2009 This document is intellectual property of PT Inovação, SA and it´s use or spread is prohibited without express written permission.

×