Operating system independent method and apparatus for graphical remote access
First Claim
1. A method for transmitting video graphics data, comprising:
- dividing a screen into a number of blocks, the blocks having contents;
periodically reading the contents of each one of the blocks;
computing a unique value for a first block based on the contents;
comparing the unique value for the first block to a previously computed unique value corresponding to the first block; and
transmitting the contents of the first block if the unique value for the first block is different from the previously computed unique value corresponding to the first block.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for updating video graphics changes of a managed server to a remote console independent of an operating system. The screen (e.g. frame buffer) of the managed server is divided into a number of blocks. Each block is periodically monitored for changes by calculating a hash code and storing the code in a hash code table. When the hash code changes, the block is transmitted to the remote console. Color condensing may be performed on the color values of the block before the hash codes are calculated and before transmission. Compression is performed on each block and across blocks to reduce bandwidth requirements on transmission. Periodically, the configuration of a video graphics controller and a pointing device of the managed server are checked for changes, such as changes to resolution, color depth and mouse movement. If changes are found, the changes are transmitted to the remote console. The method and apparatus may be performed by a separate processor as part of a remote management board, a “virtual” processor by causing the processor of the managed server to enter a system management mode, or a combination of the two.
19 Citations
38 Claims
-
1. A method for transmitting video graphics data, comprising:
-
dividing a screen into a number of blocks, the blocks having contents;
periodically reading the contents of each one of the blocks;
computing a unique value for a first block based on the contents;
comparing the unique value for the first block to a previously computed unique value corresponding to the first block; and
transmitting the contents of the first block if the unique value for the first block is different from the previously computed unique value corresponding to the first block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 21)
-
-
13. A method of transmitting video graphics data, comprising:
-
dividing a screen into a number of blocks;
reading a first block and at least one subsequent block;
comparing the first block to a subsequent block;
developing a repeat command based on how many subsequent blocks equal the first block; and
transmitting the first block and the repeat command. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
-
22. A method of transmitting video graphics data, comprising:
-
dividing a screen into a number of blocks;
reading a first block of the screen;
compressing the first block;
reading a second block of the screen;
comparing the first block to the second block;
compressing the second block with the first block if the first and second blocks are not equal; and
transmitting the compressed blocks. - View Dependent Claims (23, 24, 26, 27, 28, 29)
-
-
25. A computer system for communicating with a remote console, comprising:
-
a video graphics controller having a frame buffer;
a communications device; and
a processor coupled to the video graphics controller and the communications device, the processor configured to;
divide the frame buffer into a number of blocks;
periodically read the frame buffer and determine whether any of the blocks have changed since a previous reading; and
transmit changed blocks to the remote console via the communications device. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36)
-
-
37. A computer system for communicating with a remote console, comprising:
-
a video graphics controller having a frame buffer;
a monitor connectable to the video graphics controller;
a communications device; and
a processor coupled to the video graphics controller and the communications device, the processor configured to;
divide the frame buffer into a number of blocks;
periodically read the frame buffer and determine whether any of the blocks have changed since a previous reading; and
transmit changed blocks to the remote console via the communications device.
-
-
38. An apparatus for updating video graphics data for a remote console, comprising:
-
means for dividing a frame buffer into a series of blocks;
means for reading one of the blocks;
means for computing a hash code for the block;
means for comparing the hash code to a previously computed hash code for the block; and
means for transmitting the block if the hash codes are not equal.
-
Specification