Process Identifier Cache Invalidation for Data Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data center environments, the movement of processes between physical machines can lead to data inconsistency and inefficient resource utilization due to the challenges of maintaining data consistency and managing cache resources across separate machines, especially with non-volatile caching devices like FLASH-based devices.

Innovation Solution

A method that associates persistently stored data with a process identifier, allowing for automatic invalidation and reclamation of cached data when the process moves or terminates, using process identifiers to generate a key value that maps logical addresses and enables instantaneous invalidation of cache entries, thus preventing the use of 'stale' data and optimizing cache resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If processes are allowed to move between physical machines, then load balancing and resource utilization are improved, but data consistency and cache coordination become problematic

Engineering Contradiction:
Improveprocess migration capabilityVSAvoiddata consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The cache system automatically invalidates entries when processes migrate by monitoring process identifiers (PIDs) associated with cache entries. When a PID changes or terminates, the system self-manages cache invalidation without external intervention, maintaining data consistency while allowing process migration.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements feedback mechanisms where cache entries include PID information that is monitored and updated. When process migration is detected through PID changes, the system receives feedback and automatically invalidates stale cache entries, ensuring data consistency across dynamic process movements.

Inventive Principle:
Principle #23Feedback

2Speed

If local data caches are used within physical servers, then access latency is minimized, but cache coordination becomes impossible when processes migrate between servers

Engineering Contradiction:
Improvedata access speedVSAvoidcache coordination complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

Each cache entry automatically tracks its associated process identifier, and the system self-manages invalidation by monitoring PID changes. This eliminates the need for complex centralized coordination between caches on different servers, reducing overall system complexity while maintaining fast local access.

Inventive Principle:
Principle #25Self-service

3Reliability

If non-volatile cache devices are used, then data persistence is improved, but cache invalidation becomes more difficult when processes terminate or migrate

Engineering Contradiction:
Improvedata persistenceVSAvoidcache invalidation ease
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The system incorporates PID information directly into cache entry metadata, creating a feedback mechanism where the cache system can detect when processes terminate or migrate. This automated feedback approach simplifies invalidation of non-volatile cache devices compared to manual coordination methods.

Inventive Principle:
Principle #23Feedback

4Measurement precision

If cache resources are allocated to individual processes, then resource allocation precision is improved, but administrative overhead increases due to manual partitioning and assignment

Engineering Contradiction:
Improveresource allocation precisionVSAvoidadministrative overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The cache system automatically associates entries with process identifiers and manages allocation without manual intervention. When processes start, stop, or migrate, the system self-adjusts cache allocation by invalidating and reallocating entries based on PID changes, eliminating administrative overhead while maintaining precise resource allocation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9164909B1Method for the use of process identifiers to invalidate cached data in environments that allow processes to migrate between physical machines
Publication Date: 2015.10.20 SAMSUNG ELECTRONICS CO LTD
  • US9164909B1 patent drawing
  • US9164909B1 patent drawing
  • US9164909B1 patent drawing

AI summary

A method for utilizing process identifiers to invalidate cached data is disclosed herein. The invention is a method for associating persistently stored data with an identifier of the process which created it, such that when the process that created the data is no longer present on the machine where the data is stored the data may be marked as invalid to prevent the use of “stale” data.