Data compression is a procedure which substitutes long sequences of characters by shorter ones, and is made possible by the presence of information redundancy: the greater, the more efficient will be the compression.
However, even though Abilis CPX is fed with "already compressed" data, situations exist where it is capable of providing even further compression. This is because many other compression methods exist, not all of which achieve the maximum possible level. A very common case is that host computers IBM 370, 390, IBM AS/400 etc., where a compression software can be present, which at application level optimises the exchange of data with terminals and printers: this "compression" procedure is very different from the compression carried out by Abilis CPX, which if used in these cases, can reduce the data transferred even further.
By "Compression protocols" is meant the totality of the measures which Abilis CPX puts into practice, in order to create the block of data to be compressed and transported correctly to the corresponding Abilis CPX, and to restore the information in its original form.
Abilis CPX allows compression to be applied to one single logical channel, sometimes called session. This guarantees the greatest possible flexibility in the application of data compression.
For every protocol the principal characteristics are listed below and we offer some suggestions as to their use.
The channel/session which transports the compressed data can only use X25 and SDLC ports configured as "NETWORK".
In the configuring of an SVC routing or a PVC connection with the parameter "COMP:NO", the Abilis CPX is instructed to deal with that logical channel without compression, i.e. the data received from the entry port are sent to the exit port without modifications.
To activate the MBIT protocol, set up an SVC routing, or a PVC connection with the parameter "COMP:MBIT"
In this case, an X.25 port is used as the "USER" port.
To create the block of data to be compressed, the MBIT protocol utilises a "complete sequence" of X.25 packages, thus obtaining greater compression, both in characters and in segments, than with single packages.
The meaning of "complete sequence" of X.25 packages is defined in recommendation X.25 of the CCITT published in the "Blue Book", and can be summarised as follows: a complete sequence is composed of an X.25 packet with M-bit= 0, preceded by full contiguous packets with M-bit = 1.
In the event that the DTE does not send complete sequences to Abilis, i.e. only sends packets with M-bit = 0, the compression takes place packet by packet, resulting in an unsatisfactory compression.
In this case an SDLC port is utilised as a "USER" port.
The MBIT protocol compresses every SDLC frame separately, therefore the longer the frame, the greater is the efficiency of compression; however, the delay is also increased.
Both the informative and the unnumbered frames are compressed.
In this case an HDLCT port is used as the "USER " port.
The MBIT protocol compresses every HDLC frame separately, therefore the longer the frame, the greater is the efficiency of compression; however, the delay is also increased.
In this case the IPRTR port is used as a "USER" port.
The MBIT protocol compresses every IP datagram separately, therefore the longer the datagram, the greater is the efficiency of the compression; however, the delay is also increased.
In this case a PAD port is used as a "USER" port.
The MBIT protocol compresses every data package created by the PAD separately, therefore the larger the package, the greater is the efficiency of the compression; however, the delay is also increased.
The QLLC protocol can be used when one or both sides involved in the data compression use an SDLC/QLLC access to the network.
The compression is carried out exclusively for the informative frames and whenever an unnumbered frame (e.g. XID or QXID, SRNM or QSRNM etc.) is transferred, the dictionary values are cleared.
To activate the QLLC protocol, set out an SVC routing or a PVC connection with the parameter "COMP: QLLC".
The maximum dimension of the informative frame accepted by the network is to be at least 9/8 of the maximum dimension of the SDLC/QLLC informative frame configured for the user systems.
The selection of compression data requires the installation on the HSCB Gold adaptor of the data compression processor; this processor has the ability to compress data at the speed of approx. 250 Kbytes/sec (2 Mbits/sec) and is equipped with a quantity of RAM memory which goes from 1 to 32 Mbytes.
The quantity of RAM memory installed on the HSBC Gold adaptor determines how many logic channels/sessions can be compressed simultaneously.
It is possible to accommodate 2 x 30 pins SIMM [1] memory modules, therefore by installing 1 or 2 SIMM modules in the sizes available, the following combinations are obtained [2] :
N. | SIMM module | RAM installed | LC compressible |
---|---|---|---|
1 | 1 Mbyte | 1 Mbyte | 1 LC |
2 | 1 Mbyte | 2 Mbyte | 2 LC |
1 | 4 Mbyte | 4 Mbyte | 4 LC |
2 | 4 Mbyte | 8 Mbyte | 8 LC |
1 | 8 Mbyte | 8 Mbyte | 8 LC |
2 | 8 Mbyte | 16 Mbyte | 16 LC |
1 | 16 Mbyte | 16 Mbyte | 16 LC |
2 | 16 Mbyte | 32 Mbyte | 32 LC |
[1] The memory modules must have an access time less than 70 nanoseconds.
[2] The "two SIMMs" configuration have a throughput which is the double of the "one SIMM" configuration.
The compression method used by Abilis CPX makes use of dictionaries holding 512 Kilobytes each, so that the repeated sequences of characters and the, obviously shorter, corresponding codification symbols, are memorised.
Two dictionaries are used for every logical channel: one to compress the data received by the USER port and one to expand the data received by the NETWORK port.
Submitting the command D G, it is possible to visualise how many dictionaries are present (parameter ndict:), how many logical channels can be compressed simultaneously (parameter lccomp:) and the number of dictionaries currently not in use (parameter fdict:).
If for example 32 Mbytes are installed, the result should be the following:
Conf.Value Act.Value Description ------------------------------------------------------------------------------ . . . ndict: - 64 Number of available dictionaries <Read Only> lccomp: - 32 Max number of compressed LC <Read Only> fdict: - 64 Number of free dictionaries <Read Only> ------------------------------------------------------------------------------ . . .
Data compression also requires the use of system memory. In case it is not sufficient, there could happen to be a greater number of dictionaries available than those truly usable and the result could be as follows:
Conf.Value Act.Value Description ------------------------------------------------------------------------------ . . . ndict: - 64 Number of available dictionaries <Read Only> lccomp: - 16 Max number of compressed LC <Read Only> fdict: - 32 Number of free dictionaries <Read Only> ------------------------------------------------------------------------------ . . .
This is because although Abilis has 32 "pairs" of dictionaries available, it is only able to make use of 16.
Normally Abilis CPX is supplied with 8 or 16 Mbytes of system memory, sufficient to support very complicated configurations. It is however possible to expand the system memory up to 64 Mbytes.
Dictionaries are cleared with the disconnection of the SVC channel or with the despatch of the Reset packets through the PVC channels. To obtain the maximum output it is advisable to maintain the logic channel open for as long as possible.