`
`
`
`Olg'S'l'l9501!.‘
`
`03-33:-at
`
`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 /APPLICANT S
`LAST NAME
`
`RESIDENCE
`CITY AND EITHER STATE OR FOREIGN COUNTR
`
`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 Eppenaucr
`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
`
`Specification
`Drawing“)
`
`Number ofPage: 6_6
`Number ofsheets
`
`E Return Receipt Postcard
`Certificate ofMailing included below
`
`:
`
`METHOD OF PAYMENT
`
`_ %:4 The Commissioner is hereby authorized to charge filing fees or credit any overpayment to Deposit Account Number: 50-0463.
`Total Fee Due: $150.00
`
`"is invention was not made by an agency ofthe United States Government or under a contract with an agency of the United States
`Govemment.
`
`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
`
`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, D.C. 20231
`%
`Lisa Brick
`(Typed or printed name or person mailing paper or fee)
`(Signature of person mailing paper or fee)
`
`PROVISIONAL APPLICATION FILING ONLY
`
`Roku, Inc. Exhibit 1005
`
`Roku, Inc. Exhibit 1005
`
`
`
`
`
`
`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 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.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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 market place, and the less confused
`the consumer.
`
`
`
`
`
`
`
`Motivation for the Invention:
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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 Uls 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
`
`
`
`
`
`
`
`MICROSOFT Corporation
`
`EL 767143416
`
`
`
`
`
`Roku, Inc. Exhibit 1005
`I 65 W
`
`Roku, Inc. Exhibit 1005
`
`1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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:
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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 MediaLibra1y 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 pre—conf1gured
`(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, 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
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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 U1 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
`
`
`
`
`
`
`
`
`
`(2)
`
`
`
`‘
`
`(3)
`
`
`
`
`
`
`
`
`
`
`
`EL 767143416
`
`
`Microsoft Corporation
`
`
`
`
`PAGE: 2
`
`
`
`
`Roku, Inc. Exhibit 1005
`MW
`
`Roku, Inc. Exhibit 1005
`
`2
`
`
`
`Diagrams and Flow Charts:
`
`Music Library
`
`DAR CLIENT
`
`I l3lEE
`
`m.--------....«...-. . .......
`
`..._......_u.....«....«..
`
`.—....-......u...—_ ..l
`
`-' — ' UP“?
`— I— 0 HTTPISI‘/[B
`
`- - - SAC
`
`DAR: Digital Audlo(Madia) Receiver
`
`License
`Generator
`
`_
`'
`
`‘
`
`_"'
`
`'
`‘
`
`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 from the search (list of URLs)
`Select music (URL)
`Request the content of music file via HTTP GET (URL) or File 10
`(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
`
`PAGE:3
`
`Roku, Inc. Exhibit 1005
`we
`
`Roku, Inc. Exhibit 1005
`
`3
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`0 URL, Seria1#, 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)
`SetLicenseStore
`0
`
`
`
`
`
`
`
`
`
`
`9
`SetV1KID or SetV2ContentHeader, 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
`
`
`
`PAGE: 4
`
`
`
`
`Roku, Inc. E ibit 1005
`obteér
`
`Roku, Inc. Exhibit 1005
`
`4
`
`
`
`DigitalAudioReceiver:0.1 Device Template
`For Universal Plug and Play Version 1.0
`Status: Preliminary Design (TBD)
`Date: November 3rd, 2000
`
`Microsofi Confidential.
`
`© 2000 Microsoft Corporation All Rights Reserved
`
`Authors
`Tm Elabbadv
`
`Company
`
`
`
`
`
`irstfl21??‘*3
`
`Microsofi Corporation
`
`EL 767143416
`
`Roku, Inc.
`
`EXhibi’E%005
`«J5
`
`£33
`5‘!kzé
`F’
`“F
`-1
`
`T e
`
`.
`
`“ll.”-’Eli.
`
`Roku, Inc. Exhibit 1005
`
`5
`
`
`
`Digital-Audio-Receiver (DAR):0.1 Device Temglate
`
`2
`
`Contents
`
`1. OVERVIEW AND SCOPE ..........................................................................................................................3
`
`1.1.
`1.1.
`
`CHANGE LOG FOR MEDIAS'I'ORE:0.l ............................................................................................................. ..4
`EXTERNAL DEPENDENCIES ............................................................................................................................ ..4
`
`20
`
`nunnoun«nunononnuouuunuunuuununuuonononnnnnunInnntouuooocnounnoononnnouoouuuuuu05
`
`2.1.
`2.1.
`
`DEVICE TYPE................................................................................................................................................ ..5
`’DEv1CE 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
`
`40
`
`noon»us-onunuoouooooocuoquuuuuuuuu-unuuoooounnnouuuuuuu--ouuoocoouooooooooooooooooooooooooo-ouunvnoouuouoooooooooooooooooooounuunuus
`
`List of Tables
`
`Table 1: Device Requirements ..................................................................................................................................... ..5
`
`Microsoft Corporation
`
`EL 767143416
`
`Roku, Inc. EXhibit(i%5
`
`Roku, Inc. Exhibit 1005
`
`6
`
`
`
`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 Uls
`Establish connection with media stores on the network and/or intemet senrices
`
`Reads streamed encoded digital music content from a media store on the network or lively
`streamed (from intemet radio)
`
`Decode popular digital music fonnat
`
`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 ftmctionality 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
`‘forwarded’ 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.
`
`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.
`
`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: Digital-Audio-Receiver (DAR):0.1 System Diagram
`
`AVTransport:
`
`Variablecontrol
`
`1
`T
`
`D Required
`D Optional
`
`Microsoft Corporation
`
`EL 767143416
`
`Roku, Inc. EXhlbl'[#.005
`
`
`
`
`
`3353!!.951‘.{Ill‘E.-'.-13
`
`we
`{.—_-a'
`if!)
`‘T’
`
`5 e
`
`'=‘=
`52!
`
`
`
`"ii?llilll‘E5?7.‘
`
`Roku, Inc. Exhibit 1005
`
`7
`
`
`
`Digital-Audio-Receiver (DAR):0.1 Device Template
`
`1.1. Change Log for Digital-Audio-Receiver (DAR):0.1
`
`Ver Date
`El 11/02/00
`
`Author
`Tmkfilabbadv
`
`Changes
`
`1.2. External dependencies
`
`None.
`
`:5 L
`i""Evar
`
`E.
`‘Hi
`fiiui
`ans
`‘*1’:
`L3
`
`‘g:
`
`5 "
`
`
`
`
`
`HTIii}!‘E:":l'Ii'[.Ii
`
`Microsofi Corporation
`
`EL 767143416
`
`Roku, Inc. Exhibitégg
`
`Roku, Inc. Exhibit 1005
`
`8
`
`
`
`ii’?935-.
`‘=5
`
`*2?
`Fifigs:
`
`
`
`
`
`
`
`"ii17iI'.§£421.!lilll’”ii:
`
`Digital-Audio-Receiver (DAR):0.l Device Template
`
`2. Device Definitions
`
`2.1 . Device Type
`
`The following device type identifies a device that is compliant with this template:
`
`urnzschemas-microsol't—com:device:Digital-Audio-Receiver (DAR):0.l
`
`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
`
`Req.4or
`Opt.
`
`Service Type
`
`Req.1or
`Opt.
`
`Service ID?
`
`yes
`
`VariableCont'ro1:0. l
`
`Digital-Audio-Receiver
`(DAR):0.l
`——_E
`—__1
`—-n-
`R = Required, 0 = Optional, X = Non—standard.
`2 Prefixed by urnzupn moggzserviceldz .
`
`VarigbIeContro1
`
`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.
`
`MediaLibrary 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.
`
`Varlablecontrol 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
`
`Microsofi Corporation
`
`EL 767143416
`
`Roku, Inc.
`
`EXhlbltq1‘0.()‘_5
`
`6%
`
`Roku, Inc. Exhibit 1005
`
`9
`
`
`
`
`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 xm1ns="urn:schemas—uEnE—org:device-1-0">
`<sEgcVersion>
`<major>$</ma'or>
`<minor>0</minor>
`</s dVer;ion>
`<URLBase>base URL for all relative URLs</URLBase>
`<dsvica>
`
`
`<deviceg1gg>urn:schema:-microsoft-com:device:D1gitaJ—Audio—Receiver
`(DARL:Q;;</davice§y2g>
`<friend1g§ame>short user-friendly title</friendl1§ame>
`<manufacturer>manufaccurer name</manufacturer>
`<manufacturerURL>URL to manufacturer sjte</manufacture:URL>
`
`<mod9lDascriEtion>long user-friendly title</modelnescri tion>
`<mode1Name>model name</mode1Name>
`<modelNumber>model number</node1Numbar>
`<modelURL>URL to model site</mode1URL>
`<seria1Number>manufecturer'3 serial number</serialNumber>
`
`<gQ§>uuid:UUID</UDN>
`<gg§>Universal Product Code</§§§>
`<iconList>
`<icon>
`
`<mimetxgg>image/format</mime§2ge>
`<width>horizontal pixels</width>
`<height>vertical plxels</hei ht>
`<dgEth>color deptn</dc2th>
`<E£l>URL Lo iCOn</url>
`</icon>
`XML to declare other icons,
`</iconList>
`<sarviceList>
`<service>
`
`if any, go here
`
`<service3gEe>
`urn:schema:-microsoft-com:sorvice:Digita1-Audio Receiver
`{DAR):0.1</servicegx2e>
`<serviceId>urn:microsoft—com:serviceldzfligital—Audio-Receiver
`(DAR)</servicaId>
`<sCPDURL>URL to service description</SCPDURL>
`<controlURL>URL for control</contro1URL>
`<aventSubURL>URL for eventing</evontSubURL>
`</service>
`<servioa>
`
`<serviceg2E§>urn:schemas-ugng-org:service:Connector:0.85</servicegxEe>
`<serviceId>urnzugng-orgzserviceld:Connector</serviceId>
`<SCPDURL>URL to service description</SCPDURL>
`<contro1URL>URL for control</contro1URL>
`<eventSubURL>URL for eventing</eventSubURL>
`
`Microsoft Corporation
`
`EI.767l43416
`
`10
`
`Roku, Inc. Exhibit 1005
`I0 .560
`
`
`
`
`
`"H37‘(J3‘£1.33E1Ki’“'31£25E33.93.’;iii?!i!‘.I’.i‘Er?
`
`
`
`
`
`
`
`Roku, Inc. Exhibit 1005
`
`10
`
`
`
`Digital-Audio-Receiver (DAR):0.1 Device Template
`
`</service>
`<service>
`
`<servicegx2§>
`urn:schamas-ugng-org:service:AVTransEort:O.2</service!
`<servicaId>urn:ugng-org:serviceId:AVTransgcrt</sarviceId>
`<SCPDURL>URL to service description</SCPDURL>
`<contro1URL>URL for control</contro1URL>
`<eventSubURL>URL for eventing</eventSubURL>
`</service>
`<servica >
`
`e>
`
`<service2x2e>
`urn:schemas-ugng-org:service:Variableccntrol:Q;§</sarvice§xgg>
`<serviceId>urn:uEnE-org:serviceld:variablecontro1</aerviceId>
`<SCPDURL>URL to service description</SCPDURL>
`<controlURL>URL fbr control</controlURL>
`<evantSubURL>URL for eventing</eventSubURL>
`</service>
`
`Declarations for other services added by UPnP vendor (if any) go here
`</servicaList>
`<EresantationURL>URL for presentaLion</ resentat1onURL>
`</device>
`</root>
`
`“WE
`?3%
`fin‘
`'..:
`'3
`‘i
`
`lfi
`ii
`
`4:
`55
`
`u. 4
`
`
`
`"H37‘EIZH-135E‘!
`
`Microsofi Corporation
`
`EI.767l434l6
`
`Roku, Inc. Exhibit 1005
`1/5 W:
`
`Roku, Inc. Exhibit 1005
`
`11
`
`
`
`Digital-Audio-Receiver (DAR):0.1 Device Template
`
`Test
`
`4.
`
`TBD.
`
`Microsofi Corporation
`
`EL 767 14341 6
`
`Roku, Inc. Exhibit 1005
`/z_ -559
`
`Roku, Inc. Exhibit 1005
`
`12
`
`
`
`Microsoft Confidential
`
`Digital Audio Receiver (DAR) Architecture
`
`
`
`Author: MukLmd Sankaranarayan
`
`Date: 11/27/00
`
`1:’?
`
`Status: Rev. 0.2
`
`E?:22‘.
`5rd?53
`‘?”"
`
`3 5
`
`°”!
`‘:3’
`5 : 5Hi.‘
`
`5 =
`9.‘?‘£75
`
`Microsoft Corporation
`EL 767143416
`
`Roku, Inc. Exhizit 1005
`I3 7; Q
`
`Roku, Inc. Exhibit 1005
`
`13
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`
`
`Microsoft Corporation
`
`
`EL 767143416
`
`
`
`
`
`Roku, Inc. Exhibit 1005
`I ‘I 45 We
`
`Roku, Inc. Exhibit 1005
`
`14
`
`
`
`
`
`
`
`
`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).
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`. U1’nP 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 UPIIP specification, that specifies the
`
`
`
`
`Microsoft Corporation
`
`
`EL 767143416
`
`
`
`
`
`Roku, Inc.
`
`Elxgniltgt ég05
`
`Roku, Inc. Exhibit 1005
`
`15
`
`
`
`
`Rev. 0.2
`
`
`
`
`Microsoft Confidential
`
`
`
`
`
`
`
`
`
`
`Search target as “urn:schemas-upnp-org:device:WMP___MediaLibra;ry:1”, 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 IHJID, 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 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
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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
`
`
`
`15
`
`Roku, Inc. Eig1i%'tég05
`
`Roku, Inc. Exhibit 1005
`
`16
`
`
`
`
`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:
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`l. For each of the format type supported, the DAR performs some initialization.
`
`
`
`
`
`
`
`
`
`
`
`
`Specifically, for WMA files the DAR initializes the VWVIE 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”).
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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?
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Aggregated media library services will have an impact in the logic on DAR
`
`
`
`device.
`
`
`
`
`
`
`Microsoft Corporation
`EL 767143416
`
`
`
`
`
`5
`
`
`
`17
`
`Roku, Inc. Exhibit 1005
`/7- «5 cc
`
`Roku, Inc. Exhibit 1005
`
`17
`
`
`
`
`
`
`
`Digital Media Description Language
`
`
`
`
`
`Revision 0.2
`Author: James Alkove
`
`
`
`
`
`Last Updated: 10/31/2000
`
`
`
`
`Microsoft Corporation
`EL 767143416
`
`
`
`
`
`18
`
`A
`
`Roku, Inc.
`
`Q95
`
`Roku, Inc. Exhibit 1005
`
`18
`
`
`
`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 MEDIAITEM within the containing
`SMIL media element.
`
`Example:
`
`<seq>
`
`<video title=”My video” src="myvideo.wmv”>
`<mediaitem>m<mediaitem>
`
`</video>
`</seq>
`
`The player will implement a subset of the full SMIL2 specification. Specifically the
`Media Object Modules, and Timing and Synchronization Module. This is the same
`functionality that we are using in Hercules for server side play list support so we should
`be able to leverage knowledge if not code.
`
`In our client SMIL implementation the data in the mediaitem element will take
`precedence over the data in the actual media element whenever both are present. This
`rule give the client the ability to support both vanilla SMIL play lists as well as play lists
`that contain our enhance media item description.
`
`The SMIL2 spec c