Method and apparatus for reliable in-place update
First Claim
1. 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.
7 Assignments
0 Petitions
Accused Products
Abstract
Method and apparatus for in-place updating an old version of a file stored on a storage device to form a new version, wherein the old version includes blocks. The form of the old version is determined for indicating at which end of the old version free space is located, as well as determining whether an update package is a corresponding update package for the form. If the update package is a corresponding update package, blocks in the old version are updated according to the update package, giving rise to a new version having an alternative form, where free space in the new version is at an opposite end to the old version.
-
Citations
9 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus 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 apparatus comprising:
-
a storage device; and a processor configured to perform the following; determine a form of said old version, said determined form indicating an end of the old version at which free space is located;
compare 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 form of said update package corresponds to said determined 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 update 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.
-
-
8. A program storage memory readable by machine, tangibly embodying a program of instructions executable by the machine to perform 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 form of said received 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 updating blocks in said old version in said direction of said received update package, if said form of said received update package corresponds to said 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.
-
-
9. A computer program-product comprising a non-transitory computer useable medium having computer readable program code embodied therein 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 computer program product comprising:
-
computer readable program code for causing the computer to determine (i) a form of said old version, said determined form indicating at which end of the old version free space is located, and (ii) if a form of a received update package, indicating a direction in which said received update package update a file, corresponds to said form of said old version; computer readable program code for causing the computer determine 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 computer readable program code for causing the computer, upon determining the form of said old version and that the received update package corresponds to said form of said old version, to update blocks in said old version the update direction of said corresponding update package, such that a new version having an alternative is generated, wherein free space in the new version located at an end opposite to that of the old version.
-
Specification