throbber
Operating System
`
`Understanding Universal Plug and Play
`
`White Paper
`
`Abstract
`
`This paper provides an overview of Universal Plug and Play (UPnP) and how it works. Included are
`scenarios where UPnP improves the overall networking experience by automatically connecting and
`controlling various types of devices. Additional detail is given on the components of, and protocols and
`procedures used in UPnP, focusing on how existing standard protocols are used to build UPnP devices.
`We will then point to where more information can be found to further your knowledge of UPnP.
`
`
`
`
`Netflix, Inc. Exhibit 1010
`
`

`
`The information contained in this document represents the current
`view of Microsoft Corporation on the issues discussed as of the date
`of publication. Because Microsoft must respond to changing market
`conditions, it should not be interpreted to be a commitment on the
`part of Microsoft, and Microsoft cannot guarantee the accuracy of
`any information presented after the date of publication.
`This white paper is for informational purposes only. MICROSOFT
`MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS
`DOCUMENT.
`Complying with all applicable copyright laws is the responsibility of
`the user. Without limiting the rights under copyright, no part of this
`document may be reproduced, stored in or introduced into a retrieval
`system, or transmitted in any form or by any means (electronic,
`mechanical, photocopying, recording, or otherwise), or for any
`purpose, without the express written permission of Microsoft
`Corporation.
`Microsoft may have patents, patent applications, trademarks,
`copyrights, or other intellectual property rights covering subject
`matter in this document. Except as expressly provided in any written
`license agreement from Microsoft, the furnishing of this document
`does not give you any license to these patents, trademarks,
`copyrights, or other intellectual property.
`© 2000 Microsoft Corporation. All rights reserved. Microsoft,
`Windows, and Windows Media are either registered trademarks or
`trademarks of Microsoft Corporation in the United States and/or
`other countries.
`Other product and company names mentioned herein may be the
`trademarks of their respective owners.
`Microsoft Corporation • One Microsoft Way • Redmond, WA 98052-
`6399 • USA
`06/2000
`
`Netflix, Inc. Exhibit 1010
`
`

`
`
`
`Contents
`
`Introduction.............................................................................................. 1
`1
`What is UPnP?
`1
`
`Who Defines UPnP?
`
`Some UPnP Scenarios:
`
`The New Printer
`
`Out of Storage Space Again
`
`“It’s always freezing when I wake up!”
`
`UPNP Enabled Scenarios ....................................................................... 4
`4
`UPnP Opens Up a World of Possibilities
`4
`4
`4
`5
`5
`6
`6
`7
`7
`7
`8
`8
`
`The Master Switch:
`
`Synchronize Your Clocks:
`
`Vacation Mode
`
`Home theater mode:
`
`Take Me Out to the Ball Game
`
`Family Togetherness
`
`The Well Connected Home
`
`Meeting Time
`
`Components of a UPnP Network ......................................................... 10
`10
`Devices, Services and Control Points
`10
`11
`11
`
`Devices
`
`Services
`
`Control Points
`
`UPnP Protocol Overview ...................................................................... 12
`12
`Networking Media for UPnP
`12
`13
`14
`14
`14
`15
`
`Protocols Used by UPnP
`
`UPnP Specific Protocols
`
`TCP/IP
`
`HTTP, HTTPU, HTTPMU
`
`SSDP
`
`GENA
`
`
`
`Netflix, Inc. Exhibit 1010
`
`

`
`
`
`
`
`SOAP
`
`XML
`
`15
`16
`
`The UPnP Protocol Stack
`
`Steps Involved in UPnP Networking
`
`Addressing
`
`Discovery
`
`Description
`
`Control
`
`Eventing
`
`Presentation
`
`In Summary:
`
`An Example UPnP Network
`
`The Story Begins
`
`Device Addressing
`
`Discovery - Advertisement
`
`Discovery - Search
`
`How UPNP Works .................................................................................. 17
`17
`The Responsibilities of UPnP
`17
`18
`18
`18
`19
`19
`19
`20
`20
`20
`21
`22
`23
`24
`25
`27
`28
`30
`30
`32
`
`Description
`
`Presentation
`
`Control
`
`Revisiting Discovery, Description and Control
`
`Eventing
`
`Finishing Up
`
`UPnP APIs .............................................................................................. 33
`33
`What APIs Should Be Implemented?
`
`Acronyms ............................................................................................... 34
`
`Summary ................................................................................................ 35
`
`For More Information ............................................................................ 36
`
`Netflix, Inc. Exhibit 1010
`
`

