US005420965A

[19] United States Patent - Barker, III

[11] Patent Number: 5,420,965

[45] Date of Patent: May 30,1995


[54] SINGLE PASS METHOD OF COMPRESSING DATA TRANSMITTED TO COMMAND DRIVEN TERMINAL

[75] Inventor: W. Daniel Barker, III, Atlanta, Ga.
[73] Assignee: Software Projects, Inc., Atlanta, Ga.
[21] Appl. No.: 893,724
[22] Filed: Jun. 5, 1992
[51] Int. CL.{6} G06F 15/00
[52] U.S. Cl. 385/114; 395/101; 358/296
[58] Field of Search 395/114, 112, 101, 102, 395/115; 358/296; 400/122; 364/514, 200, 900

[56] References Cited

U.S. PATENT DOCUMENTS
4,587,633 5/1986 Wang et al 364/900
4,620,289 10/1986 Chauvel 364/521
4,750,137 6/1988 Harper et al 364/514
4,805,135 2/1989 Ochi et al 364/900
4,928,234 5/1990 Kitamura et al 364/200
4,942,390 7/1990 Do et al 395/114
5,129,061 7/1992 Wang et al 395/200
5,185,853 2/1993 Cheng et al 395/115
5,191,430 3/1993 Sudoh et al 358/296
5,195,174 3/1993 Kagawa 395/102
5,207,517 5/1993 Ito 400/121
5,208,676 5/1993 Inui 358/296
5,222,200 6/1993 Callister et al 395/112
FOREIGN PATENT DOCUMENTS
59-89056 5/1984 Japan H04L 11/00

Primary Examiner - Mark R. Powell

Assistant Examiner - Steven P. Sax

Attorney, Agent, or Firm - Jones & Askew


[57]ABSTRACT

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.


11 Claims, 8 Drawing Sheets


Disclosure

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

Detailed Description:

Claims


BRIEF DESCRIPTION OF THE DRAWINGS

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.


Tables

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