# US 11,308,034 B2 · Continuously run log backup with minimal configuration and resource usage from the source machine

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

- Number: US 11,308,034 B2
- Document ID: US11308034B2
- Status: Granted
- Kind: B2
- Application number: 16/455,509
- Filed: 2019-06-27
- Published: 2020-12-31
- Granted: 2022-04-19
- Earliest claimed: 2019-06-27
- Assignees: Commvault Systems, Inc.
- Applicants: Commvault Systems, Inc.
- Inventors: Jun H. Ahn; Prasad Nara; Sri Karthik Bhagi
- Web page: https://patentgrep.com/patent/US11308034B2

## CPC

- G06F 16/1734: {Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs}
- G06F 3/0607: {by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device}
- G06F 3/0608: {Saving storage space on storage systems}
- G06F 3/0638: {Organizing or formatting or addressing of data}
- G06F 3/0641: {De-duplication techniques}
- G06F 3/0649: {Lifecycle management}
- G06F 3/065: {Replication mechanisms}
- G06F 3/0664: {at device level, e.g. emulation of a storage device or system}
- G06F 3/0683: {Plurality of storage devices}
- G06F 16/172: Caching, prefetching or hoarding of files
- G06F 16/1752: {based on file chunks}
- G06F 16/188: Virtual file systems
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system for performing continuous transaction log backups with minimal resource usage of the client computing devices that are processing the transactions is disclosed. The system detects at least one input/output (I/O) activity at a client computing device. The I/O activity can be associated with at least one database operation performed via the client computing device. The system then executes one or more native commands to backup transactions log data associated with the detected I/O activity to a virtualized location. Backing-up the transactions log data comprises dynamically identifying a mount path location corresponding to the virtualized location, and transferring the transactions log data to the dynamically identified mount path using the one or more native commands. The system can then perform data processing operations (for example, data chunking and deduplicating) on the transactions log data after it is received at the dynamically identified mount path location.

## Claims

### Claim 1

A computer-implemented method for performing continuous log backups, the method comprising:
detecting at least one input/output (I/O) activity at a client computing device,
wherein the at least one I/O activity is associated with at least one database operation performed via the client computing device;
backing-up transactions log data associated with the at least one detected I/O activity using one or more commands native to a virtualized location, wherein the backing-up comprises:
with a log backup agent executing on the client computing device, dynamically identifying a mount path location corresponding to the virtualized location, wherein the virtualized location appears to the client computing device as a physical storage location for storage of the transactions log data; and
transferring the transactions log data to the dynamically identified mount path using the one or more native commands,
wherein the mount path is selected among multiple mount paths based on:
availability of the mount paths,
network bandwidth available in communication link to the mount paths,
storage capacity of the mount paths,
last mount path selected to backup log data, or any combination thereof; and
with a secondary storage computing device associated with the mount path and separate from the client computing device, receiving the transactions log data, and performing data chunking and deduplication of the transactions log data after the transactions log data is received at the dynamically identified mount path location, such that the data chunking and deduplication are performed by the secondary storage computing device and not the client computing device.

### Claim 2 (depends on 1)

The method of claim 1, wherein the mount path location is associated with a media agent.

### Claim 3 (depends on 1)

The method of claim 1, wherein the mount path is selected among multiple paths in a round-robin manner.

### Claim 4 (depends on 1)

The method of claim 1, wherein the I/O activity is detected when a database command is invoked at the client computing device.

### Claim 5 (depends on 1)

The method of claim 1, wherein the I/O activity is detected at predetermined time intervals.

### Claim 6 (depends on 1)

The method of claim 1, wherein the I/O activity is detected when a log file storage value of a disk communicatively coupled to the client computing device exceeds a predetermined size threshold value.

### Claim 7 (depends on 1)

The method of claim 1, wherein the I/O activity is detected when the transactions log data on a disk communicatively coupled to the client computing device reaches a specified percentage of the disk.

