# US 12,003,581 B2 · Enhanced network attached storage (NAS) interoperating with and overflowing to cloud storage resources

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

- Number: US 12,003,581 B2
- Document ID: US12003581B2
- Status: Granted
- Kind: B2
- Application number: 17/855,527
- Filed: 2022-06-30
- Published: 2022-10-20
- Granted: 2024-06-04
- Earliest claimed: 2017-12-12
- Assignees: Commvault Systems, Inc.
- Applicants: Commvault Systems, Inc.
- Inventors: Kuldeep Kumar; Pramukh Shenoy Bantwal; Jagadeesh B. Nuthakki; Rajesh Polimera
- Web page: https://patentgrep.com/patent/US12003581B2

## CPC

- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0608: {Saving storage space on storage systems}
- G06F 3/0638: {Organizing or formatting or addressing of data}
- G06F 3/0647: {Migration mechanisms}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An illustrative storage management appliance is interposed between client computing devices and one or more cloud storage resources. The appliance uses cloud storage resources in conjunction with a network attached storage device configured within the appliance to provide to the client computing devices seemingly unlimited network attached storage on respective network shares. The storage management appliance monitors data objects on the network shares and when a data object meets one or more criteria for archiving, the storage management appliance archives the data object to a cloud storage resource and replaces it with a stub and preview image on the network share. When access to the stub and/or preview image is detected, the storage management appliance restores the data object from the cloud storage resource. The criteria for archiving flexibly allow individual data objects to be archived to cloud storage without archiving frequently-accessed “neighboring” data objects on the same network share.

## Claims

### Claim 1

A system comprising:
a first computing device comprising one or more hardware processors,
wherein the first computing device is in communication with a network attached storage device, and with a client computing device, and with one or more cloud storage resources configured in one or more cloud services, and
wherein the network attached storage device comprises a first network share for the client computing device;
wherein the first computing device is configured to:
based on a determination that a first data object on the first network share meets a criterion for archiving, generate a secondary copy of the first data object,
wherein the first data object was stored by the client computing device at the first network share, and wherein the first data object is in a primary data format,
wherein the secondary copy is in a secondary copy format that is distinct from the primary data format of the first data object, and
wherein the criterion for archiving comprises one or more of: the first data object exceeds a threshold size, the first data object exceeds a threshold age, the first data object has been accessed less frequently than a threshold frequency, and a second data object that comprises the first data object exceeds a threshold count of data objects within the second data object,
cause the secondary copy to be stored at a first cloud storage resource among the one or more cloud storage resources,
replace the first data object on the first network share with a stub, wherein the stub stands in for the first data object in a file system that comprises the first network share,
associate the stub with the secondary copy of the first data object in an index that is maintained by the first computing device, and
based on the first computing device detecting an access to the stub at the first network share, use the index to restore the secondary copy to a primary data object at the first network share, wherein the primary data object is in the primary data format.

### Claim 2 (depends on 1)

The system of claim 1, wherein one of: the stub comprises a preview image of the first data object, and the preview image of the first data object is stored on the first network share and is associated with the stub.

### Claim 3 (depends on 1)

The system of claim 1, wherein the system further comprises the network attached storage device.

### Claim 4 (depends on 1)

The system of claim 1 further comprising: a storage management appliance that comprises the first computing device and the network attached storage device.

### Claim 5 (depends on 4)

The system of claim 4, wherein the storage management appliance uses the one or more cloud storage resources in conjunction with the network attached storage device to provide, to the client computing device, data storage capacity on the first network share without a capacity limit.

### Claim 6 (depends on 4)

The system of claim 4, wherein the storage management appliance further comprises a second computing device that uses one of: Common Internet File System (CIFS) and Network File System (NFS) to communicate with an other client computing device, and wherein the second computing device comprises one or more hardware processors; and
wherein the network attached storage device comprises a second network share for the other client computing device;
wherein the second computing device is configured to: based on a determination that a second data object on the second network share meets a criterion for archiving, generate a secondary copy of the second data object, and cause the secondary copy of the second data object to be stored at one of the one or more cloud storage resources.

### Claim 7 (depends on 4)

The system of claim 4, wherein the storage management appliance further comprises a storage manager that instructs the first computing device to generate the secondary copy of the first data object.

### Claim 8 (depends on 1)

The system of claim 1, wherein the first computing device uses one of: Common Internet File System (CIFS) and Network File System (NFS) to communicate with the client computing device.

### Claim 9 (depends on 1)

The system of claim 1, wherein the first computing device is configured to execute a data agent and a media agent, wherein the data agent is configured to cause the media agent to generate the secondary copy of the first data object.

### Claim 10 (depends on 1)

The system of claim 1, wherein the first computing device is configured to:
execute a data agent and a media agent,
use the data agent to determine whether the criterion for archiving has been met by the first data object, and
cause the media agent to generate the secondary copy of the first data object.

### Claim 11

