OSGi Bundle Consolidator for Activation Order Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current OSGi environments lack effective control over the activation order of bundles within and among start levels, leading to inefficient management of interdependencies and the generation of multiple class loaders for each bundle, which can result in performance issues and namespace collisions.

Innovation Solution

A bundle consolidator tool is introduced to manage OSGi bundles by creating a master bundle with a single class loader, allowing developers to specify the activation order of individual bundles and eliminating namespace collisions through bytecode modification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple class loaders are created for each bundle, then each bundle can be loaded independently, but system performance deteriorates due to the overhead of managing multiple class loaders

Engineering Contradiction:
ImproveIndependent bundle loadingVSAvoidSystem performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent merges multiple bundle class loaders into a single shared class loader. Instead of creating separate class loader instances for each bundle, the system uses one common class loader to load and manage all bundles, thereby reducing the overhead of managing multiple class loaders while maintaining the ability to load bundles independently.

Inventive Principle:
Principle #5Merging (Combining)

2Device complexity

If bundles are activated in arbitrary order within start levels, then the framework is simpler to implement, but interdependency management becomes inefficient

Engineering Contradiction:
ImproveFramework implementation complexityVSAvoidInterdependency management efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies preliminary action by analyzing bundle interdependencies before activation and establishing a predetermined activation order. The system performs static analysis to determine the correct sequence of bundle activation, ensuring that dependent bundles are activated after their dependencies are satisfied, thereby improving interdependency management efficiency without significantly increasing framework complexity.

Inventive Principle:
Principle #10Preliminary action

3Extent of automation

If developers cannot control bundle activation order, then the framework operates more automatically, but developers cannot efficiently manage interdependencies

Engineering Contradiction:
ImproveAutomatic bundle activationVSAvoidDeveloper control over interdependencies
Core Design Contradiction:
Extent of automationVSEase of operation

Solution Approach 1:

The patent introduces dynamics by providing a configurable activation order mechanism that combines automatic dependency analysis with developer-specified activation sequences. Developers can define custom activation orders for bundles while the system dynamically adjusts the actual activation sequence based on both the specified order and detected interdependencies, thereby maintaining ease of operation while improving developer control.

Inventive Principle:
Principle #15Dynamics

4Productivity

If namespace collisions are not detected and modified, then bundles can be deployed more quickly, but namespace collisions cause errors and instability

Engineering Contradiction:
ImproveBundle deployment speedVSAvoidNamespace collision freedom
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by performing namespace collision detection and modification before bundle deployment. The system analyzes all bundles for potential namespace conflicts in advance, automatically modifies conflicting namespaces, and then deploys the corrected bundles, thereby ensuring reliability without significantly impacting deployment speed.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7818733B2Improving bundle control in computing environment
Publication Date: 2010.10.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US7818733B2 patent drawing
  • US7818733B2 patent drawing
  • US7818733B2 patent drawing

AI summary

Provided is a method for managing sets of OSGi bundles in a manner that enables a developer to control the order in which bundles are activated, both within and among OSGi start levels. Also provided is a method for eliminating multiple instances of the OSGi class loaders that are typically generated for each bundle. A bundle consolidator tool is provided that combines multiple bundles in a set of bundles into a master bundle that appears to the OSGi framework to be a single bundle. An activator method enables the developer to specify the order in which individual bundles are initiated and terminated. In addition, a single class loader thread is employed to activate the individual bundles. The bundle consolidator tool also analyzes the target bundles for name space collisions and, in the event a collision is detected, the tool is programmed to modify byte codes to eliminate the collision.