Dynamic Software Module Loading via Environment Filtering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large computer systems face challenges in speed of change and complexity due to incremental development and expansion, leading to entropy and difficulty in modifying components, especially in environments requiring mobile and consumer device readiness and function portability across different customer segments.
Innovation Solution
A method and system for dynamically loading an executable composite software application on a user device by maintaining an enterprise universe of application modules, filtering them based on environment definitions, and launching relevant modules through container modules, considering criteria such as minimum certification levels and user authentication.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a system is built as a single manageable unit and expanded incrementally by adding components, then the system can be developed quickly and easily in the short term, but it becomes exceeding difficult to change components at a later stage and entropy creeps into the system
Solution Approach 1:
The patent divides the monolithic software system into independent, deployable microservices that can be developed, deployed, and scaled separately. Each microservice is a self-contained unit with its own business logic, data access, and deployment lifecycle, allowing teams to work independently without affecting other parts of the system.
Solution Approach 2:
The system employs dynamic service registration and discovery mechanisms that allow microservices to be added, removed, or updated at runtime without requiring system-wide redeployment. The service registry dynamically tracks available services, enabling the system to adapt to changing component configurations in real-time.
2Adaptability or versatility
If additional components are added to broaden functional breadth, then the system can serve more customer segments and functions, but it becomes exceeding difficult to change the further component at a later stage
Solution Approach 1:
The patent segments the system into independent microservices that can be selectively deployed based on functional requirements. Each service encapsulates specific business functionality, allowing the system to broaden its capabilities by adding new services without complicating the modification of existing ones.
Solution Approach 2:
The system implements a universal service registry and standardized communication protocols that allow diverse microservices to be integrated uniformly. This universal interface layer enables different types of services (customer-facing, backend, analytics) to be added and modified through the same deployment mechanisms.
3Ease of operation
If the system is managed and operated as a single unit, then operational simplicity is maintained initially, but speed of change and portability of functions across different customer segments is reduced
Solution Approach 1:
The system uses dynamic service discovery and load balancing that automatically manage the complexity of multiple microservices. The service registry and gateway automatically route requests to appropriate services, maintaining operational simplicity for users while enabling rapid changes in the underlying service architecture.
Solution Approach 2:
The patent introduces a service gateway as an intermediary layer that abstracts the complexity of multiple microservices from end users. The gateway handles service routing, authentication, and load balancing, allowing the system to operate as a unified interface while supporting independent service deployment and rapid iteration.
4Stability of the object's composition
If components are tightly integrated in a monolithic system, then system coherence is maintained, but portability of functions across different customer segments and mobile devices is reduced
Solution Approach 1:
The patent segments the monolithic application into independent microservices that can be selectively deployed to different environments (mobile, web, desktop). Each service maintains its own data access layer and business logic, enabling the same service to be ported across different customer segments and device types without compromising system coherence.
Solution Approach 2:
The system implements universal service interfaces and standardized communication protocols that allow microservices to be accessed uniformly across different platforms and customer segments. This enables a single service to serve multiple contexts (mobile app, web portal, API client) while maintaining consistent behavior and data access patterns.
Data Source
AI summary
The present invention provides a method of and system for dynamically loading an executable composite software application, for use on a user device. An enterprise universe including multiple application modules is maintained, with each application module being configured to perform a particular functionality within the software application. This universe is filtered in terms of a particular environment definition to result in an environment subset of application modules, wherein the environment definition defines criteria according to which application modules exist in the environment. In response to receiving a container launch request from a user device, one or more application modules from the environment subset is launched as the executable composite software application on the user device through a container module associated with the user device.


