# US 10,504,045 B2 · Audit schedule determination

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

- Number: US 10,504,045 B2
- Document ID: US10504045B2
- Status: Granted
- Kind: B2
- Application number: 15/336,481
- Filed: 2016-10-27
- Published: 2018-05-03
- Granted: 2019-12-10
- Earliest claimed: 2016-10-27
- Assignees: Sap SE
- Applicants: Sap SE
- Inventors: Maxym Gerashchenko; Gordon Muckle
- Web page: https://patentgrep.com/patent/US10504045B2

## CPC

- G06Q 10/06314: {Calendaring for a resource}
- G06Q 10/0639: Performance analysis of employees; Performance analysis of enterprise or organisation operations
- 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

## Abstract

An audit schedule is determined from a database storing a master data set comprising audit events, system parameters, and resources. Audit events are grouped according to information of the master data set, for example shared units (e.g., product, service, organization, risk level, audit type, etc.). Audit groups are prioritized by factors such as unit priority and audit duration. A random audit event within the group is chosen, and then a time slot is selected according to a desired distribution (e.g., left-to-right), determining resource availability for that slot. The procedure may optionally consider additional constraints (e.g., manually added, national holidays, auditor availability) outside the master data set. The procedure shuffles through audit events of the group with the highest priority, and then through audit events of lower priority groups, filling out the audit schedule according to resource availability and constraints. Audit schedule changes are recorded in a change log data object.

## Claims

### Claim 1

A computer-implemented method comprising:
creating a plurality of audit event data objects from master data stored in a database, the master data comprising audit objects, system parameters, and resources, wherein the database comprises an in-memory database;
storing the plurality of audit event data objects in the in-memory database;
creating audit groups by determining unit types of the master data shared between the audit event data objects;
establishing a priority of the audit groups;
randomly selecting an audit event data object from one of the plurality of audit groups according to the priority and a duration;
determining availability of a resource during a time slot selected based upon a distribution, wherein the determining is performed by an engine of the in-memory database;
where availability is present, assigning the audit event to the time slot;
shuffling through remaining audit event data objects according to the priority, to assign time slots and resources to the remaining audit event data objects; and
storing in the database an audit schedule comprising the plurality of audit event data objects including respective time slot and resource assigned.

### Claim 2 (depends on 1)

A method as in claim 1 wherein the distribution comprises left-to-right.

### Claim 3 (depends on 1)

A method as in claim 1 wherein the distribution comprises even distribution.

### Claim 4 (depends on 1)

A method as in claim 1 wherein the priority is determined from a unit type priority stored in the in-memory database.

### Claim 5 (depends on 1)

A method as in claim 1 wherein the duration comprises an audit type duration stored in the in-memory database.

### Claim 6 (depends on 1)

A method as in claim 1 wherein the unit type comprises a product, a service, or an organization.

### Claim 7 (depends on 1)

A method as in claim 1 further comprising recording in the in-memory database an approved change request in a change log data object of the audit schedule.

### Claim 8

A non-transitory computer readable storage medium embodying a computer program for performing a method, said method comprising:
creating a plurality of audit event data objects from master data stored in an in-memory database, the master data comprising audit objects, system parameters, and resources;
storing the plurality of audit event data objects in the in-memory database;
creating audit groups by determining unit types of the master data shared between the audit event data objects, wherein the unit type comprises a product, a service, or an organization;
establishing a priority of the audit groups;
randomly selecting an audit event data object from one of the plurality of audit groups according to the priority and a duration;
determining, by an in-memory database engine of the in-memory database, availability of a resource during a time slot selected based upon a distribution;
where availability is present, assigning the audit event to the time slot;
shuffling through remaining audit event data objects according to the priority, to assign time slots and resources to the remaining audit event data objects; and
storing an audit schedule comprising the plurality of audit event data objects including respective time slot and resource assigned.

### Claim 9 (depends on 8)

A non-transitory computer readable storage medium as in claim 8 wherein the distribution comprises left-to-right.

### Claim 10 (depends on 8)

A non-transitory computer readable storage medium as in claim 8 wherein the distribution comprises an even distribution.

### Claim 11 (depends on 8)

A non-transitory computer readable storage medium as in claim 8 wherein the priority is determined from a unit type priority stored in the in-memory database.

### Claim 12 (depends on 8)

A non-transitory computer readable storage medium as in claim 8 wherein the duration comprises an audit type duration stored in the in-memory database.

### Claim 13 (depends on 8)

A non-transitory computer readable storage medium as in claim 8 wherein the method further comprises recording in the in-memory database an approved change request in a change log data object of the audit schedule.

### Claim 14

A computer system comprising:
one or more processors;
a software program, executable on said computer system, the software program configured to cause an in-memory database engine of an in-memory database to:
create a plurality of audit event data objects from master data stored in the in-memory database, the master data comprising audit objects, system parameters, and resources;
store the plurality of audit event data objects in the in-memory database;
create audit groups by determining unit types of the master data shared between the audit event data objects;
establish a priority of the audit groups;
randomly select an audit event data object from one of the plurality of audit groups according to the priority and a duration;
determine availability of a resource during a time slot selected based upon a distribution;
where availability is present, assign the audit event to the time slot;
shuffle through remaining audit event data objects according to the priority, to assign time slots and resources to the remaining audit event data objects; and
store in the in-memory database, an audit schedule comprising the plurality of audit event data objects including respective time slot and resource assigned.

### Claim 15 (depends on 14)

A computer system as in claim 14 wherein the distribution comprises left-to-right.

### Claim 16 (depends on 14)

A computer system as in claim 14 wherein the distribution comprises an even distribution.

### Claim 17 (depends on 14)

A computer system as in claim 14 wherein the priority is determined from a unit type priority stored in the in-memory database.

### Claim 18 (depends on 14)

A computer system as in claim 14 wherein the duration comprises an audit type duration stored in the in-memory database.

### Claim 19 (depends on 14)

A computer system as in claim 14 wherein the software program is further configured to cause the in-memory database engine to record in the in-memory database an approved change request in a change log data object of the audit schedule.
