Remote Device Drivers for IoT Protocol Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The frequent need to reimplement protocols for IoT devices as they transition between hardware platforms, due to differences in operating systems, processors, and pin configurations, consumes significant developer time and resources, introduces security risks, and can 'brick' devices, leading to additional costs and bugs.

Innovation Solution

Implementing remote device drivers through a provider network that allows IoT device suppliers to upload and users to assign device driver functions, enabling translation of user instructions into device-specific hardware commands without requiring extensive embedded programming knowledge or resource-intensive firmware updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If device drivers are implemented locally on IoT devices, then device control and protocol execution are efficient, but device complexity increases and security risks are introduced

Engineering Contradiction:
Improvedevice control reliabilityVSAvoidembedded software complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts device driver functionality from the IoT device itself and relocates it to a remote server. The IoT device contains only a lightweight client that communicates with the remote device driver service, which runs on a remote server. This extraction reduces the computational burden and complexity on the IoT device while maintaining full device control capabilities through network communication.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a remote server as an intermediary between the user/application and the IoT device. The remote server hosts the device driver service that translates high-level commands into device-specific protocols. This intermediary approach allows complex protocol handling to occur remotely while keeping the IoT device simple and secure.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If protocols are reimplemented for each hardware platform, then device compatibility is improved, but developer time and resources are consumed

Engineering Contradiction:
Improvehardware platform compatibilityVSAvoiddeveloper time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent creates a universal device driver service that runs on a remote server and can handle multiple hardware platforms through a single implementation. The remote server maintains a library of device driver functions that can be dynamically selected based on the target hardware platform, eliminating the need for separate device driver implementations for each platform and significantly reducing development time.

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

Solution Approach 2:

The patent implements a dynamic device driver selection mechanism where the remote server can load, unload, and switch between different device driver functions based on the required hardware platform. This dynamic approach allows the system to adapt to different hardware platforms without requiring static compilation or physical device modifications, enabling rapid platform compatibility.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If firmware updates are performed to add protocols, then device functionality is extended, but device bricking risk increases

Engineering Contradiction:
Improveprotocol functionalityVSAvoiddevice operational reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent extracts protocol implementation from the device firmware and relocates it to a remote server. This means that adding new protocols or modifying existing ones only requires updating the remote device driver service, not the device firmware itself. The IoT device remains unchanged and bootable, eliminating the risk of bricking during protocol updates.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements a preliminary validation mechanism where the remote server validates and tests device driver functions before deploying them to IoT devices. The server can simulate and verify protocol correctness in a controlled environment before actual deployment, preventing faulty updates that could brick devices.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If device drivers are extended by developers with limited experience, then device functionality is enhanced, but security issues are introduced

Engineering Contradiction:
Improvedevice driver functionalityVSAvoidsecurity vulnerabilities
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a remote server as a secure intermediary that mediates all device driver operations. Developers can extend device functionality by adding new device driver functions to the remote server without directly accessing or modifying the IoT device firmware. The remote server enforces security policies, validates inputs, and manages authentication, thereby preventing security vulnerabilities that would arise from inexperienced developers directly modifying device code.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements a self-service mechanism where the remote server automatically validates, compiles, and deploys device driver functions. The system includes built-in security checks, code validation, and automated testing that prevent insecure code from being deployed to devices, eliminating the need for developers to have deep security expertise while maintaining secure device operations.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10554726B1Remote device drivers for internet-connectable devices
Publication Date: 2020.02.04 AMAZON TECH INC
  • US10554726B1 patent drawing
  • US10554726B1 patent drawing
  • US10554726B1 patent drawing

AI summary

A device driver assignment service registers, in an event-driven compute service, device driver functions for respective IoT devices. The event-driven compute service receives a network protocol message that includes an identifier for an IoT device and an instruction for the IoT device. In response to determining that the network protocol message matches a defined event to trigger a registered device driver function, the event-driven compute service launches the registered device driver function. The registered device driver function translates the instruction into a device driver hardware command for a hardware device corresponding to the IoT device (e.g., within the IoT device). The registered device driver function then transmits, to the IoT device, another network protocol message that includes the device driver hardware command. The IoT device receives the other network protocol message, parses the message to obtain the device driver hardware command, and performs the command on the hardware device.