Distributed System Data Incompatibility Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing systems, rolling upgrades often lead to incompatibilities between different versions of data, causing disruptions and downtime, especially when multiple members operate on shared data with varying configurations and formats.

Innovation Solution

The method employs group/member dependent keys, links, and data transformation functions to manage incompatibilities by ensuring each member or group accesses the correct version of data, using techniques like member-dependent keys, group-dependent links, and data transformation functions to maintain seamless access during upgrades.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a rolling upgrade is performed in a distributed system, then availability of the application is maintained and downtime is minimized, but data incompatibilities arise between different software versions operating concurrently

Engineering Contradiction:
ImproveavailabilityVSAvoiddata compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the data access mechanism by introducing version-specific keys and links. Different members accessing the same shared data use different keys (e.g., key1 for version 1, key2 for version 2) or different links pointing to the same physical data location. This segmentation allows concurrent access to the same data by different software versions without conflict, resolving the incompatibility issue while maintaining system availability.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If different members operate on shared data with varying configurations and formats, then each member can run its specific software version, but incompatibilities cause disruptions and downtime

Engineering Contradiction:
Improveversion flexibilityVSAvoidsystem continuity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces an intermediary layer consisting of version-specific keys and links that mediate between different software versions and the shared data. The key management system acts as a mediator that translates access requests from different versions into appropriate data access operations, preventing direct conflicts and ensuring system continuity while allowing version flexibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If data format and organizational structure changes are made for new software versions, then the new version can operate correctly, but old version members can no longer access the shared data

Engineering Contradiction:
Improvedata format evolutionVSAvoidconcurrent operation efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent adds a version dimension to the data access mechanism. Instead of having a single data format, the system maintains multiple version-specific data representations accessible through versioned keys and links. This dimensional approach allows the system to evolve data formats for new versions while preserving access paths for old versions, enabling concurrent operation across different software versions without productivity loss.

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

Data Source

PatentUS7921419B2Method and mechanism for managing incompatible changes in a distributed system
Publication Date: 2011.04.05 ORACLE INT CORP
  • US7921419B2 patent drawing
  • US7921419B2 patent drawing
  • US7921419B2 patent drawing

AI summary

A method and mechanism for managing data to resolve incompatibilities between different versions of data is disclosed. According to one approach, incompatibilities to private data is managed using group/member dependent key(s)/link(s), static shared data is managed using group/member dependent key(s)/link(s), and dynamic shared data is managed using data transformation function(s).