Data compression method and apparatus utilizing an adaptive dictionary
First Claim
1. A method for compressing user data comprising the steps of:
- receiving a stream of user data organized into a plurality of records;
compressing the user data according to a compression algorithm by converting selected data to codewords using a dictionary derived from the user data, the user data so compressed being output from said compression algorithm and defining compressed data, said compression algorithm having a flush operation causing said compression algorithm to output substantially all of the selected user data undergoing compression up to a time of said flush operation, irrespective of a degree of compression attained;
starting a derivation of at least a second dictionary from the user data during compression thereof; and
carrying out a plurality of said flush operations between the beginning of consecutive dictionaries.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a method and apparatus for compressing user data and for storing the user data on magnetic tape. The user data is accepted and organized into a plurality of records. The user data is then compressed according to a compression algorithm involving converting at least some of the user data to codewords using a dictionary which is derived from the data. The compressed data is flushed from memory before a new dictionary is created. The user data may be written to magnetic tape after being organized into groups, the groups being independent of the record organization. A codeword indicating the start of a new dictionary is inserted at the beginning of a group and preferably at the beginning of the first record within a group. Records may be further organized into entities. A codeword indicating a flush operation is inserted following each entity and a codeword indicating the start of a new dictionary is inserted at the beginning of the first entity within a group.
57 Citations
18 Claims
-
1. A method for compressing user data comprising the steps of:
-
receiving a stream of user data organized into a plurality of records; compressing the user data according to a compression algorithm by converting selected data to codewords using a dictionary derived from the user data, the user data so compressed being output from said compression algorithm and defining compressed data, said compression algorithm having a flush operation causing said compression algorithm to output substantially all of the selected user data undergoing compression up to a time of said flush operation, irrespective of a degree of compression attained; starting a derivation of at least a second dictionary from the user data during compression thereof; and carrying out a plurality of said flush operations between the beginning of consecutive dictionaries. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus for compressing user data comprising:
-
interface means for receiving a stream of user data organized into a plurality of records; compression means for compressing the user data according to a compression algorithm involving converting selected user data to codewords using a dictionary derived from the user data, the user data so compressed being output from said compression means and defining compressed data; said compression means comprising a flush means for effecting a flush operation, said flush operation causing said compression means to output substantially all of the selected user data undergoing compression up to a time of said flush operation, irrespective of a degree of compression attained; reset means for starting a derivation of at least a second dictionary from the user data during compression thereof; and said flush means being arranged to carry out a plurality of said flush operations between the beginning of consecutive dictionaries. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification