Dynamic Plugin Context Isolation via Inheritance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing plugin architectures face challenges in isolating plugins from each other and supporting dynamic loading when multiple plugins share the same application context.

Innovation Solution

A dynamically loaded plugin architecture (DLPA) is introduced, which utilizes a parent context and a plugin repository to create a child context dynamically for each plugin, allowing for independent operation and concurrent versions of plugins.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If multiple plugins share the same application context, then the system structure is simpler, but plugins cannot be properly isolated and dynamic loading is not supported

Engineering Contradiction:
Improvesystem structureVSAvoidplugin isolation
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent divides the shared application context into separate child contexts for each plugin. When a plugin is loaded, a unique child context is created that inherits only the necessary reusable software components from the parent context. This segmentation isolates each plugin's execution environment, preventing interference between plugins while maintaining access to required services through the inheritance mechanism.

Inventive Principle:
Principle #1Segmentation

2Ease of manufacture

If a shared application context is used, then resource sharing is easier, but dynamic loading of plugins is not supported

Engineering Contradiction:
Improveresource sharingVSAvoiddynamic loading
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic context creation where child contexts are generated on-demand when plugins are loaded. The system transitions from a static shared context model to a dynamic model where contexts are created and destroyed based on plugin lifecycle events. This allows plugins to be loaded and unloaded at runtime while maintaining proper resource isolation and inheritance relationships.

Inventive Principle:
Principle #15Dynamics

3Reliability

If plugins are properly isolated with separate contexts, then plugin independence is improved, but system complexity increases

Engineering Contradiction:
Improveplugin independenceVSAvoidcontext management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a nested context hierarchy where child contexts are nested within the parent application context. Each child context inherits reusable software components from the parent, creating a tree-like structure that mirrors the plugin architecture. This nesting approach allows isolated plugin environments while reusing shared resources through the inheritance chain, reducing the complexity of managing complete isolation.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS20250028539A1Dynamically Loaded Plugin Architecture
Publication Date: 2025.01.23 BITVORE CORP
  • US20250028539A1 patent drawing
  • US20250028539A1 patent drawing
  • US20250028539A1 patent drawing

AI summary

A method and architecture for using dynamically loaded plugins is described herein. The dynamically loaded plugin architecture comprises a parent context and a plugin repository. The parent context may define one or more reusable software components. The plugin repository may store one or more plugins. When a plugin is loaded, a child context may be created dynamically. The child context is associated with the plugin and inherits the one or more reusable software components from the parent context.