throbber
designfeature
`
`
`
`UPnP DEFINES COMMON PROTOCOLS AND PROCEDURES TO
`
`GUARANTEE INTEROPERABILITY AMONG NETWORK-
`
`ENABLEDPCs, APPLIANCES, AND WIRELESS DEVICES.
`
`Devicesthatplay together,
`work together
`
`ances, wireless devices, and computers of varying
`form factors. UPnP defines a set of commonservic-
`es (protocols) that devices can use to join a network
`and describe themselves and their capabilities, en-
`abling other devices and peopleto use them without
`a complicated setup or configuration.
`UPnPhassix basic layers or functions: device ad-
`dressing; device discovery; device description; action
`invocation; event messaging; and presentation, or
`humaninterface. UPnPis a protocol for data trans-
`mission; it does not move byte codes or use ActiveX
`controls.It is OS-independentbutis built on various
`network standards. UPnPis designed to work in a
`peer-to-peer or ad-hoc network. Devices can use a
`DHCP (Dynamic Host Configuration Protocol)
`server or Auto IP (Internet Protocol) to automatically
`choose an IP address from a range of addresses.
`
`DEVICE DISCOVERY
`
`LAPTOP
`
`HATIS THE STATUusofdevices on the Internet?
`And howdoyoustart operations on them?
`Will the devices notify you when they have a
`significant event? Andis there a simple humanin-
`terface for the networked devices? The network
`UPnP (Universal Plug and Play) technology, which
`Microsoft and the UPnP Forum are promoting,
`mighthelp you find the answers to these questions.
`UPnPtechnology applies to proximity networks
`in homes, small businesses, or commercial buildings.
`For example, the network in Figure 1 could be ina
`hospital lab, connecting a cell counter, chromato-
`graph, and blood analyzer; in an office, connecting
`a print server, fax machine, DSL router, and HVAC
`controller; in a factory, connecting a PLC, machine-
`tool controller, and conveyor-belt controller; or in
`a process plant, connecting setpoint controllers,
`smart sensors, and a PLC.
`The UPnP smart devicesin a local network con-
`Whenyouadd a device to a network, the device
`nect using TCP/IP and communicate with a UPnP
`advertises itself, letting all control points know that
`control point. The control point could be an oper-
`the device is online. A control point can search the
`ator’s station or just another device on the network.
`In a typical scenario, a network supervisor con- networkfor devices (Figure 2). Onceacontrol point
`
`nects a laptop either directly to the
`hub, via 802.11b, or remotely across
`the network to determine what de-
`vices are running andthestatus of
`each. The laptop is a UPnP control
`point; it can query the network de-
`vices for status and receive transmis-
`sionsfrom each device that in-
`clude a description of the
`device and a pointer to the device’s
`URL.Better yet, when an event occurs
`on an UPnP-enabled device, the de-
`vice notifies
`subscribing control
`points of the event.
`UPnParchitecture targets peer-to-
`peer networkingofintelligent appli-
`
`HUB
`
`
`
`
`
`DEVICE
`
`DEVICE
`
`L
`
`DEVICE AND
`CONTROL POINT
`
`
`
`7
`
`The next UPnP Forum meeting will be Oct 18
`to 19, 2001 at the Microsoft Corporate Con-
`ference Center, Redmond, WA. For informa-
`tion e-mail: upnpevnt@microsoft.com.
`
`www.ednmag.com
`
`Whenyou add a new control point (in this case, a laptop) to a network, the
`device may ask the network to find UPnP-enabled devices. These devices
`respondwith their URLs and device Aescriptions
`.
`etflix, Inc. et al.
`Exhibit 1012
`SEPTEMBER 13, 2001 | EDN 65
`Page 1 of 4
`
`Netflix, Inc. et al. Exhibit 1012
`
`Page 1 of 4
`
`

`

