# US 2020/0401336 A1 · Dynamic api allocation based on data-tagging

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

- Number: US 2020/0401336 A1
- Document ID: US20200401336A1
- Status: Published application
- Kind: A1
- Application number: 16/446,715
- Filed: 2019-06-20
- Published: 2020-12-24
- Earliest claimed: 2019-06-20
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Bruno dos Santos Silva; Shawn Snodgrass; MARK J. WALBORN
- Web page: https://patentgrep.com/patent/US20200401336A1

## CPC

- G06F 3/0647: {Migration mechanisms}
- G06F 3/0607: {by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device}
- G06F 3/061: {Improving I/O performance}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 9/541: {via adapters, e.g. between incompatible applications}
- G06F 16/9035: Filtering based on additional data, e.g. user or group profiles
- G06F 16/9566: {URL specific, e.g. using aliases, detecting broken or misspelled links}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Dynamic API allocation based on data-tagging is provided. Data that is stored in a local system is parsed and normalized. One or more highly used fields is identified and tagged. A counter corresponding to each highly used field is incremented upon each reference. Upon exceeding a threshold, data is migrated to object storage. An index is created for each highly used field. A bi-directional pipeline is created between the local system and the cloud-based system. The data structure is created in object storage in the cloud-based system. Data is dynamically migrated through the pipeline from the local system to cloud-based object storage. Cloud-based system sends an API endpoint to local system. Future data accesses to local data are redirected to object storage using the API endpoint. Local system continues monitoring data utilization. Upon utilization dropping below a threshold, data accesses are redirected to local system, using the local pointer.

## Claims

### Claim 1

A method for dynamic API allocation based on data-tagging, comprising:
at a local system:
receiving and storing data in a plurality of storage architectures in the local system;
parsing and normalizing the stored data;
identifying one or more highly used fields in the data;
creating an index for the one or more highly used fields; and
migrating dynamically all the stored data having the one or more highly used fields from the local system to cloud-based object storage in response to a counter associated with one of the highly used fields exceeding a threshold.

### Claim 2 (depends on 1)

The method of claim 1, wherein the migrating further comprises:
creating a bi-directional pipeline from the local system to a cloud-based system;
sending to the cloud-based system a data structure corresponding to the stored data along with a request for storage space;
receiving from the cloud-based system a cloud-based pointer that establishes addressing between the local system and an object storage location in the cloud-based system;
migrating through the bi-directional pipeline the stored data from the local system to the object storage in the cloud-based system;
saving the counter associated with the highly used field and setting the counter to zero; and
replacing the pointer in the local system with the pointer from the cloud-based system, wherein requests for the data are satisfied by data located by the pointer from the cloud-based system.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
monitoring, at the local system, utilization of highly used data that is migrated; and
in response to the utilization of highly used data being below a user-defined threshold, redirecting dynamically requests for data from the cloud-based system to the local system, wherein the redirecting comprises replacing the cloud-based system pointer with the local system pointer.

### Claim 4 (depends on 1)

The method of claim 1, wherein the storage architectures include: a database, an object storage, an index-file, an in-memory database, and a linear in-memory file.

### Claim 5 (depends on 1)

The method of claim 1, wherein the identifying is in response to setting a tag that is associated with a highly used field in the stored data.

### Claim 6 (depends on 1)

The method of claim 1, wherein a cloud-based pointer comprises a URL and a port address and wherein an application accesses the migrated data using the cloud-based pointer.

### Claim 7 (depends on 1)

The method of claim 1, wherein whether a data request is satisfied from the local system or from the cloud-based object storage is transparent to an application.

### Claim 8 (depends on 1)

The method of claim 1, wherein an application is unmodified to access migrated data.

### Claim 9

A computer program product for dynamic API allocation based on data-tagging, comprising a computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code when executed on a computer causes the computer to:
at a local system:
receive and store data in a plurality of storage architectures in the local system;
parse and normalize the stored data;
identify one or more highly used fields in the data;
create an index for the one or more highly used fields; and
migrate dynamically all the stored data having the one or more highly used fields from the local system to cloud-based object storage in response to a counter associated with one of the highly used fields exceeding a threshold.

### Claim 10 (depends on 9)

The computer program product of claim 9, further comprising program code to:
create a bi-directional pipeline from the local system to a cloud-based system;
send to the cloud-based system a data structure corresponding to the stored data along with a request for storage space;
receive from the cloud-based system a pointer that establishes addressing between the local system and an object storage location in the cloud-based system;
migrate through the bi-directional pipeline the stored data from the local system to the object storage in the cloud-based system;
save the counter associated with the highly used field and setting the counter to zero; and
replace the pointer from the local system to the pointer from the cloud-based system, wherein requests for data are satisfied by data located by the pointer from the cloud-based system.

### Claim 11 (depends on 10)

The computer program product of claim 10, further comprising computer-readable program code to:
monitor, at the local system, utilization of highly used data that is migrated; and
in response to the utilization of highly used data being below a user-defined threshold, redirect dynamically requests for data from the cloud-based system to the local system, wherein the redirect comprises replacing the cloud-based system pointer with the local system pointer.

### Claim 12 (depends on 9)

The computer program product of claim 9, wherein the storage architectures include: a database, an object storage, an index-file, an in-memory database, and a linear in-memory file.

### Claim 13 (depends on 9)

The computer program product of claim 9, wherein the identifying is in response to setting a tag that is associated with a highly used field in the stored data.

### Claim 14 (depends on 9)

The computer program product of claim 9, wherein a cloud-based pointer comprises a URL and a port address and wherein an application accesses the migrated data using the cloud-based pointer.

### Claim 15 (depends on 9)

The computer program product of claim 9, wherein whether a data request is satisfied from the local system or from the cloud-based object storage is transparent to an application.

### Claim 16 (depends on 9)

The computer program product of claim 9, wherein an application is unmodified to access migrated data.

### Claim 17

A computer system for dynamic API allocation based on data-tagging, the system comprising:
one or more processors;
a memory coupled to at least one of the processors;
a set of computer program instructions stored in the memory and executed by at least one of the processors in order to perform actions of:
at a local system:
receiving and storing data in a plurality of storage architectures in the local system;
parsing and normalizing the stored data;
identifying one or more fields in the data as highly used;
creating an index for the one or more highly used fields; and
migrating dynamically all stored data having the one or more highly used fields from the local system to cloud-based object storage in response to a counter associated with the highly used field exceeding a threshold.

### Claim 18 (depends on 17)

The computer system of claim 17, wherein the migrating further comprises:
creating a bi-directional pipeline from the local system to a cloud-based system;
sending to the cloud-based system a data structure corresponding to the stored data along with a request for storage space;
receiving from the cloud-based system a pointer that establishes addressing between the local system and an object storage location in the cloud-based system;
migrating through the bi-directional pipeline the stored data from the local system to the object storage in the cloud-based system;
saving the counter associated with the highly used field and setting the counter to zero; and
replacing the pointer local system to the pointer from the cloud-based system, wherein requests for the data are satisfied by data located by the pointer from the cloud-based system.

### Claim 19 (depends on 18)

The computer system of claim 18, further comprises program code to:
monitor, at the local system, utilization of highly used data that is migrated; and
in response to the utilization of highly used data being below a user-defined threshold, redirecting dynamically requests for data from the cloud-based system to the local system, wherein the redirecting comprises replacing the cloud-based system pointer with the local system pointer.

### Claim 20 (depends on 17)

The computer system of claim 17, wherein a location of the data is transparent to an application, and wherein an application is unmodified to access migrated data.
