System and method for software product versioning packaging, distribution, and patching
First Claim
1. A system for software product packaging, distribution, and patching, comprising:
- a computer including a microprocessor and a storage medium;
a product registry for use in storing and distributing information about a plurality of different software products or versions thereof, wherein the product registry includes an install metadata, that definesa product model, including a plurality of software components for use by the software products or versions thereof, including, for each of the plurality of different software products or versions thereof, an indication of those software components that form said each of the plurality of different software products or versions thereof,a product alias element used to reference the plurality of different software products or versions thereof to provide a coupling between an external market-oriented product name and version and a plurality of internal product names associated with the plurality of different software products or versions thereof,a feature model, including feature reference data, including, for each of the software components, an indication of one or more features of that software component, wherein each feature has a version associated therewith,a runtime metadata, that defines a plurality of modules that can be provisioned at runtime including, for each version of a feature, an indication of those modules that provide that version of the feature,wherein the information in the product registry can be updated to include information about a new software product or version thereof, and used, by joining features defined by the feature model to components defined by the product model via the feature reference data, to provision the new software product or version thereof for a customer according to the information in the product registry; and
a patch management system which generates a random unique patch identifier (ID) for each of a plurality of patches, whereby the patch management system is configured to support either a one-off or a rolling patch model to enable patching of the plurality of modules that can be provisioned at runtime;
wherein, where one or more of the plurality of modules have been patched using the patch management system to generate one or more patched modules, the runtime metadata is modified to reference the one or more patched modules.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for software product versioning, packaging, distribution, and patching. The system provides for convergence of registry models, adding critical information to a home registry and simplifying processing algorithms in the install framework. In accordance with an embodiment, a product alias element is added to a Product Provisioning model, referencing one or more products. This provides a loose coupling between the external market-oriented product name and version, and the internal product names and versions. The internal product names and versions are captured in the registry and used for all code-based decisions during installation and other provisioning related activities. In accordance with an embodiment, a Feature Model is also added to the Product Provisioning model, and modules are grouped under features.
-
Citations
19 Claims
-
1. A system for software product packaging, distribution, and patching, comprising:
-
a computer including a microprocessor and a storage medium; a product registry for use in storing and distributing information about a plurality of different software products or versions thereof, wherein the product registry includes an install metadata, that defines a product model, including a plurality of software components for use by the software products or versions thereof, including, for each of the plurality of different software products or versions thereof, an indication of those software components that form said each of the plurality of different software products or versions thereof, a product alias element used to reference the plurality of different software products or versions thereof to provide a coupling between an external market-oriented product name and version and a plurality of internal product names associated with the plurality of different software products or versions thereof, a feature model, including feature reference data, including, for each of the software components, an indication of one or more features of that software component, wherein each feature has a version associated therewith, a runtime metadata, that defines a plurality of modules that can be provisioned at runtime including, for each version of a feature, an indication of those modules that provide that version of the feature, wherein the information in the product registry can be updated to include information about a new software product or version thereof, and used, by joining features defined by the feature model to components defined by the product model via the feature reference data, to provision the new software product or version thereof for a customer according to the information in the product registry; and a patch management system which generates a random unique patch identifier (ID) for each of a plurality of patches, whereby the patch management system is configured to support either a one-off or a rolling patch model to enable patching of the plurality of modules that can be provisioned at runtime; wherein, where one or more of the plurality of modules have been patched using the patch management system to generate one or more patched modules, the runtime metadata is modified to reference the one or more patched modules. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for software product packaging, distribution, and patching, comprising the steps of:
-
providing a product registry for use in storing and distributing information about a plurality of different software products or versions thereof, wherein the product registry includes an install metadata, that defines a product model, including a plurality of software components for use by the software products or versions thereof, including, for each of the plurality of different software products or versions thereof, an indication of those software components that form said each of the plurality of different software products or versions thereof, a product alias element used to reference the plurality of different software products or versions thereof to provide a coupling between an external market-oriented product name and version and a plurality of internal product names associated with the plurality of different software products or versions thereof, a feature model, including feature reference data, including, for each of the software components, an indication of one or more features of that software component, wherein each feature has a version associated therewith, and a runtime metadata, that defines a plurality of modules that can be provisioned at runtime including, for each version of a feature, an indication of those modules that provide that version of the feature; updating the information in the product registry to include information about a new software product or version; providing a patch management system which generates a random unique patch identifier (ID) for each of a plurality of patches, whereby the patch management system is configured to support either a one-off or a rolling patch model to enable patching of the plurality of modules that can be provisioned at runtime; modifying said runtime metadata to reference one or more patched modules, where one or more of the plurality of modules have been patched using the patch management system to generate said one or more patched modules; and provisioning the new software product or version thereof for a customer according to the information in the product registry by joining features defined by the feature model to components defined by the product model via the feature reference data. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A non-transitory computer readable storage medium including instructions stored thereon for supporting software product packaging, distribution, and patching, which instructions, when read and executed by a computer, cause the computer to perform steps comprising:
-
providing a product registry for use in storing and distributing information about a plurality of different software products or versions thereof, wherein the product registry includes an install metadata, that defines a product model, including a plurality of software components for use by the software products or versions thereof, including, for each of the plurality of different software products or versions thereof, an indication of those software components that form said each of the plurality of different software products or versions thereof, a product alias element used to reference the plurality of different software products or versions thereof to provide a coupling between an external market-oriented product name and version and a plurality of internal product names associated with the plurality of different software products or versions thereof, a feature model, including feature reference data, including, for each of the software components, an indication of one or more features of that software component, wherein each feature has a version associated therewith, and a runtime metadata, that defines a plurality of modules that can be provisioned at runtime including, for each version of a feature, an indication of those modules that provide that version of the feature; updating the information in the product registry to include information about a new software product or version thereof; providing a patch management system which generates a random unique patch identifier (ID) for each of a plurality of patches, whereby the patch management system is configured to support either a one-off or a rolling patch model to enable patching of the plurality of modules that can be provisioned at runtime; modifying said runtime metadata to reference one or more patched modules, where one or more of the plurality of modules have been patched using the patch management system to generate said one or more patched modules; and provisioning the new software product or version for a customer according to the information in the product registry by joining features defined by the feature model to components defined by the product model via the feature reference data. - View Dependent Claims (19)
-
Specification