Metadata-Driven Application Component Licensing Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-tenant systems, managing application packages with varying licensing permissions is complex due to the need for multiple package versions, leading to increased development burden and tenant errors during component dependency installations.
Innovation Solution
A metadata-driven approach is implemented to dynamically manage application components based on tenant licensing rights, where components with permission guards are compiled only when activated, and metadata defines licensing requirements and substitutes for unlicensed components.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple package versions are created to accommodate different licensing permissions, then licensing compliance is ensured, but device complexity and development burden increase
Solution Approach 1:
The patent segments the application package into multiple components with individual licensing permissions. Each component can be independently licensed and managed, allowing a single package to serve multiple tenants with different licensing levels without requiring multiple package versions. This resolves the contradiction by maintaining licensing compliance through component-level segmentation while avoiding the complexity of managing multiple full package versions.
Solution Approach 2:
The patent implements dynamic package activation where components are activated or deactivated based on the tenant's licensing permissions at runtime. This dynamic approach allows the system to adapt to different licensing scenarios without requiring pre-configured multiple package versions, thereby ensuring licensing compliance while reducing package management complexity.
2Reliability
If multiple package versions are maintained for different licensing scenarios, then licensing permissions are enforced, but development time and manpower increase
Solution Approach 1:
By segmenting the package into licensable components with defined permission levels, the system enforces licensing permissions without requiring separate package versions for each licensing scenario. This segmentation approach reduces development time as developers create a single package structure that automatically adapts to different licensing requirements.
Solution Approach 2:
The patent creates a universal package template that can serve multiple licensing scenarios through configurable component activation. This multi-functional approach allows a single package to enforce different licensing permissions across various tenants, eliminating the need to develop and maintain multiple specialized package versions, thereby reducing development time and manpower.
3Speed
If components are pre-compiled for all licensing scenarios, then installation speed is improved, but system resource consumption increases
Solution Approach 1:
The patent implements dynamic compilation where components are compiled and activated only when needed based on the tenant's licensing permissions. This dynamic approach maintains fast installation speeds by pre-compiling the package structure while deferring actual component compilation until activation, thereby avoiding the resource consumption of pre-compiling all possible component variations.
Solution Approach 2:
The patent extracts and separates the licensing permission checks from the component compilation process. Components are kept in a compact, uncompiled state until activation, at which point only the necessary components are compiled and loaded into memory. This extraction approach maintains installation speed while reducing system resource consumption by avoiding the storage and memory overhead of pre-compiled components for all licensing scenarios.
Data Source
AI summary
A method and system to manage application package installation in a multi-tenant system is provided. The method includes accessing metadata of an application package for distribution in the multi-tenant system, selecting a component of the application package with a permission guard in the metadata, evaluating permission guard logic to determine wither a target tenant in the multi-tenant system can install the component, and compiling and installing the component in response to the permission guard logic indicating the tenant of the multi-tenant system has met conditions to utilize the component.


