`
`AD.
`
`03-AT1-6I
`
`_
`
`j
`
`/A|Peov
`
`==
`p4
`=|
`EO
`
`—~=e
`oS?
`>= c
`PROVISIONAL APPLICATION COVER SHEET
`3S.
`= .—ir is a requestfor filing a PROVISIONAL APPLICATIONunder 37 CFR 1.53(c)
`
`=S0 Docket Number
`
`148597.1
`
`Type a plus sign (+)
`inside this box
`
`INVENTOR(S)/APPLICANT(S
`
`Tarek
`Shannon
`Mukund
`Sandeep
`James
`
`.
`
`.
`
`Elabaddy
`Chan
`Sankaranarayan
`Sahasrabudhe
`Alkove
`
`Redmond, WA
`Redmond, WA
`Issaquah, WA
`Redmond, WA
`Woodinville, WA
`
`TITLE OF THE INVENTION
`(280 characters max)
`Method and Sharing Media Libraries and playlists on data home networks
`
`CORRESPONDENCE ADDRESS
`
`Bart Eppenauer
`Microsoft Corporation
`ATIN: Patent Docket Department
`One Microsoft Way
`Redmond, WA 98052-6399
`(425) 882-8080
`
`‘& Specification|Number ofPages 66 xX Return Receipt Postcard
`
`ef] Drawing(s)
`Number ofSheets
`Certificate of Mailing included below
`
`ENCLOSED APPLICATION PARTS(check all that appl;
`
`METHOD OF PAYMENT
`rr
`aX The Commissioneris hereby authorized to charge filing fees or credit any overpayment to Deposit Account Number: 50-0463.
`=: Total Fee Due: $150.00
`
`‘This invention was not made by an agency of the United States Government or under a contract with an agency of the United States
`Government.
`
`Respectfully su
`
`
`
` Signature: Date: 03/26/2001
`
`Typed or Printed Name:_D. Bartley Eppenauer
`
`Reg. No. 35499
`
`“Express Mail” Mailing Label number: EL 767143416
`
`Date of Deposit: 03/26/2001
`
`I herebycertify that this paper or fee is being deposited with the United States Services “Express Mail Post Office to Addressee” service under 37
`CFR onthe date indicated above and is addressed to the Assistant Commissioner for Patents, Washington, D.C. 20231
`a. DB
`Lisa Brick
`(Signature of person mailing paperorfee)
`(Typed or printed nameor person mailing paperor fee)
`
`PROVISIONAL APPLICATION FILING ONLY_Netflix,Inc.et al. exnipt OeOo
`
`Netflix, Inc. et al. Exhibit 1005
`1 of 67
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Title of Invention: A method for sharing media libraries and playlists on data home networks
`
`
`
`
`
`
`
`
`
`
`
`Inventors: Tarek Elabbady, Shannon Chan, Mukund Sankarayan, Sandeep Sahasrabudhe
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The general plan for this design was shared under NDA with Compaq, Dell, and Broadcom
`
`
`
`
`Introduction
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`This invention describes two software services: the media library service and the media catalogue service.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The Media Library service exposes a list of metadata describing media content stored on a home network
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`media stores and created by media jukeboxes living on PCs or digital AV devices. The Catalog Serviceis a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`centralized service hosted by one PC that discovers and aggregates the contents of all medialibraries
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`published on the home network and presents a unified list that could be accessed from interested devices on
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`the network. Each item in the media library or the media catalog consists of metadata about a piece of
`
`
`
`
`
`
`
`
`
`
`
`
`digital media such as an audio track, videoclip, ordigital image.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`New Role for the PC in the Entertainment Arena: Theseservices provide excellent examples for why
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`PCs should play more center role in the connected home entertainment scenarios. By hosting these services,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`the PC offers a content management on top of its present role as media storage and media gateway. The
`
`
`
`
`
`
`
`
`
`
`
`
`consumerelectronics device companies have been rejecting such position for the PC.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Leadership Role: A new generation of digital audio and video players/recorders are appearing around usto
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`support digital/internet media mania. These devices are primarily focused on extending the digital media
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`and video beyondits storage location on the PCsor from the Internet servers directly. However, these
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`devices are now being introduced following no standard design. Each manufacture for these devices is
`
`
`
`
`
`
`
`
`
`
`
`
`
`working on proprietary solutions for presenting, accessing, and controlling the digital media contents
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`available on the home network. By implementing these services in the platforms, device companieswill be
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`encouraged to adopt our approach that can becomethe standard for such applications. The more
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`standardized the designs become, the more successful it will be in the market place, and the less confused
`
`
`the consumer,
`
`
`
`
`
`
`
`
`Motivation for the Invention:
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The digital media is the fastest growing Ecommerceactivity in this era. The PC is the number one gateway
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`for media contents today, and is the most logical choiceto store it. The consumer media experience in the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`homeusually takes place in rooms away from the PC-room. Digital Media device companies saw the need
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`for a device that can pull/receive the digital media from its store to play in traditional entertainment centers
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`regardless of the PC location. However, until now, there is no standard mechanism that allows users to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`access their media collection from UIs presented on these devices. Therefore our invention is the first
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`attempt to offer such standard method. The method utilizes the Universal Plug and Play networking
`
`
`
`
`
`
`
`
`
`
`
`
`
`protocols standards as well as standard data exchange languages (XML) and Standard scripting language
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`(Iscript) to create, distribute media libraries and aggregate the libraries in one unified catalog the user can
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`access from any of these devices. In addition, the Media Library Service is designed to meet three basic
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`requirements: (1). Access Control: media devices on the home network typically do not logon to a domain
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`controller. In a typical configuration, we will set the ACLs to allow access to anonymous users. This
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`means that any UPNP control point on the home network can access the UPNP Media Library Service.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The home network should be protected by an Internet firewall to prevent unauthorized access. (2). Network
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Firewalls: the home network should not be directly connected to the Internet. UPNP devices on the home
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`network should connectto the Internet via Internet Connection Sharing. ICS acts as a firewall, preventing
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`unauthorized users from accessing the IP addresses of UPNP devices on the home network. (3) Content
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`MICROSOFT Corporation
`
`
`EL 767143416
`
`
`
`Netflix, Inc. et al. Exhibit 1005
`2 of 67
`
`‘ooo
`
`Netflix, Inc. et al. Exhibit 1005
`2 of 67
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`unauthorized users from accessing the IP addresses of UPNP devices on the home network. (3) Content
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Protection: we will make an effort to protect copyrighted content from unauthorized duplication. Our
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`content protection implementation consists of an ISAPI filter and the DRM Portable Media License
`
`Service.
`
`
`
`
`
`(2)
`
`\
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Description of the Invention:
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The main function ofthe service is to map existing media libraries created on a PC to XML-documentusing
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`a standard XML-schema. The resulting XML document then is advertised to the Universal Plug and Play
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`(UPnP) network. The user, using MediaLibrary UPnP controlpoints on the home network, can discover the
`
`
`
`
`
`
`
`
`
`
`
`
`
`Media library service and invoke actions to the service (search, query, additem, ....).
`
`
`
`
`
`
`
`
`
`
`
`The following is a system flow highlights for the applicable scenario
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`(1)
`At boot-up time, the UPnP “Media Catalog” service is created and hosted by a pre-configured
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`server PC on the network (possibly the gateway machine). Using UPnP discovery message, the
`
`
`
`
`
`
`
`
`service then is advertised on the home network.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Following the catalog notification, cach media library hosted by a network PC or Digital AV device
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`advertises itself to the network, which then can be discovered by the catalog service. The catalog
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ageregates the contents of all media libraries on the network and forms a unified list of pointers
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`(URLs) to digital media on the homenet. The catalog then is re-advertised to the network.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`‘The user on the UPnP-enabled device discovers the media catalog. The catalog control point on the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`device contains a catalog UI and a catalog manager. The user views the catalog content on the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`catalog’s UI and select the media to play using the catalog’s manager. At this point using a third
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`party UPnP control point, such as a universal remote control, the user can also discover both the
`
`
`
`
`
`
`
`
`
`media catalog and DAR devices on the homenet.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Once the users make their selection from the catalog, the DAR returns a URL (or UNC) of the
`
`
`
`
`
`
`
`
`
`
`
`selected media to the content server associated with the media store.
`
`
`
`
`
`
`
`
`
`
`
`
`
`The content server establishes the connection with the requesting device opens and reads the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`selected media file and initiates the transmission ofthe file contents to the device.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The device decode and decompressthe file content and initiate playback of the media
`
`(3)
`
`
`
`(4)
`
`(5)
`
`
`(6)
`
`
`
`
`EL 767143416
`
`Microsoft Corporation
`
`
`
`
`
`
`
`Netflix, baccetal. Exhibit 1005
`3 of 67
`
`2
`
`Netflix, Inc. et al. Exhibit 1005
`3 of 67
`
`
`
`Diagrams and Flow Charts:
`
`Music Library
`
`cea
`
`ticessenenis
`
`= — p> oe
`
`aaete
`a.
`tony
`i
`~ 4 ie
`
`eee
`
`
`
`l
`
`Aetense
`
`setensaenennenerssnens caneereeine sony,
`
`eta
`|
`
`
`ee x
`
`8
`bt License
`|
`
`[7 ~P Client
`
`! Generator --- 5
`
`senunmuauinnennenmnnal
`
`License
`
`+
`
`— = 8 tere / SMB
`wo we oe VAY
`
`DAR:Digital Audio(Media) Receiver
`
`(0)
`(1)
`(2)
`(3)
`(4)
`(5)
`(6)
`
`(7)
`(8)
`(9)
`(10)
`
`(11)
`
`Manually register the DAR
`Advertise Library to the Network using UPnP
`Discover the library by the DAR UPnP-controlpoint
`Conducta search for music (query thelibrary)
`Results from the search (list of URLs)
`Select music (URL)
`Request the content of music file via HTTP GET (URL)orFile IO
`(UNC)
`Open & Readfile using file server or HTTP server
`Transmit file content to DAR
`WMEPAKattempts to decode, decompressthefile to play
`For protected files (all shared files on home networks will be DRM-
`protected), WME PAKasks DAR client for license.
`DAR client requests Serverto issue a portable media license. The
`following info is sent from BLT to PCinthis call:
`
`EL 767143416
`Microsoft Corporation
`
`Netflix, PacEebal. Exhibit 1005
`4 of 67
`
`3ofih
`
`Netflix, Inc. et al. Exhibit 1005
`4 of 67
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`URL,Serial#, KID, Extended info from V7HeaderObject,
`
`
`
`Application security level
`
`
`
`
`
`
`
`
`
`
`
`
`
`Open the PM license store based on the serial #. Note that store are kept
`
`
`
`
`on per device basis.
`
`
`
`
`Read the store into
`
`
`
`
`
`
`
`
`
`
`
`
`Request DRM client to give a PM license. memory (only if the DAR
`
`
`
`
`
`
`
`registration is confirmed by the license generator)
`
`
`e
`SetLicenseStore
`
`
`
`
`
`
`
`
`®
`SetVIKID or SetV2ContentHeader, based on license type.
`
`
`®
`CreatePMLicense
`
`
`
`
`
`
`
`Save the updatedlicense store obtained from CreatePMLicense.
`
`
`
`
`
`
`
`
`Return the license store to the DAR client.
`
`
`
`
`
`
`
`
`
`
`
`DAR client forwards the store to WME PAK to proceed with decoding
`
`
`
`
`
`and decompressing the music content
`
`
`
`Play the song
`
`
`*
`
`
`
`(12)
`
`
`
`(13)
`
`(14)
`
`
`(15)
`
`(16)
`
`
`(17)
`
`
`
`
`(18)
`
`
`
`
`EL 767143416
`
`
`Microsoft Corporation
`
`
`
`
`
`Netflix, #aGeek al. Exhibit 1005
`5 of 67
`
`T of ee
`
`Netflix, Inc. et al. Exhibit 1005
`5 of 67
`
`
`
`DigitalAudioReceiver:0.1 Device Template
`For Universal Plug and Play Version 1.0
`Status: Preliminary Design (TBD)
`Date: November 3rd, 2000
`
`Microsoft Confidential.
`
`©2000 Microsoft Corporation. All Rights Reserved
`
`Authors
`
`Company
`
`
`
`
`
`Microsoft Corporation
`
`EL 767143416
`
`Netflix, Inc. et al. Exhibit 1005
`6 of 67
`
`oe
`
`Netflix, Inc. et al. Exhibit 1005
`6 of 67
`
`
`
`Digital-Audio-Receiver (DAR):0.1 Device Template
`
`2
`
`Contents
`
`1. OVERVIEW AND SCOPE........sneserersesensessressessesececesscsssensnsseescscsesessssesesenensesessesesossecesescesecessenesseeseeesseseseresseseveened
`
`1.1.
`1.1.
`
`CHANGE LOG FOR MEDIASTORE:0.1 oo. ccsccecesesceesececsseesesueceuescuesceccneeseeuaucesuscesauaceceececsauerenaeeseneeenenseceuness 4
`EXTERNAL DEPENDENCIES.........cccccsescececessesscseeecessseecensesesereeeauereseueesecseverscasseceuuseececesuareeecesseaeercerseategeceeasaees 4
`
`2. DEVICE DEFINITIONS........ccccsssssesrerssasesosensessecesencesccenssuseavensonsesecensonesensanasanensnsoronsesasensesascoseresensesnssosensevesense)
`
`DEVICE TYPE......cccccscccsecseesseecocssseserereueecesscsecensssccceteseusuesvassuesevessveneneauseseaseeserauecscevecenecacdevenuseusacesesrecarseaseves 5
`2.1.
`* DEVICE MODEL....sseccecesecsscsssssessesscsuessrssesacevessessesecereneserssusavesucavssesseqresaesessesavssessesetarsansesesecsucaucesasesscsneensaveese 5
`2.1.
`21.1.
`Description ofDevice Requirements.......cccccccceccccccccscesessesecesesecceceseyereeteseeseseseesauaueeeenaeieeceeecnerseevanetsress 5
`21.1,
`Relationship Between ServiCes...cccccccccsccececcvevssseesesesessssssessessvscsscsssevavsesscseaesecesassesasateecacsegavaseecaeancecaees 5
`2.3.
`THEORY OF OPERATION .u...ccsccesecsseessesesesetcssseecse satecaecnescsseceseneesessecsuapepsgenesessseasasenaeenaseyaceuecessesesteneeeeyecensesgess 6
`
`3. XML DEVICE DESCRIPTION.........ccccesssccteseeeseseeneesneccessceesesenconstensesenscenseesneesaneenecescecesesannesescasseanenecsenseenses6
`
`4. TEST.......sesegnesssseasecsseesssnenesenensecensesessosnsonssterapepsesenenensensssancssseessesanenceescesanenssosssesensesosevsnserasrsseensessssesesenesenseeneswoe
`
`List of Tables
`
`Table 1: Device Requirement..........ccceccseeesenesssserstescseeaseneasnssecacseasvensesesaseceesessesaugecaecasassueceserenecananevassusneenterereesesaees 5
`
`
`
`Microsoft Corporation
`
`EL 767143416
`
`Netflix, Inc. et al. Exhibit 1005
`7 of 67
`
`ba
`
`Netflix, Inc. et al. Exhibit 1005
`7 of 67
`
`
`
`Digital-Audio-Receiver (DAR):0.1 Device Template
`
`3
`
`1. Overview and Scope
`This device template is compliant with the Universal Plug and Play Device Architecture version 1.0. It defines a
`device type referred to herein as Digital-Audio-Receiver (DAR):0.1.
`
`Digital-Audio-Receiver (DAR):0.1 is a model for a device used to render and contro] digital music transported on
`the home networks.
`
`General Functions: A device with a network connection that can:
`
`-
`-
`
`-
`
`-
`
`-
`-
`-
`
`Discovers, and access media library services on the network
`Display, and manage the media library on a small LCD-display, or can be connected to a TV to
`display the control and navigation UIs
`Establish connection with media stores on the network and/or internet services
`
`Reads streamed encoded digital music content from a media store on the network orlively
`streamed (from internet radio)
`Decode popular digital music format
`Renders the music directly or sends the decoded music to independent music renderers
`Control the playback of the music by invoking actions on variables defined for UPnP services
`referenced in this document
`
`The DAR device encapsulates functionality for AV-transport, variable-control, connection, and media library
`services into an atomic unit.
`
`AVTransport: This service type enables control overthe transport of audio and video streams. The service type
`defines a ‘common’ model for A/V transport control suitable for generic user interface. The model also allows for
`‘forwarded’ control action, enabling the distribution oftransport control state across connections by meansof
`eventing. The service type is related to the Connector service type, which describes A/V connection setup
`procedures.
`
`Connector: This service-type enables modeling of streaming capabilities of A/V devices, and binding of those
`capabilities between devices. The service is based on the notion of a ‘Connector’ which has a numberof properties
`including direction (in/out), content-format (WMA, MP3, etc.) and a numberof ‘peer Connectors’ to whichit is
`connected. The connector service is used to negotiate a data transfer protocol and format between the Digital-Audio-
`Receiver (DAR) and the rendering device. This could range from simple bulk data transfer over HTTP, or SMB to
`streaming over RTP.
`
`VariableContro]: This service-type enables control ofa generic variable-setting control such as a volume control.
`
`MediaLibrary: The Media Library service exposesa list of metadata describing media content stored locally on the
`host device and on user-selected list of Internet sites.
`
`Diagram 1: Digital-Audio-Receiver (DAR):0.1 System Diagram
`
`
`
`
`
`ek
`
`Media Store
`
`Digital-Audio-Receiver
`
`
`AVTransport:
`
`
`
`
`
`|
`
`
`
`
`‘MetiiaLibrary Cefitrol, ras ws: Point . Satie
`[| Required
` MediaLibrary
`
`
`
`
`
`] Optional
`
`VariableControl
`
`Microsoft Corporation
`
`EL 767143416
`
`Netflix, Inc. et al. Exhibit 1005
`8 of 67
`
`Tho
`
`Netflix, Inc. et al. Exhibit 1005
`8 of 67
`
`
`
`Digital-Audio-Receiver (DAR):0.1 Device Template
`
`1.1. Change Log for Digital-Audio-Receiver (DAR):0.1
`
`Ver Date
`
`Author
`
`Changes
`
`1.2. External dependencies
`
`None.
`
`
`
`
`Microsoft Corporation
`
`EL 767143416
`
`Netflix, Inc. et al. Exhibit 1005
`9 of 67
`
`Bt,
`
`Netflix, Inc. et al. Exhibit 1005
`9 of 67
`
`
`
`Digital-Audio-Receiver (DAR):0.1 Device Template
`
`5
`
`2. Device Definitions
`
`2.1. Device Type
`
`The following device type identifies a device that is compliant withthis template:
`
`urn:schemas-microsoft-com:device:Digital-Audio-Receiver (DAR):0.1
`
`The shorthand Digital-Audio-Receiver (DAR):0.1 is used herein to refer to this device type.
`
`2.2. Device Model
`
`Digital-Audio-Receiver (DAR):0.1 products must implement minimum version numbersofall required embedded
`devices and services specified in the table below.
`
`
`
`
`Table 1: Device Requirements
`Device Type
`Root Req.or
`Opt.‘
`
`Digital-Audio-Receiver
`(DAR):0.1
`
`yes
`
`Service Type
`
`Req. Pa Tate |e
`Opt.'
`
`VariableControl:0.1
`
`VarighleControl
`
`
`
`
`
`
`
`aspen’2
`AVTeanspott
`R =Required, O =saiEAEX = Non-standard.
`
`Connector:0,85
`
`Connector
`
`2 Prefixed by urn:upnp-org:serviceld: .
`
`2.2.1. Description of Device Requirements
`
`Connector is a proposed Forum (standard) service used to negotiate and bind an A/V stream betweenthe Digital-
`Audio-Receiver (DAR) and mediasink. Fordetails onthis service, see the related specification Connector:0.81
`Service Template.
`
`AVTransportis a proposed Forum (standard) service used to define common Audio/Video transport control
`mechanisms, For details on this service, see the related specification AVTransport:0.1 Service Template.
`
`MediaLibraryis a Microsoft (nonstandard) service used to manageandselect collections of multimedia content to
`play. For details onthis service, see the related specification MediaLibrary:0.1 Service Template.
`
`VariableControl is a proposed Forum (standard) service used to control generic variable-setting control suchas a
`volume control, see the related specification VariableControl:0.21 Service Template,
`
`2.2.2. Relationship Between Services
`
`Microsoft Corporation
`
`EL 767143416
`
`Netflix, Inc. et al. Exhibit 1005
`10 of 67
`
`at,
`
`Netflix, Inc. et al. Exhibit 1005
`10 of 67
`
`
`
`Digital-Audio-Receiver (DAR):0.1 Device Template
`
`6
`
`Theory of Operation
`
`XML Device Description
`3.
`NOTE:Notup to date.
`
`
`
`
`<?xml version="1.0"?>
`<root xmlns="urn: schemas-upnp-org:device~1-0">
`<specVersion>
`<major>1</major>
`<minor>0</minor>
`</specVersion>
`<URLBase>base URL for all relative URLs</URLBase>
`<device>
`<deviceType>urn: schemas~microsoft~com: device: Digite/-~Audio-Receiver
`(DAR) : 0,1</deviceType>
`<friendlyName>short user-friendly title</friendlyName>
`<manufacturer>manufacturer name</manufacturer>
`<manufacturerURL>URI
`to manufacturer site</manufacturerURL>
`<modelDescription>long user-friendly title</modelDescription>
`<modelName>mode! name</modelName>
`<modelNumber>mode!] number</modelNumber>
`<modelURL>URIL to model site</modelURL>
`<serialNumbersmanufacturer’s serial number</serialNumber>
`<UDN>uuid: UUID</UDN>
`<UPC>Universal Product Code</UPC>
`<iconList>
`<icon>
`<mimetype>image/format</mimetype>
`<width>horizontal pixels</width>
`<height>vertical pixels</height>
`<depth>color deptn</depth>
`<url>URL to icon</url>
`</icon>
`XML to declare other icons, if any, go here
`</iconList>
`<serviceList>
`<service>
`<servicelype>
`urn: schemas-microsoft—com: service: Digital -Audio
`(DAR): 3.1</serviceType>
`<servicelId>urn:microsoft-com:serviceld: Digital -Audio-Receiver
`(DAR) </servicelId>
`<SCPDURL>URL to service description</SCPDURL>
`<controlURL>URL for control</controlURL>
`<eventSubURL>URL for eventing</eventSubURL>
`</service>
`<service>
`<serviceType>urn: schemas~upnp~org: service: Connector: 0,§5</serviceType>
`<serviceId>urn: upnp-org: serviceld: Connector</serviceId>
`<SCPDURL>URL to service description</SCPDURL>
`<controlURL>URL for control</controlURL>
`<eventSubURL>URL ror eventing</eventSubURL>
`
`
`
`Microsoft Corporation
`
`EL 767143416
`
`Netflix, Inc. et al. Exhibit 1005
`11 of 67
`
`1044
`
`Netflix, Inc. et al. Exhibit 1005
`11 of 67
`
`
`
`Digital-Audio-Receiver (DAR):0.1 Device Template
`
`7
`
`</service>
`<service>
`<serviceType>
`urn: schemas-upnp-or : service: AVIransport: 0.2</serviceType>
`<serviceId>urn:upnp-org: serviceld: AVTransport</serviceld>
`<SCPDURL>URL to service description</SCPDURL>
`
`<controlURL>URL for control</controlURL>
`
`<eventSubURL>URL for eventing</eventSubURL>
`
`</service>
`<service>
`<serviceType>
`urn: schemas~upnp-org: service: VariableControl: 0, 2</serviceType>
`
`<serviceld>urn:upnp-org: serviceld: VariableControi</serviceld>
`<SCPDURL>URL to service description</SCPDURL>
`<controlURLsURL for control</controlURL>
`<eventSubURL>URL for eventing</eventSubURL>
`</service>
`
`Declarations for other services added by UPnP vender (if any) go here
`</serviceList>
`<presentationURL>VUAL for presentation</presentationURL>
`</device>
`</root>
`
`
`
`Microsoft Corporation
`
`EL 767143416
`
`Netflix, Inc. et al. Exhibit 1005
`12 of 67
`
`14%
`
`Netflix, Inc. et al. Exhibit 1005
`12 of 67
`
`
`
`Digital-Audio-Receiver (DAR):0.1 Device Template
`
`Test
`
`4.
`TBD.
`
`Fr:St
`fee
`
`a
`
`Microsoft Corporation
`
`EL 767143416
`
`Netflix, Inc. et al. Exhibit 1005
`13 of 67
`
`/Z. ke
`
`Netflix, Inc. et al. Exhibit 1005
`13 of 67
`
`
`
`Rev. 0.2
`
`Microsoft Confidential
`
`Digital Audio Receiver (DAR) Architecture
`
`ee
`
`Author: Mukund Sankaranarayan
`
`Date: 11/27/00
`
`Status: Rev. 0.2
`
`aseEN
`
`2GB08
`
`ebbers
`
` v
`
`Microsoft Corporation
`EL 767143416
`
`1
`
`Netflix, Inc. et al. Exhibit 1005
`14 of 67
`
`13 4 OG
`
`Netflix, Inc. et al. Exhibit 1005
`14 of 67
`
`
`
`
`Rev. 0.2
`
`
`
`
`Microsoft Confidential
`
`
`
`
`
`OVELVICW vce ccceccccsscccssccssessesccesesscvessessucensssccusscssacsauscssseeessssesseusasensccsasecsetencaesessusessseensepenes 3
`
`
`
`General Architecture .....c..ccccccccsscscesssseeessesesseceessescssaesenuseesnateccnusesessausesseeeeesnsaeeseeguesessnaeees 3
`
`
`DeSCLIPtiOn oo... sceesesssssseneeeceenacensccrenecescetscensenscsereeceeeesessenseeeeeenesesieeedeaesnesnaesetorseeaens 3
`
`
`
`
`
`
`1. Media Library Control] Point... cccceneerseeeerssessscsescneccsetesessesseeenseessseesereateea 3
`
`
`
`
`
`2. DAR Control Point ......... eee secesaueeesaecuseesseeessececeveneseveuscesesecsesesessentecsnesenstensacs 4
`
`
`
`
`3. DAR Device... poseecaenscansevesseveseneseeesseuscenses suausevesauscausensecanseesseauscueueaneesaeseeuss 5
`
`
`
`Open Issties 20.0... eee enceeeereesceseeenececeeecsaaeecseeeaneesaeerseavenescageeeneeseurecesseesaeessieesseneeatertiees 5
`
`
`
`
`
`
`
`
`
`
`
`
`Microsoft Corporation
`
`
`EL 767143416
`
`
`
`
`
`2
`
`Netflix, Inc. et al. Exhibit 1005
`15 of 67
`(1 gol
`
`Netflix, Inc. et al. Exhibit 1005
`15 of 67
`
`
`
`
`
`
`Rev. 0.2
`
`
`
`
`Microsoft Confidential
`
`
`
`
`Overview
`
`
`
`
`
`
`
`
`
`
`
`
`This document describes the architecture design of the Digital Audio Receiver (DAR)
`
`
`
`
`
`
`
`
`
`
`
`client. The usage scenarios and hardware specifications of DAR are described separately
`
`
`
`
`
`
`
`
`
`in documents referenced at the end of this document.
`
`
`
`
`
`
`General Architecture
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Logically there are three components — the DAR UPnP device and an UPnP control point
`
`
`
`
`
`
`
`
`
`
`to control the DAR, and a control point for Media Library.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`It exposes
`1. DAR UPnP Device: This is the device on which music is rendered.
`
`
`
`
`
`
`
`
`
`
`
`several services -like play, pause, and stop—via which a control point can
`
`
`
`
`
`
`
`
`
`
`
`
`manipulate the device. A detailed description of the services offered to control the
`
`
`
`
`
`
`
`
`
`
`device is described in the DAR device control protocol (DCP).
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`2. UPnP DAR Control Point: controls the DAR device described above.
`
`
`
`
`
`
`
`
`
`
`
`
`
`3. Media Library Control Point: controls the media library. The services exposed by
`
`
`
`
`
`
`
`
`
`
`
`
`the medialibrary are described in the Media Library device control protocol
`
`
`
`Description
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The following is a detailed description of both devices and role they play in selection and
`
`
`
`
`
`
`
`
`
`
`
`
`rendering of a piece of music content from the media library service (MLS).
`
`
`
`
`
`1. Media Library Control Point
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`1. Media Library discovery: The control point after registering itself searches for
`
`
`
`
`
`
`
`
`
`
`
`
`media libraries on the home network. The discovery protocol
`is based on a
`
`
`
`
`
`
`
`
`
`
`
`multicast SSDP message, defined by the UPnP specification, that specifies the
`
`
`
`
`Microsoft Corporation
`
`
`EL 767143416
`
`
`
`
`
`3
`
`Netflix, Inc. et al. Exhibit 1005
`16 of 67
`
`IS 2 66
`
`Netflix, Inc. et al. Exhibit 1005
`16 of 67
`
`
`
`
`Rev, 0.2
`
`
`
`
`Microsoft Confidential
`
`
`
`
`
`
`
`
`
`
`search target as “urn:schemas-upnp-org:device:WMP_MediaLibrary:1”, where is
`
`
`
`
`
`
`
`
`
`WMP.MediaLibrary:1 defines device type and version.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`2. Each of the media library devices on the network responds to the above message
`
`
`
`
`
`
`
`
`
`
`
`
`
`with the following information: device’s UUID, and URL to device’s UPnP
`
`
`
`description.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`3. The control point issues the HTTP GET request on the device URL, obtained in
`
`
`
`the previous step, to learn about the device description andits services.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`4. The control point, next, displays the top-level menu items. The control point
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`creates the menu by querying the media library services (MLS) and aggregating
`
`
`
`
`them.
`
`5. Control points invokes the “GetView” action the on MLS. The user selection,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`expressed in XPATHfilter expression, is the argument to this method. This action
`
`
`
`is invoked on each and every MLS identified on the network and results from all
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`MLSare merge-sorted prior to presenting them to the user.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`6. The user selects the song to be rendered.
`
`
`
`
`
`
`2. DAR Control Point
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`1. The control point presents alist of all DARs on the network if there is more than
`
`
`
`
`
`
`
`one DAR onthe network.
`
`
`
`2. The control point invokes the “Play” action on the DAR UPnP device selected in
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`the previous step. The URL of the song selected by the user is sent. The URL was
`
`
`
`
`
`
`
`
`
`
`
`obtained as a result of GetView action.
`
`
`Implementation
`
`
`
`
`
`
`
`
`
`
`
`
`
`Given that most of the control-point devices will have some form of minimal HTML
`
`
`
`client (web browers) we will provide a sample implementation using HTML and JScript.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Scripting was chosen (instead of DLL etc) so that it will work on cross-platforms without
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`arecompile; JScript was chosen over VBScript as it has wider support across platforms.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Note that both control points can live on the DAR device or remote PDA. This is a
`
`
`
`
`
`
`
`
`
`
`
`packagingissue that will be defined by the OEM.
`
`
`
`
`
`
`
`Microsoft Corporation
`
`
`
`EL 767143416
`
`
`
`4
`
`
`
`Netflix, Inc. et al. Exhibit 1005
`17 of 67
`Io & 66
`
`Netflix, Inc. et al. Exhibit 1005
`17 of 67
`
`
`
`Rev. 0.2
`
`
`
`
`
`Microsoft Confidential
`
`
`
`
`
`3. DAR Device
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The DAR device contains the following components: an UPnP service; a separate engine
`
`
`
`each type of format it can play - WMA, MP3, etc; a client that can download(or stream)
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`data from Content Server using HTTP; and an application.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The description of DAR andits interaction with Content Server is described below:
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`1. For each of the format type supported, the DAR performs some initialization.
`
`
`
`
`
`
`
`
`
`
`
`
`Specifically, for WMA files the DAR initializes the WME PAK.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`2. The DAR advertises itself as UNP device on the home net using SSDP as
`
`
`
`
`described in UPnP specification.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`3. The control point invokes “Play” action on the DAR passing in the URL of song
`
`to be played (see step #8 under section “DAR Control Point”).
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`4, The application on the DAR downloads the content using HTTP GET. Based on
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`the content format (MP3, WMA) it forwards the stream to the appropriate
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`rendering engine. Let us assumethat format is WMAfor further discussions.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`5. The WMA engine attempts to play the song. If its copy protected then, it calls
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`back the handler registered at WMEinitialization time requesting for the license.
`
`
`
`
`6. The handler requests the license from the PC. The protocol for this interaction is
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`yet to be finalized.
`
`
`Open Issues
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`1. The protocol between the DAR device and PCis yet to be finalized.
`
`
`
`
`
`
`
`
`
`
`
`
`
`2. What types format will be shared from the media library - WMA and MP3.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`3. What is the implication of sharing “clear MP3 content”? Do we need secure
`
`
`
`sharing?
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`4. Aggregated media library services will have an impact in the logic on DAR
`
`
`
`device.
`
`
`
`
`
`
`
`
`Microsoft Corporation
`
`
`EL 767143416
`
`
`
`5
`
`
`
`Netflix, Inc. et al. Exhibit 1005
`18 of 67
`| hoe
`
`Netflix, Inc. et al. Exhibit 1005
`18 of 67
`
`
`
`
`
`
`
`Digital Media Description Language
`
`
`
`
`
`Revision 0.2
`
`
`
`Author: James Alkove
`
`
`Last Updated: 10/31/2000
`
`
`
`
`Microsoft Corporation
`
`
`EL 767143416
`
`
`
`Netflix, Inc. et al. Exhibit 1005
`19 of 67
`
`13 4 Ge
`
`Netflix, Inc. et al. Exhibit 1005
`19 of 67
`
`
`
`Objective
`
`The purpose of the Digital Media Description Languageis to provide an extensible way
`of describing digital media items and collections of digital media items.
`
`Overview
`
`Digital Media Description Language is an XML-based description language for digital
`media items andcollections.
`
`Media Collections
`
`For media collections we will be using SMIL2. Since SMIL supports elements contained.
`inside ofits media elements, we will simply embed a MEDIAITEM within the containing
`SMIL media element.
`
`Example:
`
`<seq>
`<video title="My video” src="myvideo.wmv” >
`<mediaitem>..<mediaitem>
`</video>
`</seq>
`
`The player will implementa subset ofthe full SMIL2 specification. Specifically the
`Media Object Modules, an