COMPATIBLE VERSION MODULE LOADING
First Claim
1. A method of loading a software program into memory, the software program including multiple modules, at least one of which is available in a plurality of versions identified by a set of version numbers, the method comprising:
- identifying a module to be loaded as part of the software program, wherein the module is identified, at least in part, by an acceptable version number;
selecting the module based upon an acceptable version number from among the set of versions numbers of the module; and
loading the selected module into memory.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for loading software identifies versions of software modules to be loaded. The version identification allows a loader to request, access and load any level or version of a program that the application interacts with. Thus, the loader selects only specific versions of software that are known to be compatible with other software currently loaded or being loaded. The software includes specific compatibility information that is used to determine whether it should be selected or passed over for another version of the same software. In this manner, a “version aware” loader ensures that loaded software modules are compatible with one another and will therefore execute properly. The version aware loader may be implemented in an operating system or other loading software running on a personal computer or network router.
-
Citations
39 Claims
-
1. A method of loading a software program into memory, the software program including multiple modules, at least one of which is available in a plurality of versions identified by a set of version numbers, the method comprising:
-
identifying a module to be loaded as part of the software program, wherein the module is identified, at least in part, by an acceptable version number;
selecting the module based upon an acceptable version number from among the set of versions numbers of the module; and
loading the selected module into memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A versioned software module capable of being loaded with various combinations of other modules, the software module comprising:
-
a name in common with at least one module not included in the software program, the module and the at least one module not included in the software program differing by a first version identification included in the module and a second version identification included in the at least one module not included in the software program; and
a compatibility vector including a set of entries, wherein each entry in the set of entries includes (i) the name of a component containing a called module that is called by the versioned software module during execution, and (ii) a compatible version number or group of version numbers for the component containing the called module. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. A computer system capable of loading and executing software, the computer system comprising:
-
a memory which temporarily stores software modules for execution;
a processor which executes loaded software modules; and
a loader which loads said software modules into the memory, wherein the loader selects at least some software modules for loading based on acceptable version numbers when such modules are available in a plurality of versions identified by a set of version numbers. - View Dependent Claims (24, 25, 26, 27, 28, 29)
-
-
30. A computer program product comprising a computer readable medium on which is stored a program instructions for loading a software program into memory, the software program including multiple modules, at least one of which is available in a plurality of versions identified by a set of version numbers, the program instructions comprising:
-
identifying a module to be loaded as part of the software program, wherein the module is identified, at least in part, by an acceptable version number;
selecting the module based upon an acceptable version number from among the set of versions numbers of the module; and
loading the selected module into memory. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37)
-
-
38. A method managing a software environment, the software environment including a plurality of software applications, the plurality of software applications including a module having a common name, the method comprising:
-
loading a first numbered version of the module having a common name for a first application;
loading a second numbered version of the module having a common name for a second application;
running the first numbered version of the module having a common name; and
running the second numbered version of the module having a common name.
-
-
39. A machine readable medium on which is provided a software module available for loading to memory and subsequently executing;
- the software module comprising;
a definition section specifying a module name and a version number;
a code section containing program instructions; and
a compatibility vector identifying one or more called modules to be called by the software module during execution, and for each such called module identifying one or more versions of the called module that are compatible with the software module.
- the software module comprising;
Specification