Operating system (OS) independent device drivers

US10002007B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10002007-B2
Application numberUS-201414290091-A
CountryUS
Kind codeB2
Filing dateMay 29, 2014
Priority dateMay 29, 2014
Publication dateJun 19, 2018
Grant dateJun 19, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A device driver is configured to provide access to at least one peripheral device through a normalized interface. A loader is provided with the device driver. When the loader is executed, the loader loads the device driver to an operating system (OS) within its own independent processing context. The interactions through the normalized interface are OS independent.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method of configuring and using a device driver to access a plurality of peripheral devices, comprising: configuring, by a Self-Service Terminal (SST), a core device driver to provide an application access to at least one peripheral device through a normalized interface, wherein the core device driver is independent of an Operating System (OS) and an Application Programming Interface (API); providing, by the SST, a loader with the core device driver within a container, the loader when executed on the SST loads the core device driver to an OS of the SST within its own independent processing context, wherein the core device driver includes a driver control component that provides a glue between the loader, a core device driver managers and a core device driver service function hub, wherein the core device driver is single generic core device driver that supports a plurality of peripheral devices, wherein providing further includes hosting the core device driver as a collection of software modules from the container on the SST, wherein interactions through the normalized interface are OS independent, and wherein providing further includes processing the loader for loading the core device driver at a different OS layer and as a different process from an OS layer and an OS process associated with the application that accesses the at least one peripheral device through the core device driver; receiving, on the Self-Service Terminal, a peripheral access request to access recognized by the least one peripheral device by the core device driver; translating the peripheral access request to one or more peripheral commands recognized by the least one peripheral device by the core device driver; sending the one or more peripheral commands to the peripheral device by the core device driver; obtaining response data from the least one peripheral device by the core device driver; and communicating the response data through the normalized interface back to the application by the core device driver, wherein the normalized interface is OS-independent. 2. The method of claim 1 , wherein configuring further includes providing a software library and software classes to a developer to custom configure the core device driver. 3. The method of claim 1 , wherein configuring further includes configuring the core device driver to provide the application access to two or more peripheral devices through the normalized interface. 4. The method of claim 1 , wherein configuring further includes configuring the core device driver to provide the application access to all peripheral devices, associated with a host device executing the OS, through the normalized interface. 5. The method of claim 1 , wherein configuring further includes configuring the core device driver to expose operations to the at least one peripheral device through the normalized interface. 6. The method of claim 1 , wherein providing further includes dynamically removing, by the loader, an existing function supported by the core device driver when the core device driver is executing within its own independent processing context. 7. The method of claim 1 , wherein providing further includes dynamically adding, by the loader, a new function for the core device driver to support when the core device driver is executing within its own independent processing context. 8. The method of claim 1 , wherein providing further includes dynamically stopping and starting, by the loader, the core device driver when the core device driver is loaded within its own processing context. 9. The method of claim 1 , wherein providing further includes coordinating a second device driver, by the loader, with the core device driver when the core device driver and the second device driver are operational in the OS. 10. A method of configuring and using a device driver to access a plurality of peripheral devices, comprising: receiving, on a host device that is a Self-Service Terminal (SST), a peripheral access request to access a peripheral through a normalized interface for the peripheral, wherein receiving further includes providing the normalized interface by a core device driver executing on the host device, wherein the peripheral access request made by an application, wherein the core device driver being independent of any Operating System (OS) and Application Programming Interface (API) on the host device and processing the core device driver at a different OS layer and as a different process from an OS layer and an OS process associated with the application that accesses the peripheral through the core device driver and processing the core device driver within a container on the host device, wherein the core device driver includes a driver control component that provides a glue between the loader, a core device driver managers and a core device driver service function hub, wherein the core device driver is single generic core device driver that supports a plurality of peripheral devices, and wherein receiving further includes hosting the core device driver as a collection of software modules from the container on the host device; translating the peripheral access request to one or more peripheral commands recognized by a peripheral device by the core device driver; sending the one or more peripheral commands to the peripheral device by the core device driver; obtaining response data from the peripheral device by the core device driver; and communicating the response data through the normalized interface back to the application by the core device driver; wherein the normalized interface is OS-independent. 11. The method of claim 10 further comprising, exposing operations of the peripheral device to the application through the normalized interface. 12. The method of claim 10 further comprising, servicing a second access request from the application directed to a second peripheral device through the normalized interface, wherein the second peripheral device is a different peripheral device type from that which is associated with the peripheral device. 13. The method of claim 10 further comprising, dynamically adding functionality through the normalized interface. 14. The method of claim 10 further comprising, dynamically removing functionality through the normalized interface. 15. The method of claim 10 , wherein receiving further includes receiving interactions, including the peripheral access request, through the normalized interface as OS-independent messages. 16. The method of claim 15 , wherein receiving the interactions further obtaining the OS-independent messages as byte vectors. 17. A Self-Service Terminal (SST) for configuring and using a device driver to access a plurality of peripheral devices, the SST comprising: a memory storing a core device driver and configured and adapted to: i) execute on the processor within its own independent processing context within an Operating System (OS) and within a container on the SST, wherein the core device driver includes a driver control component that provides a glue between a loader a core device driver managers and a core device driver service function hub, wherein the core device driver is single generic core device driver that supports a plurality of peripheral devices, ii) service an access request made by an application and directed to a peripheral device of the SST through a normalized interface, wherein the core device driver is independent of any OS and Application Programming Interface (API) and wherein the core device driver processes at a different OS layer and as a differ

Assignees

Inventors

Classifications

  • Configuring for operating with peripheral devices; Loading of device drivers · CPC title

  • Configuring for program initiating, e.g. using registry, configuration files · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10002007B2 cover?
A device driver is configured to provide access to at least one peripheral device through a normalized interface. A loader is provided with the device driver. When the loader is executed, the loader loads the device driver to an operating system (OS) within its own independent processing context. The interactions through the normalized interface are OS independent.
Who is the assignee on this patent?
Ncr Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/44505. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 19 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).