throbber
BeComm Corporation
`
`Technical Presentation
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 1 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Why Strings?
`
`Communications systems need to be:
`
`Dynamic: networks, media types and end points are
`unpredictable
`
`Distributed: content, resources and processing need to
`be distributed to maximum networked elements
`
`Efficient: managing communications must be efficient
`for everything from overloaded back-end systems to
`resource constrained clients
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 2 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Potential Strings Enabled Systems
`
`• Multimedia applications:
`– Video Players, Browsers, Audio Players, Video Conferencing,
`VoIP systems, Video on Demand, Digital/Personal VCR
`• Networking:
`– NAT, Firewalls, Soft Routers, Soft Bridges, Remote Control
`• Server:
`– File Servers, Media Servers
`• Gateways:
`– Wireless Application Gateways, Media Gateways, Telephony
`Gateways, Web Portals, Content Management Systems
`• Peer-to-Peer:
`– File Sharing systems, Collaboration systems, Distributed
`Processing systems
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 3 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Devices
`Modules
`
`Client
`
`App
`
`Server
`
`Application Evolution
`
`Bit Pipe
`
`Control
`
`Bit Pipe
`
`Bit Pipe
`
`confidentialconfidential
`
`
`
`----------------
`
`Page 4 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`A Traditional Video Player
`
`App
`
`1. Application has built in knowledge of devices
`2. Application features are tied together
`3. Application components are not reusable in other
`contexts at runtime
`4. Application cannot be decomposed and distributed
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 5 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Strings Vernacular
`
`• Beads
`– separate the software’s internal activity from
`external relationship
`• Labels
`– externalize description of Beads
`• Mapping
`– Glue together Beads using their Labels
`• Paths
`– global context of a set of mapped Beads
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 6 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`A Strings Video Player
`
`Source and Sink Beads
`Transform Beads
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 7 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`A Look Inside
`
`Video Card
`
`Video Path
`
`Audio Path
`
`MPEG Path
`
`GL
`MPEG2
`Player
`
`MPEG2
`Video
`Decoder
`
`UI
`
`MPEG2
`Parser
`
`Speaker
`
`Audio
`Player
`
`Dolby
`Digital
`(AC3)
`
`File
`system
`
`Disk
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 8 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`A Distributed Video Player
`
`Video Card
`
`Video Card
`
`GL
`
`MPEG
`Player
`
`MPEG
`Video
`Decoder
`
`UI
`MPEG
`Encoder
`
`IP
`
`UDP
`
`RTP
`
`GL
`
`MPEG
`Player
`
`MPEG
`Video
`Decoder
`
`Framer
`
`Camera
`
`IP
`
`UDP
`
`Bit Pipe
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Speaker
`
`UI
`MPEG
`Parser
`
`RTP
`
`Audio
`Player
`
`Dolby
`Digital
`(AC3)
`
`Page 9 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Example: Distributed Media System
`
`Internet
`
`Audio Stream Source
`
`Request
`Source
`
`Audio
`Switch
`
`Audio
`Control
`
`Server Feature
`
`Discovery
`
`Heartbeat
`
`Audio
`Browser
`List
`
`File
`Globalizer
`
`Local
`Disk
`
`File
`Crawler
`
`Playlist
`Parser
`
`HTTP
`Server
`
`Portal
`Sock
`
`Speaker
`
`Heartbeat
`
`Audio
`Out
`
`Discovery
`
`Audio
`Control
`Synchronous
`
`Audio
`Content
`List
`
`Audio
`Receiver
`List
`
`Heartbeat
`
`Discovery
`
`Receiver Feature
`
`Browser Feature
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 10 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Benefits Over Traditional Systems
`
`1. Device knowledge encapsulated in Beads
`2. Features are re-configurable at initialization
`or run time
`3. Network services are dynamically discovered
`4. Beads can be re-organized to create a
`distributed service
`5. Behavior can be modified without requiring
`new code
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 11 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Platform Independence
`
`• Interface Libraries provide access to external
`resources such as drivers, OS services and
`API
`• Operating System Abstraction Layer (OAL)
`provides abstraction from underlying Kernel
`services such as access to physical memory,
`CPU scheduling and locks
`• Strings manages scheduling, memory, timers
`and module loading for consistency across
`underlying platforms
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 12 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Achieving Platform Independence
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 13 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Beads
`
`• Software components that encapsulate
`algorithms.
`• Composed of a series of inputs and outputs
`• Beads provide a service that when described
`to the core system can be used to create
`higher level services (features) on the fly.
`• Focused only on encapsulating internal
`algorithms not external relationships.
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 14 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Labels
`
`• Labels are names used to tag information
`with query-able attributes.
`• Labels are used to define inputs and outputs
`to Beads.
`• Labels can be arbitrarily rich.
`• A registry in Strings is used to name space
`created by the available labels.
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 15 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Mapping
`
`• The Mapping Engineis a system level service for
`determining what Beads are necessary to handle a
`given type of media within a given set of constraints.
`• The Mapis a set of rules to impose upon the graph
`search the Mapping Engine performs.
`• Mapping is adaptive to the changing environment.
`• Mapping is rules based meaning the determination of
`Beads can be influenced by external rules (security,
`network bandwidth etc..)
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 16 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Paths
`
`• Paths capture the global context of stream of
`data through a set of Beads.
`• Paths can be extended across machines
`boundaries.
`• Paths are efficient abstractions for managing
`streams of data.
`• Paths are dynamically constructed and
`destructed.
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 17 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Mapping
`
`• Framework to string modules from source device to
`sink device(s)
`• Necessary pieces
`– Resource Discovery and Route Selection
`– Code Module Installation
`
`Resources (Devices)
`
`SrcDev
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`SnkDev
`
`Page 18 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Input to the process
`
`• Media object
`– Requirements to play
`• User
`– Preferences
`• Node
`– Capabilities and Devices (Resources)
`• Systems Integrator
`– Rules of Composition
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 19 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`End-to-End Mapping
`• Global Path Construction
`source
`intermediaries
`
`sink
`
`Resource Discovery and Route Selection
`• Local Path Construction
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 20 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Global Path Construction
`
`• Resource Discovery
`– Directory Service (Node Capabilities)
`• Route Selection
`– Functionality
`Locate sufficient resources for function chains
`Pattern Match (Rules with Node Capabilities)
`– Connectivity
`Issue: Limiting the search space
`Shortest Path/ K-shortest Paths / Overlay
`
`Assume we are given a single route …….
`
`----------------
`
`confidentialconfidential
`
`Page 21 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Dynamic
`
`• Identify optimal set of Beads to handle a data
`flow
`• Discover Beads on remote nodes to distribute
`processing
`• Adjust Paths as necessary to adapt to
`changing QoS and resources
`• Reroute Paths based on user input or system
`input
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 22 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Distributed
`• Name Space
`• Distributing Content
`• Distributing Resources
`• Distributing Control
`• End to End Paths
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 23 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Efficient
`
`• Vertical
`Scheduling
`• QoS
`• Logical Paths
`• Physical Paths
`• Code Reuse
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 24 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Beads
`
`• Beads are autonomous units of
`functionality which provide a well-
`defined service.
`• The service provided by a Bead is
`described by its Schema.
`• Instantiating a Bead requires
`configuring it to participate in higher-
`level services called Features.
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 25 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Features
`
`• A Feature is a collection of Beads and/or
`other Features
`• Features are implemented in terms of the
`services provided by the elements (Beads &
`sub-Features) of the Feature.
`• The service provided by a Feature can be
`described by the same Schema as the
`Schema used for a Bead
`• Feature can be thought of as a composite
`Bead.
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 26 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Service
`
`• Features can be configured in such a
`way as to exported to the network
`• Other hosts in the network can leverage
`that Feature either at runtime, via
`remote mapping
`• …or at configuration time in the
`construction of higher level Features.
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 27 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Example Schemas
`
`<BEAD_SCHEMA name="mpegDecoder"
`sessionKeyType="device"
`configurationFileType="speakerConfigurationFileFor
`mat" />
`<INPUT_EDGE name="multimedia" format="mp4" />
`<OUTPUT_EDGE name="audio" format="pcm" />
`<OUTPUT_EDGE name="video" format="bmp" />
`</BEAD_SCHEMA>
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 28 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Strings Registry
`
`• Rich & Diverse name space (e.g. files, devices,
`resources, media types, network addresses)
`• Rich Querying language (e.g. where are my jazz
`files? What network service provides mpeg2 decoding
`with support for RTP framing?)
`• Distributed Discovery (e.g. can support discovery
`services such as UPnP or Strings Discovery Protocol)
`• Extensible (e.g. support NTFS, LDAP, Gnutella, UDDI)
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 29 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Microsoft
`
`• DirectX – multimedia framework
`• NDIS – network framework
`• COM – OO framework
`• C#, .NET – distributed services framework
`• UPnP – discovery services
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 30 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

`

`Sun
`
`• Java – OO framework for platform
`independent applications
`• Jini – discovery services and API for
`distributed applications on Java
`• JXTA – A peer to peer framework
`
`
`
`----------------
`
`
`
`confidentialconfidential
`
`Page 31 of 31
`
`Implicit Exhibit 2002
`Sonos v. Implicit, IPR2018-0766, -0767
`
`

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