Virtual Dongle Driver for Wireless Peripheral Stability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in maintaining seamless connectivity and user experience for wireless peripherals, as they often require physical dongles for detection and connection, leading to disruptive notifications and instability when wireless connections fade in and out.

Innovation Solution

A plug-and-play driver that simulates a physical dongle's presence or absence over a wireless channel, allowing the operating system to load and unload drivers accordingly, maintaining functionality and user experience without the need for physical hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a physical dongle is used for wireless connectivity, then device detection and connection establishment are reliable, but user experience is disrupted by notifications and driver reloading when connections fade

Engineering Contradiction:
Improveconnection stabilityVSAvoiduser experience
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system creates a virtual copy of the physical dongle in software form. This virtual dongle driver simulates the presence and behavior of the physical hardware device, allowing the operating system to interact with it as if the physical dongle were always present. When the wireless connection is active, the virtual driver maintains the illusion of continuous physical presence, preventing disconnect notifications and driver reloading even when the physical dongle is removed or connection fades.

Inventive Principle:
Principle #26Copying

2Device complexity

If wireless connection is used without physical dongle simulation, then hardware complexity is reduced, but connection stability deteriorates due to fade-in-fade-out issues

Engineering Contradiction:
Improvehardware requirementsVSAvoidconnection stability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The virtual dongle driver acts as an intermediary layer between the operating system and the wireless communication stack. It mediates the connection state information, translating the actual wireless connection status (which may fluctuate) into a stable virtual presence state. This intermediary virtualization layer decouples the OS from direct wireless connection monitoring, providing stable device detection and connection establishment without requiring physical hardware always to be present.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If physical dongle attachment/detachment is used to trigger OS actions, then device detection is accurate, but system responsiveness is reduced due to driver loading/unloading cycles

Engineering Contradiction:
Improvedevice detection accuracyVSAvoiddriver loading time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The virtual dongle driver is pre-loaded and initialized in the system memory before any actual wireless connection is needed. By maintaining the virtual device instance in advance, the system eliminates the need for driver loading and unloading cycles that would otherwise occur with physical dongle attachment and detachment. The virtual driver remains ready and responsive, providing immediate device detection and system response without the time penalty of driver installation or re-initialization.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9244871B2Method and apparatus for virtualizing hardware dongle over a wireless connection
Publication Date: 2016.01.26 ATMEL CORP
  • US9244871B2 patent drawing
  • US9244871B2 patent drawing
  • US9244871B2 patent drawing

AI summary

In a computer system configured to handle I/O signals received by the computer system from input devices and/or output signals output by the computer system, a virtual attachment module includes logic for selecting such that program code for coupling can alter the operating system's selection of I/O devices used for particular I/O device operations, coupling to a wireless I/O device at least for determining whether the wireless I/O device is available, and causing redirection of I/O signals destined to a default I/O device to be to the wireless I/O device, if the program code for coupling determines that the wireless I/O device is available. A virtual connection module could be used to intercept system messages indicating a wireless device is present and connected, determine whether the wireless device is present and/or connected, and determine which intercepted messages to forward, drop, delay or reformulate.