throbber
O
`4,956,808
`1111 Patent Number:
`1191
`Umted States Patent
`
`Aakre et al.
`[45] Date of Patent:
`Sep. 11, 1990
`
`364/900
`358/135 X
`322222
`. 178/22.09 x
`364/900
`
`364/900
`358/260
`360/l9.l X
`
`
`
`1/1985 Heinz
`4.491.934
`4,541,012 9/1985 Teschcr
`:1:;:1s:;2;1:::'.29:m
`,
`,
`on o
`4,588,991
`5/1986 Atalla
`4,597,057
`6/1986 Snow
`-
`2:23;??? 3:2 1S3;:P";)afl
`,
`,
`cl
`4,641,263
`2/1987 Perlman el al.
`4,673,987
`6/1987 Toyokawa
`4,680,647
`7/1987 Moriyama
`
`OTHER PUBLICATIONS
`
`t
`
`°"°‘
`
`IBM Technical Disclosure Bulletin, vol. 22, No. 9, pp.
`4194-4195, Feb. 1980, “Use of a Single Microprocessor
`23: Di;SD—TageNStreaming 'ghro;gl:TTv1S/o Channlegi;
`ov,
`.A. an
`ewman,
`.
`., “ u er ystem."
`Technical Disclosure Bulletin, vol. 2, No. 5, Feb. 1960,
`pp. 86-89.
`.
`.
`.
`Z’t'""’J’ E;“’":"e’j,.D“"‘dBL'd‘f‘“: F
`‘’"'‘J’- 39"’ 0’ ‘""“ '3 ‘Y '
`[57]
`ABSTRACT
`A real time data transformation and transmission appa-
`ratus transforms data from a first data device and trans-
`£Z*§.f’i?oi’?.’;i‘§‘;“§§',Si‘f1,‘:1:f‘;‘E2‘i2Z:?,fL°,;‘iS1:¥.“i§E
`First data device. Data from the first data device is di-
`vided into blocks and is compressed by a compression
`'
`device and written into a buffer. A controller controls
`the buffer to transmltcompressed data to
`second
`.
`.
`data device as a function of the data receiving rate of
`:1‘? 5°°°“é1d11:13 ‘Peedglm P'°;’1df°$
`bgfeg C311‘
`3 -
`3135 3 Pr
`9 "mu
`3310"“ O
`3
`5
`11 31'
`is transmitting data,
`the compressor is compressing
`further blocks of data which are being written to the
`buffer such that the predetermined amount of data is
`1
`11'
`11,
`1, ff
`1 1'
`111-,
`1,
`1:1
`1
`-
`Lilifngma 131031 Z'1"§ZZ.°"l‘-”11‘1’s°.§.‘fs'L'.’es 3.3." c2i..§,?2fe
`blocks of data are transmitted to the second data me-
`d.
`h d
`.
`.
`f th
`d d t
`lum at t e ata receiving rate 0
`a a me-
`‘Wm-
`
`e secon
`
`20 Claims, 3 Drawing Sheets
`
`[54] REAL TINIE DATA TRANSFORMATION
`AND TRANSMISSION ovERLApp[NG
`
`[75]
`
`Inventors: David E. Aakre, Kasson; Roy L.
`Hoffman, Pine Island; David N.
`Moen; Quentin G. Sclunierer, both of
`R h
`’
`'
`.
`°° ester an °f Mm“
`International Business Machines
`Corporation, Armonk, N.Y.
`
`[73] Assignee:
`
`[2]] App]. No.: 54,111
`
`[22] Filed:
`
`May 20, 1987
`
`Rented us, Appucgfion Dan
`.
`,
`1531
`§§:;“““°“ °‘ 5°" "°- ‘89*5‘*5= ’"'- 7’ 1935- 9"”
`'
`[51]
`Int. CL5 .............................................. .. G06F 5/06
`[52] U.S. Cl. ....................................... 364/900; 380/49
`[53] Field of Search
`364/200 MS File, 900 MS File;
`358/260, 261, 261.1, 261.2, 433, 442;
`381/314 31 380/42’ 49' 48’ 50
`References Cited
`mwr oocvmrs
`T964004 11/1977 Davy ................................... 358/260
`3368-870
`8/1965 Chalk“: ~11" 9131-
`- 354/900
`.
`.
`11
`.. ..... . ... .
`. . ...
`3-2313: 3;”; ‘:V1i’l1::’ ‘*1 31'
`'''''-''
`''-'''-332x83
`3358981
`5/1976 Ehrsam eta]
`178/22.05 X
`.
`.
`ng
`364/900
`4 02] 782
`5/1977 Hocmi
`4.040.027
`8/1977 Van Es et al
`364/900
`4,107,775
`8/1978 Ott ................ ..
`364/900 X
`4,159,517 6/1979 Pafadine e-131.
`354/zoo
`4,195,200
`3/1980 Fcistcl
`178/22.19 X
`4.228.501 10/1980 Frissell .
`364/200
`4.258.-118- 3/1981 Heath ............ ..
`364/200
`4.302.775 M981 wwersren er at
`358/13 x
`4'314'355
`2/1982 Leigm" C131‘ '
`364/900
`4,330,844
`5/1982 Dubuc .. ... . . . .. . . ,
`... .. 364/900
`4_36o_840 H/1982 wolfmm 6‘ al.
`358/261
`5/1983 Kondo et al.
`358/431
`4,386,373
`
`5/1984 Price et al.
`4.447,873
`4,467,354
`13/1984
`
`
`
`
`
`[56]
`
`Oracle 1011
`Oracle 101 1
`
`
`
`FHEV 1 UJS
`I 20
`C6119‘-£55ICQ:ES§
`
`DGES5
`me»
`2261512»
`Bfifilsiafi
`H3
`E
`E
`
`
`
`
`