`
`
`designfeatureUPnPtechnology
`
`
`
`
`
`event messaging(layer 4);
`the device creates an
`event, and a control point
`listens for the event. De-
`vices can senddata or the
`results of an action they
`have taken withoutiniti-
`ating a control point.
`Somedevices might pro-
`vide a control point with
`only a presentation user
`interface (layer 5). The
`control point’s browser
`displays the device’s Web
`userinterface. This
`user interface may
`either display events or
`status or control the de-
`vice.
`The presentation layer
`appears to be required, be-
`cause a pointer to the presentation URL
`is part ofthe device description. Howev-
`er,ifthe control point is handling the de-
`vice programmatically and not through
`a Web browser,the presentation layeris
`not required. Because every UPnPdevice
`uses a Webserver,it is simple to use the
`control point’s browseras the front pan-
`el of the device.
`The addressing layer is where control
`points and devices obtain their IP ad-
`dresses. The addresses can be hardwired
`or come from a DHCPserver, or devices
`can use Auto IP to assign an IP address.
`AutoIP is a new draft of the IETF (Inter-
`net Engineering Task Force) standard,
`Dynamic Configuration ofIpv4 Link-Lo-
`cal Addresses. Auto IP permits a UPnP
`device to select an IP address from a range
`of nonroutable addresses. Once selected,
`the device tests the address to determine
`whetheranotherdevice is usingit.
`
`is the function of the dis-
`covery layer. When you
`add a device to a network,
`the discovery layer adver-
`tises the device’s presence
`by sending a multicast
`variant of HTTP (HTTP-
`MU,or HTTP Multicast
`UDP).A control point an-
`swers using a unicast vari-
`ant of HTTP (HTTPU,or
`HTTP Unicast UDP).
`HTTPMUis a new addi-
`tion to the HTTP stan-
`dard. In Figure 1, a con-
`trol point (the laptop) is
`added to the network. To
`find out what UPnP nodes
`exist, the control point
`sends out a HTTPMU,
`and each UPnP-enabled
`device responds with an HTTPUreply.
`Once a control point discovers a de-
`vice, it can obtain a description from the
`device. The device expresses the infor-
`mation in XML(Extensible Markup Lan-
`guage). XML is used throughout the
`UPnP implementation.A description in-
`cludes a device type, URLs for control
`andevents, icons, and a URL for presen-
`tation, as well as the manufacturer’s
`name, serial number, product code, and
`othersimilar information. The UPnP Fo-
`rum defines device types. Each device
`type may have one or more UPnP tem-
`plates to define the content and presen-
`tation of data.
`To initiate device action, a control
`point sendsa control message using the
`definitions from the device-description
`document. To exchange information,the
`control layer uses a W3C (World Wide
`Web Consortium) draft standard, SOAP
`(Simple Object Access Protocol). The
`consortium defines SOAP asa “light-
`weight, XML-based protocol for ex-
`changeofinformationina decentralized,
`
`discovers a device, the device provides a
`description of itself and the services it
`provides. It presents this information in
`an XML document. Control points can
`initiate an action on the device by send-
`ing a messageto the device. For example,
`the control point mayinstruct the device
`to send a messagedirectly to an Internet
`URL. Once the action completes, the de-
`vice notifies the control point.
`A device does not often need to betold
`to perform its function,but it does need
`to report its status to one or more con-
`trol points. In UPnP, this reporting is
`called “event messaging,” andit is based
`on a basic push model. Devices send
`events only to control points that sub-
`scribe to a device’s events.
`Each device can have a uniquepresen-
`tation, or Web homepage.It sends the
`home-page URL to controlpoints as part
`ofits description.
`Today, UPnP control points are avail-
`able only in Windows Mesystems.All
`standard Windows Me systems come
`with UPnPsoftware, but users must in-
`stall it. Intel provides a free software-de-
`velopmentkit for creating a Linux-based
`control point. A network can have any
`numberof vendor-enabled or Windows
`Mecontrolpoints.
`UPnP devices have embedded func-
`tions called “services.” Services can in-
`cludeturningoffthe device, scanning in-
`puts fordata,or similar functions. Either
`the device itself or a control pointiniti-
`ates a service. Some objects on a network
`can be both a control point and a device.
`This situation is most commonin facto-
`
`ry systems.
`UPnP-enabled devices or control
`points havesix layers of functions (Fig-
`ure 3). Layers 0, 1, and 2 are fundamen-
`tal; they exist in all devices and control
`points. Layers 3, 4, and 5 are optional.
`Controlpoints can initiate an action on
`a device (layer 3). Manydevices offer only
`
`UPnP-network
`nodes can be devices, control
`points, or both. Devices have
`services that a control point
`can monitor or control.
`
`YOU SAY HTTPU,| SAY HTTPMU
`
`Searching for devices on a network or
`advertising that a device is on a network
`
`UPnP STILL NEEDS WORK
`
`Today, no templates or standards—_for consumer devices. control points. You can still imple- devices a network can support.
`
`dictate how industrial machine
`Invensys, an automation-and-
`ment UPnP on the factory floor
`You can imagine that after a pow-
`
`tools, automatic test equipment, without the comfort of acommon__er failure, every active UPnP de-_controls-industry vendor, has
`
`
`
`or medical devices will communi- asked the UPnP Forum to create—_—standard of data identification. In —_vice will send multicast event noti-
`
`cate data using UPnP (Universal fact, many devices support discov-_fications, and every control point—_anindustrial working committee
`
`Plug and Play). UPnP working
`to define templates for factory and
`—_ery and presentation without the
`—_will send inquiries of discovery.
`
`committees create device-specific—process-plant use. Templates pro- _use of standard templates. For a network with many UPnP-
`
`templates. A number of tem-
`vide interoperability rules for man-
`There has been no testing to
`enabled devices, such traffic could
`plates exist, but they are mostly
`ufacturers of similar devices with
`determine the number of UPnP
`bringthe network to its knees.
`Netflix, Inc. etal. Exhibit 1012
`www.ednmag.com
`Page 2 of 4
`
`66 EDN | SEPTEMBER 13, 2001
`
`Netflix, Inc. et al. Exhibit 1012
`
`Page 2 of 4
`
`

`

`
`
`designfeatureUPnPtechnology
`
`distributed environment.” The device
`completes the action and re-
`sponds using SOAP.
`The event-messaging layer appears to
`be a basic push modelin which control
`points listen for notifications of UPnP-
`device state changes. But actually, the
`process is a little more complex. To ob-
`tain event messages, control points sub-
`scribe to event messages for a specific
`service within a device. A network can
`contain multiple control points and mul-
`tiple UPnP-enabled devices. A control
`point might wantto listen to more than
`one networkservice butnotall of them.
`By subscribing and unsubscribing to
`events, control points can beselective.
`Whena service within a device has an
`event, it sends that event (Notify) to all
`current subscribers. Consequently, all
`subscribers have current knowledge of
`the state of the device.
`Event messages use GENA (General
`Event Notification Architecture), an ex-
`tension to HTTP defined by the IETF
`draft standard. GENAis designed to send
`and receive notifications using HTTP
`over TCP and UDP.
`Thepresentation function presents in-
`formation and controlto the user. Pre-
`sentation requires the completionoflay-
`ers 0, 1, and 2: getting an address,
`discovering the device, and obtaining the
`device description. The description doc-
`
`
`
`
`
`
`UPnP’ssix layers consist of IP addressing; discovery;
`description of URLs and services; optional control of
`other UPnPdevices; event messaging; and presentation,
`or the Web pagefor the device. Layers 0 to 2 exist in all
`UPnP-enabled devices and control points.
`
`umentprovides the device URL for the
`presentation page. There are no con-
`straints on the use of the Web page you
`obtain from the device. The device-de-
`scription documentprovides a URL for
`the initial presentation page for the de-
`vice. An unlimited number of linked
`presentation pages is permitted.
`
`PLUG-AND-PLAY STACKS
`
`So far, UPnP looks straightforward.
`However, somepieces of the technology
`that UPnPuses are absent from typical
`network-enabled devices. Many imple-
`menters have no knowledge of some of
`the newerprotocols.
`Most implementers will purchase their
`UPnPprotocol stacks as they now pur-
`chase TCP/IP stacks. The descriptions of
`the functions mention someofthe pro-
`
`tocols that make up UPnP. You
`can find complete information at
`the UPnP Forum, W3C, and
`IETF Websites.
`UPnP starts with IP (Figure4).
`UDPis used for discovery and
`events because it is multicast.
`TCP handles description, con-
`trol, and presentation. A device
`uses HTTPMUto broadcastits
`presence to the network, and a
`control point uses HTTPMUto
`ask what devices are present.
`Both use GENA and SSDP (Sim-
`ple Device Discovery Protocol). The con-
`trol function uses SOAP. The IETFdefine
`GENAand SSDP, and the W3C defines
`SOAP. HTTPMUis notpart ofthe HTTP
`standard. HTTPMUwas created for use
`in UPnP, and HTTPUisused in the re-
`sponseto a search as well as in descrip-
`tion, control, and events.
`The UPnP Device Architecturelayer,
`the focus ofthis article, defines the UPnP
`structure. Microsoft designed the archi-
`tecture and contributed it to the UPnP
`Forum to be used royalty-free. Working
`committees of the UPnP forum define
`UPnP Forum Templates. They also define
`domain- and device-specific meaning
`and data format on top of UPnP Device
`Architecture. UPnP vendors may also
`specify their own extensions to working-
`committee definitions. Vendors can use
`any language to call UPnP functions.
`UPnPis designed to be both language
`and operating-system independent.
`The UPnP vendor-specific layer com-
`prises the application, the user interface,
`and vendor-specific hardware. Vendors
`can deliver UPnP ona variety of physi-
`
`FOR MORE INFORMATION...
`For more information on products such as those discussed inthis article, go to www.ednmag.com.
`When you contact any of the following manufacturers directly, please let them know you read
`about their products in EDN.
`
`mentCorp metroinkIne pee an calnetworks;theonlyrequirementisthat
`
`
`1-978-264-6600
`wwwmetrolink.com
`wwwupnp.org
`the network must support IP.
`wwwallegrosoft.com
`EnterNo. 305
`EnterNo. 309
`You can obtain more information at
`EnterNo. 301
`——
`the UPnP Forum Website (www.upnp.
`——
`W3C (World Wide Web
`org). To obtain complete information,
`IETF (Internet Engineering
`Consortium)
`you mustfirst join the UPnP Forum,
`Task Force)
`Www.w3.0rg
`which charges no membership fee. The
`wwwietforg
`EnterNo. 310
`UPnP Forum,a nonprofit organization,
`EnterNo. 302
`defines UPnPprotocols and UPnPdevice
`Intel Corp
`templatesandisthesourceofdevicecer-
`tification.
`1-408-765-8080
`:
`:
`-e
`hitp://intelcomyial/upnp
`; The UPnP Forum is an industry ini-
`EnterNo. 303
`tiative designed to enable easy and robust
`—__
`connectivity among stand-alone devices
`Invensys Software Systems
`and computers from manyvendors. The
`1-703-234-6000
`UPnP Forum is open to any company
`wwwiinvensys.com
`wanting to participate in driving the
`EnterNo. 304
`adoption of UPnP. Companies with in-
`i
`icular
`devi
`hi
`
`Microsoft
`wwwmicrosoft.com
`EnterNo. 306
`—_
`Mitsubishi Electric and
`RlectromicsUSAinc
`rene eiets
`www.mitsubishichips.com/
`products/may/indexhtml
`EnterNo. 307
`—__
`NetSilicon Inc
`1-781-647-1234
`wwwnetsilicon.com
`EnterNo. 308
`
`SUPER INFO NUMBER
`.
`.
`For more information on the
`products available from all of
`the vendors listed in this box,
`go to www.ednmag.com,click
`onthe Reader Service link, and
`enter no. 311
`
`68 EDN | SEPTEMBER 13, 2001
`
`Netflix.Ine:et al. Exhibit 1612
`
`www.ednmag.com
`Page 3 of 4
`
`Netflix, Inc. et al. Exhibit 1012
`
`Page 3 of 4
`
`

`

