throbber
«2) United States Patent
`Zintel et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 6,910,068 B2
`Jun. 21, 2005
`
`US006910068B2
`
`(54) XML-BASED TEMPLATE LANGUAGE FOR
`DEVICES AND SERVICES
`
`(58) Field of Search ..0.........0..:ccceeeeeeees 709/218, 220,
`709/225, 229, 249
`
`(75)
`
`Inventors: William M. Zintel, Kenmore, WA
`(US); Amar S. Gandhi, Redmond, WA
`(US); Ye Gu, Seattle, WA (US);
`Shyamalan Pather, Redmond, WA
`(US); Jeffrey C. Schlimmer, Redmond,
`WA (US); Christopher M. Rude,
`Redmond, WA (US); Daniel R.
`Weisman, Kirkland, WA (US); Donald
`R. Ryan, Redmond, WA (US); Paul J.
`Leach, Seattle, WA (US); Ting Cai,
`Redmond, WA (US); Holly N. Knight,
`Woodinville, WA (US); Peter S. Ford,
`Carnation, WA (US)
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,394,556 A
`2/1995 Oprescur
`......esceseeceeeee 395/800
`5,491,800 A
`2/1996 Goldsmith et al.
`..... 395/200.12
`.
`(Continued)
`FOREIGN PATENT DOCUMENTS
`
`wo
`
`7A999
`WO 99/35856
`OTHER PUBLICATIONS
`
`A. Kung, B. Raither, S. McConnell, Electronic Commerce
`Services Expand Home Automation Capabilities, TRIA-
`LOG, EMMSEC 799 Conference, Jun. 1999, pp. 1-7.
`(73) Assignee: Microsoft Corporation, Redmond, WA
`(Continued)
`(US)
`
`(*) Notice:—Subject to any disclaimer, the termofthis primary Examiner—Jeffrey Gaffin
`patent is extended or adjusted under 35
`Assistant Examiner—Mohammad O.Farooq
`U.S.C. 154(b) by 841 days.
`(74) Attorney, Agent, or Firm—Lee & Hayes, PLLC
`
`(21) Appl. No.: 09/811,362
`
`Bled:
`Filed:
`
`>)
`(22)
`(65)
`
`Mar. 16, 2001
`Prior Publication Data
`
`ABSTRACT
`(57)
`Auniversal plug and play (UPnP) device makesitself known
`through a set of processes-discovery, description, control,
`eventing, and presentation. Following discovery of a UPnP
`device, an entity can learn more about the device and its
`capabilities by retrieving the device’s description. The
`description includes vendor-specific manufacturer informa-
`US2002/0029256 A1 Mar. 7, 2002
`tion like the model name and number, serial number, manu-
`Under
`37 C
`AT
`
`(Under37CFR 1.47) facturer name, URLsto vendor-specific Web sites, etc. The
`Related U.S. Application Data
`description also includesa list of any embedded devices or
`services, as well as URLsfor control, eventing, and presen-
`(63) Continuation-in-part of application No. 09/496,318,filed on
`tation. The descriptionis written by a vendor,andis usually
`Feb. 1. 2000.
`based on a device template produced by a UPnP forum
`(60)
`Provisional application No. 60/190,943,filed on Mar. 21,
`working committee. The template is derived from a template
`2000, provisional application No. 60/160,235,filed on Oct.
`language that
`is used to define elements to describe the
`18, 1999, and provisional application No. 60/139,137,filed
`device and any services supported by the device. The
`oa Jun. 11, 1999.
`template language is written using an XML-based syntax
`Tmt. C0? cieceececcccecsessessessesseeseeseeseeseeees GO06F 15/177
`that organizes and structures the elements.
`(SL)
`
`(52) U.S. Che oes, 709/220; 709/218; 709/225;
`709/229; 709/249
`
`38 Claims, 48 Drawing Sheets
`
`
`
`] PERSONAL COMPUTER]___895
`PROCESSING
`my
`[
`ur +
`ic
`‘CRERATING |__- 5
`SYSTEN
`-
`iy
`aaa
`Fe
`uTEM
`-
`a
`“ awu yo
`row
`
`
`
`
`Poel er}
`
`|
`
`ei2~
`
`Netflix, Inc. et al. Exhibit 1003
`Page 1 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 1 of 91
`
`