`
`References
`
`
`
`36
`
`
`
`
`
`Netflix, Inc. Exhibit 1010
`
`

`
`Netflix, Inc. Exhibit 1010
`
`Netflix, Inc. Exhibit 1010
`
`

`
`
`
`Introduction
`
`What is UPnP?
`With the addition of Device Plug and Play (PnP) capabilities to the operating
`system it became a great deal easier to setup, configure, and add peripherals
`to a PC. Universal Plug and Play (UPnP) extends this simplicity to include the
`entire network, enabling discovery and control of devices, including networked
`devices and services, such as network-attached printers, Internet gateways,
`and consumer electronics equipment.
`UPnP is more than just a simple extension of the Plug and Play peripheral
`model. It is designed to support zero-configuration, "invisible" networking, and
`automatic discovery for a breadth of device categories from a wide range of
`vendors.
`With UPnP, a device can dynamically join a network, obtain an IP address,
`convey its capabilities, and learn about the presence and capabilities of other
`devices—all automatically; truly enabling zero configuration networks. Devices
`can subsequently communicate with each other directly; thereby further
`enabling peer to peer networking.
`The varieties of device types that can benefit from a UPnP enabled network are
`large and include intelligent appliances, wireless devices, and PCs of all form
`factors.
`The scope of UPnP is large enough to encompass many existing, as well as
`new and exciting scenarios including home automation, printing and imaging,
`audio/video entertainment, kitchen appliances, automobile networks, and
`proximity networks in public venues.
`UPnP uses standard TCP/IP and Internet protocols, enabling it to seamlessly fit
`into existing networks. Using these standardized protocols allows UPnP to
`benefit from a wealth of experience and knowledge, and makes interoperability
`an inherent feature.
`
`Because UPnP is a distributed, open network architecture, defined by the
`protocols used, it is independent of any particular operating system,
`programming language, or physical medium (just like the Internet). UPnP does
`not specify the APIs applications will use, allowing operating system vendors to
`create the APIs that will meet their customer needs.
`
`Who Defines UPnP?
`The Universal Plug and Play Forum defines UPnP Device and Service
`Descriptions (originally called Device Control Protocols or DCPs) according to a
`common device architecture contributed by Microsoft. The Universal Plug and
`Play Forum is a group of companies and individuals across the industry that
`intend to play a leading role in the authoring of specifications for UPnP devices
`and services. Formed on October 18, 1999, it is an association of more than
`200 vendors who are industry leaders in consumer electronics, computing,
`
`
`
`
`
`Understanding Universal Plug and Play
`
`1
`
`Netflix, Inc. Exhibit 1010
`
`

`
`
`
`home automation and security, home appliances, computer networking, and
`mobile devices.
`The goals of the Forum are to enable the emergence of easily connected
`devices and to simplify the implementation of networks in the home and
`corporate environments. The Forum will achieve this by defining and publishing
`UPnP device and service descriptions built on open, Internet-based
`communication standards.
`The Forum's web site, http://upnp.org/, is the central repository for schema that
`has been developed and standardized by the Forum. In addition, the site
`includes the device architecture document, templates for device and service
`descriptions, and guidelines for device and service description design.
`UPnP.org also distributes information about the Forum's activities and
`progress.
`
`Understanding Universal Plug and Play
`
`2
`
`Netflix, Inc. Exhibit 1010
`
`

`
`
`
`Figure 1: A Mixed Media Multiple Vendor Network
`
`
`
`
`
`
`
`
`
`Understanding Universal Plug and Play
`
`3
`
`Netflix, Inc. Exhibit 1010
`
`

`
`
`
`UPNP Enabled
`Scenarios
`
`Understanding Universal Plug and Play
`
`4
`
`UPnP Opens Up a World of Possibilities
`There are many ways automatic discovery and control of devices can make life
`easier and better. The advent of UPnP is opening up new possibilities and uses
`every day. I dare say that the explosion of possibilities has not been matched
`since the advent of the computer network. The scenarios seem to be nearly
`endless. I have included just a few of many ideas in this section.
`
`Some UPnP Scenarios:
`
`The New Printer
`If I were to come home today with a new printer to use on my home network, I’d
`have to take several steps to make sure that the printer could be used by all of
`the PCs on the network, let alone available to any other device that may have a
`need to print.
`For example, I would need to connect the printer to an existing PC, load the
`device driver, share the printer on the network, then go to each of the other
`PCs on the network and connect to that shared printer.
`Wouldn’t it be nice to simply plug the printer into any available network port, be
`it phone line, power line, or Ethernet, and have the printer immediately
`available to all devices and users of the network?
`
`Out of Storage Space Again
`I am, ever so often and with increasing frequency, running out of storage space
`on my PC. I suppose this has something to do with the large number of digital
`pictures and movies I take, or possibly because I’ve made a valiant effort to
`catalog my entire CD collection as Windows Media™ files, but I don’t see the
`situation getting any better soon.
`
`Although the prices for secondary storage have decreased dramatically, the
`pain of adding a hard drive to one of my systems has only improved marginally
`through device Plug and Play. Worse yet is trying to figure out how to take
`those home movies, pictures, and sounds across the country when I go to visit
`my family on holidays.
`Suppose I had a high speed, high capacity, mobile data store that was UpnP-
`enabled. Perhaps this device connected directly to an Ethernet or phone line
`network. Or—to enable streaming of my home movies—the device could be
`connected to the high speed IEEE 1394 bus with the rest of my entertainment
`system. Wherever I plug in this device, all other devices on the network
`(including those that produce or display media) immediately know of its
`availability.
`
`Won’t my family be pleased when I visit them with seemingly endless home
`movies!
`
`Netflix, Inc. Exhibit 1010
`
`

