Hash-Based Change State ID for Distributed Data Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed application architectures, ensuring data consistency and preventing concurrent changes to application data is challenging, especially in stateless web services that lack persistence and cannot account for industry- or customer-specific data extensions using uniform hash calculations.

Innovation Solution

A method and system that generate and compare unique identifiers using hash functions for data structures to determine if data remains current after operations, incorporating a uniform hash data structure scheme and business add-ins for handling customized data extensions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a lock is employed on application data to prevent concurrent changes, then data consistency is improved, but system availability and concurrency are worsened

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by generating change state identifiers and storing them with the data before any operations occur. This allows the server to later verify data currency without requiring locks, as the verification logic is already in place through the pre-stored identifiers.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces the mechanical locking system with a cryptographic verification system. Instead of using locks to prevent concurrent access, the system uses hash-based change state identifiers to detect and prevent operations on outdated data, substituting physical access control with mathematical verification.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Ease of manufacture

If a uniform hash calculation is used to generate data identifiers, then processing simplicity is improved, but adaptability to customized data extensions is worsened

Engineering Contradiction:
Improveprocessing simplicityVSAvoidadaptability to customized data
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The hash calculation process is segmented into two distinct parts: a uniform hash calculation for standard data fields and a customizable hash calculation for extended data fields. This segmentation allows each part to be optimized independently - the uniform part maintains simplicity while the customizable part handles adaptability to customer-specific extensions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different hashing strategies are applied to different parts of the data structure. Standard fields use a fixed uniform hash calculation, while extended fields use customizable calculations that can be configured based on specific customer requirements. This local differentiation resolves the contradiction between uniformity and adaptability.

Inventive Principle:
Principle #3Local quality

3Productivity

If web services are designed to be stateless, then service scalability is improved, but ability to track data operations is worsened

Engineering Contradiction:
Improveservice scalabilityVSAvoiddata operation tracking
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The system creates copies of critical data elements (change state identifiers) and stores them in multiple locations - both in the backend database and in the client application. This copying mechanism allows the stateless web service to maintain data tracking information without requiring persistent server-side state, as the verification data is replicated to the client.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8140470B2Unified and extensible implementation of a change state ID for update services based on a hash calculation
Publication Date: 2012.03.20 SAP SE
  • US8140470B2 patent drawing
  • US8140470B2 patent drawing
  • US8140470B2 patent drawing

AI summary

In a method and system for updating data in a distributed system, a server receives a request to read data stored in the server. A data structure is populated with the requested data, and a first unique identifier is generated by applying a hash function to the data stored in the data structure. The data and the first unique identifier are transmitted to the requesting client. From the client system, the server receives the first unique identifier and changes to the requested data performed on the client system through a web service application. The changes include an extension to the requested application data to include customer-specific data. Following receipt of the changed data and the first unique identifier, a second data structure is populated with the requested data. A second unique identifier is generated by applying a hash function to the data stored in the second data structure. The server compares the first and the second unique identifiers, and if the identifiers are identical, the requested data is replaced by the changed data. If the identifiers are not identical, the changed data is discarded.