Hash-Based Page Integrity Validation in Distributed Memory Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-node computer systems, existing technologies lack effective methods to validate program execution and detect changes in shared memory pages, which can lead to security vulnerabilities and inconsistencies during program execution.

Innovation Solution

A method and system that involve calculating and comparing hash values for pages of a program stored in remote memory, allowing the first computer system to verify the integrity of pages by checking if they have changed, and stopping program execution if changes are detected, ensuring page validity and security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hash validation is performed for every page access from remote memory, then page integrity and security are improved, but system performance and execution speed deteriorate due to repeated hash calculations and comparisons

Engineering Contradiction:
Improvepage integrityVSAvoidexecution speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent calculates and stores hash values for all pages of the program before execution begins. This preliminary action allows the system to have validation data ready in advance, eliminating the need for repeated hash calculations during page access and reducing the performance overhead during actual execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a local copy of the program pages in the first computer system's memory alongside a copy in the second computer system. By working with local copies and comparing their hash values, the system avoids repeatedly accessing remote memory and performing validation checks on every access, thereby improving execution speed while maintaining integrity verification.

Inventive Principle:
Principle #26Copying

2Reliability

If the entire program is loaded into local memory before execution, then page validity can be ensured, but memory usage and system resource consumption increase

Engineering Contradiction:
Improveprogram validityVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent divides the program into individual pages and loads only the necessary pages into local memory as needed during execution, rather than loading the entire program at once. This segmentation approach allows the system to maintain validation capability for the whole program while minimizing local memory consumption by loading pages on-demand.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs validation on a partial basis - validating pages individually as they are accessed rather than validating the entire program upfront. This partial validation approach reduces the memory burden while still ensuring program validity through hash comparison of only the necessary pages at each access point.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If remote memory pages are accessed frequently during execution, then program functionality is maintained, but the risk of detecting unauthorized modifications increases system complexity

Engineering Contradiction:
Improveprogram functionalityVSAvoidvalidation system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces hash values as an intermediary mechanism for validation. Instead of directly comparing entire pages or implementing complex validation protocols, the system uses hash values as a simplified intermediary that represents page integrity. This intermediary approach maintains program functionality while reducing validation system complexity through efficient hash-based comparison.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8108686B2Method and system for detecting modified pages
Publication Date: 2012.01.31 ORACLE AMERICAN INC
  • US8108686B2 patent drawing
  • US8108686B2 patent drawing
  • US8108686B2 patent drawing

AI summary

A method for validating program execution. The method involves identifying a program from a second computer system, obtaining, by a first computer system, a first copy of a page for a file of the program from a second computer system, calculating a hash value for the first copy, storing the first copy in a local memory of the first computer system, storing the hash value for the first copy, and executing the program on the first computer system, where the first copy is removed from the local memory during execution of the program. The method further involves obtaining a second copy of the page from the second computer system, calculating a hash for the second copy, determining whether the hash value for the first copy is equal to the hash value for the second copy, and performing an appropriate action in response to the determination.