`

`
`
`
`US 6,910,068 B2
`
`
`
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`
`
`
`
`
`
`
`
`
`OTHER PUBLICATIONS
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`“Time for Smart Talk is Over, Sunbeam Trumps Small
`
`
`
`
`
`
`
`Appliance Industry With Smart Appliance Debut,” Sunbeam
`
`
`
`
`
`
`
`
`
`9/1996 Oprescu et al... 395/285
`5,559,967 A
`
`
`
`
`Corporation, pp. 1-4 (2000).
`
`
`
`
`
`
`
`
`
`5/1997 Reynolds et al.
`5,627,964 A
`...... 395/183.22
`
`
`
`
`
`“Lonworks Core Technology,” Echelon Corporation, pp.
`
`
`
`
`
`
`
`
`4/1998 Jain et al. wee 382/154
`5,745,126 A *
`
`
`
`1-2 (2000).
`
`
`
`
`
`
`
`
`
`5/1998 Lipe et al. wo... 395/828
`5,748,980 A
`
`
`
`
`
`
`
`
`
`
`
`
`6/1998 Staats... eee 395/287
`5,764,930 A
`“Underlying Protocol of Echelon’s Lonworks® Network
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`7/1998 Lichtman etal. ........ 395/200.5
`5,787,246 A
`Adopted as New ANSIStandard, Free Reference Implemen-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`7/1998 Haroun et al.
`5,787,259 A
`......... 395/200.83
`tation Available to Developers,” Echelon Corporation, pp.
`
`
`
`
`
`
`
`
`
`8/1998 Lichtmanet al.
`5,793,979 A
`...... 395/200.56
`
`
`1-2 (2000).
`
`
`
`
`
`
`
`
`9/1998 Staats et al. oe. 395/830
`5,809,331 A
`
`
`
`
`
`
`
`
`Handleyet al., “SIP: Session Initiation Protocol,” The Inter-
`
`
`
`
`
`
`
`
`3/1999 Christensen et al.
`5,881,230 A
`.... 395/200.33
`
`
`
`
`
`
`
`net Society, pp. 1-130 (Aug. 6. 2000).
`
`
`
`
`
`
`
`
`
`5/1999 Semenzato ..........0... 395/200.47
`5,903,728 A
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Rosenberg et al., “SIP Extensions for Instant Messaging,”
`
`
`5,903,894 A 5/1999 Renerisou...eeeeeeeeeee 707/100
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Internet Engineering Task Force, pp. 1-30 Jun. 15, 2000).
`5,938,752 A
`8/1999 Leung etal. oe. 710/126
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`6,083,276 A
`7/2000 Davidsonetal.
`Rosenberg et al., “SIP Extensions for Presence,” Internet
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`6,101,499 A
`8/2000 Ford et al. oo... eee eee 707/10
`Engineering Task Force, pp. 1-77 (Jun. 15, 2000).
`
`
`
`
`
`
`
`
`
`
`
`
`
`6,167,448 A
`12/2000 Hemphillet al.
`Tsang et al., “Requirements for Networked Appliances:
`
`
`
`
`
`
`6,466,971 B1
`10/2002 Humplemanetal.
`
`
`
`
`
`
`Wide-Area Access, Control, and Interworking,” Internet
`
`
`
`
`
`
`
`
`6,477,566 B1 * 11/2002 Davis et al. oe. 709/223
`
`
`
`
`
`
`
`Engineering Task Force, pp. 1-9 (Sep. 2000).
`
`
`
`
`
`
`
`
`6,507,856 Bl *
`1/2003 Chenetal. we. 715/513
`
`
`
`
`
`
`
`
`Tsang et al., “SIP Extensions for Communicating with
`
`
`
`
`
`
`6,546,419 B1
`4/2003 Humplemanetal.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Networked Appliances,” Internet Engineering Task Force,
`6,553,402 B1 *
`4/2003 Makarioset al.
`........... 709/201
`
`
`
`
`
`
`
`
`
`
`
`
`6,560,633 B1 *
`5/2003 Roberts et al... 709/202
`pp. 1-9 (Nov. 2000).
`
`
`
`
`
`
`
`Moyeret al., “Framework Draft for Networked Appliances
`
`
`
`
`
`
`Using the Session Initiation Prtocol,” Internet Engineering
`
`
`
`
`
`
`Task Force, pp. 1-31 (Nov. 2000).
`
`
`
`
`
`
`Marples,“Naming and Accessing Network Appliances using
`
`
`
`
`
`
`
`
`extensions to the Session Initiation Protocol,” SZP for
`
`
`
`
`Toaster, Telcordia Technologies (2000).
`
`
`
`
`
`“Networked Appliances,” AR Greenhouse, Telcordia Tech-
`
`
`
`
`
`
`nologies, pp. 1-2 (Dec. 15, 2000).
`
`
`
`
`
`
`
`
`
`
`Moyeret al., “SIP for Light Bulbs, Using SIP to Support
`
`
`
`
`Communication with Networked Appliances,” Telcordia
`
`
`
`
`Technologies (Aug. 2, 2000).
`
`
`
`
`
`
`Bennett et al., “Integrating Presence with Multi-media
`
`
`
`
`
`Communications,” White Paper, Dynamicsoft., pp. 1-18
`
`(2000).
`
`
`
`
`
`
`
`
`Rosenberg et al., “An Application Server Architecture for
`
`
`
`
`
`
`Communications Services,” White Paper, Dynamicsoft., pp.
`
`
`1-13 (2000).
`
`
`
`
`“EIB Technology,” EIB (2000).
`
`
`
`
`
`
`Freemanetal., “JavaSpaces™ Principles, Patterns, and Prac-
`
`
`
`
`
`tice,” Addison—Wesley Longman,Inc., Reading, Massachu-
`
`
`
`
`
`setts (1999, Sun Microsystems,Inc.).
`
`
`
`
`
`Arnold et al., “The Jini™Specification,’ Addison—Wesley
`
`
`
`
`
`
`Longman,Inc., Reading, Massachusetts (1999, Sun Micro-
`
`
`systems, Inc.).
`
`
`
`
`
`
`
`Edwards, “Core Jini™, Second Edition,” Prentice Hall PTR,
`
`
`
`
`
`
`Upper Saddle River, New Jersey (2001).
`
`
`
`
`* cited by examiner
`
`
`
`
`
`
`Web Interface Definition Language (WIDL), NOTE-
`
`
`
`
`
`
`widl—970922, WebMethods, Inc. 1997, pp. 1-15.
`
`
`
`
`
`
`
`“Home Plug & Play™: CAL-based Interoperability for
`
`
`
`
`
`
`HomeSystems,” HomePNP™Specification. Version 1.0, pp.
`
`
`
`
`1-111, (Apr. 9, 1998).
`
`
`
`
`
`
`
`White Paper, “HAVi, the A/V digital network revolution,”
`
`
`
`
`
`HAVi Organization, pp. 1-7 (1999).
`
`
`
`
`
`“Specification of the Home Audio/Video Interoperability
`
`
`
`
`
`
`
`(HAVi) Architecture,” The HAVi Specification. Version 1.0
`
`
`
`(Jan. 18, 2000).
`
`
`
`
`
`
`Anderson, “FireWire System Architecture: Second Edition,
`
`
`
`
`
`IEEE 1394a,” chapters 1-4 (1999).
`
`
`
`
`
`
`Technical White Paper, “Jini Architectural Overview,” Sun
`
`
`
`Microsystems, Inc. (1999).
`
`
`
`
`
`
`“Salutation Consortium Frequently Asked Questions,” The
`
`
`
`
`
`
`
`
`Salutation Consortium, pp. 1-6 (priorto filing date).
`
`
`
`
`“Salutation Architecture Specification (Part-I), Version
`
`
`
`
`
`
`
`2.0c,” The Salutation Consortium, (Jun. 1, 1999).
`
`
`
`
`
`
`
`
`
`
`“How it works,” Thalia, pp. 1-3 (prior to filing date).
`
`
`
`
`
`
`
`“Sun Microsystems and Thalia Productions Inc. to Collabo-
`
`
`
`
`
`
`
`
`
`rate to Co—Develop Network Software and Protocols for the
`
`
`
`
`
`
`
`
`Home, Results to Make Networked Appliances for the
`
`
`
`
`
`
`
`
`Homea Reality,” Sunbeam Corporation, pp. 1-2 (2000).
`
`
`
`
`
`
`
`
`“Sunbeam Joins Microsoft in the Universal Plug and Play
`
`
`
`
`
`
`
`Forum to Establish A ‘Universal’ Smart Appliance Technol-
`
`
`
`
`
`
`
`ogy Standard,” Sumbeam Corporation, pp. 1-2 (2000).
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Netflix, Inc. et al. Exhibit 1003
`Page 2 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 2 of 91
`
`

`

`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 1 of 48
`
`US 6,910,068 B2
`
`FIG. 1
`
`100 \
`—~— 102
`
`MULTIPLE
`FUNCTION DEVICE
`
`493
`
`MULTIPLE
`FUNCTION DEVICE
`
`DEVICE
`
`DEVICE
`
`
`104
`
`106
`
`conOL i
`POINT
`
`DEVICE CONTROL
`PROTOCOLS
`
`EVENTS
`
`CONTROLLED
`DEVICE
`
`CONTROLLED
`
`DEVICE CONTROL
`PROTOCOLS
`
`EVENTS
`
`107
`
`105
`
`USER CONTROL
`POINT
`
`
`
`
`
`FIG.2
`100x
`
`
`
`USER CONTROL
`POINT
`105
`
` 120
`NS
`
`oe BRIDGED
`
`DEVICE
`
`CONTROLLED
`
`DEVICE
`
` CONTROLLED
`
`BRIDGED DEVICES
`
`107
`
`BRIDGED
`DEVICE
`
`Netflix, Inc. et al. Exhibit 1003
`Page 3 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 3 of 91
`
`

`

`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 2 of 48
`
`US 6,910,068 B2
`
`200
`\
`210
`211
`220=ROOT DEVICE
`
`FIG. 3
`
`202
`
`\
`234
`
`DISCOVERY
`
`PRESENTATION
`
`
`DESCRIPTION}|DEVICE é
`21
`212
`213
`SERVER
`
`PRESENTATION
`SERVER
`
`SERVICE
`
`SERVICE
`
`214
`
`215
`
`DESCRIP-
`TION
`DOCUMENT
`
`PRESENTATION
`
`223
`
`216
`
`217
`
`PRESENTATION
`SERVER
`
`SERVICE
`
`SERVICE
`
`CONTROL
`LOGIC
`
`232
`
`CONTROL
`SERVER
`
`SERVICE
`STATE
`TABLE
`
`EVENT
`SOURCE
`
`Netflix, Inc. et al. Exhibit 1003
`Page 4 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 4 of 91
`
`

`

`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 3 of 48
`
`US 6,910,068 B2
`
`FIG. 4
`
`251
`
`250
`
`CLOCK
`
`CLOCK
`
`TV/VCR
`
`DISCOVERY
`
`DOCUMENT
`
`DISCOVERY
`SERVER
`
`DESCRIPTION
`SERVER
`
`DESCRIPTION
`SERVER
`
`DESCRIP-
`TION
`
`DESCRIP-
`TION
`DOCUMENT
`
`Netflix, Inc. et al. Exhibit 1003
`Page 5 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 5 of 91
`
`

`

`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 4 of 48
`
`US 6,910,068 B2
`
`FIG. 5
`
`300 “s
`
`SUBSCRIBE
`
`COMMAND
`
`104 EVENT
`
`
`
` CONTROLLED DEVICE
`
`
`
`
`EVENT
`
`SUBSCRIP-
`
`
`
`TION
`
`SERVER
`
`232
`
`CONTROL
`SERVER
`
`
`
`
` FRONT
`
`
`
`
`TABLE
`
`PANEL
`CONTROL
`
`
`
`SERVICE
`STATE
`
`
`
`
`
`
`
`320
`
`INFRARED
`REMOTE
`
`COMMAND
`
`Netflix, Inc. et al. Exhibit 1003
`Page 6 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 6 of 91
`
`

`

`U.S. Patent
`
`Jun.21, 2005
`
`Sheet 5 of 48
`
`US 6,910,068 B2
`
`FIG. 6
`
`350
`
`USAGE
`
`DESRIPTION
`
`DISCOVERY
`
`NAMING
`
`ADDRESSING
`
`360
`
`358
`
`356
`
`354
`
`382
`
`Netflix, Inc. et al. Exhibit 1003
`Page 7 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 7 of 91
`
`

`

`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 6 of 48
`
`US 6,910,068 B2
`
`200
`
`202
`
`eyinial
`
`
`
`PRESENT-
`
`SERVICE
`
`/\ CONTROL
`
`SERVER
`
`DESCRIP-
`TION
`URL
`
`FIG. 7
`
`
`
`ROOT DEVICE
`
`
`220
`
`
`
`
`ATION
`205
`
`
`
`SERVER
`
`
`DESCRIPTION
`
`SERVER
`ATION serveRVICE
`
`
`PRESENT-
`
`
`
`
`
`-_—
`SOURCE 234
`
`
` EVENT
`SUB-
`SCRIP-
`TION
`SERVER
`
`EVENT
`
`Netflix, Inc. et al. Exhibit 1003
`Page 8 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 8 of 91
`
`

`

`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 7 of 48
`
`US 6,910,068 B2
`
`406
`
`Jf
`
`106
`
`104
`
`USER
`CONTROL
`POINT
`
`PROTOCOL
`
`CONTROLLED
`DEVICE
`
`COMMANDS
`
`DRATOR
`
`SERVICE
`CONTROL
`
`CONTROL
`SERVER
`
`Netflix, Inc. et al. Exhibit 1003
`Page 9 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 9 of 91
`
`

`

`U.S. Patent
`
`Jun.21, 2005
`
`Sheet 8 of 48
`
`US 6,910,068 B2
`
`FIG. 9
`
`APPLICATIONS
`
`USER CONTROL POINT
`
`OBJECT INTEGRATION
`INTERFACES
`
`ICLOCK
`
`104
`
`DESCRIP-
`
`CONTRACT
`PACKETS
`REQUEST/
`RESPONSE
`PATTERNS
`PROTOCOLS
`
`NETWORK
`DATA
`PACKETS
`
`CONTROL
`SERVER
`
`CONTROLLED DEVICE
`(E.G., CLOCK)
`
`Netflix, Inc. et al. Exhibit 1003
`Page 10 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 10 of 91
`
`

