Controller License Management via Unique ID Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The management of software licenses has become complicated due to the development of various types of software, leading to potential unauthorized use if licenses are not managed appropriately.

Innovation Solution

A mechanism is implemented in a controller to prevent unauthorized use of software by generating an execution right from unique information identifying the controller or external device, and checking if the generated unique information matches the original at a predetermined timing, thereby prohibiting use if they do not coincide.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software is made available for download to multiple controllers, then software versatility and accessibility are improved, but the risk of unauthorized use and license management complexity increases

Engineering Contradiction:
Improvesoftware accessibilityVSAvoidlicense management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The license management system segments the license information into two distinct parts: license information generated at the time of download (stored in download license information storage) and license information generated at execution time (stored in execution license information storage). This segmentation allows the system to manage software licenses across multiple controllers while maintaining security, as each controller receives only its specific license portion without exposing the complete license management mechanism.

Inventive Principle:
Principle #1Segmentation

2Reliability

If license checking mechanisms are implemented, then software security against unauthorized use is improved, but the complexity of software execution processes increases

Engineering Contradiction:
Improvesoftware securityVSAvoidexecution process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary license validation by storing license information at the time of download in download license information storage. This preliminary action ensures that license verification is already partially completed before execution, reducing the computational burden and complexity during actual software execution while maintaining security.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The license checking mechanism operates autonomously within the controller, comparing license information stored at download time with license information generated at execution time. This self-service approach eliminates the need for external license servers or complex centralized management systems, thereby improving security while minimizing execution process complexity.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If software is transferred between controllers, then software adaptability is improved, but the risk of license violation increases

Engineering Contradiction:
Improvesoftware transferabilityVSAvoidlicense compliance
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The license management system implements local quality by generating and storing license information specific to each controller at the time of download. Each controller receives customized license information tied to its unique identity, ensuring that software transferred between controllers maintains license compliance for the destination controller while preventing unauthorized use elsewhere.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP3767499B1Controller, license management method, and license management program
Publication Date: 2025.05.14 OMRON CORP
  • EP3767499B1 patent drawingFigure 1
  • EP3767499B1 patent drawingFigure 2
  • EP3767499B1 patent drawingFigure 3

AI summary

There is provided a technique for preventing unauthorized use of software downloaded to a controller. A controller (100) includes: an obtaining unit (101) that obtains, from an external device (200), software (141) and first license information for the software (141); and a processor that executes the software (141). The software (141) includes: a generation module (154) that generates an execution right (139) for the software (141) from first unique information for uniquely identifying the controller (100) or the external device (200); and a check module (156) that generates second unique information from the execution right (139) at a predetermined timing after the generation of the execution right (139), and that prohibits use of the software (141) when the second unique information does not coincide with the first unique information.