TNCS-0026 – ChronoSync Difference Engine
Created: March 31, 2015
Table of Contents
ToggleINTRODUCTION
The ChronoSync Difference Engine (CDE) is core component of the ChronoSync application. The CDE is comprised of 1) a database containing a snapshot of a pair of file systems and 2) a set of algorithms used to analyze and maintain that snapshot.
When ChronoSync performs its initial scan of a pair of targets, it collects information regarding all the files and folders contained in those targets. It then updates the CDE database with all this collected information. This database gets stored within the ChronoSync synchronizer document. Subsequent synchronizations and backups correlate the current state of the target file systems with the recorded state in the CDE database. The CDE algorithms then determine exactly what items need to be copied based on the user configured settings in the synchronizer document.
The ChronoSync Difference Engine makes ChronoSync unique among file synchronization and backup programs. Most other programs simply use the underlaying file system to compare the state of files. The problem with this is that, without the point of reference that ChronoSync Difference Engine provides, certain types of file system changes are difficult or impossible to detect. Examples include:
CONFLICTS
In a bidirectional sync, conflicts occur when a file has been changed on both sides of the sync. Most other programs will not be able to detect this. They will simply choose the most recently modified file and overwrite the older one. This may indeed be the desired resolution but at least ChronoSync will have the intelligence to alert you of a potential problem.
DATE ROLL BACKS
Suppose a file’s modification date goes back in time — as would happen if it inadvertently was replaced by an older version. Most other programs will not detect this and may overwrite its counterpart or may do nothing at all. ChronoSync will alert you to this situation letting you decide what to do about it.
FILENAME CASE
Suppose a previously synchronized filename was changed from “NOTES.txt” to “Notes.txt”. Which is the right one to use? Most other programs will not be able to tell but the CDE allows ChronoSync to recognize the change and apply it in the direction that was intended.
PERMISSIONS
Many file servers and NAS devices (which are just file-servers-in-a-box) will not be able to fully preserve file ownership and permissions. That’s because the file server imposes its own permissions and ownership rules which are incompatible with those of your local computer. Thus after copying a file to a server, the ownership/permissions may appear different from the original. Most other programs will continue to see this difference and will want to repeatedly copy the file or at least apply attributes even though it is pointless. ChronoSync, on the other hand, reads back attributes of any copied file and stores them in the CDE’s database. ChronoSync can identify shortcomings of the remote filesystem and won’t apply changes unnecessarily.
OTHER ATTRIBUTES
Similar to permissions, above, there may be many other attributes that simply cannot be stored on the destination filesystem. Many older Windows systems, for example, wont store creation dates. WebDAV is infamous for not allowing modification dates to be preserved. How can you synchronize with a file system that doesn’t preserve modification dates? Well, ChronoSync and the ChronoSync Difference Engine can! In fact, back when Apple still offered the iDisk service, ChronoSync was the only sync tool that could reliably synchronize files with it!
The ChronoSync Difference Engine is a proprietary technology that has been completely developed and maintained in-house by Econ Technologies since 2002. It made its debut in ChronoSync v2.0. Many other synchronization and backup programs are developed around open-source software, much of which is built right into the operating system. This is perfectly fine — for them. Having our own technology, however, has allowed us to fine tune and craft the CDE to provide a highly adaptive and optimal synchronization experience. Enhancements such as offloading CDE tasks across a ChronoAgent connection to improve performance and the SmartScan feature introduced in v4.6 would not be possible without the CDE being our own, home-grown technology.
REVISION HISTORY
Mar-31-2015 – Created from Internal Support Notes.