IP Library Granted Patent US 8,508,389
Granted Patent B2
US 8,508,389 · App. 12/940,017 · Granted Aug 13, 2013

Content-based segmentation scheme for data compression in storage and transmission including hierarchical segment representation

Inventors: Steven McCanne (Berkeley, CA); Michael J. Demmer (San Francisco, CA)
Assignee: Riverbed 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,508,389
App. No.
12/940,017
Granted
Aug 13, 2013
Kind
B2
Abstract

In a coding system, input data within a system is encoded. The input data might include sequences of symbols that repeat in the input data or occur in other input data encoded in the system. The encoding includes determining a target segment size, determining a window size, identifying a fingerprint within a window of symbols at an offset in the input data, determining whether the offset is to be designated as a cut point and segmenting the input data as indicated by the set of cut points. For each segment so identified, the encoder determines whether the segment is to be a referenced segment or an unreferenced segment, replacing the segment data of each referenced segment with a reference label and storing a reference binding in a persistent segment store for each referenced segment, if needed. Hierarchically, the process can be repeated by grouping references into groups, replacing the grouped references with a group label, storing a binding between the grouped references and group label, if one is not already present, and repeating the process. The number of levels of hierarchy can be fixed in advanced or it can be determined from the content encoded.

Claims (27)

1. A method for saving a file to a storage system comprising:

receiving a file or a portion of a file;

compressing the file or portion thereof by:

at least partially segmenting the file or portion thereof into segments based on content of the file;

determining for each segment, whether the segment is a recurring segment;

responsive to determining that a respective segment is a recurring segment, replacing the segment with a corresponding reference;

responsive to determining that a respective segment is not a recurring segment, creating a reference for the segment and replacing the segment with the created reference; and

saving the file or portion thereof to the storage system.

2. A method for saving a file to a storage system comprising compressing a file by:

segmenting at least portions of the file into segments based on content of the file;

determining for each segment, whether the segment is a recurring segment;

responsive to determining that a respective segment is a recurring segment, replacing the segment with a corresponding reference; and

responsive to determining that a respective segment is not a recurring segment, creating a reference for the segment and replacing the segment with the created reference; and storing the compressed file in the storage system.

3. The method of claim 2 , wherein a size of the segments is not fixed.

4. The method of claim 2 , wherein segmenting the file comprises generating a fingerprint of a group of data symbols.

5. The method of claim 4 , wherein segmenting the file comprises determining a segmentation boundary based on a respective fingerprint.

6. The method of claim 4 , wherein generating the fingerprint comprises generating a hash based on the group of data symbols.

7. The method of claim 2 , wherein compressing the file further comprises compressing references hierarchically.

8. The method of claim 7 , wherein compressing the file references hierarchically comprises assigning a hash to a sequence of hashes.

9. The method of claim 7 , wherein compressing the file references hierarchically comprises:

segmenting a sequence of references into groups;

determining, for each group, whether the group is a recurring group;

responsive to determining that a respective group is a recurring group, replacing the group with a corresponding reference; and

responsive to determining that a respective group is not a recurring group, creating a reference for the group and replacing the group with the created reference.

10. The method of claim 7 , wherein the compressed file includes references associated with different hierarchy levels.

11. The method of claim 2 , further comprising storing segment-to-reference binding information in a persistent storage.

12. The method of claim 2 , further comprising allowing an average segment size to be set.

Assignments (21)
RELEASE OF SECURITY INTEREST Recorded Aug 11, 2023
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC; RIVERBED HOLDINGS, INC.
Reel/Frame 064673/0739 →
CHANGE OF NAME Recorded Feb 18, 2022
From: RIVERBED TECHNOLOGY, INC.
To: RIVERBED TECHNOLOGY LLC
Reel/Frame 059232/0551 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0169 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0108 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0046 →
SECURITY INTEREST Recorded Dec 10, 2021
From: RIVERBED TECHNOLOGY LLC (FORMERLY RIVERBED TECHNOLOGY, INC.); ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
Reel/Frame 058486/0216 →
PATENT SECURITY AGREEMENT Recorded Oct 27, 2021
From: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 057943/0386 →
PATENT SECURITY AGREEMENT SUPPLEMENT - SECOND LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 057810/0559 →
PATENT SECURITY AGREEMENT SUPPLEMENT - FIRST LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 057810/0502 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORED AT REEL 056397, FRAME 0750 Recorded Oct 13, 2021
From: MACQUARIE CAPITAL FUNDING LLC
To: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 057983/0356 →
SECURITY INTEREST Recorded May 26, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MACQUARIE CAPITAL FUNDING LLC
Reel/Frame 056397/0750 →
PATENT SECURITY AGREEMENT Recorded Mar 5, 2021
From: RIVERBED TECHNOLOGY, INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 055514/0249 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2019
From: NBT TECHNOLOGY, INC.
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 048532/0617 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2019
From: MCCANNE, STEVEN; DEMMER, MICHAEL J.
To: NBT TECHNOLOGY, INC.
Reel/Frame 048518/0139 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY NAME PREVIOUSLY RECORDED ON REEL 035521 FRAME 0069. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST IN PATENTS. Recorded Jun 2, 2015
From: JPMORGAN CHASE BANK, N.A.
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035807/0680 →
SECURITY INTEREST Recorded May 1, 2015
From: RIVERBED TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 035561/0363 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 28, 2015
From: BARCLAYS BANK PLC
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035521/0069 →
PATENT SECURITY AGREEMENT Recorded Dec 27, 2013
From: RIVERBED TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032421/0162 →
RELEASE OF PATENT SECURITY INTEREST Recorded Dec 26, 2013
From: MORGAN STANLEY & CO. LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 032113/0425 →
PATENT SECURITY AGREEMENT Recorded Sep 13, 2013
From: RIVERBED TECHNOLOGY, INC.
To: MORGAN STANLEY & CO. LLC
Reel/Frame 031216/0968 →
SECURITY AGREEMENT Recorded Dec 20, 2012
From: RIVERBED TECHNOLOGY, INC.; OPNET TECHNOLOGIES, INC.
To: MORGAN STANLEY & CO. LLC
Reel/Frame 029646/0060 →
Continuity (7)
Continuation 12330197 · Dec 8, 2008
Continuation 11508531 · Aug 22, 2006
Continuation 11223789 · Sep 8, 2005
Continuation 10968868 · Oct 18, 2004
Continuation 10731687 · Dec 8, 2003
Continuation 10285330 · Oct 30, 2002
Related Publication 20110267207A1 · Nov 3, 2011