`
`U.S. Pate11t
`
`Slep. 11,1990
`
`Sheet 1 of3
`
`4,956,808
`
`10
`/
`
`16
`
`18
`
`24
`
`COMPRESSOR
`
`
`
`
`
`SECOND
`DATA
`MEDIUM
`
`BUFFER
`
`
`
`30
`
`
`
`CONTROLLER
`
`28
`
`32
`
`
`
`FIG.
`
`1
`
`12
`
`
`
`FIRST
`DATA
`MEDIUM
`
`
`
`
`

`
`U.S. Patent
`
`Sep. 11, 1
`
`mm.:m_
`
`Sheet2of3
`
`4,956,808
`
`on:3..}2_MDmfl
`flflmm_
`1|.1:
`
`_S_om.
`
`mo.
`
`muH>mo
`
`mmuzmaomm
`
`mm.
`
`«S92
`2:Id
`
`om
`
`mzmaammmmmzou
`
`mN
`
`<m.uHumy
`mzumamm<¢zou
`
`flflW
`
`mm<u:ou
`
`mo
`
`
`
`
`.mmtomIII.mobm.m_mmm:um..Hmum~_mmwmmmumm
`
`HMgm,..
`
`
`
`
`
` om[my1lIIIllIllijjnnlu--Jj
`
`
`
`
`

`
`U.S. Patent
`
`Sep.11,l990
`
`Sheet 3 of3
`
`4,956,808.
`
`om.j:1:
`
`m:oH>mma
`
`mmmmoo<
`
`mm»mHumm
`
`mfla
`
`mmmm
`
`muH>
`
`mmhmHomm
`
`mama
`
`mum
`
`mmmmoo<
`
`mmHmHomm
`
`Mafia
`
`mmmmazou
`
`mmmmooq
`
`mm»mHumm
`
`0:
`
`om_
`
`mm.07..
`
`
`
`
`
`
`

`
`1
`
`4,956,808
`
`REAL TIME DATA TRANSFORMATION AND
`TRANSMISSION OVERLAPPING DEVICE
`
`This is a continuation of co-pending application Ser.
`No. 689,545 filed on 1/7/85, now abandoned.
`
`BACKGROUND OF THE INVENTION
`1. Field of the Invention
`This invention relates to data transformation and
`transmission, and in particular to a device for compress-
`ing data from a fast access storage device and for trans-
`mitting compressed data to a slower medium.
`2. Description of the Prior Art
`Compression or transformation of data usually results
`in an irregular flow of compressed data which is not
`conducive to efficient recording on magnetic tape or
`transmitting over communication channels with reason-
`able efficiency. Computers with large, volatile direct
`access main storage devices usually require that the data
`contained therein be saved on nonvolatile, removable
`media such as tape for archival and backup purposes.
`The amount of data to be stored in conjunction with the
`relatively slow sequential access speed of tape storage
`devices compared to the fast access speed of direct
`access storage devices has led to significant efforts to
`compress data and to increase the speed of tape storage
`devices. However, there is still a disparity in their rela-
`tive speeds which is usually dealt with by fust storing
`blocks of data from the direct access storage device into
`a buffer which is dedicated to providing dam to tape
`during save operations.
`In U.S. Pat. No. 4,360,840 to Wolfrum et al, data is
`compressed in real time as it is produced by a facsimile
`raster scamier and stored in a buffer for transmission.
`Data is not transmitted until a full page of text has been
`compressed and stored. While this procedure reduces
`the amount of buffer space required to store a page of
`data, it does not address the problem of transmitting the
`data from the buffer while it is being compressed. This
`can result in loss of valuable transmission time and pos-
`sibly require larger storage devices to store a full page
`of text.
`
`U.S. Pat. No. 3,490,690 to Apple et al relates to com-
`pression of an instruction trace and recording the com-
`pressed data to tape. Compressed data is written to tape
`and sections of data are dropped and not recorded when
`the tape gets behind or “no data“ characters are re-
`corded on the tape when the tape gets ahead. This re-
`sults in lost data and does not optimize the data storage
`capability of the tape.
`SUMMARY OF THE INVENTION
`
`A real time data transformation and transformed data
`transmission device is provided which compresses data
`provided from a first data medium and provides the
`compressed data to a second data medium which ac-
`cepts data at a rate slower than the rate at which the
`first data medium provides data. The compressed data is
`provided to the second data medium as required by the
`second data medium to operate in an efficient manner.
`A transformation means receives a first block of data
`from the first data medium and compresses the data into
`a corresponding block of compressed data which is
`preferably smaller than the uncompressed block of data.
`A buffer means receives the compressed data and stores
`blocks of compressed data for provision to the second
`data medium. A control means is coupled to the trans-
`
`5
`
`l0
`
`I5
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`formation means and to the buffer means for controlling
`the buffer means to provide a continuous flow of com-
`pressed data to the second data medium as a function of
`the data acceptance rate of the second data medium.
`Overlapped with the provision of compressed data to
`the second data medium, the control means also causes
`the transformation means to compress a second block of
`data into the buffer means as a function of the amount of
`usable free space in the buffer means.
`In the preferred embodiment, the first data medium is
`a direct access storage device of a computer which
`periodically has its data saved onto the second medium
`which is a tape storage device. The tape storage device
`receives data at a rate compatible with constant opera-
`tion of the tape storage device so that the tape need not
`be stopped and restarted which considerably slows the
`save operation. Data which is stored to the tape is com-
`pressed in accordance with a desired compression
`scheme to increase data density on the tape which re-
`duces the number of tapes needed for the save operation
`and reduces the time required to store data on tape.
`The first block of data from the direct access storage
`device is compressed and stored in the buffer means.
`Once the entire first block of data is stored in the buffer
`means, a write to tape operation begins. While the first
`block of data is being written to tape, the control means
`coordinates the writing to the buffer means of the sec-
`ond block of data. Since the data transfer rate of the
`direct access storage device is much greater than the
`data receiving rate of the tape device, the second block
`of data is preferably written into the buffer means be-
`fore the first block of data is completely written to the
`tape. The second block of data is then written to tape,
`while a third block of data is compressed to the buffer
`means in whatever free space exists. The control means
`assures that data in the buffer is not lost while blocks are
`being stored and written at the same time; the control
`means also allocates buffer cycles between storing and
`writing data, with writing data to the tape having prior-
`ity over the storing of compressed data from the direct
`access storage device.
`The storing and writing of compressed blocks of data
`continues until all the desired data is saved on tape. The
`tape is run in a continuous or streaming mode unless
`there is not a complete block of compressed data avail-
`able from the buffer means to prevent under running of
`the tape.
`In the event that there is not a complete block of data
`available from the buffer means, the tape will stop in an
`interblock gap until a complete block is available. The
`storage capacity of the buffer means is chosen to be
`large enough to hold the largest possible block of data
`which has been compressed. In some instances this may
`be larger than the block of data to be compressed if the
`block of data does not lend itself to compression. With
`that size buffer means, and considering the data transfer
`rates of the direct access storage device and the tape
`device, and the transformation or compression charac-
`teristics of the data to be saved, the availability of a
`complete block of compressed data from the buffer
`means when required by the tape device is virtually
`assured.
`In an alternate embodiment, data is compressed or
`transformed and stored in the buffer means. Coordina-
`tion of the overlapping of transforming and storing data
`in the buffer means with writing to and from tape is
`based on the amount of compressed data stored in the
`buffer means. In this embodiment, the size of the buffer
`
`

`
`4,956,808
`
`3
`means is determined as a function of the data transfer
`rates of the direct access storage device and the tape
`device, and the transformation characteristics of the
`data to be saved such that transformed data is always
`available when requested by the tape device.
`The present invention has the advantage of compress-
`ing data in real time as defined by the tape device re-
`quirements for data. This permits the data to be com-
`pressed to its limit in accordance with the selected com-
`pression technique and be written to tape as fast as the
`tape accepts the data. Fewer tapes are required for a
`save operation because the data is compressed to its
`limit. Because the compression and writing to tape are
`overlapped a desired amount as a function of the prede-
`termined size of the blocks of data, the tape operates in
`a continuous or streaming mode thus reducing the time
`required for the save operation.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a simplified block diagram of a real time
`data transformation and transmission overlapping de-
`vice in accordance with the present invention; and
`FIGS. 2A and 2B, the left side of 2A mating with the
`right side of 2B, are a schematic block diagram of the
`data transformation and transmission overlapping de-
`vice of FIG. 1.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`time data transformation and transmission
`A real
`device is indicated generally at 10 in FIG. 1. A first data
`medium 12 such as a direct access storage device of a
`computer is coupled by a line 14 to a data transforma-
`tion means 16 (also referred to as data compressor I6)
`which transforms data as by compression, encryption or
`other forms of data transformation. The lines referred to
`herein comprise busses, coaxial cable, optical fibers or
`other appropriate communicative means. In the pre-
`ferred embodiment, data compressor 16 receives a
`block of data_from first data medium 12 and compresses
`the block of data by removing redundant data bytes or
`characters which are typically randomly scattered
`throughout the block of data.
`Data compressor 16 provides the compressed data to
`a buffer 18 along a line 20. Buffer 18 comprises a dy-
`namic random access memory and provides compressed
`data to a second data medium 24 on a line 26. Second
`data medium 24 has a data transfer rate which is usually
`slower than the data transfer rate of first data medium
`12.
`In one functional embodiment, second data medium
`24 is a magnetic tape unit such as an IBM model 3430,
`having known start and stop times and first data me-
`dium 12 is a random access storage device such as an
`IBM model 3370. When a section of data contains a
`series of redundant bytes, a gap during which no data is
`provided to buffer 18 occurs. If data were written from
`the buffer 18 directly to the second data medium 24 as
`the data is being compressed, the gap would cause sec-
`ond data medium 24 to stop and rewind the tape to the
`correct point to start receiving data again.
`To solve this problem, a control means or controller
`28 is coupled between compressor 16 by a line 30 and
`buffer 18 by a line 32. Controller 28 determines when a
`block of data has been compressed by compressor 16
`and written to buffer 18. Controller 28 then initiates the
`writing of that block of data to the second data medium
`24 at a rate determined by second data medium 24 re-
`
`4
`quests for bytes of data. While the data is being trans-
`mitted to the second data medium 24, a next block of
`data is compressed by compressor 16 as controlled by
`controller 28. The next block of data is compressed into
`buffer 18, which is a first in, first out data buffer, before
`the first block of compressed data is completely trans-
`mitted to the second data medium 24 such that the sec-
`ond data medium 24 operates in a streaming mode and
`is not required to stop and start during a block or be-
`tween data blocks.
`In FIGS. 2A and 2B, a hardware implementation of a
`Systems Network Architecture (SNA) compression
`algorithm used, and the apparatus of the present inven-
`tion is shown. The block of data is received from a
`storage device 34 one byte at a time on a line 36 and is
`written into a first register 38 and then into a second
`register 40 via a line 42 while the next byte of data is
`written into first register 38 such that the registers con-
`tain sequential bytes of the block of data.
`A first comparator 44 receives the first byte of data in
`second register 40 on a line 46, the second byte of data
`in first register 38, and a prime or preselected byte on a
`line 48 from a memory device 52. First comparator 44
`compares the first and second bytes of data with the
`prime byte to determine if the data contains a series of at
`least two prime bytes. A second comparator 54 receives
`the first data byte on line 46, the second data byte on
`line 42 and a third data byte on line 36 to determine if
`there is a series of at least three identical bytes. A series
`of at least three identical bytes of data which are not the
`same as the prime byte, detected in this manner are
`referred to as a nonprime series. If no prime or non-
`prime series are detected, the condition is referred to as
`mixed data.
`Mixed data bytes are written into a buffer 58 which is
`coupled by a line 60 through a selector 62 to line 46.
`Selector 62 is controlled by a compress sequencer 64
`which receives information identifying the type of data
`series from first comparator 44 and second comparator
`54 on lines 68 and 70 respectively. From this informa-
`tion, compress sequencer 64 controls formation of a
`string control byte (SCB) by a SCB coder 72. SCB
`coder 72 forms the SCB as a function of information
`provided from compress sequencer 64 on a line 74. The
`information and hence the SCB is representative of the
`type of series of bytes and indicates the number of bytes
`in the particular series of bytes it represents.
`By controlling selector 62 via a line 78, compress
`sequencer 64 controls the content and order in which
`data provided to selector 62 by second register 40 via
`line 46 and SCBs provided to selector 62 from SCB
`coder 72 on a line 79, are written into buffer 58. In the
`case of a prime series, the SCB is not followed by data
`bytes because the prime byte is predefined in memory
`device 52. An SCB indicating a nonprime series is fol-
`lowed by a data byte of the repeated character. An SCB
`indicating mixed data is followed by all bytes of the
`mixed data.
`
`Using the above SNA compression scheme, data is
`usually compressed more than 50 percent. In the pre-
`ferred embodiment, an SCB is a byte of data having 2
`bits defining the type of series it represents, and 6 bits
`which represent the number of bytes of data in the series
`up to 63. Buffer 58 is capable of storing 32,768 bytes. If
`a block is all mixed data, the data will expand by one
`byte, the SCB, for each 63 bytes of data. Therefore, the
`size of a block of data to be compressed was predeter-
`
`[0
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`65
`
`

`
`5
`mined to be 32,256 bytes so that it will always fit in
`buffer 58 when compressed.
`Use of other compression or encryption routines is
`within the scope of the present invention. The particu-
`lar routine described above is implemented in hardware
`to obtain a desired high speed of compression.
`Compress sequencer 64 is coupled to first register 38
`and second register 40 by a line 80 to shift data from line
`36 into first register 38 and to shift data from first regis-
`ter 38 to second register 40. Compress sequencer 64 also
`indicates to a compress address register 110 in FIG. 2B
`by a line 112, the correct buffer 58 address for data to be
`written into. Compress sequencer 64 is coupled to a
`SCB address register 114 by a line 116 and to a previous
`address register 118 by a line 120. SCB address register
`114 contains the buffer 58 address for the SCB indicat-
`ing the type of data run it precedes.
`SCBs are written to buffer 58 at a time after a run of
`mixed data occurs because the SCB indicates the length
`of the run which is not known until the run of mixed
`data is finished. However, the address of‘ the SCB pre-
`cedes the data whether it is mixed or nonprime. Previ-
`ous address register 118 contains the address of the last
`byte of the last previously compressed block in buffer
`58. An address selector 124 which is coupled to com-
`press address register 110 and SCB address register 114
`by lines 126 and 128 respectively provides buffer 58
`with the appropriate address for data and SCBs on a line
`129 as they are written into buffer 58. SCB address
`register 114 receives an address from compress address
`register 110 on line 126 when initiated by compress
`sequencer 64 on line 116.
`A buffer controller 132 is coupled to address selector
`124 by a line 134 and initiates selection and provision of
`the address to buffer 58 by address selector 124. Buffer
`controller 132 is coupled to compress sequencer 64 by
`lines 136 and 138. Buffer controller 132 grants a buffer
`cycle to compress sequencer 64 on line 136, and com-
`press sequencer 64 indicates on line 138 that a byte of
`data or a SCI} is available to be written to buffer 58 and
`the buffer address has been updated. In this manner, a
`block of data is compressed and written to buffer 58.
`Once a complete block of compressed data is avail-
`able from buffer 58, the block is transmitted to a set of
`latches 150 over a line 152. The availability of a com-
`plete block of compressed data is indicated by a finished
`block line 139, which is set responsive to a complete
`block of data having been transferred from data storage
`device 34 to first register 38. Finished block line 139 is
`coupled to compress sequencer 64 which initiates trans-
`mission of the compressed block of data. Compress
`sequencer 64 is also coupled to storage medium 34 by a
`line 141 to initiate transfer of data from storage medium
`34 to first register 38.
`The second data medium indicated at 154 receives the
`compressed data from latches 150 at the rate required
`by second data medium 154. A device sequencer 158 is
`coupled to second data medium 154 by lines 160 and
`162. Line 160 provides requests for bytes of data from
`second data medium 154. Line 162 provides an indica-
`tion to second data medium 154 that a compressed block
`of data has been provided to second data medium 154.
`Device sequencer 158 is also coupled to buffer con-
`trol 132 by line 164 which provides requests for a buffer
`58 cycle from second data medium 154. Device se-
`quencer 158 increments a device address register 170
`over a line 172 such that the device address register 170
`contains the address of the byte to be written to latches
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4,956,808
`
`6
`150 from buffer 58. The device address indicated by
`device address register 170 is provided by a line 174 to
`selector 124 for provision to buffer 58.
`The device address is also provided to a previous
`address comparator 176 and a compress address com-
`parator 178 by line 174. The previous address compara-
`tor 176 compares the device address to the previous
`address indicating the address of the last byte of the
`latest block of data completely written to buffer 58. The
`previous address is provided to the previous address
`comparator 176 by the previous address register 118 on
`a line 180. The previous address is not inserted into
`previous address register 118 until a complete block is
`written to buffer 58.
`When a comparison is indicated on a line 182 which
`is coupled to device sequencer 158, device sequencer
`158 stops the transmission of compressed data from
`buffer 58 to second data medium 154 because a com-
`plete block of data has been transmitted. The previous
`address is not changed before a block is completely
`transmitted to second data medium 154. A desired inter-
`block gap is then established on second data medium
`154 while the previous address is changed and the next
`block of compressed data is transmitted without inter-
`ruption of the operation of second data medium 154.
`Thus, second data medium 154 can operate efficiently in
`a streaming or a start stop mode.
`Compress address comparator 178 is coupled to line
`126 to receive the address contained in compress ad-
`dress register 110 which indicates the present address of
`the buffer 58 that data is being written into. An address
`in device address register 170 equal to an address in
`compress address register 110 indicates that data is
`available to be written into buffer 58, but that previ-
`ously compressed data from that address has not yet
`been transmitted to second data medium 154. Compress
`address comparator 178 is coupled by a line 182 to
`buffer control 132 to prevent the grant of a buffer cycle
`to compress sequencer 64 and thus ensure that data is
`not written to buffer 58 until data having the same ad-
`dress is transmitted to second data medium 154.
`In a further preferred embodiment, previous address
`register 118 is loaded with a buffer 58 address at which
`compressed data is stored which is a desired number of
`bytes from the byte currently being written to second
`data medium 154. The number of bytes is predetennined
`as a function of the relative data transfer rates of storage
`device 34 and second data medium 154 together with
`the predicted transformation characteristics of the data
`in storage device 34. This permits data to be arranged in
`other than compressed blocks of a size defined by the
`compressibility of the data. Since the address in previ-
`ous address register H8 is changing as data is being
`written to second data medium 154, second data me-
`dium 154 arranges the data to best suit its characteris-
`tics. Interblock gaps are inserted by second data me-
`dium 154 where and if desired.
`In yet a further preferred embodiment, the second
`data medium 154 comprises an interface to a communi-
`cation system such as a packet switching system. In this
`embodiment, buffer 58 provides compressed packets to
`second data medium 154 as a function of the transmis-
`sion bandwidth of the second data medium. Buffer 58
`serves as a buffer to both the compression characteris-
`tics of the packet and access irregularities to the second
`data medium. thus ensuring the availability of a com-
`pressed packet for transmission.
`
`

`
`4,956,808
`
`8
`the second data medium is initiated by the control
`means.
`
`7
`Buffer controller 132 prioritizes access to buffer 58.
`Buffer 58 access is requested by device sequencer 158
`on line [64, compress sequencer 64 on line 138 and a
`refresh controller(not shown) when buffer 58 is a dy-
`namic memory. Highest priority is given to device se-
`quencer 15!! followed by compress sequencer 64. Low-
`est priority is given to refresh. If all three request access
`simultaneously, buffer controller 132 grants priority as
`described above. In doing this,
`it places priority on
`transmitting data to second data medium 154 to keep
`second data medium 154 operating in a continuous man-
`ner. Thus, data is saved in a minimal amount of time
`with the use of a minimum amount of second data me-
`dium 154, whether it be magnetic tape or transmission
`bandwidth.
`While the invention has been shown and described
`with reference to preferred embodiments thereof, it will
`be understood by those skilled in the art that various
`changes in form and details may be made therein with-
`out departing from the spirit and scope of the invention.
`What is claimed is:
`1. Real
`time data transformation and transmission
`apparatus for overlapping transformation of blocks of
`data provided from a first data medium which has a
`selected data transfer rate and transmission of the trans-
`formed blocks of data to a second data medium which
`has a selected data receiving rate, said apparatus com-
`prising:
`transformation means coupled to the first data me-
`dium for transforming blocks of data received from
`the first data medium into variable size blocks of
`transformed data and providing said transformed
`data of an irregular rate;
`buffer means coupled to the transformation means
`and to the second data medium for storing the
`transformed data and transmitting the transformed
`data to the second data medium; and
`control means coupled to the transformation means
`and to the buffer means for controlling the trans-
`formation means to provide transformed data to
`the buffer means as a function of the amount of data
`in the buffer means and controlling the buffer
`means to transmit the transformed data to the sec-
`ond data medium as a function of the data receiving
`rate of the seond data medium provided that the
`buffer means contains a predetermined amount of
`data sufficient to ensure that each block of trans-
`formed data is transmitted to the second data me-
`dium continuously at the data receiving rate of the
`second data medium.
`2. The apparatus of claim 1 wherein the predeter-
`mined amount of data comprises a block containing a
`selected number of bytes of transformed data.
`3. The apparatus of claim 1 wherein the predeter-
`mined amount of data comprises a block containing a
`selected number of bytes of data from the first data
`medium prior to transformation, and wherein the con-
`trol means controls the buffer means such that a com-
`plete block of data is compressed into the buffer means
`before transmission of the transformed data to the sec-
`ond data medium is initiated by the control means.
`4. The apparatus of claim 1 wherein the predeter-
`mined amount of data is equal to blocks of data of a
`selected size and the control means controls the buffer
`means such that a complete block of data is transformed
`and stored into the buffer means by the transformation
`means before transmission of the transformed data to
`
`5. The apparatus of claim 1 wherein the control
`means controls the amount of data stored in the buffer
`means to be at least equal to a predetermined amount of
`data such that the second data medium receives trans-
`formed data at a substantially continuous rate.
`6. The apparatus of claim I wherein the second data
`medium comprises a magnetic tape device operating in
`a streaming mode.
`7. The apparatus of claim 1 wherein the data transfer
`rate of the first data medium is substantially greater than
`the data transfer rate of the tape device.
`8. The apparatus of claim 1 wherein the second data
`medium comprises a magnetic tape device operating in
`a start/stop mode.
`9. The apparatus of claim 1 wherein the transforma-
`tion means comprises a data compression means for
`compressing the data from the first data medium.
`10. The apparatus of claim I wherein the data com-
`prises blocks of characters, said data compression means
`compressing the blocks of characters as a function of
`redundant sequential bytes of data.
`11. The apparatus of claim 1 wherein the transforma-
`tion means comprises a data encryption means for en-
`crypting the data from the first data medium.
`12. The apparatus of claim 11 wherein the transfor-
`mation means compresses data at a rate which is greater
`than the data receiving rate of the second data medium.
`13. The apparatus of claim I wherein the buffer
`means comprises a first in, first out buffer which re-
`ceives transformed data from the transformation means
`and provides the data to the second data medium as
`requested by the second data medium for substantially
`continuous operation of the second data medium.
`14. Real time data compression and transmission ap-
`paratus for overlapping compression of blocks of data
`provided at a first data transfer rate and transmission of
`the compressed data to a data medium which has a
`second, lower, data transfer rate, said apparatus com-
`prising:
`compression means for receiving the blocks of data at
`said first
`transfer rate and compressing said re-
`ceived data into variable size blocks of compressed
`data;
`buffer means coupled to said compression means and
`to the data medium for storing the blocks of com-
`pressed data and transmitting the compressed data
`to said data medium;
`control means coupled to the compression means and
`to the buffer means for controlling the compression
`means to provide compressed data to the buffer
`means as a function of the amount of data in said
`buffer means and controlling the buffer means to
`transmit the compressed data to the data medium at
`said second transfer rate; and
`end of block detection means coupled to said buffer
`means for providing a signal to said control means
`indicating an end of a variable size block of com-
`pressed data said control means being responsive to
`said signal
`to temiinate transmission unless said
`signal indicates that a complete, additional, block
`of compressed data is stored in said buffer.
`15. The real time data compression and transmission
`apparatus of claim 14 wherein the data medium com-
`prises a tape storage device, and the control means
`coordinates compression and transmission of blocks of
`
`l0
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`65
`
`

`
`9
`data in a manner such that the tape storage device effi-
`ciently stores the blocks of compressed data.
`16. The real time data compression and transmission
`apparatus of claim 14 and further comprising a memory
`coupled to the compression means for storing blocks of
`data. to be compressed, said first memory having a high
`data transfer rate in comparison to the second medium.
`17. The real time data compression and transmission
`apparatus of claim 16 wherein the compression means is
`a hardwired compressor, and supplies blocks of com-
`pressed data at substantially the same rate as blocks of
`data to be compressed are supplied to the compression
`means from the memory.
`18. The real time data compression and transmission
`apparatus of claim 14 wherein the control means initi-
`ates compression of a further block of data upon detec-
`tion of an end of a block of compressed data during
`transmission of com

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket