# US 11,907,102 B2 · Dynamic debug log enabler for any protection failure jobs

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

- Number: US 11,907,102 B2
- Document ID: US11907102B2
- Status: Granted
- Kind: B2
- Application number: 17/582,603
- Filed: 2022-01-24
- Published: 2023-07-27
- Granted: 2024-02-20
- Earliest claimed: 2022-01-24
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Pravin Kumar A; Preeti Varma; Jayashree Radha
- Web page: https://patentgrep.com/patent/US11907102B2

## CPC

- G06F 11/3656: {using a specific debug interface}
- G06F 11/3636: {by tracing the execution of the program}
- G06F 11/366: {using diagnostics (G06F11/0703 takes precedence)}
- G06F 11/3476: {Data logging (G06F11/14, G06F11/2205 take precedence)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The present invention provides a system, computer readable code and method for dynamically performing debugging. The system, code, and method store debugging logs throughout an operation. At predetermined points the logs are stored to a cache. Older and/or unnecessary logs are periodically deleted from the cache to ensure that the cache does not grow to be larger than a predetermined size. This avoids the need to re-run a scenario after an error occurs in order to produce troubleshooting/debugging information.

## Claims

### Claim 1

A method for dynamically producing a debug log, comprising:
detect initiation of an operation, wherein the operation is a backup operation;
produce a debug log for a predetermined portion of the operation,
wherein operation is divided into a plurality of portions,
wherein the each of the plurality of portions is identified using one of a plurality of checkpoints in code for the operation, and
wherein the predetermined portion is one of the plurality of portions;
store the debug log for the predetermined portion in a dynamic logger cache, wherein:
if the operation fails during the predetermined portion, write the debug log stored in the dynamic logger cache to a debug log file in persistent storage; or
if the operation does not fail during the predetermined portion, delete the debug log in the dynamic logger cache according to a predefined procedure,
wherein the predetermined portion is identified using a first checkpoint of the plurality of checkpoints,
wherein the predefined procedure specifies deleting the debug log when a second checkpoint of the plurality of checkpoints is reached, and
wherein the second checkpoint is reached after the first checkpoint; and
repeat the producing and storing of the debug log for each portion of the operation until either the operation ends or a portion of the operation fails.

### Claim 2 (depends on 1)

The method of claim 1, wherein the debug log is produced by a data protection manager.

### Claim 3 (depends on 1)

The method of claim 1, wherein the debug log is enabled by default.

### Claim 4

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, the method comprising:
detecting initiation of an operation, wherein the operation is a backup operation;
producing a debug log for a predetermined portion of the operation,
wherein operation is divided into a plurality of portions,
wherein the each of the plurality of portions is identified using one of a plurality of checkpoints in code for the operation, and
wherein the predetermined portion is one of the plurality of portions;
storing the debug log for the predetermined portion in a dynamic logger cache, wherein:
if the operation fails during the predetermined portion, write the debug log stored in the dynamic logger cache to a debug log file in persistent storage; or
if the operation does not fail during the predetermined portion, delete the debug log in the dynamic logger cache according to a predefined procedure,
wherein the predetermined portion is identified using a first checkpoint of the plurality of checkpoints,
wherein the predefined procedure specifies deleting the debug log when a second checkpoint of the plurality of checkpoints is reached, and
wherein the second checkpoint is reached after the first checkpoint; and
repeating the producing and storing of the debug log for each portion of the operation until either the operation ends or a portion of the operation fails.

### Claim 5 (depends on 4)

The non-transitory computer readable medium of claim 4, wherein the debug log is produced by a data protection manager.

### Claim 6

An electronic device comprising:
a dynamic logger cache;
a persistent storage;
a processor; and
a memory having computer program instructions stored thereon, the processor executing the computer program instructions in the memory to perform a method comprising of:
detecting initiation of an operation, wherein the operation is a backup operation,
wherein operation is divided into a plurality of portions,
wherein the each of the plurality of portions is identified using one of a plurality of checkpoints in code for the operation,
wherein the predetermined portion is one of the plurality of portions;
producing a debug log for a predetermined portion of the operation;
storing the debug log for the predetermined portion in the dynamic logger cache, wherein:
if the operation fails during the predetermined portion, writing the debug log stored in the dynamic logger cache to a debug log file in the persistent storage; or
if the operation does not fail during the predetermined portion, delete the debug log in the dynamic logger cache according to a predefined procedure,
wherein the predetermined portion is identified using a first checkpoint of the plurality of checkpoints,
wherein the predefined procedure specifies deleting the debug log when a second checkpoint of the plurality of checkpoints is reached, and
wherein the second checkpoint is reached after the first checkpoint; and
repeating the producing and storing of the debug log for each portion of the operation until either the operation ends or the operation fails.
