throbber
(12)
`
`United States Patent
`Zintel et al.
`
`(10) Patent No.:
`
`(45) Date of Patent:
`
`US 6,910,068 B2
`Jun. 21, 2005
`
`US006910068B2
`
`XML-BASED TEMPLATE IANGUAGE FOR
`DEVICES AND SERVICES
`
`(58) Field of Search
`
`709/218, 220,
`709/225, 229, 249
`
`(54)
`
`(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.
`Weian, Kirkland, WA (US); Donald
`R. Ryan, Redmond, WA (US); Paul J.
`Leach, Seattle, WA (US); Ting Cal,
`Redmond, WA (US); Holly N. Knight,
`Woodinville, WA (US); Peter S. Ford,
`Carnation, WA (US)
`
`(73)
`
`Assignee: Microsoft Corporation, Redmond, WA
`(US)
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`5,394,556 A
`5,491,800 A
`
`2/1995 Oprescu ................... .. 395/8(1)
`2/1996 Goldsmith etal.
`395/200.12
`
`(Continued)
`FOREIGN PATENT DOCUMENTS
`
`W0
`
`WO 99/35856
`
`7/1999
`
`OTHER PUBLICATIONS
`
`A. Kung, B. Raither, S. McConnell, Electronic Commerce
`Services Expand Home Automation Capabilities, TRIA-
`LOG, EMMSEC ’99 Conference, Jun. 1999, pp. 1-7.
`
`(Continued)
`
`(“)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 1S4(b) by 841 days.
`
`Primary Examiner—JeErey Gaflin
`Assistant Examiner—Mohammad 0. Farooq
`(74) Attorney, Agent, or Firm—Lee & Hayes, PLLC
`
`(21)
`
`Appl. No.: 09/811,362
`
`(57)
`
`ABSTRACT
`
`(22)
`
`(65)
`
`Filed:
`
`Mar. 16, 2001
`
`Prior Publication Data
`
`US 2002/0029256 A1 Mar. 7, 2002
`
`(Under 37 CFR 1.47)
`
`Related U.S. Application Data
`
`(63)
`
`(60)
`
`Continuation-in-part of application No. 09/496,318, filed on
`Feb. 1, 2000.
`Provisional application No. 60/190,943, filed on Mar. 21,
`2000, provisional application No. 60/160,235, filed on Oct.
`18, 1999, and provisional application No. 60/139,137, filed
`on Jun. 11, 1999.
`
`(51)
`(52)
`
`Int. CL.’ ............................................ .. G06F 15/177
`U.S. Cl.
`709/220; 709/218; 709/225;
`709/229; 709/249
`
`Auniversal plug and play (UPnP) device makes itselfknown
`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-
`tion like the model name and number, serial number, manu-
`facturer name, URLs to vendor-specific Web sites, etc. The
`description also includes a list of any embedded devices or
`services, as well as URLs for control, eventing, and presen-
`tation. The description is written by a vendor, and is usually
`based on a device template produced by a UPnP forum
`working committee. The template is derived from a template
`language that is used to define elements to describe the
`device and any services supported by the device. The
`template language is written using an XML-based syntax
`that organizes and structures the elements.
`
`38 Claims, 48 Drawing Sheets
`
`
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`
`
`
`US 6,910,068 B2
`Page 2
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`“Time for Smart Talk is Over, Sunbeam Trumps Small
`
`
`
`
`
`
`
`
`
`Appliance Industry With Smart Appliance Debut,” Sunbeam
`
`
`
`
`
`
`
`Corporation, pp. 1-4 (2000).
`
`
`
`
`“Lonworks Core Technology,” Echelon Corporation, pp.
`
`
`
`
`
`1-2 (2000).
`
`
`“Underlying Protocol of Echelon’s Lonworks® Network
`
`
`
`
`
`Adopted as New ANSI Standard, Free Reference Implemen-
`
`
`
`
`
`
`
`tation Available to Developers,” Echelon Corporation, pp.
`
`
`
`
`
`
`
`1-2 (2000).
`
`
`Handley et al., “SIP: Session Initiation Protocol,” The Inter-
`
`
`
`
`
`
`
`
`net Society, pp. 1-130 (Aug. 6. 2000).
`
`
`
`
`
`
`
`Rosenberg et al., “SIP Extensions for Instant Messaging,”
`
`
`
`
`
`
`
`
`Internet Engineering Task Force, pp. 1-30 (Jun. 15, 2000).
`
`
`
`
`
`
`
`
`
`Rosenberg et al., “SIP Extensions for Presence,” Internet
`
`
`
`
`
`
`
`
`Engineering Task Force, pp. 1-77 (Jun. 15, 2000).
`
`
`
`
`
`
`
`
`Tsang et al., “Requirements for Networked Appliances:
`
`
`
`
`
`
`
`Wide-Area Access, Control, and Interworking,” Internet
`
`
`
`
`
`
`Engineering Task Force, pp. 1-9 (Sep. 2000).
`
`
`
`
`
`
`
`Tsang et al., “SIP Extensions for Communicating with
`
`
`
`
`
`
`
`
`Networked Appliances,” Internet Engineering Task Force,
`
`
`
`
`
`
`pp. 1-9 (Nov. 2000).
`
`
`
`
`Moyer et 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,” SIP for
`
`
`
`
`
`
`
`
`Toaster, Telcordia Technologies (2000).
`
`
`
`
`“Networked Appliances,” AR Greenhouse, Telcordia Tech-
`
`
`
`
`
`nologies, pp. 1-2 (Dec. 15, 2000).
`
`
`
`
`
`
`Moyer et 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).
`
`
`
`
`Freeman et al., “JavaSpacesTMPrinciples, Patterns, and Prac-
`
`
`
`
`
`
`tice,” Addison-Wesley Longman, Inc., Reading, Massachu-
`
`
`
`
`
`setts (1999, Sun Microsystems, Inc.).
`
`
`
`
`
`Arnold et al., “The JiniTMSpecification,” Addison-Wesley
`
`
`
`
`
`Longman, Inc., Reading, Massachusetts (1999, Sun Micro-
`
`
`
`
`
`
`systems, Inc.).
`
`
`Edwards, “Core JiniTM, Second Edition,” Prentice Hall PTR,
`
`
`
`
`
`
`
`Upper Saddle River, New Jersey (2001).
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`* cited by examiner
`
`
`
`
`
`Netflix, Inc. Exhibit 1003
`
`U.S. PATENT DOCUMENTS
`
`
`
`........... .. 395/285
`9/1996 Oprescu et al.
`5,559,967 A
`
`
`
`
`
`
`
`
`.... .. 395/183.22
`5/1997 Reynolds et al.
`5,627,964 A
`
`
`
`
`
`
`
`
`4/1998 Jain etal. ............. .. 382/154
`5,745,126 A *
`
`
`
`
`
`
`
`5/1998 Lipe et al.
`5,748,980 A
`395/828
`
`
`
`
`
`
`
`6/1998 Staats . . . . . . . . . . . . .
`. . . .. 395/287
`5,764,930 A
`
`
`
`
`
`7/1998 Lichtman et al.
`...... .. 395/200.5
`5,787,246 A
`
`
`
`
`
`
`
`7/1998 Haroun et al.
`....... .. 395/200.83
`5,787,259 A
`
`
`
`
`
`
`
`
`
`8/1998 Lichtman et al.
`.... .. 395/200.56
`5,793,979 A
`
`
`
`
`
`
`
`
`9/1998 Staats et al.
`.............. .. 395/830
`5,809,331 A
`
`
`
`
`
`
`
`3/1999 Christensen et al.
`395/200.33
`5,881,230 A
`
`
`
`
`
`
`
`5/1999 Semenzato ........... .. 395/200.47
`5,903,728 A
`
`
`
`
`
`
`
`
`5/1999 Reneris
`707/100
`5,903,894 A
`
`
`
`
`
`
`
`
`8/1999 Leung et al.
`............. .. 710/126
`5,938,752 A
`
`
`
`
`
`
`
`7/2000 Davidson et 211.
`6,083,276 A
`
`
`
`
`
`8/2000 Ford et al.
`.................. .. 707/10
`6,101,499 A
`
`
`
`
`
`
`
`12/2000 Hemphill et 211.
`6,167,448 A
`
`
`
`
`
`10/2002 Humpleman et 211.
`6,466,971 B1
`
`
`
`
`
`.............. .. 709/223
`6,477,566 B1 * 11/2002 Davis et al.
`
`
`
`
`
`
`
`6,507,856 B1 *
`1/2003 Chen et al.
`............... .. 715/513
`
`
`
`
`
`
`
`6,546,419 B1
`4/2003 Humpleman et 211.
`
`
`
`
`
`6,553,402 B1 *
`4/2003 Makarios et al.
`......... .. 709/201
`
`
`
`
`
`
`
`
`6,560,633 B1 *
`5/2003 Roberts et al.
`........... .. 709/202
`
`
`
`
`
`
`
`
`OTHER PUBLICATIONS
`
`
`
`
`
`
`
`
`Web Interface Definition Language (WIDL), NOTE-
`
`
`
`
`
`widl-970922, WebMethods, Inc. 1997, pp. 1-15.
`
`
`
`
`
`
`“Home Plug & PlayTM: CAL—based Interoperability for
`
`
`
`
`
`
`
`Home Systems,” HomePNPTMSpecification. Version 1.0, pp.
`
`
`
`
`
`
`1-111, (Apr. 9, 1998).
`
`
`
`
`White Paper, “HAVi, the A/V digital network revolution,”
`
`
`
`
`
`
`
`HAW Organization, pp. 1-7 (1999).
`
`
`
`
`
`“Specification of the Home Audio/Video Interoperability
`
`
`
`
`
`(HAVi) Architecture,” The HAW 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 (prior to 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
`
`
`
`
`
`
`
`
`Home a 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,” Sunbeam Corporation, pp. 1-2 (2000).
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Netflix, Inc. Exhibit 1003
`
`

`
`U S Patent
`
`Jun 21 2005
`
`Sheet 1 of 48
`
`US 6,910,068 B2
`
`100 \
`
`MULTIPLE
`FUNCTION oevnce
`
`,—/102
`
`103
`
`MULTIPLE
`FUNCTION DEVICE
`
`USER
`CONTROL
`
`DEVICE CONTROL
`
`PROTOCOLS
`
`CONTROLLED
`DEVICE
`
`DEVICE CONTROL
`
`PROTOCOLS
`
`USER
`CONTROL
`
`BRIDGE ‘ BRIDGED
`
`DEVICE
`
`CONTROLLED
`DEVICE
`
`BRIDGED DEVICES
`
`CONTROLLED
`DEVICE
`
`BRIDGED
`DEVICE
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`U.S. Patent
`
`Jun. 21,2005
`
`Sheet 2 of 48
`
`Us 6,910,068 B2
`
`220
`
`ROOT DEVICE
`
`210
`
`211
`
`SERVICE
`
`SERVICE
`
`21
`
`2
`
`2 1
`
`3
`
`SERVICE
`
`SERVICE
`
`21
`
`4
`
`21
`
`5
`
`seavnce
`
`SERVICE
`
`DESCR1P-
`TION
`DOCUMENT
`
`223
`
`PRESENTATION
`SERVER
`
`CONTROL
`LOGIC
`
`CONTROL
`SERVER
`
`SOURCE
`
`SERVICE
`STATE
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`U.S. Patent
`
`Jun. 21,2005
`
`Sheet 3 of48
`
`US 6,910,068 B2
`
`CLOCK
`
`TVNCR
`
`DISCOVERY
`SERVER
`
`DESCRIPTION
`SERVER
`
`DESCRIPTION
`
`SERVER
`
`DESCRIP-
`TION
`DOCUMENT
`
`DESCRIP-
`TION
`DOCUMENT
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`U.S. Patent
`
`Jun. 21,2005
`
`Sheet 4 of 48
`
`US 6,910,068 B2
`
`USER
`CONTROL
`POINT
`
`EVENT
`SUBSCRIBE
`
`USER
`CONTROL
`POINT
`
`CONTROLLED DEVICE
`
`232
`
`EVENT
`3U:|3(§f'P-
`SERVER
`
`CONTROL
`SERVER
`
`EVENT
`SOURCE
`
`COMMAND
`
`FRONT
`PANEL
`CONTROL
`
`SERVICE
`STATE
`TABLE
`
`320
`
`INFRARED
`REMOTE
`
`COMMAND
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 5 of 48
`
`US 6,910,068 B2
`
`35o
`
`USAGE
`
`DESRIPTION
`
`DISCOVERY
`
`NAMING
`
`ADDRESSING
`
`35°
`
`358
`
`355
`
`354
`
`352
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`U.S. Patent
`
`Jun. 21,2005
`
`Sheet 6 of 48
`
`Us 6,910,068 B2
`
`ROOT DEVICE
`
`220
`
`21°
`
`232
`
`PRESENT-
`ATION
`SERVER
`
`SERVICE
`
`/ CONTROL
`SERVER
`
`/
`
`216
`
`PRESENT_
`
`230
`
`SERVICE
`
`°'§g§\‘,’§§Y
`
`DESCRIPTION
`SERVER
`
`205
`
`\
`
`EVENT
`SUB-
`SCRIP-
`TION
`SE RVER
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`U.S. Patent
`
`Jun. 21,2005
`
`Sheet 7 of 48
`
`Us 6,910,068 B2
`
`CONTROLLED
`DEVICE
`
`USER
`CONTROL
`POINT
`
`COMMANDS
`
`SERVICE
`CONTROL
`
`SERVICE
`CONTROL
`PROTOCOL
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 3 of 43
`
`US 6,910,068 B2
`
`APPUCATIONS
`
`USER CONTROL POINT
`
`OBJECT INTEGRATION
`INTERFACES
`
`[CLOCK
`
`REHYDRATOR
`
`CONTRACT
`
`PACKETS
`0
`' REQUEST!
`RESPONSE
`PATTERNS
`PROTOCOLS
`
`NETWORK
`DATA
`PACKETS
`
`CONTROLLED DEVICE
`
`(E.G.. CLOCK)
`
`DESCRIP-
`
`CONTROL
`SERVER
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`U S Patent
`
`Jun 21 2005
`
`Sheet 9 of 48
`
`US 6,910,068 32
`
`DEVICE
`
`FINDER
`
`CreateServiceObject()
`
`REHYDRATOR
`
`QueryStateVar‘rable()
`
`lnvokeAction()
`
`SERVICE OBJECT
`
`QueryStateVariabIe()
`
`lnvokeAction()
`
`'
`
`|UPNP-
`SERWCE
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`
`U.S. Patent
`
`
`
`Jun. 21, 2005
`
`
`
`
`
`
`
`Sheet 10 of 48
`
`
`
`
`US 6,910,068 B2
`
`
`
`
`
`
`
`
`USER CONTROL POINT
`
`
`
`
`
`
`
`
`
`
`CONTROLLED DEVICE
`
`
`
`
`
`
`
`
`DISCOVERY
`SERVER
`
`
`
`
`
`
`
`
`DISCOVERY
`CLIENT
`
`
`
`
`
`
`DESCRIP-
`
`TION CLIENT
`
`
`
`
`VISUAL
`
`NAVIGATION
`
`
`
`BROWSER
`USER
`INTER-
`FACE
`
`
`BROWSER
`
`CONTROL
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`APPLICA-
`
`TION
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`DESCRIP H DET3[g§”°-
`
`
`
`
`TION
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`PRESENT-
`
`ATION
`
`SERVER
`
`
`
`
`
`
`WEB USER
`
`INTERFACE
`
`
`
`
`
`
`
`
`
`
`CONTROL
`SERVER
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Netflix, Inc. Exhibit 1003
`
`
`
`DETS'8I:IP-
`
`
`DOCUMENT
`
`
`
`
`SERVER
`
`
`
`Netflix, Inc. Exhibit 1003
`
`

`
`U.S. Patent
`
`Jun. 21,2005
`
`Sheet 11 of 48
`
`Us 6,910,068 B2
`
`USER CONTROL POINT
`
`CONTROLLED DEVICE
`
`DISCOVERY
`CLIENT
`
`DESCRlP-
`TION CLIENT
`
`SUBSCRIP
`—TION
`CLIENT
`
`DISCOVERY
`
`°E$lg'§'P'
`SERVER
`
`EVENT
`SUBSCRIP
`-TION
`SERVER
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 12 of 48
`
`US 6,910,068 B2
`
`FIG. 13
`
`COMBINED BRIDGE AND
`USER CONTROL POINT
`
`230
`
`DESCR|p_
`
`CONTROL
`
`APPLICA-
`
`BRIDGE
`
`TION
`
`COVERY
`
`senvea
`
`DESCRIP-
`
`TION
`
`seavea
`
`s%VUE,§gE
`
`°s(l’5",£,R,%
`
`REHYDRATOR
`
`STATE CHANGE
`
`_3P'_
`
`PROVIDER
`
`USER
`CONTROL
`POINT
`
`USER
`CONTROL
`POINT
`
`BRIDGED
`DEVICE
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 13 of 48
`
`US 6,910,068 B2
`
`FIG. 14
`
`USER CONTROL POINT
`
`CONTROLLED DEVICE
`
`DISCOVERY
`CLIENT
`
`SSDP DISCOVERY REQUEST
`
`DISCOVERY RESPONSE (URL)
`
`DISCOVERY
`SERVER
`
`I
`(PARSE
`GET(DESCRlPTION URL)
`DE$CR'PT|0N- ISSUE
`RESPONSE(UPnP
`REQUESTS FOR
`’*°°”'°"’*L —
`INFORMATION)
`DEs°R'PT'°N
`GET ICON
`
`RESPONSE
`
`v
`DEVICE
`DESCRIPTION
`GET NAME
`sE"‘"°‘ T
`‘ E
`
`(CONFIGURE
`REHYDRATOR. ADD
`DEVICE ICON TO
`
`GET SCPD
`
`DESCRIPTION
`SERVER
`
`PRESENTATION
`(wee) SERVER
`
`USER INTERFACE)
`I
`VISUAL
`NAVIGATION
`
`(USER SELECTS DEVIC =
`ICON)
`
`I
`
`GET(PRESENTATlON URL)
`
`3R°wsER
`
`(EMBEDD D SCRIPT IN
`WEB PAGE DISPLAYS
`DEVICE UI; SCRIPT
`CALLS REHYDRATOR
`TO INTERACT WITH
`
`DEVICE)
`I
`
`REHYDRATOR {
`
`GET/PUT(CONTROL URL)
`
`CONTROLSERVER
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`
`U.S. Patent
`
`
`
`Jun. 21, 2005
`
`
`
`
`
`
`
`Sheet 14 of 48
`
`
`
`US 6,910,068 B2
`
`
`
`
`FIG. 15
`
`
`
`root
`
`
`
`
`
`
`
`specVersionMajor
`specVersionMinor
`
`URLBase
`manufacturer
`
`modelName
`
`
`manufactu rerURL
`
`model Number
`
`
`mode|Description
`
`
`mode|URL
`
`UPC
`
`seriaiNumber
`
`device
`
`UDN
`friendiyName
`
`
`deviceType
`
`presentationURL
`
`
`iconList
`icon
`
`
`
`
`
`
`
`
`
`
`
`size
`
`
`color
`
`
`
`depth
`
`imageType
`
`imageURL
`
`
`
`
`
`
`
`
`
`icon
`
`service
`
`icon
`
`
`serviceType
`
`
`controlURL
`eventSubURL
`
`SCPD
`service
`
`
`
`Netflix, Inc. Exhibit 1003
`
`
`
`service
`
`service
`
`
`
`device
`
`service
`
`service
`
`device
`
`
`
`device
`
`device
`
`Netflix, Inc. Exhibit 1003
`
`

`
`
`U.S. Patent
`
`
`
`Jun. 21, 2005
`
`
`
`
`
`
`
`Sheet 15 of 48
`
`
`
`
`US 6,910,068 B2
`
`
`
`FIG. 16
`
`<device>
`
`
`
`
`
`<icon List>
`
`<icon>
`
`<size>1 6</size>
`
`
`<color>0</coIor>
`
`
`<depth>8</depth>
`
`
`
`<imageType>PNG</imageType>
`<image>"http://device.Iocal/iconpath/icon16bw.png"</image>
`</icon>
`
`<icon>
`
`<size>32</size>
`
`<color>0</coIor>
`
`
`<depth>8</depth>
`
`<imageType>PNG<fimageType>
`<image>"http://device.1oca1/iconpath/icon32bw.png"</image>
`<1 icon>
`
`<icon>
`
`<size>48</size>
`
`<coIor>0</coIor>
`
`
`<depth>8<ldepth>
`
`<imageType>PNG</imageType>
`<image>"http://device.local/iconpath/icon48bw.png"</image>
`</icon>
`
`<icon>
`
`<size>‘I 6</size>
`
`<co|or>1</coIor>
`
`
`
`<depth>8</depth>
`
`
`
`<imageType>PNG</imageType>
`<image>"http://device.focal/iconpath/icon16c.png"</image>
`</icon><device>
`
`<icon>
`
`<size>32</size>
`
`<color>O<lco1or>
`
`
`<depth >8 </depth>
`
`<imageType>PNG</imageType>
`<image>"http://device.Iocalliconpath/icon32c.png"</image>
`</icon>
`
`<icon>
`
`<size>48</size>
`
`<color>0</coIor>
`
`
`<depth>8</depth>
`
`
`
`<imageType>PNG</imageType>
`<image>"http://device.local/iconpath/icon48c.png"</image>
`</icon>
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`</iconList>
`
`
`
`
`‘ </device>
`
`
`
`Netflix, Inc.
`
`Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`U.S. Patent
`
`
`
`
`Jun. 21, 2005
`
`
`
`Sheet 16 of 48
`
`
`
`
`
`
`
`US 6,910,063 32
`
`
`
`
`FIG. 17
`
`
`
`
`
`<?xm| version="1.0"?>
`
`
`
`<scpd xmlns="x-schemazscpdl-schema.xml">
`
`
`<sen/ice StateTable>
`
`
`<stateVariable>
`<name>currentChannel</name>
`
`
`
`
`
`<dataType>number</dataType>
`
`<al|owedValueRange>
`<minimum>D</minimum>
`
`
`<maximum>55</maximum>
`
`
`<step>1</step>
`</a||owedValueRange>
`
`
`</stateVariabIe>
`
`</serviceStateTab|e>
`
`
`
`
`
`
`
`
`
`
`<actionList>
`
`<action>
`<name>ChannelUp</name>
`
`</action>
`
`
`
`<action>
`
`
`<name>ChanneIDown</name>
`
`
`</action>
`
`
`
`<action>
`
`
`
`
`<name>SetChannel</name>
`
`<argument>
`<name>newChannel</name>
`
`
`<reIatedStateVariable>
`
`</relatedStateVariable>
`
`
`currentchannel
`
`</argument>
`
`</action>
`
`</actionList>
`
`
`
`
`</scpd>
`
`
`
`
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`
`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>http://www.microsoftcom/protocols/ext/XOAP</MAN>
`</M-POST>
`
`
`
`
`<HEADER name="Content-Type" vaIue="text/xml" />
`
`
`
`
`
`
`
`
`<!-- Need to put in extension headers here —->
`</HTTP>
`
`
`
`
`
`
`</protoco|>
`
`
`
`
`<RequestResponse name="queryStateVariable“>
`
`
`<protocoI is="protoco|Def">
`
`
`<in is="queryStateVariable">
`
`
`<out is="querystatevariab!eResponse">
`
`
`<error is="queryStateVariableResponse">
`
`</RequestResponse>
`
`
`
`
`
`<RequestResponse name="invokeAction">
`
`
`<protocoI is="protoco|Def">
`<in is="SerializedStream">
`
`
`
`
`<out is="invokeActionResponse">
`
`<error is="invokeAc‘tionResponse“>
`
`</RequestResponse>
`
`
`
`
`
`
`
`<Schema name="upnp_scpd|"
`xmIns="urn:schemas-microsofl-comzxml-data"
`
`
`
`xmlns:dt="urnzschemas-microsoft-com:datatypes">
`
`
`
`<!-- Common -~>
`
`
`
`
`
`
`
`<ElementType name="_return" content="textOnIy" dt:type="string" />
`
`
`
`
`
`<E1ementType name="_fau|t" content="textOn!y" dt:type="string" />
`
`
`
`
`
`
`
`<!- Query State Variable Call -->
`
`
`
`
`
`
`
`<EIementType name="variableName" content="textOnly" dt:type="str‘1ng" />
`
`
`
`
`
`
`<ElementType name="queryStateVariable" content=“eltOnly" model="closed">
`
`
`
`<eIement type="variableName“ />
`
`</ElementType>
`
`
`
`
`
`
`
`<!-- Query State Variable Response -—>
`
`
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`
`U.S. Patent
`
`
`
`Jun. 21, 2005
`
`
`
`Sheet 18 of 48
`
`
`
`
`
`US 6,910,068 B2
`
`
`
`
`
`
`
`
`
`
`
`<ElementType name="querystatevariabieResponse“ content="eltOnly"
`mode|="cIosed">
`
`
`
`
`<group order="one">
`
`<eIement type="_return“>
`
`
`<element type="_fauIt">
`</grou p>
`</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" />
`
`</E|ementType>
`
`
`
`
`<E|ementType name="headers" content="eJtOn|y" mode[="c|0sed"
`
`
`
`
`<attribute type="id" required="yes" />
`
`
`
`<eIement type="sequenceNumber" />
`
`
`</E|ementType>
`
`
`
`
`
`
`
`<ElementType name="actionName" content="textOn|y" dt:type="string" />
`
`
`
`
`
`<ElementType name="actionArg" content="textOnIy" dt:type="string" />
`
`
`
`
`
`
`<ElementType name="invokeAction" content="eltOnIy" mode|="closed">
`
`
`
`
`<attribute type=“id" required="yes" />
`
`
`
`
`
`<element type="actionName">
`
`
`
`<element type="actionArg" minOccurs="O" maxOccurs="*">
`
`</E|ementType>
`
`
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`
`U.S. Patent
`
`
`
`Jun. 21, 2005
`
`
`
`Sheet 19 of 48
`
`
`
`
`
`
`
`
`US 6,910,068 B2
`
`
`
`FIG. 20
`
`
`
`
`<ElementType name="SeriaIizedStream" content="eltOnly" modeI="closed">
`
`
`
`
`<a’ttribute ‘rype="main" required="yes" />
`
`
`
`
`<attribute type="headers" required="yes" />
`
`
`
`
`
`<element type="headers">
`
`<e!ement type="invokeAction">
`
`
`
`</ElementType>
`
`
`
`
`
`
`<!- Invoke Action Response —->
`
`
`
`
`
`
`<E|ementType name="invokeActionResponse" content="eItOnly“ model="closed">
`
`
`<group order="one">
`
`<e|ement type="_retum">
`
`
`<eIement type="_fault">
`
`</group>
`</E|ementType>
`</Schema>
`
`</contract>
`
`
`
`
`
`
`
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`
`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:xm|—data"
`
`
`xm!ns:dt="urnzschemas-microsoft-com:datatypes">
`
`
`
`<!-- Common Etements and Attributes -->
`
`
`
`
`
`
`
`
`
`
`
`
`<ElementType name="name" content="textOnIy" dt:type="string" />
`
`<!-- Service State Table -->
`
`
`
`
`
`
`
`
`
`
`<E|ementType name="minimum" content="textOnly" dt:type="number" />
`
`
`
`
`<ElementType name="maximum" content="textOn|y" dt:type="numbe1" />
`
`
`
`
`
`<ElementType name="step" content="textOn|y" dt:type="number" />
`
`
`
`
`
`
`<E|ementType name="a|lowedValueRange" content="eltOn!y" mode|="closed">
`
`
`
`<element type="minimum" />
`
`
`
`<eIement type="maximum" />
`
`
`
`
`<element type="step" minOccurs="O" />
`
`</ElementType>
`
`
`
`
`
`
`
`<ElementType name="aHowedValue" content="textOn|y" />
`
`
`
`
`<E|ementType name="al|owedValueList" c0ntent="e|tOnly" m0del="c|osed">
`
`
`
`
`
`<element type="aHowedValue" minOccurs="1 " maxOccurs="*" />
`
`</ElementType>
`
`
`
`
`
`
`
`
`<ErementType name="dataType" content="textOn|y" dt:type="string" />
`
`
`
`
`<E|ementType name="stateVariable" content="eltOnly" model="closed">
`
`
`
`<e|ement type="name" />
`
`
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`
`U.S. Patent
`
`
`
`Jun. 21, 2005
`
`
`
`Sheet 21 0f 48
`
`
`
`
`
`
`
`
`US 6,910,068 B2
`
`
`
`FIG. 22
`
`
`
`<element type="dataType" />
`
`
`
`
`
`
`<group minOccurs="0" maxOccurs="1" order="one">
`
`
`
`<eIemeni type="a1I0wedValueRange" />
`
`
`
`<element type:"allowedVa{ueList" />
`
`</grou p>
`</E|ementType>
`
`
`
`
`
`
`
`
`<EIementType name="deviceStateTab|e" content="e|tOnly" mode!="cIosed">
`
`
`
`
`
`<element type="stateVariabIe" minOccurs="1" maxoccu rs="*" />
`
`</E|ementType>
`
`
`
`<!-- Action List ——>
`
`
`
`
`
`
`
`
`
`<EIementType name="relatedstatevariable" content="textOnly" dt:type="string" />
`
`
`
`
`<ElementType name=“argument" content="eltOnly" mode|="c|osed">
`
`
`
`<element type="name" />
`
`
`
`<eIement type=“relatedStateVariable" />
`
`</ElementType>
`
`
`
`
`
`
`<ElementType name="action" content="e|tOn|y" mode|="c|osed">
`
`
`
`<element type="name" />
`
`
`
`
`<e|ement type="argument" minOccurs="O" maxOccurs="*" />
`
`</ElementType>
`
`
`
`
`
`
`
`
`<E|ementType name="actionList" content="eItOn|y" model="ciosed“>
`
`
`
`
`
`<e|ement type="action" minOccurs="0" maxOccurs="*" />
`
`</ElementType>
`
`
`
`<!-- Root Element -->
`
`
`
`
`
`
`
`
`<EIementType name="dcpd" content="eltOnly" model="closed">
`
`
`
`<e|ement type=“deviceStateTable" />
`
`
`
`<element type="actionList" />
`
`</E|ementType>
`</Schema>
`
`
`
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`U S Patent
`
`Jun. 21 2005
`
`Sheet 22 of 48
`
`US 6,910,068 B2
`
`FIG. 23
`
`°°°\
`
`602
`
`604
`
`SHELL FOLDER
`
`VBSCRIPTI
`JSCRIPT
`
`C APPLICATION
`
`UPNP API (RE HYDRATOR)
`
`DEVICE FINDER
`
`DESCRIPTION SERVICES
`
`DEVICE OBJECT
`
`SERVICE OBJECT
`
`i
`
`SSDP C API
`GENA SERVER API
`
`610
`
`SS DPIUDP
`
`630
`
`SSDP SERVICE
`GENA SERVER
`
`SSDP/UDP
`
`GENA/HTTP/TCP
`
`CONTROLLED DEVICE
`
`HTTP SERVER
`
`210
`
`SERVICE
`
`SERVICE
`
`GENA CLIENT API
`
`SERVICE
`
`SERVICE
`
`21 1
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`
`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
`
`
`
`
`
`CONTROLLED DEVICE
`
`
`
`
`
`
`
`RegisterEventSource()
`
`
`
`
`
`NOTIFY (SID)
`
`200 OK
`
`
`
`
`NOTIFY (SID)
`
`
`
`200 OK
`
`
`
`
`UNSUBSCRIBE (SID)
`
`
`
`
`
`
`
`
`
`SubmitUpnpProperty-
`
`Event()
`
`SubmitUpnpProperty—
`
`
`
`
`
`
`
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`U.S. Patent
`
`Jun. 21,2005
`
`Sheet 24 of 48
`
`US 6,910,068 B2
`
`PROCESSING
`
`UNIT
`
`OPERATING
`SYSTEM
`
`INTERFACE
`
`.
`
`REMOTE
`COMPUTER
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`U S Patent
`
`
`
`
`Jun. 21, 2005
`
`
`
`Sheet 25 of 48
`
`
`
`
`
`
`
`
`US 6,910,063 B2
`
`
`
`
`
`
`
`EMBEDDED COMPUTING DEVICE
`
`
`
`
`
`MEMORY
`
`
`
`
`
`PROCESSING
`UNIT
`
`
`
`
`
`
`OPERATIONAL
`CIRCUITRY
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`NETWORK
`
`ADAPTER
`
`
`
`
`NETWORK
`MEDIA
`
`
`
`
`
`
`
`
`
`
`
`
`DNS
`MDNS
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`DISSIIIIIIJIT/LIERY
`
`
`
`
`
`
`DHCP
`AUTO”:
`
`
`
`
`
`924
`
`
`
`
`
`910
`
`
`DEVICE FUNCTIONS _
`
`
`
`
`
`
`
`
`EVENTING
`
`
`
`
`
`
`930
`
`TCF’/IF’ STACK
`
`
`
`
`PHYSICAL MEDIA
`
`
`
`
`
`
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`U S Patent
`
`Jun 21 2005
`
`Sheet 26 of 48
`
`US 6,910,068 32
`
`FIG. 28
`
`
`
`T900 \
`
`934
`
`(TIMEOUT)
`
`EMBEDDED
`COMPUTING
`DE‘/‘CE
`
`ASSIGN AUTOIP ADDRESS
`
`DNS NAME MU LTICAST
`
`ANNOUNCE SERVICE
`
`(TIMEOUT - WAIT FOR RESPONSE)
`
`DISCOVER SERVICE
`
`RESPONSE TO DISCOVER
`
`XML DEVICE DESCRIPTION
`
`940
`
`DHCP BROADCAST
`
`EMBEDDED
`COMPUTING
`DEWCE
`
`ADDRESS FROM DHCP SERVER
`
`DNS UNICAST TO DNS SERVER
`
`DISCOVER LISTENER
`RESPONSE TO DISCOVER
`
`ANNOUNCE SERVICE TO LISTENER
`
`DIRECTORY UPDATED BY
`LISTEN ER
`
`CLIENT
`°E"'°E
`
`DEVICE SPECIFIC NEGOTIATION
`LDAP QUERY DIRECTORY
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`U S Patent
`
`
`
`
`Jun 21 2005
`
`
`
`Sheet 27 of 48
`
`
`
`
`
`
`
`US 6,910,063 32
`
`
`
`
`
`
`
`954
`
`958
`
`960
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`SIMPLE DISCOVERY
`
`
`
`
`XML
`
`
`
`
`
`
`
`APPLICATIONS -
`
`
`
`
`ADSI
`
`WINSOCK
`
`NDIS
`
`
`
`TCP/JP STACK
`
`NIC
`
`
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`U.S. Patent
`
`Jun. 21, 2005
`
`Sheet 28 of 48
`
`US 6,910,068 B2
`
`FIG.
`
`NC
`POVVER
`
`10$
`
`1 030
`
`1050
`
`105-
`
`E
`
`LGHTN
`‘
`' G
`
`TELEPHONE
`
`1044 -GAME
`
`104
`
`4042
`
`Aumo
`
`REMOTE
`CONTROL
`
`use
`
`10
`
`XDSL
`
`1012
`
`1011
`
`TELEPHONE
`
`AUDIO
`
`1014
`
`1010
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`
`U.S. Patent
`
`
`
`Jun. 21, 2005
`
`
`
`Sheet 29 of 48
`
`
`
`
`
`
`
`
`US 6,910,068 B2
`
`
`
`FIG. 32
`
`
`
`
`
`bject,
`
`uuid(<foo>),
`dual,
`
`
`helpstring("lUPNPDevice interface"),
`
`pointer_default(unique)
`
`
`[ o
`
`
`
`interface lUPNPDevice : lDispatch
`
`
`
`
`
`l {
`
`
`
`
`
`[propget. id(D|SP|D_UPNPDEVlCE_DESCRlPTIONDOCUMENT),
`
`
`
`
`
`
`
`
`
`
`helpstring("returns the document from which the properties of this device are
`
`
`being read")]
`
`
`
`
`HRESULT DescriptionDocument([restricted, hidden, out, retval]
`
`
`
`lUPNPDescriptionDocument ** 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, ppuddDocument is a refernce to the device's
`description document.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`[propget, id(D|SPlD_UPNPDEVlCE_lSROOTDEVlCE),
`
`
`
`
`
`
`
`
`
`helpstring("denotes whether the physical location infonnation of this device can
`
`
`be set")]
`
`
`
`
`
`
`HRESULT lsRo0tDevice([out, retval] VARlANT_BOOL * pvarb);
`
`
`
`
`
`
`
`
`
`
`
`parameters: pvarb, the address of a VARlANT_BOOL that will receive the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`value of VARlANT_TRUE if the current device is the topmost device in the device
`
`
`
`
`
`
`
`
`tree, and will receive the value of VARlANT_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
`
`
`
`
`
`
`
`
`
`
`
`[propget, id(DlSP|D_UPNPDEVlCE_ROOT),
`
`
`
`
`
`
`
`
`helpstring("returns the top device in the device tree“)]
`
`
`
`
`
`HRESULT RootDevice([out, retval] |UPNPDevice ** ppudDeviceRoot);
`
`
`
`
`
`
`
`
`
`purpose: returns the top device in the device tree
`
`
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`
`U.S. Patent
`
`
`
`Jun. 21, 2005
`
`
`
`
`
`
`
`Sheet 30 of 48
`
`
`
`US 6,910,068 B2
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`if 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. *ppudDeviceRoot is null.
`
`
`
`
`
`lpropget, id(DlSPlD_UPNPDEV|CE_PARENT),
`
`
`
`
`
`
`
`helpstring("returns the parent of the current device")]
`
`
`
`
`
`
`HRESULT ParentDevice([out, retval] |UPNPDevice ** ppudDeviceParent);
`
`
`
`
`
`
`
`
`
`
`
`
`parameters: ppudDeviceParent, On return, if the device has a parent, this is
`
`
`
`
`
`
`
`
`
`
`
`
`
`the address of a |UPNPDevice 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.
`
`
`
`*ppudDeviceRoot is null.
`
`
`
`
`
`
`
`[propget. id(DISPID_UPNPDEVlCE_CHlLDREN),
`
`
`
`
`
`
`
`
`
`helpstring("returns a collection of the children of the current devlce")]
`
`
`
`
`
`
`
`HRESULT Children([out, retval] lUPNPDevices ** ppudChildren);
`
`
`
`
`
`
`
`
`
`parameters: ppudChildren,On return, this is the address of a newly—created
`lUPNPDevices collection that can enumerate this device's children. This must be
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`released when no longer needed.
`lfthe device has no children, this method will
`
`
`
`
`
`
`
`
`
`return a collection object with a length of zero.
`
`
`
`
`
`
`
`
`
`
`
`return values: S_OK, ppudChi|dren contains a list of the device's children.
`
`
`
`
`
`
`
`
`
`[propget, id(DlSPlD_UPNPDEVlCE__UDN),
`
`
`
`
`
`
`helpstring("returns the UDN of the device")]
`
`
`
`
`
`HRESULT UniqueDeviceName([out, retval] BSTR * pbstrUDN);
`
`
`
`
`
`
`
`
`
`parameters: pbstrUDN, On return, 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
`pbstrUDN contains the UDN of the device
`
`
`
`Netflix, Inc. Exhibit 1003
`
`Netflix, Inc. Exhibit 1003
`
`

`
`
`U.S. Patent
`
`
`
`Jun. 21, 2005
`
`
`
`
`
`
`
`Sheet 31 of 48
`
`
`
`US 6,910,068 B2
`
`
`
`
`FIG. 34
`
`
`
`
`
`[propget, id(DlSPlD_UPNPDEVlCE_D|SPLAYNAME),
`
`
`
`
`
`
`
`
`he|pstring("returns the (optional) display name of the device")]
`
`
`
`
`
`HRESULT DisplayName([out, retval] BSTR * pbstrDisplayName);
`
`
`
`
`
`
`
`
`
`parameters: pbstrDisplayName, On return, this contains the address of the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`device's display name. This value must be freed when no longer needed.
`if the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`device does not specify a display name, this parameter will be set to null.
`
`
`
`
`
`
`
`
`
`
`return values: S_OK, bstrDisplayName contains the display name of the
`
`
`
`
`
`
`
`
`
`
`
`device. pbstrDisplayName must be freed. S_FALSE, the device did not specify a
`
`
`
`
`
`
`
`display name. *pbstrDisplayName is set to null.
`
`
`
`
`
`
`
`
`
`
`
`
`
`note: it is possible for multiple devices to have the same display name.
`
`
`
`
`
`
`
`
`Applications should use UniqueDeviceName() to determine if two device objects
`refer to the same device.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`[propget, id(D|SPlD_UPNPDEVICE_CANSETDlSPLAYNAME).
`
`
`
`
`
`
`
`
`
`helpstring("denotes whether the physical location information of this device can
`
`
`be set")]
`
`
`
`
`
`HRESULT CanSetDisp|ayName({out, retval] VARlANT_BOOL * pvarb);
`
`
`
`
`
`
`
`
`
`
`
`parameters: pvarb, the address of a VARlANT_BOOL. This is true (!=0) on
`
`
`
`
`
`
`
`
`
`
`
`return when the device's display name can be set (via SetDisplayName)
`
`
`
`
`
`
`
`
`
`
`return values: S_OK
`verb is set to the appropriate value
`
`
`
`
`
`
`[id(DlSPlD_UPNPDEVlCE__SETD|SPLAYNAME),
`
`
`
`
`
`
`
`heIpstring("sets the display name on the device")]
`
`
`
`
`HRESULT SetDispIayName([in] BSTR bstrDisplayName);
`
`
`
`
`
`
`
`
`
`
`
`parameters: bstrDisplayName, the value to set the device's display name to.
`
`
`
`
`
`
`
`
`
`
`return values: S_OK, varb is set to the appropriate value.
`
`
`
`
`
`
`
`
`
`
`
`
`
`note: On success, this method sets the display name used by a device.
`
`
`
`

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