`
`
`designfeatureUPnPtechnology
`
`become UPnP Forum members and par-
`ticipate in the process to design schema
`templates for their device classes. More
`than 300 companies are UPnP Forum
`members.
`
`SOFTWARE-DEVELOPMENT ANDTOOL KITS
`
`
`
`Both Microsoft and Intel offer UPnP
`software-developmentkits at no cost to
`developers. The Intel Linux SDKis avail-
`able online at http://intel.com/ial/upnp
`or http://upnp.sourceforge.net, and
`the Microsoft SDK for Windows devel-
`opment
`is available at http://www.
`microsoft.com/hwdev/upnp.
`TheIntel Linux SDKincludesAPI and
`Linux source code to implement UPnP-
`compliant control points and devices,
`sample source code with comments,
`headerfiles, an integrated Webserver, an
`optimized XMLparser, documentation,
`anda Berkeley-style open-source license.
`The Microsoft SDK includes codefor dis-
`covery, control, and events; Windows
`2000 and WindowsCEsupport; ISAPI
`(Internet Server API) control, which
`works with an IIS (Internet Information
`Server) or Windows CE Webservers; a
`mini-XMLparser; documentation;tools,
`For companiesusinga total Java op-
`such as generic UCP and network-mon-
`tion, Metro Link Inc has a complete set
`itor parsers, and sample codethat imple-
`ments the X10light bridge.
`of Java-based UPnP software stacks. The
`Metro EnableWorks Device software-de-
`If you are unfamiliar with GENA,
`velopmentkit for Java was built for both
`SSDP, SOAP, and multicast HTTPorif
`Java 1.1 and 1.2. It works with any OS
`you would rather have someoneelse do
`that is fully compliant with Java 1.1 or
`all the basics, a small numberof vendors
`higher. The Metro EnableWorks UPnP
`are shipping UPnP toolsets. The tool-set
`vendors are members of the UPnP Fo-
`control-point software-developmentkit
`for Java gives developers all the tools they
`rum. They havetested their products at
`need to develop UPnP controlpoints for
`UPnP Plug Fests for adherence to the
`Java-1.2-compliantplatforms.
`specification and compatibilitywith oth-
`AUTHOR’S BIOGRAPHY
`Silicon is coming to UPnP in 2001.
`er vendors’ products.
`Mitsubishi Electric and Electronics has
`Edward Steinfeld has more than 25 years
`Products shipping today from Allegro
`experience in real-time and embedded
`announced a set of microprocessors for
`Software Development Corp include
`RomUPNPBasic and RomUPNP Ad-
`computing. He has marketed embedded
`the implementation of Internet-enabled
`devices. Mitsubishi will include a Control
`vanced tool kits. RomUPNP Basic in-
`andreal-time products to OEMsandre-
`sellers for Digital Equipment Corp, Ven-
`Point reference design with these offer-
`cludes discovery, description, and pres-
`turCom Inc, and Phar Lap Software. His
`entation, and RomUPNP Advanced adds
`ings.
`events and control. Control turns a de-
`international experience includes a stint in
`NetSilicon will be delivering UPnP
`Hong Kong as a Far East channels man-
`software along with its NET+ARM sys-
`vice into an UPnPcontrol point. These
`ager and responsibility for international
`tem ona chip, a high-performance, high-
`products, along with all other Allegro
`OEM marketing in Europe and the Pacif-
`ly integrated embedded Ethernetproces-
`Software products, such as its micro-
`ic Rim. Steinfeld is nowproviding market
`sor targeting today’s demanding net-
`XMLparser and Webclient, follow the
`research, planning, and services to the em-
`work-appliance applications. NetSilicon
`UPnP principal of being hardware, op-
`bedded-computing industry. He has been
`believes that UPnP will help untrained
`erating-system, and language independ-
`workers to use network-enabled devices.
`an evangelistfor embedded Web products
`ent. Allegro provides a UPnP Device
`As more devices become UPnP-en-
`Viewerprogram forall Windows systems
`since 1995, when he announced the
`that looks for UPnP devices on the net-
`abled and more workstation OSs be-
`“World’s Smallest Web Server” for Phar
`
`work and providesalist in a window.You come UPnP controlpoints, it will be eas- Lap Software. At the time, it may have
`
`can click on the device nameto see a
`ier to deploy smart devices on NEt(fee eafirstSeats Wepsever 1012
`
`UPnP-network-device implementers use protocol standards, such as GENA
`(General Event Notification Architecture), SSDP (Simple Device Discovery Pro-
`tocol), and SOAP (Simple Object Access Protocol), to enable automatic discovery and description.
`
`complete device description or double
`click to launch a browseranddisplay the
`device’s HTML page. When a UPnP de-
`vice is shut down (not aborted) or a new
`UPnPdevice comes online, it will belist-
`ed in the control-point window.
`
`WHAT ABOUT JAVA?
`
`network. A workstation’s browserwill
`becomethe operatorinterface forall the
`smart networked devices. Operators can
`start actions in the devices, or the actions
`can begin programmatically, and oper-
`ators will be able to obtain the results the
`sameway. Thebest part of UPnP is that
`it lets you find out what devices are on
`the network and how to communicate
`with them.
`UPnP implementation is not rocket
`science, and excellent tools are makingit
`even easier to design UPnP-enabled de-
`vices. User-interface designs can be as
`simple as HTML pages, with no addi-
`tional hardware required. Once vendors
`and users see the power of UPnP, every
`network-enabled device will be UPnP-
`enabled.o
`
`70 EDN | SEPTEMBER 13, 2001
`
`www.ednmag.com
`Page 4 of 4
`
`5
`
`.
`
`.
`
`Netflix, Inc. et al. Exhibit 1012
`
`Page 4 of 4
`
`

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