`

`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 9 of 48
`
`US 6,910,068 B2
`
`FIG.10
`
` 450
`
` DEVICE
`
`FINDER
`
`9\ C
`
`reateServiceObject()
`
`
`REHYDRATOR
`
`410
`
`
`
`
`
`
`
` InvokeAction()
`
`QueryStateVariable()
`
`InvokeAction()
`
`SERVICE OBJECT
`
`460
`
`QueryStateVariable()
`
`9 {UPNP-
`SERVICE
`
`Netflix, Inc. et al. Exhibit 1003
`Page 11 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 11 of 91
`
`

`

`
`U.S. Patent
`
`
`
`Jun. 21, 2005
`
`
`
`
`
`
`
`Sheet 10 of 48
`
`
`
`
`US 6,910,068 B2
`
`
`
`
`104
`FIG. 11
`
`
`USER CONTROL POINT
`
`
`
`
`
`
`
`
`DISCOVERY
`CLIENT
`
`
`
`
`
`
`
`
`
`106
`
`
`CONTROLLED DEVICE
`
`
`
`
`
`
`
`
`
`
`DISCOVERY
`SERVER
`
`
`
`
`
`TION
`
`
`
`
`
`
`
`
`DESCRIP-||DESCRIP-
`
`
`
`DESCRIP-
`
`
`TION
`TION
`TION CLIENT
`SERVER
`DOCUMENT
`
`
`
`
`
`
`VISUAL
`NAVIGATION
`
`
`
`
`
`
`
`
`
`
`
`
`APPLICA-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`PRESENT-
`
`ATION
`SERVER
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`CONTROL
`SERVER
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Netflix, Inc. et al. Exhibit 1003
`Page 12 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 12 of 91
`
`

`

`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 11 of 48
`
`US 6,910,068 B2
`
`FIG. 12
`
`104
`
`106
`
`USER CONTROLPOINT
`
`CONTROLLED DEVICE
`
`TION
`
`DISCOVERY
`CLIENT
`
`DISCOVERY
`SERVER
`
`cere. |__| se
`TION CLIENT
`TION
`SERVER
`
`SUBSCRIP
`-TION
`CLIENT
`
`APPLICA-
`
`EVENT
`SUBSCRIP
`-TION
`SERVER
`
`Netflix, Inc. et al. Exhibit 1003
`Page 13 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 13 of 91
`
`

`

`U.S. Patent
`
`Jun.21, 2005
`
`Sheet 12 of 48
`
`US 6,910,068 B2
`
`FIG, 13
`
`COMBINED BRIDGE AND
`USER CONTROL POINT
`
`DESCRIP-
`
`DESCRIP-
`
`COVERY
`
`SERVER
`
`
`
`TION
`
`SERVER
`
`EVENTS
`
`SOURCE eee REHYDRATOR
`
`_SPL
`
`SERVICE
`PROVIDER
`
`BRIDGED
`DEVICE
`
`Netflix, Inc. et al.
`
`Exhibit 1003
`Page 14 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 14 of 91
`
`

