# US 11,442,929 B2 · Double header logging of slotted page structures

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

- Number: US 11,442,929 B2
- Document ID: US11442929B2
- Status: Granted
- Kind: B2
- Application number: 16/729,539
- Filed: 2019-12-30
- Published: 2020-07-02
- Granted: 2022-09-13
- Earliest claimed: 2018-12-31
- Assignees: Research & Business Foundation Sungkyunkwan University
- Applicants: Research & Business Foundation Sungkyunkwan University
- Inventors: Beom Seok Nam
- Web page: https://patentgrep.com/patent/US11442929B2

## CPC

- G06F 16/2358: {Change logging, detection, and notification (replication G06F16/27)}
- G06F 16/2379: {Updates performed during online database operations; commit processing}
- G06F 16/2365: {Ensuring data consistency and integrity}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Provided are a doubleheader logging methods of a slotted page and a database apparatuses. The method of doubleheader logging of a slotted page performed by a database apparatus includes determining a valid slot header among a first slot header and a second slot header of a page to select a slot header; selecting a valid slot header according to the determination result; and performing a transaction based on the selected valid slot header.

## Claims

### Claim 1

A processor-implemented method of doubleheader logging of a slotted page performed by a database apparatus comprising a processor, a memory, and a database, the page includes a first slot header and a second slot header for storing metadata of the page, a free space, and a content area for storing data, the method comprising:
determining, by the processor, whether the first slot header of the page or the second slot header of the page is valid by comparing a transaction ID of each of the first slot header and the second slot header with a file change counter;
selecting, by the processor, one of the first and second slot headers determined to be valid as a valid slot header;
performing, by the processor, a transaction based on the selected valid slot header.

### Claim 2 (depends on 1)

The processor-implemented method of claim 1, wherein the determining comprises determining the first slot header to be valid in response to the transaction ID of the first slot header being less than or equal to the file change counter.

### Claim 3 (depends on 1)

The processor-implemented method of claim 1, wherein the determining comprises determining the second slot header to be valid in response to the transaction ID of the second slot header being less than or equal to the file change counter.

### Claim 4 (depends on 1)

The processor-implemented method of claim 1, wherein the selecting comprises selecting, in response to one of the first and second slot headers being determined to be invalid, the other slot header as the valid slot header.

### Claim 5 (depends on 1)

The processor-implemented method of claim 1, wherein the selecting comprises selecting, in response to both of the first slot header and the second slot header being determined to be valid, one of the first slot header and the second slot header that has a larger transaction ID as the valid slot header.

### Claim 6 (depends on 1)

The processor-implemented method of claim 1, further comprising storing, in response to one of the first slot header and the second slot header being determined to be invalid, data to be added at a free space and storing data information of data to be added at the invalid slot header.

### Claim 7

A processor-implemented method of double header logging of a slotted page performed by a database apparatus comprising a processor, a memory, and a database, the page includes a first slot header and a second slot header for storing metadata of the page, a free space, and a content area for storing data, the method comprising:
providing, by using the processor, the slotted page comprising the first slot header and the second slot header to determine whether the first slot header is valid or the second slot header is valid and select one of the first slot header and the second slot header determined to be valid as a valid slot header; and
performing, by the processor, a transaction based on the selected valid slot header of the provided page,
wherein each of the first and second slot headers comprises a transaction ID, and the transaction ID of each slot header is compared with a file change counter to determine whether the first slot header or the second slot header is valid.

### Claim 8 (depends on 7)

The processor-implemented method of claim 7, wherein the performing comprises selecting, in response to one of the first slot header and the second slot header being determined to be invalid, the other slot header as the valid slot header.

### Claim 9 (depends on 7)

The processor-implemented method of claim 7, wherein the performing comprises selecting, in response to the first slot header and the second slot header being determined to be valid, one of the first slot header and the second slot header that has a larger transaction ID as the valid slot header.

### Claim 10 (depends on 7)

The processor-implemented method of claim 7, further comprising storing data to be added in a free space and storing information about data to be added in one of the first and second slot headers determined to be invalid.

### Claim 11

A processor-implemented method of doubleheader logging of a slotted page performed by a database apparatus comprising a processor, a memory and a database, the page includes a first slot header and a second slot header for storing metadata of the page, a free space, and a content area for storing data, the method comprising:
determining, by using the processor, whether the first slot header of the page to be recovered or the second slot header of the page to be recovered is valid by comparing a transaction ID of each of the first slot header and the second slot header with a file change counter;
invalidating, by the processor, one of the first slot header and the second slot header determined to be invalid; and
performing, by the processor, a transaction based on one of the first slot header and the second slot header determined to be valid.

### Claim 12 (depends on 11)

The processor-implemented method of claim 11, wherein the determining comprises determining the first slot header to be invalid in response to the transaction ID of the first slot header exceeding the file change counter.

### Claim 13 (depends on 11)

The processor-implemented method of claim 11, wherein the determining the determining comprises determining the second slot header to be invalid in response to the transaction ID of the second slot header exceeding the file change counter.

### Claim 14 (depends on 11)

The processor-implemented method of claim 11, further comprising determining, by using the processor, whether a page to be recovered is a last page, and moving the database apparatus to a next page when the page to be recovered is not the last page.

### Claim 15

A database apparatus for doubleheader logging of a slotted page, the database apparatus comprising:
a database for storing a database file configured with a database header and a plurality of database pages;
a memory for storing at least one instruction; and
a processor connected to the database and the memory,
wherein the processor executes the at least one instruction to:
determine whether a first slot header of a page or a second slot header of the page is valid by comparing a transaction ID of the first slot header and a transaction ID of the second slot header with a file change counter;
select one of the first and second slot headers determined to be valid as a valid slot header; and
perform a transaction based on the selected valid slot header.

### Claim 16 (depends on 15)

The database apparatus of claim 15, wherein the processor determines the first slot header to be valid in response to the transaction ID of the first slot header being less than or equal to the file change counter.

### Claim 17 (depends on 15)

The database apparatus of claim 15, wherein the processor determines the second slot header to be valid in response to the transaction ID of the second slot header being less than or equal to the file change counter.

### Claim 18 (depends on 15)

The database apparatus of claim 15, wherein the processor selects, in response to one of the first and second slot headers being determined to be invalid, the other slot header as the valid slot header.

### Claim 19 (depends on 15)

The database apparatus of claim 15, wherein the processor selects, in response to both of the first and second slot headers being determined to be valid, one of the first and second slot headers that has a larger transaction ID as the valid slot header.

### Claim 20

A database apparatus for doubleheader logging of a slotted page, the page includes a first slot header and a second slot header for storing metadata of the page, a free space, and a content area for storing data, the database apparatus comprising:
a database for storing a database file configured with a database header and a plurality of database pages;
a memory for storing at least one instruction; and
a processor connected to the database and the memory,
wherein the processor executes the at least one instruction to configure the processor to:
obtain a file change counter for a page of the database file;
determine whether the first slot header of the page to be recovered or the second slot header of the page to be recovered is valid by comparing a transaction ID of the first slot header and a transaction ID of the second slot header with a file change counter;
invalidate one of the first and second slot headers determined to be invalid; and
perform a transaction based on one of the first and second slot headers that is determined to be valid.
