Database Encryption Update via Segmented Save Point Cycles

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems face significant storage volume growth issues when changing encryption status, particularly when active snapshots are present, leading to potential system failures and application outages due to insufficient storage capacity.

Innovation Solution

A method that selectively iterates through metadata to identify candidate pages not in use by active snapshots, loads them into memory, performs encryption updates, and pauses iteration until the next save point cycle, thereby minimizing storage growth by processing only a predetermined number of pages per cycle.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all pages are re-encrypted in a single operation to update encryption status, then encryption security is improved, but storage volume growth occurs due to duplicate page versions

Engineering Contradiction:
Improveencryption securityVSAvoidstorage volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent divides the encryption update process into multiple save point cycles, processing a predetermined number of pages per cycle rather than all pages at once. This segmentation allows the system to update encryption status incrementally while managing storage volume by controlling the number of duplicate page versions created at any time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent processes only a predetermined number of pages during each save point cycle rather than completing the full encryption update in one operation. This partial action approach balances security requirements with storage constraints by limiting the extent of duplication at each step.

Inventive Principle:
Principle #16Partial or excessive action

2Stability of the object's composition

If encryption updates are performed on all pages simultaneously, then encryption consistency is improved, but system performance deteriorates due to storage overflow and potential outages

Engineering Contradiction:
Improveencryption consistencyVSAvoidsystem performance
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The encryption update process is segmented into multiple save point cycles, with a controlled number of pages processed per cycle. This maintains encryption consistency across the database while preventing storage overflow that would cause system outages, thereby preserving overall system performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements periodic encryption updates through save point cycles, where a predetermined number of pages are encrypted in each cycle. This periodic approach maintains consistency while managing storage resources to prevent system failures.

Inventive Principle:
Principle #19Periodic action

3Quantity of substance

If a predetermined number of pages are processed per save point cycle, then storage volume growth is minimized, but encryption update time increases

Engineering Contradiction:
Improvestorage volume growthVSAvoidencryption update time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The encryption update is divided into multiple save point cycles processing a predetermined number of pages each, which minimizes storage volume growth by limiting duplicate page versions. The cumulative time across cycles represents the total update duration, balancing storage efficiency with time requirements.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11907162B2Minimizing data volume growth under encryption changes
Publication Date: 2024.02.20 SAP SE
  • US11907162B2 patent drawing
  • US11907162B2 patent drawing
  • US11907162B2 patent drawing

AI summary

Computer-readable media, methods, and systems are disclosed for minimizing data volume growth in a database system under changes to an encryption status of a plurality of data pages persisted to a database. Initially, a request is received to update an encryption parameter associated with the database. Next, it is determined whether a candidate page requires encryption changes. In response to determining that the candidate page is not currently in use by one or more active database snapshots and not currently loaded in main memory, the candidate page is loaded into main memory. Next, an encryption operation is performed on the candidate page, and the encrypted page is designated for persistence. Finally, based on a current number of candidate pages already encrypted during a current save point cycle, the selective iteration is paused until a subsequent save point cycle.