`
`Multimedia Framework
`Project Proposal
`January 20, 2003
`
`Page 1 of 8
`
`Implicit Exhibit 2042
`Sonos v. Implicit, IPR2018-0766, -0767
`
`
`
`
`
`I n t r o d u c t i o n
`Enclosed is a two stage proposal for enabling the advanced multimedia capabilities demonstrated to Philips at CES 2003. The
`two stage approach is designed to provide Philips with the short-term ability to demonstrate the capabilities of BeComm’s
`media framework a Philips iPronto with a longer term goal of providing Philips the most advanced UPnP framework available in
`the market.
`
`In Stage 1, BeComm will Strings enable an iPronto and develop a Java application written to the Strings Multimedia RADkit.
`This application will allow the iPronto to serve as a control point for Strings, UPnP and UPnP A/V devices. Philips can use this
`to demonstrate all the capabilities BeComm showcased at CES 2003.
`
`In Stage 2, BeComm will incorporate UPnP and UPnP A/V capabilities directly into Strings. This will reduce the overall footprint
`of the media device and also increase media processing performance by eliminating the need for a separate UPnP stack. In
`addition, by integrating UPnP capabilities directly into Strings, other UPnP devices will be able to leverage the Strings
`Namespace as a Content Directory Service. Similarly, Strings devices will be able to access content available on UPnP Content
`Directory Services seamlessly through the Strings Namespace.
`
`The end result of the two stages will be a powerful media platform that at once serves the goal of standards compliance with
`UPnP while providing Philips with a differentiating capability set through the advanced media management capabilities
`inherent in Strings.
`
`BeComm has been involved in the research and development of multimedia solutions for over six years. In addition to our
`flagship product, Strings, we have explored, developed, and commercially deployed solutions spanning processing of audio
`and video content to the development of distributed content management systems and user-interfaces for accessing content.
`
`Our mission is to deliver solutions to our customers by focusing our wealth of experience and technology capabilities on
`customer requirements. We are pleased to have the opportunity to demonstrate our capabilities and expertise in the context
`of this proposal.
`
`
`
`Sincerely,
`
`
`
`The BeComm Team.
`
`
`
`BeComm corporation - Confidential
`Page 2 - Monday, January 20, 2003
`
`Page 2 of 8
`
`Implicit Exhibit 2042
`Sonos v. Implicit, IPR2018-0766, -0767
`
`
`
`
`
`T a b l e o f C o n t e n t s
`Introduction ................................................................................................................................................................ 2
`Table of Contents ........................................................................................................................................................ 3
`Relevant Technology ................................................................................................................................................... 4
`Strings .............................................................................................................................................................................................. 4
`Strings Namespace ............................................................................................................................................................................ 4
`Strings Media Manager ...................................................................................................................................................................... 6
`Project Overview ......................................................................................................................................................... 7
`Stage 1.............................................................................................................................................................................................. 7
`Stage 2.............................................................................................................................................................................................. 8
`
`BeComm corporation - Confidential
`Page 3 - Monday, January 20, 2003
`
`Page 3 of 8
`
`Implicit Exhibit 2042
`Sonos v. Implicit, IPR2018-0766, -0767
`
`
`
`
`
`R e l e v a n t T e c h n o l o g y
`Strings
`Strings is a platform for distributed
`networking. It provides a framework
`upon which connected applications can
`quickly be developed and deployed.
`The
`framework
`is composed of a
`runtime environment and a series of
`Rapid Application Development Kits
`(RADkits) that provide developers with
`complete
`tools
`for
`building
`applications.
`Strings Namespace
`The Strings Namespace is an attribute-
`based
`file
`system
`for
`storing,
`managing, and providing easy access
`to objects. Unlike a traditional file
`system,
`objects
`in
`the
`Strings
`Namespace are not limited to being
`files on disk. A variety of objects can
`be stored in a namespace, such as files
`on a disk-based file system, records
`from
`an
`SQL
`database,
`device
`implementations
`such
`as
`digital
`cameras and microphones, and “live”
`objects such as COM/OLE objects
`in
`Windows.
`The
`Strings Namespace
`provides a unified means to organize,
`view, and access this wide range of
`different objects.
`
`Rich Attributes
`The Strings Namespace supports rich
`attribution of objects. Through this
`mechanism, users of the namespace
`have access to attributes such as file
`
`size, creation date, and content-type.
`The
`namespace
`also
`provides
`read/write access to object-specific
`attributes such as the artist, genre,
`and album attributes found in the ID3
`tag of an MP3 file. Furthermore, the
`namespace extends the attribute space
`to
`support
`arbitrary
`attributes
`allowing the user to tag a file with any
`type of attribute such as “this is my
`favorite song” or “this
`is workout
`music”.
`
`Repository
`
`Flexible Storage
`A powerful aspect of
`the Strings
`is the
`filter
`interface
`Strings provides to
`the
`Namespace.
`Filters
`allow
`the
`user of a namespace
`to see a customized
`view
`of
`the
`Namespace. A filter
`is made up of an
`attribute-based
`query and attribute-
`based organization requirements. This
`allows the user to express a concept
`such as “Show me all of my pictures
`from our Florida vacation, organized
`by who’s
`in the picture.” With this
`mechanism, the underlying structure
`of files and objects is irrelevant to the
`user. Instead, users interact with only
`the content they are interested in, in a
`
`structure that is relevant to their task
`at hand.
`
`files could be
`For example, music
`stored in any directory structure on
`disk, including a single flat directory,
`but the user would access them in an
`organized fashion in the way that is
`most conducive to their activity at any
`given time.
`
`Namespace
`
`+
`
`Filter
`
`=
`
`BeComm corporation - Confidential
`Page 4 - Monday, January 20, 2003
`
`Page 4 of 8
`
`Implicit Exhibit 2042
`Sonos v. Implicit, IPR2018-0766, -0767
`
`
`
`
`
`from
`results
`that
`The namespace
`applying a filter to the repository
`namespace
`is a
`virtual directory
`structuring of the objects. As such, it
`is conceivable that a given object may
`be
`accessible
`through
`multiple
`directory paths in the namespace. The
`following diagram illustrates how this
`might look, with an example of what
`object attributes might look like:
`
`Synchronization
`By using the filter interface to the
`Strings Namespace, an application can
`create customized subset views that
`can be cached on a portable device.
`The result of a filter operation yields a
`namespace that can be cached by
`copying the objects into a matching
`directory structure in the persistent
`storage of such a device.
`
`For example, a portable device can
`filter the main namespace to obtain a
`set of relevant content, in a relevant
`structure and cache it locally. Then,
`when content
`is added, deleted or
`modified in either the main namespace
`or the cached namespace, the two can
`later be synchronized by comparing
`the
`cached
`namespace
`to
`the
`namespace generated by re-applying
`the filter to the main namespace. In
`this way,
`the portable device can
`download content based on a specific
`query, and remain synchronized with
`the objects in the main repository that
`match that query, and vice versa.
`
`Distributing The Namespace
`The Strings Namespace can also be
`distributed
`across
`a
`network
`of
`multiple devices. This allows a library
`of files spread across multiple PCs to
`appear as a single virtual namespace
`of objects.
`
`that
`For example, an application
`applies
`a
`filter
`to
`the
`Strings
`Namespace for all music files by The
`Beatles would see applicable files as a
`single namespace even if the actual
`
`files reside across multiple PCs or
`portable devices. This is a powerful
`feature
`that
`allows
`a
`content
`management system
`to seamlessly
`provide access to
`files distributed
`across a network. It also allows any
`device
`in
`the network
`to access
`content
`on
`transient
`plug-n-play
`devices such as a portable MP3 player
`that may come and go
`from
`the
`network.
`
`
`
`root
`
`photos
`
`music
`
`kids
`
`vacation
`
`Paul Simon
`
`Art
`Garfunkel
`
`Ben
`
`Scott
`
`Florida
`
`Mexico
`
`People: Ben, Scott
`Location: Florida
`Format:
`image/jpg
`Size:
`307200
`Style:
`Group
`
`People: Ben
`Location: Mexico
`Format:
`image/gif
`Size:
`230400
`Style:
`Portriat
`
`BeComm corporation - Confidential
`Page 5 - Monday, January 20, 2003
`
`Page 5 of 8
`
`Implicit Exhibit 2042
`Sonos v. Implicit, IPR2018-0766, -0767
`
`
`
`
`
`Strings Media Manager
`In addition to providing a framework
`for distributed networking through the
`Strings Namespace, Strings also can be
`configured to provide advanced media
`management services. These services
`enable the efficient and predictable
`decoding of an extensible variety of
`content formats. The Strings Media
`Manager is built upon a path-based
`architecture that greatly streamlines
`the processing of media on a given
`system.
`This
`allows
`for more
`predictable processing of media while
`using fewer CPU and memory resources
`than traditional media managers.
`
`Strings has support for most popular
`audio and video
`formats and new
`formats can be readily supported.
`
`Since the Stings media management
`facilities are built with
`the same
`distributed networking model as the
`namespace, any device using Strings
`can extend media playback to other
`devices in the network. This would, for
`example, allow a PC-based media
`player
`to direct audio or
`video
`playback to happen on the speakers or
`screen of another PC in the network.
`
`Strings Multimedia RADkit™
`The Strings Multimedia RADkit provides
`an SDK
`for developers to directly
`leverage the media capabilities within
`Strings. This RADkit allows for rapid
`development of applications that can
`browse for sources and destinations or
`“sinks” of content, connect sources
`and sinks of content, control sources
`and sinks, and create new source and
`sinks.
`
`In addition,
`the Strings
`Multimedia
`RADkit
`provides
`applications
`with
`the
`following
`advanced capabilities:
`•
`
`format
`between
`
`synchronization of media
`playback across network
`devices
`• automatic
`negotiation
`sources and sinks
`unicast,
`support
`for
`multicast and broadcast
`content
`rules-based processing of
`content
`
`•
`
`•
`
`BeComm corporation - Confidential
`Page 6 - Monday, January 20, 2003
`
`Page 6 of 8
`
`Implicit Exhibit 2042
`Sonos v. Implicit, IPR2018-0766, -0767
`
`
`
`Work items:
`•
`Test Strings runtime on iPronto hardware.
`• Port Strings Multimedia RADkit to iPronto for Java
`application development.
`• Develop reference control point Java application for
`iPronto.
`
`
`Time:
`• 4-6 weeks
`
`
`
`Cost:
`• $24,000 - $36,000
`
`
`
`
`
`P r o j e c t O v e r v i e w
`Stage 1
`Goals:
`• Strings enable an
`iPronto and develop a
`control point application with equivalent
`functionality to CES 2003 demo.
`Enable iPronto to seamlessly interact with
`Strings, UPnP, and UPnP A/V devices through a
`single Java application.
`
`•
`
`Capabilities:
`•
`iPronto application will serve as a control point
`application for Strings devices, UPnP devices and UPnP
`A/V devices:
`• ability to interact with objects in the Strings
`Namespace
`o ability to discover and control Strings devices
`o
`
`o ability to manage streams between Strings
`devices
`o ability to discover and control UPnP devices
`through Strings Namespace
`o ability to discover and manage streaming
`between UPnP A/V devices through Strings
`Namespace
`
`Notes:
`• Strings Namespace will contain Strings objects, UPnP
`objects including MediaRender devices, MediaServer
`devices and UPnP Content Directory Services.
`• Advanced streaming (synchronization, split streams)
`will be available when streaming between Strings-
`enabled devices.
`• UPnP A/V streaming supported between MediaServer
`and MediaRender.
`
`
`
`BeComm corporation - Confidential
`Page 7 - Monday, January 20, 2003
`
`Page 7 of 8
`
`Implicit Exhibit 2042
`Sonos v. Implicit, IPR2018-0766, -0767
`
`
`
`
`
`Stage 2
`Goals:
`•
`
`Enable full interoperability between UPnP, UPnP A/V
`and Strings.
`• Allow streaming between Strings and UPnP A/V devices.
`• Allow UPnP devices to leverage Strings Namespace as a
`Content Director Service (CDS).
`• Make UPnP CDS content available directly in Strings
`Namespace.
`
`Capabilites:
`• UPnP control points will be able to discover and
`control Strings devices.
`• Strings devices will serve as UPnP A/V MediaServer,
`MediaRender and Content Directory Service.
`o Streaming with full UPnP A/V capabilities when
`streaming to non-Strings devices.
`o UPnP devices will see Strings Namespace as a
`UPnP CDS
`• Advanced streaming between Strings-enabled devices
`o Synchronization
`o Split streams
`Content from UPnP Content Directory Services will be
`available transparently in Strings Namespace
`
`•
`
`Notes:
`• Strings-enabled devices will be able to see all content
`(including UPnP CDS content) in the network through
`the Strings Namespace.
`• Available UPnP interfaces will be natively supported in
`Strings.
`• Support for non-standard device interfaces can be
`added as needed.
`• Support for other discovery services such as Apple’s
`Rendezvous can be added as needed.
`
`Work items:
`• Develop Beads for UPnP and UPnP A/V protocols
`• Develop UPnP CDS bridge for Strings namespace
`• Provide UPnP CDS interface to Strings Namespace
`• Provide UPnP interfaces to native Strings objects
`(speaker, screen etc…)
`
`
`
`Time:
`• 12-24 weeks (3-6 months)
`
`
`
`Cost:
`• $72,000 - $144,000 (assuming 2 engineers)
`• Much of the work associated with this stage can be
`parallelized so it is likely we can achieve the
`completion of this stage in less time.
`• Because of our incremental development process,
`Philips will be able to see functional releases from this
`phase very early in the development cycle.
`
`
`We can provide more accurate pricing after stage 1 when the
`total number of devices, interfaces and hardware platforms
`are defined.
`
`
`
`
`
`
`BeComm corporation - Confidential
`Page 8 - Monday, January 20, 2003
`
`Page 8 of 8
`
`Implicit Exhibit 2042
`Sonos v. Implicit, IPR2018-0766, -0767
`
`