Code Branch Pointer Switching for Atomic Dataset Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Ensuring that time-sensitive datasets across different entities within an organization are updated in unison and in an atomic manner, particularly for mission-critical tasks, is laborious and requires intensive processing, which existing methods often fail to address efficiently.
Innovation Solution
Utilizing version control functionality through code branches to ensure that datasets are only provided to downstream processes if all updates succeed, employing a secondary code branch to replicate and execute code sets independently, and updating pointers only when all commits are successful, thereby ensuring atomic updates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional methods are used to update time-sensitive datasets, then updates can be performed, but ensuring atomic and synchronized updates across all datasets requires intensive processing and is laborious
Solution Approach 1:
The patent divides the update process into separate code sets that can be executed independently, with each code set responsible for updating specific datasets. This segmentation allows parallel processing while maintaining atomicity through the pointer mechanism, resolving the contradiction between reliability and productivity.
Solution Approach 2:
The patent introduces a pointer as an intermediary mechanism that links code branches to their respective datasets. This pointer acts as a mediator that ensures atomic updates by coordinating the relationship between code execution and data storage, eliminating the need for intensive processing while guaranteeing synchronized updates.
2Reliability
If updates are performed without using code branches, then processing is simpler, but downstream processes cannot receive guaranteed up-to-date datasets
Solution Approach 1:
The patent creates a second code branch as a copy of the first code branch, which executes independently to produce updated datasets. This copying mechanism ensures that downstream processes receive fresh data while the pointer structure manages the complexity of coordinating between branches, achieving data freshness without excessive complexity.
Solution Approach 2:
The patent executes code sets in advance on the second code branch before updating the pointer to point to the new datasets. This preliminary execution ensures that datasets are ready and up-to-date before being provided to downstream processes, guaranteeing data freshness while the automated process manages structural complexity.
3Reliability
If all code sets must be executed and committed before updating pointers, then atomic updates are ensured, but processing time increases
Solution Approach 1:
The patent executes all code sets in advance on the second code branch before the pointer update occurs. This preliminary action allows the system to verify that all code sets have successfully committed their changes before updating the pointer, ensuring reliability while the parallel execution reduces overall processing time compared to sequential verification.
Solution Approach 2:
The patent implements a feedback mechanism that determines whether all code sets have successfully committed before updating the pointer. This feedback loop ensures atomic updates by verifying commit success, while the automated determination process minimizes time loss by efficiently checking completion status without requiring manual verification.
Data Source
AI summary
An apparatus, computer-implemented method and computer program are disclosed for synchronising dataset updates. For example, the method may comprise providing a first code branch associated with a plurality of code sets which, when executed, produce respective time-series datasets for provision to a downstream process linked to the first code branch. The method may also comprise generating a second code branch, based on the first code branch, the second code branch executing the plurality of code sets as part of an updating process and, if successful, storing respective time-series datasets to respective memory locations associated with the second code branch. Another part of the method may comprise determining if all code sets executed by the second code branch have successfully committed. Responsive to a positive determination, one or more pointers, e.g. all pointers, associated with the first code branch may be updated to point to the respective memory locations associated with the second code branch in order that the respective successfully-committed time-series datasets are provided to the downstream process.


