Eventually Consistent Sharing Model Using Revision Diagrams

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in maintaining eventual consistency in distributed data systems, particularly when dealing with conflicting updates from multiple sources, often relying on manual conflict resolution or special-purpose code that treats data changes as serializable transactions.

Innovation Solution

The Eventually Consistent Sharing Model employs fork-join automata based on revision diagrams to track updates and uses cloud types to enable fully automatic conflict resolution, allowing mobile devices to share structured data with guaranteed eventual consistency across replicas.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual conflict resolution or serializable transactions are used to maintain data consistency, then data consistency is improved, but system complexity and programming difficulty increase

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system automatically resolves conflicts between concurrent updates using a conflict resolution module that detects and arbitrates conflicting updates without requiring manual intervention. The conflict resolution module examines the revision diagrams and automatically applies resolution rules to merge conflicting updates, making the system self-sufficient in maintaining consistency.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces a conflict resolution module as an intermediary component that mediates between multiple update sources and the shared data structure. This module acts as a mediator that receives conflicting updates, resolves them according to predefined rules, and applies the resolved updates to maintain consistency without requiring manual intervention.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If updates are immediately applied to all replicas to maintain strong consistency, then data consistency is improved, but system scalability and availability deteriorate

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem scalability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically adjusts the consistency model based on the specific update scenario. Instead of always applying updates immediately to all replicas, the system allows replicas to diverge temporarily when conflicts are detected, and then dynamically resolves conflicts when replicas reconnect. This dynamic approach maintains scalability while ensuring eventual consistency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the update propagation process into independent replica updates that can occur concurrently without requiring immediate coordination across all replicas. Each replica can independently apply updates from its local cache, and conflict resolution is segmented into a separate phase that occurs when replicas synchronize, allowing the system to scale independently.

Inventive Principle:
Principle #1Segmentation

3Productivity

If weak consistency model is used to improve scalability, then system scalability is improved, but programming difficulty and risk of data invariants breaking increase

Engineering Contradiction:
Improvesystem scalabilityVSAvoidprogramming difficulty
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system performs preliminary actions by pre-defining conflict resolution rules and data type schemas before runtime conflicts occur. The cloud types and their associated conflict resolution rules are established in advance, so when conflicts arise, the system can automatically apply the pre-defined resolution logic without requiring programmers to handle conflicts manually during runtime.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The conflict resolution module automatically detects and resolves conflicts without requiring programmer intervention, making the weak consistency model as easy to use as strong consistency models. The system self-services by monitoring update conflicts and applying resolution rules automatically, eliminating the programming burden typically associated with weak consistency models.

Inventive Principle:
Principle #25Self-service

4Ease of operation

If cloud types with automatic conflict resolution are implemented, then ease of programming is improved, but system complexity increases

Engineering Contradiction:
Improveease of programmingVSAvoidsystem complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent merges the conflict resolution functionality directly into the cloud type definitions. Instead of implementing conflict resolution as a separate complex system, the conflict resolution rules are combined with the data type schemas, allowing the type system itself to guide conflict resolution. This integration reduces the perceived system complexity by unifying data definition and conflict handling.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9436502B2Eventually consistent storage and transactions in cloud based environment
Publication Date: 2016.09.06 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9436502B2 patent drawing
  • US9436502B2 patent drawing
  • US9436502B2 patent drawing

AI summary

An “Eventually Consistent Sharing Model” provides various techniques for using “revision diagrams” to determine both arbitration and visibility of changes or updates to shared data (e.g., data, databases, lists, etc.) without requiring a causally consistent partial order for visibility, and without requiring change or update timestamps for arbitration. In particular, the Eventually Consistent Sharing Model provides fork-join automata based on revision diagrams to track the forking and joining of data versions, thereby tracking updates made to replicas of that data by one or more sources. “Cloud types” are used to define a structure of the shared data that enables fully automatic conflict resolution when updating the shared data. These concepts enable mobile devices (or other computing devices that may periodically go “offline”) to share structured data in cloud-based environments in a manner that provides local data replicas for offline operation while guaranteeing eventually consistent convergence of the data replicas.