# US 11,112,986 B2 · Systems and methods for storing information within hybrid storage with local and cloud-based storage devices

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,112,986 B2
- Document ID: US11112986B2
- Status: Granted
- Kind: B2
- Application number: 16/215,483
- Filed: 2018-12-10
- Published: 2020-06-11
- Granted: 2021-09-07
- Earliest claimed: 2018-12-10
- Assignees: Veritas Technologies LLC
- Applicants: Veritas Technologies LLC
- Inventors: Reena Nandkishor Kabra; Bhautik Patel; Shubham Pendharkar; Sneha Pawar; Jitendra Patidar; Anindya Banerjee
- Web page: https://patentgrep.com/patent/US11112986B2

## CPC

- G06F 3/0605: {by facilitating the interaction with a user or administrator}
- G06F 3/0643: {Management of files}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 3/0647: {Migration mechanisms}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0685: {Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays}
- G06F 16/182: Distributed file systems
- G06F 16/185: Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof (details of archiving G06F16/11)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 2)

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

### Claim 4 (depends on 1)

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

### Claim 5 (depends on 1)

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

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 1)

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.

### Claim 8 (depends on 1)

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

### Claim 9 (depends on 1)

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

### Claim 10 (depends on 1)

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.

### Claim 11 (depends on 1)

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.

### Claim 12 (depends on 1)

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.

### Claim 13 (depends on 1)

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

### Claim 14 (depends on 1)

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.

### Claim 15 (depends on 1)

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.

### Claim 16 (depends on 1)

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.

### Claim 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.

### Claim 18 (depends on 17)

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.

### Claim 19 (depends on 17)

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.

### Claim 20 (depends on 17)

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.

### Claim 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.

### Claim 22 (depends on 21)

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.

### Claim 23 (depends on 21)

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.

### Claim 24 (depends on 21)

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.
