Method and apparatus for updating a stored version of content stored in a storage device
First Claim
1. A method of updating a stored version of content stored in a storage device to an updated version using an update package, wherein the update package is adapted to update an original version of content to the updated version and wherein the updating of blocks is carried out in accordance with an update sequence of blocks, the method comprising:
- determining whether the stored version is the original version, and if so, updating said stored version to said updated version using the update package;
otherwise, determining, while using an in-place status indication indicative of the stored version classification as one of an original version, an updated version, an intermediate version and an alien version, and stored in one or more hosting blocks of the stored version, whether the stored version is an intermediate version derived from the original version and if so, searching for a resume location in said stored version, updating said stored version to said updated version starting from the resume location using the update package and recovering the one or more hosting blocks to include content being part of the updated version,wherein an original version comprises a set of original blocks;
wherein an updated version comprises a set of undated blocks, all of which were original blocks that required updating;
wherein an intermediate version comprises an ordered set of all original blocks having a beginning block, an intermediate block and an end block, wherein all the blocks between the beginning block and the intermediate block, including the intermediate block that have required updating are updated blocks and wherein all the blocks between the intermediate block and the ending block are original blocks;
wherein an alien version is neither an original version, an updated nor an intermediate version; and
wherein the resume location in case the determined version is an intermediate version is the intermediate block.
7 Assignments
0 Petitions
Accused Products
Abstract
A method and an apparatus for updating a stored version of content stored in a storage device to an updated version using an update package. The update package is adapted for updating an original version of content to the updated version. In addition updating is carried out in accordance with an update sequence. A determination is made whether the stored version is the original version or an intermediate version derived therefrom. If the stored version is an intermediate version, a resume location in the stored version is determined, and if the stored version is determined to be an original version or an intermediate version, the update package is used to update the stored version to the updated version starting from the resume location.
-
Citations
19 Claims
-
1. A method of updating a stored version of content stored in a storage device to an updated version using an update package, wherein the update package is adapted to update an original version of content to the updated version and wherein the updating of blocks is carried out in accordance with an update sequence of blocks, the method comprising:
-
determining whether the stored version is the original version, and if so, updating said stored version to said updated version using the update package; otherwise, determining, while using an in-place status indication indicative of the stored version classification as one of an original version, an updated version, an intermediate version and an alien version, and stored in one or more hosting blocks of the stored version, whether the stored version is an intermediate version derived from the original version and if so, searching for a resume location in said stored version, updating said stored version to said updated version starting from the resume location using the update package and recovering the one or more hosting blocks to include content being part of the updated version, wherein an original version comprises a set of original blocks; wherein an updated version comprises a set of undated blocks, all of which were original blocks that required updating; wherein an intermediate version comprises an ordered set of all original blocks having a beginning block, an intermediate block and an end block, wherein all the blocks between the beginning block and the intermediate block, including the intermediate block that have required updating are updated blocks and wherein all the blocks between the intermediate block and the ending block are original blocks; wherein an alien version is neither an original version, an updated nor an intermediate version; and wherein the resume location in case the determined version is an intermediate version is the intermediate block. - View Dependent Claims (2, 3, 4)
-
-
5. A method of classifying a stored version of content stored in a storage device, the classifying corresponding to an update package and an update sequence of blocks, the method comprising:
-
determining whether the content is classified as one of;
an original version, an updated version, an intermediate version, or an alien version that cannot be updated in accordance with the update package;wherein an original version comprises a set or ordered blocks, all of which are original blocks; wherein an updated version comprises a set of ordered blocks, all of which that required updating, are updated blocks; wherein an intermediate version comprises a set of ordered blocks having a beginning block, an intermediate block and an end block, wherein all the blocks between the beginning block and the intermediate block, including the intermediate block, that have required updating are updated blocks and wherein all the blocks between the intermediate block and the ending block are original blocks; wherein an alien version is neither an original version, an updated nor an intermediate version; and wherein the determining uses only blocks used for storing data being part of the stored version, blocks being part of a backup buffer and the update package.
-
-
6. A method for reliably updating a stored version of content stored in a storage device to an updated version using an update package, the method comprising:
-
checking an in-place status indication indicative of the stored version classification as one of an original version, an updated version, an intermediate version and an alien version, for indicating whether the update package corresponds to the stored version and if so, searching for a resume location in said stored version and updating said stored version to said updated version starting from the resume location, wherein an original version comprises a set of ordered blocks, all of which are original blocks; wherein an updated version comprises a set of ordered blocks, all of which that required updating, are updated blocks; wherein an intermediate version comprises a set of ordered blocks having a beginning block, an intermediate block and an end block, wherein all the blocks between the beginning block and the intermediate block, including the intermediate block, that have required updating are updated blocks and wherein all the blocks between the intermediate block and the ending block are original blocks; wherein an alien version is neither an original version, an updated nor an intermediate version; and wherein the resume location in case the determined version is an intermediate version is the intermediate block.
-
-
7. An embedded device for updating a stored version of content stored in a storage device to an updated version using an update package, wherein the update package is adapted for updating an original version of content to the updated version and wherein the updating is carried out in accordance with an update sequence, the device comprising:
-
an original version determining unit embedded on at least one of the computer and the machine-readable memory configured to determine whether the stored version is the original version; an intermediate version determining unit embedded on at least one of the computer and the machine-readable memory configured to determine, while using an in-place status indication indicative of the stored version classification as one of an original version, an updated version, an intermediate version and an alien version, and stored in one or more hosting blocks of the stored version, whether the stored version is an intermediate version derived from the original version; a searching unit embedded on at least one of the computer and the machine-readable memory configured to search for a resume location in said stored version; and an updating unit embedded on at least one of the computer and the machine-readable memory configured to update said stored version to said updated version starting from the resume location using the update package, the updating unit is configured to recover the one or more hosting blocks to include content being part of the updated version, wherein an original version comprises a set of ordered blocks, all of which are original blocks; wherein an updated version comprises a set of ordered blocks, all of which that required updating, are updated blocks; wherein an intermediate version comprises a set of ordered blocks having a beginning block, an intermediate block and an end block, wherein all the blocks between the beginning block and the intermediate block, including the intermediate block that have required updating are updated blocks and wherein all the blocks between the intermediate block and the ending block are original blocks; wherein an alien version is neither an original version, an updated nor an intermediate version; and wherein the resume location in case the determined version is an intermediate version is the intermediate block. - View Dependent Claims (8, 9, 10)
-
-
11. An apparatus for classifying a stored version of content stored in a storage device, the classifying corresponding to an update package, the apparatus comprising:
-
a processor configured to determine whether the content is classified as one of;
an original version, an update version, an intermediate version, or an alien version that cannot be updated in accordance with the update package;wherein an original version comprises a set of ordered blocks, all of which are original blocks; wherein an updated version comprises a set of ordered blocks, all of which that required updating are updated blocks; wherein an intermediate version comprises a set of ordered blocks having a beginning block, an intermediate block and an end block, wherein all the blocks between the beginning block and the intermediate block, including the intermediate block that have required updating are updated blocks and wherein all the blocks between the intermediate block and the ending block are original blocks; wherein an alien version is neither an original version, an updated nor an intermediate version; wherein the resume location in case the determined version is an intermediate version is the intermediate block; and wherein the processor is configured to use only blocks used for storing data being part of the stored version, blocks being part of a backup buffer the update package for determining classification.
-
-
12. A program storage device readable by machine, tangibly storing a program of instructions executable by the machine to perform method for updating a stored version of content stored in a storage device to an updated version using an update package, wherein the update package is adapted for updating an original version of content to the updated version and wherein the updating is carried out in accordance with an update sequence, the method comprising:
-
determining whether the stored version is the original version and if so updating said stored version to said updated version using the update package; otherwise, determining, while using an in-place status indication indicative of the stored version classification as one of an original version, an updated version, an intermediate version and an alien version, and stored in one or more hosting blocks of the stored version, whether the stored version is an intermediate version derived from the original version and if so, searching for a resume location in said stored version, updating said stored version to said updated version starting from the resume location, using the update package and recovering the one or more hosting blocks to include content being part of the updated version, wherein an original version comprises a set of ordered blocks, all of which are original blocks; wherein an updated version comprises a set of ordered blocks, all of which that required updating, are updated blocks; wherein an intermediate version comprises a set of ordered blocks having a beginning block, an intermediate block and an end block, wherein all the blocks between the beginning block and the intermediate block, including the intermediate block are that have required updating updated blocks and wherein all the blocks between the intermediate block and the ending block are original blocks; wherein an alien version is neither an original version, an updated nor an intermediate version; and wherein the resume location in case the determined version is an intermediate version is the intermediate block.
-
-
13. A computer program product comprising a machine-readable memory having computer readable program code stored therein for updating a stored version of content stored in a storage device to an updated version using an update package, wherein the update package is adapted for updating an original version of content to the updated version and wherein the updating is carried out in accordance with an update sequence, the computer program product comprising:
-
computer readable program code for causing the computer to determine whether the stored version is the original version and if so updating said stored version to said updated version using the update package; otherwise, determining, while using an in-place status indication indicative of the stored version classification as one of an original version, an updated version, an intermediate version and an alien version, and stored in one or more hosting blocks of the stored version, whether the stored version is an intermediate version derived from the original version and if so, searching for a resume location in said stored version, updating said stored version to said updated version starting from the resume location, using the update package and recovering the one or more hosting blocks to include content being part of the updated version, wherein an original version comprises a set of ordered blocks, all of which are original blocks; wherein an updated version comprises a set of ordered blocks, all of which that required updating, are updated blocks; wherein an intermediate version comprises a set of ordered blocks having a beginning block, an intermediate block and an end block, wherein all the blocks between the beginning block and the intermediate block, including the intermediate block that have required updating are updated blocks and wherein all the blocks between the intermediate block and the ending block are original blocks; wherein an alien version is neither an original version, an updated nor an intermediate version; and wherein the resume location in case the determined version is an intermediate version is the intermediate block.
-
-
14. A program storage device readable by machine, tangibly storing a program of instructions executable by the machine to perform method for classifying a stored version of content stored in a storage device, the classifying corresponding to an update package, the method comprising:
-
determining whether the content is classified as one of;
an original version, an updated version, an intermediate version, or an alien version that cannot be updated in accordance with the update package;wherein an original version comprises a set of ordered blocks, all of which are original blocks; wherein an updated version comprises a set of ordered blocks, all of which that required updating, are updated blocks; wherein an intermediate version comprises a set of ordered blocks having a beginning block, an intermediate block and an end block, wherein all the blocks between the beginning block and the intermediate block, including the intermediate block that have required updating are updated blocks and wherein all the blocks between the intermediate block and the ending block are original blocks; wherein an alien version is neither an original version, an updated nor an intermediate version; wherein the resume location in case the determined version is an intermediate version is the intermediate block; and wherein determining uses only blocks used for storing data being part of the stored version, blocks being part of a backup buffer and the update package.
-
-
15. A computer program product comprising a machine-readable memory having computer readable program code stored therein for classifying a stored version of content stored in a storage device, the classifying corresponding to an update package, the computer program product comprising:
-
computer readable program code for causing the computer to determine whether the content is classified as one of;
an original version, an update version, an intermediate version, or an alien version that cannot be updated in accordance with the update package;wherein an original version comprises a set of ordered blocks, all of which are original blocks; wherein an updated version comprises a set of ordered blocks, all of which that required updating, are updated blocks; wherein an intermediate version comprises a set of ordered blocks having a beginning block, an intermediate block and an end block, wherein all the blocks between the beginning block and the intermediate block, including the intermediate block that have required updating are updated blocks and wherein all the blocks between the intermediate block and the ending block are original blocks; wherein an alien version is neither an original version, an updated nor an intermediate version; wherein the resume location in case the determined version is an intermediate version is the intermediate block; and wherein determining uses only blocks used for storing data being part of the stored version, blocks being part of a backup buffer and the update package.
-
-
16. A program storage device readable by machine, tangibly storing a program of instructions executable by the machine to perform method for reliably updating a stored version of content stored in a storage device to an updated version using an update package, the method comprising:
-
checking an in-place status indication indicative of the stored version classification as one of an original version, an updated version, an intermediate version and an alien version, for indicating whether the update package corresponds to the stored version and if so, searching for a resume location in said stored version and updating said stored version to said updated version starting from the resume location, wherein an original version comprises a set of ordered blocks, all of which are original blocks; wherein an updated version comprises a set of ordered blocks, all of which that required updating, are updated blocks; wherein an intermediate version comprises a set of ordered blocks having a beginning block, an intermediate block and an end block, wherein all the blocks between the beginning block and the intermediate block, including the intermediate block that have required updating are updated blocks and wherein all the blocks between the intermediate block and the ending block are original blocks; wherein an alien version is neither an original version, an updated nor an intermediate version; and wherein the resume location in case the determined version is an intermediate version is the intermediate block.
-
-
17. A computer program product comprising a machine-readable memory having computer readable program code stored therein for reliably updating a stored version of content stored in a storage device to an updated version using an update package, the computer program product comprising:
-
computer readable program code for causing the computer to check an in-place status indication indicative of the stored version classification as one of an original version, an updated version, an intermediate version and an alien version, for indicating whether the update package corresponds to the stored version and if so, to search for a resume location in said stored version and to update said stored version to said updated version starting from the resume location, wherein an original version comprises a set of ordered blocks, all of which are original blocks; wherein an updated version comprises a set of ordered blocks, all of which that required updating, are updated blocks; wherein an intermediate version comprises a set of ordered blocks having a beginning block, an intermediate block and an end block, wherein all the blocks between the beginning block and the intermediate block, including the intermediate block, that have required updating are updated blocks and wherein all the blocks between the intermediate block and the ending block are original blocks; wherein an alien version is neither an original version, an updated nor an intermediate version; and wherein the resume location in case the determined version is an intermediate version is the intermediate block.
-
-
18. An embedded device for reliably updating a stored version of content stored in a storage device to an updated version using an update package, the device comprising:
-
a status checking unit embedded on at least one of the computer and the machine-readable memory configured to check an in-place status indication indicative of the stored version classification as one of an original version, an updated version, an intermediate version and an alien version, for determining whether the update package corresponds to the stored version, and if so provide a correspondence indication; wherein an original version comprises a set of ordered blocks, all of which are original blocks; wherein an updated version comprises a set of ordered blocks, all of which that required updating, are updated blocks; wherein an intermediate version comprises a set of ordered blocks having a beginning block, an intermediate block and an end block, wherein all the blocks between the beginning block and the intermediate block, including the intermediate block that have required updating are updated blocks and wherein all the blocks between the intermediate block and the ending block are original blocks; and wherein an alien version is neither an original version, an updated nor an intermediate version; a searching unit embedded on at least one of the computer and the machine-readable memory coupled to said status checking unit, configured to search for a resume location in said stored version upon receiving the correspondence indication; and an updating unit embedded on at least one of the computer and the machine-readable memory coupled to said status checking unit and said searching unit, the updating unit is configured to update said stored version to said updated version starting from the resume location upon receiving the correspondence indication; and wherein the resume location in case the determined version is an intermediate version is the intermediate block.
-
-
19. A method of updating a stored version of content stored on a storage device to an updated version using an update package, wherein the update package is adapted to update an original version of content to the updated version in accordance with an update sequence of blocks, the method comprising:
-
reading the stored version block by block in accordance with the update sequence;
determining if each read block is either an original or an updated block;if a particular block is neither original nor updated, determining the particular block as a corrupted block if updated content of the particular block is obtainable using a backup buffer; determining the stored version as an original version, if the stored version comprises a set of all original blocks; determining the stored version as an updated version, if the stored version comprises a set of all original blocks, all of which that have required updating are updated blocks; determining the stored version as an intermediate version, if the stored version comprises an ordered set of all original blocks having a beginning block, an intermediate block and an end block, wherein all the blocks between the beginning block and the intermediate block, including the intermediate block, that have required updating, are updated blocks except the intermediate block and wherein all the blocks between the intermediate block and the ending block are original blocks; determining the stored version as an alien version if the stored version is not at least one of;
an original version, an updated version, an intermediate version, contain a corrupted block;updating said stored version to said updated version, starting from a resume location wherein the resume location is the intermediate block, if the determined stored version is an intermediate version; and providing an indication if the determined stored version is an alien version.
-
Specification