Heterogeneous Data Replication Engine
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data replication methods are limited in their ability to synchronize and replicate data across diverse devices, requiring both source and destination devices to be of the same type and architecture, and often necessitate shutting down devices for resynchronization after a failure, failing to efficiently handle data changes and pass-through data in real-time across heterogeneous networks.
Innovation Solution
A hardware and operating system-independent software method that replicates data in real-time or near real-time across similar or dissimilar devices, using a data replication engine with concurrent threads to track changes and replicate data without interrupting device operation, allowing configuration refreshes without shutting down devices, and supporting adaptive compression and encryption for efficient data distribution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If existing data replication methods are used, then data synchronization between devices of the same type can be achieved, but the devices must be of the same type and architecture, limiting versatility
Solution Approach 1:
The replication software is designed to work across multiple device types and architectures (computers, storage devices, communication devices, sensor devices) by implementing a universal replication protocol that abstracts away hardware-specific details, allowing the same software to replicate data between heterogeneous devices without requiring device-specific implementations
2Reliability
If existing replication methods are used, then data can be replicated between devices, but both source and destination devices must be taken out of service for resynchronization after a failure
Solution Approach 1:
The replication software implements continuous data replication that operates independently of device service status. When a device fails, the replication process detects the failure and automatically resumes synchronization without requiring the device to be taken out of service, ensuring continuous data protection and minimizing downtime through automatic failover and resume capabilities
3Productivity
If real-time data replication is implemented, then data synchronization occurs as data changes, but the complexity of tracking and replicating changes across heterogeneous devices increases
Solution Approach 1:
The replication software introduces an intermediary replication engine that sits between the source and destination devices, managing the complexity of real-time change tracking and data replication. This intermediary component handles change detection, data formatting, transmission, and synchronization logic, shielding users from the underlying complexity while enabling real-time replication across heterogeneous devices through standardized protocols
Data Source
AI summary
Embodiments of the system described herein can be implemented in a software application that runs on a host device or is embedded in a logic or memory device such as a gate array, EEPROM, a control, or dynamical system. The system embodiment allows a set of similar or dissimilar intelligent devices or sensors, which may be interconnected with any type of network or bus, to replicate data between themselves for the purpose of remote backup, redundancy, content distribution, or measurements. The attributes of the data, which may be changed or created on one device or passed through the device, are tracked and journaled in volatile or non-volatile storage in a first phase. This occurs in real-time as the data changes or passes through the device. In a second phase, the attributes that match patterns pre-specified in a configuration are used to decide what changes or the content to replicate to one or more devices. In a third phase, the data is replicated. In practice, the techniques described herein are independent of hardware, operating systems, and applications. The example embodiment is designed to be transparent for system redundancy and error recovery processes such as error correction, retransmission on links, and raid reconfiguration.


