Split Device Driver COM Interface Retention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems for hot-pluggable devices disconnect the device driver and virtual COM port when a peripheral device is unplugged, leading to potential malfunctions in applications that rely on continuous COM port connections.

Innovation Solution

The device driver is split into a COM interface part and a driver part, where the COM interface part remains in memory even after the device is unplugged, allowing applications to continue communicating as if the device is still connected, while the driver part handles disconnection notifications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If the device driver removes itself when a peripheral device is unplugged, then system resources are freed, but application stability deteriorates due to COM port removal

Engineering Contradiction:
Improvesystem resourcesVSAvoidapplication stability
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The device driver is divided into two independent parts: the driver port portion that communicates with the peripheral device and the COM interface portion that provides the virtual COM port to applications. When the device is unplugged, only the driver port portion is removed while the COM interface portion remains in memory, allowing applications to continue operating without interruption.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the device driver retains the virtual COM port after device disconnection, then application stability is maintained, but system resource management worsens due to memory retention

Engineering Contradiction:
Improveapplication stabilityVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The driver is segmented into removable driver port portion and retained COM interface portion. This allows selective removal of only the necessary communication component while keeping the application interface active, optimizing both memory management and application stability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The driver port portion that is no longer needed after device disconnection is extracted and removed from memory, while the COM interface portion that is still needed by applications is retained. This selective extraction optimizes resource usage.

Inventive Principle:
Principle #2Taking out (Extraction)

3Loss of energy

If the entire device driver is removed when device is unplugged, then resource allocation is optimized, but device reconnection responsiveness worsens

Engineering Contradiction:
Improvememory allocationVSAvoidreconnection responsiveness
Core Design Contradiction:
Loss of energyVSSpeed

Solution Approach 1:

By segmenting the driver into retained and removable portions, the system enables rapid reconnection. When the device is reconnected, only the driver port portion needs to be reloaded and linked to the existing COM interface, significantly reducing reconnection time compared to reloading the entire driver.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP1917583B1Connection of peripherals to operating systems
Publication Date: 2012.05.30 MCCI CORP
  • EP1917583B1 patent drawingFigure 1
  • EP1917583B1 patent drawingFigure 2

AI summary

An arrangement for installing function drivers that provide communication between computer applications and various peripheral devices employs a master driver that is loaded for each peripheral device. The master drivers receive notification of the connection of the respective peripheral devices and, in time, load the proper function drivers. Each function driver has (1) an interface part that communicates with an application and (2) a peripheral part that communicates with the peripheral device associated with that application. When a device is disconnected, the associated function driver is notified and, in response, the driver discontinues operations of its peripheral part and retains operation of its interface part.