Customized Software Distribution via Package Selection and Dependency Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software distributions are often prepackaged with features that not all customers need, leading to inefficiencies and a lack of customization, as they are designed with a 'one size fits all' approach, which fails to meet individual customer requirements effectively.

Innovation Solution

A system that allows for the creation of customized software distributions by selecting only the necessary packages and dependencies, using a computer system with a package selector, conflict checker, and dependency validator to ensure interoperability and proper functioning, which can also develop new packages if needed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If prepackaged software distributions are created with a 'one size fits all' approach, then manufacturing complexity is reduced and production is simplified, but the distribution cannot meet individual customer requirements effectively

Engineering Contradiction:
Improvecustomization capabilityVSAvoiddistribution creation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The software distribution is segmented into discrete, selectable packages that can be individually chosen based on customer requirements. Each package represents a functional unit that can be independently included or excluded from the final distribution, enabling customization without requiring complex manual configuration.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Package dependency information is pre-calculated and stored before distribution creation. The system performs preliminary analysis of package relationships and stores this metadata, allowing the automated assembly process to quickly generate customized distributions without performing complex dependency resolution at build time.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If multiple prepackaged versions are produced to satisfy different customers, then more customer requirements can be met, but manufacturing complexity and production costs increase

Engineering Contradiction:
Improvecustomer requirement satisfactionVSAvoiddistribution creation efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The distribution creation process transitions from static prepackaging to dynamic assembly. Instead of creating fixed versions for different customer segments, the system dynamically assembles distributions by selecting and combining packages based on individual customer requirements, enabling one-to-one customization without manual intervention.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system automatically selects packages and resolves dependencies based on customer requirements without requiring manual configuration or expert intervention. The automated assembly process uses pre-stored dependency information to self-configure the distribution, eliminating the need for manual packaging work.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If customized distributions are built manually by selecting individual packages, then customer-specific requirements are met, but time consumption and resource requirements increase

Engineering Contradiction:
Improvedistribution customizationVSAvoiddistribution creation time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The manual mechanical process of selecting and configuring packages is replaced with an automated computational system. The automated assembly process uses algorithms to select packages and resolve dependencies based on customer requirements, dramatically reducing the time from requirements specification to distribution delivery.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The system changes the state of package selection from manual configuration to automated computation. By transforming the selection process into an algorithmic parameter-driven approach, the system can rapidly generate customized distributions by simply changing the input parameters (customer requirements) without manual reconfiguration.

Inventive Principle:
Principle #35Parameter changes

4Quantity of substance

If only needed packages are included in the distribution, then the distribution size is reduced and deployment is faster, but ensuring package interoperability and resolving dependencies becomes more difficult

Engineering Contradiction:
Improvedistribution sizeVSAvoidpackage interoperability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

Package dependency information acts as an intermediary that mediates between selected packages and the final distribution assembly. This pre-calculated metadata serves as a bridge that automatically resolves compatibility issues and ensures proper package relationships, making the assembly process as reliable as building complete distributions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8352935B2System for creating a customized software distribution based on user requirements
Publication Date: 2013.01.08 MICRO FOCUS SOFTWARE INC
  • US8352935B2 patent drawing
  • US8352935B2 patent drawing
  • US8352935B2 patent drawing

AI summary

A customized distribution, e.g. of Linux software, is built using only packages that satisfy a customer's individual requirements. The packages are verified, at build time, to be interoperable at run-time. Also, the distribution is verified to ensure all package dependencies are included. In cases where no package already exists that meets a user requirements, a new package can be created for this purpose. The packages in the distribution customized for the user can be tracked, so that as updates to the packages are released, the customer can be notified about those updates (without being notified about packages not in the customer's customized distribution). Finally, once the distribution has been built for the user, it can then be offered as a general-purpose distribution for future customers.