Back to Patent's Contents

U. S. Patent 5,420,965 - May 30, 1995

SINGLE PASS METHOD OF COMPRESSING DATA TRANSMITTED TO COMMAND DRIVEN TERMINAL

column 35, line 24

CLAIMS

I claim:

1.A method of compressing data transmitted to a terminal device, said terminal device being of the type having a characteristic predetermined plurality of commands and a command syntax defining a character string comprising one of said plurality of commands together with a data string as a command string, comprising the steps of:
(a)receiving a first set of command strings from an application;
(b)sorting said first set of command strings by buffer address locations contained in said set of command strings to provide a command string representation of the contents of a buffer at said terminal device;
(c)transmitting said command string representation to said terminal device;
(d)receiving a second set of command strings from said application;
(e)sorting said second set of command strings by buffer address locations to provide a sorted second set of command strings;
(f)sequentially analyzing and merging said sorted, second set of command strings and said command string representation to provide an expected state command string representation and a write command string representing data differences between said command string representation and said sorted second set of command strings;
(g)storing said expected state command string representation as a replacement of said command string representation and transmitting said write command string to said terminal device; and
(h)repeating steps (d) through (g) for subsequent sets of command strings received from said application.
2A method of compressing data transmitted to a terminal device as recited in claim 1 wherein step (f) includes the steps of identifying each overwritten command string within said command string representation that affects a set of buffer locations completely overwritten by one or more command strings within said sorted second set of command strings and eliminates said each overwritten command string from said expected state command string representation.
3A method of compressing data transmitted to a terminal device, said terminal device being of the type 36 having a characteristic predetermined plurality of commands and a command syntax defining a character string comprising one of said plurality of commands together with a data string as a command string, comprising the steps of:
(a)receiving a first set of command strings from an application;
(b)sorting said first set of command strings by buffer address locations contained in said set of command strings to provide a command string representation of the contents of a buffer at said terminal device;
(c)transmitting said command string representation to said terminal device;
(d)receiving a second set of command strings from said application;
(e)sorting said second set of command strings by buffer address locations to provide a sorted second set of command strings;
(f)sequentially analyzing and merging said sorted second set of command strings and said command string representation to provide an expected state command string representation and a write command string representing data differences between said command string representation and said sorted second set of command strings;
(g)storing said expected state command string representation as a replacement of said command string representation;
(h)determining the shorter string of said command string representation and said write command string;
(i)transmitting said shorter string to said terminal device; and
(j)repeating steps (d) through (i) for subsequent sets of command strings received from said application.
4A method of compressing data transmitted to a terminal device, said terminal device being of the type having a characteristic predetermined plurality of commands and a command syntax defining a character string comprising one of said plurality of commands together with a data string as a command string, comprising the steps of:
(a)receiving a first set of command strings from an application;
(b)sorting said first set of command strings by buffer address locations contained in said set of command strings to provide a command string representation of the contents of a buffer at said terminal device;
(c)transmitting said command string representation to said terminal device;
(d)receiving a second set of command strings from said application;
(e)sorting said second set of command strings by buffer address locations to provide a sorted second set of command strings;
(f)sequentially analyzing and merging said sorted second set of command strings and said command string representation to provide an erase/write command string, an expected state command string representation, and a write command string representing data differences between said command string representation and said sorted second set of command strings;
(g)storing said expected state command string representation as a replacement of said command string representation
(h)determining the shorter string of said erase/write command string and said write command string;
(i)transmitting said shorter string to said terminal device; and
(j )repeating steps (d) through (i) for subsequent sets of command strings received from said application.
5A method of compressing data transmitted to a terminal device, said terminal device being of the type having a characteristic predetermined plurality of commands and a command syntax defining a character string comprising one of said plurality of commands together with a data string as a command string, comprising the steps of:
(a)receiving a first set of command strings from an application;
(b)sorting said first set of command strings by buffer address locations contained in said set of command strings
(c)sequentially analyzing said sorted first set of command strings to provide a first erase/write command string and a first expected state command string representation,
(d)utilizing said first expected state command string representation as a command string representation of the contents of a buffer at said terminal device and transmitting said first erase/write command string to said terminal device;
(e)receiving a second set of command strings from said application;
(f)sorting said second set of command strings by buffer address locations to provide a sorted second set of command strings;
(g)sequentially analyzing and merging said sorted second set of command strings and said command string representation to provide an erase/write command string, an expected state command string representation, and a write command string representing data differences between said command string representation and said sorted second set of command strings;
(h)storing said expected state command string representation as a replacement of said command string representation
(i)determining the shorter string of said erase/write command string and said write command string;
(j)transmitting said shorter string to said terminal device; and
(k)repeating steps (e) through (j) for subsequent sets of command strings received frown said application.
6A method of compressing data transmitted to a terminal device as recited in claim 4 wherein said step of sorting said second set of command strings by buffer address locations to provide a sorted second set of command strings includes the steps of:
sorting all orders and data sequences in said second set of command strings in monotonically ascending order of first buffer address affected;
parsing any of said orders and data sequences that overlap another of said orders and data sequences to provide sets of overlapping orders and data sequences and sets of nonoverlapping orders and data sequences;
retaining said sets of nonoverlapping orders and data sequences in said second set of command strings;
and discarding members of said sets of overlapping orders and data sequences that have been overwritten by other orders and data sequences that occurred later in time in said second set of command strings.
7A method of compressing data transmitted to a terminal device as recited in claim 5 wherein said step of sorting said second set of command strings by buffer address locations to provide a sorted second set of command strings includes the steps of:
sorting all orders and data sequences in said second set of command strings in monotonically ascending order of first buffer address affected;
parsing any of said orders and data sequences that overlap another of said orders and data sequences to provide sets of overlapping orders and data sequences and sets of nonoverlapping orders and data sequences;
retaining said sets of nonoverlapping orders and data sequences in said second set of command strings;
and discarding members of said sets of overlapping orders and data sequences that have been overwritten by other orders and data sequences that occurred later in time in said second set of command strings.
8A method of compressing data transmitted to a terminal device as recited in claim 1 wherein said step of sequentially analyzing and merging said sorted second set of command strings and said command string representation to provide an expected state command string representation, and a write command string representing data differences between said command string representation and said sorted second set of command strings includes the step of selecting a shortest one of a set consisting of
an SBA order,
an RA order,
an EUA order,
an SF order already present in said buffer at said terminal device,
and K characters already present in said buffer at said terminal device, K being an integer between one and two when writing each element of said write command string.
9A method of compressing data transmitted to a terminal device as recited in claim 4 wherein said step of sequentially analyzing and merging said sorted second set of command strings and said command string representation to provide an expected state command string representation, and a write command string representing data differences between said command string representation and said sorted second set of command strings includes the step of selecting a shortest one of a set consisting of
an SBA order,
an RA order,
an EUA order,
an SF order already present in said buffer at said terminal device,
and K characters already present in said buffer at said terminal device, K being an integer between one and two when writing each element of said write command string.
10A method of compressing data transmitted to a terminal device as recited in claim 5 wherein said step of sequentially analyzing and merging said sorted second set of command strings and said command string representation to provide an expected state command string representation, and a write command string representing data differences between said command string representation and said sorted second set of command strings includes the step of selecting a shortest one of a set consisting of
an SBA order,
an RA order,
an EUA order,
an SF order already present in said buffer at said terminal device,
and K characters already present in said buffer at said terminal device, K being an integer between one and two when writing each element of said write command string.
11A method of compressing data transmitted to a terminal device, said terminal device being of the type having a characteristic predetermined plurality of commands and a command syntax defining a character string comprising one of said plurality of commands together with a data string as a command string, comprising the steps of:
(a)receiving a first set of command strings from an application;
(b)sorting said first set of command strings by buffer address locations contained in said set of command strings
(c)sequentially analyzing said sorted first set of command strings to provide a first erase/write command string and a first expected state command string representation,
(d)utilizing said first expected state command string representation as a command string representation of the contents of a buffer at said terminal device and transmitting said first erase/write command string to said terminal device;
(e)receiving a next set of command strings from said application;
(f)sorting said next set of command strings by buffer address locations to provide a sorted next set of command strings;
(g)establishing a CSRP pointer pointing to a lowest buffer address affected by said sorted next set of command strings
(h)establishing a CSSP pointer pointing to a lowest buffer address affected by said command string representation
(i)establishing at least three output objects including an erase/write command string output object, an expected state command string representation output object, and a write command string output object;
(j)traversing a plurality of predetermined states of a tristate tree from a root state to a termination state in response to the relative values of said CSRP pointer and said CSSP pointer, the contents of said next set of command strings pointed to by said CSSP pointer and the contents of said sorted next set of command strings pointed to by said CSRP pointer by sequentially incrementing a lower one of said CSSP pointer and said CSRP pointer while comparing both of said contents and writing output to said three output objects in response thereto;
(k)storing said expected state command string representation output object as a replacement of said command string representation
(l)determining the shorter string of said erase/write command string output object and said write command string output object;
(m)transmitting said shorter string to said terminal device; and
(n)repeating steps (e) through (m) for subsequent sets of command strings received from said application.
* * * * *

Back to Patent's Contents

Back to Details, Part Two

Back to Home page