Virtual USB Dongle for Cloud Application Execution Control
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Adaptability or versatility
If pure software or cloud solutions are adopted, then cloud deployment is enabled, but implementation time and effort increase significantly
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.
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.
3Reliability
If a virtual USB dongle is implemented with license validation, then secure execution control is achieved, but system complexity increases
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.
Data Source
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.


