# US 12,007,847 B2 · Reporting for database backups

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

- Number: US 12,007,847 B2
- Document ID: US12007847B2
- Status: Granted
- Kind: B2
- Application number: 17/236,079
- Filed: 2021-04-21
- Published: 2022-10-27
- Granted: 2024-06-11
- Earliest claimed: 2021-04-21
- Assignees: EMC IP Holding Company LLC
- Applicants: EMC IP Holding Company LLC
- Inventors: Rachana Murthy; Shelesh Chopra; Ban Wang; Hari Palani; Amith Ramachandran
- Web page: https://patentgrep.com/patent/US12007847B2

## CPC

- G06F 11/1458: {Management of the backup or restore process}
- G06F 11/1464: {for networked environments}
- G06F 11/1451: {by selection of backup contents}
- G06F 11/1461: {Backup scheduling policy}
- G06F 11/1469: {Backup restoration techniques}
- G06F 11/3072: {where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting}
- G06F 11/302: {where the computing system component is a software system}
- 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/3055: {Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available (error or fault processing without redundancy G06F11/0703; error detection or correction by redundancy in data representation G06F11/08; error detection or correction of the data by redundancy in operations G06F11/14; error detection or correction by redundancy in hardware G06F11/16)}
- G06F 2201/80: Database-specific techniques
- G06F 2201/865: Monitoring of software
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques described herein relate to a method for reporting database backup information. The method may include starting a monitor process; generating a flag file for the database backup comprising a parent process identifier (PID) of a parent process of a first child process; associating a second child process with the monitor process by identifying the flag file using the parent PID; receiving channel close alerts from the child processes; making a first determination that backup jobs performed in a first channel were successful; making a second determination that backup jobs performed in the second channel were successful; and transmitting, based on the first determination and the second determination, a backup success report to a backup coordinator.

## Claims

### Claim 1

A method for reporting database backup information, the method comprising:
making a first determination, by a first child process of a plurality of child processes, that a monitoring process associated with the plurality of child processes has not been started by determining that a flag file for the database has not been created by the plurality of child processes;
starting, by a first library instance of the first child process executing on a data source device, the monitor process, wherein the first child process comprises a first backup channel for performing a first portion of a database backup of a database;
making a second determination, by the first library instance, that the flag file has still not been created by the plurality of child processes, wherein the first child process is first in time of the plurality of child processes to start the monitor process;
generating, by the monitor process, the flag file for the database backup comprising a parent process identifier (PID) of a parent process of the first child process, wherein the flag file:
further comprises child (PIDs) associated with the plurality of child processes and backup job names associated with backup jobs of the database backup, and
specifies backup job start times, backup job end times, backup job successes, backup job failures, and the first child process started the monitoring process and generated the flag file;
associating a second child process of the plurality of child processes with the monitor process by identifying the flag file using the parent PID, wherein the second child process comprises a second backup channel for performing a second portion of the database backup;
receiving, by the monitor process, a first channel close alert corresponding to the second channel from the second child process;
performing, by the monitor process and using a PID of the first child process, a check to confirm that the first child process is still executing;
receiving, by the monitor process and separate from the first channel close alert, a second channel close alert corresponding to the first channel from the first child process;
making a third determination, by the monitor process, that a first plurality of the backup jobs performed in the first channel were successful;
making a fourth determination, by the monitor process, that a second plurality of the backup jobs performed in the second channel were successful; and
transmitting, by the monitor process and based on the first determination and the second determination, a backup success report to a backup coordinator,
wherein the first backup channel and the second backup channel include separate data streams for transferring data from the database to a backup storage device.

### Claim 2 (depends on 1)

The method of claim 1, further comprising, before receiving the first channel close alert and the second channel close alert:
starting, by a second library instance of a third child process of the plurality of child processes executing on the data source device, a second monitor process;
making a fifth determination, by the second monitor process, that the flag file already exists by identifying the parent PID in the flag file; and
stopping, based on the fifth determination, the second monitor process.

### Claim 3 (depends on 1)

The method of claim 1, wherein the backup success report comprises a backup start time and a backup finish time.

### Claim 4 (depends on 1)

The method of claim 1, wherein the backup coordinator converts the backup success report into a Simple Network Management Protocol (SNMP) trap, and transmits the SNMP trap to a SNMP trap receiver.

### Claim 5 (depends on 2)

The method of claim 2, wherein, after the second monitor process is stopped, the third child process is associated with the monitor process.

### Claim 6 (depends on 2)

The method of claim 2, wherein the first child process, the second child process, and the third child process have the same parent PID.

### Claim 7

