# US 2019/0171828 A1 · Digital Data Processing System For Efficiently Storing, Moving, And/Or Processing Data Across A Plurality Of Computing Clusters

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

- Number: US 2019/0171828 A1
- Document ID: US20190171828A1
- Status: Published application
- Kind: A1
- Application number: 15/828,876
- Filed: 2017-12-01
- Published: 2019-06-06
- Earliest claimed: 2017-12-01
- Assignees: Bank of America Corporation
- Applicants: Bank of America Corporation
- Inventors: Sitaram C. Yarlagadda; Vijaya M. Anusuri
- Web page: https://patentgrep.com/patent/US20190171828A1

## CPC

- G06F 21/6209: {to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself}
- G06F 21/31: User authentication
- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- 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]
- H04L 67/52: specially adapted for the location of the user terminal
- 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

A method, apparatus, computer-readable medium, and/or system described herein may be used to efficiently store, move, and/or process data across a plurality of computing clusters. For example, a computing device may receive an indication of one or more data storage locations within a first cluster of servers and/or an indication of one or more data storage locations within a second cluster of servers. The computing device may generate a data file comprising the indication of the one or more data storage locations within the first cluster of servers and/or the indication of one or more data storage locations within the second cluster of servers. Based on the generated data file, the computing device may generate a job to move data stored at the one or more data storage locations within the first cluster of servers to the one or more data storage locations within the second cluster of servers. Based on the job, the computing device may transmit, e.g., to the first cluster of servers and/or the second cluster of servers, instructions to move data stored at the one or more data storage locations within the first cluster of servers to the one or more data storage locations within the second cluster of servers.

## Claims

### Claim 1

A system comprising:
a computing device comprising:
one or more processors; and
memory storing computer-executable instructions that, when executed by the one or more processors of the computing device, cause the computing device to:
receive, from a user device, an indication of one or more data storage locations within a first cluster of servers;
receive, from the user device, an indication of one or more data storage locations within a second cluster of servers;
generate a data file comprising the indication of the one or more data storage locations within the first cluster of servers and the indication of one or more data storage locations within the second cluster of servers;
based on the generated data file, generate a job to move data stored at the one or more data storage locations within the first cluster of servers to the one or more data storage locations within the second cluster of servers; and
based on the job, transmit, to the first cluster of servers and the second cluster of servers, instructions to move data stored at the one or more data storage locations within the first cluster of servers to the one or more data storage locations within the second cluster of servers;
the first cluster of servers comprising:
one or more processors; and
memory storing computer-executable instructions that, when executed by the one or more processors of the first cluster of servers, cause the first cluster of servers to:
receive, from the computing device, the instructions to move the data;
based on the instructions, identify the data stored at the one or more data storage locations within the first cluster of servers; and
initiate transfer of the data stored at the one or more data storage locations within the first cluster of servers to the one or more data storage locations within the second cluster of servers; and
the second cluster of servers comprising:
one or more processors; and
memory storing computer-executable instructions that, when executed by the one or more processors of the second cluster of servers, cause the second cluster of servers to:
receive, from the computing device, the instructions to move the data;
based on the instructions, identify the one or more data storage locations within the second cluster of servers; and
store, at the one or more data storage locations within the second cluster of servers, the data transferred from the first cluster of servers.

### Claim 2 (depends on 1)

The system of claim 1, wherein the memory of the computing device stores computer-executable instructions that, when executed by the one or more processors of the computing device, cause the computing device to:
authenticate a user of the user device; and
determine whether the user of the user device is authorized to access one or more of the first cluster of servers or the second cluster of servers,
wherein generating the data file is performed after authenticating the user and after determining that the user is authorized to access one or more of the first cluster of servers or the second cluster of servers.

### Claim 3 (depends on 1)

The system of claim 1, wherein the memory of the computing device stores computer-executable instructions that, when executed by the one or more processors of the computing device, cause the computing device to:
determine a format of the data stored at the one or more data storage locations,
wherein generating the data file comprises generating the data file comprising the indication of the one or more data storage locations within the first cluster of servers, the indication of the one or more data storage locations within the second cluster of servers, and the format of the data.

### Claim 4 (depends on 1)

The system of claim 1, wherein the one or more data storage locations within the first cluster of servers comprises one or more files within the first cluster of servers, and wherein the one or more data storage locations within the second cluster of servers comprises one or more files within the second cluster of servers.

### Claim 5 (depends on 1)

The system of claim 1, wherein receiving the indication of one or more data storage locations within the first cluster of servers comprises receiving, from the user device, a plurality of source paths associated with the one or more data storage locations within the first cluster of servers, and wherein receiving the indication of one or more data storage locations within the second cluster of servers comprises receiving, from the user device, a plurality of destination paths associated with the one or more data storage locations within the second cluster of servers.

### Claim 6 (depends on 1)

