`
`01g'S'flOSOIP
`
`03‘&1-0l
`
`PROVISIONAL APPLICATION COVER SHEET
`
`is a request for filing a PROVISIONAL APPLICATION under 37 CFR 1.53(c)
`
`Docket Number
`148597.!
`
`Type a plus sign (+)
`inside this box—>
`
`FIRST NAME
`
`MIDDLE
`INITIAL
`
`INVENTOR S IAPPLICANT S
`LAST NAME
`
`RESIDENCE
`CITY AND EITHER STATE 0R FOREIGN COUNTR
`
`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
`
`1 01:6?
`
`I hereby certify that this paper or fee is being deposited with the United States Services "Express Mail Post Office to Addressee" service under 37
`CFR on the date indicated above and is address
`to the Assistant Commissioner for Patents, Washington, DC. 20231
`45 '
`Lisa Brick
`(Signature of person mailing paper or fee)
`(Typed or printed name or person mailing paper or fee)
`
`CORRESPONDENCE ADDRESS
`
`Bart Eppenauer
`Microsoft Corporation
`A'I'I'N: Patent Docket Department
`One Microsoft Way
`Redmond, WA 98052-6399
`(425) 882-8080
`
`ENCLOSED APPLICATION PARTS check all that a I
`
`Number ofPage: Q
`Number ofSheets
`
`E Return Receipt Postcard
`Certificate ofMailing included below
`
`METHOD OF PAYMENT
`
`The Commissioner is hereby authorized to charge filing fees or credit any overpayment to Deposit Account Number: 50-0463.
`Total Fee Due: $150.00
`
`Government.
`
`Respectfully su
`
`Signature:
`
`Date: 03/26/200I
`
`Typed or Printed Name: D. Bartley Eppenauer
`
`Reg. No. 35499
`
`“Express Mail" Mailing Label number: EL 767143416
`
`Date of Deposit: 03/26/2001
`
`PROVISIONAL APPLICATION FILING ONLY
`
`Netflix, Inc. et al. Exhibit 1005
`
`Netflix, Inc. et al. Exhibit 1005
`1 of 67
`
`
`
`
`
`
`Title of Invention: A method for sharlng 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 Service is a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`centralized service hosted by one PC that discovers and aggregates the contents of all media libraries
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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, video clip, or digital image.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The digital media is the fastest growing Ecommerce activity in this era. The PC is the number one gateway
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`for media contents today, and is the most logical choice to store it. The consumer media experience in the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`home usually 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
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`(Jscript) 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 connect to 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
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`New Role for the PC in the Entertainment Arena: These services 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
`
`
`
`
`
`
`
`
`
`
`
`
`consumer electronics 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 us to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`support digital/internet media mania. These devices are primarily focused on extending the digital media
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`and video beyond its storage location on the PCs or 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 companies will be
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`encouraged to adopt our approach that can become the standard for such applications. The more
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`standardized the designs become, the more successful it will be in the marketplace, and the less confused
`the consumer.
`
`
`
`
`
`
`
`Motivation for the Invention:
`
`
`
`
`
`
`
`
`
`
`MICROSOFT Corporation
`
`EL 767143416
`
`
`
`
`
`
`
`
`
`
`
`Netflix, Inc. et al. Exhibit 1005
`20f67
`
`1656b
`
`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.
`
`
`
`
`
`
`
`
`Description of the Invention:
`
`
`
`(2)
`
`
`
`‘
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The main function of the service is to map existing media libraries created on a PC to XML-document using
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`a standard XML-schema. The resulting XML document then is advertised to the Universal Plug and Play
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`(UPnP) network. The user, using MediaLibrary UPnP control points 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
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`At boot-up time, the UPnP “Media Catalog” service is created and hosted by a pie—configured
`(1)
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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, each 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
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`aggregates the contents of all media libraries on the network and forms a unified list of pointers
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`(URLs) to digital media on the home net. 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 U1 and a catalog manager. The user views the catalog content on the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`catalog’s UI and select the media to play using the catalogs 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 home net.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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 of the file contents to the device,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The device decode and decompress the file content and initiate playback of the media
`
`
`
`(3)
`
`
`
`
`
`
`
`
`
`
`
`EL 767143416
`
`
`Microsoft Corporation
`
`
`
`
`
`
`Netflix, maizehal. Exhibit 1005
`3of67
`
`$0th
`
`Netflix, Inc. et al. Exhibit 1005
`3 of 67
`
`
`
`
`
`Manually register the DAR
`Advertise Library to the Network using UPnP
`Discover the library by the DAR UPnP-control point
`Conduct a search for music (query the library)
`Results fiom the search (list of URLs)
`Select music (URL)
`Request the content of music file via HTTP GET (URL) or File IO
`(UNC)
`Open & Read file using file server or HTTP server
`Transmit file content to DAR
`
`WME PAK attempts to decode, decompress the file to play
`For protected files (all shared files on home networks will be DRM-
`protected), WME PAK asks DAR client for license.
`DAR client requests Server to issue a portable media license. The
`following info is sent from BLT to PC in this call:
`
`EL 767143416
`Microsoft Corporation
`
`Netflix, Meeetsal. Exhibit 1005
`4of67
`
`50M
`
`Diagrams and Flow Charts:
`
`Music Library
`
`DAR CLIENT
`
`I lillE
`
`1:. g
`
`"E
`
`m.m~._...m.u-. - an... _.__..._.~...«....«.. .—....-......u...— «I
`
`-'-'L'PnP
`
`——-HTTPISMB
`
`DAR: Digital Audlo(Madia) Receiver
`
`License
`
`Generator
`
`Netflix, Inc. et al. Exhibit 1005
`4 of 67
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`0 URL, Serial#, KID, Extended info from V7Header0bject,
`
`
`
`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)
`SetLicenseStore
`0
`
`
`
`
`
`
`
`
`
`
`o
`SetVlKID or SetVZContentHeader, based on license type.
`0
`CreatePMLicense
`
`
`
`
`
`
`
`
`
`Save the updated license 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
`
`
`
`
`
`
`
`
`
`EL 767143416
`
`
`Microsoft Corporation
`
`
`
`Netflix, FlNGEelt al. Exhibit 1005
`
`
`5 of 67
`
`4%(gg
`
`Netflix, Inc. et al. Exhibit 1005
`5 of 67
`
`
`
`Microsofi Confidential.
`
`© 2000 Microsoft Corporation All Rights Reserved
`
`Authors
`Taremabbady
`
`Company
`
`
`
`elf:ii}?!“3l 3
`
`{IS}
`F"!M
`P
`1F
`
`DigitalAudioReceiver:0.1 Device Template
`For Universal Plug and Play Version 1.0
`Status: Preliminary Design (TBD)
`Date: November 3rd, 2000
`
`EL 767143416
`
`a W 3
`
`:4
`N i
`a 5‘5
`
`ii5 :
`
`in:
`
`Microsofi Corporation
`
`Netflix, Inc. et al. Exhibit 1005
`6 of 67
`
`£25
`
`Netflix, Inc. et al. Exhibit 1005
`6 of 67
`
`
`
`mgital-Audineceiver (DAR):0.1 Device TemEIate
`
`2
`
`Contents
`
`Netflix, Inc. et al. Exhibit 1005
`
`1. OVERVIEW AND SCOPE ..........................................................................................................................3
`
`1.1.
`1.1.
`
`CHANGE LOG FOR MEDIASTOREOJ ............................................................................................................. ..4
`EXTERNAL DEPENDENCES ............................................................................................................................ ..4
`
`2.
`
`«onuunuoununuuuuuuunnoon"uununuuunnnuunnunun-nounoccuuunnnnoIouonuounuuuouOs
`
`2.1.
`2.1.
`
`DEVICE TYPE................................................................................................................................................ ..5
`’DEVICE MODEL ............................................................................................................................................ ..5
`
`Description ofDevice Requirements.................................................................................................... ..5
`2.1.1.
`Relationship Between Services............................................................................................................. ..5
`2.1.1.
`2.3.
`THEORY OF OPERATION ................................................................................................................................ ..6
`
`3. XML DEVICE DESCRIPTION
`
`.........................................................................................................6
`
`4o
`
`not-«ounnuunuuuouuunoooooooononuouuuunnn‘nnnnnnnunuunuuooooooooooooooooooooooooo"nun-noon...“oooooooooooooooooooo.............8
`
`List of Tables
`
`Table 1: Device Requirements ..................................................................................................................................... ..5
`
`Microsoft Corporation
`
`EL 767143416
`
`Netflix, Inc. et al. Exhibit 1005
`7 of 67
`
`
`
`
`
`Connector: This service-type enables modeling of streaming capabilities of AN devices, and binding of those
`capabilities between devices. The service is based on the notion of a ‘Connector’ which has a number of properties
`including direction (in/out), content-format (WMA, MP3, etc.) and a number of ‘peer Connectors’ to which it 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.
`
`Digital-Audio-Receiver (DAR):0.1 Device Template
`
`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 control 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 intemet services
`
`Reads streamed encoded digital music content from a media store on the network or lively
`streamed (from intemet 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 over the transport of audio and video streams. The service type
`defines a ‘common’ model for AN transport control suitable for generic user interface. The model also allows for
`‘forwardcd’ control action, enabling the distribution oftransport control state across connections by means of
`eventing. The service type is related to the Connector service type, which describes A/V connection setup
`procedures.
`
`VariableControl: This service-type enables control of a generic variable-setting control such as a volume control.
`
`MediaLibrary: The Media Library service exposes a list of metadata describing media content stored locally on the
`host device and on user-selected list of Internet sites.
`
`Diagram 1: Digitd-Audio-Receiver (DAR):0.1 System Diagram
`
`AVTransport:
`
`VariabIeControl
`
`D Required
`
`D Optional
`
`Microsoft Corporation
`
`EL 767143416
`
`Netflix, Inc. et al. Exhibit 1005
`80f67
`
`7%
`
`
`
`
`
`i353:r512till‘53}l l
`
`I“E
`a;
`if!
`an
`
`E F
`
`:
`525
`
`.
`
`«*1'Il
`it
`u.
`
`
`
`"ii?IE]!“5:”:
`
`Netflix, Inc. et al. Exhibit 1005
`8 of 67
`
`
`
`Digital-Audio-Receiver (DAR):0.1 Device Template
`
`Ver Date
`ml
`
`Author
`Elabbady
`
`Changes
`
`1.2. External dependencies
`
`None.
`
`Zj L
`i”?a:
`
`2.
`“a:
`
`W,
`
`.
`84a
`
`£3
`
`1.1. Change Log for Digital-Audio-Receiver (DAR):0.1
`
`
`
`Microsofi Corporation
`
`EL 767143416
`
`Netflix, Inc. et al. Exhibit 1005
`9 of 67
`
`7%
`
`5 i
`
`i".
`
`‘3:'w nIf“.
`
`"H?fl‘Efil
`
`Netflix, Inc. et al. Exhibit 1005
`9 of 67
`
`
`
`Digital-Audio-Receiver (DAR):0.1 Device Template
`
`2. Device Definitions
`
`2.1 . Device Type
`
`The following device type identifies a device that is compliant with this template:
`
`urnzschemas—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 numbers of all required embedded
`devices and services specified in the table below.
`
`Table 1: Device Requirements
`
`Device Type
`
`Root
`
`yes
`
`Req. or
`Opt. “
`
`Service Type
`
`VariableConn'olzo. l
`
`Req. or
`Opt. 1
`
`Service ID 2
`
`VarigbleComroI
`
`pa,
`in;
`
`*2?
`Fifi“u:
`
`au
`n
`
`H.231‘”1'
`
`"iii?ill'
`
`ill
`«2..
`
`Digital-Audio-Receiver
`(DAR):0.]
`—-__—
`—-_I-
`—-__—
`R = Required, 0 = Optional, X = Non-standard.
`2 Prefixed by urn;upn momzserviceld: .
`
`
`
`2.2.1. Description of Device Requirements
`
`Connector is a proposed Forum (standard) Service used to negotiate and bind an AN stream between the Digital-
`Audio-Receiver (DAR) and media sink. For details on this service, see the related specification Connector:0.81
`Service Template.
`
`AVTransport is 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.l Service Template.
`
`Mediaubrary is a Microsoft (nonstandard) service used to manage and select collections of multimedia content to
`play. For details on this service, see the related specification MediaLibrary:0.1 Service Template.
`
`VariableControl is a proposed Forum (standard) service used to control generic variable-setting control such as 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
`10of67
`
`4.5%
`
`Netflix, Inc. et al. Exhibit 1005
`10 of 67
`
`
`
`
`
`Digital-Audio-Receiver (DAR):0.1 Device Template 6
`
`Theory of Operation
`
`3.
`
`XML Device Description
`
`NOTE: Not up to date.
`
`<?xml version="1.0"?>
`
`<root xm1n8="urn:schemas—uEnE—org:device-1—0">
`<sEchBrsion>
`<major>£</ma'or>
`
`<minor>g<lminor>
`</s
`dVersion>
`<URLBase>base URL for all relative URLs</URLBase>
`<devica>
`
`
`<devicegxgg>urn:schamas-microsoft-com:device:Digital—Audio—Receiver
`(DARL:Q;;</davice§xgg>
`<friendlx§ame>short user-friendly title</friend11§ame>
`<manufacturer>manufaccurer name</manufacturer>
`<manufacturarURL>URL to manufacturer site</manufacturerURL>
`
`<modleascriEtion>long user-friendly title</modelDescri tion>
`<modelName>model name</modelName>
`<modelNumber>model number</nodelNumbar>
`<modelURL>URL to model site</modelURL>
`<serialuumber>manufacturer's serial number</serialNumber>
`
`<22§>uuidzUUID</UDN>
`<gg§>Uhiversal Product Code</g§§>
`<iconList>
`<iccn>
`
`
`
`<mimetxgg>imagelformat</mimeE¥Ee>
`
`<width>horizontal pixels<lwidth>
`<height>vertical plxels</hei ht>
`<dgEth>color deptn</degth>
`
`<E£l>URL Lo icon</url>
`
`</icon>
`XML to declare other icons,
`</iconList>
`<sarviceList>
`<service>
`
`if any, go here
`
`iV':-
`
`'3;ES?!fl‘Eri
`“Hi!-1
`m
`lg"n
`
`§fium-
`
`
`
`ERIE’“"€11
`
`Jr
`
`
`
`"113-"‘fli“if!
`
`<service3xge>
`urn:schemas-microsoft-com:sorvice:Digita1-Audio Receiver
`
`(DAR):O.1</servicegx2e>
`<serviceId>urn:microsoft—com:serviceId:Digital-Audio-Recciver
`
`(DAR)</servicaId>
`<SCPDURL>URL to service description<lSCPDURL>
`<controlURL>URL for control</controlURL>
`<aventSubURL>URL for eventing</evant8ubURL>
`</service>
`<sarvica>
`
`
`<serviceIXE§>urn2schemas-uEnE-org:service:Connector:0.85</servicegxge>
`<serviceId>urn:uEnE-orgzserviceld:Connector<lserviceId>
`<SCPDURL>URL to service description</SCPDURL>
`<controlURL>URL for control<lcontrolURL>
`<eventSubURL>URL for eventing</event$ubURL>
`
`Microsoft Corporation
`
`EI.767143416
`
`Netflix, Inc. et al. Exhibit 1005
`11 of67
`
`[0‘60
`
`
`Netflix, Inc. et al. Exhibit 1005
`11 of 67
`
`
`
`Digital-Audio-Receiver (DAR):0.1 Device Template
`
`</service>
`<service>
`
`<servicegxee>
`urn:schemas-uEnE-org:service:variableCcntrol:0.2</sarvicegxgg>
`<serviceId>urn:uEnE-orgzserviceId:variableControl</aerviceId>
`<SCPDURL>URL to service description</SCPDURL>
`<controlURL>URL for control<lcontrolURL>
`<evantSubURL>URL for eventing</event$ubURL>
`</service>
`
`Declarations for other services added by UPnP vendor (if any) go here
`</servicaList>
`<EresentationURL>URL for presentaLion</ resentatlonURL>
`</device>
`</root>
`
`<servicegxgg>
`urn:schamas-uEnE-org:service:AVTransEort:0.2</servicaT e>
`<servicaId>urn:uEng-org:serviceId:AVTransgort<lserviceId>
`<SCPDURL>URL to service description</SCPDURL>
`<controlURL>URL for control</controlURL>
`<event8ubURL>URL for eventing</event$ubURL>
`</service>
`<servica>
`
`
`
`Microsofi Corporation
`
`EL 767143416
`
`Netflix, Inc. et al. Exhibit 1005
`120f67
`
`I/cgw
`
`Netflix, Inc. et al. Exhibit 1005
`12 of 67
`
`
`
`Digital-Audio-Receiver (DAR):0.1 Device Template
`
`Test
`
`4.
`
`TBD.
`
`
`
`Netflix, Inc. et al. Exhibit 1005
`13 of 67
`
`Microsofi Corporation
`
`EL767143416
`
`I; 1x,
`
`Netflix, Inc. et al. Exhibit 1005
`13 of 67
`
`
`
`Microsoft Confidential
`
`—
`
`Author: Mukund Sankaranarayan
`
`Date: 11/27/00
`
`Ix
`
`E”
`
`Status: Rev. 0.2
`
`Digital Audio Receiver (DAR) Architecture
`
`
`
`fa?322::
`in:F
`3‘"
`£1
`a“:a1;
`5 = E21%
`
`.w.
`3i
`
`Microsofi Corporation
`EL 767143416
`
`Netflix, Inc. et al. Exhibit 1005
`14 of 67
`
`ISfioq
`
`Netflix, Inc. et al. Exhibit 1005
`14 of 67
`
`
`
`
`
`
`
`
`Microsoft Confidential
`
`
`
`
`
`Overview ........................................................................................................................... .. 3
`
`
`
`General Architecture ......................................................................................................... .. 3
`
`
`Description .................................................................................................................... .. 3
`
`
`
`
`
`
`1. Media Library Control Point ................................................................................. .. 3
`
`
`
`
`
`2. DAR Control Point ...................
`........................................................................ .. 4
`
`
`
`
`3.DARDeVice ..............
`....................................................................................... ..5
`
`
`
`Open Issues ................................................................................................................... .. 5
`
`
`
`
`
`
`
`
`
`15 of67
`
`
`Microsoft Corporation
`
`
`EL 767143416
`
`
`
`
`
`Netflix, Inc. et al. Exhibit 1005
`
`Home
`
`Netflix, Inc. et al. Exhibit 1005
`15 of 67
`
`
`
`
`
`
`
`
`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.
`
`
`
`
`
`
`
`
`
`
`
`
`
`. DAR UPnP Device: This is the device on which music is rendered.
`
`
`
`
`It exposes
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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).
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`. UPnP DAR Control Point: controls the DAR device described above.
`
`
`
`
`
`
`
`
`
`
`
`
`
`. Media Library Control Point: controls the media library. The services exposed by
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`the media library 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
`
`
`
`
`MiCIOSOft Corporation
`
`
`EL 767143416
`
`
`
`
`
`Netflix, Inc. et al. Exhibit 1005
`16 of 67
`
`15%99
`
`Netflix, Inc. et al. Exhibit 1005
`16 of 67
`
`
`
`
`Rev. 0.2
`
`
`
`
`Microsoft Confidential
`
`
`
`
`
`
`
`
`
`
`search target as “urn:schemas-upnp-org:device:WMP_MediaLibrary:l”, where is
`
`
`
`
`
`
`
`
`
`WMP_MediaLibrary:l 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 WID, 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 and its 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 XPATH filter expression, is the argument to this method. This action
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`is invoked on each and every MLS identified on the network and results from all
`
`
`
`
`
`
`
`
`
`
`
`
`MLS are 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 a list of all DARs on the network if there is more than
`
`
`
`
`
`
`
`one DAR on the 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 brewers) we will provide a sample implementation using HTML and JScript.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Scripting was chosen (instead of DLL etc) so that it will work on crosswplatfonns without
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`a recompile; 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
`
`
`
`
`
`
`
`
`
`
`
`packaging issue that will be defined by the OEM.
`
`
`
`
`
`
`Microsoft Corporation
`
`
`EL 767143416
`
`
`
`4
`
`
`
`Netflix, Inc. et al. Exhibit 1005
`17 of 67
`
`leaésc
`
`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 and its 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 WE 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 assume that format is WMA for further discussions.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`5. The WMA engine attempts to play the song. If its copy protected then, it calls
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`back the handler registered at WME initialization 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 PC is 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 of67
`
`Home
`
`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 0f67
`
`Netflix, Inc. et al. Exhibit 1005
`19 of 67
`
`
`
`Objective
`
`The purpose of the Digital Media Description Language is 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 and collections.
`
`Media Collections
`
`For media collections we will be using SMIL2. Since SMIL supports elements contained
`inside of its media elements, we will simply embed a MEDIAH‘EM within the containing
`SMIL media element.
`
`“31'
`I?!HE
`.......|11"1gon
`
`:-
`
`"E"‘it}?!
`
`.,....,_Mk:I
`
`Inf.
`
`Example:
`
`<seq>
`
`<video title=”My video” src=”myvideo.wmv”>
`<mediaitem>m<mediaitem>
`
`</video>
`</seq>
`
`The player will implement a subset of the full SMle specification. Specifically the
`Media Object Modules, and Timing and Synchronization Module. This is the same
`functionality that we are using in Her