Hierarchical registry structure for managing multiple versions of software components
First Claim
1. A software registry data structure stored in a machine readable medium for managing multiple versions of a software service used by an application running on a computer, the registry data structure comprising:
- one or more base entries each indicating a version of the software service, each base entry including one or more rules, of which at least one rule of a base entry must be satisfied to use the corresponding version of the software service indicated by the base entry, so that the application utilizes the version of the software service corresponding to the base entry with the satisfied rule.
3 Assignments
0 Petitions
Accused Products
Abstract
The invention describes a hierarchical registry for allowing multiple applications to use different versions of a software component on the same system. Each version of a software component has a base entry in the registry. Each base entry has rules, one of which must be met to use version of the software component corresponding to that base entry. The registry may also have a default base entry, which is used if no other base entry has one of its rules met. Each rule may have several criteria, all of which must be met to satisfy that rule. Each base entry may be marked as deleted rendering the corresponding version of the software component inaccessible except by applications currently accessing the version marked as deleted.
184 Citations
28 Claims
-
1. A software registry data structure stored in a machine readable medium for managing multiple versions of a software service used by an application running on a computer, the registry data structure comprising:
-
one or more base entries each indicating a version of the software service, each base entry including one or more rules, of which at least one rule of a base entry must be satisfied to use the corresponding version of the software service indicated by the base entry, so that the application utilizes the version of the software service corresponding to the base entry with the satisfied rule. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
an indication of the software service provided by the base entry;
a version indicator corresponding to a version of the software service; and
a memory location corresponding to a version of the software service.
-
-
9. A software registry data structure according to claim 8, whereby each base entry further comprises:
a dependency, indicating a dependent software component, used by the corresponding version of the software service.
-
10. A software registry data structure according to claim 8, whereby each base entry further comprises:
a prerequisite, indicating an earlier version of the software service, needed to construct the corresponding version of the software service.
-
11. A software registry data structure according to claim 8, whereby each base entry further comprises:
a list of extensions, each extension indicating an additional software component providing an additional capability of the software service.
-
12. A software registry data structure according to claim 1, wherein all base entries are connected so as to form a linked list.
-
13. A software registry data structure according to claim 1, wherein all rules for a base entry are connected in a linked list.
-
14. A software system for managing multiple versions of a software service, the system comprising:
-
a digital computer with memory;
a software service available in a multiple versions, each version existing in the memory;
a software registry existing in the memory, the registry comprising one or more base entries, each base entry having at least one rule and each base entry corresponding to a version of the software service; and
a software application existing in the memory and constructed and arranged to match at least one of the rules of a base entry and therefore using the version of the software service corresponding to the matching base entry. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A method for selecting a version of a software service for use by a software application using a registry, the registry comprising one or more base entries each corresponding to a version of the software service, each base entry comprising one or more rules, the method comprising the steps:
-
for each base entry testing each rule of the base entry;
selecting the version of the software service corresponding to the base entry if any rule of the base entry is satisfied. - View Dependent Claims (22)
selecting the default version of the software service, if no rule of any base entry is satisfied.
-
-
23. A method according to step 21, each rule of each base entry comprises one or more criteria, whereby the step of testing each rule of the base entry comprises the steps of:
-
testing all criteria of the rule;
if all criteria are satisfied, satisfying the rule, otherwise not satisfying the rule.
-
-
24. A method for deleting a version of a software service using a registry, the software service available in a first version and a second version, the registry comprising a first base entry and a second base entry, each base entry comprising a state, the method comprising the steps of:
-
marking the state of the first base entry corresponding to the first version of the software service as deleted;
redirecting an original access to the first version of the software service to the second version of the software service because the first base entry has a state of deleted; and
allowing an on-going access to the first version of the software service to allow a user of the software service to finish its use of the first version of the software service even though the first base entry has a state of deleted.
-
-
25. A software registry data structure stored in a machine readable medium for use in a replaceable software system by an application running on a computer, the data structure comprising:
-
a series of entries, each entry associated with a respective software library, and at least one of the entries comprising;
a first element for storing an identification of the corresponding software library;
a second element for storing an indication of a current version of the corresponding software library;
a third element for storing a location of the corresponding software library; and
a fourth element for storing one or more rules controlling the use of the corresponding software library, so that the application uses the current version of the corresponding software library when the rules controlling the use of the corresponding software library are satisfied. - View Dependent Claims (26, 27, 28)
-
Specification