`
`
`
`New, portable devices aren’t limited to storage or printers, but could include
`many other devices including cameras, MP3 players, scanners, MIDI devices,
`remote controls, TVs and video devices; the list is seemingly endless.
`
` “It’s always freezing when I wake up!”
`You’re in bed, about to go to sleep and tomorrow is Saturday. Your alarm clock
`usually wakes you up at 7 A.M., but tomorrow you want to sleep in. You need to
`be awakened by an alarm, but 9 A.M. seems like a much better time. So you
`set the alarm to 9 A.M. instead of 7 A.M.
`
`Since you have a UPnP alarm clock, life is good. You have a script running on
`your Windows®-based PC that is waiting for an alarm notification from the
`alarm clock. As soon as this happens, it instructs the timer on the HVAC device
`to set the wake time to the same as the alarm clock time.
`Now, your heat will turn on early enough so that you won’t freeze when you get
`out of bed! With an intelligent HVAC system, many other features could be
`added beyond what the programmable thermostats of today provide. This could
`include enabling the system when sensors detect people, and remote control of
`the system over the Internet.
`
`If your alarm clock had access to your schedule information, it could warn you if
`you choose to wake up after a meeting was scheduled. In other words, if you
`have a meeting at 9 A.M., and try to set your alarm for 9 A.M., it could warn you
`that you really ought to get up at 8 A.M. to be able to make it to work by 9.
`
`The Master Switch:
`You come home from a hard day’s work and walk in your front door. You flip a
`wall switch, which, to most of us, just turns on the light in the foyer. With UPnP,
`this switch is much more than that. This switch is simply a UPnP service whose
`state is defined by a variable called “Position.” When you flip the switch,
`“Position” changes to “On” and a script running on your Windows-based PC
`goes into action.
`
`The script gets the notification that the position of the master switch has
`changed to “on”. It then does the following:
`• The heat turns on to your preset temperature.
`• The answering machine starts playing new messages.
`• Your stereo system turns on and is set to your favorite classical
`station, and the volume is set for ambient level.
`• The window blinds raise, but only if it’s after sunset (sunrise/sunset
`data is easily obtainable from the Internet).
`• Optionally, the TV is turned on and set to the news station, with the
`sound off and the closed captioning turned on.
`
`
`
`
`
`Understanding Universal Plug and Play
`
`5
`
`Netflix, Inc. Exhibit 1010
`
`

