[19] United States Patent - Barker, III

[11] Patent Number: 5,598,564

[45] Date of Patent: Jan. 28, 1997


[76] Inventor: W. Daniel Barker, III, 1954 Gotham Way, Atlanta, Ga.
[21] Appl. No.: 360,213
[22] Filed: Dec. 20, 1994
Related U.S. Application Data
[62] Division of Ser. No. 893,724, Jun., 5, 1992, Pat. No. 5,420,965.
[51] Int. CL.{6} G06F 9/00
[52] U.S. Cl. 395/705; 364/DIG. 1
[58] Field of Search 395/375, 500, 395/700

[56] References Cited

4,315,315 2/1982 Kossiakoff 395/700
4,587,633 5/1986 Wang et al
4,620,289 10/1986 Chauvel
4,750,137 6/1988 Harper et al
4,805,135 10/1988 Ochi et al
4,831,5245/1989 Furgerson364/488
4,928,234 5/1990 Kitamura et al
4,942,390 7/1990 Do et al
5,129,061 7/1992Wang et al
5,185,853 2/1993 Cheng et al
5,191,430 3/1993 Sudal et al
5,195,174 3/1993 Kagawa
5,207,517 5/1993 Ito
5,208,696 5/1993 Invi
5,222,200 6/1993 Callister et al
59-89056 9/1984 Japan


IBM Technical Disclosure Bulletin No. 9055, vol. 21, No. 7 (Dec. 1978), D. M. Nagel and J. W. van den Berg.

Primary Examiner - William M. Treat

Assistant Examiner - Steven P. Sax

Attorney, Agent, or Firm - Jones & Askew


A process for compressing data sent to command driven remote video terminals is disclosed. A command string representation of the current contents of the remote terminal's video buffer is maintained locally at the host computer. This command string representation is a sequence of commands, in the terminals command language, that will write the contents of the screen in a manner as expected by the application that originated the transmitted data, if the sequence were sent to the terminal device following an erase/write command. Incoming current command strings are sorted by buffer address order and analyzed and merged with the command string representation of the buffer contents via a very efficient single pass process that provides a new expected state representation, an erase/write command string, and a write command string which expresses only the differences between the current terminal buffer contents and the desired presentation. The shorter of the erase/write or write command strings is then physically sent over the data link to the remote terminal and the new expected state representation becomes the command string representation. Additioaally, a method of representing and implementing an algorithmic state machine is shown in which the state table itself is the compilable code. Each state name is a valid label. At each label, the same multi-argument function is called, which takes a test, a procedure, and at least one branching destinations expressed as other state labels as arguments.

2 Claims, 8 Drawing Sheets


Technical Field
Background of the Invention
Summary of the Present Invention
Brief Description of the Drawings

Detailed Description:



Figure 1 is a block diagram of a host computer system with a plurality of local and remote video terminals, which system constitutes the normal environment in which the present invention is used.

Figure 2A is a block diagram showing the flow of data between an application and the VTAM software running on a host computer and a terminal controller.

Figure 2B is a block diagram showing the flow of data among an application, the VTAM software module, and a program embodying the present invention, all running on a host, and a terminal controller.

Figure 3A is a diagram of a command string representation, a set of current command strings, and the three output objects produced by the preferred embodiment.

Figures 3B and 3C show screen outputs before and after processing of the set of current command strings that are shown on Figure 3A.

Figure 4 is a flow chart of the overall program logic of the one pass compressor of the preferred embodiment.

Figure 5 is a flow chart showing the merge and split logic that follows sorting of string descriptors for the current command string, prior to analysis and merger with the current command string representation.

Figure 6 is a state diagram for the lowest order states of the preferred implementation of the preferred embodiment of the present invention.

Figure 7A and Figure 7B illustrate state diagrams for the state 100 state submachine of the preferred embodiment.


Table 1 - Contiguous fields
Table 2 - Pseudo Characters
Table 3 - Pseudo Character Sequence
Table 4 - STATE000
Table 5 - STATE100
Table 6 - Prodecures
Table 7 - Tests

Forward to Technical Field Back to Home page