SlideShare a Scribd company logo
1 of 42
Download to read offline
… 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.
… through Innovation




                 Digital Home
• Our homes are evolving

    Yesterday        Today      Tomorrow




  Disconnected       Siloed     Convergent
… through Innovation




                Digital Life
• Our gadgets are proliferating
… 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
… through Innovation




        Two technologies to the rescue




12/16/2009
… 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
… 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
… 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
… 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
… 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
… 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
… 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
… 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
… 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
… 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>
… 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
… 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
… 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/
… through Innovation




Hands On
… through Innovation




      UPnP Media Devices
Devices                        Controllers




      UPnP           MediaServer CP
    MediaServer


                     UPnP Control Point



        UPnP
    MediaRenderer   MediaRenderer CP
… 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”
… through Innovation




DLNA Stack
… 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
… 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
… 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
… 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
… 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
… 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
… through Innovation




Hands On
… 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
… 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/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/
… 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.

More Related Content

Similar to From Home Enabled Personal Media To Instant Personal Media Sharing

Cisco Automation with Puppet and onePK - PuppetConf 2013
Cisco Automation with Puppet and onePK - PuppetConf 2013Cisco Automation with Puppet and onePK - PuppetConf 2013
Cisco Automation with Puppet and onePK - PuppetConf 2013Puppet
 
P2P for mobile devices
P2P for mobile devicesP2P for mobile devices
P2P for mobile devicesimmanuelnoel
 
Take an Analytics-driven Approach to Container Performance with Splunk for Co...
Take an Analytics-driven Approach to Container Performance with Splunk for Co...Take an Analytics-driven Approach to Container Performance with Splunk for Co...
Take an Analytics-driven Approach to Container Performance with Splunk for Co...Docker, Inc.
 
Martin Zeiser, Universal Pwn n Play - pacsec -final
Martin Zeiser, Universal Pwn n Play - pacsec -finalMartin Zeiser, Universal Pwn n Play - pacsec -final
Martin Zeiser, Universal Pwn n Play - pacsec -finalPacSecJP
 
Getting Started with Splunk Enterprise
Getting Started with Splunk EnterpriseGetting Started with Splunk Enterprise
Getting Started with Splunk EnterpriseSplunk
 
Data Onboarding
Data Onboarding Data Onboarding
Data Onboarding Splunk
 
Data Onboarding
Data Onboarding Data Onboarding
Data Onboarding Splunk
 
Enabling Active Flow Manipulation In Silicon-based Network Forwarding Engines
Enabling Active Flow Manipulation In Silicon-based Network Forwarding EnginesEnabling Active Flow Manipulation In Silicon-based Network Forwarding Engines
Enabling Active Flow Manipulation In Silicon-based Network Forwarding EnginesTal Lavian Ph.D.
 
Getting Started with Splunk Enterprise
Getting Started with Splunk EnterpriseGetting Started with Splunk Enterprise
Getting Started with Splunk EnterpriseSplunk
 
Enabling Active Flow Manipulation In Silicon-based Network Forwarding Engines
Enabling Active Flow Manipulation In Silicon-based Network Forwarding Engines Enabling Active Flow Manipulation In Silicon-based Network Forwarding Engines
Enabling Active Flow Manipulation In Silicon-based Network Forwarding Engines Tal Lavian Ph.D.
 
Getting Started with Splunk Enterprise
Getting Started with Splunk EnterpriseGetting Started with Splunk Enterprise
Getting Started with Splunk EnterpriseSplunk
 
OpenPnP: a Plug-and-Produce Architecture for the Industrial Internet of Things
OpenPnP: a Plug-and-Produce Architecture for the Industrial Internet of ThingsOpenPnP: a Plug-and-Produce Architecture for the Industrial Internet of Things
OpenPnP: a Plug-and-Produce Architecture for the Industrial Internet of ThingsHeiko Koziolek
 
Introduction to NBL
Introduction to NBLIntroduction to NBL
Introduction to NBLFei Ji Siao
 
PLNOG14: Czy można żyć bez systemu ochrony przed atakami DDoS - Marek Janik
PLNOG14: Czy można żyć bez systemu ochrony przed atakami DDoS - Marek JanikPLNOG14: Czy można żyć bez systemu ochrony przed atakami DDoS - Marek Janik
PLNOG14: Czy można żyć bez systemu ochrony przed atakami DDoS - Marek JanikPROIDEA
 
Splunk Ninjas: New Features, Pivot and Search Dojo
Splunk Ninjas: New Features, Pivot and Search DojoSplunk Ninjas: New Features, Pivot and Search Dojo
Splunk Ninjas: New Features, Pivot and Search DojoSplunk
 
Splunk Ninja: New Features, Pivot and Search Dojo
 Splunk Ninja: New Features, Pivot and Search Dojo Splunk Ninja: New Features, Pivot and Search Dojo
Splunk Ninja: New Features, Pivot and Search DojoSplunk
 
Splunk Ninjas: New Features, Pivot and Search Dojo
Splunk Ninjas: New Features, Pivot and Search DojoSplunk Ninjas: New Features, Pivot and Search Dojo
Splunk Ninjas: New Features, Pivot and Search DojoSplunk
 
Splunk Ninjas: New Features, Pivot and Search Dojo
Splunk Ninjas: New Features, Pivot and Search DojoSplunk Ninjas: New Features, Pivot and Search Dojo
Splunk Ninjas: New Features, Pivot and Search DojoSplunk
 

Similar to From Home Enabled Personal Media To Instant Personal Media Sharing (20)

