Abstract:
Capturing post-snapshot quiescence writes in a branching image backup chain. In one example embodiment, a method for capturing post-snapshot quiescence writes in a branching image backup chain may include taking a first snapshot of a source storage at a first point in time, identifying a first set of block positions of blocks that are allocated in the source storage at the first point in time, identifying a second set of block positions of blocks that are written to the first snapshot during post-snapshot quiescence of the first snapshot, resulting in a first quiesced snapshot, copying the blocks in the first set of block positions from the first snapshot to a full image backup, copying the blocks in the second set of block positions from the first quiesced snapshot to a first incremental image backup that depends on the full image backup, tracking a third set of block positions of the blocks that are modified in the source storage between the first point in time and a second point in time, taking a second snapshot of the source storage at the second point in time, identifying a fourth set of block positions of the blocks that are allocated in the source storage at the second point in time, identifying a fifth set of block positions of blocks that are written to the second snapshot during post-snapshot quiescence of the second snapshot, resulting in a second quiesced snapshot, calculating a sixth set of block positions by performing a Boolean AND operation on the third set of block positions and the fourth set of block positions, copying the blocks in the sixth set of block positions from the second snapshot to a second incremental image backup that depends on the full image backup, and copying the blocks in the fifth set of block positions from the second quiesced snapshot to a third incremental image backup that depends on the second incremental image backup.
Abstract:
Exposing proprietary data to a hypervisor as native hypervisor data. In one example embodiment, one or more non-transitory computer-readable media store one or more programs that are configured, when executed, to cause one or more processors to perform a method of exposing proprietary data to a hypervisor as native hypervisor data. The method may include identifying a proprietary disk file having a proprietary file format, identifying a plugin file corresponding to the proprietary disk file with the plugin file having a plugin file format which is different from a native hypervisor disk file format, and intercepting read requests directed to the plugin file. The method may further include, in response to each read request, gathering data gathered from the proprietary disk file, restructuring the data to cause the data to appear to be gathered from a native hypervisor disk file, and responding with the restructured data.
Abstract:
Utilizing an incremental backup in a decremental backup system. In one example embodiment, a method for utilizing an incremental backup in a decremental backup system includes creating a base backup that includes all original allocated blocks in a source storage at a first point in time. Next, an incremental backup is created that includes allocated blocks in the source storage that were newly allocated or were changed between the first point in time and a second point in time. The changed allocated blocks in the incremental backup are identified. During a third time period, a decremental backup is created and the incremental backup is ingested into the base backup by copying, into the decremental backup, original allocated blocks from the base backup that correspond to the changed allocated blocks in the incremental backup. Lastly, the newly-allocated blocks and the changed allocated blocks from the incremental backup are added to the base backup.
Abstract:
Software revalidation. In one example embodiment, a method for software revalidation may include various steps. For example, the method may include receiving, at a machine on which a software application has been installed and activated, activation rules, from an activation server, that have been updated since the release of the software application to account for new or updated software or hardware with which the software application is configured to be employed. The method may also include periodically applying, at the machine, the updated activation rules to newly-collected machine configuration information from the machine to determine whether a product key remains valid for the newly-collected machine configuration information and, if the product key remains valid for the newly-collected machine configuration information, revalidating, at the machine, the software application to authorize continued access to the software application.
Abstract:
Pruning unwanted file content from an image backup. In one example embodiment, a method of pruning unwanted file content from an image backup includes identifying files to be excluded from a base image backup of a source storage, identifying a set of all allocated blocks in the source storage at a first point in time by accessing a file system block allocation map (FSBAM), pruning the set of all allocated blocks to exclude the allocated blocks that correspond to content of the files to be excluded, backing up the pruned set of allocated blocks, and not backing up the excluded allocated blocks, in the base image backup, and restoring the base image backup to a restore storage, the restoring including pruning FSM of a file system of the restore storage to modify metadata associated with the files to be excluded prior to exposing the file system to any user.
Abstract:
Restoration of a backup of a first volume to a second volume on physical media. In one example embodiment, a method for restoration of a backup of a first volume to a second volume on physical media includes accessing a volume boot record of the second volume while the volume boot record is in a valid state on the physical media, modifying the volume boot record to place the volume boot record into an invalid state on the physical media, writing data from the backup of the first volume to the inaccessible portion of the data segment of the second volume while the volume boot record is in the invalid state, and restoring the volume boot record to the valid state. In this example embodiment, the invalid state prevents a standard operating system from accessing at least a portion of the data segment of the second volume.
Abstract:
Hash value comparison during crash-tolerant incremental change tracking between backups of a source storage. In one example embodiment, a method includes assigning each block in a source storage into one of multiple zones, creating a nonvolatile zone map, tracking each of the zones that is changed between a first point in time and a second point in time, identifying, as potentially changed zone blocks, the blocks in the source storage assigned to any zone marked as changed in the nonvolatile zone map, identifying, as potentially outdated backup blocks, the most recently backed-up blocks in one or more prior backups that correspond to the potentially changed zone blocks, calculating source hash values of the potentially changed zone blocks, calculating backup hash values of the potentially outdated backup blocks, and comparing the source hash values to the backup hash values to determine which blocks in the source storage actually changed.
Abstract:
Pruning free blocks out of a decremental backup chain. In one example embodiment, a method for pruning free blocks out of a decremental backup in a decremental backup chain includes identifying a decremental backup chain that includes one or more decremental backups of a source storage and a base backup of the source storage, identifying, for pruning, a target decremental backup in the decremental backup chain, retrieving one or more file system block allocation maps (FSBAMs) for points in time represented by the target decremental backup and represented by any of the other decremental backups in the decremental backup chain that depend on the target decremental backup, creating a master block allocation map (MBAM) by combining the one or more FSBAMs, and pruning free blocks, corresponding to block positions that are indicated as being free in the MBAM, out of the target decremental backup.
Abstract:
Change tracking for multiphase deduplication. In one example embodiment, a method of tracking changes to a source storage for multiphase deduplication includes a change tracking phase. The change tracking phase includes performing a hash function on each allocated block in a source storage that is changed between a prior point in time and a subsequent point in time, and tracking, in a change log, the location in the source storage of each changed block and the corresponding hash value. The hash function calculates a hash value corresponding to the changed block.
Abstract:
Exposing a proprietary image backup to a hypervisor as a disk file that is bootable by the hypervisor. In one example embodiment, a method of exposing a proprietary image backup to a hypervisor as a disk file that is bootable by the hypervisor may include identifying the proprietary image backup having a proprietary format and storing an operating system, identifying a plugin file corresponding to the proprietary image backup, reconfiguring the operating system to cause the operating system to be bootable when using hardware emulated by the hypervisor, gathering operating system data from the proprietary image backup, reformatting the operating system data into a native format of the hypervisor, and booting the operating system in a virtual machine of the hypervisor.