Data Guard Conflict Resolution for Distributed Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data management systems face challenges in efficiently managing and synchronizing data across multiple devices, particularly in handling conflicts and changes made by multiple users, and in ensuring data accessibility and integrity when storage locations change.

Innovation Solution

The implementation of data guards for conflict resolution, task-based coordinating nodes for efficient communication, asynchronous delta propagation, global undo/redo functionality, dependency-aware conflict detection, and indexing storage volumes with addressable fingerprints to ensure data accessibility and integrity across the network.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If conventional file sharing is used to allow multiple users to access files, then data accessibility is improved, but data integrity and conflict management deteriorate because files typically remain at their original location and only the user who checked out the file can modify it

Engineering Contradiction:
Improvedata accessibilityVSAvoiddata integrity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system segments data into discrete data items that can be independently synchronized across multiple devices. Each data item can be accessed and modified by different users on different devices, with changes tracked and merged through the synchronization engine, eliminating the need for single-user checkouts while maintaining data integrity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The synchronization engine acts as an intermediary between multiple users and devices, coordinating changes to data items. It tracks modifications from different users, detects conflicts, and resolves them according to established rules, enabling simultaneous access while preserving data integrity without requiring single-user checkouts.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If data is synchronized across multiple devices with real-time conflict detection, then data integrity is improved, but system complexity and communication overhead worsen

Engineering Contradiction:
Improvedata integrityVSAvoidsynchronization system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system uses version identifiers and timestamps as parameters to track changes to data items. By comparing these parameters across devices, the synchronization engine can detect conflicts and determine which changes to apply without requiring complex real-time coordination protocols, reducing system complexity while maintaining data integrity.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If storage volumes are moved to different network locations for flexibility, then adaptability is improved, but data accessibility and integrity worsen because conventional systems rely on fixed storage locations

Engineering Contradiction:
Improvestorage location flexibilityVSAvoiddata accessibility
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The synchronization engine provides universal access to data items across multiple devices and network locations. Data items are replicated and synchronized across different storage locations, allowing users to access and modify data from any device in the network without being constrained to a fixed storage location, thereby maintaining both flexibility and accessibility.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12045255B2Data storage management and synchronization
Publication Date: 2024.07.23 APPLE INC
  • US12045255B2 patent drawing
  • US12045255B2 patent drawing
  • US12045255B2 patent drawing

AI summary

The described embodiments include a computing device that enables the placement of data guards on data items (e.g., files, data in an application, etc.). The data guard is associated with a conflict priority that is used to determine users that are permitted to make changes to the data item. When the data guard has been placed, the data item is visually identified (e.g., when displayed on a display) as being guarded. In addition, the computing device includes various mechanisms for enabling synchronization of data items between computing devices.