Relocatable user backup

Relocatable user backup (RUB) is the ability to restore or relocate backups to another system or site. It is one of the primary ways to mitigate the threat of service-provider lock-in in a software as a service model. It also provides a backup in the event that the service-provider suffers a catastrophic failure.

The concept requires 3 fundamental components :


 * The user must be able to initiate and receive backups from the service provider and store them locally
 * The user must be able to restore the backup to an environment other than that provided by the service provider, preferably locally
 * The backup must encapsulate all content, metadata, system and application state which allow the easy restoration of the backup into a standard framework either provided and maintained by the service provider or the wider software community.

The third component also contains the implication that either the application itself is provided with the backup, or there is a consistent and ongoing application upgrade path to prevent the situation where the restore of a RUB is prevented due to an obsolete version of application software.