# US 11,442,816 B2 · Performance of backup operations in an order determined using service-metadata associated with backup requests

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

- Number: US 11,442,816 B2
- Document ID: US11442816B2
- Status: Granted
- Kind: B2
- Application number: 16/208,371
- Filed: 2018-12-03
- Published: 2020-06-04
- Granted: 2022-09-13
- Earliest claimed: 2018-12-03
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Thorsten Muehge; Erik Rueger; Mehmet-Zafer Inal; Boris Gulbadamov; Frank Krick
- Web page: https://patentgrep.com/patent/US11442816B2

## CPC

- G06F 3/0647: {Migration mechanisms}
- G06F 11/1461: {Backup scheduling policy}
- G06F 3/061: {Improving I/O performance}
- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0685: {Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays}
- G06F 3/0686: {Libraries, e.g. tape libraries, jukebox}
- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G06F 9/5038: {considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups)}
- G06F 9/546: {Message passing systems or structures, e.g. queues}
- G06F 11/1451: {by selection of backup contents}
- G06F 11/1464: {for networked environments}
- G06F 11/1469: {Backup restoration techniques}
- G06F 11/3034: {where the computing system component is a storage system, e.g. DASD based or network based (digital input from or digital output to record carriers G06F3/06; digital recording or reproducing G11B20/18; 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], H04L67/1097)}
- G06F 11/3409: {for performance assessment}
- G06F 2201/81: Threshold
- G06F 2209/501: Performance criteria
- G06F 2209/5013: Request control
- G06F 2209/5021: Priority
- G06F 2209/548: Queue
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer-implemented method according to one embodiment includes receiving a plurality of backup requests at a data storage system having a data storage library. At least some of the backup requests have unique service-metadata associated therewith. Each backup request is placed in a backup queue, where an ordering of the backup requests within the backup queue is based at least in part on the service-metadata. Backup operations are performed on the data storage system in accordance with the ordering of the backup requests within the backup queue. A computer program product for determining resource allocation in a backup environment according to another embodiment includes a computer readable storage medium having program instructions embodied therewith. The program instructions are readable and/or executable by a computer to cause the computer to perform the foregoing method.

## Claims

### Claim 1

A computer-implemented method, comprising:
receiving a plurality of backup requests at a data storage system having a data storage library, at least some of the backup requests having unique service-metadata associated therewith,
wherein the data storage library is divided into at least two logical libraries, the backup requests being serviced by one of the logical libraries;
placing each backup request in a backup queue, wherein an ordering of the backup requests within the backup queue is based at least in part on the unique service-metadata associated with the at least some of the backup requests,
wherein placing each backup request in the backup queue includes determining a group to which the backup request belongs, a group ranking of the group, and a sub-ranking for each of the backup requests within each group,
wherein each group ranking is determined from service level data of the unique service-metadata associated with the at least some backup requests,
wherein each sub-ranking is determined based on a sub-ranking priority value calculated using the unique service-metadata associated with the at least some backup requests;
performing backup operations on the data storage system according to the ordering of the backup requests within the backup queue; and
in response to a determination that a sub-ranking priority value of a first backup request is greater than a predetermined threshold priority value, recruiting an unused drive from another of the logical libraries to assist in performing a backup operation corresponding to the first backup request.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the unique service-metadata associated with the at least some backup requests includes information that is selected from the group consisting of: measured actual wait time, max wait time, measured run time, and total backup volume.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the sub-ranking priority value is determined using the following equation:
sub-ranking priority value=A1(1−(actual wait time/max wait time))+A2((1−mount time)/backup run time)), Equation (1)
where “A1” and “A2” are any predefined constant values.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, comprising: in response to the determination that the sub-ranking priority value of the first backup request is greater than the predetermined threshold priority value, terminating a running backup request, wherein the running backup request has a lower sub-ranking priority value than the sub-ranking priority value of the first backup request.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, comprising: in response to the determination that the sub-ranking priority value of the first backup request is greater than the predetermined threshold priority value, canceling a housekeeping operation within the data storage library for freeing a drive; assigning the first backup request to the freed drive; and scheduling the cancelled housekeeping operation for when the backup queue has been emptied, wherein the housekeeping operation includes a garbage collection operation.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the unique service-metadata associated with the at least some backup requests is assigned by a backup client sending the backup requests prior to receiving the plurality of backup requests at the data storage system.

### Claim 7