A computer-implemented method comprising:
by a first computing device that comprises one or more hardware processors,
wherein the first computing device is in communication with a network attached storage device, and with a client computing device, and with one or more cloud storage resources configured in one or more cloud services, and
wherein the network attached storage device comprises a first network share for the client computing device:
determining that a first data object on the first network share meets a criterion for archiving, wherein the first data object was stored by the client computing device at the first network share, and wherein the first data object is in a primary data format;
based on the determining, generating a secondary copy of the first data object,
wherein the secondary copy is in a secondary copy format that is distinct from the primary data format of the first data object, and
wherein the criterion for archiving comprises one or more of: the first data object exceeds a threshold size, the first data object exceeds a threshold age, the first data object has been accessed less frequently than a threshold frequency, and a second data object that comprises the first data object exceeds a threshold count of data objects within the second data object;
causing the secondary copy to be stored at a first cloud storage resource among the one or more cloud storage resources;
replacing the first data object on the first network share with a stub, wherein the stub stands in for the first data object in a file system that comprises the first network share;
associating the stub with the secondary copy of the first data object in an index that is maintained by the first computing device; and
responsive to the first computing device detecting an access to the stub at the first network share, restoring the secondary copy, based on using the index, to a primary data object at the first network share, wherein the primary data object is in the primary data format.

### Claim 12 (depends on 11)

The computer-implemented method of claim 11, wherein the first computing device uses the one or more cloud storage resources in conjunction with the network attached storage device to provide, to the client computing device, data storage capacity on the first network share without a capacity limit.

### Claim 13 (depends on 11)

The computer-implemented method of claim 11, further comprising: causing the secondary copy to be generated by notifying a storage manager to initiate a secondary copy job for the first data object, wherein the storage manager executes on a second computing device that is distinct from the client computing device, and wherein the second computing device comprises one or more hardware processors.

### Claim 14 (depends on 11)

The computer-implemented method of claim 11, further comprising: causing the restoring of the first data object by notifying a storage manager to initiate a restore job for the first data object, wherein the storage manager executes on a second computing device that is distinct from the client computing device, and wherein the second computing device comprises one or more hardware processors.

### Claim 15

A storage management appliance apparatus comprising:
a first computing device comprising one or more hardware processors,
wherein the first computing device is in communication with a network attached storage device, and with a client computing device, and with one or more cloud storage resources configured in one or more cloud services; and
the network attached storage device, wherein the network attached storage device comprises a first network share for the client computing device;
wherein the first computing device is configured to:
based on a determination that a first data object on the first network share meets a criterion for archiving, generate a secondary copy of the first data object,
wherein the first data object was stored by the client computing device at the first network share, and wherein the first data object is in a primary data format,
wherein the secondary copy is in a secondary copy format that is distinct from the primary data format of the first data object, and
wherein the criterion for archiving comprises one or more of: the first data object exceeds a threshold size, the first data object exceeds a threshold age, the first data object has been accessed less frequently than a threshold frequency, and a second data object that comprises the first data object exceeds a threshold count of data objects within the second data object,
cause the secondary copy to be stored at a first cloud storage resource among the one or more cloud storage resources,
replace the first data object on the first network share with a stub, wherein the stub stands in for the first data object in a file system that comprises the first network share,
associate the stub with the secondary copy of the first data object in an index that is maintained by the first computing device, and
based on the first computing device detecting an access to the stub at the first network share, use the index to restore the secondary copy to a primary data object at the first network share, wherein the primary data object is in the primary data format.

### Claim 16 (depends on 15)

The storage management appliance apparatus of claim 15, wherein the network attached storage device comprises a second network share for an other client computing device, which is distinct from the client computing device; and further comprising:
a second computing device that comprises one or more hardware processors; and
wherein the second computing device is configured to:
based on a determination that a second data object on the second network share meets a criterion for archiving, generate a secondary copy of the second data object, and cause the secondary copy of the second data object to be stored at one of the one or more cloud storage resources.

### Claim 17 (depends on 16)

The storage management appliance apparatus of claim 16, wherein the first computing device uses Common Internet File System (CIFS) to communicate with the client computing device, and wherein the second computing device uses Network File System (NFS) to communicate with the other client computing device.

### Claim 18 (depends on 15)

The storage management appliance apparatus of claim 15, further comprising a storage manager that instructs the first computing device to generate the secondary copy of the first data object, wherein the storage manager comprises one or more hardware processors.

### Claim 19 (depends on 15)

The storage management appliance apparatus of claim 15, wherein the first computing device is configured to execute a data agent and a media agent, and wherein the data agent is configured to cause the media agent to generate the secondary copy of the first data object.

### Claim 20 (depends on 15)

The storage management appliance apparatus of claim 15, wherein the first computing device is further configured to:
execute a data agent and a media agent,
use the data agent to determine whether the criterion for archiving has been met by the first data object, and
cause the media agent to generate the secondary copy of the first data object.
