# US 10,120,920 B2 · Increasing storage space for processes impacting data storage systems

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

- Number: US 10,120,920 B2
- Document ID: US10120920B2
- Status: Granted
- Kind: B2
- Application number: 14/796,379
- Filed: 2015-07-10
- Published: 2017-01-12
- Granted: 2018-11-06
- Earliest claimed: 2015-07-10
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Prajwal M. Alva; Sindury R. R. Baddam; Michael Bender; Kiran K. Kompala
- Web page: https://patentgrep.com/patent/US10120920B2

## CPC

- G06F 16/258: {Data format conversion from or to a database}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0605: {by facilitating the interaction with a user or administrator}
- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/0647: {Migration mechanisms}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0683: {Plurality of storage devices}
- G06F 16/10: File systems; File servers
- G06F 16/116: {Details of conversion of file system types or formats}
- G06F 16/1727: {Details of free space management performed by the file system (saving storage space on storage systems G06F3/0608; management of blocks in storage devices G06F3/064)}
- G06F 16/214: {Database migration support}
- G06F 16/254: {Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses}
- G06F 16/283: {Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP}
- H04L 67/1008: based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30)
- 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

A processing request is received. The processing request includes information about a first location where a set of data is stored and information about a second location where the set of data is to be transferred. The size of the set of data is determined. The size of the available portion of the second location is determined. If the size of the set of data is smaller than the size of the available portion of the second location is determined. Responsive to determining the size of the set of data is larger than the size of the available portion of the second location, the size of the available portion is requested to be increased. The size of the available portion of the second location is increased to a size larger than the determined size of the set of data.

## Claims

### Claim 1

A method for managing data storage, the method comprising the steps of:
receiving a request to extract an input file located on a source device, transform the input file to an output file via a data processing process, and load the output file on a target device;
initiating transformation of the input file to the output file using the data processing process; and
determining an expected storage size for the output file prior to completing the data processing process based on (i) a selection, during processing, of a subset of fields of the input file, (ii) a row count for the input file, and (iii) a largest possible row size for the output file, wherein determining the expected storage size for the output file prior to completing the data processing process further comprises multiplying the largest row size in the fields by the largest row size possible in order to determine the expected storage size.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
determining an allocated size for the output file on the target device.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
responsive to determining that the expected storage size is greater than the allocated storage size for the output file, requesting additional storage space on the target device.

### Claim 4

A computer program product for managing data storage, the computer program product comprising:
one or more computer readable storage media; and
program instructions stored on the one or more computer readable storage media, the program instructions comprising:
program instructions to receive a request to extract an input file located on a source device, transform the input file to an output file via a data processing process, and load the output file on a target device;
program instructions to initiate transformation of the input file to the output file using the data processing process; and
program instructions to determine an expected storage size for the output file prior to completing the data processing process based on (i) a selection of a subset of fields during processing, of fields of the input file, (ii) a row count for the input file and (iii) a largest possible row size for the output file, wherein determining the expected storage size for the output file prior to completing the data processing process further comprises multiplying the largest row size in the fields by the largest row size possible in order to determine the expected storage size.

### Claim 5 (depends on 4)

The computer program product of claim 4, further comprising program instructions, stored on the one or more computer readable storage media, to:
determine an allocated size for the output file on the target device.

### Claim 6 (depends on 5)

The computer program product of claim 5, further comprising program instructions, stored on the one or more computer readable storage media, to:
responsive to determining that the expected storage size is greater than the allocated storage size for the output file, request additional storage space on the target device.

### Claim 7

A computer system for managing data storage, the computer program product comprising, the computer system comprising:
one or more computer processors;
one or more computer readable storage media; and
program instructions, stored on the one or more computer readable storage media for execution by at least one of the one or more computer processors, the program instructions comprising:
program instructions to receive a request to extract an input file located on a source device, transform the input file to an output file via a data processing process, and load the output file on a target device;
program instructions to initiate transformation of the input file to the output file using the data processing process; and
program instructions to determine an expected storage size for the output file prior to completing the data processing process based on (i) a selection, during processing, of a subset of fields of the input file, (ii) a row count for the input file and (iii) a largest possible row size for the output file, wherein determining the expected storage size for the output file prior to completing the data processing process further comprises multiplying the largest row size in the fields by the largest row size possible in order to determine the expected storage size.

### Claim 8 (depends on 7)

The computer system of claim 7, further comprising program instructions, stored on the one or more computer readable storage media, for execution by the at least one of the one or more computer processors, to:
determine an allocated size for the output file on the target device.

### Claim 9 (depends on 8)

The computer system of claim 8, further comprising program instructions, stored on the one or more computer readable storage media, for execution by the at least one of the one or more computer processors, to:
responsive to determining that the expected storage size is greater than the allocated storage size for the output file, request additional storage space on the target device.
