Hardware Software Selection System for Optimal Platform Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of choosing optimal digital hardware and software combinations for software applications is hindered by numerous processor architectures, integration limitations, and variability in system software, leading to sub-optimal solutions due to manual, labor-intensive porting and validation processes.

Innovation Solution

A system and method that uses a database to aggregate information on various hardware and software options, allowing users to select based on constraints and run performance benchmarks in prototype devices under environmental conditions, thereby optimizing hardware and software selection efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual porting and validation processes are used for hardware and software selection, then comprehensive testing can be performed, but the process becomes labor-intensive and time-consuming

Engineering Contradiction:
Improvesystem-level performance verificationVSAvoidtime and resources for selection process
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent creates virtual copies of hardware platforms through virtualization technology, allowing software to be tested on multiple hardware configurations simultaneously without physical manual testing. This enables comprehensive system-level verification while dramatically reducing the time and labor required, as virtual instances can be deployed and tested in parallel across different hardware-software combinations.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent develops a universal testing framework that can evaluate multiple hardware platforms and software configurations through a single integrated system. This multi-functional approach allows the same testing infrastructure to validate diverse processor architectures, operating systems, and application software, eliminating the need for separate manual testing processes for each combination.

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

2Productivity

If exhaustive testing of all hardware and software combinations is performed, then optimal selection can be achieved, but the complexity and resource requirements increase significantly

Engineering Contradiction:
Improveoptimization of hardware-software selectionVSAvoidcomplexity of testing system
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the exhaustive testing process into hierarchical levels: first testing individual software components on virtual hardware, then integrating results progressively to evaluate complete system configurations. This segmentation allows comprehensive optimization to be achieved through manageable, modular testing stages rather than attempting to test all combinations simultaneously, reducing overall system complexity while maintaining thoroughness.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If multiple processor architectures and auxiliary processors are supported, then versatility is improved, but the difficulty of integration and programming increases

Engineering Contradiction:
Improvesupport for multiple processor architecturesVSAvoidintegration and programming complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary abstraction layer that sits between the diverse processor architectures and the application software. This intermediary layer provides standardized interfaces and translation mechanisms, allowing software to be tested and deployed across multiple processor types (CPU, GPU, DSP, FPGA) without requiring separate integration and programming efforts for each architecture, thus maintaining versatility while reducing complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11080168B1System, method and apparatus for selection of hardware and software for optimal implementation of one or more functionality or algorithm
Publication Date: 2021.08.03 KONARK RES INC
  • US11080168B1 patent drawing
  • US11080168B1 patent drawing
  • US11080168B1 patent drawing

AI summary

A system, method and apparatus for choosing a digital processing platform that is optimal for a specified type of application and satisfies a set of user-specified constraints is provided. In operation, all known parameters on all available processing platforms in a database are stored, providing this information to a computer software application run by the user by querying the database, and then allowing a remote user to specify the constraints, in terms of hardware and system software, to eliminate those entries that would not satisfy the constraints in a step-by-step filtering process. The user then chooses a set of application programs to run on the platforms that were not eliminated. The runtime performance parameters/characteristics—e.g. computational throughput, I/O bandwidth, environmental parameters, etc. are measured to select the optimal solution. The system and method also allows for a regression test to ensure consistency between test software processes running on discrete platforms.