IP Library Granted Patent US 11,150,830
Granted Patent B2
US 11,150,830 · App. 16/533,356 · Granted Oct 19, 2021

Integrated hierarchical storage management

Inventors: Zheng Cai (Cupertino, CA); Vijay Pasikanti (Sunnyvale, CA); Ganesha Shanmuganathan (San Jose, CA)
Assignee: Cohesity, Inc.
G06F3/0649G06F3/0611G06F3/0643G06F3/0653G06F3/0685G06F16/119G06F16/1734G06F16/185
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,150,830
App. No.
16/533,356
Granted
Oct 19, 2021
Kind
B2
Abstract

File access statistics associated with a content file are maintained by a file tier agent of a secondary storage system. The content file is accessible via a primary storage system. A target storage tier corresponding to the file access statistics associated with the content file is determined according to one or more policies. At least a portion of data of the content file is migrated to the determined storage tier while accessibility of the content file via the primary storage system is maintained.

Claims (46)

1. A method, comprising:

backing up, by a secondary storage system, a file from a primary storage system;

generating, by the secondary storage system, a tree data structure for the file, wherein the tree data structure is used to capture different versions of the file at different moments in time;

determining, by the secondary storage system, an access pattern associated with the file stored on the secondary storage system, wherein the secondary storage system determines the access pattern associated with the file based on time-series data associated with the file using the tree data structure that captures different versions of the file at different moments in time, wherein the tree data structure associated with the file indicates one or more modifications made to the file over a particular period of time;

determining, by the secondary storage system, to migrate the file from the primary storage system to the secondary storage system based on the access pattern associated with the file that is maintained by the secondary storage system, wherein the access pattern associated with the file indicates that file has not been accessed more than a threshold number of times within the particular period of time; and

migrating the file from the primary storage system to the secondary storage system, wherein migrating the file includes:

providing from the secondary storage system to the primary storage system a request for a version of the file stored on the primary storage system, wherein in response to the request for the version of the file, the primary storage system provides to the secondary storage system contents associated with the version of the file and deletes the contents associated with the version of the file;

receiving and storing at the secondary storage system the contents associated with the version of the file; and

providing to the primary storage system an instruction to create a redirection for the version of the file stored on the secondary storage system.

2. The method of claim 1 , further comprising polling the primary storage system for information associated with the file.

3. The method of claim 2 , wherein the information associated with the file includes a last access time associated with the file.

4. The method of claim 1 , wherein the contents associated with the version of the file is the entire file.

5. The method of claim 1 , wherein in response to receiving the instruction, the primary storage system creates the redirection.

6. The method of claim 5 , wherein the redirection causes a subsequent request for the file received at the primary storage system to be redirected to the secondary storage system.

7. The method of claim 6 , wherein the subsequent request for the file is redirected to a first root node of the tree data structure associated with the file.

8. The method of claim 1 , wherein the determining to migrate the file from the primary storage system to the secondary storage system is determined by a file tier agent of the secondary storage system.

9. The method of claim 1 , wherein tree data structure stores file metadata associated with the file.

10. The method of claim 9 , wherein the file metadata associated with the file includes one or more timestamps that indicate one or more access times associated with the file.

11. The method of claim 1 , wherein the tree data structure includes nodes that store access information associated with the different versions of the file.

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

backing up, by a secondary storage system, a file from a primary storage system;

generating, by the secondary storage system, a tree data structure for the file, wherein the tree data structure is used to capture different versions of the file at different moments in time;

determining, by the secondary storage system, an access pattern associated with the file stored on the secondary storage system, wherein the secondary storage system determines the access pattern associated with the file based on time-series data associated with the file using the tree data structure that captures different versions of the file at different moments in time, wherein the tree data structure associated with the file indicates one or more modifications made to the file over a particular period of time;

determining, by the secondary storage system, to migrate the file from the primary storage system to the secondary storage system based on the access pattern associated with the file that is maintained by the secondary storage system, wherein the access pattern associated with the file indicates that file has not been accessed more than a threshold number of times within the particular period of time; and

migrating the file from the primary storage system to the secondary storage system, wherein migrating the file includes:

providing from the secondary storage system to the primary storage system a request for a version of the file stored on the primary storage system, wherein in response to the request for the version of the file, the primary storage system provides to the secondary storage system contents associated with the version of the file and deletes the contents associated with the version of the file;

receiving and storing at the secondary storage system the contents associated with the version of the file; and

providing to the primary storage system an instruction to create a redirection for the version of the file stored on the secondary storage system.

13. The computer program product of claim 12 , further comprising polling the primary storage system for information associated with the file.

14. The computer program product of claim 13 , wherein the information associated with the file includes a last access time associated with the file.

15. The computer program product of claim 12 , wherein the contents associated with the version of the file is the entire file.

16. The computer program product of claim 12 , wherein in response to receiving the instruction, the primary storage system creates the redirection.

17. The computer program product of claim 16 , wherein the redirection causes a subsequent request for the file received at the primary storage system to be redirected to the secondary storage system.

18. The computer program product of claim 17 , wherein the subsequent request for the file is redirected to a root node of a corresponding tree data structure associated with the file.

19. The computer program product of claim 12 , wherein the determining to migrate the file from the primary storage system to the secondary storage system is determined by a file tier agent of the secondary storage system.

20. A system, comprising:

a processor configured to:

back up, by a secondary storage system, a file from a primary storage system;

generate, by the secondary storage system, a tree data structure for the file, wherein the tree data structure is used to capture different versions of the file at different moments in time;

determine, by the secondary storage system, an access pattern associated with the file stored on the secondary storage system, wherein secondary storage system is configured to determine the access pattern associated with the file based on time-series data associated with the file using the tree data structure that captures different versions of the file at different moments in time, wherein the tree data structure associated with the file indicates one or more modifications made to the file over a particular period of time;

determine, by the secondary storage system, to migrate the file from the primary storage system to the secondary storage system based on the access pattern associated with the file that is maintained by the secondary storage system, wherein the access pattern associated with the file indicates that file has not been accessed more than a threshold number of times within the particular period of time; and

migrate the file from the primary storage system to the secondary storage system, wherein to migrate the file, the processor is configured to:

provide from the secondary storage system to the primary storage system a request for a version of the file stored on the primary storage system, wherein in response to the request for the version of the file, the primary storage system is configured to provide to the secondary storage system contents associated with the version of the file and delete the contents associated with the version of the file;

receive and store at the secondary storage system the contents associated with the version of the file; and

provide to the primary storage system an instruction to create a redirection for the version of the file stored on the secondary storage system; 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 Oct 28, 2019
From: CAI, ZHENG; PASIKANTI, VIJAY; SHANMUGANATHAN, GANESHA
To: COHESITY, INC.
Reel/Frame 050846/0034 →
Continuity (2)
Continuation 16115351 · Aug 28, 2018
Related Publication 20200073575A1 · Mar 5, 2020