Data Synchronization Using Write Read Position Indices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data synchronous systems with active and standby servers, the concurrent operation of application and data transmission/reception processes can lead to data inconsistencies, as updated data may be transferred to the standby server before it is fully written, potentially causing service disruptions if the active server fails.
Innovation Solution
Implementing a data synchronous system that uses write and read position indices to manage data synchronization, ensuring that only complete data is transferred between servers by maintaining separate write and read positions within a temporary storage region, thereby preventing the transfer of data being changed halfway through the application process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the application process and data transmission/reception process run in parallel without access restriction, then the application process operates continuously without stopping, but data inconsistency occurs when updated data is transferred to the standby server before it is fully written
Solution Approach 1:
The patent introduces a temporary storage region as an intermediary buffer between the shared memory segment array and the data transmission/reception process. Data is first written to the temporary storage region, then transferred to the shared memory segment array. This intermediary structure allows the application process to write data without blocking the transmission process, while ensuring data consistency through the use of write and read position indices that track the state of data transfer.
Solution Approach 2:
The patent uses write position index and read position index as parameters to track the state of data in the temporary storage region. By monitoring these position parameters, the system can determine whether data is fully written and ready for transfer, preventing inconsistent data from being transmitted to the standby server while maintaining continuous operation of both processes.
2Reliability
If a POSIX semaphore is used to restrict access to the shared memory segment array, then data consistency is ensured, but the application process will be stopped in operation during data synchronization
Solution Approach 1:
The patent segments the memory structure into two distinct regions: the shared memory segment array and the temporary storage region. This segmentation allows different processes to operate on different regions simultaneously without conflict. The application process operates on the shared memory segment array while the data transmission/reception process operates on the temporary storage region, eliminating the need for semaphores that would stop the application process.
Solution Approach 2:
The temporary storage region serves as an intermediary buffer that decouples the application process from the data transmission/reception process. By writing data to this intermediary region first and using position indices to track completion, the system ensures data consistency without requiring the application process to wait or be stopped during synchronization operations.
3Speed
If data is transferred from the active server to the standby server during ongoing updates, then real-time synchronization is achieved, but partially updated data may be transferred causing service disruptions
Solution Approach 1:
The patent implements preliminary action by completely writing data to the temporary storage region and updating the write position index before initiating the transfer to the standby server. The data transmission/reception process checks the position indices to ensure data is fully written and ready, preventing partially updated data from being transferred while maintaining efficient real-time synchronization.
Data Source
AI summary
A data synchronous system synchronizes, between servers each having a shared memory, data which are stored on the respective shared memories. The system includes a data writer which writes data into the shared memory in one of the servers and then generates write state information on the write state of data written in the shared memory; and a data communicator which reads out the written data and positional information about a position on the shared memory of the written data on the basis of the write state information, and transfers the read data and positional information from the one server to another or some other servers.


