IP Library Granted Patent US 8,484,214
Granted Patent B2
US 8,484,214 · App. 11/692,676 · Granted Jul 9, 2013

Record compression using incremental reverse templating

Inventors: Anton Okmianski (Burnaby, CA); Mickael Graham (Bellevue Hill, AU)
Assignee: Cisco Technology, 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 8,484,214
App. No.
11/692,676
Granted
Jul 9, 2013
Kind
B2
Abstract

In one embodiment, a method for compression is disclosed, including receiving source data, creating at least one template based upon common data, and creating a compressed record including a reference to the at least one template and a template delta that represents a difference between the at least one template and source data.

Claims (43)

1. An apparatus comprising:

an interface operable to receive a plurality of source data; and

a processor operable to:

create a plurality of active templates based upon common data from the plurality of source data, wherein the source data is read as an unordered set,

determine, for each of the plurality of active templates, a match ratio calculated as a source data size minus a template delta size divided by the source data size;

determine a total match ratio of the plurality of active templates, wherein the total match ratio is calculated as a weighted average of average match ratios of the active templates and a weight is determined by a popularity metric of each active template;

compare the total match ratio of the plurality of active templates to a target total match ratio,

determine whether a limit of active templates has been reached when the total match ratio is less than the target total match ratio,

retire a template having a smallest relative match ratio from the plurality of active templates when the limit of active templates has been reached to limit the number of active templates considered for use in compression,

create a best active template when the total match ratio is less than the target total match ratio, and

create a compressed record including a reference to the best active template and a template delta that represents a difference between the best active template and one of the plurality of source data.

2. The apparatus of claim 1 , wherein the processor is further operable to select a template having the smallest template delta from the plurality of active templates.

3. The apparatus of claim 1 , wherein the processor is further operable to determine a match ratio between at least one active template and the source data.

4. The apparatus of claim 1 , wherein at least one active template includes an identifier, template data, a popularity metric, and an average match ratio.

5. The apparatus of claim 4 , wherein the processor is further operable to determine a relative match ratio calculated as the average match ratio weighted by the popularity metric.

6. The apparatus of claim 1 , further comprising a template generator, a template catalog storage, a record storage, and a user interface.

7. Logic encoded in one or more non-transitory tangible media for execution and when executed operable to:

receive a plurality of source data;

create a plurality of active templates based upon common data from the plurality of source data, wherein the source data is read as an unordered set;

determine, for each of the plurality of active templates, a match ratio calculated as a source data size minus a template delta size divided by the source data size;

determine a total match ratio of the plurality of active templates, wherein the total match ratio is calculated as a weighted average of average match ratios of the active templates and a weight is determined by a popularity metric of each active template;

compare the total match ratio of the plurality of active templates to a target total match ratio;

determine whether a limit of active templates has been reached when the total match ratio is less than the target total match ratio;

retire a template having a smallest relative match ratio from the plurality of active templates when the limit of active templates has been reached to limit the number of active templates considered for use in compression;

create a best active template when the total match ratio is less than the target total match ratio; and create a compressed record including a reference to the best active template and a template delta that represents a difference between the best active template and one of the plurality of source data.

8. The logic of claim 7 , further operable to select a template having the smallest template delta from the plurality of active templates.

9. The logic of claim 7 , further operable to determine a match ratio between at least one active template and source data from a device.

10. The logic of claim 7 , wherein at least one active template includes an identifier, template data, a popularity metric, and an average match ratio.

11. The logic of claim 10 , further operable to determine a relative match ratio calculated as the average match ratio weighted by the popularity metric.

12. A method comprising:

receiving a plurality of source data via a network interface;

creating, using a processor, a plurality of active templates based upon common data from the plurality of source data, wherein the source data is read as an unordered set;

determining, for each of the plurality of active templates, a match ratio calculated as a source data size minus a template delta size divided by the source data size;

determining a total match ratio of the plurality of active templates, wherein the total match ratio is calculated as a weighted average of average match ratios of the active templates and a weight is determined by a popularity metric of each active template;

comparing, using the processor, the total match ratio of the plurality of active templates to a target total match ratio;

determining, using the processor, whether a limit of active templates has been reached when the total match ratio is less than the target total match ratio;

retiring, using the processor, a template having a smallest relative match ratio from the plurality of active templates when the limit of active templates as been reached to limit the number of active templates considered for use in compression;

creating, using the processor, a best active template when the total match ratio is less than the target total match ratio; and

creating, using the processor, a compressed record including a reference to the best active template and a template delta that represents a difference between the best active template and one of the plurality of source data.

13. The method of claim 12 , further comprising selecting a template having the smallest template delta from the plurality of active templates.

14. The method of claim 12 , further comprising determining a match ratio between at least one active template and the source data.

15. The method of claim 12 , wherein at least one active template includes an identifier, template data, a popularity metric, and an average match ratio.

16. The method of claim 15 , further comprising determining a relative match ratio calculated as the average match ratio weighted by the popularity metric.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2007
From: OKMIANSKI, ANTON; GRAHAM, MICKAEL
To: CISCO TECHNOLOGY, INC.
Reel/Frame 019079/0484 →
Continuity (1)
Related Publication 20080240226A1 · Oct 2, 2008