`
`
`
`Understanding Universal Plug and Play
`
`6
`
`• Oh yeah, the light in the foyer also turns on.
`
`
`Similarly, when you flip the switch to the “off” position, the reverse occurs:
`• The heat turns off (or is set at a lower temperature).
`• The stereo is turned off.
`• The TV is turned off.
`• The window blinds lower for privacy.
`• All of the lights in the house are turned off.
`
`
`
`Synchronize Your Clocks:
`It happens all the time. The power goes out for a couple of hours, and every
`clock in your home is blinking 12:00. Going through the whole house to set
`them is annoying and time consuming.
`Enter UPnP. A script running on your Windows-based PC periodically
`synchronizes all the clocks in the house to the atomic clock in Colorado. The
`script looks for all clock services on the network, regardless of the device. It
`then simply iterates through each service, and sets the time to the value it
`obtained from the atomic clock over the Internet.
`This script can be running as a task that recurs every night at midnight. It can
`be manually run after the power comes back on to reset each clock.
`
`Vacation Mode
`If you were going to be away from your home for an extended period of time, a
`simple switch to put your home into “vacation” mode would be very useful. A
`“vacation mode” application could be run on your PC, which would do the
`following:
`• Periodically turn on and off the lights, and even the TV or stereo, in a
`seemingly random pattern (security).
`• Turn the water heater down or off (energy savings).
`• Turn the heat down or off (energy savings).
`• Lower the blinds (security).
`• Turn off all alarm clocks in the house (energy savings).
`• Set the VCR to record all of your favorite shows for the time that you
`are away (convenience).
`Until the post-office can be UPnP-enabled, you’ll have to stop the mail
`yourself.
`
`Netflix, Inc. Exhibit 1010
`
`

`
`
`
`Home theater mode:
`When it’s time to watch your favorite movie, a single script can automate the
`entire experience:
`• The TV is turned on to the proper channel (i.e. channel 3).
`• The DVD player is turned on.
`• The stereo is turned on to the Video mode, and the volume is turned
`up to theater levels.
`• The lights in the house turn off, except for the living room where they
`dim slightly.
`• The DVD is played.
`
`
`
`Take Me Out to the Ball Game
`Suppose you take your wireless Pocket PC or laptop to the ball game with you.
`As you travel to or from the game, the device is used in the car to pick up traffic
`information or roadside service information. This information can then be used
`to avoid congestion as much as possible, to pick up food and gas, or—if you
`decided to go at the last minute—to order your tickets and have them waiting at
`the Will Call booth for you when you arrive.
`When you get to the game, your device detects the stadium network and you
`can automatically sync up to the announcer commentary, order food and
`souvenirs and track player statistics.
`Your buddy list could be searched for any acquaintances that might also have
`left work early to see the game, and you could chat with them about the
`particulars of this call or that, even though they ended up in the “cheap seats.”
`The types of capabilities this scenario describes could easily apply to other
`events and recreational activities.
`
`Family Togetherness
`The entire family has their own personal calendars that they manage with their
`PDAs, cell phone, office or home PCs that are all UPnP-enabled. The
`integrated family calendar and the personal calendars are on the home network
`server.
`
`Each calendar is a UPnP service that can be seen by any member of the family
`as well as other enabled services. Because the PDAs connect to the wireless
`home network when they are at home and synchronize the calendar, every
`member of the family leaves for the day with everyone else’s calendar
`information.
`
`
`
`
`
`Understanding Universal Plug and Play
`
`7
`
`Netflix, Inc. Exhibit 1010
`
`

`
`
`
`Understanding Universal Plug and Play
`
`8
`
`The PDAs can re-synchronize with the home server via cell or direct Internet
`connections. While at work, mom realizes she needs to stay late for a meeting
`and will not have time to shop for and cook dinner. She uses the PDA and cell
`phone to send the grocery list to her favorite store for filling. She then sends all
`her family members an e-mail update to the family calendar that informs them
`she will be late. She tells her teenage son to pickup the groceries and start
`dinner.
`Dad checks the family schedule and realizes his son may need help getting all
`the groceries home and making dinner in time for them to attend a basketball
`game, so he goes to the grocery store to pickup his son and heads home to
`make dinner.
`
`
`The Well Connected Home
`It is easy to consider a home in which UPnP makes life easier or richer for
`many of the day-to-day tasks. Kitchen appliances could be connected to a
`power line network to form a home network. Information for each of the
`appliances, such as model, make, and serial number, could be accessed from
`many locations and retrieved for service calls. A URL for the manufacturer and
`manual could be accessed for anyone who wants to repair appliances on their
`own.
`
`Some appliances could be remotely controlled to be turned on or off, have their
`temperature controlled, or even signal the need for maintenance when they
`detect an abnormality. Many things would be made possible through remote
`control, including remotely closing the garage door, remotely checking on a
`baby in day-care or at home, and remotely programming a VCR to record a TV
`program you would otherwise miss.
`
`You could have a kitchen tablet on which you could make online product
`selections as you peruse your cupboards to see what’s missing. An attached
`bar code scanner might make making lists easier. This device would have
`automatic access to the home network and Internet using UPnP.
`The entire home security system could be connected to the UPnP network
`enabling you to be notified of a breach wherever you may be through the
`Internet. Sensors in each room to detect your presence could allow music, the
`baby monitor or video streams to follow you as you roam through the house
`performing those mundane household duties.
`
`
`
`Meeting Time
`
`
`Netflix, Inc. Exhibit 1010
`
`

`
`
`
`You’re at work. You walk into a conference room where you are scheduled to
`present your latest proposal. Your wireless-enabled laptop immediately
`recognizes the devices available in the room and connects to the display device
`so that your PowerPoint presentation can be displayed. Perhaps you can keep
`the other wireless attendees from reading email while you talk by displaying the
`presentation on their laptops also.
`
`
`
`
`
`
`
`Understanding Universal Plug and Play
`
`9
`
`Netflix, Inc. Exhibit 1010
`
`

`
`Components of a UPnP
`Network
`
`Devices, Services and control Points
`
`The basic building blocks of a UPnP network are devices, services and control
`
`points. These are described more fully in this section.
`
`UPnP Enabled Device
`
`
`
`UPnP Enabled Device
`
`Figure 4: UPnP comm: Points, Devices, and Services
`
`Devices
`
`A UPnP device is a container of services and nested devices. For instance, a
`
`VCR device may consist of a tape transport service, a tuner service, and a
`
`Understanding Universal Plug and Play
`
`10
`
`Netflix, Inc. Exhibit 1010
`
`Netflix, Inc. Exhibit 1010
`
`

`
`
`
`clock service. A TV/VCR combo device would consist not just of services, but a
`nested device as well.
`Different categories of UPnP devices will be associated with different sets of
`services and embedded devices. For instance, services within a VCR will be
`different than those within a printer. Consequently, different working groups will
`standardize on the set of services that a particular device type will provide. All
`of this information is captured in an XML device description document that the
`device must host. In addition to the set of services, the device description also
`lists the properties (such as device name and icons) associated with the device.
`
`Services
`The smallest unit of control in a UPnP network is a service. A service exposes
`actions and models its state with state variables. For instance, a clock service
`could be modeled as having a state variable, current_time, which defines the
`state of the clock, and two actions, set_time and get_time, which allow you to
`control the service. Similar to the device description, this information is part of
`an XML service description standardized by the UPnP forum. A pointer (URL)
`to these service descriptions is contained within the device description
`document. Devices may contain multiple services.
`A service in a UPnP device consists of a state table, a control server and an
`event server. The state table models the state of the service through state
`variables and updates them when the state changes. The control server
`receives action requests (such as set_time), executes them, updates the state
`table and returns responses. The event server publishes events to interested
`subscribers anytime the state of the service changes. For instance, the fire
`alarm service would send an event to interested subscribers when its state
`changes to “ringing.”
`
`Control Points
`A control point in a UPnP network is a controller capable of discovering and
`controlling other devices. After discovery, a control point could:
`• Retrieve the device description and get a list of associated services.
`• Retrieve service descriptions for interesting services.
`•
`Invoke actions to control the service.
`• Subscribe to the service’s event source. Anytime the state of the
`service changes, the event server will send an event to the control
`point.
`It is expected that devices will incorporate control point functionality (and vice-
`versa) to enable true peer-to-peer networking.
`
`
`
`
`
`
`
`Understanding Universal Plug and Play
`
`11
`
`Netflix, Inc. Exhibit 1010
`
`