The system of claim 1, wherein the memory of the computing device stores computer-executable instructions that, when executed by the one or more processors of the computing device, cause the computing device to:
based on the one or more data storage locations within the first cluster of servers, determine a plurality of clusters of servers for which the data can be moved to, wherein the plurality of clusters of servers comprise the second cluster of servers; and
transmit, to the user device, an indication of the plurality of clusters of servers.

### Claim 7 (depends on 1)

The system of claim 1, wherein the memory of the computing device stores computer-executable instructions that, when executed by the one or more processors of the computing device, cause the computing device to:
generate one or more identifiers for the job to move data stored at the one or more data storage locations within the first cluster of servers to the one or more data storage locations within the second cluster of servers; and
transmit, to the user device, the one or more identifiers.

### Claim 8 (depends on 1)

The system of claim 1, wherein generating the job is based on a data type of the data stored at the one or more data storage locations within the first cluster of servers.

### Claim 9 (depends on 1)

The system of claim 1, wherein the first cluster of servers runs in a higher level environment, and wherein the second cluster of servers runs in a lower level environment.

### Claim 10 (depends on 9)

The system of claim 9, wherein the higher level environment comprises a production environment, and wherein the lower level environment comprises one or more of an acceptance testing environment, a development environment, or a system integration testing environment.

### Claim 11

A method comprising:
receiving, by a computing device and from a user device, an indication of one or more data storage locations within a first cluster of servers;
receiving, by the computing device and from the user device, an indication of one or more data storage locations within a second cluster of servers;
generating a data file comprising the indication of the one or more data storage locations within the first cluster of servers and the indication of one or more data storage locations within the second cluster of servers;
based on the generated data file, generating a job to move data stored at the one or more data storage locations within the first cluster of servers to the one or more data storage locations within the second cluster of servers; and
based on the job, transmitting, by the computing device and to the first cluster of servers and the second cluster of servers, instructions to move data stored at the one or more data storage locations within the first cluster of servers to the one or more data storage locations within the second cluster of servers.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
authenticating a user of the user device; and
determining whether the user of the user device is authorized to access one or more of the first cluster of servers or the second cluster of servers,
wherein generating the data file is performed after authenticating the user and after determining that the user is authorized to access one or more of the first cluster of servers or the second cluster of servers.

### Claim 13 (depends on 11)

The method of claim 11, further comprising:
determining a format of the data stored at the one or more data storage locations,
wherein generating the data file comprises generating the data file comprising the indication of the one or more data storage locations within the first cluster of servers, the indication of the one or more data storage locations within the second cluster of servers, and the format of the data.

### Claim 14 (depends on 11)

The method of claim 11, wherein the one or more data storage locations within the first cluster of servers comprises one or more files within the first cluster of servers, and wherein the one or more data storage locations within the second cluster of servers comprises one or more files within the second cluster of servers.

### Claim 15 (depends on 11)

The method of claim 11, wherein receiving the indication of one or more data storage locations within the first cluster of servers comprises receiving, from the user device, a plurality of source paths associated with the one or more data storage locations within the first cluster of servers, and wherein receiving the indication of one or more data storage locations within the second cluster of servers comprises receiving, from the user device, a plurality of destination paths associated with the one or more data storage locations within the second cluster of servers.

### Claim 16 (depends on 11)

The method of claim 11, further comprising:
based on the one or more data storage locations within the first cluster of servers, determining a plurality of clusters of servers for which the data can be moved to, wherein the plurality of clusters of servers comprise the second cluster of servers; and
transmitting, by the computing device and to the user device, an indication of the plurality of clusters of servers.

### Claim 17 (depends on 11)

The method of claim 11, further comprising:
generating one or more identifiers for the job to move data stored at the one or more data storage locations within the first cluster of servers to the one or more data storage locations within the second cluster of servers; and
transmitting, from the computing device and to the user device, the one or more identifiers.

### Claim 18 (depends on 11)

The method of claim 11, wherein generating the job is based on a data type of the data stored at the one or more data storage locations within the first cluster of servers.

### Claim 19

A non-transitory computer readable medium storing instructions thereon that, when read by a computing device, causes the computing device to:
receive, from a user device, an indication of one or more data storage locations within a first cluster of servers;
receive, from the user device, an indication of one or more data storage locations within a second cluster of servers;
generate a data file comprising the indication of the one or more data storage locations within the first cluster of servers and the indication of one or more data storage locations within the second cluster of servers;
based on the generated data file, generate a job to move data stored at the one or more data storage locations within the first cluster of servers to the one or more data storage locations within the second cluster of servers; and
based on the job, transmit, to the first cluster of servers and the second cluster of servers, instructions to move data stored at the one or more data storage locations within the first cluster of servers to the one or more data storage locations within the second cluster of servers.

### Claim 20 (depends on 19)

The non-transitory computer readable medium of claim 19, storing instructions thereon that, when read by the computing device, causes the computing device to:
authenticate a user of the user device; and
determine whether the user of the user device is authorized to access one or more of the first cluster of servers and the second cluster of servers,
wherein generating the data file is performed after authenticating the user and after determining that the user is authorized to access one or more of the first cluster of servers and the second cluster of servers.
