Find and track information of interface usage of software libraries by other software
First Claim
Patent Images
1. A computer-implemented method comprising:
- extracting one or more first symbol and symbol version pairs from one or more first symbol tables in a plurality of different programs to be executed within an operating system, wherein each of the one or more first symbol tables uses one or more of a plurality of shared libraries within the operating system;
identifying one or more second symbol and symbol version pairs provided by the plurality of shared libraries, wherein each symbol version in the one or more first symbol and symbol version pairs and the one or more second symbol and symbol version pairs comprises a sequential version identifier;
comparing the one or more first symbol and symbol version pairs to the one or more second symbol and symbol version pairs to identify ones of the one or more first symbol and symbol version pairs that are made available by the plurality of shared libraries;
in view of the ones of the one or more first symbol and symbol version pairs that are made available by the plurality of shared libraries, determining that a first library version in the plurality of shared libraries is used by more of the plurality of different programs than a second library version in the plurality of shared libraries or that the first library version is used by more popular ones of the plurality of different programs than the second library version; and
ranking, by a processing device, the plurality of shared libraries in view of the ones of the one or more first symbol and symbol version pairs that are made available by the plurality of shared libraries, wherein ranking comprises ranking the first library version higher than the second library version in view of the determination that the first library version is used by more of the plurality of different programs than the second library version or that the first library version is used by the more popular ones of the plurality of different programs than the second library version.
1 Assignment
0 Petitions
Accused Products
Abstract
A library controller that ranks shared libraries that are available from an operating system is described. In one embodiment, the library controller receives multiple different software, where each of the different software use one or more of the shared libraries. The library controller extracts library usage details for each of the multiple different software and provisioning details from each of the shared libraries. Furthermore, the library controller ranks the shared libraries based on the library usage and provisioning details.
39 Citations
13 Claims
-
1. A computer-implemented method comprising:
-
extracting one or more first symbol and symbol version pairs from one or more first symbol tables in a plurality of different programs to be executed within an operating system, wherein each of the one or more first symbol tables uses one or more of a plurality of shared libraries within the operating system; identifying one or more second symbol and symbol version pairs provided by the plurality of shared libraries, wherein each symbol version in the one or more first symbol and symbol version pairs and the one or more second symbol and symbol version pairs comprises a sequential version identifier; comparing the one or more first symbol and symbol version pairs to the one or more second symbol and symbol version pairs to identify ones of the one or more first symbol and symbol version pairs that are made available by the plurality of shared libraries; in view of the ones of the one or more first symbol and symbol version pairs that are made available by the plurality of shared libraries, determining that a first library version in the plurality of shared libraries is used by more of the plurality of different programs than a second library version in the plurality of shared libraries or that the first library version is used by more popular ones of the plurality of different programs than the second library version; and ranking, by a processing device, the plurality of shared libraries in view of the ones of the one or more first symbol and symbol version pairs that are made available by the plurality of shared libraries, wherein ranking comprises ranking the first library version higher than the second library version in view of the determination that the first library version is used by more of the plurality of different programs than the second library version or that the first library version is used by the more popular ones of the plurality of different programs than the second library version. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer readable storage medium having instructions stored thereon that, when executed by a processing device, cause the processing system to perform operations comprising:
-
extracting one or more first symbol and symbol version pairs from one or more first symbol tables in a plurality of different programs to be executed within an operating system, wherein each of the one or more first symbol tables uses one or more of a plurality of shared libraries within the operating system; identifying one or more second symbol and symbol version pairs provided by the plurality of shared libraries, wherein each symbol version in the one or more first symbol and symbol version pairs and the one or more second symbol and symbol version pairs comprises a sequential version identifier; comparing the one or more first symbol and symbol version pairs to the one or more second symbol and symbol version pairs to identify ones of the one or more first symbol and symbol version pairs that are made available by the plurality of shared libraries; in view of the ones of the one or more first symbol and symbol version pairs that are made available by the plurality of shared libraries, determining that a first library version in the plurality of shared libraries is used by more of the plurality of different programs than a second library version in the plurality of shared libraries or that the first library version is used by more popular ones of the plurality of different programs than the second library version; and ranking, by the processing device, the plurality of shared libraries in view of the ones of the one or more first symbol and symbol version pairs that are made available by the plurality of shared libraries, wherein ranking comprises ranking the first library version higher than the second library version in view of the determination that the first library version is used by more of the plurality of different programs than the second library version or that the first library version is used by the more popular ones of the plurality of different programs than the second library version. - View Dependent Claims (8, 9, 10)
-
-
11. A system comprising:
-
a memory to store an operating system, a plurality of shared libraries, and a plurality of different programs to be executed within the operating system; and a processing device, coupled to the memory, to; extract one or more first symbol and symbol version pairs from one or more first symbol tables in the plurality of different programs, wherein each of the one or more first symbol tables uses one or more of the plurality of shared libraries within the operating system; identify one or more second symbol and symbol version pairs provided by the plurality of shared libraries, wherein each symbol version in the one or more first symbol and symbol version pairs and the one or more second symbol and symbol version pairs comprises a sequential version identifier; compare the one or more first symbol and symbol version pairs to the one or more second symbol and symbol version pairs to identify ones of the one or more first symbol and symbol version pairs that are made available by the plurality of shared libraries; in view of the ones of the one or more first symbol and symbol version pairs that are made available by the plurality of shared libraries, determine that a first library version in the plurality of shared libraries is used by more of the plurality of different programs than a second library version in the plurality of shared libraries or that the first library version is used by more popular ones of the plurality of different programs than the second library version; and rank the plurality of shared libraries in view of the ones of the one or more first symbol and symbol version pairs that are made available by the plurality of shared libraries, wherein the processing device is to rank the plurality of shared libraries by ranking the first library version higher than the second library version in view of the determination that the first library version is used by more of the plurality of different programs than the second library version or that the first library version is used by the more popular ones of the plurality of different programs than the second library version. - View Dependent Claims (12, 13)
-
Specification