PATCHING OF MULTI-LEVEL DATA CONTAINERS STORING PORTIONS OF PRE-INSTALLED SOFTWARE
First Claim
1. A method of applying patches to a multi-level data container archived as a file, wherein said multi-level data container contains a plurality of containers and a plurality of files at a plurality of levels in a hierarchical manner, said method comprising:
- receiving a set of patches to be applied to said multi-level data container, each of said set of patches being directed to a corresponding one of a set of targets, each target representing a file or container located in one of said plurality of containers;
determining a superset of containers comprised in said plurality of containers, said superset of containers including a root container representing said multi-level data container and a corresponding set of containers in the path from said root container to each of said set of targets;
unarchiving each of said superset of containers to generate corresponding one of a plurality of sets of unarchived files;
applying each of said set of patches to the corresponding one of said set of targets in said sets of unarchived files to generate updated versions of said plurality of sets of unarchived files; and
generating an updated version of said multi-level data container from said updated versions of said plurality of sets of unarchived files,whereby a number of containers in said superset of containers is less than a number of containers in said plurality of containers if any of said plurality of containers is not required to be unarchived to perform said applying.
1 Assignment
0 Petitions
Accused Products
Abstract
A computing system provided according to an aspect of the present invention includes a developer system which sends a set of patches along with metadata in a package. The metadata may include hierarchical paths, with each path indicating a corresponding target (file or archive) which is to be replaced to apply the corresponding patch. A patch tool receives the package and applies the patches using the metadata. According to another aspect of the present invention, a patch tool forms a tree structure based on the hierarchical paths in the metadata. In an embodiment, the tree structure is traversed each time to perform a corresponding patching operation (e.g., backup, and replace). According to yet another aspect of the present invention, only the required archives are unarchived while applying the patches. In an embodiment, the patch tool determines the required archives based on the information in the received metadata.
82 Citations
20 Claims
-
1. A method of applying patches to a multi-level data container archived as a file, wherein said multi-level data container contains a plurality of containers and a plurality of files at a plurality of levels in a hierarchical manner, said method comprising:
-
receiving a set of patches to be applied to said multi-level data container, each of said set of patches being directed to a corresponding one of a set of targets, each target representing a file or container located in one of said plurality of containers; determining a superset of containers comprised in said plurality of containers, said superset of containers including a root container representing said multi-level data container and a corresponding set of containers in the path from said root container to each of said set of targets; unarchiving each of said superset of containers to generate corresponding one of a plurality of sets of unarchived files; applying each of said set of patches to the corresponding one of said set of targets in said sets of unarchived files to generate updated versions of said plurality of sets of unarchived files; and generating an updated version of said multi-level data container from said updated versions of said plurality of sets of unarchived files, whereby a number of containers in said superset of containers is less than a number of containers in said plurality of containers if any of said plurality of containers is not required to be unarchived to perform said applying. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A machine readable medium storing one or more sequences of instructions for causing a system to apply patches to a multi-level data container archived as a file, wherein said multi-level data container contains a plurality of containers and a plurality of files at a plurality of levels in a hierarchical manner, wherein execution of said one or more sequences of instructions by one or more processors contained in said system causes said system to perform the actions of:
-
receiving a set of patches to be applied to said multi-level data container, each of said set of patches being directed to a corresponding one of a set of targets, each target representing a file or container located in one of said plurality of containers; forming a tree representing a hierarchy in which each of said targets is present in said multi-level data container, said tree containing a root container and a plurality of leaves, wherein each leaf represents one of said set of targets, each path between said root and a corresponding leaf containing a one or more containers and directories, said root container representing said multi-level data container; and traversing said tree to apply said set of patches to said multi-level data container and to form an updated version of said multi-level data container. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A computing system comprising:
-
a run-time system storing a pre-installed software in the form of a multi-level data container, said multi-level data container including a plurality of files and a plurality of containers at a plurality of levels such that each of said plurality of files and said plurality of containers is identified by a corresponding hierarchical path; a developer system to send a package containing a set of patches and a meta-data indicating a set of hierarchical paths, wherein each of said set of hierarchical paths identifies a corresponding one of a set of targets to which a corresponding patch is to be applied; and a patch tool to receive said package and to apply each of said patches to said multi-level data container by identifying a corresponding target using the corresponding hierarchical path in said meta-data. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification