throbber
designteature
`
`
`
`UPnP DEFINES COMMON PROTOCOLS AND PROCEDURES TO
`
`GUARANTEE INTEROPERABILITY AMONG NETWORK-
`
`ENABLED PCS. APPLIANCES. AND WIRELESS DEVICES.
`
`Devices that play together,
`work together
`
`
`
`DEVICE AND
`CONTROL POINT
`
` fl
`
`HAT 15 THE STATUS ofdevices on the Internet?
`
`And how do you start operations on them?
`Will the devices notify you when they have a
`significant event? And is there a simple human in-
`terface for the networked devices? The network
`
`UPnP (Universal Plug and Play) technology, which
`Microsoft and the UPnP Forum are promoting,
`might help you find the answers to these questions.
`UPnP technology applies to proximity networks
`in homes, small businesses, or commercial buildings.
`For example, the network in Figure 1 could be in a
`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 PIC.
`The UPnP smart devices in a local network con-
`
`nect using TCP/IP and communicate with a UPnP
`control point. The control point could be an oper—
`ator’s station or just another device on the network.
`In a typical scenario, a network supervisor con-
`nects a laptop either directly to the
`hub, via 802.1 lb, or remotely across
`the network to determine what de—
`
`vices are running and the status of
`each. The laptop is a UPnP control
`point; it can query the network de-
`vices for status and receive transmis-
`sions from ch 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.
`UPnP architecture targets peer—to—
`peer networking of intelligent appli—
`
`www.cdnmag.com
`
`ances, wireless devices, and computers of varying
`form factors. UPnP defines a set of common servic—
`
`es (protocols) that devices can use to join a network
`and describe themselves and their capabilities, en-
`abling other devices and people to use them without
`a complicated setup or configuration.
`UPnP has six basic layers or functions: device ad-
`dressing; device discovery; device description; action
`invocation; event messaging; and presentation, or
`human interface. UPnP is a protocol for data trans-
`mission; it does not move byte codes or use ActiveX
`controls. It is OS-independent but is built on various
`network standards. UPnP is 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
`
`When you add a device to a network, the device
`advertises itself, letting all control points know that
`the device is online. A control point can search the
`network for devices (Figure 2). Once a control point
`
`LAPTOP
`
`HUB
`
`
`
`DEVICE
`
`DEVICE
`
`L
`
`IhenextUPnPFomm nieetingwlilbeOCI la
`m19.2001mheMicrowftCorporateCm
`When you add a new control point (in this use, a laptop) to a network, the
`lemme can“ Redm' WA For Im device may ask the network to find UPnP-enabled devices. These devices
`tion email: upnpemt@miaosoftcom.
`respond with their URLs and device dest:riptioni.\I
`.
`Exhibit 1 0 12
`etfl1x, Inc. et a1.
`SEPTEMBER 13, 2001 | EDN 65
`Page 1 of 4
`
`Netflix, Inc. et al. Exhibit 1012
`
`Page 1 of 4
`
`