`

`U.S. Patent
`
`Jun.21, 2005
`
`Sheet 13 of 48
`
`US 6,910,068 B2
`
`USER CONTROLPOINT
`
`CONTROLLED DEVICE
`
`cues { DISCOVERYRESPONSE(URL) \ SERVER
`
`SSDP DISCOVERY REQUEST
`
`DISCOVERY
`
`DISCOVERY
`
`Pakse
`DESCRIPTION, ISSUE
`REQUESTS FOR
`ADDITIONAL
`INFORMATION)
`
`GET(DESCRIPTION URL)
`RESPONSE(UPnP
`DESCRIPTION
`
`y
`DEVICE
`DESGRIPTION
`SERVICE
`
`RESPONSE
`GET NAME
`
`DESCRIPTION
`SERVER
`
`RESPONSE
`
`REHYDRATOR, ADD
`DEVICE ICON TO
`USER INTERFACE)
`’
`VISUAL
`NAVIGATION
`|
`(USER SELECTS DEVICE
`ICON)
`GET(PRESENTATION URL)
`’
`wser{|neSpONSE
`
`RESPONSE
`
`BROWSE {
`
`(EMBEDDED SCRIPTIN
`WEB PAGE DISPLAYS
`DEVICE Ul; SCRIPT
`CALLS REHYDRATOR
`TO INTERACT WITH
`
`} (WEB)SERVER
`
`PRESENTATION
`
`} CONTROLSERVER
`
`DEVICE)
`
`REHYDRATOR {
`
`GET/PUT(CONTROLURL)
`
`Netflix, Inc. et al. Exhibit 1003
`Page 15 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 15 of 91
`
`

`

`
`U.S. Patent
`
`
`
`Jun. 21, 2005
`
`
`
`
`
`
`
`Sheet 14 of 48
`
`
`
`US 6,910,068 B2
`
`
`
`
`FIG. 15
`
`
`
`root
`
`
`
`
`
`
`
`
`
`
`specVersionMajor
`specVersionMinor
`
`URLBase
`
`manufacturer
`manufacturerURL
`
`modelName
`
`modeiNumber
`modelDescription
`
`
`modelURL
`
`UPC
`
`serialNumber
`
`device
`
`UDN
`friendlyName
`
`
`deviceType
`
`presentationURL
`
`
`iconList
`icon
`
`
`
`
`
`
`
`
`
`
`size
`
`color
`
`depth
`
`imageType
`
`imageURL
`
`
`
`
`
`
`
`
`icon
`icon
`
`service
`
`serviceType
`
`
`control|URL
`eventSubURL
`
`SCPD
`
`service
`
`service
`
`device
`
`service
`
`service
`
`device
`service
`
`
`
`Netflix, Inc. et al.
`,
`
`Exhibit 1003
`Page 16 of 91
`
`
`
`
`device
`
`device
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 16 of 91
`
`

`

`
`U.S. Patent
`
`
`
`Jun. 21, 2005
`
`
`
`Sheet 15 of 48
`
`
`
`
`
`
`
`
`US 6,910,068 B2
`
`
`
`FIG. 16
`
`<device>
`
`
`
`
`
`
`<iconList>
`
`<icon>
`
`
`<size> 16</size>
`
`<colar>0</color>
`
`<depth>8</depth>
`
`
`
`<imageType>PNG</imageType>
`<image>"http://device.local/iconpath/icon1 6bw.png"</image>
`
`</icon>
`
`<icon>
`
`<size>32</size>
`
`<color>0</color>
`
`<dapth>B</depth>
`
`<imageType>PNG</imageType>
`<image>"http://device.local/iconpath/icon32bw.png”</image>
`
`</icon>
`
`<icon>
`
`<size>48</size>
`
`<color>0</color>
`
`<depth>8</depth>
`
`<imageType>PNG</imageType>
`<image>"hitp://device.local/iconpath/icon48bw.png"</image>
`
`</icon>
`
`<icon>
`
`<size>16</size>
`
`
`<color>1</cojor>
`
`<depth>8</depth>
`
`
`
`<imageType>PNG</imageType>
`<image>"http://device.local/iconpath/icon16c.png"</image>
`
`</icon><device>
`
`<icon>
`
`<size>32</size>
`
`<color>0</color>
`
`<depth>8</depth>
`
`<imageType>PNG</imageType>
`<image>"http://device.local/iconpath/icon32c.png"</image>
`
`</icon>
`
`<icon>
`
`<size>48</size>
`
`<color>0</color>
`
`<depth>8</depth>
`
`
`
`<imageType>PNG</imageType>
`<image>"http-//device local/iconpath/icon48c.png"</image>
`
`<ficon>
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`<ficonList>
`
`
`
`_ <device>
`
`
`
`Netflix, Inc. et al. Exhibit 1003
`Page 17 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 17 of 91
`
`

`

`U.S. Patent
`
`
`
`
`Jun.21, 2005
`
`
`
`Sheet 16 of 48
`
`
`
`
`
`US 6,910,068 B2
`
`
`
`
`
`
`FIG. 17
`
`
`
`
`
`
`
`<?xml version="1.0"?>
`
`
`
`<scpd xmins="x-schema:scpdl-schema.xml">
`
`
`<service StateTable>
`
`
`<stateVariable>
`
`<name>currentChannel</name>
`
`<dataType>number</dataType>
`
`<allowedValueRange>
`
`<minimum>0</minimum>
`<maximum>55</maximum>
`
`
`<step>1</step>
`</allowedValueRange>
`
`
`</stateVariable>
`
`</serviceStateTable>
`
`
`
`
`
`
`
`
`
`
`<actionList>
`
`<action>
`<name>ChannelUp</name>
`
`</action>
`
`
`
`
`<action>
`<name>ChannelDown</name>
`
`</action>
`
`
`
`
`
`
`
`
`<action>
`<name>SetChannel</name>
`
`<argument>
`<name>newChannel</name>
`
`<relatedStateVariable>
`
`currentChannel
`</relatedStateVariable>
`
`</argument>
`
`</action>
`
`</actionList>
`
`</scpd>
`
`
`
`
`
`Netflix, Inc. et al. Exhibit 1003
`Page 18 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 18 of 91
`
`

`

`
`U.S. Patent
`
`
`
`Jun. 21, 2005
`
`
`
`
`
`
`
`Sheet 17 of 48
`
`
`
`
`US 6,910,068 B2
`
`
`
`FIG, 18
`
`
`
`
`
`<contract>
`
`<protocol id="protocolDef">
`
`
`
`<HTTP version="1.1">
`
`<URL> </URL>
`
`<M-POST>
`<MAN>hitp:/Awww. microsoft.com/protocels/ex/XOAP</MAN>
`
`</M-POST>
`
`
`
`<HEADER name="Content-Type" value="text/xmi" />
`
`
`
`
`
`
`
`
`<!-- Need to put in extension headers here -->
`
`</HTTP>
`
`
`
`
`
`</protocol>
`
`
`
`
`<RequestResponse name="queryStateVariable">
`
`
`<protoco} is="protocolDef">
`
`<in is="queryStateVariable">
`
`<out is="queryStateVariableResponse">
`
`
`<error is="queryStateVariableResponse">
`
`</RequestResponse>
`
`
`
`
`
`
`
`
`
`
`
`<RequesiResponse name="invokeAction">
`
`
`<protocol is="protocolDef'>
`
`
`<in is="SerializedStream">
`
`<out is="invokeActionResponse”>
`
`<error is="invokeActionResponse">
`
`</RequestResponse>
`
`
`
`
`
`
`
`<Schema name="upnp_scpdl"
`
`
`xmlins="urn:schemas-microsoft-com:xml-data”
`xmins:dt="urn:schemas-microsoft-com:datatypes">
`
`
`<!-- Common -->
`
`
`
`
`
`
`
`
`
`<ElementType name="_return" content="textOnly"dt:type="string” />
`
`
`
`
`
`<ElementType name="_fault" content="textOnly" di:type="string" />
`
`
`
`
`
`
`
`<!-- Query State Variable Call -->
`
`
`
`
`
`
`
`<ClementType name="variableName" content="textOnly” dt:iype="string” />
`
`
`
`
`
`
`<ElementType name="queryStateVariable" content="eltOnly” model="closed">
`
`
`
`<element type="variableName” />
`
`</ElementType>
`
`
`
`
`
`
`
`<!-- Query State Variable Response —>
`
`
`
`Netflix, Inc. et al. Exhibit 1003
`Page 19 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 19 of 91
`
`

`

`
`U.S. Patent
`
`
`
`Jun. 21, 2005
`
`
`
`
`
`
`
`Sheet 18 of 48
`
`
`
`US 6,910,068 B2
`
`
`
`
`FIG. 19
`
`
`
`
`
`
`
`<ElementType name="queryStateVariableResponse" content="eltOnly"
`
`
`model="closed">
`
`<group order="one">
`
`<element type="_return">
`
`
`<element type="_fault">
`
`</group>
`
`</ElementType>
`
`
`
`
`
`
`
`
`
`<!-- Invoke Action Call —>
`
`
`
`
`
`
`
`<AttributeType name="main" dt:type="idref” />
`
`
`
`<AttributeType name="headers"dt:type="idref”/>
`
`
`
`
`<AttributeType name="id" dt:type="id" />
`
`
`
`
`
`
`<ElementType name="sequenceNumber" content="textOnly" dt:type="int">
`
`
`
`
`
`
`
`
`<AttrbuteType name="dt" dt:type="string" dt:values="int" />
`
`
`
`
`
`
`<attribute type="dt" />
`
`</ElementType>
`
`
`
`
`<ElementType name="headers" content="eltOnly" model="closed"
`
`
`
`
`<attribute type="id" required="yes"/>
`
`
`
`<element type="sequenceNumber" />
`
`
`</ElementType>
`
`
`
`
`
`
`
`<ElementType name="actionName" content="textOnly” dt:type="string”/>
`
`
`
`
`
`<ElementType name="actionArg" content="textOnly" dt:type="string” />
`
`
`
`
`
`
`<ElementType name="invokeAction" content="eltOnly” model="closed">
`
`
`
`
`<attribute type="id" required="yes" />
`
`
`
`
`<element type="actionName">
`
`
`
`<element type="actionArg"” minOccurs="0" maxOccurs="*">
`
`</ElementType>
`
`
`
`
`
`Netflix, Inc. et al. Exhibit 1003
`Page 20 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 20 of 91
`
`

`

`
`U.S. Patent
`
`
`
`Jun. 21, 2005
`
`
`
`Sheet 19 of 48
`
`
`
`
`
`
`
`
`US 6,910,068 B2
`
`
`
`FIG, 20
`
`
`
`
`<ElementType name="SerializedStream" content="eltOnly” model="closed">
`
`
`
`
`<attribute type="main” required="yes"/>
`
`
`
`
`<attribute type="headers" required="yes” />
`
`
`
`
`
`<element type="headers">
`
`<element type="invokeAction">
`
`
`
`</ElementType>
`
`
`
`
`
`
`<!— Invoke Action Response -->
`
`
`
`
`
`
`<ElementType name="invokeActionResponse” content="eltOnly” model="closed">
`
`
`<group order="one">
`
`<element type="_return">
`
`
`<element type="_fault">
`
`</group>
`</ElementType>
`
`</Schema>
`
`</contract>
`
`
`
`
`
`
`
`Netflix, Inc. et al. Exhibit 1003
`Page 21 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 21 of 91
`
`

`

`
`U.S. Patent
`
`
`
`Jun. 21, 2005
`
`
`
`Sheet 20 of 48
`
`
`
`
`
`
`
`
`US 6,910,068 B2
`
`
`
`FIG. 21
`
`
`
`<?xml version="1.0"?>
`
`
`<Schema name="upnp_scpdl"
`
`xmins="urn:schemas-microsoft-com:xml-data”
`xmins:dt="urn:schemas-microsoft-com:datatypes">
`
`
`
`
`
`
`
`<!-- Common Elements and Attributes -->
`
`
`
`
`
`
`
`
`<ElementType name="name" content="textOnly" dt:type="string” />
`
`
`
`<]-- Service State Table -->
`
`
`
`
`
`
`
`
`<ElementType name="minimum"”content="textOnly" dt:type="number"/>
`
`
`
`
`<ElementType name="maximum"content="textOnly" dt:type="number"/>
`
`
`
`
`
`<ElementType name="step" content="textOnly" dt:type="number”/>
`
`
`
`
`
`
`<ElementType name="allowedValueRange” content="eltOnly"” model="closed">
`
`
`
`<element type="minimum"/>
`
`
`
`<element type="maximum"/>
`
`
`
`
`<element type="step" minOccurs="0"/>
`
`</ElementType>
`
`
`
`
`
`
`
`<ElementType name="allowedValue” content="textOnly" />
`
`
`
`
`<ElementType name="allowedValueList" content="eltOnly” model="closed">
`
`
`
`
`
`<element type="allowedValue" minOccurs="1" maxOccurs=""" />
`
`</ElementType>
`
`
`
`
`
`
`
`
`<ElementType name="dataType” content="textOnly" dt:type="string"/>
`
`
`
`
`<ElementType name="stateVariable” content="eltOnly" model="closed">
`
`
`
`<element type="name"/>
`
`
`
`Netflix, Inc. et al. Exhibit 1003
`Page 22 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 22 of 91
`
`

`

`
`U.S. Patent
`
`
`
`Jun. 21, 2005
`
`
`
`Sheet 21 of 48
`
`
`
`
`
`
`
`
`US 6,910,068 B2
`
`
`
`FIG, 22
`
`
`
`<element type="dataType" />
`
`
`
`
`
`
`<group minOccurs="0" maxOccurs="1" order="one">
`
`
`
`<element type="allowedValueRange”/>
`
`
`
`<element type="allowedVaiueList" />
`
`</group>
`</ElementType>
`
`
`
`
`
`
`
`
`<ElementType name="deviceStateTable” content="eltOnly" mode!="closed">
`
`
`
`
`
`<element type="stateVariable" minOccurs="1" maxOccurs="*" />
`
`</ElementType>
`
`
`
`
`<!-- Action List -->
`
`
`
`
`
`
`
`
`<ElementType name="relatedStateVariable" content="textOnly"dt:type="string"/>
`
`
`
`
`<ElementType name="argument" content="eltOnly” model="closed">
`
`
`
`<element type="name"/>
`
`
`
`<element type="relatedStateVariable" />
`
`</ElementType>
`
`
`
`
`
`
`<ElementType name="action” content="eltOnly" model="closed">
`
`
`
`<element type="name"/>
`
`
`
`
`<element type="argument” minOccurs="0" maxOccurs="*" />
`
`</ElementType>
`
`
`
`
`
`
`
`
`<ElementType name="actionList" content="eltOnly” model="closed">
`
`
`
`
`
`<element type="action" minOccurs="0" maxOccurs=""" />
`
`</ElementType>
`
`
`
`
`
`<!-- Root Element -->
`
`
`
`
`
`
`<ElementType name="dcepd" content="eltOnly" model="ciosed">
`
`
`
`<element type="deviceStateTable" />
`
`
`
`<element type="actionList® />
`
`</ElementType>
`
`</Schema>
`
`
`
`Netflix, Inc. et al. Exhibit 1003
`Page 23 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 23 of 91
`
`

`

`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 22 of 48
`
`US 6,910,068 B2
`
`VBSCRIPT/
`JSCRIPT
`
`UPNP AP] (REHYDRATOR)
`
`604
`ON 602
`FIG. 23
`
`
`
`C APPLICATION
`SHELL FOLDER
`
`
`
`
`
`
`
`
`[eeroairfe
`SSDP/UDP GENA/HTTP/TCP
` SSDP SERVICE
`
`GENA SERVER
`
`
`
`CONTROLLED DEVICE
`
`21 4
`
`
`
`
`620
`
`
`
`626
`210|service||SERVICE
`HTTP SERVER
`
`
`
`
`
`
`
`
`GENA CLIENT API
`
`SERVICE
`
`SERVICE
`
`Netflix, Inc. et al. Exhibit 1003
`Page 24 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 24 of 91
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Jun. 21, 2005
`
`
`
`
`
`Sheet 23 of 48
`
`
`
`US 6,910,068 B2
`
`
`
`
`
`
`FIG. 24
`
`
`
`
`
`
`USER CONTROL POINT
`
`
`
`RegisterNotification()
`
`
`
`
`
`
`
`SUBSCRIBE (Callback + Timeout)
`
`
`
`
`
`
`
`RESPONSE; SID + TIMEOUT
`
`
`
`NOTIFY (SID)
`
`
`200 OK
`
`NOTIFY (SID)
`
`
`
`
`
`
`
`
`200 OK UNSUBSCRIBE(SID)
`
`
`
`DeRegisterNotification()
`
`
`
`
`
`
`
`
`
`
`
`CONTROLLED DEVICE
`
`
`
`
`
`RegisterEventSource()
`
`
`SubmitUpnpProperty-
`Event()
`
`
`SubmitUpnpProperty-
`Event()
`
`Netflix, Inc. et al. Exhibit 1003
`Page 25 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 25 of 91
`
`

`

`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 24 of 48
`
`US 6,910,068 B2
`
`FIG. 25
`
`
`
`PROCESSING|_--82fe
`UNIT
`|
`|
`OPERATING
`|
`835
`|
`|
`SYSTEM
`| ——— J
`TTT TTT
`|) APPLICATIONS |~— 86
`— eee eee al
`cro Cr eee _
`
`
`
`MODULES
`
`
`SERIAL
`
`PORT
`
`
`INTERFACE
`REMOTE
`COMPUTER
`
`
`
`
`ca MEMORY
`STORAGE NETWORK
`
`
`
`
`ADAPTER
`
`GATEWAY
`
`Netflix, Inc. et al. Exhibit 1003
`Page 26 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 26 of 91
`
`

