Plug-in Selection via Deterministic Scoring
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current plug-in selection mechanisms in computing devices are inadequate for choosing the most suitable plug-in from multiple candidates, as they often require complex decision-making and can result in bloated code, especially when dealing with new or diverse plug-in types, such as those required for Location Based Services, which need to consider various positioning methods with different characteristics.
Innovation Solution
A method where the software application identifies desired properties and passes them to plug-ins for a deterministic calculation of fit, allowing each plug-in to return a numeric score, enabling the selection of the best-fit module without needing complex decision-making intelligence in intermediate layers, and allowing plug-ins to optimize their choice based on specified criteria like accuracy, power, and cost.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If intermediate layers provide common services for locating and instantiating plug-ins, then plug-in flexibility and extensibility are improved, but device complexity increases due to bloated code requiring complex decision-making intelligence
Solution Approach 1:
The patent extracts the decision-making intelligence from the intermediate layer and relocates it to the plug-in modules themselves. Each plug-in contains its own selection logic and characteristics data, eliminating the need for complex centralized decision-making code in the intermediate layer while maintaining plug-in flexibility.
Solution Approach 2:
Plug-ins are made self-sufficient by embedding their own selection criteria and characteristics within each module. Rather than relying on the intermediate layer to make selection decisions, each plug-in serves itself by providing the necessary information for the application to select the most appropriate module based on its requirements.
2Ease of manufacture
If hard-coded links to plug-in names and locations are used, then ease of manufacture is improved, but adaptability deteriorates as plug-in replacement and addition require application updates
Solution Approach 1:
The patent transforms the static hard-coded plug-in references into dynamic, runtime-determined selections. The application no longer has fixed links to specific plug-ins but instead uses runtime characteristics and selection criteria to dynamically determine which plug-in to invoke, enabling both new and existing plug-ins to be used without application updates.
Solution Approach 2:
The patent changes the selection parameter from fixed string literals (hard-coded names) to dynamic characteristics data that describe plug-in capabilities. This allows the selection mechanism to adapt to different plug-in types and versions by comparing characteristics rather than relying on predefined names and locations.
3Ease of operation
If system-wide registries store plug-in names and locations, then ease of operation is improved, but device complexity increases due to the need for intermediate layers and complex selection mechanisms
Solution Approach 1:
The patent creates simplified copies of plug-in information directly within each plug-in module in the form of characteristics data. Rather than maintaining a separate system-wide registry and intermediate layer, each plug-in contains its own descriptive information, eliminating the need for complex registry management and intermediate selection logic.
Data Source
AI summary
A plug-in for execution by an application on a computing device is selected by arranging for a server to iterate through available plug-ins, asking each plug-in in succession if it can better match the criteria required by the application than the previous plug-in. The plug-in having the closest match to the criteria is then executed by the application.


