Electrical computers and digital processing systems: multicomput – Master/slave computer controlling
Reexamination Certificate
2000-10-16
2003-01-07
Dinh, Dung C. (Department: 2153)
Electrical computers and digital processing systems: multicomput
Master/slave computer controlling
C709S233000, C709S247000
Reexamination Certificate
active
06505239
ABSTRACT:
FIELD OF INVENTION
This invention relates to the remote control of computers and more particularly to an emulation system in which screen refresh times associated with one computer controlling another computer are minimized taking into account the demographics of the network and the sending machine.
BACKGROUND OF THE INVENTION
One of the main problems for a consumer is oftentimes incompatibility of his equipment and the programs sought to be run. For instance, an individual may have a printer that is incompatible with the driver loaded to operate it. Typically the user calls an administrator who telephonically instructs the individual as to how to program his computer in order to make the printer work. This may involve downloading printer drivers or other software in a time consuming process in which the administrator must ask the user questions. The user, on the other hand, may be insufficiently knowledgeable to answer the administrator's questions, resulting in frustration on both the user's part and that of the administrator.
In an effort to minimize such frustrations systems, referred to herein as emulation systems, have been developed so that the administrator can “see” what is happening at the user's terminal. In order to do this in the past remote control programs have been developed which capture the low level graphic calls and send them to the administrator's computer for display. At the administrator's side these low level graphic calls are utilized to provide the screen at the administrators side with an exact duplicate of the user's screen. Such a system is commercially available as model pcANYWHERE from Symantec of Cupertino, Calif. In this system the administrator can understand what is happening at the user's side and verbally instruct the user what to do.
One of the problems with prior emulation systems is that the screen refresh at the administrator's side is slow, or in general not optimized to the demographics of the network and the users machine. For instance, if the user has a relatively slow modem connected to the network but is utilizing a compression algorithm that emphasizes compression speed over efficiency, this would have a negative impact on the screen refresh rate. The result for the administrator is that the administrator would select or click on an icon and have to wait an inordinate amount of time for a response. The reason for such delays has to do with the demographics of the network and the two machines in that inappropriate compression algorithms are chosen.
In an effort to speed up the response of such systems, various techniques have been utilized. One of these techniques involves the use of low level drivers to capture graphics calls. However, these drivers can make the system unstable and require much disk and RAM memory space. As a result, oftentimes the screen refresh is often corrupted when moving graphics are encountered and has a stilted appearance.
These artifacts are in general caused by the order in which the graphic calls are trapped, and the different levels of graphics calls which are available. These systems are also inferior in displaying bitmapped graphics and moving images. The largest problem with the above systems is that they can take as much as 10 megabytes of disk space on both sides, and require a reboot after installation before using.
In the prior systems there is another problem in that by relying on the graphics calls the images are taken in parts and are displayed on the administrator's side in unnatural fashion due to the arbitrary order in which the graphics calls are trapped. These systems have to wait for other applications to make graphics calls in order to know what to update and rely on the applications to make graphics calls known to the systems. If an application performs a graphics operation not known to the system, that information is not transferred over to the administrator.
As a result the image the administrator sees is incorrect, since the entire system is dependent on other applications to perform known operations with the operating system. For applications that perform operations that are unknown, the system ignores what could potentially be the problematic area.
Thus for the newer peripherals coupled to the user's computer, in the past the problem could be ignored since the administrators system could not see it.
SUMMARY OF THE INVENTION
In order to speed up the screen refresh portion of the system, low level drivers trapping graphics calls are eliminated in favor of increasing speed through the alteration of the compression and decompression algorithms used at the user and administrator sides to choose the appropriate ratio of transmission time and compression time which matches the demographics of the network and that of the user's computer. In one embodiment, the speed of the refresh at the administrator's side is increased to the maximum extent possible to eliminate delays in presenting the results of an operation on the user's computer.
For instance, assuming that the user's computer has a CPU speed of 200 mhz and further assuming a local area network with a mean transmission rate of ~800 kilobytes per second, best compression algorithm would provide a full screen refresh in less then 0.7 seconds including compression and transmission. If an incorrect algorithm for modem speed were chosen at the user's side, such as 28 kilobytes per second, then the refresh time at the administrator's side would be 2.5 seconds, clearly 300% longer than that achievable if the appropriate compression rate were chosen.
In the above case it would be desirable to choose the lowest compression rate, eq. one that emphasizes compression speed over resulting size. In this case, e.g., for a local area network, a compression rate of 13% would yield the above 0.7 second refresh time, given a transmission speed of ~800 kb.
In the subject invention there are four different compression algorithms from which to choose. The first is the lowest compression rate algorithm comprising a run length encoding algorithm. This algorithm converts a run of the same byte with a count of that byte. A second algorithm selectable by the subject system for the next higher compression rate is a Huffman compression algorithm preceded by run length encoding, or RLE. A third algorithm selectable by the subject system for the next higher compression rate is a modified adaptive Huffman compression algorithm using a 9 bit tree entry size, again preceded by RLE. Finally a fourth compression algorithm is identical to the above but with 13 bit tree entry sizes, for the highest compression rate.
The first algorithm is characterized by it's speed. Typically this algorithm will compress a megabyte in less then 0.2 seconds. This algorithm is to be selected when network bandwidth is not a problem.
The second algorithm is also characterized by it's speed but with more resulting data size efficiency, and is to be used in high speed networks with heavy traffic.
The third algorithm is characterized by its data size efficiency, in which a megabyte is compressed down to 4 kilobytes. This algorithm is useful for internet applications, because of the internet's heavy traffic and latency.
The fourth algorithm is characterized by its extreme data size efficiency in that it can compress a megabyte of screen data down to approximately 2 kilobytes or less. However the last two algorithms are relatively slow, eg. 3 seconds vs. 0.2 seconds.
While the above describes four different compression algorithms, other compression/decompression algorithms are within the scope of this invention. Regardless, the compression algorithm selected is based on the ratio of send time to compression time, with the selection seeking to cause this ratio to equal one. In order to select the decompression algorithm at the user's side, the transmission from the user to the administrator is monitored and the transmission time is measured for every single refresh. In one embodiment, this invo
Gagne, Jr. Robert A.
Kobata Hiroshi
Tonchev Theodore C.
Atabok Japan, Inc.
Dinh Dung C.
Fish & Richardson P.C.
LandOfFree
System for minimizing screen refresh time using selectable... 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 for minimizing screen refresh time using selectable..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System for minimizing screen refresh time using selectable... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3071545