# US 2019/0377601 A1 · File Operation Task Optimization

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

- Number: US 2019/0377601 A1
- Document ID: US20190377601A1
- Status: Published application
- Kind: A1
- Application number: 16/451,829
- Filed: 2019-06-25
- Published: 2019-12-12
- Earliest claimed: 2013-11-25
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Chi Ma; Kenneth J. Goldman; Yonggang Zhao; Stephen P.G. Gildea
- Web page: https://patentgrep.com/patent/US20190377601A1

## CPC

- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G06F 9/4887: {involving deadlines, e.g. rate based, periodic}
- G06F 16/16: File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F 16/182: Distributed file systems
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method includes receiving, by a data processing apparatus, a plurality of file operation requests, each file operation request including a priority, a deadline, and an operation type and representing a request to perform an operation on at least one file maintained in a distributed file system; identifying, by the data processing apparatus, a group of file operation requests to be executed together from the plurality of file operation requests, the identification based at least in part on at least one of: the file operations in the group of file operations being directed to a same storage system, or file operations in the group of file operations sharing a common operation type; and sending a request to execute the group of file operation requests to a system configured to perform the group of file operation requests.

## Claims

### Claim 1

(canceled)

### Claim 2

A computer-implemented method comprising:
receiving, by a data processing apparatus, a plurality of file operation requests, each file operation request representing a request to perform an operation on at least one file maintained in a distributed file system and corresponding to a priority and to an operation type;
selecting, by the data processing apparatus, a particular file operation request of the plurality of file operation requests based on the priority of the particular file operation request relative to the priorities of the plurality of file operation requests;
in response to selecting the particular file operation request of the plurality of file operation requests based on the priority of the particular file operation request relative to the priorities of the plurality of file operation requests, selecting, by the data processing apparatus and based on the operation type of the particular file operation request selected, a group of file operation requests from the operation index that have an operation type in common with the particular file operation request selected; and
sending, by the data processing apparatus, a request to perform the group of file operation requests, including the particular operation request, that have the common operation type.

### Claim 3 (depends on 2)

The method of claim 2, comprising:
determining that less than a predetermined number of file operation requests have an operation type in common with the particular file operation request selected from the priority index; and
in response to determining that less than the predetermined number of file operation requests have an operation type in common with the particular file operation request selected from the priority index, waiting for additional file operation requests to be received that have an operation type in common with the particular file operation request selected from the priority index.

### Claim 4 (depends on 2)

The method of claim 2, wherein receiving the plurality of file operation requests includes receiving a hard deadline for at least one of the plurality of file operation requests.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
identifying file operation requests that can be completed before an earliest hard deadline associated with a file operation request from the group of file operation requests; and
aborting the at least one of the plurality of file operation requests including the hard deadline if the file operation is not completed by the hard deadline.

### Claim 6 (depends on 4)

The method of claim 4, wherein selecting, by the data processing apparatus, a particular file operation request of the plurality of file operation requests based on the priority of the particular file operation request relative to the priorities of the plurality of file operation requests comprises:
ordering the file operation requests in each of the request sets in ascending order according to timestamps indicating a time for each request;
promoting each file operation request including a hard deadline to the beginning of each of the request sets so that each request set includes the file operation requests including hard deadlines at the beginning of the set in descending order by hard deadline; and
wherein selecting a particular file operation request comprises selecting a first file operation request in the highest priority request set as the particular file operation request.

### Claim 7 (depends on 4)

The method of claim 4, wherein receiving the plurality of file operation requests includes receiving a soft deadline for at least one of the plurality of file operation requests, and the method further comprises:
identifying a file operation request that will not be completed by the soft deadline associated with the request;
notifying a requestor associated with the file operation request that the file operation request will not be completed before the soft deadline; and
continuing the at least one of the plurality of file operation requests including the hard deadline if the file operation is not completed by the soft deadline.

### Claim 8 (depends on 2)

The method of claim 2, wherein receiving the plurality of file operation requests includes receiving a process association for a file operation request indicating a particular process, and the method further comprises:
determining that the particular process has terminated; and
sending a request to execute the file operation request in response to determining that the particular process has terminated.

### Claim 9 (depends on 2)

The method of claim 2, wherein sending, by the data processing apparatus, a request to perform the group of file operation requests, including the particular operation request, that have the common operation type comprises:
sending the request to perform the group of file operation requests as a single file operation request instead of as multiple separate file operation requests.

### Claim 10 (depends on 2)

The method of claim 2, wherein the operation type comprises one or more of a file copy, a file deletion, or a file merge.

### Claim 11