A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for reporting database backup information, the method comprising:
making a first determination, by a first child process of a plurality of child processes, that a monitoring process associated with the plurality of child processes has not been started by determining that a flag file for the database has not been created by the plurality of child processes;
starting, by a first library instance of the first child process executing on a data source device, the monitor process, wherein the first child process comprises a first backup channel for performing a first portion of a database backup of a database;
making a second determination, by the first library instance, that the flag file has still not been created by the plurality of child processes, wherein the first child process is first in time of the plurality of child processes to start the monitor process;
generating, by the monitor process, the flag file for the database backup comprising a parent process identifier (PID) of a parent process of the first child process, wherein the flag file:
further comprises child (PIDs) associated with the plurality of child processes and backup job names associated with backup jobs of the database backup, and
specifies backup job start times, backup job end times, backup job successes, backup job failures, and the first child process started the monitoring process and generated the flag file;
associating a second child process of the plurality of child processes with the monitor process by identifying the flag file using the parent PID, wherein the second child process comprises a second backup channel for performing a second portion of the database backup;
receiving, by the monitor process, a first channel close alert corresponding to the second channel from the second child process;
performing, by the monitor process and using a PID of the first child process, a check to confirm that the first child process is still executing;
receiving, by the monitor process and separate from the first channel close alert, a second channel close alert corresponding to the first channel from the first child process;
making a third determination, by the monitor process, that a first plurality of the backup jobs performed in the first channel were successful;
making a fourth determination, by the monitor process, that a second plurality of the backup jobs performed in the second channel were successful; and
transmitting, by the monitor process and based on the first determination and the second determination, a backup success report to a backup coordinator,
wherein the first backup channel and the second backup channel include separate data streams for transferring data from the database to a backup storage device.

### Claim 8 (depends on 7)

The non-transitory computer readable medium of claim 7, wherein the method performed by executing the computer readable program code further comprises, before receiving the first channel close alert and the second channel close alert:
starting, by a second library instance of a third child process of the plurality of child processes executing on the data source device, a second monitor process;
making a fifth determination, by the second monitor process, that the flag file already exists by identifying the parent PID in the flag file; and
stopping, based on the fifth determination, the second monitor process.

### Claim 9 (depends on 7)

The non-transitory computer readable medium of claim 7, wherein the backup success report comprises a backup start time and a backup finish time.

### Claim 10 (depends on 7)

The non-transitory computer readable medium of claim 7, wherein the backup coordinator converts the backup success report into a Simple Network Management Protocol (SNMP) trap, and transmits the SNMP trap to a SNMP trap receiver.

### Claim 11 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein, after the second monitor process is stopped, the third child process is associated with the monitor process.

### Claim 12 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein the first child process, the second child process, and the third child process have the same parent PID.

### Claim 13

A system for reporting database backup information, the system comprising:
a data source device operatively connected to a backup coordinator and comprising: a
processor;
memory;
a storage device;
a first library instance of a first child process of a plurality of child processes executing on the processor and comprising a first backup channel for performing a first portion of a database backup of a database, wherein the first library instance is configured to:
make a first determination that a monitoring process associated with the plurality of child processes has not been started by determining that a flag file for the database has not been created by the plurality of child processes;
in response to the first determination, start the monitor process; and
the monitor process, executing on the processor, and configured to:
make a second determination that the flag file has still not been created by the plurality of child processes, wherein the first child process is first in time of the plurality of child processes to start the monitor process;
generate the flag file for the database backup comprising a parent process identifier (PID) of a parent process of the first child process, wherein the flag file:
further comprises child (PIDs) associated with the plurality of child processes and backup job names associated with backup jobs of the database backup, and
specifies backup job start times, backup job end times, backup job successes, backup job failures, and the first child process started the monitoring process and generated the flag file;
associate a second child process of the plurality of child processes with the monitor process by identifying the flag file using the parent PID, wherein the second child process comprises a second backup channel for performing a second portion of the database backup;
receive a first channel close alert corresponding to the second channel from the second child process;
performing, using a PID of the first child process, a check to confirm that the first child process is still executing;
receive, separate from the first channel close alert, a second channel close alert, corresponding to the first channel from the first child process;
make a third determination that a first plurality of the backup jobs performed in the first channel were successful;
make a fourth determination, by the monitor process, that a second plurality of the backup jobs performed in the second channel were successful; and
transmit, based on the first determination and the second determination, a backup success report to the backup coordinator,
wherein the first backup channel and the second backup channel include separate data streams for transferring data from the database to a backup storage device.

### Claim 14 (depends on 13)

The system of claim 13, further comprising:
a second library instance of a third child process of the plurality of child processes executing on the processor, and configured to, before receiving the first channel close alert and the second channel close alert, starting a second monitor process; and
the second monitor process configured to:
make a fifth determination that the flag file already exists by identifying the parent PID in the flag file; and
stop, based on the fifth determination, execution of the second monitor process.

### Claim 15 (depends on 13)

The system of claim 13, wherein the backup success report comprises a backup start time and a backup finish time.

### Claim 16 (depends on 14)

The system of claim 14, wherein, after the second monitor process is stopped, the third child process is associated with the monitor process.

### Claim 17 (depends on 14)

The system of claim 14, wherein the first child process, the second child process, and the third child process have the same parent PID.
