In a nutshell, CBT keeps track of changes by setting a "ChangeID" for the data block that is modified. This Change ID is incremented each time a snapshot is created. The backup application will then use the ChangeID from its own last backup to query for changes since this last backup.No matter how many snapshots were taken since this last backup, a map with all data blocks with a higher ChangeID than the one remembered from the last backup will be returned and used for the backup.
André