# US 10,504,047 B2 · Metadata-driven audit reporting system with dynamically created display names

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

- Number: US 10,504,047 B2
- Document ID: US10504047B2
- Status: Granted
- Kind: B2
- Application number: 14/200,243
- Filed: 2014-03-07
- Published: 2015-03-12
- Granted: 2019-12-10
- 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/US10504047B2

## 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 retrieves audit data that is stored in database tables, where the audit data includes a history of modifications to data, and where the audit data includes data values. The system further retrieves a display name that is stored in a lookup table, where the display name is associated with a data value of the data values within the lookup table. The system further displays the audit data within a user interface, where the display name is displayed within the user interface.

## Claims

### Claim 1

A non-transitory computer-readable medium comprising computer readable instructions that, when executed by at least one processor of at least one computer, cause the at least one computer to perform steps comprising:
storing in a base database table a plurality of business objects of a software application and storing metadata that defines one or more attributes associated with each of the business objects, the attributes comprising at least an indication of whether auditing is enabled for a corresponding business object and a first lookup table name that identifies a first lookup table;
storing in a shadow database table an audit data for the plurality of business objects stored in the base database table, the audit data including a history of modifications to the plurality of business objects, the history of modifications including a plurality of data values;
storing in the first lookup table a plurality of data value-display name pairs, a display name having a text value or a numeric value that is different from a data value and describes what the data value represents, wherein the first lookup table is separate from the base database table;
during execution of the software application and in response to a modification to data stored within the base database table, generating a first audit data, the first audit data including a history of one or more modifications to an attribute of the business object;
storing the first audit data for the attribute of the business object within the shadow database table, the first audit data comprising data stored within the base database table prior to the modification and data stored within the base database table after the modification;
during execution of the software application and in response to an event occurrence at the base database table, generating a 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;
retrieving the first audit data from the shadow database table;
for each data value in the first audit data, querying the first lookup table for the data value and retrieving an associated display name; and
displaying each data value and associated display name within a user interface.

### Claim 2 (depends on 1)

The non-transitory computer-readable medium of claim 1, the steps further comprising:
receiving a search criteria comprising the display name; and
replacing the display name of the search criteria with an associated data value using the first lookup table;
wherein the retrieving the audit data further comprises retrieving audit data that satisfies the associated data value of the search criteria; and
wherein the displaying further comprises displaying the audit data that satisfies the search criteria.

### Claim 3 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein each display name is displayed in a language that is defined by the first lookup table.

### Claim 4 (depends on 1)

The non-transitory computer-readable medium of claim 1, the attributes further comprising a second lookup table name that identifies a second lookup table, wherein the second lookup table comprises a different display name than the first lookup table for the same data value.

### Claim 5 (depends on 1)

The non-transitory computer-readable medium of claim 1, the steps further comprising:
defining metadata that defines the first lookup table; and
storing the metadata within the shadow database table;
wherein each display name is retrieved from the first lookup table based on the metadata.

### Claim 6 (depends on 4)

The non-transitory computer-readable medium of claim 4, wherein the data value is displayed in response to a query of audit data for a corresponding display name of the first lookup table or a corresponding display name of the second lookup table.

### Claim 7

A computer-implemented method for providing a metadata-driven audit reporting system with dynamically created display names that reports audit data comprising a history of modifications made to data in a software application, the computer-implemented method comprising:
storing in a base database table a plurality of business objects of the software application and storing metadata that defines one or more attributes associated with each of the business objects, the attributes comprising at least an indication of whether auditing is enabled for a corresponding business object and a first lookup table name that identifies a first lookup table;
storing in a shadow database table an audit data for the plurality of business objects stored in the base database table, the audit data including a history of modifications to the plurality of business objects, the history of modifications including a plurality of data values;
storing in the first lookup table a plurality of data value-display name pairs, a display name having a text value or a numeric value that is different from a data value and describes what the data value represents, wherein the first lookup table is separate from the base database table;
during execution of the software application and in response to a modification to data stored within the base database table, generating a first audit data, the first audit data including a history of one or more modifications to an attribute of the business object;
storing the first audit data for the attribute of the business object within the shadow database table, the first audit data comprising data stored within the base database table prior to the modification and data stored within the base database table after the modification;
during execution of the software application and in response to an event occurrence at the base database table, generating a 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;
retrieving the first audit data from the shadow database table;
for each data value in the first audit data, querying the first lookup table for the data value and retrieving an associated display name; and
displaying each data value and associated display name within a user interface.

