# US 11,113,250 B2 · Techniques for activity tracking, data classification, and in database archiving

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

- Number: US 11,113,250 B2
- Document ID: US11113250B2
- Status: Granted
- Kind: B2
- Application number: 16/544,570
- Filed: 2019-08-19
- Published: 2019-12-05
- Granted: 2021-09-07
- Earliest claimed: 2012-09-28
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Liang Guo; Vivekanandhan Raja; Amit Ganesh; Joshua Gould
- Web page: https://patentgrep.com/patent/US11113250B2

## CPC

- G06F 16/122: {using management policies (point-in-time backing up or restoration of persistent data G06F11/1446; file migration policies for HSM systems G06F16/185)}
- G06F 16/185: Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof (details of archiving G06F16/11)
- G06F 3/0649: {Lifecycle management}
- G06F 16/113: {Details of archiving (lifecycle management in storage systems G06F3/0649; point-in-time backing up or restoration of persistent data G06F11/1446)}
- G06F 16/21: Design, administration or maintenance of databases
- G06F 16/217: {Database tuning (G06F16/2282 takes precedence; database performance monitoring G06F11/3409)}
- G06F 16/22: Indexing; Data structures therefor; Storage structures
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques for activity tracking, data classification, and in-database archiving are described. Activity tracking refers to techniques that collect statistics related to user access patterns, such as the frequency or recency with which users access particular database elements. The statistics gathered through activity tracking can be supplied to data classification techniques to automatically classify the database elements or to assist users with manually classifying the database elements. Then, once the database elements have been classified, in-database archiving techniques can be employed to move database elements to different storage tiers based on the classifications. However, although the techniques related to activity tracking, data classification, and in-database archiving may be used together as described above; each technique may also be practiced separately.

## Claims

### Claim 1

A method comprising:
a database management system (DBMS), in response to receiving a database command that accesses one or more database elements of a database, determining one or more activities that the database command performs;
the DBMS marking the one or more database elements in one or more bitmaps respectively corresponding to the one or more activities;
the DBMS, in response to a determination that a specified period of time has elapsed, adding the one or more bitmaps to a bitmap log.

### Claim 2 (depends on 1)

The method of claim 1 wherein the database elements are at least one selected from the group consisting of: database indices, database views, database tables, rows of a database table, and database objects.

### Claim 3 (depends on 1)

The method of claim 1 further comprising the DBMS, in response to receiving a query for a set of database elements which have been accessed during a particular time frame, determining the set of database elements based on the bitmap log.

### Claim 4 (depends on 3)

The method of claim 3 wherein:
the bitmap log comprises a plurality of bitmaps;
said determining the set of database elements based on the bitmap log comprises bitwise OR-ing a subset of the plurality of bitmaps.

### Claim 5 (depends on 3)

The method of claim 3 wherein said determining the set of database elements based on the bitmap log occurs during at least one selected from the group consisting of:
archiving said set of database elements, and
moving said set of database elements from a first storage tier to a second storage tier.

### Claim 6 (depends on 5)

The method of claim 5 wherein at least one selected from the group consisting of:
said archiving said set of database elements is deferred until the DBMS is underutilized, and
said moving said set of database elements is deferred until said set of database elements exceeds a threshold number of database elements.

### Claim 7 (depends on 1)

The method of claim 1 wherein said one or more activities comprises at least one selected from the group consisting of:
reading a database element of the database,
writing a database element of the database, and
creating a database element of the database.

### Claim 8 (depends on 1)

The method of claim 1 wherein:
a database table comprises said one or more database elements of the database;
at least one selected from the group consisting of:
at least one of the one or more bitmaps is stored in the database table, and at least one of the one or more bitmaps is not stored in the database table.

### Claim 9 (depends on 1)

The method of claim 1 wherein said specified period of time exceeds one selected from the group consisting of: a month, a quarter of a year, and a year.

### Claim 10 (depends on 1)

The method of claim 1 wherein said adding the one or more bitmaps to the bitmap log comprises at least one selected from the group consisting of:
updating an activity column of a database table,
issuing a database manipulation language (DML) command, and
resetting the one or more bitmaps.

### Claim 11 (depends on 1)

The method of claim 1 wherein:
the database command comprises a DML command;
said determining the one or more activities that the database command performs comprises accessing a map between DML commands and activity bitmaps to select said one or more bitmaps.

### Claim 12

One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause:
a database management system (DBMS), in response to receiving a database command that accesses one or more database elements of a database, determining one or more activities that the database command performs;
the DBMS marking the one or more database elements in one or more bitmaps respectively corresponding to the one or more activities;
the DBMS, in response to a determination that a specified period of time has elapsed, adding the one or more bitmaps to a bitmap log.

### Claim 13 (depends on 12)

The one or more non-transitory computer-readable media of claim 12 wherein the database elements are at least one selected from the group consisting of: database indices, database views, database tables, rows of a database table, and database objects.

### Claim 14 (depends on 12)

The one or more non-transitory computer-readable media of claim 12 wherein the instructions further cause the DBMS, in response to receiving a query for a set of database elements which have been accessed during a particular time frame, determining the set of database elements based on the bitmap log.

### Claim 15 (depends on 14)

The one or more non-transitory computer-readable media of claim 14 wherein:
the bitmap log comprises a plurality of bitmaps;
said determining the set of database elements based on the bitmap log comprises bitwise OR-ing a subset of the plurality of bitmaps.

### Claim 16 (depends on 14)

The one or more non-transitory computer-readable media of claim 14 wherein said determining the set of database elements based on the bitmap log occurs during at least one selected from the group consisting of:
archiving said set of database elements, and
moving said set of database elements from a first storage tier to a second storage tier.

### Claim 17 (depends on 16)

The one or more non-transitory computer-readable media of claim 16 wherein at least one selected from the group consisting of:
said archiving said set of database elements is deferred until the DBMS is underutilized, and
said moving said set of database elements is deferred until said set of database elements exceeds a threshold number of database elements.

### Claim 18 (depends on 12)

The one or more non-transitory computer-readable media of claim 12 wherein:
a database table comprises said one or more database elements of the database;
at least one selected from the group consisting of:
at least one of the one or more bitmaps is stored in the database table, and
at least one of the one or more bitmaps is not stored in the database table.

### Claim 19 (depends on 12)

The one or more non-transitory computer-readable media of claim 12 wherein said adding the one or more bitmaps to the bitmap log comprises at least one selected from the group consisting of:
updating an activity column of a database table,
issuing a database manipulation language (DML) command, and
resetting the one or more bitmaps.

### Claim 20 (depends on 12)

The one or more non-transitory computer-readable media of claim 12 wherein:
the database command comprises a DML command;
said determining the one or more activities that the database command performs comprises accessing a map between DML, commands and activity bitmaps to select said one or more bitmaps.
