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
`
`HAT IS 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 PIJC, machine-
`tool controller, and conveyor—beIt controller; or in
`a process plant, connecting setpoint controllers,
`smart sensors, and a PLC.
`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 nmning 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-
`
`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
`
`DEVICE AND
`CONTROL POINT
`
`
`
`Ihe next UPnP Fomm meetingwill beoct Is
`to I9,2(X)I attheMiaosottCoIporateCorr
`terence Center, Redmond. WA For informer
`tion email: upnpevnt@microsottcom.
`
`www.cdnmag.com
`
`When you add a new control point (in this case, a laptop) to a netvvorlt, the
`device may ask the network to find UPnP-enabled devices. These devices
`respond with their URLs and device descriptions.
`
`Netflix, Inc. Exhibit 1012
`Serrnunan 13, 2001 I EDN 65
`
`Netflix, Inc. Exhibit 1012
`
`

`

`designfeature l112zzP_tecb_zzQlogy
`
`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.
`
`discovers a device, the device provides a
`description of itself and the services it
`provides. It presents this infomration 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, 1, 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
`
`The presentation layer
`appears to be required, be-
`cause a pointer to the presentation URL
`is part of the device description. Howev-
`er, ifthe control point is handling the de-
`vice prograrnmatically 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-Io-
`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 IIIIPII, I SAY HTTPMU
`
`Searching for devices on a network or
`advertising that a device is on a network
`
`
`
`UPnP-network
`nodes can be devices, control
`points, or both. Devices have
`services thd a control point
`can monitor or control.
`
`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 (HTI'PU, or
`HTTP Unicast UDP).
`HTTPMU is 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 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 ir1for—
`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 infonnation. The UPnP Fo-
`
`rum defines device types. Each device
`type may have one or more UPr1P 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 infomration, 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 of information in a decentralized,
`
`UPnP STILL NEEDS WORK
`
`Today, no templates or standards
`didate how industrial madiine
`tools, automatic test equipment,
`or medical devices will communi-
`
`for consumer devices
`Invens/5, an automation-and
`corirols-indrsuyvendor, has
`asked the UPnP Forum to aeate
`
`oontrol poirls You (an stfll imple
`ment UPnP on the laaory floor
`withoutthecomfortofa common
`standard of rhta
`In
`
`device a network ran support
`You (an 'lnag'nethat after a pow-
`erlaiue, everyadive UPnPde
`vice wil send multicast ever! nofr
`
`rate data using UPnP (Universal
`Plug and Play). UPnP working
`committees aeate devicespedlic
`templatuAnumberoftenr
`platesexistbuttheyaremostly
`
`an industrial working committee
`to defne templatsfor ladory and
`processplant use. Templates pro
`videirteroperabiityrrlsformarr
`ufamrasofsirniardeviceswith
`
`fad, many devices support discov
`ery and prsentation withoulthe
`use of standard templata
`Therehasbeennotestingto
`detenninethenumberofUPnP
`
`firations, and every control point
`wil send inqriis ofdmovery.
`For a network with many UPnPL
`enableddevicessudttralliccorld
`bringthenetworktoitsknees
`
`G6 EDN I Srarramnrzn 13, 2001
`
`Netflix, Inc. Exhibit 1012
`www.cdnmag.com
`
`Netflix, Inc. Exhibit 1012
`
`

`

`designfeature 1112zzP_tecb_z2Qlogy
`
`
`
`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
`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. GENA is designed to send
`and receive notifications using H'I'I‘P
`over TCP and UDP.
`
`The presentation function presents in-
`formation and control to the user. Pre-
`
`sentation requires the completion oflay-
`ers 0, l, and 2: getting an address,
`discovering the device, and obtaining the
`device description. The description doc-
`
`tocols that make up UPnP. You
`can find complete information at
`the UPnP Forum, W3C, and
`IETF Web sites.
`
`UPnP starts with IP (Figure 4).
`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
`
`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 ofthis article, defines the UPnP
`structure. Microsoft designed the archi-
`tecture and contributed it to the UPnP
`
`Fonim 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
`spedfy their own extensions to working-
`committee definitions. Vendors can use
`
`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.
`
`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-Allll-PLAY STICKS
`
`So far, UPnP looks straightforward.
`However, some pieces of the teclmology
`that UPnP uses are absent from typical
`network-enabled devices. Many imple-
`menters have no knowledge of some of
`the newer protocols.
`Most implementers will purchase their
`UPnP protocol stacks as they now pur-
`chase TCP/IP stacks. The descriptions of
`the functions mention some of the pro-
`
`new [it It
`1,954_6w25o0
`mmmenoinkmm
`gnenva 305
`
`FOR MORE INFORMATION...
`For more information on produdssudi aslhose disaissed in this artide, go tovvvvvv.ednmag.con1
`When you contact any of the folrming manulacturers diedly, please let them know you read
`about meg, produds in 1_:DN_
`"*0 “man and»
`nm on
`13752545500
`mm,a||egm5ofLcom
`Enterflo. 301
`T licrosoft
`'5" tllillfllfi Ellfllflill
`VMW1"-U050llC0"|
`T83 F0!!!)
`EM€fN0- 305
`W _ I.‘
`3-gwngglgw
`HM
`SUPER It_ll=0 NUl£BER
`mmmsubshidlipsmml
`H08_7658080
`For more information on the
`pmduds/"mfindexhm
`mp:/fimdmmfiavupm
`produds available
`all of
`EmaNo_ 307
`Eme,"Q 303
`T T the vendors listed In this box.
`[M 5.“... 5,5“;
`“egg” 1,‘
`go to wwwednmagcom, did
`1.7o3_234.5ooo
`1.731.547.1234
`onthe Reader Service link, and
`vrvvwjiverisyscorn
`wwvmetsilicoricom
`enter no. 311
`EMEINO. 304
`EMEINO. 300
`
`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 DPnP on a variety of physi-
`up‘, (univusd HI‘ and
`cal networks. the only requirement is that
`Hay) mu
`the network must support IP.
`w,,,,,_upnp_o,g
`You can obtain more information at
`gm-;No_ 309
`T the UPnP Forum Web site (www.upnp.
`lIlJC(lIlor|dlIfirlelIleb
`org). To obtain complete information,
`C0l|$0|'|l|ll)
`you must first join the UPnP Forum,
`WWW-W3-0'8
`which charges no membership fee. The
`9''‘*’N‘‘ 3'0
`UPnP Forum, a nonprofit organization,
`§i?5'S”1§.l§.lZ"nl:i‘§.”.i.‘L°s‘L'Z.“§fo‘§1§35'i.‘3.°Z'.§3
`tification.
`_
`.
`.
`_
`I The UFnP Forum is an industry mi-
`tiative designed to enable easy and robust
`connectivity among stand—alone devices
`and computers from many vendors. The
`UPnP Forum is open to any company
`wanting to participate in driving the
`adoption of UPnP. Companies with in-
`‘C " ‘é%¥fi‘§;’§“i‘r‘f5f‘°"‘i§°>§i‘{ffit"‘ft3‘i2
`www.cdnmag.cam
`
`58 EDN I SEPTEMBER 13, 2001
`
`Netflix, Inc. Exhibit 1012
`
`

`

`designteaturemm
`
`
`
`UPnP-network-device implementers use protocol standards, sud: as GENA
`(General Event Notification Ardlitectwe). SSDP (Simple Device Discovery Pro-
`tocol), and SOAP (Simple Obiect Access Protocol), to enable automatic tflscovery and
`
`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.
`
`SIIFIWAIIE-IIEVELIIPMEIIT llllll Tlllll 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.comIial/upnp
`or http://upnp.sourceforge.net, and
`the Microsoft SDK for Windows devel-
`
`is available at http:/lwww.
`opment
`microsoft.comIhwdev/upnp.
`The Intel Linux SDK includes API 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, doaimentation,
`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 IIS (Internet Infonnation
`Server) or Windows CE Web servers; a
`mini—XML parser; docinnentation; tools,
`such as generic UCP and network-mon-
`itor parsers, and sample code that imple-
`ments the Xlo 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 ofvendors
`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-
`
`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.
`
`WHAT ABOIIT JAVA?
`
`For companies using a total lava op-
`tion, Metro Link Inc has a complete set
`of Iava—based UPnP software stacks. The
`Metro Enableworks Device software-de-
`
`velopment kit for lava 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 Iava gives developers all the tools they
`need to develop UPnP control points for
`lava-l.2—compliant platforms.
`Silicon is coming to UPnP in 2001.
`Mitsubishi Electric and Electronics has
`
`armounced a set of microprocessors for
`the implementation of Internet-enabled
`devices. Mitsubishi will include a Control
`
`Point reference design with these olfer-
`ings
`Netsilicon will be delivering UPnP
`software along with its NET+ARM sys-
`tem on a dllp, 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 OSs be-
`
`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.I:l
`
`Au'rHon’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 Equipment Corp, Ven-
`turCom Inc, and Phar Lap Software. His
`international experience includa a stint in
`Hong Kong as a Far East channels man-
`ager and raponsibility 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
`Lap Software. At the time, it may have
`"“K'IE"t‘ 1'§2§"l‘1"c‘7 Wfifififfiit 1012
`www.ednmag.com
`
`work and provides a list in a window. You
`can click on the device name to see a
`
`come UPnP control points, it will be eas-
`ier to deploy smart devices on the
`
`70 non I SEPTEMBER 13, 2001
`
`Netflix, Inc. Exhibit 1012
`
`

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