IP Library Granted Patent US 10,664,461
Granted Patent B2
US 10,664,461 · App. 16/024,107 · Granted May 26, 2020

Large content file optimization

Inventors: Zhihuan Qiu (Santa Clara, CA); Ganesha Shanmuganathan (San Jose, CA)
Assignee: Cohesity, Inc.
G06F16/2246G06F11/1446G06F11/1448G06F16/11G06F2201/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 10,664,461
App. No.
16/024,107
Granted
May 26, 2020
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 (40)

1. A system, comprising:

a processor configured to:

determine that a size associated with a content file is greater than a threshold size, wherein a storage system is configured to generate one or more component file metadata structures for the content file, wherein metadata associated with the content file is stored in a first component file metadata structure, wherein the content file is stored by the storage system;

in response to the determination that the size associated with the content file is greater than the threshold size:

generate one or more additional component file metadata structures for the content file;

store file metadata of the content file split across a plurality of component file metadata structures, wherein the plurality of component file metadata structures are associated with different portions of the content file, wherein the first component file metadata structure is configured to store file metadata corresponding to the content file prior to the split and the one or more additional component file metadata structures are configured to store file metadata corresponding to the content file after the split, wherein a component file metadata structure of the content file specifies a tree structure organizing data components of the content file and each component file metadata structure of the plurality of component file metadata structures is configured to store a portion of the file metadata of content file, wherein each component file metadata structure includes a corresponding root node, a corresponding plurality of intermediate nodes, and a corresponding plurality of leaf nodes; and

update a snapshot tree to reference the plurality of component file metadata structures for the content file, wherein the snapshot tree is configured to store file system metadata associated with a primary system, wherein the snapshot tree includes a first root node, a first plurality of intermediate nodes, and a first plurality of leaf nodes, wherein a first leaf node of the first plurality of leaf nodes includes a first reference to a first root node associated with the first component file metadata structure of the component file metadata structures and a second leaf node of the first plurality of leaf nodes includes a second reference to a second root node associated with a second component file metadata structure of the component file metadata structures; and

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

2. The system of claim 1 , wherein to update the snapshot tree to reference the plurality of component file metadata structures, the processor is further configured to update the first plurality of leaf nodes of the snapshot tree with corresponding pointers to the plurality of component file metadata structures.

3. The system of claim 1 , wherein a leaf node of the corresponding plurality of leaf nodes includes a pointer to a brick associated with one or more data chunks of the content file.

4. The system of claim 1 , wherein a leaf node of the corresponding plurality of leaf nodes includes an identifier of a brick associated with one or more data chunks of the content file.

5. The system of claim 1 , wherein the processor is configured to receive a backup snapshot that includes at least a portion of the content file.

6. The system of claim 5 , wherein the processor is configured to determine that the size associated with the content file is greater than the threshold size based on a user input.

7. The system of claim 5 , wherein the processor is configured to determine that the size associated with the content file is greater than the threshold size based on the plurality of data chunks of the content file included in the received backup snapshot.

8. The system of claim 5 , wherein the received backup snapshot includes a first portion of the content file and a previously stored backup snapshot includes a second portion of the content file.

9. The system of claim 8 , wherein the size associated with the content file included in the second portion is less than the threshold size, and wherein the size associated with the content file included in a combination of the first portion and the second portion is greater than the threshold size.

10. The system of claim 1 , wherein the processor is further configured to:

perform a maintenance process; and

determine that the content file is greater than the threshold size based in part on the maintenance process.

11. The system of claim 10 , wherein the processor is further configured to generate a new view of file system data that includes the content file, wherein the new view includes the plurality of component file metadata structures.

12. The system of claim 1 , wherein a plurality of storage nodes, in parallel, are configured to store the file metadata of the content file split across the plurality of component file metadata structures.

13. A method, comprising:

determining that a size associated with a content file is greater than a threshold size, wherein a storage system is configured to generate one or more component file metadata structures for the content file, wherein metadata associated with the content file is stored in a first component file metadata structure, wherein the content file is stored by the storage system;

in response to the determining that the size associated with the content file is greater than the threshold size:

generating one or more additional component file metadata structures for the content file;

storing file metadata of the content file split across a plurality of component file metadata structures, wherein the plurality of component file metadata structures are associated with different portions of the content file, wherein the first component file metadata structure is configured to store metadata corresponding to the content file prior to the split and the one or more additional component file metadata structures are configured to store metadata corresponding to the content file after the split, wherein a component file metadata structure of the content file specifies a tree structure organizing data components of the content file and each component file metadata structure of the plurality of component file metadata structures is configured to store a portion of the file metadata of the content file, wherein each component file metadata structure includes a corresponding root node, a corresponding plurality of intermediate nodes, and a corresponding plurality of leaf nodes; and

updating a snapshot tree to reference the plurality of component file metadata structures for the content file, wherein the snapshot tree is configured to store file system metadata associated with a primary system, wherein the snapshot tree includes a first root node, a first plurality of intermediate nodes, and a first plurality of leaf nodes, wherein a first leaf node of the first plurality of leaf nodes includes a first reference to a first root node associated with the first component file metadata structure of the component file metadata structures and a second leaf node of the first plurality of leaf nodes includes a second reference to a second root node associated with a second component file metadata structure of the component file metadata structures.

14. The method of claim 13 , further comprising receiving a backup snapshot that includes at least a portion of the content file.

15. The method of claim 14 , wherein the size associated with the content file is determined to be greater than the threshold size based on a user input.

16. The method of claim 14 , wherein the size associated with the content file is determined to be greater than the threshold size based on the plurality of data chunks of the content file included in the received backup snapshot.

17. The method of claim 14 , wherein the received backup snapshot includes a first portion of the content file and a previously stored backup snapshot includes a second portion of the content file.

18. The method of claim 14 , further comprising:

performing a maintenance process; and

determining that the content file is greater than the threshold size based in part on the maintenance process.

19. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

determining that a size associated with a content file is greater than a threshold size, wherein a storage system is configured to generate one or more component file metadata structures for the content file, wherein metadata associated with the content file is stored in a first component file metadata structure, wherein the content file is stored by the storage system;

in response to the determination that the size associated with the content file is greater than the threshold size:

generate one or more additional component file metadata structures for the content file;

storing file metadata of the content file split across a plurality of component file metadata structures, wherein the plurality of component file metadata structures are associated with different portions of the content file, wherein the first component file metadata structure is configured to store metadata corresponding to the content file prior to the split and the one or more additional component file metadata structures are configured to store metadata corresponding to the content file after the split, wherein a component file metadata structure 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 is configured to store a portion of the file metadata of the content file, wherein each component file metadata structure includes a corresponding root node, a corresponding plurality of intermediate nodes, and a corresponding plurality of leaf nodes; and

updating a snapshot tree to reference the plurality of component file metadata structures for the content file, wherein the snapshot tree is configured to store file system metadata associated with a primary system, wherein the snapshot tree includes a first root node, a first plurality of intermediate nodes, and a first plurality of leaf nodes, wherein a first leaf node of the first plurality of leaf nodes includes a first reference to a first root node associated with the first component file metadata structure of the component file metadata structures and a second leaf node of the first plurality of leaf nodes includes a second reference to a second root node associated with a second component file metadata structure of the component file metadata structures.

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 Sep 12, 2018
From: QIU, ZHIHUAN; SHANMUGANATHAN, GANESHA
To: COHESITY, INC.
Reel/Frame 046855/0493 →
Continuity (1)
Related Publication 20200004852A1 · Jan 2, 2020
Cited By (2)
US 12,332,865 US 12,487,969