`

`U.S. Patent
`
`
`
`
`Jun. 21, 2005
`
`
`
`Sheet 25 of 48
`
`
`
`
`
`US 6,910,068 B2
`
`
`
`
`
`
`
`
`
`ADAPTER NETWORK
`
`
`
`FIG. 26
`900 EMBEDDED COMPUTING DEVICE
`
`
`
`
`
`
`
`
`
`
`
` OPERATIONAL
`PROCESSING
`UNIT MEMORY
`
`
`
`
`CIRCUITRY
`
`
` NETWORK
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`MEDIA
`
`
`
`
`922
`
`924
`
`928
`
`
`
`
`926
`
`910
`
`
`
`FIG, 27
`920
`
`Ne
`925
`
`
`
`
`DEVICE FUNCTIONS foo|
`
`
`
`
`
`
`TCP/IP STACK
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`SIMPLE
`
`DISCOVERY
`
`
`
`
`DHCP
`AUTOIP
`
`
`
`EVENTING
`
`
`
`
`
`
`930
`
`DNS
`MDNS
`
`
`
`PHYSICAL MEDIA
`
`
`
`Netflix, Inc. et al. Exhibit 1003
`Page 27 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 27 of 91
`
`

`

`U.S. Patent
`
`Jun.21, 2005
`
`Sheet 26 of 48
`
`US 6,910,068 B2
`
`FIG. 28
`
`934
`
`«(CX
`
`oo
`
`
`
`
`
`EMBEDDED
`
`
`COMPUTING
`
`DEVICE
`
`
`
`
`
`
`(TIMEOUT
`
`ASSIGN AUTO!P ADDRESS
`
`DNS NAME MULTICAST
`
`
`
`
`
`ANNOUNCE SERVICE
`
`
`(TIMEOUT - WAIT FOR RESPONSE)
`
`DISCOVER SERVICE
`
`RESPONSE TO DISCOVER
`
`XML DEVICE DESCRIPTION
`
`900
`
`
`
`
`
`EMBEDDED
`
`
`COMPUTING
`
`DEVICE
`
`DISCOVER LISTENER
`
`940
`
`DHCP BROADCAST
`
`\ ADDRESS FROM DHCP SERVER
`
`
`
`
`
`
`
`RESPONSE TO DISCOVER
`
`ANNOUNCE SERVICE TO LISTENER
`
`DIRECTORY UPDATED BY
`LISTENER
`
`DEVICE SPECIFIC NEGOTIATION
`
`
`
`
`
`LDAP QUERY DIRECTORY
`
`
`
`CLIENT
`DEVICE
`
`Netflix, Inc. et al. Exhibit 1003
`Page 28 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 28 of 91
`
`

