Generic API for Native Driver Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current application programming interfaces (APIs) are device-specific, making it impractical to access and port applications across different peripheral devices and computers, requiring significant modification and labor to accommodate various devices and operating systems in large networks.

Innovation Solution

A generic application programming interface (API) is developed to access native drivers independently of device-specific features, allowing applications to request device-specific functionalities through generic routines, enabling compatibility with multiple peripheral devices and computers without modification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If device-specific APIs are used to access peripheral devices, then application efficiency on specific devices is improved, but application portability and compatibility across different devices deteriorate

Engineering Contradiction:
Improveapplication efficiencyVSAvoidapplication portability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediary layer (the generic API with device-specific adapters) that sits between the application and the native drivers. The application communicates through the generic API, which then routes requests to appropriate device-specific adapters that translate them into device-specific commands. This mediator approach allows the application to maintain high efficiency on specific devices while preserving portability across different devices.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The generic API is designed to be universal and multi-functional, supporting multiple peripheral devices through a common interface. The system provides a unified API structure that can adapt to different device types (printers, scanners, cameras, etc.) without requiring application modification, thus achieving both efficiency and portability through a single versatile interface.

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

2Ease of operation

If device-specific API functions are implemented for each peripheral device, then device functionality access is improved, but development time and labor deteriorate

Engineering Contradiction:
Improvedevice functionality accessVSAvoiddevelopment time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system segments the API into two distinct layers: a generic API layer that handles common operations and a device-specific adapter layer that handles device-specific functionality. This segmentation allows developers to work with the simple generic API for most operations while device-specific capabilities are handled automatically by the adapter layer, reducing development time and effort.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The device-specific adapters automatically handle the translation and adaptation of generic API calls to device-specific commands without requiring manual intervention from developers. The system self-services by automatically matching devices with appropriate adapters and handling device-specific functionality access, thereby eliminating the need for developers to manually implement device-specific code for each peripheral.

Inventive Principle:
Principle #25Self-service

3Productivity

If native drivers are directly called by applications, then device control efficiency is improved, but system complexity and maintenance burden deteriorate

Engineering Contradiction:
Improvedevice control efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The generic API acts as an intermediary between applications and native drivers, maintaining device control efficiency by providing direct access paths while reducing system complexity by abstracting the complexity of multiple native drivers behind a unified interface. The intermediary manages the complexity of coordinating multiple drivers while presenting a simple interface to applications.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7739693B2Generic application program interface for native drivers
Publication Date: 2010.06.15 SAP SE
  • US7739693B2 patent drawing
  • US7739693B2 patent drawing
  • US7739693B2 patent drawing

AI summary

A method and system to access native drivers in a computer using a generic application interface. An embodiment of the method may include providing the generic application interface to allow access to multiple peripheral devices, where the interface is independent of the device-specific features of the peripheral devices. The interface may include generic routines commonly shared by the peripheral devices. The method may further include using the interface to call the generic routines as a function of device-specific features of a particular device upon receipt of a request to access the particular device. The method provides a generic API that may be commonly used by a plurality of applications on a computer or a plurality of computers in a network to access a plurality of peripheral devices. As such, the developer or user may port applications based on the generic API between different computers without making modifications to the applications. Exemplary applications include mobile devices in wireless communication with network peripheral devices.