Client-Side Mutation Buffering for Data Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data streaming platforms face challenges in maintaining data consistency on client devices due to receiving duplicate and out-of-order mutations, especially when reconnecting after a loss of connection, which can lead to errors and inconsistencies in local data copies.

Innovation Solution

Implementing a client-side buffering system that analyzes the schema and identifiers for data objects to reorder and deduplicate mutations before applying them to the local data, ensuring consistency with the server-side data without relying on the server for reordering and deduplication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the client device receives mutations from the data streaming platform without client-side buffering and processing, then the implementation is simpler and relies less on client resources, but data consistency is compromised due to duplicate and out-of-order mutations being applied directly to the local copy

Engineering Contradiction:
Improvedata consistencyVSAvoidclient-side processing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by buffering incoming mutations before applying them to the local data copy. The client device receives mutations, stores them in a buffer, processes them in the correct order while removing duplicates, and then applies the cleaned mutations to the local copy. This preliminary processing ensures data consistency without requiring complex server-side logic.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a buffer as an intermediary component between the data streaming platform and the local data copy. This buffer acts as a mediator that temporarily holds incoming mutations, allowing the client device to process them systematically - removing duplicates and reordering as needed - before applying to the local data, thus ensuring consistency without direct immediate application.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the client device applies mutations immediately upon receiving them, then the synchronization speed appears faster, but network bandwidth is wasted due to duplicate data transmission and server load increases

Engineering Contradiction:
Improvesynchronization speedVSAvoidnetwork bandwidth usage
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The client device performs preliminary processing of mutations locally by buffering, deduplicating, and reordering them before applying to the local data copy. This eliminates the need for the server to retransmit duplicate mutations, saving network bandwidth while maintaining synchronization speed through efficient local processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The client device serves itself by independently handling mutation deduplication and reordering without requiring server intervention. The server simply transmits mutations, and the client's buffer system autonomously processes them to ensure consistency, reducing server load and network overhead while maintaining fast synchronization.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12117976B2Schema based data buffering and processing on a client device
Publication Date: 2024.10.15 RED HAT INC
  • US12117976B2 patent drawing
  • US12117976B2 patent drawing
  • US12117976B2 patent drawing

AI summary

Schema based data buffer and processing on a client device. A client device may obtain a schema for a set of data. The set of data is stored on a server device. The client device may also obtain a copy of the set of data from a server database. The copy of the set of data is stored on a client device. The client device may further obtain a set of mutations to one or more portions of the set of data. The client device may further modify the set of mutations based on the schema for the set of data. The client device may further apply the modified set of mutations to the copy of the set of data that is stored on the client device.