IP Library Granted Patent US 7,224,297
Granted Patent B2
US 7,224,297 · App. 11/265,491 · Granted May 29, 2007

Compressing log files

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,224,297
App. No.
11/265,491
Granted
May 29, 2007
Kind
B2
Abstract

Data is compressed, which includes first through sixth patterns having respective first through sixth values, where the first pattern precedes the second pattern in the data, the third pattern precedes the fourth pattern in the data, and the fifth pattern precedes the sixth pattern in the data. Compression includes outputting a first code and the second value if the second value exceeds the first value by more than a predetermined amount, outputting a second code and a difference between the third and fourth values if the fourth value does not exceed the third value by more than the predetermined amount, and outputting the fifth value and the sixth value if the sixth value exceeds the fifth value by a predefined number.

Claims (66)

1. A method of compressing data comprised of first through sixth patterns having respective first through sixth values, where the first pattern precedes the second pattern in the data, the third pattern precedes the fourth pattern in the data, and the fifth pattern precedes the sixth pattern in the data, the method comprising:

providing first compressed data comprising a first code and the second value if the second value exceeds the first value by more than a predetermined amount;

providing second compressed data comprising a second code and a difference between the third and fourth values if the fourth value does not exceed the third value by more than the predetermined amount;

providing third compressed data comprising the fifth value and the sixth value if the sixth value exceeds the fifth value by a predefined number; and

storing, in memory, at least one of the first compressed data, the second compressed data, and the third compressed data.

2. The method of claim 1 , further comprising:

scanning the data for a pattern that repeats; and

replacing the pattern that repeats with a run-length value.

3. The method of claim 1 , wherein the data comprises a string comprised of the first through sixth patterns; and

wherein the first and second patterns are adjacent in the string, the third and fourth patterns are adjacent in the string, and the fifth and sixth patterns are adjacent in the string.

4. The method of claim 1 , wherein the data comprises date information that is part of a log file of a Web server.

5. The method of claim 1 , further comprising:

providing the second code and a difference between the first and second values if the second value does not exceed the first value by more than the predetermined amount; and

providing the first code and the third value if the fourth value exceeds the third value by more than the predetermined amount.

6. A method of compressing data comprised of a sequence of data strings, the method comprising:

providing first compressed data comprising a first code for a first data string that occurs more than once in the data;

providing second compressed data comprising a second code and a corresponding second string identifier for a second data string in the data, the second string identifier being predefined;

providing third compressed data comprising a third code, a corresponding third string length, and a corresponding third string identifier for a third data string in the data;

providing fourth compressed data comprising a fourth code and a corresponding fourth run length value for a fourth data string that occurs repeatedly in the data, the fourth run length value corresponding to a number of consecutive repetitions of the fourth data string; and

storing, in memory, at least one of the first compressed data, the second compressed data, the third compressed data, and the fourth compressed data.

7. The method of claim 6 , further comprising:

providing, along with the first code, a corresponding first run length value for the first data string, the first run length value corresponding to a number of consecutive repetitions of the first data string.

8. The method of claim 6 , further comprising:

identifying the first data string in the data; and

storing the first code;

wherein providing the first compressed data comprises encountering the first data string and retrieving the first code for output.

9. The method of claim 6 , wherein the first code is stored in a table that indexes the first code to the first data string.

10. A method of compressing data, the method comprising:

storing compression rules in association with corresponding user request identifiers (URIs), wherein different URIs are associated with one or more arguments having different structures, and each compression rule is associated with a URI and is for compressing at least one argument having a fixed structure that is associated with the URI

receiving an input argument, the input argument corresponding to a URI;

identifying a stored compression rule by matching the URI of the input argument to the URI of the stored compression rule;

compressing the input argument according to the stored compression rule to produce a compressed input argument; and

storing the compressed input argument in memory.

11. One or more machine-readable media for storing instructions to compress data comprised of first through sixth patterns having respective first through sixth values, where the first pattern precedes the second pattern in the data, the third pattern precedes the fourth pattern in the data, and the fifth pattern precedes the sixth pattern in the data, the instructions for causing one or more processing devices to:

provide first compressed data comprising a first code and the second value if the second value exceeds the first value by more than a predetermined amount;

provide second compressed data comprising a second code and a difference between the third and fourth values if the fourth value does not exceed the third value by more than the predetermined amount;

provide third compressed data comprising the fifth value and the sixth value if the sixth value exceeds the fifth value by a predefined number; and

store, in memory, at least one of the first compressed data, the second compressed data, and the third compressed data.

12. The one or more machine-readable media of claim 11 , further comprising instructions that cause the one or more processing devices to:

scan the data for a pattern that repeats; and

replace the pattern that repeats with a run-length value.

13. The one or more machine-readable media of claim 11 , wherein the data comprises a string comprised of the first through sixth patterns; and

wherein the first and second patterns are adjacent in the string, the third and fourth patterns are adjacent in the string, and the fifth and sixth patterns are adjacent in the string.

14. The one or more machine-readable media of claim 11 , wherein the data comprises date information that is part of a log file of a Web server.

15. The one or more machine-readable media of claim 11 , further comprising instructions that cause the one or more processing devices to:

provide the second code and a difference between the first and second values if the second value does not exceed the first value by more than the predetermined amount; and

provide the first code and the third value if the fourth value exceeds the third value by more than the predetermined amount.

16. One or more machine-readable media for storing instructions to compress data comprised of a sequence of data strings, the instructions for causing one or more processing devices to:

provide first compressed data comprising a first code for a first data string that occurs more than once in the data;

provide second compressed data comprising a second code and a corresponding second string identifier for a second data string in the data, the second string identifier being predefined;

provide third compressed data comprising a third code, a corresponding third string length, and a corresponding third string identifier for a third data string in the data;

provide fourth compressed data comprising a fourth code and a corresponding fourth run length value for a fourth data string that occurs repeatedly in the data, the fourth run length value corresponding to a number of consecutive repetitions of the fourth data string; and

store, in memory, at least one of the first compressed data, the second compressed data, the third compressed data, and the fourth compressed data.

17. The one or more machine-readable media of claim 16 , further comprising instructions that cause the one or more processing devices to:

provide, along with the first code, a corresponding first run length value for the first data string, the first run length value corresponding to a number of consecutive repetitions of the first data string.

18. The one or more machine-readable media of claim 16 , further comprising instructions that cause the one or more processing devices to:

identify the first data string in the data; and

store the first code;

wherein providing the first compressed data comprises encountering the first data string and retrieving the first code for output.

19. The one or more machine-readable media of claim 16 , wherein the first code is stored in a table that indexes the first code to the first data string.

20. One or more machine-readable media for storing instructions to compress data, the instructions for causing one or more processing devices to:

store compression rules in association with corresponding user request identifiers (URIs), wherein different URIs are associated with one or more arguments having different fixed structures, and each compression rule is associated with a URI and is for compressing at least one argument having a fixed structure that is associated with the URI;

receive an input argument, the input argument corresponding to a URI;

identify a stored compression rule by matching the URI of the input argument to the URI of the stored compression rule;

compress the input argument according to the stored compression rule to produce a compressed input argument; and

store the compressed input argument in memory.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 046486/0433 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2018
From: LYCOS, INC.
To: RPX CORPORATION
Reel/Frame 045759/0496 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2007
From: TROUT, JEFFREY
To: LYCOS, INC.
Reel/Frame 018880/0602 →