`

`
`
`
`designfeature Manley
`
`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 I-I'I'I‘P Multicast
`UDP). A control point an—
`swers using a unicast vari-
`ant of HTTP (H'I'I'PU, or
`HTTP Unicast UDP).
`HTTPMU is a new addi—
`tion to the HTTP stan-
`
`dard. In Figure l, 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
`
`nodes can be devices, control
`points, or both. Devices have
`sewices tha a control point
`can monitor or control.
`
`event messaging (layer 4);
`the device creates an
`
`event, and a control point
`listens for the event. De-
`vices can send data or the
`
`results of an action they
`have taken without initi—
`
`ating a control point.
`Some devices might pro—
`vide a control point with
`only a presentation user
`interface (layer 5). The
`control point’s browser
`displays the device’s Web
`user interface. 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 of the device description. Howev-
`er, if the control point is handling the de—
`vice programmatically and not through
`a Web browser, the presentation layer is
`not required. Because every UPnP device
`uses a Web server, it is simple to use the
`control point’s browser as 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 DHCP server, or devices
`can use Auto IP to assign an IP address.
`Auto IP is a new draft of the IETF (Inter—
`net Engineering Task Force) standard,
`Dynamic Configuration of Ipv4 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
`
`whether another device is using it.
`
`Yllll SAY HTTP", I SAY HTTPMU
`
`Searching for devices on a network or
`advertising that a device is on a network
`
`device responds with an H'I'I'PU reply.
`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
`and events, icons, and a URL for presen—
`tation, as well as the manufacturer’s
`name, serial number, product code, and
`other similar 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 sends a 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 as a “light—
`weight, XML—based protocol for ex-
`change ofinformation in a 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 message to the device. For example,
`the control point may instruct the device
`to send a message directly to an Internet
`URL. Once the action completes, the de—
`vice notifies the control point.
`A device does not often need to be told
`
`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,” and it 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 unique presen—
`tation, or Web home page. It sends the
`home—page URL to control points as part
`of its description.
`Today, UPnP control points are avail-
`able only in Windows Me systems. All
`standard Windows Me systems come
`with UPnP software, but users must in-
`stall it. Intel provides a free software—de—
`velopment kit for creating a Linux-based
`control point. A network can have any
`number of vendor—enabled or Windows
`
`Me control points.
`UPnP devices have embedded func-
`tions called “services.” Services can in—
`
`clude turning off the device, scanning in-
`puts for data, or similar functions. Either
`the device itself or a control point initi—
`ates a service. Some objects on a network
`can be both a control point and a device.
`This situation is most common in facto-
`
`ry systems.
`UPnP—enabled devices or control
`
`points have six layers of functions (Fig-
`ure 3). Layers 0, l, and 2 are fundamen—
`tal; they exist in all devices and control
`points. Layers 3, 4, and 5 are optional.
`Control points can initiate an action on
`a device (layer 3). Many devices offer only
`
`UPnP S'I'I|.|. NEEDS WORK
`
`Today, no templates or standards
`dictate how industrial madline
`tools, automaic tst equipment,
`or medical devics wrll communi-
`
`for consumer devica
`Invensys, an armrnationand
`oorlrolsindlstry vendor, has
`asked the UPnP Fonrn to create
`
`control points. You an still imple
`rnent UPnP on the laaorylloor
`witllout the comfort of a common
`standard of data
`In
`
`devices a network can support.
`You can imagine that aftera powL
`er larltre, every active UPnP de
`vine er send multicast ever! not‘r
`
`one data using UPnP (Universal
`Plug and Play). UPnP working
`wmmittees create devicespedfic
`ternplat5.A number ottem
`plateseristbuttheyaremostly
`
`an industrial working committee
`to define tanplats forfaaory and
`procesth use. Tanplatts pro
`videinteropeiabiitynltsformarr
`uladuelsds‘lnflardeviceswith
`
`fad, many devias support d'scw titatiom, and every control point
`eryand prserlation without the
`will send inquiis of discovery.
`use of standard templata
`For a ndwkwith many UPnP-
`there has been notestingto
`enableddevicrs,sudltraflicootld
`deteminethenumberofUPnP
`bringthenetmrktoitsknees
`
`66 EDN | SEPTEMBER 13, 2001
`
`Netflix, Inc. et a1. Exhibit 1012
`www.cdnmagxam
`Page 2 of 4
`
`Netflix, Inc. et al. Exhibit 1012
`
`Page 2 of 4
`
`

`

