Isolated Loaders Resolve Library Conflicts in Plugin Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for executing operations in execution environments face library conflicts due to conflicting types with the same name, leading to failure of operations, especially when heterogeneous data from different operations needs to be processed together.

Innovation Solution

The solution involves loading conflicting types through isolated loaders and utilizing an abstract reference type to access types loaded by these isolated loaders, converting heterogeneous data to a standard data model, and using a plugin interface to invoke methods across plugins, allowing for concurrent processing of data objects in a type-safe manner.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple libraries with conflicting types are loaded into the same execution environment, then library functionality is expanded, but library conflicts occur causing operation failures

Engineering Contradiction:
Improvelibrary functionalityVSAvoidoperation success
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The execution environment is segmented into multiple isolated loaders, each responsible for loading specific libraries. This segmentation allows conflicting libraries to be loaded without interference while maintaining operational reliability through clear boundaries between loader domains.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An intermediary mechanism is introduced to resolve conflicts between libraries. The system uses a conflict resolution strategy that mediates between different library types with the same name, allowing both to coexist by mapping them to distinct namespaces or resolving collisions through a centralized coordination mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If separate processes are spawned for each operation to avoid library conflicts, then library conflicts are eliminated, but data processing efficiency decreases due to inability to process heterogeneous data together

Engineering Contradiction:
Improvelibrary conflict avoidanceVSAvoiddata processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Multiple isolated loaders are merged into a unified execution environment that can process data from different sources concurrently. The system combines the benefits of isolated loading with the ability to process heterogeneous data together by providing a common interface layer that reconciles different data models.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

A universal data processing interface is created that can handle data from multiple heterogeneous sources. This multi-functional interface allows the system to process data from different operations simultaneously while maintaining type safety and consistency, eliminating the need for separate processes.

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

3Productivity

If heterogeneous data from different operations is processed together, then data processing capability is enhanced, but type safety is compromised due to conflicting data models

Engineering Contradiction:
Improvedata processing capabilityVSAvoidtype safety
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

Different data models maintain their local quality and integrity within their respective isolated loaders. Each loader preserves the specific data model characteristics of its libraries while the system as a whole provides a unified interface that ensures type safety through standardized access patterns and validation mechanisms.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20240256296A1Extracting Data from Heterogeneous Sources with Library Conflicts
Publication Date: 2024.08.01 ORACLE INT CORP
  • US20240256296A1 patent drawing
  • US20240256296A1 patent drawing
  • US20240256296A1 patent drawing

AI summary

Techniques for instantiating a reference type to create a first descendant loader and a second descendant loader. The first descendant loader and the second descendant loader may be isolated loaders. The first descendant loader may load a first plugin and a first set of libraries. The first set of libraries may be needed to complete a first operation. The second descendant loader may load a second plugin and a second set of libraries. The second set of libraries may be needed to complete a second operation. The first set of libraries may conflict with the second set of libraries. A first method of the first plugin may be invoked through a plugin interface in order to complete the first operation. A second method of the second plugin may be invoked through the plugin interface to complete the second operation.