`

`U.S. Patent
`
`
`
`
`Jun.21, 2005
`
`
`
`Sheet 27 of 48
`
`
`
`
`
`US 6,910,068 B2
`
`
`
`
`
`FIG. 30
`
`
`
`952
`
`
`
`950
`
`
`
`\
`
`
`
`
`
`
`
`
`955
`
`
`
`
`956
`
`
`
`
`
`
`
`
`APPLICATIONS fof
`
`
`
` 954
`
`
`
`
`SIMPLE DISCOVERY
`
`
`
`
`
`
`
`
`ADSI
`
`WINSOCK
`
`958
`
`960
`
`TCP/IP STACK
`
`NIC
`
`
`
`NDIS
`
`
`
`Netflix, Inc. et al. Exhibit 1003
`Page 29 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 29 of 91
`
`

`

`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 28 of 48
`
`US 6,910,068 B2
`
`FIG. 31 1°
`‘ 1050
`
`AIC
`POWER
`
`1030
`
`1054
`
`iS}
`
`LIGHTING
`
`sass
`
`1043
`
`4042
`
`CONTROL
`
`
` 1041
`
`DVD
`
`1010
`
`USB
`
`MODEM
`
`XDSL
`
`TELEPHONE
`
`1006
`
`USB
`
`1016
`
`1017
`
`1012
`
`1011
`
`Netflix, Inc. et al. Exhibit 1003
`Page 30 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 30 of 91
`
`

`

