throbber
Juno: Phase 1
`Investigation
`
`4160 – 148th Avenue, N.E.
`Redmond, WA 98052 USA
`
`http://www.becomm.com
`
`4160 – 148th Avenue, N.E.
`Redmond, WA 98052 USA
`
`http://www.becomm.com
`
`4160 – 148th Avenue, N.E.
`Redmond, WA 98052 USA
`
`http://www.becomm.com
`
`4160 – 148th Avenue, N.E.
`Redmond, WA 98052 USA
`
`Page 1 of 59
`
`Implicit Exhibit 2011
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`
`
`Ó 2000/2001 BeComm Corporation™ All Rights Reserved
`
`This document is protected by copyright. No part of this document may be
`reproduced in any form, by any means, without prior written authorization
`from BeComm Corporation™.
`
`The information contained in this document may be protected by one or
`more U.S. patents, foreign patents, or pending applications.
`
`Trademark Information
`
`The following trademarks or registered trademarks of BeComm
`Corporation™ in the United States and/or other countries may or may not
`appear in this document:
`
`BeComm™, BeComm Corporation™, Strings™, Beads™, HotBeads
`Service™
`
`All other product names mentioned herein are the trademarks or registered
`marks of their respective owners.
`
`Documentation Warranty Information
`
`This document is provided As Is, without warranty of any kind, either
`expressed or implied, including but not limited to the implied warranties of
`merchantability, fitness for a particular purpose, or non-infringement.
`
`This document could include technical inaccuracies or typographical errors.
`Changes are periodically added to the information herein. These changes
`will be incorporated in new editions of the document. BeComm
`Corporation™ may make improvements and/or changes in the product(s) or
`program(s) described in this document at any time.
`
`
`Confidentiality Information
`
`The contents of this document are BeComm Corporation’s confidential
`material and are intended only for those entities—including their agents,
`employees, and legal representatives—who have been expressly permitted
`by BeComm Corporation™ to view the contents. Any attempt to review,
`read, or disseminate, by any means, the contents of this document without
`prior written permission from BeComm Corporation™ are expressly
`prohibited. All contents herein should be handled in accordance with any
`and all Non-Disclosure Agreements or any other such agreements that limit
`the use of this document or any other documentation belonging to BeComm
`Corporation™.
`
`Juno Phase 1 Document – January 26, 2001
`
`
`
`
`
`
`
`
`Page 2
`
`Page 2 of 59
`
`Implicit Exhibit 2011
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`
`
`Table Of Contents
`
`
`Table Of Contents ................................................................................................ 3
`Preface .................................................................................................................. 8
`Document Contributors ..................................................................................... 8
`Audience ........................................................................................................... 8
`Purpose and Scope .......................................................................................... 8
`High-Level Design ........................................................................................ 8
`Tradeoff Analysis .......................................................................................... 9
`Project Status Update .................................................................................. 9
`Documentation Conventions ............................................................................. 9
`Terminology ...................................................................................................... 9
`Requirements Update ........................................................................................ 11
`Scoped Out Requirements ............................................................................. 11
`Playlist Functionality ................................................................................... 11
`WAV & AAC Content .................................................................................. 11
`Buffering To Disk ........................................................................................ 11
`Adapter Control Interface ........................................................................... 11
`DHCP ......................................................................................................... 11
`Dynamic Component Download ................................................................. 11
`Requirements Clarifications ............................................................................ 11
`Scalability ................................................................................................... 11
`QOS ........................................................................................................... 12
`File System Security ................................................................................... 12
`Back-End Service Providers ....................................................................... 12
`Version Information Embedded In Binaries ................................................ 12
`Media Server Installation Location ............................................................. 12
`Sources of Content for Testing ................................................................... 12
`Adapters Are Not Audio Sources ............................................................... 12
`Media Server is not an Internet Proxy Server ............................................ 12
`Installation Requirements ........................................................................... 12
`Internationalization ..................................................................................... 13
`Media Server Hardware ............................................................................. 13
`Adapter Hardware ...................................................................................... 13
`Passing Keys To Decryption Interface Libraries ........................................ 13
`High-Level Design .............................................................................................. 14
`Overview ......................................................................................................... 14
`How Juno Processes Requests For Content ............................................. 14
`Components ................................................................................................... 15
`Real Audio SDK ......................................................................................... 16
`
`Juno Phase 1 Document – January 26, 2001
`
`
`
`
`
`
`
`
`Page 3
`
`Page 3 of 59
`
`Implicit Exhibit 2011
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`
`
`Windows Media Format SDK ..................................................................... 16
`Real Audio Support/Windows Media Support ............................................ 16
`Real Audio Protocol/Windows Media Protocol ........................................... 16
`Win32 File System Support/Linux File System Support ............................. 17
`HTTP Server .............................................................................................. 17
`HTTP Client ................................................................................................ 17
`Win32 Socket Support/Posix Socket Support ............................................ 17
`Socket Protocol .......................................................................................... 17
`MP3 Blocker ............................................................................................... 17
`Media Control ............................................................................................. 17
`Codec Library ............................................................................................. 17
`Codec Protocol ........................................................................................... 17
`Codec Adapter ........................................................................................... 18
`Posix (OSS) Speaker Support/Win32 (Wav or DirectSound) Speaker
`Support ....................................................................................................... 18
`Speaker Protocol ........................................................................................ 18
`Windows Media Decoder/MP3 Decoder .................................................... 18
`Lossless PCM Compressor/Decompressor ............................................... 18
`Strings Audio Transport Protocol (SATP) ................................................... 18
`Strings Core Media Engine ........................................................................ 18
`Decoding Strategies ....................................................................................... 19
`Standalone WM Decoder ........................................................................... 19
`Standalone MP3 Decoder .......................................................................... 20
`WMF SDK Decoder .................................................................................... 20
`RA SDK Decoder ....................................................................................... 20
`RA SDK Transcoder ................................................................................... 20
`Codecs ............................................................................................................ 20
`Stream Control Architecture ........................................................................... 21
`Audio Transport Protocol(s) ............................................................................ 22
`Dual TCP .................................................................................................... 23
`UDP Audio + TCP Stream Control ............................................................. 23
`SATP Audio + TCP Stream Control ........................................................... 23
`Dual SATP .................................................................................................. 24
`Network Stack ................................................................................................. 24
`Strings Stack Pros ...................................................................................... 24
`Strings Stack Cons ..................................................................................... 24
`Control Interface ................................................................................................ 26
`Changes & Clarifications Since CES Demo ................................................... 26
`Playlist Functions ....................................................................................... 26
`Event Publishing ......................................................................................... 26
`UserId & Password ..................................................................................... 26
`AddTarget Restrictions ............................................................................... 26
`Command Mechanism .................................................................................... 27
` Event Mechanism .................................................................................... 27
`State Model ..................................................................................................... 28
`
`Juno Phase 1 Document – January 26, 2001
`
`
`
`
`
`
`
`
`Page 4
`
`Page 4 of 59
`
`Implicit Exhibit 2011
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`
`
`Command Reference ...................................................................................... 30
`Open ........................................................................................................... 31
`Close .......................................................................................................... 31
`Play ............................................................................................................ 31
`Stop ............................................................................................................ 31
`Pause ......................................................................................................... 32
`Resume ...................................................................................................... 32
`Seek ........................................................................................................... 32
`Refresh ....................................................................................................... 32
`AddTarget ................................................................................................... 32
`RemoveTarget ............................................................................................ 33
`QueueNext ................................................................................................. 33
`CancelNext ................................................................................................. 33
`Reply & Event Format ..................................................................................... 33
`JunoReplyVersion1 .................................................................................... 34
`Error ........................................................................................................... 34
`Session ....................................................................................................... 35
`Url ............................................................................................................... 35
`SessionId .................................................................................................... 35
`Status ......................................................................................................... 35
`Event .......................................................................................................... 35
`Progress ..................................................................................................... 36
`Length ........................................................................................................ 36
`Position ....................................................................................................... 36
`Song ........................................................................................................... 36
`Artist ........................................................................................................... 36
`Album ......................................................................................................... 36
`Genre ......................................................................................................... 36
`Metadata .................................................................................................... 36
`Open Issues ........................................................................................................ 37
` Multicasting & Adapter Synchronization .................................................. 37
`Multicast Implementation ............................................................................ 37
`Concurrent Local & Remote Playback ....................................................... 37
`SATP Implications ...................................................................................... 38
` Windows 98 & Windows Me Scheduler .................................................. 38
`Internet MP3 Files & ID3 ................................................................................. 38
`Windows Media .............................................................................................. 39
`Link Layer QOS .............................................................................................. 39
`Encryption ....................................................................................................... 39
`Test Hardware ................................................................................................ 39
`Codec Errors ................................................................................................... 39
`Application Compatibility ................................................................................. 40
`Reference Platform ......................................................................................... 40
`Authentication For Internet MP3 Files ............................................................ 40
`
`Juno Phase 1 Document – January 26, 2001
`
`
`
`
`
`
`
`
`Page 5
`
`Page 5 of 59
`
`Implicit Exhibit 2011
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`
`
`Project Schedule Update ................................................................................... 41
`Appendix A: Audio Quality Techniques .......................................................... 42
`Clock Inconsistencies ................................................................................. 42
`Delayed Start in Mixer ................................................................................ 42
`Out-Of-Band Control Path .......................................................................... 42
`Audio Over TCP ......................................................................................... 42
`Path Creation Overhead ............................................................................. 43
`Compression Techniques ........................................................................... 43
`Clean Audio Startup ................................................................................... 43
`Appendix B: Protocol Configuration Guide .................................................... 44
`codec .............................................................................................................. 44
`Edge 0 - Encode Edge ............................................................................... 45
`Edge 1 - Decode Edge ............................................................................... 45
`Speaker .......................................................................................................... 45
`Edge 0 - Quench Data Edge ...................................................................... 46
`Edge 1 - Persist Data Edge ........................................................................ 46
`Edge 2 - Session Config Edge ................................................................... 46
`Edge 3 - Protocol Config Edge ................................................................... 47
`RTP2 ............................................................................................................... 47
`Edge 0 - Encode Data Edge (deprecated) ................................................. 47
`Edge 1 - Decode Data Edge (deprecated) ................................................. 47
`Edge 2 - Frame Data Edge ........................................................................ 48
`Edge 3 - Unframe Data Edge ..................................................................... 48
`Edge 4 – Border Data Edge ....................................................................... 48
`Edge 5 – Regulate Data Edge .................................................................... 48
`Mixer ............................................................................................................... 48
`Edge 0 – Audio and Control Edge .............................................................. 49
`Configuration File ....................................................................................... 49
`TCP (or UDP) ................................................................................................. 50
`Edge 0 - Encode Data Edge ....................................................................... 51
`Edge 1 - Decode Data Edge ...................................................................... 51
`IP .................................................................................................................... 52
`Edge 0 - Encode Data Edge ....................................................................... 53
`Edge 1 - Decode Data Edge ...................................................................... 53
`DNR ................................................................................................................ 54
`Edge 0 – Domain Name Resolution Edge .................................................. 54
`Unifilter ............................................................................................................ 54
`Edge 0 – Unidirectional to Bidirectional Filter Edge ................................... 55
`HTTP Server ................................................................................................... 55
`Edge 0 – Server Request Edge .................................................................. 55
`Mapping File Extensions to Content Types ................................................ 55
`Configuration Edges ................................................................................... 56
`HTTP Client .................................................................................................... 56
`Edge 0 – Absolute Request Edge .............................................................. 56
`Edge 1 – Relative Request Edge ............................................................... 57
`Edge 2 – Response Edge .......................................................................... 57
`
`Juno Phase 1 Document – January 26, 2001
`
`
`
`
`
`
`
`
`Page 6
`
`Page 6 of 59
`
`Implicit Exhibit 2011
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`
`
`HTTP Push ..................................................................................................... 58
`Edge 0 – Reliable Edge .............................................................................. 58
`Edge 1 – Unreliable Edge .......................................................................... 59
`Edge 2 – Specify Target Edge ................................................................... 59
`
`Juno Phase 1 Document – January 26, 2001
`
`
`
`
`
`
`
`
`Page 7
`
`Page 7 of 59
`
`Implicit Exhibit 2011
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`
`
`Preface
`
`Document Contributors
`Adam Greene
`Neil Mintz
`Guy Carpenter
`Scott Bradley
`Edward Balassanian
`
`Producer; Engineering Mentor
`Producer, Engineering Mentor
`Engineering Master
`Development Manager
`President; CEO
`
`Audience
`The intended audience of this document is members of the BeComm
`Development Team and members of Jupiter’s AudioPort team. Familiarity
`with the phase 0 document is a prerequisite for understanding this
`document.
`
`Purpose and Scope
`This document is the second major milestone in project Juno that BeComm
`will be building as part of Jupiter’s AudioPort initiative. This document
`should serve as an educational tool for future team members both as an
`introduction and as historical reference when read in conjunction with prior
`and subsequent Phase documents.
`
`High-Level Design
`The primary purpose of this phase is to investigate further the issues that
`were identified in the first phase of the project and to begin to define the
`fundamental architecture of the system. By the end of this phase, we should
`have identified all of the major components and have a black-box (interface)
`design for them in place.
`
`Juno Phase 1 Document – January 26, 2001
`
`
`
`
`
`
`
`
`Page 8
`
`Page 8 of 59
`
`Implicit Exhibit 2011
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`
`
`Tradeoff Analysis
`We will document the major architectural alternatives that were considered in
`this phase and provide the rationale for the decisions that will be carried
`forward into phase 2.
`
`Project Status Update
`We will document the status of issues including issues that have been
`resolved, issues that remain open, and issues that were identified within
`phase 1.
`
`Documentation Conventions
`The following conventions are used in this document:
`
`
`We use this icon to highlight open issues or questions that
`need to be resolved in phase 2.
`We use this icon to highlight areas of extreme importance
`or risk to the project.
`
`
`
`
`
`
`
`Terminology
`When possible, we will use terms defined in Jupiter’s AudioPort Product
`Requirements Document. Terms such as Media Server should be
`interpreted to mean the Juno portion of the AudioPort Media Server unless
`the context dictates otherwise.
`We define additional terms as follows:
`Local & remote should be interpreted as relative to the Media Server.
`Local playback refers to the playback of content on the Media Server.
`Remote Playback refers to the streaming of content over the home network
`to a remote adapter.
`Local adapter refers to the playback portion of the Media Server used for
`local playback.
`Remote adapter refers to any Adapter other than the local adapter.
`Adapter locality specifies whether an Adapter is local or remote relative to
`the Media Server.
`Source format refers to the native format of content before Juno has
`performed any decoding or transcoding.
`
`Juno Phase 1 Document – January 26, 2001
`
`
`
`
`
`
`
`
`Page 9
`
`Page 9 of 59
`
`Implicit Exhibit 2011
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`
`
`Wire format refers to the format in which content is transmitted from the
`Media Server to an Adapter. This does not mean to imply the nature of the
`physical link between the Media Server and Adapter, which could be wired
`(e.g. Ethernet) or wireless (e.g. HomeRF or 802.11b).
`Jukebox applications traditionally provide functionality such as CD ripping.
`We will avoid use of the term jukebox to refer to the functionality provided by
`AudioPort since AudioPort does not implement such functionality. Jupiter
`expects AudioPort to be used in conjunction with jukebox products such as
`Real Network’s RealJukebox.
`
`Juno Phase 1 Document – January 26, 2001
`
`
`
`
`
`
`
`
`Page 10
`
`Page 10 of 59
`
`Implicit Exhibit 2011
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`
`
`Requirements Update
`
`In this section, we document the requirements and issues that have been
`resolved or clarified since publication of the Juno Phase 0 document.
`
`Scoped Out Requirements
`The following previously discussed requirements have been scoped out of
`Juno per Jupiter:
`
`Playlist Functionality
`Juno will not implement playlist functionality.
`
`WAV & AAC Content
`Juno will not support source content in WAV or ACC formats.
`
`Buffering To Disk
`Juno will not provide the ability to record the first twenty seconds of Internet
`content on the Media Server.
`
`Adapter Control Interface
`Juno will not provide a control interface on Adapters. All control commands
`must be sent to the Media Server.
`
`DHCP
`Juno will not implement a DHCP client for receiving the IP address to use.
`
`Dynamic Component Download
`Juno will not provide support for dynamically downloading codecs or other
`components.
`
`Requirements Clarifications
`Following are clarifications to previously discussed requirements:
`
`Scalability
`The scalability requirement that the Media Server support 5 concurrent
`streams will be interpreted as a minimum.
`
`Juno Phase 1 Document – January 26, 2001
`
`
`
`
`
`
`
`
`Page 11
`
`Page 11 of 59
`
`Implicit Exhibit 2011
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`
`
`QOS
`The dropout requirement metrics should be interpreted to apply when the
`Media Server is running 5 concurrent streams.
`File System Security
`Juno will not attempt to address OS-level file system security. If we cannot
`open a file for this reason, an error will be returned.
`
`Back-End Service Providers
`Juno will assume that there are no special requirements for handling content
`from back-end service providers.
`
`Version Information Embedded In Binaries
`Windows binaries will include a version resource specifying the file and
`product version. We will investigate providing similar capabilities on Linux.
`
`Media Server Installation Location
`The Media Server (and therefore the Windows version of Strings) will be
`capable of running from a directory other than root.
`
`Sources of Content for Testing
`We will include content from different ripper applications in our test plan.
`This is important since we have already discovered that BeComm’s MP3
`decoder (which will not be used in Juno) is incompatible with MP3 files
`ripped by RealJukebox. The Juno test plan must account for this.
`
`Adapters Are Not Audio Sources
`At least for this initial version of AudioPort, Adapters are not audio sources.
`This means that Juno cannot, for example, capture content from the analog
`audio components attached to an Adapter. This functionality may be added
`to a subsequent version of AudioPort, so Juno must be evolvable in this
`direction.
`
`Media Server is not an Internet Proxy Server
`The Juno Media Server is not a general Internet proxy. It does not make
`Internet content directly available to Adapters.
`
`Installation Requirements
`Strings installation is entirely file-based. Therefore, Juno need only provide
`a file list so that Strings installation can be integrated within AudioPort
`installation. Juno will assume that AudioPort installation will include
`installation of third party components required by Juno including Windows
`Media and Real Audio components.
`
`Juno Phase 1 Document – January 26, 2001
`
`
`
`
`
`
`
`
`Page 12
`
`Page 12 of 59
`
`Implicit Exhibit 2011
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`
`
`Internationalization
`The initial version of AudioPort is US English only. Future versions will be
`internationalized. Juno has no end-user interface, so this should not be an
`issue.
`
`Media Server Hardware
`The minimum hardware required for the Media Server is a 233 MHz Pentium
`II. This was misstated in the Phase 0 document. Pentium Pro systems will
`not be supported.
`
`Adapter Hardware
`The Adapter CPU will be a StrongArm 1110 configured to run in little endian
`mode.
`
`Passing Keys To Decryption Interface Libraries
`AudioPort will be responsible for passing decryption keys to the Windows
`Media Decoder on the Adapter. This component will be implemented as a
`Strings Interface Library. As such, it may make use of platform specific
`mechanisms as needed to implement this requirement. AudioPort intends to
`write the key to a file that will subsequently be read by the interface library.
`Another possible solution under consideration involves the interface library
`listening to receive the information on a socket.
`
`Juno Phase 1 Document – January 26, 2001
`
`
`
`
`
`
`
`
`Page 13
`
`Page 13 of 59
`
`Implicit Exhibit 2011
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`
`
`High-Level Design
`
`In this section we document the high-level design decisions that have been
`made for Juno that will serve as the basis of the low-level design work to
`follow in phase 2.
`
`Overview
`The following diagram illustrates the high-level architecture of Juno:
`
`
`
`Figure 1: Juno Architecture Overview
`
`At the heart of Juno is the Media Control component that receives
`commands from AudioPort and delegates responsibilities to the rest of the
`system. Below we will discuss the various parts of Juno in more detail.
`
`How Juno Processes Requests For Content
`The Media Control receives HTTP commands from AudioPort. A Media
`Control (and Media Server) session starts with an Open command specifying
`the URL of some audio content. Media Control submits the URL to the
`
`Juno Phase 1 Document – January 26, 2001
`
`
`
`
`
`
`
`
`Page 14
`
`Page 14 of 59
`
`Implicit Exhibit 2011
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`
`
`Strings core media engine for processing. Using the media engine’s
`intelligent media routing capabilities (which incorporate Juno-specific
`configuration information specifying how to process each type of source
`content), Strings dynamically assembles the correct sequence of
`components on both the Media Server and Adapter to:
`• Load the desired content (from the local disk or the Internet).
`• Do any server-side decoding or transcoding that is necessary.
`• Deliver the content to one or more Adapters (including the local
`Adapter) either directly (for the local Adapter) or over the home
`network LAN (for remote Adapters).
`• Perform the necessary decoding of the content before finally
`delivering it to the Adapter’s Speaker (for remote Adapters only).
`
`Components
`The following table lists the logical components that make up Juno. The
`overview diagram highlights most of these components. This

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket