Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing
Reexamination Certificate
1997-05-30
2002-08-06
Dinh, Dung C. (Department: 2757)
Electrical computers and digital processing systems: multicomput
Computer-to-computer data routing
Least weight routing
Reexamination Certificate
active
06430591
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to methods for transmitting compressed files across a wide area network. More specifically, the present invention relates to methods for downloading electronic images across the Internet.
2. Description of the Related Art
As the popularity of wide area networks such as the Internet has increased, the need for efficient data communication between computers has also grown. Current computer systems include telephone modems that communicate through the public telephone system at 56,000 bits per second and faster. Ten years ago, standard telephone modems communicated at 300 bits per second. The need for faster data communication has been driven by the complexity of data being transmitted across wide area networks.
One wide-area network that transmits very complex data is the Internet. The Internet can be used to transmit images, sounds and even full motion video. Normally, consumers accessing the Internet use browsing software (a “Browser”) such as the Internet Explorer® from Microsoft® Corporation. Browsing software allows consumers to easily view complicated documents that include pictures, sounds, and video.
However, complicated documents can contain one hundred thousand to one million bytes of information, or greater. Thus, it has become increasingly important for consumers to have faster access to the Internet so that they can receive complicated documents in a timely manner.
Others have attempted various mechanisms for increasing the perceived speed of viewing complicated documents across the Internet. For example, most images to be transferred across the Internet are compressed so that a smaller number of bytes are actually transmitted to the consumer's computer. Once the compressed image has been transmitted to the consumer's computer, it is decompressed and rendered to the consumer's display. This is known in the art as data compression.
Using this compression/decompression mechanism decreases the number of bytes transmitted across communication lines, thereby reducing the data transfer time. Although data compression has several advantages, it also poses many problems. Specifically, compressed images can require a long lag time before they are rendered to the screen. This lag time between downloading and rendering an image is called the decompression time.
Some computer systems decompress compressed imagery synchronously. During the decompression time, the entire program is dedicated to this single compression task. The program is unable to perform other tasks until the entire image is decompressed and thus made ready to be rendered on the consumer's computer screen. While this method of download, decompression and rendering is simple to implement in programming code, it can prove frustrating for the consumer since every image must be rendered before the computer moves on to other tasks.
One way around this problem has been to design programs so that decompression and other program functions are processed in a round-robin fashion. The program loops among the various sub-tasks, with each task being designed to process data for a short period of time before returning to the controlling loop. This method of time sharing is called non-preemptive multi-tasking. Since each sub-task must yield willingly to other pending tasks, the user's computer is shared in a non-preemptive manner. The disadvantage of this approach is that the sharing among programs happens with a coarse granularity so that the consumer sees halting processes. Images are rendered as the program attempts to perform pieces of all the pending tasks.
Because of the problems discussed above in synchronously decompressing files downloaded from the Internet, other systems have been developed in an attempt to reduce file decompression and rendering times. One development has included the ability to download and decompress each file asynchronously from an Internet server to the consumer's computer. By asynchronously downloading files, only small packets of each image, sound, or video file are sent from the Internet server to the consumer's computer at a time. Each packet is thereafter compiled and decompressed on the consumer's computer to recreate the original file. By only sending portions of the file at a time, two files can be sent simultaneously from the Internet server to the consumer's computer by interleaving packets from each file. For example, an Internet server might simultaneously send an image file and a voice file to the consumer's computer by interleaving the data packets from each file.
To handle the multiple files that are being sent from the Internet server with modern PC operating systems, the browser program can be designed to spawn a new thread to decompress each asynchronous image. As is known, “threads”, are individual units of execution that run within a process (user program) on a computer. These units of execution have a desirable characteristic in that one thread may preempt another at any time. Operating systems that have the ability to run many threads simultaneously are called “multithreaded” systems. Preemptive multithread programs tend to have better perceived response time to the consumer. This is because any task can be interrupted in favor of a higher priority task. In such a scenario, consumer input is a high priority task and can be given more computing resources.
In an asynchronous download system, new threads are initiated to track, decompress and render the data packets from each incoming file. As each thread receives a piece of the asynchronous file, it builds a copy of the original file from all the packets. While this method has advantages over synchronously downloading images, the overhead created by spawning so many extra threads on the consumer's computer leads to unnecessary overhead, thereby slowing down the system. Thus, this method of asynchronously downloading images and spawning an individual thread to decompress and render each transmitted file has several drawbacks.
It is thus an object of the present invention to provide a system whereby files such as images, sounds and video can be transmitted across a wide area network without the problems associated with the prior art methods of synchronously downloading and spawning individual threads for each downloaded file.
SUMMARY OF THE INVENTION
The present invention is a system and method for downloading and efficiently decompressing files across a wide area network such as the Internet using minimal computer resources on the consumer's computer. To carry out its task, the system of the present invention uses, at minimum, two threads. The first thread, known as the binding thread, manages communication across the Internet between the consumer's computer and a server computer. For example, the binding thread manages TCP/IP packet transmissions between the consumer's computer and an Internet server. It should be noted, however, that several threads could act to connect a consumer's computer with a server computer.
The second thread, known as the worker thread, manages the processes of decoding and decompressing specific files for the consumer's display. No matter how many compressed files are being downloaded simultaneously from the server computer, only a single worker thread remains active. The worker thread manages decompressing files such as images, sounds and videos. As discussed above, most non-text files such as images, sounds and the like are compressed and encoded so that they can be efficiently transported across wide area networks such as the Internet. Thus, it is necessary for the system of the present invention to convert the compressed files back to their original, uncompressed form.
In the preferred embodiment of the present invention, a consumer runs browsing software to select an Internet page to be viewed. As is known, Internet browsers such as the Internet Explorer® from Microsoft® Corporation can be directed to particular sites on the Intern
Dinh Dung C.
Microsoft Corporation
Woodcock & Washburn LLP
LandOfFree
System and method for rendering electronic images does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with System and method for rendering electronic images, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for rendering electronic images will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2939825