A system comprising:
one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:
receiving, by a data processing apparatus, a plurality of file operation requests, each file operation request representing a request to perform an operation on at least one file maintained in a distributed file system and corresponding to a priority and to an operation type;
selecting, by the data processing apparatus, a particular file operation request of the plurality of file operation requests based on the priority of the particular file operation request relative to the priorities of the plurality of file operation requests;
in response to selecting the particular file operation request of the plurality of file operation requests based on the priority of the particular file operation request relative to the priorities of the plurality of file operation requests, selecting, by the data processing apparatus and based on the operation type of the particular file operation request selected, a group of file operation requests from the operation index that have an operation type in common with the particular file operation request selected; and
sending, by the data processing apparatus, a request to perform the group of file operation requests, including the particular operation request, that have the common operation type.

### Claim 12 (depends on 11)

The system of claim 11, comprising:
determining that less than a predetermined number of file operation requests have an operation type in common with the particular file operation request selected from the priority index; and
in response to determining that less than the predetermined number of file operation requests have an operation type in common with the particular file operation request selected from the priority index, waiting for additional file operation requests to be received that have an operation type in common with the particular file operation request selected from the priority index.

### Claim 13 (depends on 11)

The system of claim 11, wherein receiving the plurality of file operation requests includes receiving a hard deadline for at least one of the plurality of file operation requests.

### Claim 14 (depends on 13)

The system of claim 13, further comprising:
identifying file operation requests that can be completed before an earliest hard deadline associated with a file operation request from the group of file operation requests; and
aborting the at least one of the plurality of file operation requests including the hard deadline if the file operation is not completed by the hard deadline.

### Claim 15 (depends on 13)

The system of claim 13, wherein selecting, by the data processing apparatus, a particular file operation request of the plurality of file operation requests based on the priority of the particular file operation request relative to the priorities of the plurality of file operation requests comprises:
ordering the file operation requests in each of the request sets in ascending order according to timestamps indicating a time for each request;
promoting each file operation request including a hard deadline to the beginning of each of the request sets so that each request set includes the file operation requests including hard deadlines at the beginning of the set in descending order by hard deadline; and
wherein selecting a particular file operation request comprises selecting a first file operation request in the highest priority request set as the particular file operation request.

### Claim 16 (depends on 13)

The system of claim 13, wherein receiving the plurality of file operation requests includes receiving a soft deadline for at least one of the plurality of file operation requests, and the method further comprises:
identifying a file operation request that will not be completed by the soft deadline associated with the request;
notifying a requestor associated with the file operation request that the file operation request will not be completed before the soft deadline; and
continuing the at least one of the plurality of file operation requests including the hard deadline if the file operation is not completed by the soft deadline.

### Claim 17 (depends on 11)

The system of claim 11, wherein receiving the plurality of file operation requests includes receiving a process association for a file operation request indicating a particular process, and the method further comprises:
determining that the particular process has terminated; and
sending a request to execute the file operation request in response to determining that the particular process has terminated.

### Claim 18 (depends on 11)

The system of claim 11, wherein sending, by the data processing apparatus, a request to perform the group of file operation requests, including the particular operation request, that have the common operation type comprises:
sending the request to perform the group of file operation requests as a single file operation request instead of as multiple separate file operation requests.

### Claim 19 (depends on 11)

The system of claim 11, wherein the operation type comprises one or more of a file copy, a file deletion, or a file merge.

### Claim 20

A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:
receiving, by a data processing apparatus, a plurality of file operation requests, each file operation request representing a request to perform an operation on at least one file maintained in a distributed file system and corresponding to a priority and to an operation type;
selecting, by the data processing apparatus, a particular file operation request of the plurality of file operation requests based on the priority of the particular file operation request relative to the priorities of the plurality of file operation requests;
in response to selecting the particular file operation request of the plurality of file operation requests based on the priority of the particular file operation request relative to the priorities of the plurality of file operation requests, selecting, by the data processing apparatus and based on the operation type of the particular file operation request selected, a group of file operation requests from the operation index that have an operation type in common with the particular file operation request selected; and
sending, by the data processing apparatus, a request to perform the group of file operation requests, including the particular operation request, that have the common operation type.

### Claim 21 (depends on 20)

The system of claim 20, comprising:
determining that less than a predetermined number of file operation requests have an operation type in common with the particular file operation request selected from the priority index; and
in response to determining that less than the predetermined number of file operation requests have an operation type in common with the particular file operation request selected from the priority index, waiting for additional file operation requests to be received that have an operation type in common with the particular file operation request selected from the priority index.
