Dynamic Module Loading via URL Pattern Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing applications require extensive modification and recompilation to add new functionalities, limiting the ability to dynamically load modules and update existing applications without affecting existing code or frameworks.

Innovation Solution

A system and method for dynamically loading modules into an application by retrieving URL patterns and callback functions from a configuration file, allowing new modules to be added without modifying existing code, and enabling runtime creation of customized applications based on user preferences.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If all functionality is defined within the application's code components, then the application structure is stable and complete, but adding new functionality requires extensive modification and recompilation of existing code

Engineering Contradiction:
Improveability to add new functionalityVSAvoidcode modification complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent divides the application into two distinct segments: core application code (framework) and modular components (plugins). The framework provides stable foundational functionality, while plugins contain extendable features that can be added or removed without modifying the framework code. This segmentation allows new functionality to be introduced through plugin installation rather than code modification.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a plugin manager as an intermediary component that mediates between the framework and plugins. The plugin manager handles the loading, registration, and coordination of plugins with the framework, providing a standardized interface that isolates the framework from direct plugin implementation details. This intermediary layer enables seamless integration of new plugins without affecting existing framework code.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If functionality is divided into separate modules for parallel development, then development time is reduced, but integrating new modules requires access to and modification of existing code structure

Engineering Contradiction:
Improvedevelopment timeVSAvoidmodule integration ease
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent creates a universal plugin interface that can accommodate multiple different plugin types and functionalities through a common structure. The framework defines standardized contracts (interfaces, protocols, or abstraction layers) that all plugins must implement, allowing diverse modules to be integrated uniformly. This universal interface enables parallel development of different plugins by multiple teams while ensuring consistent integration through the standardized plugin management system.

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

3Adaptability or versatility

If the application delivers complete functionality at initial release, then user needs are met comprehensively, but customization and dynamic addition of features are limited

Engineering Contradiction:
Improveapplication customizationVSAvoidapplication code size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent transforms the application from a static, fixed-functionality system to a dynamic, extensible system. Plugins can be added, removed, or updated at runtime without requiring full application recompilation or redeployment. The plugin manager enables dynamic loading and unloading of modules, allowing the application to adapt its functionality based on user needs while maintaining a manageable core codebase.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9747117B2System and methods for loading an application and its modules in a client device
Publication Date: 2017.08.29 HYLAND SWITZERLAND SARL
  • US9747117B2 patent drawing
  • US9747117B2 patent drawing
  • US9747117B2 patent drawing

AI summary

A non-transitory computer readable storage medium storing one or more instructions that, when executed by a computer, cause the computer to perform a method of dynamically load one or more modules into an application, the method comprising receiving from a configuration file a list of one or more available modules; retrieving for each available module, a mapping of a URL pattern to a callback function associated with each of the available modules; and adding the mapping of the URL pattern to a collection of URL patterns associated with the application.