`
`UPnP Protocol Overview
`
`Networking Media for UPnP
`
`UPnP leverages the standard IP protocol suite to remain network media
`
`agnostic. Devices on a UPnP network can be connected using any
`
`communications media including Radio Frequency (RF, wireless), phone line,
`
`power line, lrDA, Ethernet, and IEEE 1394. In other words, any medium that
`
`can be used to network devices together can enable UPnP. The only concern
`
`might be that the media being used supports the bandwidth required for the
`intended use.
`
`UPnP uses open, standard protocols such as TCP/IP, HTTP and XML.
`
`However, other technologies could be used to network devices together for
`
`many reasons, including cost, technology requirements, or legacy support.
`
`These include networking technologies like HAVi, CeBus, LonWorks, EIB, or
`
`X10. These too can participate in the UPnP network through a UPnP bridge or
`
`proxy. A UPnP network containing bridged devices might look like the figure
`below.
`
`
`
`Figure 2 A Bridged UPnP Network
`
`Protocols Used by UPnP
`
`UPnP leverages many existing, standard protocols. Using these standardized
`
`protocols aids in ensuring interoperability between vendor implementations.
`
`Understanding Universal Plug and Play
`
`12
`
`Netflix, Inc. Exhibit 1010
`
`Netflix, Inc. Exhibit 1010
`
`

`
`The protocols used to implement UPnP are found in use on the lntemet and on
`
`local area networks everywhere. This prevalence ensures that there is a large
`
`pool of people knowledgeable in implementing and deploying solutions based
`
`on these protocols. Since the same protocols are already in use, little would
`
`need to be done to make UPnP devices work in an existing networked
`environment.
`
`Some of the protocols used to implement UPnP are summarized in the rest of
`this section.
`
`UPnP Vendor Defined
`
`UPnP Forum Working Committee Defined
`
`UPnP Device Architecture Defined
`
` TCP
`
`Figure3.'TheUPnPProtocoIStack
`
`UPnP Specific Protocols
`
`UPnP vendors, UPnP Fomm Working Committees and the UPnP Device
`
`Architecture document define the highest layer protocols used to implement
`
`UPnP. Based on the device architecture, the working committees define
`
`information global to specific device types such as VCRs, HVAC systems,
`
`dishwashers, and other appliances. Subsequently, UPnP Device Vendors
`
`define the data specific to their devices such as the model name, URL, etc.
`
`Understandirg Universal Plug and Play
`
`13
`
`Netflix, Inc. Exhibit 1010
`
`Netflix, Inc. Exhibit 1010
`
`

