# US 2023/0409351 A1 · Generating a hierarchical data structure that represents a log

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

- Number: US 2023/0409351 A1
- Document ID: US20230409351A1
- Status: Published application
- Kind: A1
- Application number: 18/459,287
- Filed: 2023-08-31
- Published: 2023-12-21
- Earliest claimed: 2022-03-24
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Nagarajan Muthukrishnan; Ravi Shankar Thammaiah; Sumanta Kumar Chatterjee; Binoy Sukumaran
- Web page: https://patentgrep.com/patent/US20230409351A1

## CPC

- G06F 9/44526: {Plug-ins; Add-ons}
- G06F 11/0775: {Content or structure details of the error report, e.g. specific table structure, specific error fields}
- G06F 11/323: {Visualisation of programs or trace data}
- G06F 11/327: {Alarm or error message display}
- G06F 11/3476: {Data logging (G06F11/14, G06F11/2205 take precedence)}
- G06F 2201/86: Event-based monitoring
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Plugins that are independently written are executed in a collaborative manner to analysis a log. A plugin executing with respect to a particular node of a hierarchical data structure determines values for a set of keys based on information of the particular node and/or any ancestor nodes, and information stored in a shared repository. The plugin stores the values for the keys as additional information of the particular hierarchical node and/or into the shared repository. The plugin does not access information of non-ancestor nodes when executing with respect to the particular hierarchical node. Each plugin writes into and retrieves from the shared repository using the shared naming convention, thereby sharing information. The sequence of execution of the plugins is not dependent on dependencies amongst the plugins. If a dependent plugin requiring an output from a requisite plugin is first executed, the dependent plugin is flagged as pending and subsequently re-executed.

## Claims

### Claim 1

One or more non-transitory machine-readable media storing instructions that, when executed by one or more processors, cause performance of operations comprising:
generating a root node of a hierarchical data structure that represents a target log;
determining that a subset of pre-processing plugins, in a pool of pre-processing plugins configured to pre-process log data, is relevant to a log type of the target log;
generating, at least by executing a first pre-preprocessing plugin in the subset of pre-processing plugins determined to be relevant to the log type of the target log, a first hierarchical node for the hierarchical data structure based on at least a first portion of the target log;
generating, at least by executing a second pre-preprocessing plugin in the subset of pre-processing plugins determined to be relevant to the log type of the target log, a second hierarchical node for the hierarchical data structure based on at least a second portion of the target log.

### Claim 2 (depends on 1)

The one or more non-transitory machine-readable media of claim 1, the operations further comprising:
storing, as data of the root node, data from the target log.

### Claim 3 (depends on 2)

The one or more non-transitory machine-readable media of claim 2, the operations further comprising:
determining that a first subset of the data of the root node matches one or more information attributes specified by the first pre-processing plugin;
wherein generating the first hierarchical node is performed responsive to determining that the first subset of the data of the root node matches the one or more information attributes specified by the first pre-processing plugin.

### Claim 4 (depends on 3)

The one or more non-transitory machine-readable media of claim 3, the operations further comprising:
generating a third hierarchical node for the hierarchical data structure;
storing, as data of the third hierarchical node, a second subset of the data of the root node that does not match the one or more information attributes specific by the first pre-processing plugin.

### Claim 5 (depends on 4)

The one or more non-transitory machine-readable media of claim 4, the operations further comprising:
determining that at least part of the data of the third hierarchical node matches one or more information attributes specified by the second pre-processing plugin;
wherein generating the second hierarchical node is performed responsive to determining that at least part of the data of the third hierarchical node matches the one or more information attributes specified by the second pre-processing plugin.

### Claim 6 (depends on 1)

The one or more non-transitory machine-readable media of claim 1, the operations further comprising:
determining that every pre-processing plugin in the subset of pre-processing plugins determined to be relevant to the log type of the target log has been executed;
responsive to determining that every pre-processing plugin in the subset of pre-processing plugins determined to be relevant to the log type of the target log has been executed, returning the hierarchical data structure.

### Claim 7 (depends on 1)

The one or more non-transitory machine-readable media of claim 1, the operations further comprising:
generating a first key associated with the first hierarchical node;
storing one or more of metadata or analysis data associated with the log as a first value for the first key;
generating a second key associated with the second hierarchical node;
storing one or more of metadata or analysis data associated with the log as a second value for the second key.

### Claim 8

A system comprising:
at least one device comprising one or more hardware processors,
the system being configured to perform operations comprising:
generating a root node of a hierarchical data structure that represents a target log;
determining that a subset of pre-processing plugins, in a pool of pre-processing plugins configured to pre-process log data, is relevant to a log type of the target log;
generating, at least by executing a first pre-preprocessing plugin in the subset of pre-processing plugins determined to be relevant to the log type of the target log, a first hierarchical node for the hierarchical data structure based on at least a first portion of the target log;
generating, at least by executing a second pre-preprocessing plugin in the subset of pre-processing plugins determined to be relevant to the log type of the target log, a second hierarchical node for the hierarchical data structure based on at least a second portion of the target log.

### Claim 9 (depends on 8)

The system of claim 8, the operations further comprising:
storing, as data of the root node, data from the target log.

### Claim 10 (depends on 9)

The system of claim 9, the operations further comprising:
determining that a first subset of the data of the root node matches one or more information attributes specified by the first pre-processing plugin;
wherein generating the first hierarchical node is performed responsive to determining that the first subset of the data of the root node matches the one or more information attributes specified by the first pre-processing plugin.

### Claim 11 (depends on 10)

The system of claim 10, the operations further comprising:
generating a third hierarchical node for the hierarchical data structure;
storing, as data of the third hierarchical node, a second subset of the data of the root node that does not match the one or more information attributes specific by the first pre-processing plugin.

### Claim 12 (depends on 11)

The system of claim 11, the operations further comprising:
determining that at least part of the data of the third hierarchical node matches one or more information attributes specified by the second pre-processing plugin;
wherein generating the second hierarchical node is performed responsive to determining that at least part of the data of the third hierarchical node matches the one or more information attributes specified by the second pre-processing plugin.

### Claim 13 (depends on 8)

The system of claim 8, the operations further comprising:
determining that every pre-processing plugin in the subset of pre-processing plugins determined to be relevant to the log type of the target log has been executed;
responsive to determining that every pre-processing plugin in the subset of pre-processing plugins determined to be relevant to the log type of the target log has been executed, returning the hierarchical data structure.

### Claim 14 (depends on 8)

The system of claim 8, the operations further comprising:
generating a first key associated with the first hierarchical node;
storing one or more of metadata or analysis data associated with the log as a first value for the first key;
generating a second key associated with the second hierarchical node;
storing one or more of metadata or analysis data associated with the log as a second value for the second key.

### Claim 15

A method comprising:
generating a root node of a hierarchical data structure that represents a target log;
determining that a subset of pre-processing plugins, in a pool of pre-processing plugins configured to pre-process log data, is relevant to a log type of the target log;
generating, at least by executing a first pre-preprocessing plugin in the subset of pre-processing plugins determined to be relevant to the log type of the target log, a first hierarchical node for the hierarchical data structure based on at least a first portion of the target log;
generating, at least by executing a second pre-preprocessing plugin in the subset of pre-processing plugins determined to be relevant to the log type of the target log, a second hierarchical node for the hierarchical data structure based on at least a second portion of the target log;
wherein the method is performed by at least device comprising one or more hardware processors.

### Claim 16 (depends on 15)

The method of claim 15, further comprising:
storing, as data of the root node, data from the target log.

### Claim 17 (depends on 16)

The method of claim 16, further comprising:
determining that a first subset of the data of the root node matches one or more information attributes specified by the first pre-processing plugin;
wherein generating the first hierarchical node is performed responsive to determining that the first subset of the data of the root node matches the one or more information attributes specified by the first pre-processing plugin.

### Claim 18 (depends on 17)

The method of claim 17, further comprising:
generating a third hierarchical node for the hierarchical data structure;
storing, as data of the third hierarchical node, a second subset of the data of the root node that does not match the one or more information attributes specific by the first pre-processing plugin.

### Claim 19 (depends on 18)

The method of claim 18, further comprising:
determining that at least part of the data of the third hierarchical node matches one or more information attributes specified by the second pre-processing plugin;
wherein generating the second hierarchical node is performed responsive to determining that at least part of the data of the third hierarchical node matches the one or more information attributes specified by the second pre-processing plugin.

### Claim 20 (depends on 15)

The method of claim 15, further comprising:
determining that every pre-processing plugin in the subset of pre-processing plugins determined to be relevant to the log type of the target log has been executed;
responsive to determining that every pre-processing plugin in the subset of pre-processing plugins determined to be relevant to the log type of the target log has been executed, returning the hierarchical data structure.
