# US 12,222,906 B2 · Intelligent file system with transparent storage tiering

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

- Number: US 12,222,906 B2
- Document ID: US12222906B2
- Status: Granted
- Kind: B2
- Application number: 18/186,089
- Filed: 2023-03-17
- Published: 2023-07-20
- Granted: 2025-02-11
- Earliest claimed: 2014-12-15
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Karthikeyan Krishnan; Akshai Parthasarathy; Abdul Sathar Sait
- Web page: https://patentgrep.com/patent/US12222906B2

## CPC

- G06F 16/183: {Provision of network file services by network file servers, e.g. by using NFS, CIFS (network file access protocols H04L67/1097)}
- G06F 3/0611: {in relation to response time}
- G06F 3/0643: {Management of files}
- G06F 3/0647: {Migration mechanisms}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 16/122: {using management policies (point-in-time backing up or restoration of persistent data G06F11/1446; file migration policies for HSM systems G06F16/185)}
- G06F 16/185: Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof (details of archiving G06F16/11)
- G06Q 20/102: {Bill distribution or payments}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

A file system manager implemented at a provider network identifies a storage device of a first group of storage devices of a provider network as an initial location of a file system object. Based on an access metric associated with the object, the file system manager initiates a transfer of contents of the object to a second storage device of a different storage device group, without receiving a client request specifying the transfer. In response to an access request received via a file system programmatic interface, contents of the object are provided from the second storage device. Based on a second access metric, the object is transferred back to the first group of storage devices.

## Claims

### Claim 1

A computer-implemented method, comprising:
initiating, based at least in part on detecting that a metric-based condition has been met, a transfer of at least a portion of contents of a first object from a first storage device of a cloud computing environment to a second storage device, independent of a client-initiated transfer request specific to the first object from a client of the cloud computing environment to which the first object belongs, wherein a difference in one or more properties between the first storage device and the second storage device provides a benefit of transferring the at least a portion of contents of the first object from the first storage device to the second storage device;
determining, based at least in part on a particular property of the first storage device, that storage space which was being used for the portion of contents at the first storage device prior to the transfer should be used to store a second object; and
storing the second object in the storage space.

### Claim 2 (depends on 1)

The computer-implemented method as recited in claim 1, wherein the first object comprises a file system object.

### Claim 3 (depends on 1)

The computer-implemented method as recited in claim 1, wherein an object stored at the first storage device can be accessed at a first speed, wherein an object stored at the second storage device can be accessed at a second speed, and wherein the first speed differs from the second speed.

### Claim 4 (depends on 1)

The computer-implemented method as recited in claim 1, wherein the benefit is that a cost of storing the first object on the second storage device is less that a cost of storing the first object on the first storage device.

### Claim 5 (depends on 1)

The computer-implemented method as recited in claim 1, further comprising:
collecting one or more metrics associated with the first object, wherein said detecting that the metric-based condition has been met is based at least in part on analysis of the one or more metrics, and wherein the one or more metrics include one or more of: (a) a frequency with which the first object is read or (b) a frequency with which the first object is written.

### Claim 6 (depends on 1)

The computer-implemented method as recited in claim 1, wherein the particular property comprises a speed with which objects can be accessed from the first storage device.

### Claim 7 (depends on 1)

The computer-implemented method as recited in claim 1, further comprising:
transferring the portion of contents of the first object back to the first storage device from the second storage device, independent of a client-initiated transfer request specific to the first object from the client.

### Claim 8

A system, comprising:
one or more computing devices;
wherein the one or more computing devices include instructions that upon execution on or across the one or more computing devices:
initiate, based at least in part on detecting that a metric-based condition has been met, a transfer of at least a portion of contents of a first object from a first storage device of a cloud computing environment to a second storage device, independent of a client-initiated transfer request specific to the first object from a client of the cloud computing environment to which the first object belongs, wherein a difference in one or more properties between the first storage device and the second storage device provides a benefit of transferring the at least a portion of contents of the first object from the first storage device to the second storage device;
determine, based at least in part on a particular property of the first storage device, that storage space which was being used for the portion of contents at the first storage device prior to the transfer should be used to store a second object; and
store the second object in the storage space.

### Claim 9 (depends on 8)

The system as recited in claim 8, wherein the first object comprises a file system object.

### Claim 10 (depends on 8)

The system as recited in claim 8, wherein an object stored at the first storage device can be accessed at a first speed, wherein an object stored at the second storage device can be accessed at a second speed, and wherein the first speed differs from the second speed.

### Claim 11 (depends on 8)

The system as recited in claim 8, wherein the benefit is that a cost of storing the first object on the second storage device is less that a cost of storing the first object on the first storage device.

### Claim 12 (depends on 8)

The system as recited in claim 8, wherein the one or more computing devices include further instructions that upon execution on or across the one or more computing devices:
collect one or more metrics associated with the first object, wherein said detecting that the metric-based condition has been met is based at least in part on analysis of the one or more metrics, and wherein the one or more metrics include one or more of: (a) a frequency with which the first object is read or (b) a frequency with which the first object is written.

### Claim 13 (depends on 8)

The system as recited in claim 8, wherein the particular property comprises a speed with which objects can be accessed from the first storage device.

### Claim 14 (depends on 8)

The system as recited in claim 8, wherein the one or more computing devices include further instructions that upon execution on or across the one or more computing devices:
transfer the portion of contents of the first object back to the first storage device from the second storage device, independent of a client-initiated transfer request specific to the first object from the client.

### Claim 15

One or more non-transitory computer-accessible storage media storing program instructions that when executed on or across one or more processors:
initiate, based at least in part on detecting that a metric-based condition has been met, a transfer of at least a portion of contents of a first object from a first storage device of a cloud computing environment to a second storage device, independent of a client-initiated transfer request specific to the first object from a client of the cloud computing environment to which the first object belongs, wherein a difference in one or more properties between the first storage device and the second storage device provides a benefit of transferring the at least a portion of contents of the first object from the first storage device to the second storage device;
determine, based at least in part on a particular property of the first storage device, that storage space which was being used for the portion of contents at the first storage device prior to the transfer should be used to store a second object; and
store the second object in the storage space.

### Claim 16 (depends on 15)

The one or more non-transitory computer-accessible storage media as recited in claim 15, wherein the first object comprises a file system object.

### Claim 17 (depends on 15)

The one or more non-transitory computer-accessible storage media as recited in claim 15, wherein an object stored at the first storage device can be accessed at a first speed, wherein an object stored at the second storage device can be accessed at a second speed, and wherein the first speed differs from the second speed.

### Claim 18 (depends on 15)

The one or more non-transitory computer-accessible storage media as recited in claim 15, wherein the benefit is that a cost of storing the first object on the second storage device is less that a cost of storing the first object on the first storage device.

### Claim 19 (depends on 15)

The one or more non-transitory computer-accessible storage media as recited in claim 15, storing further program instructions that when executed on or across the one or more processors:
collect one or more metrics associated with the first object, wherein said detecting that the metric-based condition has been met is based at least in part on analysis of the one or more metrics, and wherein the one or more metrics include one or more of: (a) a frequency with which the first object is read or (b) a frequency with which the first object is written.

### Claim 20 (depends on 15)

The one or more non-transitory computer-accessible storage media as recited in claim 15, storing further program instructions that when executed on or across the one or more processors:
transfer the portion of contents of the first object back to the first storage device from the second storage device, independent of a client-initiated transfer request specific to the first object from the client.