### Claim 8 (depends on 1)

The method of claim 1, wherein the transactions log data comprises committed transactions, uncommitted transactions, or any combination thereof.

### Claim 9

A computer program product for performing continuous log backups, the computer program product being embodied in a non-transitory computer readable medium and comprising computer instructions for:
detecting at least one input/output (I/O) activity at a client computing device,
wherein the at least one I/O activity is associated with at least one database operation performed via the client computing device;
backing-up transactions log data associated with the at least one detected I/O activity using one or more native commands to a virtualized location, wherein the backing-up comprises:
with a log backup agent executing on the client computing device, dynamically identifying a mount path location corresponding to the virtualized location, wherein the virtualized location appears to the client computing device as a physical storage location for storage of the transactions log data; and
transferring the transactions log data to the dynamically identified mount path using the one or more native commands; and
with a secondary storage computing device associated with the mount path and separate from the client computing device, receiving the transactions log data, and performing data chunking or deduping of the transactions log data after the transactions log data is received at the dynamically identified mount path location, such that the data chunking and deduplication are performed by the secondary storage computing device and not the client computing device.

### Claim 10 (depends on 9)

The computer program product of claim 9, wherein the mount path location is associated with a media agent.

### Claim 11 (depends on 9)

The computer program product of claim 9, wherein the mount path is selected among multiple mount paths based on:
availability of the mount paths,
network bandwidth available in communication link to the mount paths,
storage capacity of the mount paths,
last mount path selected to backup log data,
or any combination thereof.

### Claim 12 (depends on 9)

The computer program product of claim 9, wherein the mount path is selected among multiple mount paths in a round-robin manner.

### Claim 13 (depends on 9)

The computer program product of claim 9, wherein the I/O activity is detected when a database command is invoked at the client computing device.

### Claim 14 (depends on 9)

The computer program product of claim 9, wherein the I/O activity is detected at predetermined time intervals.

### Claim 15 (depends on 9)

The computer program product of claim 9, wherein the I/O activity is detected when a log file storage value of a disk communicatively coupled to the client computing device exceeds a predetermined size threshold value.

### Claim 16 (depends on 9)

The computer program product of claim 9, wherein the I/O activity is detected when the transactions log data on a disk communicatively coupled to the client computing device reaches a specified percentage of the disk.

### Claim 17 (depends on 9)

The computer program product of claim 9, wherein the transactions log data comprises committed transactions, uncommitted transactions, or any combination thereof.

### Claim 18

A continuous transactions log backup system for performing continuous log backups usage comprising a non-transitory computer-readable medium having instructions stored thereon, which when executed by one or more processors of the continuous transactions log backup system cause the system to:
detect at least one input/output (I/O) activity at a client computing device,
wherein the at least one I/O activity is associated with at least one database operation performed via the client computing device;
backup transactions log data associated with the at least one detected I/O activity using one or more native commands to a virtualized location, wherein backing-up the transactions log data comprises:
with a log backup agent executing on the client computing device, dynamically identifying a mount path location corresponding to the virtualized location, wherein the virtualized location appears to the client computing device as a physical storage location for storage of the transactions log data; and
transferring the transactions log data to the dynamically identified mount path using the one or more native commands; and
with a secondary storage computing device associated with the mount path and separate from the client computing device, receive the transactions log data, and perform chunking and deduping of the transactions log data after the transactions log data is received at the dynamically identified mount path location.

### Claim 19 (depends on 18)

The system of claim 18, wherein the I/O activity is detected when: a database command is invoked at the client computing device, a log file storage value of a disk communicatively coupled to the client computing device exceeds a predetermined size threshold value, the transactions log data on the disk communicatively coupled to the client computing device reaches a specified percentage of the disk, or at predetermined time intervals.

### Claim 20 (depends on 18)

The system of claim 18, wherein the transactions log data comprises committed transactions, uncommitted transactions, or any combination thereof.
