Method for lossless bandwidth compression of a series of glyphs
First Claim
1. A method for lossless bandwidth compression encoding of data for transmission of encoded data from an application server to a client workstation for decoding in a distributed process system, the data represented as a glyph pattern string comprising of plurality of glyphs, the method comprising:
- (a) assigning a unique handle to a glyph in the glyph pattern string for identification;
(b) assigning a unique subcache handle to the glyph in the glyph pattern string; and
(c) generating a compressed glyph string for transmission to the client workstation by placing into the compressed glyph string;
(i) a first glyph identifier comprising the glyph, a chunk parameter, tile assigned handle, and the assigned subcache handle upon a first occurrence of the glyph in the glyph pattern string, the chunk parameter indicating the number of bytes required to store the glyph;
(ii) a second glyph identifier comprising the handle assigned to the glyph, a chunk parameter, and the subcache handle assigned to the glyph when the glyph has previously occurred in the glyph pattern string and the assigned handle is not one of a predetermined number of handles stored in a cache memory, the chunk parameter indicating the number of bytes required to store the glyph; and
(iii) a third glyph identifier comprising the subcache handle assigned to the glyph, and a chunk parameter, when the glyph has previously occurred in the glyph pattern string and the assigned handle is one of a predetermined number of handles stored in a cache memory, the chunk parameter indicating the number of bytes required to store the glyph.
1 Assignment
0 Petitions
Accused Products
Abstract
A lossless bandwidth compression method for use in a distributed processor system for communicating graphical text data from a remote application server to a user workstation over a low bandwidth transport mechanism enables the workstation display to support the illusion that the application program is running locally rather than at the remote application server. At the application server, the graphical text data is represented by a string of glyphs, each glyph being a bit mask representing the foreground/background state of the graphical text data pixels. Each unique glyph is encoded by assigning a unique identification code (IDC). Each IDC is compared with the previous IDCs in the string and, if a match is found, the IDC is transmitted to the workstation. If a match with a prior IDC is not found, the IDC and the corresponding glyph pattern are transmitted to the workstation. At the workstation, the IDCs are queued in the order received while the glyph patterns are cached using the corresponding IDCs as addresses. The string of glyphs is reconstructed by using the queued IDCs in their natural order for accessing the cached glyph patterns as required to reproduce the original string of glyphs.
-
Citations
14 Claims
-
1. A method for lossless bandwidth compression encoding of data for transmission of encoded data from an application server to a client workstation for decoding in a distributed process system, the data represented as a glyph pattern string comprising of plurality of glyphs, the method comprising:
-
(a) assigning a unique handle to a glyph in the glyph pattern string for identification; (b) assigning a unique subcache handle to the glyph in the glyph pattern string; and (c) generating a compressed glyph string for transmission to the client workstation by placing into the compressed glyph string; (i) a first glyph identifier comprising the glyph, a chunk parameter, tile assigned handle, and the assigned subcache handle upon a first occurrence of the glyph in the glyph pattern string, the chunk parameter indicating the number of bytes required to store the glyph; (ii) a second glyph identifier comprising the handle assigned to the glyph, a chunk parameter, and the subcache handle assigned to the glyph when the glyph has previously occurred in the glyph pattern string and the assigned handle is not one of a predetermined number of handles stored in a cache memory, the chunk parameter indicating the number of bytes required to store the glyph; and (iii) a third glyph identifier comprising the subcache handle assigned to the glyph, and a chunk parameter, when the glyph has previously occurred in the glyph pattern string and the assigned handle is one of a predetermined number of handles stored in a cache memory, the chunk parameter indicating the number of bytes required to store the glyph. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for lossless bandwidth compression encoding of data for transmission of encoded data from an application server to a client workstation for decoding in a distributed process system, the data represented as a glyph pattern string comprising of plurality of glyphs, the method comprising:
-
(a) at the application server (i) assigning a unique handle to a glyph in the glyph pattern string for identification; (ii) assigning a unique subcache handle to the glyph in the glyph pattern string; and (iii) generating and transmitting to the client workstation a compressed glyph string by placing into the compressed glyph string; (A) a first glyph identifier comprising the glyph, a chunk parameter, the assigned handle, and the assigned subcache handle upon a first occurrence of the glyph in the glyph pattern string, the chunk parameter indicating the number of bytes required to store the glyph; (B) a second glyph identifier comprising the handle assigned to the glyph, a chunk parameter, and the subcache handle assigned to the glyph when the glyph has previously occurred in the glyph pattern string and the assigned handle is not one of a predetermined number of handles placed in the compressed glyph string, the chunk parameter indicating the number of bytes required to store the glyph; and (C) a third glyph identifier comprising the subcache handle assigned to the glyph, and a chunk parameter, when the glyph has previously occurred in the glyph pattern string and the assigned handle is one of a predetermined number of handles placed in the compressed glyph string, the chunk parameter indicating the number of bytes required to store the glyph; and (b) at the client workstation (i) receiving the compressed glyph pattern string and storing each glyph in the compressed glyph pattern string at a memory element determined from the handle assigned to that glyph, (ii) storing each assigned handle in the compressed glyph pattern string in a memory element determined by the subcache handle corresponding to that assigned handle, and (iii) generating a decoded string of glyphs by sequentially using each subcache handle to retrieve assigned handles, and using each assigned handle in the compressed glyph string for retrieving a corresponding stored glyph and substituting a retrieved glyph for each second and third glyph identifier in the received compressed glyph string. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A system for the lossless bandwidth compression encoding and decoding of data, the encoded data for transmission from an application server to a client workstation over a common transport mechanism in a distributed process system, the data represented as a glyph pattern string comprising a plurality of glyphs, the system comprising:
-
(a) an application server assigning a unique handle and a subcache handle to a glyph, and generating and transmitting to the client workstation a compressed glyph pattern string by placing into the compressed glyph pattern string; a first glyph identifier upon a first occurrence of the glyph in the glyph pattern string, the first glyph identifier comprising; (i) the glyph, (ii) the assigned handle, (iii) an assigned subcache handle, and (iv) a chunk parameter indicating the number of bytes required to store the glyph; a second glyph identifier when the glyph has previously occurred in the glyph pattern string and the assigned handle is not one of a predetermined number of handles stored in a cache memory, the second glyph identifier comprising; (i) the assigned handle, (ii) the assigned subcache handle, and (iii) a chunk parameter indicating the number of bytes required to store the glyph; a third glyph identifier when the glyph has previously occurred in the glyph pattern string and the assigned handle is one of a predetermined number of handles stored in a cache memory, the third glyph identifier comprising; (i) the assigned subcache handle, and (ii) a chunk parameter indicating the number of bytes required to store the glyph; (b) a client workstation receiving the compressed glyph pattern string and, for each received first glyph identifier, storing the glyph in a memory element indicated by the chunk parameter at an address determined from the assigned handle, the client workstation generating a decoded string of glyphs by sequentially using each subcache handle to retrieve an assigned handle and using each retrieved assigned handle to retrieve a glyph from the memory element, and substituting a retrieved glyph for each second and third glyph identifier in the compressed glyph pattern string. - View Dependent Claims (12, 13, 14)
-
Specification