`
`
`
`designfeaturemam
`
`distributed environment.” The device
`
`completes the action and re-
`sponds using SOAP.
`The event—messaging layer appears to
`be a basic push model in 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 want to listen to more than
`one network service but not all of them.
`
`By subscribing and unsubscribing to
`events, control points can be selective.
`When a service within a device has an
`
`event, it sends that event (Notify) to all
`airrent 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 H'I'I'P defined by the IETF
`draft standard. GENA is designed to send
`and receive notifications using H'ITP
`over TCP and UDP.
`
`The presentation function presents in-
`formation and control to the user. Pre—
`
`sentation requires the completion of lay—
`ers 0, l, and 2: getting an address,
`discovering the device, and obtaining the
`device description. The description doc-
`
`ument provides 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 document provides a URL for
`the initial presentation page for the de-
`vice. An unlimited number of linked
`
`presentation pages is permitted.
`
`Plllli-llllll-PLAY STABKS
`
`So far, UPnP looks straightforward.
`However, some pieces of the technology
`that UPnP uses are absent from typical
`network-enabled devices. Many imple-
`menters have no knowledge of some of
`the newer protocols.
`Most irnplementers will purchase their
`UPnP protocol stacks as they now pur-
`chase TCP/IP stacks. The descriptions of
`the functions mention some of the pro-
`
`presence to the network, and a
`control point uses HTTPMU to
`ask what devices are present.
`Both use GENA and SSDP (Sim-
`ple Device Discovery Protocol). The con—
`trol function uses SOAP. The IETF define
`GENA and SSDP, and the W3C defines
`SOAP. HTTPMU is not part ofthe HTTP
`standard. HTTPMU was created for use
`in UPnP, and H'I'I‘PU is used in the re-
`sponse to a search as well as in descrip—
`tion, control, and events.
`The UPnP Device Architecture layer,
`the focus of this 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
`
`FOR MORE INFORMATION...
`Formoreinfonnaliononplodudssudlasthosedismssed inflnisarfidegotowwwednnagcom.
`Whenyou wind anyofthefolowing manufacturers diredly. please letthem knouyou read
`wout their products in EDN.
`m m
`1.973.264.5500
`mjwmm
`EnterNo. 301
`
`mmnkm
`Emalllo, 305
`
`any language to call UPnP functions.
`UPnP is 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 on a variety of physi-
`cal networks;the onlyrequirement is that
`mm mM
`the network must support IP.
`mumpmg
`You can obtain more information at
`mun 309
`— the UPnP Forum Web site (www.upnp.
`W1C (World WideWell
`org). To obtain complete information,
`Hanson
`Will-ll)
`you must first join the UPnP Forum,
`mniaosoltcom
`IEIF (Internet Ella'leef'llz
`WWW-"3.0%
`which charges no membership fee. The
`WEND- 306
`73* flue)
`“Hf-0'3 — Em”"0- 3'0
`UPnP Forum, a nonprofit organization,
`WM" 302
`m '"I
`defines UPnP protocols and UPnP device
`m m
`I“
`templates and isthe source ofdevice cer—
`SUPER INFO NUMBER
`.
`.
`.
`.
`tification.
`.
`.
`I-4OB-765-8080
`mmtsubtshldnpscmt/
`.
`.
`.
`.
`For more Infonnatlon on the
`hwy/manhqu
`pmdumlmmml
`I The UPnP Forum is an industry m1-
`products available from all of
`Eme, M 303
`Em, Na 307
`native desrgned to enable easy and robust
`— — the vendors listed in this box.
`connectivity among stand—alone devices
`mmm m In:
`go to wwwednmagcom, dle
`and computers from many vendors. The
`yum
`Hum—1m
`on the Reader Service link, and
`UPnP Forum is open to any company
`wijsyscom
`mnetsiconcom
`enter no. 3|]
`wanting to participate in driving the
`EntaNo. 304
`EnterNa 308
`adoption of UPnP. Companies with in-
`'
`'Cul d '
`h
`Netfii'igft lr’t'é’f'rgt air. “Em? fiiiz
`mednmgcam
`Page 3 of 4
`
`68 EDN | SEPTEMBER 13, 2001
`
`
`
`tocols that make up UPnP. You
`can find complete information at
`the UPnP Forum, W3C, and
`IETF Web sites.
`
`UPnP starts with IP (Figure4).
`UDP is used for discovery and
`events because it is multicast.
`
`TCP handles description, con-
`trol, and presentation. A device
`uses HTTPMU to broadcast its
`
`UPnP's six layers consist of IP addressing: discovery;
`description of URLs and services: optional control of
`other UPnP devices: event messaging; and presentation,
`or the Web page for the device. layers 0 to 2 exist in all
`UPnP-enabled devices and control points.
`
`Netflix, Inc. et al. Exhibit 1012
`
`Page 3 of 4
`
`

