Flexible Licensing Architecture for Node-Locked Software

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional licensing architectures for software packages require different software images for various deployments and hardware configurations, leading to inefficiencies and increased development costs, as well as insecure licensing that allows unauthorized use across multiple machines and unnecessary resource consumption.

Innovation Solution

A system that analyzes configuration parameters upon boot and stores them in a database to determine feature activation, enabling a single software image to adapt to different configurations and providing secure, node-locked licensing by using a system configuration database to manage feature activation based on system and licensing details.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If different software images are created for different deployments and hardware configurations, then the software can be properly licensed and configured for each specific platform, but the device complexity and development costs increase significantly

Engineering Contradiction:
Improvelicensing securityVSAvoidsoftware image variety
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a universal licensing architecture where a single software image can operate across multiple hardware platforms and deployment configurations. The licensing system dynamically adapts to different environments (block storage, file storage, unified storage, various RAM configurations) without requiring separate software images, thereby reducing complexity while maintaining platform-specific licensing security

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

Solution Approach 2:

The system uses configuration parameters to identify and adapt to different hardware platforms and licensing scenarios. By detecting system parameters (such as hardware configuration, deployment type) and dynamically adjusting feature activation based on these parameters, the system maintains reliability across platforms without requiring multiple pre-built software images

Inventive Principle:
Principle #35Parameter changes

2Ease of manufacture

If feature enablers are used for licensing, then the licensing implementation is simple, but the software cannot be node-locked and may be used on multiple machines against the distributor's wishes

Engineering Contradiction:
Improvelicensing implementation simplicityVSAvoidlicensing security
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent introduces a license manager as an intermediary component that sits between the feature enablers and the system registry. This license manager verifies licensing conditions, enforces node-locking policies, and controls feature activation based on validated licenses. It maintains the simplicity of feature enabler implementation while adding the security layer needed to prevent unauthorized multi-machine usage

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If electronic licenses with encrypted codes are used, then node-locked licensing is achieved, but unlicensed processes can still consume system resources

Engineering Contradiction:
Improvelicensing securityVSAvoidsystem resource consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system performs preliminary licensing verification during the boot process and before feature activation. The license manager checks licenses and configures system resources accordingly before unlicensed processes can consume significant system resources. This preliminary action ensures that only licensed features can access system resources, preventing resource waste while maintaining security

Inventive Principle:
Principle #10Preliminary action

4Ease of manufacture

If a single software image is used for all platforms, then development costs are reduced, but the system must support all configurations which increases initial complexity

Engineering Contradiction:
Improvesoftware development costVSAvoidconfiguration support
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The patent implements dynamic configuration support within a single software image. The system dynamically detects the hardware platform, deployment type, and licensing status at runtime, then activates only the appropriate features and configurations. This dynamic approach allows a single static software image to effectively support multiple configurations without requiring manual setup or complex preconfiguration

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9613192B2Flexible licensing architecture
Publication Date: 2017.04.04 EMC IP HLDG CO LLC
  • US9613192B2 patent drawing
  • US9613192B2 patent drawing
  • US9613192B2 patent drawing

AI summary

An improved technique involves analyzing a system configuration upon a system boot and sending the configuration to a system configuration database that provides configuration details for enabling features of a software package. Such configuration details take the form of configuration parameters having values that may include, for example, an amount of RAM installed in the system, or the operating system used. The configuration database stores values of these parameters in a persistent store and makes these values available to the system when a software package is launched. At this point, the system accesses the database and obtains the values of the configuration parameters. The system uses these values to determine whether to activate particular features of the software package.