Method and apparatus for using a shared library mechanism to facilitate sharing of metadata
First Claim
1. A method that uses a shared library mechanism to facilitate sharing objects, comprising:
- receiving indentifiers for a set of objects to be included in a shared library, wherein an object in the set objects contains dynamically compiled code to be shared between multiple instances of a language run-time system;
generating the shared library containing the set of objects;
configuring a symbol table within the shared library to include an indentifier for each object in the set of objects;
installing the shared library in a file system; and
configuring the file system so that the shared library can be accessed through a set of symbolic names, wherein file system is configured to load the shared library via different symbolic names in the set of symbolic names so that a first load actually loads the shared library, and subsequent loads return a handled to the previously loaded library, and wherein each object in the shared library is associated with a different symbolic name, so that each object can be referenced through its own symbolic name.
2 Assignments
0 Petitions
Accused Products
Abstract
One embodiment of the present invention provides a system that uses a shared library to facilitate sharing objects containing metadata. During operation, the system receives identifiers for a set of objects to be included in the shared library. Next, the system generates a shared library containing the set of objects. In doing so, the system configures a symbol table within the shared library to include an identifier for each object. The system then installs the shared library in a file system, and configures the file system so that the shared library file can be accessed through a set of symbolic names, wherein each object is associated with a different symbolic name. This allows each object in the shared library to be referenced through its own symbolic name. Note that the present invention uses the shared library mechanism in a manner which differs from its typical use (sharing compiled, executable code). In order to avoid generating a shared library for each metadata object, the present invention places many such items together in one shared library. The names of these metadata objects are subsequently used as symbolic names of the file containing the shared library.
-
Citations
23 Claims
-
1. A method that uses a shared library mechanism to facilitate sharing objects, comprising:
-
receiving indentifiers for a set of objects to be included in a shared library, wherein an object in the set objects contains dynamically compiled code to be shared between multiple instances of a language run-time system;
generating the shared library containing the set of objects;
configuring a symbol table within the shared library to include an indentifier for each object in the set of objects;
installing the shared library in a file system; and
configuring the file system so that the shared library can be accessed through a set of symbolic names, wherein file system is configured to load the shared library via different symbolic names in the set of symbolic names so that a first load actually loads the shared library, and subsequent loads return a handled to the previously loaded library, and wherein each object in the shared library is associated with a different symbolic name, so that each object can be referenced through its own symbolic name. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method that uses a shared library mechanism to facilitate sharing objects, the method comprising:
-
receiving indentifiers for a set of objects to be included in the shared library, wherein an object in the set of objects contains dynamically compiled code to be shared between multiple instances of a language run-time system;
generating a shared library containing the set of objects;
configuring a symbol table within the shared library to include an identifier for each object in the set of objects;
installing the shared library in a file system; and
configuring the file system so that the shared library can be accessed through a set of symbolic names, wherein file system is configured to load the shared library via different symbolic names in the set of symbolic names so that a first load actually loads the shared library, and subsequent loads return a handled to the previously loaded library, and wherein each object in the shared library is associated with a different symbolic name, so that each object can be referenced through its own symbolic names. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. An apparatus that uses a shared library mechanism to facilitate sharing objects, comprising
a library generation mechanism that is configured to generate a shared library, wherein the shared library contains a set of objects, wherein an object in the set of objects contains dynamically compiled code to be shared between instances of a language run-time system; -
wherein the library generation mechanism is configured to populate a symbol table within the shared library to include an identifier for each object in the set of objects; and
a library installation mechanism that is configured to install the shared library in a file system;
wherein library installation mechanism is configure to load the shared library via different symbolic names in the set of symbolic names so that a first load actually loads the shared library, and subsequent loads return a handled to the previously loaded library;
wherein the library installation mechanism is configured to update the file system so that the shared library can be accessed through a set of symbolic names; and
wherein each object in the shared library is associated with a different symbolic name, so that each object can be referenced through its own symbolic name. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A computer system that uses a shared library to facilitate sharing objects, comprising:
-
a file system;
the shared library with the file system that contains a set of objects, wherein an object in the set of objects contains dynamically compiled code to be shared between multiple instances of a language run-time system; and
a symbol table within the shared library that includes an identifier for each object in the set of objects;
wherein the file system is configured so that the shared library can be accessed through a set of symbolic names;
wherein file system is configured to load the shared library via different symbolic names in the set of symbolic names so that a first load actually loads the shared library, and subsequent loads return a handled to the previously loaded library; and
wherein each object in the shared library is associated with a different symbolic name, so that each object can be referenced through its own symbolic name. - View Dependent Claims (20, 21, 22, 23)
-
Specification