Dynamic Library Function Selection for Performance and Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing systems face performance degradation due to the all-or-nothing choice between native and bundled libraries, where applications can only use functions from one library, leading to suboptimal performance when specialized hardware is available but not utilized.

Innovation Solution

Implement a method that allows applications to dynamically invoke functions from both native and bundled libraries based on availability, using function tables to determine which library's version of a function to use, enabling the use of customized functions on supported hardware while providing generic functions on unsupported devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If applications use bundled application library to access additional functions, then functionality and backwards compatibility are improved, but performance deteriorates because non-customized versions of functions cannot leverage specialized hardware

Engineering Contradiction:
ImprovefunctionalityVSAvoidperformance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the library functions into two distinct categories: customized native library functions optimized for specific hardware and generic bundled application library functions. This segmentation allows the system to selectively apply different library versions based on hardware capability, enabling applications to access specialized hardware-optimized functions when available while maintaining fallback to generic functions for compatibility, thus resolving the contradiction between functionality and performance

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic function selection where the application can switch between bundled and native library versions based on runtime hardware detection. The system dynamically determines which library version to use for each function call, allowing optimal performance on capable devices while maintaining broad compatibility, thereby resolving the static all-or-nothing choice between functionality and performance

Inventive Principle:
Principle #15Dynamics

2Productivity

If applications are compiled to use native library, then performance is improved through customized functions, but adaptability deteriorates because functions available only in bundled library cannot be accessed

Engineering Contradiction:
ImproveperformanceVSAvoidfunctionality
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal library access mechanism where applications can access functions from both the customized native library and the generic bundled application library. This multi-functionality approach allows a single application to leverage hardware-optimized functions when available while simultaneously accessing additional functions from the bundled library that may not be present in the native version, resolving the contradiction between performance and adaptability

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Device complexity

If the all-or-nothing choice between native and bundled libraries is enforced, then device complexity is reduced, but productivity deteriorates due to inability to leverage specialized hardware when available

Engineering Contradiction:
Improvelibrary management complexityVSAvoidapplication performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent introduces an intermediary layer that manages the complexity of coordinating between bundled and native libraries. This intermediary handles the logic of determining which library version to use for each function, abstracting the complexity from applications while enabling performance optimization. The intermediary resolves the contradiction by centralizing the decision-making process, allowing applications to benefit from hardware-optimized functions without requiring complex application-level logic

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9575737B1Application access to native and bundled libraries
Publication Date: 2017.02.21 GOOGLE LLC
  • US9575737B1 patent drawing
  • US9575737B1 patent drawing
  • US9575737B1 patent drawing

AI summary

An application executing on a computing device may invoke a function call of a first function. The computing device may support a bundled application library of functions and a native library of functions. It may be determined that code for executing the first function exists in both the bundled application library and the native library, and the application may execute the first function using the code in the native library. While the application continues execution on the computing device, the application may invoke a function call of a second function. It may be determined that, of the bundled application library and the native library, the code for executing the second function exists in the bundled application library. The application may execute the second function using the code in the bundled application library.