Virtual USB Dongle for Cloud Application Execution Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for controlling the execution of applications protected by hardware USB dongles face challenges when migrating to cloud environments, as cloud servers often lack USB ports, leading to inefficiencies and performance issues with redirection mechanisms and the need for significant redesign and testing.

Innovation Solution

A computer-implemented method and system using a virtual USB dongle with a command gate, license validator, VM controller, and VM engine, which communicates with a hardware function driver through a software license unit and dongle firmware applet, enabling secure execution control without physical USB ports by verifying license terms and enabling communication only if terms are met.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If USB requests are routed to a remote USB dongle, then application execution control is maintained, but network latency impacts performance and management effort increases

Engineering Contradiction:
Improveapplication execution controlVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent creates a virtual USB dongle that is a software-based copy of the physical USB dongle functionality. This virtual dongle runs locally on the cloud server, eliminating the need to route USB requests remotely. The virtual dongle replicates the license verification and USB device communication functions, thereby maintaining execution control while removing network latency and reducing management complexity.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces the mechanical/physical USB dongle system with a software-based virtual USB dongle. Instead of using a physical hardware device that requires network routing, the solution uses a virtual machine environment with software components (virtual USB driver, license validator, command gate) that simulate USB dongle functionality entirely in software, eliminating the need for physical USB ports and network routing infrastructure.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Adaptability or versatility

If pure software or cloud solutions are adopted, then cloud deployment is enabled, but implementation time and effort increase significantly

Engineering Contradiction:
Improvecloud deployment capabilityVSAvoidimplementation time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the USB dongle functionality into distinct virtual components: a virtual USB driver layer, a license validator module, a command gate mechanism, and a virtual machine engine. This segmentation allows each component to be independently developed, tested, and deployed, significantly reducing implementation time compared to creating a monolithic software solution. The modular architecture enables incremental deployment and easier maintenance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The virtual USB dongle solution is designed to be universal and compatible with multiple applications and cloud environments. The virtual USB driver can interface with various hardware function drivers, the license validator can verify different license formats, and the overall architecture can be deployed on different cloud platforms. This multi-functionality reduces the need for application-specific customization and accelerates deployment across diverse scenarios.

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

3Reliability

If a virtual USB dongle is implemented with license validation, then secure execution control is achieved, but system complexity increases

Engineering Contradiction:
Improvesecure execution controlVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a nested architecture where the virtual USB driver operates at the system driver level, containing the license validator and command gate mechanisms within it, which in turn manage the virtual machine engine and dongle firmware applet. This nested structure organizes complexity hierarchically, with each layer managing specific functions and interfacing with the layer below. The nesting allows the system to maintain secure execution control while presenting a simplified interface to applications, as the complexity is encapsulated within the nested layers.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS11550880B2Method for controlling execution of an application
Publication Date: 2023.01.10 THALES DIS CPL USA INC
  • US11550880B2 patent drawing
  • US11550880B2 patent drawing
  • US11550880B2 patent drawing

AI summary

The invention is a method for controlling execution of an application. The method comprising:installing and activating a software license unit including License terms and a secure repository comprising both an applet and parameters,providing a virtual USB dongle including a command gate, a License validator, a VM controller and a VM engine initially devoid of applet,verifying the License terms and only if the verification of the License terms is successful: loading said applet and parameters to the VM engine and enabling the Command gate,initializing configuration data and secret data in the VM engine by using the parameters stored in the VM engine then exchanging, between the applet and said hardware function driver, USB messages to control execution of said application.