`
`
`
`Understanding Universal Plug and Play
`
`14
`
`TCP/IP
`The TCP/IP networking protocol stack serves as the base on which the rest of
`the UPnP protocols are built. By using the standard, prevalent TCP/IP protocol
`suite, UPnP leverages the protocol’s ability to span different physical media and
`ensures multiple vendor interoperability.
`UPnP devices can use many of the protocols in the TCP/IP stack including
`TCP, UDP, IGMP, ARP and IP as well as TCP/IP services such as DHCP and
`DNS. How these protocols and services are used to provide what is required for
`UPnP to work will become clear as we discuss the other protocols in this
`section and discuss how UPnP works in subsequent sections.
`Since TCP/IP is one of the most ubiquitous networking protocols, locating or
`creating an implementation for a UPnP device that is tuned for footprint and/or
`performance is relatively easy.
`A basic understanding of the TCP/IP protocol suite and services is assumed in
`this document. More information on TCP/IP can be found in the references
`listed at the end of this document.
`
`HTTP, HTTPU, HTTPMU
`TCP/IP provides the base protocol stack to provide network connectivity
`between UPnP devices. HTTP, which is hugely responsible for the success of
`the Internet, is also a core part of UPnP. All aspects of UPnP build on top of
`HTTP or its variants.
`HTTPU (and HTTPMU) are variants of HTTP defined to deliver messages on
`top of UDP/IP instead of TCP/IP. These protocols are used by SSDP,
`described next. The basic message formats used by these protocols adheres
`with that of HTTP and is required both for multicast communication and when
`message delivery does not require the overhead associated with reliability.
`
`Some of the explanations of higher-level protocols and the workings of UPnP
`assume a basic knowledge of the HTTP protocol. More information on HTTP
`can be found through the references listed at the end of this document.
`
`SSDP
`Simple Service Discovery Protocol (SSDP), as the name implies, defines how
`network services can be discovered on the network. SSDP is built on HTTPU
`and HTTPMU and defines methods both for a control point to locate resources
`of interest on the network, and for devices to announce their availability on the
`network. By defining the use of both search requests and presence
`announcements, SSDP eliminates the overhead that would be necessary if only
`one of these mechanisms is used. As a result, every control point on the
`network has complete information on network state while keeping network
`traffic low.
`
`Netflix, Inc. Exhibit 1010
`
`

`
`
`
`Both control points and devices use SSDP. A UPnP control point, upon booting
`up, can send an SSDP search request (over HTTPMU), to discover devices
`and services that are available on the network. The control point can refine the
`search to find only devices of a particular type(such as a VCR), particular
`services (such as devices with clock services) or even a particular device.
`UPnP devices listen to the multicast port. Upon receiving a search request, the
`device examines the search criteria to determine if they match. If a match is
`found, a unicast SSDP (over HTTPU) response is sent to the control point.
`Similarly, a device, upon being plugged into the network, will send out multiple
`SSDP presence announcements advertising the services it supports.
`Both presence announcements and unicast device response messages contain
`a pointer to the location of the device description document, which has
`information on the set of properties and services supported by the device.
`In addition to the discovery capabilities provided, SSDP also provides a way for
`a device and associated service(s) to gracefully leave the network (bye-bye
`notification) and includes cache timeouts to purge stale information for self
`healing.
`
`GENA
`Generic Event Notification Architecture (GENA) was defined to provide the
`ability to send and receive notifications using HTTP over TCP/IP and multicast
`UDP. GENA also defines the concepts of subscribers and publishers of
`notifications to enable events.
`GENA formats are used in UPnP to create the presence announcements to be
`sent using Simple Service Discovery Protocol (SSDP) and to provide the ability
`to signal changes in service state for UPnP eventing. A control point interested
`in receiving event notifications will subscribe to an event source by sending a
`request that includes the service of interest, a location to send the events to
`and a subscription time for the event notification.
`The subscription must be renewed periodically to continue to receive
`notifications, and can also be canceled using GENA.
`
`SOAP
`Simple Object Access Protocol (SOAP) defines the use of Extensible Markup
`Language (XML) and HTTP to execute remote procedure calls. It is becoming
`the standard for RPC based communication over the Internet. By making use of
`the Internet’s existing infrastructure, it can work effectively with firewalls and
`proxies. SOAP can also make use of Secure Sockets Layer (SSL) for security
`and use HTTP’s connection management facilities, thereby making distributed
`communication over the Internet as easy as accessing web pages.
`
`
`
`
`
`Understanding Universal Plug and Play
`
`15
`
`Netflix, Inc. Exhibit 1010
`
`

`
`Much like a remote procedure call, UPnP uses SOAP to deliver control
`messages to devices and return results or errors back to control points.
`Each UPnP control request is a SOAP message that contains the action to
`invoke along with a set of parameters. The response is a soap message as well
`and contains the status, return value and any return parameters.
`
`XML
`Extensible Markup Language (XML), to use the W3C definition, is the universal
`format for structured data on the Web. Put another way, XML is a way to place
`nearly any kind of structured data into a text file.
`XML looks a lot like HTML in that it uses tags and attributes. Actually, it is quite
`different in that these tags and attributes are not globally defined as to their
`meaning, but are interpreted within the context of their use. These features of
`XML make it a good fit for developing schemas for various document types.
`The use of XML as a schema language is defined by the W3C.
`
`XML is a core part of UPnP used in device and service descriptions, control
`messages and eventing.
`
`
`
`
`
`Understanding Universal Plug and Play
`
`16
`
`Netflix, Inc. Exhibit 1010
`
`

`
`How UPNP Works
`
`The Responsibilities of UPnP
`
`UPnP provides support for communication between control points and devices.
`
`The network media, the

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket