# US 5,710,919 A · Record compression

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 5,710,919 A
- Document ID: US5710919A
- Status: Granted
- Kind: A
- Application number: 08/536,872
- Filed: 1995-09-29
- Granted: 1998-01-20
- Earliest claimed: 1995-09-29
- Assignees: Electronic Data Systems Corporation
- Inventors: Peter D. Rail
- Web page: https://patentgrep.com/patent/US5710919A

## CPC

- H03M 7/46: Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
- G06F 16/284: {Relational databases}
- G06T 9/005: {Statistical coding, e.g. Huffman, run length coding}
- H03M 7/30: Compression (speech analysis-synthesis for redundancy reduction G10L19/00; for image communication H04N); Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- Y10S 707/99942: Manipulating data structure, e.g. compression, compaction, compilation
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- Y10S: TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

## Abstract

A system (10) for compressing and decompressing records includes a decompressed file (12) and a compressed file (14). A first record is stored in a first buffer (18) and a second record is stored in a second buffer (20). A vertical compression technique compares the first record and the second record, on a field-by-field basis, and replaces the field of the second record with a vertical repeat indicator if the field of the second record matches the corresponding field of the first record. A horizontal compression technique further compresses the second record by replacing adjacent matching characters with a horizontal repeat indicator.

## Claims

### Claim 1

A method performed on a computer for compressing a plurality of records, each record comprising a plurality of delimited fields, each field comprising at least one character, the method comprising:
comparing, on a field-by-field basis, a first record to a second record;
replacing each field of the second record with a vertical repeat indicator if the field of the second record matches the corresponding field of the first record; and
replacing adjacent matching characters in the second record with a horizontal repeat indicator.

### Claim 2 (depends on 1)

The method of claim 1, wherein the vertical repeat indicator is a ditto sign.

### Claim 3 (depends on 2)

The method of claim 2, wherein the horizontal repeat indicator comprises a character and a number indicating the repetitions of the character in the second record.

### Claim 4 (depends on 2)

The method of claim 2, wherein the horizontal repeat indicator comprises the vertical repeat indicator and a number indicating the repetitions of the vertical repeat indicator in the second record.

### Claim 5 (depends on 2)

The method of claim 2, wherein the records are sorted before the step of comparing.

### Claim 6 (depends on 2)

The method of claim 2, comprising the following steps:
converting the first record to produce a first machine format record; and
generating a second machine format record by utilizing fields of the first machine format record that correspond to vertical repeat indicators in the second record.

### Claim 7 (depends on 2)

The method of claim 2, comprising the following steps:
storing a decompressed second record before the steps of replacing;
comparing, on a field-by-field basis, a third record to the decompressed second record;
replacing each field of the third record with a vertical repeat indicator if the field of the third record matches the corresponding field of the decompressed second record; and
replacing adjacent matching characters in the third record with a horizontal repeat indicator.

### Claim 8

A data processing system for compressing a plurality of records, each record comprising a plurality of delimited fields, each field comprising at least one character, the data processing system comprising:
a first buffer operable to store a first record;
a second buffer operable to store a second record; and
a processor coupled to the first buffer and the second buffer, the processor operable to compare, on a field-by-field basis, the first record to the second record, the processor operable to replace each field of the second record with a vertical repeat indicator if the field of the second record matches the corresponding field of the first record, the processor further operable to replace adjacent matching characters in the second record with a horizontal repeat indicator.

### Claim 9 (depends on 8)

The data processing system of claim 8, wherein the vertical repeat indicator is a ditto sign.

### Claim 10 (depends on 8)

The data processing system of claim 8, wherein the processor sorts the delimited records before comparing.

### Claim 11 (depends on 8)

The data processing system of claim 8, wherein the first buffer and the second buffer store printable characters.

### Claim 12 (depends on 8)

The data processing system of claim 8, comprising:
a third buffer operable to store the resulting conversion of the first record to a first machine format record; and
a fourth buffer operable to store a second machine format record comprising fields of the first machine format record that correspond to vertical repeat indicators in the second record.

### Claim 13 (depends on 8)

The data processing system of claim 8, wherein the processor replaces adjacent matching characters in the second record with a horizontal repeat indicator.

### Claim 14 (depends on 13)

The data processing system of claim 13, wherein the horizontal repeat indicator comprises a character and a number indicating the repetitions of the character in the second record.

### Claim 15 (depends on 13)

The data processing system of claim 13, wherein the horizontal repeat indicator comprises the vertical repeat indicator and a number indicating the repetitions of the vertical repeat indicator in the second record.