### Claim 8 (depends on 7)

The computer-implemented method of claim 7, further comprising:
receiving a search criteria comprising the display name; and
replacing the display name of the search criteria with an associated data value using the first lookup table;
wherein the retrieving the audit data further comprises retrieving audit data that satisfies the associated data value of the search criteria; and
wherein the displaying further comprises displaying the audit data that satisfies the search criteria.

### Claim 9 (depends on 7)

The computer-implemented method of claim 7, wherein each display name is displayed in a language that is defined by the first lookup table.

### Claim 10 (depends on 7)

The computer-implemented method of claim 7, the attributes further comprising a second lookup table name that identifies a second lookup table, wherein the second lookup table comprises a different display name than the first lookup table for the same data value.

### Claim 11 (depends on 10)

The computer-implemented method of claim 10, wherein the data value is displayed in response to a query of audit data for a corresponding display name of the first lookup table or a corresponding display name of the second lookup table.

### Claim 12

A metadata-driven audit reporting system with dynamically created display names that reports audit data comprising a history of modifications made to data in a software application, comprising:
a memory to store a base database table, a shadow database table, and a lookup table, the base database table including a plurality of business objects of the software application and stores metadata that defines one or more attributes associated with each of the business objects, the attributes comprising at least an indication of whether auditing is enabled for a corresponding business object and a first lookup table name that identifies a first lookup table, the shadow database table including an audit data for the plurality of business objects stored in the base database table, the audit data including a history of modifications to the plurality of business objects, the history of modifications including a plurality of data values, the data values, and the first lookup table including a plurality of data value-display name pairs, a display name having a text value or a numeric value that is different from a data value and describing what the data value represents, wherein the first lookup table is separate from the base database table; and
a processor, coupled to the memory, to:
during execution of the software application and in response to a modification to data stored within the base database table, generate a first audit data, the first audit data including a history of one or more modifications to an attribute of the business object;
store the first audit data for the attribute of the business object within the shadow database table, the first audit data comprising data stored within the base database table prior to the modification and data stored within the base database table after the modification;
during execution of the software application and in response to an event occurrence at the base database table, generate a 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;
retrieve the first audit data from the shadow database table;
for each data value in the first audit data, query the first lookup table for the data value and retrieve an associated display name; and
display each data value and associated display name within a user interface.

### Claim 13 (depends on 12)

The system of claim 12, wherein:
the memory further stores a search criteria module and a search criteria replacement module; and
the processor further to:
receive a search criteria comprising the display name;
replace the display name of the search criteria an associated data value using the first lookup table;
retrieve the audit data that satisfies the associated data value of the search criteria; and
display the audit data that satisfies the search criteria.

### Claim 14 (depends on 12)

The system of claim 12, the attributes further comprising a second lookup table name that identifies a second lookup table, wherein the second lookup table comprises a different display name than the first lookup table for the same data value.

### Claim 15 (depends on 14)

The system of claim 14, wherein data value is displayed in response to a query of audit data for a corresponding display name of the first lookup table or a corresponding display name of the second lookup table.

### Claim 16 (depends on 1)

The non-transitory computer-readable medium of claim 1, further comprising a plurality of lookup tables, each lookup table including the plurality of data value-display name pairs, wherein each data value is stored in each lookup table in the data value-display name pair that has a different display name in a different language.

### Claim 17 (depends on 7)

The computer-implemented method of claim 7, further comprising a plurality of lookup tables, each lookup table including the plurality of data value-display name pairs, wherein each data value is stored in each lookup table in the data value-display name pair that has a different display name in a different language.

### Claim 18 (depends on 12)

The system of claim 12, further comprising a plurality of lookup tables, each lookup table including the plurality of data value-display name pairs, wherein each data value is stored in each lookup table in the data value-display name pair that has a different display name in a different language.
