Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing
Reexamination Certificate
1999-06-22
2004-03-02
Follansbee, John (Department: 2126)
Electrical computers and digital processing systems: multicomput
Computer-to-computer data routing
Least weight routing
C717S100000, C717S120000, C717S121000
Reexamination Certificate
active
06701383
ABSTRACT:
APPENDIX AND COPYRIGHT NOTICE
This document includes a partial source code listing of a preferred embodiment of the applicant's invention. The code, listed in Appendix A and in the drawings, forms part of the disclosure of the specification. It is copyrighted. The copyright owner has no objection to facsimile reproduction by anyone of the patent document, including the copyrighted Appendix A and the drawings as they appear in the Patent and Trademark Office file or records, but otherwise reserves all rights.
TECHNICAL FIELD
This invention relates to the field of software plug-ins for multimedia file players and for other applications supporting ordered data flow files. More precisely, this invention defines a new field of software that allows plug-ins and content to be insulated from differences in underlying platforms and frameworks.
BACKGROUND OF THE INVENTION
Multimedia player frameworks have become widespread. Later versions of the most popular Internet browsers—Microsoft's Internet Explorer and Netscape's Communicator—include at least one player in the basic package. These are frameworks such as RealNetworks, Inc.'s RealPlayer™ G2 family (collectively, the “RealPlayer™”); Microsoft Corporation's Windows Media Technologies (NetShow™); Macromedia, Inc.'s Director™; Apple Computer, Inc.'s QuickTime™; and Sun Microsystems, Inc.'s Java™ Media Framework (JMF). Most of these frameworks are extensible by means of plug-ins discussed below; some, notably JMF, are extensible by means of applications built on top of the frameworks. By being extensible we mean that a particular framework supports a set of interfaces exposed for interaction with additional software modules or components.
A framework is a set of interfaces, e.g., API's and procedures, and a set of capabilities exposed for the purposes of extensibility. It need not operate on multimedia-type files, i.e., files ordered sequentially and supporting the concept of a time-line; frameworks generally need not operate on time- or otherwise-ordered data files. In the rest of this document, however, we will discuss predominantly frameworks operating on ordered data flow files. We will refer to such frameworks interchangeably as “frameworks,” “extensible frameworks,” “extensible data flow-based frameworks,” or by similar expressions; we do not imply any difference in the particular designation used, unless otherwise indicated.
Frameworks are extended by means of extensions, for example plug-ins. Plug-ins, also referred to as extension modules, are modules or components dynamically loaded at run-time. Extensible architecture and plug-ins have been used in commercial products, the RealPlayer™ and Windows Media Technologies being two instances. They also have been described in various publications. See U.S. Pat. Nos. 5,838,906 and 5,870,559. (The specifications of these patents are incorporated by reference as if fully set forth herein.) A number of companies market plug-ins specifically for extending multimedia players.
OBJECTS OF THE INVENTION
One difficulty faced by plug-in developers is that a plug-in must be ported for each platform, i.e., for each hardware-operating system combination. Another difficulty lies in adapting a plug-in to various frameworks. Third difficulty, closely related to the first two, is that platform porting and framework adaptation require developers to have working knowledge of the various platforms and frameworks. One object of this invention is to provide a single interface that allows plug-in developers to build a single, platform independent version of a plug-in. Another object of this invention is to provide a uniform interface to the various frameworks so that a single plug-in can extend functionality of multiple frameworks. The third object of this invention is to facilitate development of content that can operate similarly, i.e., consistently, with different multimedia players (e.g., RealNetworks, Inc.'s RealPlayer™ and Microsoft Corporation's Windows Media Technologies (NetShow™)), and platforms (TV, PC, set-top boxes). The fourth object of this invention invention is to accelerate the development of content and multimedia plug-ins by promoting reuse of existing software objects (e.g., objects written in Java™ and JavaScript).
SUMMARY OF THE INVENTION
This invention is an abstraction layer providing a uniform interface between a framework and one or more plug-ins. In the preferred embodiment, the invention is a Synchronization Abstraction Layer (SAL) abstracting time-based frameworks into a common synchronization interface. The SAL synchronizes itself and other plug-ins to a time-line of the underlying framework—and it does that independently of the underlying framework. In other words, the plug-ins interact with the underlying framework through the SAL, rather than directly. Typically, the SAL is implemented on top of the synchronization of the Application Programming Interfaces (API's) provided by the underlying frameworks. It has at least one point of coupling with the underlying framework: a method for providing the SAL with the current time.
The SAL includes a uniform cross-platform interface for the plug-ins. Preferably, the cross-platform interface has a functional core independent of the specific framework underlying the SAL.
Some of the features of this invention are listed below:
1. Secure e-commerce, full interactive experiences including text and voice chat, games, graphics, animations, and advertising can be integrated and synchronized with streaming multimedia such as video and audio;
2. It can be used to build a content framework that insulates content and plug-in developers from details and differences in hardware platforms, so that the same content or plug-in can run on desktop platforms (PC, Macintosh, Solaris, Linux), Televisions (GI, SA), or other kinds of devices (AOL-TV, screen phones);
3. It can be used to build a content framework that insulates content and plug-in developers from specifics of, or differences in, software platforms, so that the same content or plug-in can run on Microsoft NetShow™, RealNetworks RealPlayer™, Apple Quicktime™, Sun Java™ Media Framework or any other media system;
4. It can run without a network or on different types of networks, such as wireless, Intranets, or the Internet;
5. It can be used to synchronize arbitrary data types, including text, chat, graphics, video, audio, and active content like Java™, JavaScript, or Flash;
6. The framework-independent layer can be implemented using different languages, including Java™, HTML, XML, JavaScript, VBScript, or other languages;
7. When used for video synchronization, it can be used to synchronize arbitrary datatypes with different spatial objects in video, and with different temporal objects in video.
REFERENCES:
patent: 5452435 (1995-09-01), Malouf et al.
patent: 5680639 (1997-10-01), Milne et al.
patent: 5893106 (1999-04-01), Brobst et al.
patent: 5903728 (1999-05-01), Semenzato
patent: 6085120 (2000-07-01), Schwerdtfeger et al.
patent: 6167404 (2000-12-01), Morcos et al.
patent: 2003/0079052 (2003-04-01), Kushnirksky
Apple, QuickTime Technology Brief: QuickTime 3.0, Apr. 1997, Apple Computer.*
Sellers, QuickTime 3.0—an Overview, Maccentral.*
“An Open Medical Imaging Workstation Architecture for Platform-Independent 3-D Medical Image Processing and Visualization”, Domagoj Cosic, Dec. 1997, IEEE Transactions on Information Technology in Biomedicine, vol. 1, No. 4, pp. 279-283.*
“ConverStation/2: An Extensible and Customizable Realtime Multimedia Conferencing System”, Nakajima et al., May 1994, Multimedia Communications, pp. 9/1/1-9/1/6.*
“A Multimedia Teleteaching System Using an Electronic Whiteboard for Two-Way Communication of Motion Videos and Chalkboards”, Nakajima et al., Jul. 1993, IEEE International Workshop on Robot and Human Communication, pp. 436-441.*
Day, B., Progress on the JMF and Java Media APIs, JavaWorld.com, Jun. 1999.
Jaworski, Jamie, Java Developer's Guide (1996).
QUE®, Special Edition Using HTML 4 (1997).
W3C
Mills Michael
O'Brien Chris
Wallace Bruce A.
Wason Andrew
Cao Diem
Follansbee John
Interactive Video Technologies, Inc.
Jones Day
LandOfFree
Cross-platform framework-independent synchronization... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Cross-platform framework-independent synchronization..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Cross-platform framework-independent synchronization... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3252462