Patent ID: 8578359

Claim:
A method for in-place updating an old version of a file stored on a storage device to form a new version, the old version including blocks, the method comprising: determining a form of said old version, said determined form indicating an end of the old version at which free space is located; comparing a form of a received update package, which indicates a direction in which said received update package updates a file, with said form of said old version to determine if said update package corresponds to said form of said old version; determining whether the amount of free space in the old version is large enough to allow in-place update of the old version to the new version; and when the amount of free space in the old version is determined to be large enough to allow in-place update, updating blocks in said old version in said direction of said update package, if said form of said received update package corresponds to said determined form of said old version, such that a new version having an alternative form is generated, wherein free space in the new version is located at an end opposite to that of the old version.