ACB Ver.1.13b - ARCHIVATOR FOR COMMUNICATION PURPOSES ACB Ver.1.13b - Associative coder by Buyanovsky is designed for preliminary information compression in communication purposes. The usage of the ACB algorithm (Associative Coder by Buyanovsky) ensures a record compression coefficient. The associative coding algorithm requires higher demands towards equipment. Decreasing sizes of archives by 10-60% in comparison with ARJ,PKZIP,RAR justifies to the most extent increased expenses on data compression in telecommunication tasks. ACB 1.13b Copyright(c) 1994-95 Buyanovsky Georgii & Nuserov Timur 8.22.1995 Usage: ACB <[path\]archive_name>["context_name] [<[path\]mask>] [...] Command: b -Backup files to archive with recurse subdirectories bf -Backup only files to archive without recurse subdirectories bN | bfN -Where N is size (Kb) of Volumes (enable multiple Volumes) r -Restore files from archive , l -List archive contents p[PSW] -Error Protection , c[PSW] -Error Correction d[PSW] -Deprotection of archive, where PSW -password (len<17) can be absent In case of deficit of disk space multivolume archive is created automatically!! Examples: ACB b win c:\win -packing of the catalogue WIN with subdirectories ACB b360 d:\awin c:\win\*.* -packing in multivolume archive (by 360 Kb.) ACB r d:\awin e:\win3 -in catalogue WIN3 copy c:\win\*.* with subdirectories ACB p awin -protection awin.acb->awin.acp, ACB c awin -testing awin.acp ACB bf512pKVARK wrc c:\win\*.rc -packing only files *.rc from catalogue WIN in multivolume archive (512Kb) with setting of protection mode with password=KVARK ACB cKVARK wrc -testing and correcting of archive wrc.acp ACB dKVARK wrc -deprotected wrc.acp->wrc.acb ACB rKVARK wrc -restore all data from wrc.acp in the current catalogue ACB lKVARK wrc -contents of wrc.acp Note: After r-operation wrc.acp->wrc.acb Taught Channel - Context "Taught Channel" - compression of another portion of information taking into account all earlier compressed information - context. For example: you transmit by modem a corrected version of text which was transmitted yesterday. In this case it is possible to expect the compression in 100 times, in other words, only the latest information was transmitted. Besides, there is a possibility to maximize compression of the data of a certain type. For example, create a context from the files *.txt and use this txt-context to compress txt-files, the same can be done with a VIDEO-information and etc. In addition, such an approach ensures additional data protection against non-authorised access - it is impossible in principle without knowledge of the whole background decoding data . In unpacking the context should be the same as in packing. The context file is renewed each time it is used. For example: you packed the text of an agreement with the usage of the context, the context file was renewed and can not be used to unpack the received archive but the receiving party (in our example "office") has a yesterday's context identical to yours up to the latest packing, that is why the transmitted archive in the office will be unpacked and the context file will be renewed and identical to yours. If you want to ban renewal of the context file set it Read_Only. If the size of the text of the agreement surpasses 1 Mb, benefit from the usage of the mode "Taught Channel" will decrease. Example: ACB b jon"office jon.txt - John transmitted to the office a renewed text; ACB r jon"jon - the office unpacked the transmitted text. In the given example the name of the context file is convenient to be interpreted as address, for John it has the name "office" and in the office the name "jon". Agreements ACB - does not have a possibility to add/take out one or several files in/out of the archive - only all the data. Creating a multivolume archive the following agreements are observed: - 1Kb == 1024 bytes - name of the first volume *.00b...second *.01b...eleventh *.0ab...last *.acb - unpacking begins with *.00b - for EP-mode (Errors Protection) names *.??b are renamed *.??p - for EP-mode setting "multivolume archive"-mode (size of volume 6.5 Mb ) if there is no other set or set >6.5 Mb - files with attributes: hidden, system, read_only are placed to archive too - sizes of the sources data are not boundary, but the maximum separate file size is 64 Mb. Technical requirements: For work of ACB the following technical means are necessary: minimum - i486SX-33, RAM 8 Mb; recommended - Pentium-100 RAM 8 Mb; Operational systems are MS-DOS 6.0+, WINDOWS_3.1+(win32s) or WINDOWS_95. Usage of archives in the background mode under WINDOWS is effective. Note: For ACB-algorithm it is necessary to have 7.6Mb of free RAM (Conv.+Ext.), or if free memory is less, the program can be started under WINDOWS_3.1(win32s) or WINDOWS_95, as the program uses its swapping, that results in slower packing/unpacking in big sizes of data (with 3Mb free RAM slowing down can be noticed from 300 Kb of nonpacked data). Development of ACB-compression The ACB-algorithm is a stream algorithm which can be used in digital telecommunication networks. The Lempel-Ziv algorithm originally is also a stream one, but the compression coefficient demonstrated by archivators which use it, is achieved by adjusting the algorithm to a certain type of data at the expense of preliminary overview of the latter data, that is why these modifications are not stream ones, the original Lempel-Ziv algorithm demonstrates less compression coefficient. Besides, the ACB-compression coefficient grows asymptotically with the growth of associative frame, but for LZ exists an optimal size a dictionary for each type of data, the compression coefficient shows worse results in case of bigger sizes. Complexity of the ACB-algorithm realized in ACB.EXE Ver.1.13b : Time - O(N)=N*(Log2(N)+53) - estimation from above (for data "white noise"); RAM (byte) - S(N)=N*9.125+13000; where N - size of associative frame in bytes (820 Kb). Size of the ACB-algorithm code (packing+unpacking) - 14 Kb. ACB-algorithm of the packing/unpacking is symmetric. ACB-algorithm is published in magazine "Monitor" (Russia), N 8 for 1994. The usage of the ACB-algorithm in the mode "Taught Channel" - is of great interest - maximum compression of little amount of information transmitted by communication lines can be achieved by using all the information transmitted earlier by this information channel, besides reliable cryptographing is achieved - not knowing all the background of the channel, decoding is impossible in principle. The hardware support of the algorithm in the mode of the "Taught Channel" will allow to use advantages of the associative coding algorithm to the most extent. The mode "Taught Channel" will allow to decrease the size of the code by 30-80% of the common mode when compression is made without taking into account the channel background. The less the size of transmitted data in the current seance related the size of the data transmitted in the previous seances, the more advantage in the mode "Taught Channel". The ideas put in the ACB-algorithm can be used in other applied tasks: compression of AUDIO-VIDEO information, prognosis of dynamic series, images recognition, code correcting (discovery and correction of errors in data), building effective cache functions and etc. The Author of ACB is interested in financing these designs. Terms of using ACB.EXE Ver.1.13b - This SHAREWARE program is NOT REGISTERED for use in a business, commercial, government, or institutional environment except for evaluation purposes. - 49% of the license sales will be given to the person who has funded the licensing of the associative coding algorithm. WHAT IS NEW Overview of changes from v1.12a to v1.13b - Compression coefficient increased. - ACB v1.13? archive format is not compatible with older versions (<1.13?). - Little bugs fixed -------------------------------------------------------------------- This version of ACB is not yet a finished product, but I hope that someone finds it usefull even in it's current form. -------------------------------------------------------------------- Internet E-mail: george@acb.alma-ata.su fax:7_3272_623856 tel:7_3272_271317 If you think that work on improving the algorithm of associative coding should be continued, transfer US$ 50 on the account: S.W.I.F.T: ABKZKZKX, AT YR ALMATY BRANCH ACCOUNT 015117018