# US 2017/0255644 A1 · Systems and methods for automatically passing hints to a file system

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

- Number: US 2017/0255644 A1
- Document ID: US20170255644A1
- Status: Published application
- Kind: A1
- Application number: 15/602,598
- Filed: 2017-05-23
- Published: 2017-09-07
- Earliest claimed: 2012-10-19
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Brian Lee Wong, JR.; Chunli Zhang; Gerald Thornbrugh; Siddheshwar Mahesh
- Web page: https://patentgrep.com/patent/US20170255644A1

## 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)}
- 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: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Aspects of the present disclosure involve systems and methods for passing optimization information, which may be used to optimize input/output (“I/O”) requests, from a database management system to a file system, using various protocols of a network file system. The optimization information provided by the database management system may relate to various aspects of an I/O request that may be optimized.

## Claims

### Claim 1

A computer-implemented method, comprising:
identifying, at a network file system (NFS), a group of one or more storage appliances associated with the NFS, the NFS being configured to communicate I/O requests from a client device to a storage appliance of the one or more storage appliances;
adding a new storage appliance to the group of one or more storage appliances, the addition causing the new storage appliance to be accessible to the client device, and the new storage appliance being configured to store one or more database files of a particular file type;
receiving an I/O request, the I/O request requesting access to the new storage appliance, the I/O request including one or more optimization attributes that optimize processing of the I/O request, and the optimization attribute being associated with the particular file type;
extracting the optimization attribute from the I/O request;
transforming each of the optimization attribute and the I/O request into a new I/O request; and
transmitting the new I/O request to the new storage appliance, and receiving the new I/O request at the new storage appliance causes the new storage appliance to execute the I/O request according to the optimization attribute.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the NFS uses a protocol to communicate I/O requests from the client device to the one or more storage appliances, and wherein adding the new storage appliance to the group associates the new storage appliance with the NFS without modifying the protocol.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein adding the new storage appliance to the group associates the new storage appliance with the NFS without modifying the NFS.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein transforming the optimization attribute and the I/O request further includes:
transforming the I/O request and the optimization attribute from a first format into a second format, the second format including the I/O request and metadata, the metadata representing the optimization attribute associated with the I/O request;
generating the new I/O request including the I/O request and the metadata.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein each storage appliance of the one or more storage appliances is configured to store a database file of a file type.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein when an additional I/O request is received at the new storage appliance, the additional I/O request is executed according to an additional optimization attribute included in the additional I/O request.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein executing the I/O request according to the optimization attribute includes accessing a database file of the one or more database files of the particular type.

### Claim 8

A system, comprising:
one or more data processors; and
a non-transitory computer-readable storage medium containing instructions which, when executed on the one or more data processors, cause the one or more data processors to perform operations including:
identifying, at a network file system (NFS), a group of one or more storage appliances associated with the NFS, the NFS being configured to communicate I/O requests from a client device to a storage appliance of the one or more storage appliances;
adding a new storage appliance to the group of one or more storage appliances, the addition causing the new storage appliance to be accessible to the client device, and the new storage appliance being configured to store one or more database files of a particular file type;
receiving an I/O request, the I/O request requesting access to the new storage appliance, the I/O request including one or more optimization attributes that optimize processing of the I/O request, and the optimization attribute being associated with the particular file type;
extracting the optimization attribute from the I/O request;
transforming the optimization attribute and the I/O request into a new I/O request; and
transmitting the new I/O request to the new storage appliance, and receiving the new I/O request at the new storage appliance causes the new storage appliance to execute the I/O request according to the optimization attribute.

### Claim 9 (depends on 8)

The system of claim 8, wherein the NFS uses a protocol to communicate I/O requests from the client device to the one or more storage appliances, and wherein adding the new storage appliance to the group associates the new storage appliance with the NFS without modifying the protocol.

### Claim 10 (depends on 8)

The system of claim 8, wherein adding the new storage appliance to the group associates the new storage appliance with the NFS without modifying the NFS.

### Claim 11 (depends on 8)

The system of claim 8, wherein transforming the optimization attribute and the I/O request further includes:
transforming the I/O request and the optimization attribute from a first format into a second format, the second format including the I/O request and metadata, the metadata representing the optimization attribute associated with the I/O request;
generating the new I/O request including the I/O request and the metadata.

### Claim 12 (depends on 8)

The system of claim 8, wherein each storage appliance of the one or more storage appliances is configured to store a database file of a file type.

### Claim 13 (depends on 8)

The system of claim 8, wherein when an additional I/O request is received at the new storage appliance, the additional I/O request is executed according to an additional optimization attribute included in the additional I/O request.

### Claim 14 (depends on 8)

The system of claim 8, wherein executing the I/O request according to the optimization attribute includes accessing a database file of the one or more database files of the particular type.

### Claim 15

A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause a data processing apparatus to perform operations including:
identifying, at a network file system (NFS), a group of one or more storage appliances associated with the NFS, the NFS being configured to communicate I/O requests from a client device to a storage appliance of the one or more storage appliances;
adding a new storage appliance to the group of one or more storage appliances, the addition causing the new storage appliance to be accessible to the client device, and the new storage appliance being configured to store one or more database files of a particular file type;
receiving an I/O request, the I/O request requesting access to the new storage appliance, the I/O request including one or more optimization attributes that optimize processing of the I/O request, and the optimization attribute being associated with the particular file type;
extracting the optimization attribute from the I/O request;
transforming the optimization attribute and the I/O request into a new I/O request; and
transmitting the new I/O request to the new storage appliance, and receiving the new I/O request at the new storage appliance causes the new storage appliance to execute the I/O request according to the optimization attribute.

### Claim 16 (depends on 15)

The computer-program product of claim 15, wherein the NFS uses a protocol to communicate I/O requests from the client device to the one or more storage appliances, and wherein adding the new storage appliance to the group associates the new storage appliance with the NFS without modifying the protocol.

### Claim 17 (depends on 15)

The computer-program product of claim 15, wherein adding the new storage appliance to the group associates the new storage appliance with the NFS without modifying the NFS.

### Claim 18 (depends on 15)

The computer-program product of claim 15, wherein transforming the optimization attribute and the I/O request further includes:
transforming the I/O request and the optimization attribute from a first format into a second format, the second format including the I/O request and metadata, the metadata representing the optimization attribute associated with the I/O request;
generating the new I/O request including the I/O request and the metadata.

### Claim 19 (depends on 15)

The computer-program product of claim 15, wherein each storage appliance of the one or more storage appliances is configured to store a database file of a file type.

### Claim 20 (depends on 15)

The computer-program product of claim 15, wherein when an additional I/O request is received at the new storage appliance, the additional I/O request is executed according to an additional optimization attribute included in the additional I/O request.
