Program Licensing via OS Header Segmentation and Remote Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software licensing methods are inflexible and prone to piracy, as they often require multiple licenses for each computer and rely on serial numbers, which can be easily copied or altered, leading to security issues and unnecessary purchases.

Innovation Solution

A method that involves an OS receiving a program-start command, storing headers for license verification, and using a license verification component to cooperate with a remote server to perform license verification before loading the program into RAM, allowing flexible licensing and reducing piracy by ensuring only authorized execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If license verification is performed after loading the entire application program into memory, then the verification process is simple, but the program can be easily copied and altered to avoid verification

Engineering Contradiction:
Improvelicense verification processVSAvoidsoftware security
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The application program is divided into a header portion and a body portion. The header is loaded into memory for verification, while the body remains on the storage device. This segmentation allows verification to occur on a small, controlled portion of the program, preventing complete program copying and alteration while maintaining verification simplicity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The license verification is performed on the program header before the main program body is loaded into memory. This preliminary verification ensures that only authorized programs are loaded, preventing piracy while maintaining system security without requiring complete program loading.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a specific program is written for license verification for each application, then the verification can be customized, but the system complexity increases

Engineering Contradiction:
Improvelicense verification accuracyVSAvoidverification system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The operating system is designed with universal license verification capabilities that work with any application program through a standardized header format. Instead of creating specific verification programs for each application, the OS provides a general-purpose verification mechanism that handles all applications uniformly, reducing system complexity while maintaining verification reliability.

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

3Ease of operation

If traditional serial number verification is used, then users can activate software, but piracy issues commonly occur due to easy copying and cracking

Engineering Contradiction:
Improvesoftware activationVSAvoidanti-piracy protection
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The license verification functionality is extracted from the application program itself and placed in the operating system. The program header contains verification information that the OS uses to authenticate the program, separating the verification logic from the application and making it harder to circumvent through cracking or copying.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP3029589B1Device for permitting program, program transaction device and method for permitting program thereof
Publication Date: 2023.08.30 BOTHNIC INFORMATION
  • EP3029589B1 patent drawingFigure 1
  • EP3029589B1 patent drawingFigure 2
  • EP3029589B1 patent drawingFigure 3

AI summary

A device for licensing a program including a header includes a storage device, a file system and a license verification component. The storage device is in a local terminal having a random access memory (RAM). The file system is configured in the storage device. The operating system (OS) receives a starting-program command to activate the program and stores the header into the storage device. The license verification component prevents the OS from loading the program in the RAM, and works with at least one of the OS and a remote server to perform a license verification, wherein after there is a license verification pass, the license verification component allows the program to be loaded in the RAM.