Shadow Page Grouping for Lock-Free Savepoints

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems using shadow paging techniques face inefficiencies due to the need for a complete system lock during synchronization, which reduces concurrency and increases runtime processing, especially when converting shadow pages to free status.

Innovation Solution

Implementing a method where shadow pages are assigned to alternating savepoint groups, allowing only a subset to be processed at each savepoint, thereby avoiding a complete system lock and enabling concurrent creation and modification of shadow pages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If shadow pages are converted to free status during savepoint synchronization, then data persistence is ensured, but a complete system lock is required which reduces concurrency and increases runtime processing

Engineering Contradiction:
Improvedata persistenceVSAvoidconcurrency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides shadow pages into multiple groups (first group, second group, etc.) and processes them in separate savepoint operations. This segmentation allows concurrent creation and modification of shadow pages without requiring a complete system lock, thereby maintaining data persistence while improving concurrency and reducing runtime processing overhead.

Inventive Principle:
Principle #1Segmentation

2Reliability

If shadow pages are converted to free status during savepoint synchronization, then data persistence is ensured, but runtime processing time increases

Engineering Contradiction:
Improvedata persistenceVSAvoidruntime processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By segmenting shadow pages into multiple groups and processing them in separate savepoint operations, the patent reduces the time required for synchronization. This allows overlapping of operations where shadow pages in different groups can be processed concurrently, reducing total runtime processing time while ensuring data persistence.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary assignment of shadow pages to groups before processing, allowing the system to prepare and organize pages in advance. This preliminary organization enables more efficient processing during savepoint synchronization, reducing runtime processing time while maintaining data persistence.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If shadow pages are converted to free status during savepoint synchronization, then data persistence is ensured, but system locking requirements increase

Engineering Contradiction:
Improvedata persistenceVSAvoidsystem locking
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments shadow pages into multiple groups and applies selective locking only to the current group being processed, rather than locking the entire system. This reduces system locking complexity while ensuring data persistence for all shadow pages.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of requiring a complete system lock for all shadow pages, the patent applies partial locking only to the specific group being processed at each savepoint. This partial action approach reduces locking requirements and system complexity while maintaining data persistence through sequential processing of all groups.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8615639B2Lock-free release of shadow pages in a data storage application
Publication Date: 2013.12.24 SAP SE
  • US8615639B2 patent drawing
  • US8615639B2 patent drawing
  • US8615639B2 patent drawing

AI summary

Storage pages in a data storage application can be designated as having one of a used status, a free status, and a shadow status. The storage pages having the shadow status remain in use but available for conversion to the free status after completion of a savepoint. The storage pages designated to the shadow status can be assigned among at least a first group and a second group. A first savepoint can be invoked during which the storage pages designated to the shadow status and assigned to the first group are converted to the free status, and a second savepoint can be invoked during which the storage pages designated to the shadow status and assigned to the second group are converted to the free status. In this manner, locking of the system during a savepoint is not required. Related methods, systems, and articles of manufacture are also disclosed.