Sequential Change Set Dataset for Data Store Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for synchronizing multiple instances of a data store face inefficiencies, with the full dataset approach being slow for incremental updates and the differential dataset approach requiring complex management of multiple versions.

Innovation Solution

A dataset with sequentially-ordered change sets is used, where each change set includes entries specifying state changes since the previous set, allowing for concise and complete representation of all state changes, enabling quick updates and efficient management without the need for multiple differential datasets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the full dataset approach is used to update a data store instance, then the update can be performed quickly because all required state information is present, but the approach becomes very inefficient for incremental updates where only a few entities need modification because the state of each entity must be compared to the snapshot

Engineering Contradiction:
Improveupdate speedVSAvoidincremental update efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent segments the dataset into multiple differential datasets, where each differential dataset contains only the changes since the previous version. This segmentation allows the system to apply only the necessary changes for incremental updates rather than processing entire snapshots, resolving the contradiction between fast full updates and efficient incremental updates.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a dynamic update mechanism that automatically selects between full dataset application and differential dataset application based on the update scenario. For initial population, full datasets are used; for incremental updates, differential datasets are applied. This dynamic approach optimizes performance for different operational contexts.

Inventive Principle:
Principle #15Dynamics

2Productivity

If the differential dataset approach is used to update a data store instance, then incremental updates become more efficient, but the approach requires more complexity and overhead because it requires the management and ordered application of multiple differential datasets

Engineering Contradiction:
Improveincremental update efficiencyVSAvoiddataset management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary actions by pre-generating and storing multiple differential datasets in advance, each representing changes since the previous version. This preliminary preparation eliminates the need for complex real-time computation during updates, as the system simply needs to apply pre-computed differential datasets in order, reducing operational complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating duplicate copies of differential datasets that can be applied independently and in parallel where possible. This copying strategy simplifies management by allowing the system to work with copies rather than the original complex state, reducing the overhead of managing multiple versions.

Inventive Principle:
Principle #26Copying

3Reliability

If multiple differential datasets are managed and applied in exact order to synchronize a data store instance, then synchronization accuracy is maintained, but the processing time and computational overhead increase

Engineering Contradiction:
Improvesynchronization accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies partial action by selectively applying only the necessary differential datasets based on the current state and required updates. Rather than always applying all differential datasets in sequence, the system determines the minimal set needed to achieve synchronization, reducing processing time while maintaining accuracy through selective application.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9460184B2Application of a differential dataset to a data store using sequential change sets
Publication Date: 2016.10.04 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9460184B2 patent drawing
  • US9460184B2 patent drawing
  • US9460184B2 patent drawing

AI summary

Systems and methods are described herein for creating, maintaining and applying a dataset that can be used to synchronize multiple instances of a data store. The dataset includes a sequentially-ordered sequence of change sets associated with the data store, wherein each change set includes zero or more entries that specify how the state of certain entities in the data store have changed since state changes represented by a previous change set in the sequence were applied to the data store. When a new change set is added to the dataset, any entries in any previously-added change sets dealing with the entities identified in the new change set are removed. Consequently, the dataset provides a concise and complete representation of all the state changes that have occurred to the data store since a known origin state.