Patent ID: 8856591

Claim:
A method comprising: booting a computer processor system; after completion of the booting process, commencing a recovery of data from a backup server; after the commencement of the recovery of data from the backup server, receiving a disk access request and analyzing a bitmap to determine if the disk access request accesses a block of data that has not yet been recovered from the backup server; initiating an on demand recovery request to the backup server for the block of data that is subject to the disk access request and that has not yet been recovered from the backup server; restoring the block of data as a function of the demand recovery request; and after restoring the block of data, setting a bit in the bit map corresponding to the block of data; wherein the disk access request comprises a write request, and comprising: reading the bitmap to determine if the block of data to be written has been restored from the backup server; executing the write request when the block of data has been restored from the backup server; when the block of data has not been restored from the backup server, determining if the block of data to be written is an integral multiple of the block size of local storage; when the block of data to be written is an integral multiple of the block size of local storage, setting a bit in the bitmap that corresponds to the block of data in local storage, and executing the write request; and when the block of data to be written is not an integral multiple of the block size of local data, retrieving one or more blocks of data corresponding to the write request from the backup server, writing the blocks of data from the backup server to local storage, setting the bit in the bitmap that corresponds to the blocks of data written to local storage, and executing the write request.