UTC-Based Step ID Structure for Database Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database step IDs are affected by daylight saving time changes, leading to duplicate IDs, and the continued use of existing step IDs can cause data corruption during recovery, especially when the advance portion wraps around or when rollbacks are not properly handled.

Innovation Solution

Implementing a new step ID structure using coordinated universal time (UTC) for the timestamp portion and a rollback count to ensure unique IDs and accurate recovery, avoiding duplicate IDs and data corruption by using a 72-bit value with 63 bits for UTC and 9 bits for uniqueness, and storing rollback counts in periodic save records.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a time-based step ID structure using local time is used, then the step ID can reflect the current time, but duplicate step IDs are generated during daylight saving time adjustments

Engineering Contradiction:
Improvetime accuracyVSAvoidstep ID uniqueness
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The patent changes the time reference parameter from local time (which changes with daylight saving time) to UTC (coordinated universal time), which does not change with seasonal offsets. This parameter change ensures that step IDs remain unique even when local clocks are adjusted backwards during fall back transitions.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If the advance portion of the step ID is incremented beyond maximum value, then the step ID can continue to be used for new transactions, but the advance portion wraps around and causes duplicate identifiers

Engineering Contradiction:
Improvetransaction processing continuityVSAvoididentifier uniqueness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent adds a new dimension to the step ID structure by incorporating a 64-bit timestamp portion (providing 2^64 possible values) combined with the 9-bit advance portion. This dimensional expansion ensures that even when the advance portion wraps around, the full step ID remains unique due to the vast number of possible timestamp values.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Reliability

If the database is shut down for one hour during daylight saving time adjustment, then duplicate step IDs are avoided, but database availability and performance are reduced

Engineering Contradiction:
Improvestep ID uniquenessVSAvoiddatabase availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent changes the time reference parameter from local time to UTC, allowing the database to continue operating without shutdown during daylight saving time adjustments. This parameter change eliminates the need to stop the database while maintaining step ID uniqueness.

Inventive Principle:
Principle #35Parameter changes

4Ease of operation

If rollback operations are performed without tracking the number of rollbacks, then the operation is simple, but data corruption occurs during recovery when updates are incorrectly reapplied

Engineering Contradiction:
Improverollback operation simplicityVSAvoiddata integrity during recovery
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces a rollback count that provides feedback about the state of each step ID. This feedback mechanism tracks how many times a step has been rolled back, allowing the recovery process to correctly determine which updates should be reapplied and preventing data corruption from incorrect update application.

Inventive Principle:
Principle #23Feedback

5Reliability

If a 72-bit step ID structure with 63 bits for UTC and 9 bits for uniqueness is used, then duplicate step IDs are eliminated, but the complexity of the step ID structure increases

Engineering Contradiction:
Improvestep ID uniquenessVSAvoidstep ID structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the step ID into distinct functional portions: a 64-bit timestamp portion (using 63 bits for UTC time and 1 bit for sign/indication), a 9-bit advance portion, and associated metadata like rollback counts. This segmentation organizes the complexity into manageable, well-defined components with clear responsibilities.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9111265B2Step identifier based on a universal timestamp
Publication Date: 2015.08.18 UNISYS CORP
  • US9111265B2 patent drawing
  • US9111265B2 patent drawing
  • US9111265B2 patent drawing

AI summary

One or more transactions, and their audited update actions, operating on a database may be identified by a step ID. The step ID may include a first set of bits identifying a time the step was created. The step ID may also include a second set of bits uniquely identifying a step created at a certain time from other step created at the same time. The first set of bits may be generated from a coordinated universal time (UTC) that does not change with local seasons, such as daylight saving time.