IP Library Granted Patent US 11,494,355
Granted Patent B2
US 11,494,355 · App. 16/881,942 · Granted Nov 8, 2022

Large content file optimization

Inventors: Zhihuan Qiu (San Jose, CA); Ganesha Shanmuganathan (San Jose, CA)
Assignee: Cohesity, Inc.
G06F16/2246G06F11/1446G06F11/1448G06F16/11G06F16/134G06F16/14G06F16/2343G06F2201/80G06F2201/84G06F2212/466
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 11,494,355
App. No.
16/881,942
Granted
Nov 8, 2022
Kind
B2
Abstract

A size associated with a content file is determined to be greater than a threshold size. In response to the determination, file metadata of the content file split and stored across a plurality of component file metadata structures. The file metadata of the content file specifies tree structure organizing data components of the content file and each component file metadata structure of the plurality of component file metadata structures stores a portion of the tree structure. A snapshot tree is updated to reference the plurality of component file metadata structures for the content file.

Claims (28)

1. A method, comprising:

generating a plurality of component file metadata structures for a content file, wherein a first component file metadata structure for the content file is generated in response to a first backup snapshot and a second component file metadata structure for the content file is generated in response to a second backup snapshot; and

storing file metadata of the content file split across the plurality of component file metadata structures, wherein the plurality of component file metadata structures are associated with different portions of the content file, wherein a component file metadata structure of the plurality of component file metadata structures stores file metadata corresponding to a portion of the content file, wherein the file metadata corresponding to the portion of the content file includes one or more references to locations of data chunks associated with the portion of the content file.

2. The method of claim 1 , wherein the component file metadata structure includes at least a root node and a plurality of nodes storing data.

3. The method of claim 1 , further comprising updating a tree data structure to reference each of the plurality of component file metadata structures.

4. The method of claim 3 , wherein the tree data structure includes a root node and a plurality of nodes storing data.

5. The method of claim 4 , wherein a first node of the plurality of nodes storing data includes a first reference to the first component file metadata structure of the content file and a second node of the plurality of nodes storing data includes a second reference to the second component file metadata structure of the content file.

6. The method of claim 5 , wherein a corresponding lock is needed to access each of the plurality of component file metadata structures.

7. The method of claim 1 , wherein the file metadata of the content file split across the plurality of component file metadata structures is stored in parallel.

8. The method of claim 1 , further comprising receiving an indication to perform a backup that includes the content file.

9. The method of claim 8 , further comprising determining that a size of the content file is greater than or equal to a threshold size.

10. The method of claim 1 , wherein each of the plurality of component file metadata structures is associated with a corresponding file offset of the content file.

11. The method of claim 1 , wherein the first backup snapshot is a full backup snapshot or a first incremental backup snapshot.

12. The method of claim 11 , wherein the second backup snapshot is a second incremental backup snapshot.

13. The method of claim 1 , wherein a size of the content file is less than a threshold size after the first backup snapshot and the size of the content file is greater than or equal to the threshold size after the second backup snapshot.

14. A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:

generating a plurality of component file metadata structures for a content file, wherein a first component file metadata structure for the content file is generated in response to a first backup snapshot and a second component file metadata structure for the content file is generated in response to a second backup snapshot; and

storing file metadata of the content file split across the plurality of component file metadata structures, wherein the plurality of component file metadata structures are associated with different portions of the content file, wherein a component file metadata structure of the plurality of component file metadata structures stores file metadata corresponding to a portion of the content file, wherein the file metadata corresponding to the portion of the content file includes one or more references to locations of data chunks associated with the portion of the content file.

15. The computer program product of claim 14 , wherein the component file metadata structure includes at least a root node and a plurality of nodes storing data.

16. The computer program product of claim 14 , further comprising updating a tree data structure to reference each of the plurality of component file metadata structures.

17. The computer program product of claim 16 , wherein the tree data structure includes a root node and a plurality of nodes storing data.

18. The computer program product of claim 17 , wherein a first node of the plurality of nodes storing data includes a first reference to the first component file metadata structure of the content file and a second node of the plurality of nodes storing data includes a second reference to the second component file metadata structure of the content file.

19. The computer program product of claim 14 , wherein each of the plurality of component file metadata structures is associated with a corresponding file offset of the content file.

20. A system, comprising:

a processor configured to:

generate a plurality of component file metadata structures for a content file, wherein a first component file metadata structure for the content file is generated in response to a first backup snapshot and a second component file metadata structure for the content file is generated in response to a second backup snapshot; and

store file metadata of the content file split across the plurality of component file metadata structures, wherein the plurality of component file metadata structures are associated with different portions of the content file, wherein a component file metadata structure of the plurality of component file metadata structures stores file metadata corresponding to a portion of the content file, wherein the file metadata corresponding to the portion of the content file includes one or more references to locations of data chunks associated with the portion of the content file; and

a memory coupled to the processor and configured to provide the processor with instructions.

Assignments (4)
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 10, 2024
From: FIRST-CITIZENS BANK & TRUST COMPANY (AS SUCCESSOR TO SILICON VALLEY BANK)
To: COHESITY, INC.
Reel/Frame 069584/0498 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
SECURITY INTEREST Recorded Sep 23, 2022
From: COHESITY, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 061509/0818 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2020
From: QIU, ZHIHUAN; SHANMUGANATHAN, GANESHA
To: COHESITY, INC.
Reel/Frame 053321/0748 →
Continuity (2)
Continuation 16024107 · Jun 29, 2018
Related Publication 20200349138A1 · Nov 5, 2020
Cited By (1)
US 12,332,865