# US 10,121,114 B2 · Metadata-driven audit reporting system with hierarchical relationships

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

- Number: US 10,121,114 B2
- Document ID: US10121114B2
- Status: Granted
- Kind: B2
- Application number: 14/200,390
- Filed: 2014-03-07
- Published: 2015-03-12
- Granted: 2018-11-06
- Earliest claimed: 2013-09-11
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Deena Philip; George Kellner; Mohan Arthur; Paul Johl
- Web page: https://patentgrep.com/patent/US10121114B2

## CPC

- G06Q 10/0633: Workflow analysis
- G06F 16/24: Querying
- G06F 16/248: Presentation of query results
- G06F 21/577: {Assessing vulnerabilities and evaluating computer system security}
- G06F 21/62: Protecting access to data via a platform, e.g. using keys or access control rules
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system is provided that reports audit data. The system defines audit metadata that defines a business object of an application module and an attribute of the business object as being auditable. The system further defines business object metadata that defines a hierarchical relationship between the business object and a child business object. The system further generates audit data for the attribute of the business object based on the audit metadata, where the audit data includes a history of modifications to the attribute of the business object. The system further displays the audit data within a user interface. The system further displays the business object and the hierarchical relationship between the business object and the child business object within the user interface based on the business object metadata.

## Claims

### Claim 1

A non-transitory computer-readable medium having instructions stored thereon that, when executed by one or more processors, cause the processors to implement a middleware architecture that comprises a plurality of application modules, each application module comprising instructions for executing a software application, the implementing comprising:
defining audit metadata for an attribute of a business object contained within a base database table, wherein the business object comprises a plurality of attributes, the business object comprising a collection of data logically related to a logical entity within at least one of the application modules, the audit metadata including:
a business object identifier,
an attribute identifier,
a shadow database table name that identifies a shadow database table associated with the base database table, and
a shadow database column name that identifies a column of the shadow database table associated with the attribute of the business object;
defining business object metadata that defines a hierarchical relationship between the business object and at least one child business object;
during execution of the software application and in response to a modification to data stored within the base database table, generating, by an audit data reporting module, audit data for the attribute of the business object based on the audit metadata, the audit data including a history of one or more modifications to the attribute of the business object, the history including:
a first value of the attribute stored within the base database table prior to a modification,
a second value of the attribute stored within the base database table after the modification, and
a user identifier that identifies a user that performed the modification;
storing the audit data for the attribute of the business object in the shadow database table identified by the shadow database table name and the shadow database column name of the audit metadata; and
displaying the audit data within a user interface including displaying the business object and the hierarchical relationship between the business object and the at least one child business object based on the business object metadata;
wherein the business object is indicated to be auditable by the audit data reporting module by setting a custom property of the business object and the plurality of attributes are defined as being auditable in response to selecting the business object for auditing.

### Claim 2 (depends on 1)

The non-transitory computer-readable medium of claim 1, the implementing further comprising:
during execution of the software application and in response to an event occurrence at the base database table, generating second audit data and storing the second audit data in an event database table, wherein the event database table has a different format than the shadow database table.

### Claim 3 (depends on 2)

The non-transitory computer-readable medium of claim 2, wherein the event within the software application comprises an action or occurrence detected by the software application and includes a login failure.

### Claim 4 (depends on 1)

The non-transitory computer-readable medium of claim 1, the implementing further comprising:
defining child audit metadata that defines the at least one child business object and an attribute of the at least one child business object as being auditable;
displaying a business object audit configuration user interface including the child audit metadata; and
generating child audit data for the attribute of the at least one child business object based on the child audit metadata, the child audit data including a history of one or more modifications to the attribute of the at least one child business object,
wherein displaying the audit data includes displaying the child audit data.

### Claim 5 (depends on 4)

The non-transitory computer-readable medium of claim 4, wherein displaying the audit data includes:
receiving a search criteria;
displaying the audit data that satisfies the search criteria within the user interface; and
automatically displaying the child audit data within the user interface based on the business object metadata.

### Claim 6 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the hierarchical relationship comprises a parent-child relationship, and wherein the business object is a parent of the at least one child business object.

### Claim 7 (depends on 6)

The non-transitory computer-readable medium of claim 6, wherein the business object metadata comprises a business object identifier that identifies the business object, at least one child business object identifier that identifies the at least one child business object, and a hierarchical relationship identifier that identifies the hierarchical relationship between the business object and the at least one child business object as a parent-child relationship.

### Claim 8

A computer-implemented method for implementing middleware architecture that comprises a plurality of application modules, each application module comprising instructions for executing a software application, the computer-implemented method comprising:
defining audit metadata for an attribute of a business object contained within a base database table, wherein the business object comprises a plurality of attributes, the business object comprising a collection of data logically related to a logical entity within at least one of the application modules, the audit metadata including:
a business object identifier,
an attribute identifier,
a shadow database table name that identifies a shadow database table associated with the base database table, and
a shadow database column name that identifies a column of the shadow database table associated with the attribute of the business object;
defining business object metadata that defines a hierarchical relationship between the business object and at least one child business object;
during execution of the software application and in response to a modification to data stored within the base database table, generating, by an audit data reporting module, audit data for the attribute of the business object based on the audit metadata, the audit data including a history of one or more modifications to the attribute of the business object, the history including:
a first value of the attribute stored within the base database table prior to a modification,
a second value of the attribute stored within the base database table after the modification, and
a user identifier that identifies a user that performed the modification;
storing the audit data for the attribute of the business object in the shadow database table identified by the shadow database table name and the shadow database column name of the audit metadata;
displaying the audit data within a user interface including displaying the business object and the hierarchical relationship between the business object and the at least one child business object based on the business object metadata;
wherein the business object is indicated to be auditable by the audit data reporting module by setting a custom property of the business object and the plurality of attributes are defined as being auditable in response to selecting the business object for auditing.

### Claim 9 (depends on 8)

The computer-implemented method of claim 8, further comprising:
during execution of the software application and in response to an event occurrence at the base database table, generating second audit data and storing the second audit data in an event database table, wherein the event database table has a different format than the shadow database table.

### Claim 10 (depends on 9)

The computer-implemented method of claim 9, wherein the event within the software application comprises an action or occurrence detected by the software application and includes a login failure.

### Claim 11 (depends on 8)

The computer-implemented method of claim 8, further comprising:
defining child audit metadata that defines the at least one child business object and an attribute of the at least one child business object as being auditable;
displaying a business object audit configuration user interface including the child audit metadata; and
generating child audit data for the attribute of the at least one child business object based on the child audit metadata, the child audit data including a history of one or more modifications to the attribute of the at least one child business object,
wherein displaying the audit data includes displaying the child audit data.

### Claim 12 (depends on 11)

The computer-implemented method of claim 11, wherein displaying the audit data includes:
receiving a search criteria;
displaying the audit data that satisfies the search criteria within the user interface; and
automatically displaying the child audit data within the user interface based on the business object metadata.

### Claim 13 (depends on 8)

The computer-implemented method of claim 8, wherein the hierarchical relationship comprises a parent-child relationship, and wherein the business object is a parent of the at least one child business object.

### Claim 14 (depends on 13)

The computer-implemented method of claim 13, wherein the business object metadata comprises a business object identifier that identifies the business object, at least one child business object identifier that identifies the at least one child business object, and a hierarchical relationship identifier that identifies the hierarchical relationship between the business object and the at least one child business object as a parent-child relationship.

### Claim 15

A middleware architecture system that comprises a plurality of application modules, each application module comprising instructions for executing a software application, the system comprising one or more processors configured to:
define audit metadata for an attribute of a business object contained within a base database table, wherein the business object comprises a plurality of attributes, the business object comprising a collection of data logically related to a logical entity within at least one of the application modules, the audit metadata including:
a business object identifier,
an attribute identifier,
a shadow database table name that identifies a shadow database table associated with the base database table, and
a shadow database column name that identifies a column of the shadow database table associated with the attribute of the business object;
define business object metadata that defines a hierarchical relationship between the business object and at least one child business object;
during execution of the software application and in response to a modification to data stored within the base database table, generate, by an audit data reporting module, audit data for the attribute of the business object based on the audit metadata, the audit data including a history of one or more modifications to the attribute of the business object, the history including:
a first value of the attribute stored within the base database table prior to a modification,
a second value of the attribute stored within the base database table after the modification, and
a user identifier that identifies a user that performed the modification;
store the audit data for the attribute of the business object in the shadow database table identified by the shadow database table name and the shadow database column name of the audit metadata;
display the audit data including displaying the business object and the hierarchical relationship between the business object and the at least one child business object based on the business object metadata;
wherein the business object is indicated to be auditable by the audit data reporting module by setting a custom property of the business object and the plurality of attributes are defined as being auditable in response to selecting the business object for auditing.

### Claim 16 (depends on 15)

The system of claim 15, wherein the processors are further configured to:
during execution of the software application and in response to an event occurrence at the base database table, generate second audit data and storing the second audit data in an event database table, wherein the event database table has a different format than the shadow database table.

### Claim 17 (depends on 16)

The system of claim 16, wherein the event within the software application comprises an action or occurrence detected by the software application and includes a login failure.

### Claim 18 (depends on 15)

The system of claim 15, wherein the processors are further configured to:
define child audit metadata that defines the at least one child business object and an attribute of the at least one child business object as being auditable;
display a business object audit configuration user interface including the child audit metadata; and
generate child audit data for the attribute of the at least one child business object based on the child audit metadata, the child audit data including a history of one or more modifications to the attribute of the at least one child business object,
wherein displaying the audit data includes displaying the child audit data.

### Claim 19 (depends on 18)

The system of claim 18, wherein the processors are further configured to:
receive a search criteria;
display the audit data that satisfies the search criteria within the user interface; and
automatically display the child audit data within the user interface based on the business object metadata.

### Claim 20 (depends on 15)

The system of claim 15, wherein the hierarchical relationship comprises a parent-child relationship, and wherein the business object is a parent of the at least one child business object;
wherein the business object metadata comprises a business object identifier that identifies the business object, at least one child business object identifier that identifies the at least one child business object, and a hierarchical relationship identifier that identifies the hierarchical relationship between the business object and the at least one child business object as a parent-child relationship.
