Virtual Machine License Validation Module

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software companies face challenges in effectively restricting trial versions of their applications, as existing methods like date-based or time-based licensing can be easily circumvented by users, and require development of code for native system resources for credential-based restrictions.

Innovation Solution

A system and method for managing the execution of application modules on a virtual machine using a license validation module, which stores and secures license registration and status information, and communicates with a virtual machine to authorize execution based on valid license information, preventing unauthorized access and circumvention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If date-based or time-based licensing methods are used, then license restriction functionality is provided, but the licensing system can be easily circumvented by users

Engineering Contradiction:
Improvelicense restriction effectivenessVSAvoidcircumvention by users
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a licensing server as an intermediary component between the application and the user's computing device. The server validates license status by receiving device identification information, determining whether the device is authorized, and returning validation results. This server-based intermediary prevents direct client-side manipulation of license timing mechanisms, thereby preventing circumvention while maintaining reliable license restriction functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If credential-based access restriction is implemented, then secure access control is achieved, but developers must write code for native system resources

Engineering Contradiction:
Improveaccess control securityVSAvoidcode development complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent employs a licensing server as an intermediary that handles credential validation and device authorization. Instead of requiring developers to implement native system code for access control, the server receives device identification information, determines authorization status, and returns validation results. This intermediary approach maintains secure access control while significantly reducing code development complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The licensing server provides universal license validation functionality that can be applied across different application types and platforms. The server handles various device identification methods and authorization scenarios through a single unified system, eliminating the need for developers to write platform-specific native code for each implementation.

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

3Reliability

If trial version restrictions are implemented, then product licensing control is maintained, but the restrictions can be circumvented by setting back the system clock

Engineering Contradiction:
Improvetrial license controlVSAvoidclock manipulation
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent uses a licensing server as an intermediary that receives device identification information and determines authorization status independently of the user's local system clock. The server validates license status based on server-time references and authorization decisions, making the trial license control resistant to clock manipulation while maintaining reliable licensing control.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7900243B2Method and system for managing execution of an application module
Publication Date: 2011.03.01 ORACLE AMERICAN INC
  • US7900243B2 patent drawing
  • US7900243B2 patent drawing
  • US7900243B2 patent drawing

AI summary

A computer readable medium includes instructions for managing execution of an application module by receiving a request to execute the application module, where the application module is configured to execute on a virtual machine, retrieving license registration information and license status information associated with the application module, communicating the license registration information and the license status information to a license validation module to obtain an authorization response, where the license validation module is associated with the application module and registered with the virtual machine, and executing the application module, if the authorization response indicates that the license registration information and the license status information are valid.