Modular Co-Versioning in a Dynamically Linked Runtime Environment
First Claim
1. A non-transitory, computer-readable storage medium storing program instructions that when executed on a computing device cause the computing device to perform:
- loading, at runtime by a runtime module executing within a runtime environment, a class from a runtime linkable, multi-version library, wherein the multi-version library is configured to include multiple versions of classes, wherein all versions of a respective class correspond to an identical class signature for the respective class;
wherein said loading comprises;
determining whether the multi-version library includes a version of the class associated with a current version of a software development kit for implementing software executable within a respective current version of the runtime environment; and
in response to determining that the multi-version library does include the version of the class associated with the current version of the software development kit, loading, from the multi-version library, the version of the class associated with the current version of the software development kit.
0 Assignments
0 Petitions
Accused Products
Abstract
Modular co-versioning may involve the creation of multi-version libraries that may include multiple versions of a class. A multi-version library may include a base version and one or more other versions each of which may correspond to a particular, respective version of a software development kit, runtime environment or software platform, according to various embodiments. At runtime, a multi-version library may be searched in order to load a version of a class that corresponds to the version of the currently executing runtime environment. If the multi-version library does not include a version of the class corresponding to the currently executing version of the environment/platform, a version of the class corresponding to a previous version of the environment may be loaded if found in the multi-version library. Alternatively, if no other version of the class is found, a base version of the class may be loaded from the multi-version library.
-
Citations
20 Claims
-
1. A non-transitory, computer-readable storage medium storing program instructions that when executed on a computing device cause the computing device to perform:
-
loading, at runtime by a runtime module executing within a runtime environment, a class from a runtime linkable, multi-version library, wherein the multi-version library is configured to include multiple versions of classes, wherein all versions of a respective class correspond to an identical class signature for the respective class; wherein said loading comprises; determining whether the multi-version library includes a version of the class associated with a current version of a software development kit for implementing software executable within a respective current version of the runtime environment; and in response to determining that the multi-version library does include the version of the class associated with the current version of the software development kit, loading, from the multi-version library, the version of the class associated with the current version of the software development kit. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computing device, comprising:
-
a processor; and a memory coupled to the processor, wherein the memory comprises program instructions that when executed by the processor, cause the processor to perform; executing a class loader within a runtime environment; loading, at runtime by the class loader, a class from a runtime linkable, multi-version library, wherein the multi-version library is configured to include multiple versions of classes, wherein all versions of a respective class correspond to an identical class signature for the respective class; wherein said loading comprises; determining whether the multi-version library includes a version of the class associated with a current version of a software development kit for implementing software executable within a respective current version of the runtime environment within which the class loader is executing; and in response to determining that the multi-version library does include the version of the class associated with the current version of the software development kit, loading, from the multi-version library, the version of the class associated with the current version of the software development kit. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer implemented method, comprising:
building, by a computing device comprising a hardware processor, a runtime linkable, multi-version library comprising multiple versions of a class, wherein the multiple versions all correspond to an identical class signature;
wherein said building comprises;storing in the multi-version library a base version of the multiple versions of the class, wherein the base version of the class does not correspond to any particular version of a software development kit; and storing in the multi-version library one or more other versions of the multiple versions of the class, wherein each of the one or more other versions correspond to respective versions of the software development kit. - View Dependent Claims (16, 17, 18, 19, 20)
Specification