Backup model

This article describes the algorithm of the backup model.

CodeTwo Backup is Incremental Backup software, designed for both Office 365 platform and the on-premises Exchange servers. That means only the initial backup cycle backs up the whole mailbox content. Subsequent cycles are then incremental, i.e. the software queries the Exchange Server for any changes in the desired mailbox since the last cycle. If some are detected, only new and modified items are backed up again. The software does not back up unchanged items again. This solution speeds up the whole process and saves the space.

Additionally, CodeTwo Backup features items versioning. If during following cycles the software finds any changes, modified items are backed up again and stored along previous versions of the same items instead of overwriting them. Thanks to this, the user of the software is able to restore not only the most recent local copy of the item but any previous version of it, assuming of course, more than one job cycle were ran since the creation of this particular item.

Backup model - Incremental Backup
Fig. 1. Incremental Backup and items versioning. Unchanged items are not unnecessarily duplicated during cycles #2 and #3, only new items are backed up in cycle #3. During cycle #4 changed item is versioned to allow restoring of old copy in the future.

Backed up data is kept encrypted in user-defined local drive location known as Storage. The software user can configure multiple Storages which can be either shared between multiple jobs or used exclusively by a one particular job.

Backup jobs are what defines the scope of backed up data. Similarly to storages, users can configure many of those, for example to cover different sets of mailboxes, item types, age of backed up items, and so on.

Backup model - converging backup jobs
Fig. 2. Example of converging backup jobs.

Jobs are ran in cycles which consist of two phases: comparison and the actual backup. As the name suggests, during the first phase, the software communicates with the source server’s Exchange Web Services asking for the mailboxes’ folders and items hashes. Those are compared to previously saved hashes to find out whether there were any changes in the mailbox or not, and if so, the actual backup process starts.

Backup jobs can be divided into two types based on their continuity profile. There is a one-time backup that goes through all the desired mailboxes only once and stops. And there is a continuous backup, which on the other hand, runs constantly. The software goes through all the desired mailboxes and once it finishes, it starts all over again. To avoid too often backups in this mode, the software user can define so called Idle time in the job configuration wizard. This is a break the software will take before starting another cycle of a continuous backup.

Backup model - one-time backup
Fig. 3. One-time backup explained.
Backup model - continuous backup
Fig. 4. Continuous backup explained – note the repeated cycles and idle times.

Moreover, there is a built-in scheduler which allows software users to customize job activity periods even more. The scheduler can be configured separately for each job, for example to run one-time backup jobs of all mailboxes only on weekends and continuous backup jobs of most important mailboxes during the working hours. Please note that the scheduler will auto-start the job for you at the beginning of the defined activity period making the backup process seamless and fully automated.

Backup model - one-time backup scheduled
Fig. 5. One-time backup ran by scheduler in defined activity period.
Backup model - continuous backup scheduled
Fig. 6. Continuous backup execution by the scheduler during the activity period.

See also

Creating backups - this article describes how to create a new backup job.

Was this information useful?