Cisco Automation with Puppet and onePK - PuppetConf 2013
Cisco Automation with Puppet and onePK - PuppetConf 2013Cisco Automation with Puppet and onePK - PuppetConf 2013
Cisco Automation with Puppet and onePK - PuppetConf 2013
 
P2P for mobile devices
P2P for mobile devicesP2P for mobile devices
P2P for mobile devices
 
Take an Analytics-driven Approach to Container Performance with Splunk for Co...
Take an Analytics-driven Approach to Container Performance with Splunk for Co...Take an Analytics-driven Approach to Container Performance with Splunk for Co...
Take an Analytics-driven Approach to Container Performance with Splunk for Co...
 
Martin Zeiser, Universal Pwn n Play - pacsec -final
Martin Zeiser, Universal Pwn n Play - pacsec -finalMartin Zeiser, Universal Pwn n Play - pacsec -final
Martin Zeiser, Universal Pwn n Play - pacsec -final
 
Getting Started with Splunk Enterprise
Getting Started with Splunk EnterpriseGetting Started with Splunk Enterprise
Getting Started with Splunk Enterprise
 
Data Onboarding
Data Onboarding Data Onboarding
Data Onboarding
 
Data Onboarding
Data Onboarding Data Onboarding
Data Onboarding
 
Enabling Active Flow Manipulation In Silicon-based Network Forwarding Engines
Enabling Active Flow Manipulation In Silicon-based Network Forwarding EnginesEnabling Active Flow Manipulation In Silicon-based Network Forwarding Engines
Enabling Active Flow Manipulation In Silicon-based Network Forwarding Engines
 
Getting Started with Splunk Enterprise
Getting Started with Splunk EnterpriseGetting Started with Splunk Enterprise
Getting Started with Splunk Enterprise
 
Enabling Active Flow Manipulation In Silicon-based Network Forwarding Engines
Enabling Active Flow Manipulation In Silicon-based Network Forwarding Engines Enabling Active Flow Manipulation In Silicon-based Network Forwarding Engines
Enabling Active Flow Manipulation In Silicon-based Network Forwarding Engines
 
Getting Started with Splunk Enterprise
Getting Started with Splunk EnterpriseGetting Started with Splunk Enterprise
Getting Started with Splunk Enterprise
 
OpenPnP: a Plug-and-Produce Architecture for the Industrial Internet of Things
OpenPnP: a Plug-and-Produce Architecture for the Industrial Internet of ThingsOpenPnP: a Plug-and-Produce Architecture for the Industrial Internet of Things
OpenPnP: a Plug-and-Produce Architecture for the Industrial Internet of Things
 
Introduction to NBL
Introduction to NBLIntroduction to NBL
Introduction to NBL
 
PLNOG14: Czy można żyć bez systemu ochrony przed atakami DDoS - Marek Janik
PLNOG14: Czy można żyć bez systemu ochrony przed atakami DDoS - Marek JanikPLNOG14: Czy można żyć bez systemu ochrony przed atakami DDoS - Marek Janik
PLNOG14: Czy można żyć bez systemu ochrony przed atakami DDoS - Marek Janik
 
Monitoring klassisch oder Cloud
Monitoring klassisch oder CloudMonitoring klassisch oder Cloud
Monitoring klassisch oder Cloud
 
SNMP and splunk
SNMP and splunkSNMP and splunk
SNMP and splunk
 
Splunk Ninjas: New Features, Pivot and Search Dojo
Splunk Ninjas: New Features, Pivot and Search DojoSplunk Ninjas: New Features, Pivot and Search Dojo
Splunk Ninjas: New Features, Pivot and Search Dojo
 
Splunk Ninja: New Features, Pivot and Search Dojo
 Splunk Ninja: New Features, Pivot and Search Dojo Splunk Ninja: New Features, Pivot and Search Dojo
Splunk Ninja: New Features, Pivot and Search Dojo
 
Splunk Ninjas: New Features, Pivot and Search Dojo
Splunk Ninjas: New Features, Pivot and Search DojoSplunk Ninjas: New Features, Pivot and Search Dojo
Splunk Ninjas: New Features, Pivot and Search Dojo
 
Splunk Ninjas: New Features, Pivot and Search Dojo
Splunk Ninjas: New Features, Pivot and Search DojoSplunk Ninjas: New Features, Pivot and Search Dojo
Splunk Ninjas: New Features, Pivot and Search Dojo
 

Recently uploaded

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 

From Home Enabled Personal Media To Instant Personal Media Sharing

  • 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. … through Innovation Digital Home • Our homes are evolving Yesterday Today Tomorrow Disconnected Siloed Convergent
  • 3. … through Innovation Digital Life • Our gadgets are proliferating
  • 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. … through Innovation Two technologies to the rescue 12/16/2009
  • 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. … 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. … 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. … 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. … 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. … 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. … 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. … 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. … 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. … 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. … 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. … 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. … 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/
  • 20. … through Innovation UPnP Media Devices Devices Controllers UPnP MediaServer CP MediaServer UPnP Control Point UPnP MediaRenderer MediaRenderer CP
  • 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”
  • 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. … 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. … 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. … 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. … 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. … 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
  • 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
  • 32. … through Innovation MAD Media Aggregator and Distributor
  • 33. … through Innovation MAD – All Content
  • 34. … through Innovation MAD – Personal DMS
  • 35. … through Innovation MAD – Check movies on theater
  • 36. … through Innovation MAD – Browse my DMS
  • 37. … through Innovation MAD – Upload to Sapo Fotos
  • 38. … through Innovation MAD – Share with Friends
  • 39. … through Innovation MAD – Sapo Fotos – Mais Vistas
  • 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. … 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.