Metadata-Driven Application Component Licensing Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvelicensing complianceVSAvoidpackage management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #15Dynamics

2Reliability

If multiple package versions are maintained for different licensing scenarios, then licensing permissions are enforced, but development time and manpower increase

Engineering Contradiction:
Improvelicensing permission enforcementVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

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

3Speed

If components are pre-compiled for all licensing scenarios, then installation speed is improved, but system resource consumption increases

Engineering Contradiction:
Improvecomponent installation speedVSAvoidsystem resource consumption
Core Design Contradiction:
SpeedVSQuantity of substance

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11954183B2System and method using metadata to manage packaged applications components based on tenant licenses
Publication Date: 2024.04.09 SALESFORCE INC
  • US11954183B2 patent drawing
  • US11954183B2 patent drawing
  • US11954183B2 patent drawing

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.