IP Library Granted Patent US 11,112,986
Granted Patent B2
US 11,112,986 · App. 16/215,483 · Granted Sep 7, 2021

Systems and methods for storing information within hybrid storage with local and cloud-based storage devices

Inventors: Reena Nandkishor Kabra (Akota, IN); Bhautik Patel (Gujarat, IN); Shubham Pendharkar (Pune, IN); Sneha Pawar (Pune, IN); Jitendra Patidar (Pune, IN); Anindya Banerjee (Pune, IN)
Assignee: Veritas Technologies LLC
G06F3/0643G06F3/0604G06F3/067G06F3/0644G06F16/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,112,986
App. No.
16/215,483
Granted
Sep 7, 2021
Kind
B2
Abstract

The disclosed computer-implemented method for storing information within hybrid storage with local and cloud-based storage devices may include (1) dividing, if required, at the computing device, a file into multiple portions, (2) storing a first portion of the multiple portions as at least one first respective separate object on a local volume stored on the local storage device, (3) storing a second portion of the multiple portions as at least one second respective separate object on a cloud-based volume stored on a cloud-based storage device, and (4) naming each stored portion of the file with a respective object name comprising file metadata describing respective characteristics of the respective portion of the file. Various other methods, systems, and computer-readable media are also disclosed.

Claims (78)

1. A computer-implemented method for storing information within hybrid storage with local and cloud-based storage devices, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

dividing, at the computing device, a file into multiple portions;

storing a first portion of the multiple portions as at least one first respective separate object on a local volume stored on the local storage device without storing the at least one first respective separate object on a cloud-based storage device;

storing a second portion of the multiple portions as at least one second respective separate object on a cloud-based volume stored on the cloud-based storage device; and

naming each stored portion of the file with a respective object name comprising file metadata describing respective characteristics of the respective portion of the file, including at least one flag identifying a cloud storage class.

2. The computer-implemented method of claim 1 , further comprising creating at least one volume set, wherein the at least one volume set comprises:

the local volume stored on the local storage device; and

the cloud-based volume stored on the cloud-based storage device.

3. The computer-implemented method of claim 2 , further comprising creating a multi-volume file system comprising the at least one volume set.

4. The computer-implemented method of claim 1 , further comprising tagging the cloud-based volume as a data-only volume.

5. The computer-implemented method of claim 1 , further comprising representing the cloud-based volume as a proxy volume in a disk group.

6. The computer-implemented method of claim 1 , further comprising:

assigning a tier to the cloud-based volume and the local volume; and

dividing the file in response to a tiered-storage decision selecting the assigned tier.

7. The computer-implemented method of claim 1 , wherein the file metadata comprises:

a file path;

a file system unique identifier;

a file set identifier;

an inode number;

an inode generation count;

an offset within the file; and

a size of the respective portion.

8. The computer-implemented method of claim 1 , further comprising storing the file metadata on the local storage device.

9. The computer-implemented method of claim 1 , further comprising storing the respective object names on the local storage device.

10. The computer-implemented method of claim 1 , further comprising ensuring, following a system crash, digital information consistency of the file by:

identifying information movement in progress during the crash; and

reorganizing information identified as being moved during the crash.

11. The computer-implemented method of claim 1 , further comprising updating a stored portion of the file by writing the updated stored portion of the file in a new object having a new respective object name, wherein the new respective object name comprises file metadata describing respective characteristics of the updated stored portion of the file, including a unique number which is modified whenever the stored portion of the file is updated.

12. The computer-implemented method of claim 1 , further comprising reconstructing, when file system metadata relating to digital information stored on the cloud-based storage device is unusable, contents of the file including the file name by parsing object names stored on the cloud-based storage device.

13. The computer-implemented method of claim 1 , wherein the file metadata comprises a unique number.

14. The computer-implemented method of claim 1 , wherein the file metadata comprises a flag identifying the respective portion of the file is stored on the cloud-based volume.

15. The computer-implemented method of claim 1 , wherein the file metadata comprises a flag identifying the respective portion of the file is stored on the local volume.

16. The computer-implemented method of claim 1 , wherein the cloud storage class does not permit an update read on the at least one second respective separate object.

17. A system for storing information within hybrid storage with local and cloud-based storage devices, the system comprising:

a dividing module, stored in memory, that divides a file into multiple portions;

a first storing module, stored in the memory, that stores a first portion of the multiple portions as at least one first respective separate object on a local volume stored on the local storage device without storing the at least one first respective separate object on a cloud-based storage device;

a second storing module, stored in the memory, that stores a second portion of the multiple portions as at least one second respective separate object on the cloud-based volume stored on the cloud-based storage device;

a naming module, stored in the memory, that names each stored portion of the file with a respective object name comprising file metadata describing respective characteristics of the respective portion of the file, including at least one flag identifying a cloud storage class; and

at least one physical processor that executes the dividing module, the first storing module, the second storing module, and the naming module.

18. The system of claim 17 , further comprising a creating module, stored in the memory, that creates at least one volume set, wherein the at least one volume set comprises:

the local volume stored on the local storage device; and

the cloud-based volume stored on the cloud-based storage device.

19. The system of claim 17 , further comprising:

an assigning module, stored in the memory, that assigns a tier to the cloud-based volume and the local volume; and

a dividing module, stored in the memory, that divides the file in response to a tiered-storage decision selecting the assigned tier.

20. The system of claim 17 , wherein the file metadata comprises:

a file path;

a file system unique identifier;

a file set identifier;

an inode number;

an inode generation count;

an offset within the file;

a size of the portion;

a unique number;

a flag identifying the respective portion of the file is stored on the cloud-based volume or the local volume; and

at least one flag identifying a cloud storage class.

21. A non-transitory computer-readable medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

divide, at the computing device, a file into multiple portions;

store a first portion of the multiple portions as at least one first respective separate object on a local volume stored on a local storage device without storing the at least one first respective separate object on a cloud-based storage device;

store a second portion of the multiple portions as at least one second respective separate object on a cloud-based volume stored on the cloud-based storage device; and

name each stored portion of the file with a respective object name comprising file metadata describing respective characteristics of the respective portion of the file, including at least one flag identifying a cloud storage class.

22. The non-transitory computer-readable medium of claim 21 , further comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to create at least one volume set, wherein the at least one volume set comprises:

the local volume stored on the local storage device; and

the cloud-based volume stored on the cloud-based storage device.

23. The non-transitory computer-readable medium of claim 21 , further comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

assign a tier to the cloud-based volume and the local volume; and

divide the file in response to a tiered-storage decision selecting the assigned tier.

24. The non-transitory computer-readable medium of claim 21 , wherein the file metadata comprises:

a file path;

a file system unique identifier;

a file set identifier;

an inode number;

an inode generation count;

an offset within the file;

a size of the respective portion;

a unique number;

a flag identifying the respective portion of the file is stored on the cloud-based volume or the local volume; and

at least one flag identifying a cloud storage class.

Assignments (14)
SECURITY INTEREST Recorded Dec 12, 2025
From: ARCTERA US LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073951/0470 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069697/0238 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 052426/0001 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0565 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Apr 16, 2020
From: VERITAS TECHNOLOGIES, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052426/0001 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Mar 18, 2020
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 052189/0311 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2018
From: KABRA, REENA NANDKISHOR; PATEL, BHAUTIK; PENDHARKAR, SHUBHAM; PAWAR, SNEHA; PATIDAR, JITENDRA; BANERJEE, ANINDYA
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 047732/0444 →
Continuity (1)
Related Publication 20200183602A1 · Jun 11, 2020