Fragment Bundle Limiting in OSGi Host Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The current OSGi specification does not allow for limiting the number of fragment bundles that can be added to a host bundle, leading to issues such as indistinguishable trial and licensed versions, increased development complexity, inconsistent configurations during version updates, and resource limitations on image forming apparatuses.

Innovation Solution

An information processing apparatus that includes a framework to manage applications based on a manifest, with an installing unit that limits the number of extension applications installed to match the maximum number specified in the host application's manifest, thereby controlling the number of fragment bundles that can be added to a host bundle.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If the number of fragment bundles is limited to match the maximum number specified in the host application's manifest, then configuration consistency during updates is maintained and development scale is stabilized, but the flexibility and adaptability of the application platform is reduced

Engineering Contradiction:
Improveconfiguration consistencyVSAvoidplatform flexibility
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent changes the parameter of fragment bundle quantity from unlimited to limited by introducing a maximum number specification in the manifest file. This parameter change enables the system to maintain configuration consistency while still allowing flexibility within the defined limit, resolving the contradiction between stability and adaptability.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the number of fragment bundles is limited, then trial and licensed versions can be distinguished and resource usage is controlled, but the extensibility and customization capability of the host application is reduced

Engineering Contradiction:
Improveversion discriminationVSAvoidapplication extensibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent applies preliminary action by pre-specifying the maximum number of fragment bundles in the host application's manifest file before deployment. This advance configuration enables version discrimination between trial and licensed versions while maintaining controlled extensibility, as the limit is set beforehand but still allows customization within that boundary.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If fragment bundles can be added without limitation, then the application can be highly customized and extended, but inconsistent configurations occur during version updates and development complexity increases

Engineering Contradiction:
Improveapplication customizationVSAvoiddevelopment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements feedback by having the framework check whether the number of installed fragment bundles exceeds the maximum number specified in the manifest. This feedback mechanism prevents inconsistent configurations during updates and controls development complexity while still allowing customization within the defined limits, resolving the contradiction between adaptability and complexity.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9086938B2Information processing apparatus, control method thereof, and storage medium
Publication Date: 2015.07.21 CANON KK
  • US9086938B2 patent drawing
  • US9086938B2 patent drawing
  • US9086938B2 patent drawing

AI summary

An information processing apparatus performs installation when a number of the extension applications that are installed to extend the host application is less than or equal to a maximum number of the extension applications that can be held by the host application as described in a manifest of the host application, during installation of an extension application that extends a host application.