`
`U.S. Patent
`
`
`
`Jun. 21, 2005
`
`
`
`Sheet 29 of 48
`
`
`
`
`
`
`
`
`US 6,910,068 B2
`
`
`
`FIG, 32
`
`
`
`
`
`bject,
`
`uuid(<foo>),
`
`duai,
`
`helpstring("IUPNPDevice interface"),
`
`pointer_default(unique)
`
`
`[ o
`
`
`
`interface JUPNPDevice: (Dispatch
`
`
`
`
`
`] {
`
`
`
`
`
`[propget, id(DISPID_UPNPDEVICE_DESCRIPTIONDOCUMENT),
`
`
`
`
`
`
`
`
`
`
`helpstring("returns the document from which the properties of this device are
`
`
`being read")]
`
`
`
`
`HRESULT DescriptionDocumeni([restricted, hidden, out, retval]
`
`
`
`[UPNPDescriptionDocument ** ppuddDocument);
`
`
`
`
`
`
`
`
`
`
`
`purpose: returns the document from which the properties of this device are
`
`
`being read.
`
`
`
`
`
`
`
`
`parameters: ppuddDocument, A reference to the description document
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`object from which data about the device is being read. This must be freed when no
`
`
`longer needed.
`
`
`
`
`
`
`
`
`
`return values: S_OK, ppuddDocumentis a refernce to the device's
`
`
`description document.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`[propget, id(DISPID_UPNPDEVICE_ISROOTDEVICE),
`
`
`
`
`
`
`
`
`
`helpstring(“denotes whetherthe physical location information of this device can
`
`
`be set")}
`
`
`
`
`
`
`HRESULT IsRootDevice([out, retval] VARIANT_BOOL* pvarb);
`
`
`
`
`
`
`
`
`
`
`
`parameters: pvarb, the address of a VARIANT_BOOLthatwill receive the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`value of VARIANT_TRUEif the current device is the topmost device in the device
`
`
`
`
`
`
`
`
`tree, and will receive the value of VARIANT_FALSE otherwise.
`
`
`
`
`
`
`
`
`
`
`return values: S_OK, varb is set to the appropriate value
`
`
`
`
`
`
`
`
`
`
`
`note: if a device is a root device, calls RootDevice() or ParentDevice() will
`
`
`return NULL
`
`
`
`
`
`
`
`
`
`fpropget, id(DISPID_UPNPDEVICE_ROOT),
`
`
`
`
`
`
`
`
`helpstring("returns the top device in the device tree")]
`
`
`
`
`
`HRESULT RootDevica(fout, retval] IUPNPDevice ** ppudDeviceRoot);
`
`
`
`
`
`
`
`
`
`purpose:returns the top device in the device tree
`
`
`
`Netflix, Inc. et al. Exhibit 1003
`Page 31 of 91
`
`Netflix, Inc. et al. Exhibit 1003
`
`Page 31 of 91
`
`

`

`
`U.S. Patent
`
`
`
`Jun. 21, 2005
`
`
`
`
`
`
`
`Sheet 30 of 48
`
`
`
`US 6,910,068 B2
`
`
`
`
`FIG. 33
`
`
`
`
`
`
`
`
`
`
`
`
`
`parameters: ppudDeviceRoot, On return, this refers to the "root" device of
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`the current device tree. The root device is the topmost parent of the current device.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`lf the current device is the root device this method will set *ppudDeviceRoot to null,
`
`
`
`and return S_FALSE.
`
`
`
`
`
`
`
`
`
`
`return values: S_OK, *ppudDeviceRoot contains a reference to the root
`
`
`
`
`
`
`
`
`
`
`
`
`device. S_FALSE, the current device is the root device. *ppudDeviceRootis null.
`
`
`{propget, id(DISPID_UPNPDEVICE_PARENT),
`
`
`
`
`
`
`
`helpstring(“returns the parent of the current device")|
`
`
`
`
`
`
`HRESULT ParentDevice({out, retval] IUPNPDevice ** ppudDeviceParent);
`
`
`
`
`
`
`
`
`
`
`
`
`parameters: ppudDeviceParent, On return, if the device has a parent, this is
`
`
`
`
`
`
`
`
`
`
`
`
`
`the address of a IUPNPDevice object which can describe the parent. This must be
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`released when no longer needed.
`If the device has no parent(it is a "root" device),
`
`
`
`
`
`
`
`
`than this value will be set to null.
`
`
`
`
`
`
`
`
`
`return values: S_OK, ppudDeviceParent contains a reference to the device's
`
`
`
`
`
`
`
`
`
`
`
`
`
`parent. S_FALSE, the current device is the root device, which has no parent.
`
`
`
`*ppudDeviceRootis null.
`
`
`
`[propget, id(DISPID_UPNPDEVICE_CHILDREN),
`
`
`
`
`
`
`
`
`
`helpstring("returns a collection of the children of the current device")|
`
`
`
`
`
`
`
`HRESULT Children([out, retval] IUPNPDevices ** ppudChildren);
`
`
`
`
`
`
`
`
`
`parameters: ppudChildren, On retum, this is the address of a newly-created
`
`
`
`
`
`
`
`
`
`
`
`IUPNPDevices collection that can enumerate this device's children. This must be
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`released when no longer needed.
`If the device has no children, this method will
`
`
`
`
`
`
`
`
`
`return a collection object with a length of zero.
`
`
`
`
`
`
`
`
`
`
`
`return values: S_OK, ppudChildren containsa list of the device's children.
`
`
`[propget, id(DISPID_LUPNPDEVICE_UDN),
`
`
`
`
`
`helpstring("returns the UDN of the device")]
`
`
`
`
`HRESULT UniqueDeviceName((out, retval] BSTR * pbstrUDN);
`
`
`
`
`
`
`
`
`
`parameters: pbstrUDN, On retum, this contains the address of a newly-
`
`
`
`
`
`
`
`
`
`
`
`
`allocated string which contains the device's Unique Device Name (UDN). The UDN
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`is globally unique across all devices - no two devices will ever have the same UDN.
`
`
`
`
`
`
`
`
`
`This value must be freed when no longer needed.
`
`
`
`
`
`
`
`
`
`
`
`return values: S_OK
`pbstrUDNcontains the UDNofthe device
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Netflix, Inc. et al. Exhibit 1003
`Page 32

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