A computer program product for determining resource allocation in a backup environment, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions readable and/or executable by a computer to cause the computer to:
receive, by the computer, a plurality of backup requests at a data storage system having a data storage library, at least some of the backup requests having unique service-metadata associated therewith,
wherein the data storage library is divided into at least two logical libraries, the backup requests being serviced by one of the logical libraries,
wherein the logical libraries are located across more than one physical library frame;
place, by the computer, each backup request in a backup queue, wherein an ordering of the backup requests within the backup queue is based at least in part on the unique service-metadata associated with the at least some backup requests,
wherein placing each backup request in the backup queue includes determining, by the computer, a group to which the backup request belongs, a group ranking of the group, and a sub-ranking for each of the backup requests within each group,
wherein each group ranking is determined from service level data of the unique service-metadata associated with the at least some backup requests,
wherein each sub-ranking is determined based on a sub-ranking priority value calculated using the unique service-metadata;
perform, by the computer, backup operations on the data storage system according to the ordering of the backup requests within the backup queue; and
in response to a determination that a sub-ranking priority value of a first backup request is greater than a predetermined threshold priority value, recruiting, by the computer, an unused drive from another of the logical libraries to assist in performing a backup operation corresponding to the first backup request.

### Claim 8 (depends on 7)

The computer program product of claim 7, wherein the unique service-metadata associated with the at least some backup requests includes information that is selected from the group consisting of: measured actual wait time, max wait time, measured run time, and total backup volume.

### Claim 9 (depends on 7)

The computer program product of claim 7, wherein the sub-ranking priority value is determined, by the computer, using the following equation:
sub-ranking priority value=A1(1−(actual wait time/max wait time))+A2((1−mount time)/backup run time)), Equation (1)
where “A1” and “A2” are any predefined constant values.

### Claim 10 (depends on 7)

The computer program product of claim 7, the program instructions readable and/or executable by the computer to cause the computer to: in response to the determination that the sub-ranking priority value of the first backup request is greater than the predetermined threshold priority value, terminating, by the computer, a running backup request, wherein the running backup request has a lower sub-ranking priority value than the sub-ranking priority value of the first backup request.

### Claim 11 (depends on 10)

The computer program product of claim 10, wherein the running backup request has a largest remaining backup time of running backup requests.

### Claim 12 (depends on 7)

The computer program product of claim 7, the program instructions readable and/or executable by the computer to cause the computer to: in response to the determination that the sub-ranking priority value of the first backup request is greater than the predetermined threshold priority value, canceling, by the computer, a housekeeping operation within the data storage library for freeing a drive, and assigning the first backup request to the drive.

### Claim 13 (depends on 7)

The computer program product of claim 7, wherein the unique service-metadata associated with the at least some backup requests is assigned by a backup client sending the backup requests.

### Claim 14

A system, comprising:
a processor; and
logic integrated with the processor, executable by the processor, or integrated with and executable by the processor, the logic being configured to:
receive a plurality of backup requests at a data storage system having a data storage library, at least some of the backup requests having unique service-metadata associated therewith,
wherein the data storage library is divided into at least two logical libraries, the backup requests being serviced by one of the logical libraries;
place each backup request in a backup queue, wherein an ordering of the backup requests within the backup queue is based at least in part on the unique service-metadata associated with the at least some backup requests,
wherein placing each backup request in the backup queue includes determining a group to which the backup request belongs, a group ranking of the group, and a sub-ranking for each of the backup requests within each group,
wherein each group ranking is determined from service level data of the unique service-metadata,
wherein each sub-ranking is determined based on a sub-ranking priority value calculated using the unique service-metadata associated with the at least some backup requests;
perform backup operations on the data storage system according to the ordering of the backup requests within the backup queue; and
in response to a determination that a sub-ranking priority value of a first backup request is greater than a predetermined threshold priority value, recruit an unused drive from another of the logical libraries to assist in performing a backup operation corresponding to the first backup request.

### Claim 15 (depends on 14)

The system of claim 14, wherein the recruiting includes instructing reorganization of resources of the at least two logical libraries.

### Claim 16 (depends on 14)

The system of claim 14, wherein the sub-ranking priority value is determined using the following equation:
sub-ranking priority value=A1(1−(actual wait time/max wait time))+A2((1−mount time)/backup run time)), Equation (1)
where “A1” and “A2” are any predefined constant values.

### Claim 17 (depends on 14)

The system of claim 14, wherein the at least some of the backup operations are performed concurrently by two different drives in the data storage system during the performing of backup operations on the data storage system.

### Claim 18 (depends on 7)

The computer program product of claim 7, wherein at least some of the backup operations are performed concurrently by two different drives in the data storage system.

### Claim 19 (depends on 1)

The computer-implemented method of claim 1, wherein at least some of the backup operations are performed concurrently by two different drives in the data storage system.
