IP Library Granted Patent US 7,167,593
Granted Patent B2
US 7,167,593 · App. 11/046,287 · Granted Jan 23, 2007

System and method for incremental and continuous data compression

Assignee: Juniper Networks, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,167,593
App. No.
11/046,287
Granted
Jan 23, 2007
Kind
B2
Abstract

A data compression system and method for that is capable of detecting and eliminating repeated phrases of variable length within a window of virtually unlimited size.

Claims (43)

1. A method comprising:

receiving a data stream at a compression device;

detecting repeated data phrases in the received data stream, wherein each data phrase comprises a set of sequential data symbols within the data stream;

sending a set of library phrases associated with the repeated data phrases to a decompression device; and

sending a data phrase identifier associated with any of the library phrases in the set prior to receiving an acknowledgement from the decompression device that the set of library phrases was received.

2. The method of claim 1 , further comprising:

wherein sending a data phrase identifier prior to receiving an acknowledgement comprises waiting a time interval before sending the data phrase identifier; and

sending the data phrase identifier upon expiration of the time interval even when the acknowledgement from the decompression device was not received within the time interval.

3. The method of claim 2 , further comprising:

receiving an error signal from the decompression device indicating that the data phrase identifier was received by the decompression device before the set of library phrases; and

dynamically adjusting the time interval in response to the error signal.

4. The method of claim 3 , wherein dynamically adjusting the time interval comprises setting the time interval as a function of a number of error signals received from the decompression device.

5. The method of claim 1 , further comprising setting a time stamp indicating a time at which the set of library phrases is sent.

6. The method of claim 1 , further comprising:

maintaining a counter for a total number of transmitted and installed library phrases;

locally tagging each library phrase with a local installed counter based on the current value of the maintained counter;

tagging a packet of compressed data with a maximum value of the local installed counter for all of the library phrases referenced by any data phrase identifiers in the packet; and

sending the packet of compressed data to the decompression device.

7. The method of claim 6 , further comprising:

receiving the packet of compressed data at the decompression device;

determining that the maximum value tagged on the received packet is greater than the value of the maintained counter; and

sending an error signal in response to the determination.

8. A method comprising:

receiving a stream of compressed data at a decompression device, wherein the stream includes data phrase identifiers associated with library phrases, the library phrases stored at the decompression device;

maintaining a counter for a total number of received library phrases;

determining that the stream includes at least one data phrase identifier for which an associated library phrase is not stored at the decompression device when a maximum value tagged on a packet received in the stream is greater than a value of the counter; and

sending an error signal from the decompression device to the compression device in response to the determination.

9. A compression device comprising:

a compression unit that receives a data stream and detects repeated data phrases in the received data stream, wherein each data phrase comprises a set of sequential data symbols within the data stream; and

a transmission component to send a set of library phrases associated with the repeated data phrases to a decompression device and send a data phrase identifier associated with any of the library phrases in the set prior to receiving an acknowledgement from the decompression device that the set of library phrases was received.

10. The compression device of claim 9 , wherein the transmission component waits a time interval before sending the data phrase identifier, and sends the data phrase identifier upon expiration of the time interval even when the acknowledgement from the decompression device was not received within the time interval.

11. The compression device of claim 10 , wherein the compression unit receives an error signal from the decompression device indicating that the data phrase identifier was received by the decompression device before the set of library phrases and dynamically adjusts the time interval in response to the error signal.

12. The compression device of claim 11 , wherein the compression unit sets the time interval as a function of a number of error signals received from the decompression device.

13. The compression device of claim 9 , wherein the compression unit sets a time stamp indicating a time at which the set of library phrases is sent.

14. A decompression device comprising:

a decompression unit that receives a stream of compressed data, wherein the stream includes data phrase identifiers associated with library phrases;

a data structure for storing the library phrases;

a counter that indicates a total number of received library phrases, wherein the decompression unit determines that the stream includes at least one data phrase identifier for which an associated library phrase is not stored at the decompression device when a maximum value tagged on a packet received in the stream is greater than a value of the counter, and sends an error signal from the decompression device to the compression device in response to the determination.

15. A method comprising:

receiving a data stream at a compression device;

detecting repeated data phrases in the received data stream across a window size limited only by the amount of memory of the compression device; and

continuously and incrementally generating a compressed data stream with the compression device by replacing a repeated phrase with a data phrase identifier associated with a library phrase of the repeated phrase,

wherein the compression device generates the compressed data stream linearly in time and space.

Assignments (1)
CHANGE OF NAME Recorded Sep 16, 2005
From: PERIBIT NETWORKS, INC.
To: JUNIPER NETWORKS, INC.
Reel/Frame 016544/0594 →
Continuity (3)
Continuation 0987218400 · May 31, 2001
Provisional Application 6022126200 · Jul 25, 2000
Related Publication 20050169364A1 · Aug 4, 2005