This invention is a synchronization abstraction layer (SAL) providing a
uniform interface to frameworks operating on sequenced flow data. It
allows content developers to design and build interactive content that
will operate interchangeably in different multimedia frameworks (e.g.,
Apple Computer, Inc.'s QuickTime.TM., Microsoft Corporation's
NetShow.TM., RealNetworks, Inc.'s RealPlayer.TM., Sun Microsystems,
Inc.'s Java.TM. Media Framework) and on different hardware platforms
(e.g., desktop PC, Macintosh.TM., Television set-top boxes such as those
from General Instrument Corporation and Scientific Atlanta Inc., Inc.,
Internet appliances such as AOL.TM.-TV, and other appliances, e.g., a
kitchen Internet radio). The uniform interface is independent of the
particular framework and the platform on which the SAL is implemented, so
that a single instance of content, whether created in Java.TM.,
JavaScript, VBscript, HTML, XML, or some other language, can run
appropriately on different hardware, e.g., on a Television set-top and on
a desktop PC.In one realization, the synchronization abstraction layer
provides a Java.TM. VIRTUAL MACHINE (JVM) interface for running Java.TM.
plug-ins for streaming media applications such as Real Networks, Inc.'s
RealPlayer.TM., Microsoft Corporation's Windows Media Technologies
(NetShow.TM.), Apple Computer, Inc.'s QuickTime.TM., Sun Microsystems,
Inc.'s Java.TM. Media Framework. The JVM interface allows third-party
developers to design platform- and framework-independent plug-ins for
streaming media applications.This invention allows content providers to
use plug-ins or compatible software objects (such as Java.TM. applets) to
build, for example, interactive streaming media content that is fully
interactive but independent of the particular underlying hardware and
software technologies, such as RealNetworks.TM. G2, Microsoft
Corporation's NetShow.TM., a desktop PC, or a television.