Dynamic Software Assembly for Device-Specific Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software distribution systems often require users to have prior knowledge of their device's hardware and software configurations, leading to inefficient app installation processes, as developers provide multiple versions of software tailored to specific devices and operating systems, with limited customization options based on user preferences and device capabilities.

Innovation Solution

A software provider system dynamically assembles software by selecting components based on user device metadata, comparing it to stored metadata of similar devices, and constructing the software using a template, ensuring compatibility and optimizing performance, while allowing users to specify preferences such as power consumption and user interface richness.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If developers provide multiple versions of software tailored to specific devices and operating systems, then software compatibility with different devices is improved, but device complexity and installation process complexity increase

Engineering Contradiction:
Improvesoftware compatibilityVSAvoidinstallation process complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal software package that can be distributed once and automatically adapted to run on multiple different devices and operating systems. The runtime assembly technology enables a single software distribution to function across diverse platforms without requiring separate versions for each device type, thereby maintaining compatibility while simplifying the distribution and installation process.

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

Solution Approach 2:

The software system performs self-configuration and self-adaptation at runtime based on the host device's characteristics. The runtime engine automatically detects device capabilities, selects appropriate components, and assembles the software configuration without requiring user intervention or prior knowledge of device specifications, thus resolving the complexity issue while maintaining adaptability.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If developers provide multiple versions of software for different devices, then software compatibility is improved, but the number of software versions and distribution complexity increase

Engineering Contradiction:
Improvesoftware compatibilityVSAvoidsoftware distribution complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges multiple device-specific software versions into a single unified software distribution package. This package contains all necessary components and a runtime engine that combines the functionality of what would otherwise require separate versions, allowing one distribution to serve multiple device types and reducing distribution complexity while maintaining compatibility.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified software package is designed with universal compatibility, enabling it to function across different devices and operating systems through runtime adaptation rather than requiring pre-compilation for each platform, thereby reducing the number of versions needed and simplifying distribution.

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

3Reliability

If users must evaluate system requirements against device characteristics, then software compatibility is ensured, but user time and installation efficiency decrease

Engineering Contradiction:
Improvesoftware compatibilityVSAvoidinstallation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The runtime assembly system automatically performs the compatibility evaluation and configuration selection that would otherwise require user intervention. The system self-services by detecting device characteristics, comparing them against requirements, and assembling the appropriate software configuration without user involvement, ensuring compatibility while eliminating the time loss associated with manual evaluation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs compatibility checking and configuration assembly in advance during the software distribution preparation phase, creating pre-configured packages that are ready for immediate installation. This preliminary action eliminates the need for users to perform compatibility evaluations at installation time, reducing installation time while ensuring compatibility.

Inventive Principle:
Principle #10Preliminary action

4Ease of manufacture

If existing customization is limited to visual display and user preferences, then implementation simplicity is maintained, but software optimization for device capabilities is insufficient

Engineering Contradiction:
Improvecustomization implementation easeVSAvoidsoftware optimization
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic software assembly that adapts to device capabilities at runtime rather than using static pre-defined configurations. The system dynamically selects and assembles components based on actual device characteristics detected at execution time, enabling comprehensive optimization for hardware capabilities, power management, and performance while maintaining ease of implementation through automated processes.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes software configuration parameters based on detected device capabilities, adjusting performance settings, resource allocation, and feature activation according to the specific hardware characteristics of the running device. This enables optimization across multiple parameters including power consumption, processing performance, and display capabilities without requiring complex manual customization.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9858049B2Dynamic software assembly
Publication Date: 2018.01.02 UNIVERSITY OF PHOENIX INC
  • US9858049B2 patent drawing
  • US9858049B2 patent drawing
  • US9858049B2 patent drawing

AI summary

An improved system and method for updating software is described. The system, upon detecting one or more changes within the set of eligibility attribute values associated with the one or more particular components of previously-provided software, selects a replacement component. The component is selected based on one or more changed eligibility attribute values within the set of eligibility attribute values, and the metadata of the user device. Using the replacement component, the replacement software is constructed and sent to the user device.