Driver Framework Package Extensibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current driver development challenges include reliability, performance, and upgradeability issues, as well as difficulties in accessing hardware components for universal applications running in containers, which can lead to system failures and inefficient resource usage.

Innovation Solution

A driver framework package (DFP) is introduced that enables flexible hardware provider extensibility, security, and long-term performance by separating the extensibility portion of a driver from the rest of the driver, allowing independent updates and providing standard interfaces for development, packaging, and distribution, thus enabling reliable and performant drivers and applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If drivers are tightly integrated with the operating system to enable direct hardware access and control, then hardware compatibility and control capability are improved, but system reliability deteriorates because a driver crash can cause the entire operating system to fail

Engineering Contradiction:
Improvehardware compatibilityVSAvoidsystem reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the driver system into multiple independent components: the operating system kernel, the driver executable, and the driver framework package. Each component runs in its own address space and can be independently updated. This segmentation allows hardware compatibility to be maintained through specialized driver components while improving system reliability by isolating failures to individual components rather than crashing the entire system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a driver framework package as an intermediary layer between the operating system and hardware-specific drivers. This framework package contains the runtime binaries and serves as a mediator that enables drivers to access hardware components through standardized interfaces while maintaining isolation from the core operating system. The framework acts as a buffer that prevents direct crashes from propagating to the OS kernel.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If drivers are updated frequently to improve hardware support and fix bugs, then hardware compatibility and performance are improved, but upgradeability deteriorates because sediment issues prevent independent driver updates

Engineering Contradiction:
Improvedriver update frequencyVSAvoidupgradeability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent divides the driver system into separable components that can be independently updated. The driver framework package containing runtime binaries can be updated independently from the driver executable, and both can be updated independently from the operating system. This segmentation resolves sediment issues by allowing each component to be maintained and updated on its own schedule without requiring coordinated updates of the entire system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a dynamic update model where different components of the driver system can be updated at different times and frequencies based on their specific needs. The framework package can be updated to add new hardware support while existing drivers continue to function, and drivers can be updated to fix bugs without requiring OS updates. This dynamic approach enables continuous improvement of hardware support while maintaining system stability.

Inventive Principle:
Principle #15Dynamics

3Reliability

If universal applications run in containers to improve security and portability, then security and platform compatibility are improved, but hardware access capability deteriorates because containers cannot directly access hardware components

Engineering Contradiction:
ImprovesecurityVSAvoidhardware access capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces the driver framework package as an intermediary that enables containerized applications to access hardware components indirectly. The framework contains runtime binaries that provide standardized interfaces for hardware access, allowing applications in containers to request hardware operations through these interfaces without breaking container isolation. This mediator approach maintains security boundaries while enabling necessary hardware access functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The driver framework package implements universal interfaces that can serve multiple types of applications regardless of their containerization status. The framework provides a standardized set of hardware access functions that work the same way for both traditional and containerized applications, enabling universal applications to access hardware through a common interface while maintaining their security and portability benefits.

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

4Reliability

If drivers use standard interfaces to improve reliability and performance, then system stability is improved, but device complexity increases due to the need for framework packages and runtime binaries

Engineering Contradiction:
Improvesystem stabilityVSAvoiddriver architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the driver framework and runtime binaries into a single distributable package that can be installed and managed as one unit. This merging reduces the operational complexity of managing separate framework and driver components, while still providing the stability benefits of standardized interfaces. The combined package approach simplifies deployment and updates compared to managing separate framework and driver installations.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10789058B2Extensibility of unified platform
Publication Date: 2020.09.29 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10789058B2 patent drawing
  • US10789058B2 patent drawing
  • US10789058B2 patent drawing

AI summary

Interfaces are provided for receiving software development kit runtime binaries configured for a standardized platform; receiving a driver framework package that is generated based on the software development kit and configured to enable extensibility under a set of constraints; and interacting with first party frameworks and allowing third party frameworks to access the software development kit runtime binaries and allow applications to use the third party frameworks.