Versioning, as mentioned in the previous part of this article, Versioning for Cloud Computing- Part l, is the process of assigning numbers with or without date stamps to identify versions of a document or piece of data. Versioning at the backup level may create identities for backup versions that are stored on the server. At the file level, each file may be assigned a version number to distinguish it from other versions of the file after modifications have been done. A few storage providers may treat a set of backups, documents or files or folders as objects and perform object versioning.
File versioning is the most commonly used versioning system in cloud computing. The first version of the file (available in the seeded backup or a subsequent full backup) is generally given the first number (in accordance with the versioning system of numbering adopted) and every new version of the file is compared with the original version or the full backup version and numbered sequentially. The comparison process, additionally, enables the storage provider initiate incremental backup processes, so that only the modified sections of the file are backed up and unchanged portions of the file link back to the original file. This saves on bandwidth and time to backup. If time stamps are available and the management has pre-set archival policies on the system via the agent interface, the files will be automatically archived.
Some vendors like Google use object versioning systems. Objects are stored in buckets. All modifications to the object are part of the bucket, including archived versions of the object. Objects can be restored to an earlier state, overwritten, deleted or modified as required. The object properties allow users to identify the different versions of the object. The properties are numeric.
Versioning can be switched off or on for both file and object versioning systems. A switch off of versioning does not remove identifying characteristics of files or objects already stored under the versioning system. Original versions of the file can be restored without disturbing the current version of the file in file versioning. In object versioning, restoration of an earlier version of the file will result in overwriting of the current version.
Versioning for the cloud is becoming more and more sophisticated as cloud vendors strive to differentiate themselves from the competition. This is, especially, true of cloud service vendors, who want to offer their customers state-of-the-art collaboration tools and provide support for mobile / remote computing.