CRDT State Synchronization for IoT Layer Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In large-scale IoT applications, the distributed application stack often experiences inconsistencies due to devices sleeping, connectivity issues, or failures, leading to costly rebuilding of application states across multiple layers, which strains resources and causes excessive networking traffic.

Innovation Solution

The implementation of conflict-free convergent and commutative replicated data types (CRDTs) and a peer-populated intermediate caching scheme with loose coupling ensures eventual consistency and synchronization of state parameters across layers, using a star, mesh, or 2-level cache configuration to maintain session consistency and reconstruct the global application state.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If devices sleep or connectivity issues occur in distributed IoT applications, then energy saving and fault tolerance are improved, but application state consistency deteriorates

Engineering Contradiction:
Improvefault toleranceVSAvoidapplication state consistency
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The system performs preliminary actions by maintaining application state information in memory before devices sleep or connectivity is lost. The state is preserved and can be quickly restored without full rebuilding, allowing devices to resume operations efficiently after waking or reconnection.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates copies of application state information and stores them in distributed memory across the network. When a device wakes or reconnects, it can retrieve its state copy from memory rather than rebuilding from scratch, maintaining consistency despite intermittent connectivity.

Inventive Principle:
Principle #26Copying

2Stability of the object's composition

If application state is rebuilt from ground up after reconnection, then state consistency is restored, but resource consumption and networking traffic increase excessively

Engineering Contradiction:
Improvestate consistencyVSAvoidresource consumption
Core Design Contradiction:
Stability of the object's compositionVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by maintaining application state information in memory before devices sleep or connectivity is lost. The state is preserved and can be quickly restored without full rebuilding, allowing devices to resume operations efficiently after waking or reconnection.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of performing a complete state rebuild (excessive action), the system performs only the necessary partial action of restoring state from preserved memory copies. This selective restoration consumes minimal resources while achieving the required consistency.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If complete application state rebuild is performed after failures, then reliability is improved, but productivity and operation resumption speed deteriorate

Engineering Contradiction:
Improvestate restoration reliabilityVSAvoidoperation resumption speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by maintaining application state information in memory before devices sleep or connectivity is lost. The state is preserved and can be quickly restored without full rebuilding, allowing devices to resume operations efficiently after waking or reconnection.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts and separates the application state information from the running application processes, storing it independently in memory. This allows the state to be retrieved and restored without requiring the application to be fully reinitialized, significantly speeding up resumption while maintaining reliability.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12093751B2Preserving eventually consistent distributed state of multi-layer applications
Publication Date: 2024.09.17 T MOBILE US INC
  • US12093751B2 patent drawing
  • US12093751B2 patent drawing
  • US12093751B2 patent drawing

AI summary

A computing device operates a first thread for a first layer of a plurality of layers of an application that are operated by different threads. The computing device maintains a first parameter that is shared by the first layer of the application and a second layer of the application. The second layer is operated by a second thread that is identified by a first address. When the first parameter is locally updated at the first thread, the computing device updates a local copy of the first parameter at the first thread and providing the locally updated first parameter to the second thread by using the first address. When the first parameter is remotely updated at the second thread, the computing device receives the remotely updated first parameter and updating the local copy of the first parameter at the first thread based on the received remotely updated first parameter.