Peripheral Device Communication Through Unprivileged Plugin Modules
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software containers for self-service and point of sale terminals require privileged access to communicate with peripheral devices, limiting flexibility and security, especially in scenarios where devices are plugged or unplugged after initial execution.
Innovation Solution
A software container element associated with peripheral device connection data allows access to and communication with a predefined class of devices, using dummy device nodes and a device plugin module to manage device pathways, enabling plug-and-play and unplug-replug capabilities without privileged access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If software containers use privileged access to communicate with peripheral devices, then device communication capability is improved, but security is worsened
Solution Approach 1:
The patent introduces device plugin modules as intermediary components between software containers and peripheral devices. These plugins run outside the container and provide controlled access pathways, allowing containers to communicate with devices without requiring privileged access. The plugin acts as a mediator that translates container requests into device-specific operations while maintaining security boundaries.
Solution Approach 2:
The system segments device access functionality into separate components: the software container contains the application logic, while device-specific communication logic is separated into external plugin modules. This segmentation allows the container to remain unprivileged while still accessing devices through the plugin interface, resolving the contradiction between accessibility and security.
2Reliability
If software containers are configured with specific peripheral devices at execution time, then device compatibility is improved, but flexibility for dynamic device connection is worsened
Solution Approach 1:
The patent implements dynamic device configuration where the device plugin modules can detect and adapt to devices connected at any time, not just at container startup. The system dynamically updates device pathways and communicates new device availability to running containers, enabling hot-plug functionality while maintaining reliable device compatibility through the plugin abstraction layer.
Solution Approach 2:
The system performs preliminary setup by installing device plugin modules that pre-register all possible device pathways and communication protocols. This preliminary configuration enables the container to work with any device from the supported class without being pre-configured for specific devices, while still ensuring compatibility through the standardized plugin interface.
3Object-affected harmful factors
If software containers isolate communication pathways to predefined devices, then security is improved, but adaptability to new devices is worsened
Solution Approach 1:
The device plugin modules implement universal communication protocols that work across multiple device types within a class. Rather than creating isolated pathways for each specific device, the plugin provides a unified interface that can adapt to any device matching the configured class, maintaining security through standardized communication while enabling broad adaptability.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method, a computing device and a computer program is disclosed. A method comprises receiving, from a module comprising first executable software that is executable on one or more processors of a computing device, first data indicative of at least one class of peripheral device connectable to the computing device, whereby each class is associated with a plurality of predetermined peripheral devices and providing a software container element that contains second executable software that is executable on said one or more processors of the computing device, whereby the software container element is associated with peripheral device connection data that enables the software container element to have access to and communicate with each peripheral device of the plurality of predetermined peripheral devices associated with each class.