Electrical computers and digital processing systems: multicomput – Computer-to-computer protocol implementing – Computer-to-computer data framing
Reexamination Certificate
1998-12-01
2002-10-01
Winder, Patrice (Department: 2155)
Electrical computers and digital processing systems: multicomput
Computer-to-computer protocol implementing
Computer-to-computer data framing
C709S231000
Reexamination Certificate
active
06460086
ABSTRACT:
BACKGROUND OF THE INVENTION
A. Field of the Invention
This invention relates to the field of data communications. Portions of the disclosure of this patent document contain material that is subject to copyright protection.
The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office file or records, but otherwise reserves all copyright rights whatsoever. Sun, Sun Microsystems, the Sun logo, Solaris, SPARC, “Write Once, Run Anywhere”, Java, JavaOS, JavaStation and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.
B. Background Art
One use of the Internet is to deliver media information (such as a movie or sound file) to a user. A problem with current media delivery schemes is that it is difficult to deliver any other data while the media data is being sent. Sometimes it is desired to send media data and other data (like control data) at the same time, a process referred to as “concurrent delivery”. Right now there is no suitable scheme for concurrent delivery of media and control data. The problems associated with providing concurrent delivery of media data and control data can be understood by reviewing media delivery systems.
Media Delivery
In multimedia applications media data such as video or audio information is communicated from a server computer to a client computer (e.g. a user's computer at home or office) via a “transport stream”. A transport stream consists of a series of bursts or packets of media data. Before the media data is transmitted, it is first prepared by converting it into a suitable format for transmission. A number of schemes (e.g., Motion Picture Experts Group (MPEG) standards, such as MPEG-1, MPEG-2, MPEG-4, etc.) are available for preparing media data (e.g., audio, video, etc.) for transmission as a media transport stream.
Media data is sometimes referred to as “time aware” or “time sensitive” data. This is because it is important or required that data be available at a certain rate and/or at a certain time. For example, when viewing a video stream, it is important that new video frames be available as needed to prevent gaps or choppiness in displayed video data. If the data of a movie is being sent too slowly, for example, the displayed movie image may a freeze or go blank while the client computer waits for new movie data. Similarly, for audio data, new audio data must be provided continuously or there will be gaps during playback. These gaps may cause silence in the playback of the audio, causing the sound to be clipped or missing sounds and words. (Note that time aware data is not limited to media data. Time aware data is data that carries with it additional information representing timing relevant to the use of the data. For example, time aware data could include time stamps indicating deadlines by which the data should be processed).
In some circumstances, a control application is required, to help play back the media data or to control the playback of the media data. In some cases such a control application is an applet or an application (such as a Java™ programming language applet or application). The applet or application is transmitted as bytecode from a server to a client and the client uses the applet or the application, for example, to control the playback of the media data. Bytecode or other serialized data or objects may need to be delivered to clients concurrently with the media information.
There is presently no effective mechanism available for delivery of bytecode instructions concurrently with media data. Typically, bytecode data is transported after all necessary media data is transmitted. That may be too late for some environments, where applets or control applications need to be processed as soon as they become available. One prior art solution is to send the control application first, prior to transmitting the media or time aware data. However, this leads to unwanted delays in playback of the media data. The user is expecting to see video data, but instead has to wait until the control data is received. This delay is undesirable.
Therefore, there is a need for transport of bytecode instruction concurrently with media data rather than prior to or subsequent to transport of the media information.
SUMMARY OF THE INVENTION
A method and apparatus for embedding of bytecode data in a transport stream is described. Embodiments of the invention serve to make Java™ bytecode (in a class file) concurrently available to a user that is receiving media information through a transport stream. Bytecode information is embedded within spaces allocated in the transport stream, or in packets that carry the media data.
In one embodiment of the invention, media data is grouped in structured packets referred to as Packetized Elementary Stream (PES) packets. Bytecode data is embedded in predefined spaces in each PES packet. In one embodiment of the invention the pre-defined space is allocated within the header segment of a PES packet. In another embodiment bytecode instructions are embedded within a private stream segment of a PES packet.
In other embodiments, bytecode data is transmitted in the private stream segment and retransmission of bytecode data is accomplished in other regions of the PES packet. In another embodiment, bytecode data is transmitted in an adaptation field and retransmitted data is sent as PES header private data.
One transport stream used with the invention is an MPEG-2 transport stream that includes structured packets that transport the PES packets. These transport stream packets, in turn, have within them bytecode data embedded within spaces in the transport stream. In an embodiment of this invention bytecode can be embedded in a transport stream header or a transport stream payload segment.
In embodiments of the invention, the embedding of information under the methods of this invention is accomplished so that an MPEG-2 compliant decoder is able to use the stream irrespective of whether or not the decoder takes advantage of the embedded bytecode information. Further, the transport stream is transmitted with minimum changes in bit-rate in terms of both length and frequency and is within the allowed maximum bandwidth. Embodiments of this invention may also define tune-in points at which a decoder can start decoding and presenting bytecode information.
REFERENCES:
patent: 5650825 (1997-07-01), Naimpally et al.
patent: 5768539 (1998-06-01), Metz et al.
patent: 5790753 (1998-08-01), Krishnamoorthy et al.
patent: 5978855 (1999-11-01), Metz et al.
patent: 6212327 (2001-04-01), Berstis et al.
patent: 0 967 547 (1999-12-01), None
patent: WO 98/43415 (1998-10-01), None
A. Eleftheriadis et al., International Organization for Standardization Coding of Moving Pictures and Audio, ISO/IEC M3517, Jul. 1998, 9 pages.*
S. Dutta et al., Smart Video Streams: 101 uses of the User Data Field in MPEG, Proceedings of ASILOMAR-29, 1996, pp. 1462-1466.*
L. Atzori et al., Private Data Broadcasting Using Digital TV and MPEG-2 Transport Stream, IEEE IPA97, Jul. 1997, pp. 453-457.*
Mornington-West, A., “MHEG-5 and Java—the Basis for a Common European API?”, EBU Technical Review—Spring 1998, pp. 11-15, European Broadcasting Union, Brussels.
Fernando Gerard
Pallikonda Raghuveer
Swaminathan Viswanathan
Sun Microsystems Inc.
The Hecker Law Group
LandOfFree
Method and apparatus for delivery of a bytecode embedded... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for delivery of a bytecode embedded..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for delivery of a bytecode embedded... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2979026