`

`
`
`designfeatureMb
`
`
`
`UPnP-network—device implementers use protocol standards, sud: as GENA
`(General Event Notification Ardlitedue), SSDP (Simple Device Discovery Pro-
`tocol). and SOAP (Simple Obied Access Protocol), to enable automatic tiscovery and description.
`
`complete device description or double
`click to launch a browser and display the
`device’s HTML page. When a UPnP de—
`vice is shut down (not aborted) or a new
`UPnP device comes online, it will be list—
`ed in the control—point window.
`
`VlllAl ABllllT JAVA?
`
`For companies using a total lava op—
`tion, Metro Link Inc has a complete set
`of lava—based UPnP software stacks. The
`Metro EnableWorks Device software-de-
`
`velopment kit for Java was built for both
`Java 1.1 and 1.2. It works with any OS
`that is fully compliant with lava 1.1 or
`higher. The Metro EnableWorks UPnP
`control—point software—development kit
`for Java gives developers all the tools they
`need to develop UPnP control points for
`lava-1.2—compliant platforms.
`Silicon is coming to UPnP in 2001.
`Mitsubishi Electric and Electronics has
`
`network. A workstation’s browser will
`
`become the operator interface for all 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
`
`same way. The best 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 making it
`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.l:l
`
`AUTHOR’S BIOGRAPHY
`
`Edward Steinfeld has more than 25 years
`experience in real—time and embedded
`computing. He has marketed embedded
`and real—time products to OEMs and re—
`sellers for Digital Equipth Corp, Ven-
`turCom Inc, and Phar Lap Soflware. His
`international experience includes a stint in
`Hong Kong as a Far East channels man-
`ager and responsibility for international
`OEM marketing in Europe and the
`ic Rim. Steinfeld is now providing market
`research, planning, and services to the em-
`bedded-computing industry. He has been
`an evangelistfor embedded Web products
`since 1995, when he announced the
`“World’s Smallest Web Server” for Phar
`come UPnP control points, it will be eas—
`Lap Software. At the time, it may have
`ier to deploy smart devices on 1fieetffileent Ie1jérstedtisa sWfigsefi'leBit 1012
`X,
`.
`.
`ednmag.com
`Page 4 of 4
`
`Xm
`
`announced a set of microprocessors for
`the implementation of Intemet—enabled
`devices. Mitsubishi will include a Control
`
`Point reference design with these offer—
`has
`NetSilicon will be delivering UPnP
`software along with its NET+ARM sys—
`tem on a chip, a high-performance, high—
`ly integrated embedded Ethernet proces—
`sor targeting today’s demanding net-
`work-appliance applications. NetSilicon
`believes that UPnP will help untrained
`workers to use network-enabled devices.
`As more devices become UPnP—en-
`abled and more workstation 085 be-
`
`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.
`
`SllFlVlAllE—IJEVELIIPMEIIT Allll llllll KITS
`
`Both Microsoft and Intel offer UPnP
`
`software—development kits at no cost to
`developers. The Intel Linux SDK is avail—
`able online at http://intel.comlial/upnp
`or http://upnp.sourceforge.net, and
`the Microsoft SDK for Windows devel-
`
`is available at http://www.
`opment
`n1icrosofi.oomlhwdev/upnp.
`The Intel Linux SDK includesAPI and
`
`Linux source code to implement UPnP-
`compliant control points and devices,
`sample source code with comments,
`header files, an integrated Web server, an
`optimized XML parser, dommentation,
`and a Berkeley-style open-source license.
`The Microsoft SDK includes code for dis—
`
`covery, control, and events; Windows
`2000 and Windows CE support; ISAPI
`(Internet Server API) control, which
`works with an [[8 (Internet Information
`Server) or Wmdows CE Web servers; a
`mini-XML parser; documentation; tools,
`such as generic UCP and network-mon—
`itor parsers, and sample code that imple-
`ments the X10 light bridge.
`If you are unfamiliar with GENA,
`SSDP, SOAP, and multicast HTTP or if
`you would rather have someone else do
`all the basics, a small number of vendors
`are shipping UPnP tool sets. The tool-set
`vendors are members of the UPnP Fo—
`
`rum. They have tested their products at
`UPnP Plug Fests for adherence to the
`specification and compatibility with oth—
`er vendors’ products.
`Products shipping today from Allegro
`Software Development Corp include
`RomUPNP Basic and RomUPNP Ad-
`vanced tool kits. RomUPNP Basic in—
`
`cludes discovery, description, and pres-
`entation, and RomUPNP Advanced adds
`events and control. Control turns a de-
`
`vice into an UPnP control point. These
`products, along with all other Allegro
`Software products, such as its micro—
`XML parser and Web client, follow the
`UPnP principal of being hardware, op—
`erating-system, and language independ-
`ent. Allegro provides a UPnP Device
`Viewer program for all Windows systems
`that looks for UPnP devices on the net—
`
`work and provides a list in a window.You
`can click on the device name to see a
`
`70 eon l SEPTEMBER 13, 2001
`
`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