IP Library Granted Patent US 10,120,698
Granted Patent B2
US 10,120,698 · App. 15/471,566 · Granted Nov 6, 2018

Operating system (OS) independent peripheral control

Inventors: Alexander William Whytock (Perthshire, GB); Graeme Mitchell (Dundee, GB)
Assignee: NCR Corporation
G06F9/4411G06F9/4406G06F9/45558G06F9/54G06F2009/45579
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,120,698
App. No.
15/471,566
Granted
Nov 6, 2018
Kind
B2
Abstract

An Operating-System (OS) independent peripheral API is provided to applications processing in an application OS. The API communicates with a peripheral OS that includes device drivers for peripherals. Requests for accessing the peripherals are made through the API of the application OS but access and control of the peripherals are maintained through the device drivers of the peripheral OS.

Claims (29)

1. A method, comprising:

receiving, at a first Operating System (OS), a request for access to a peripheral interfaced to the first OS, wherein the request originated from a second OS, wherein receiving the request further includes receiving the request from the second OS as inter-communications between two separate Virtual Machines (VMs), wherein a first VM processes the first OS and a second VM processes the second OS;

translating the request into a peripheral driver format; and

providing the translated request to a peripheral driver for processing by the peripheral.

2. The method of claim 1 , wherein receiving further includes receiving the request from the second OS over a wired network connection.

3. The method of claim 1 , wherein receiving further includes receiving the request from the second OS over a wireless connection.

4. The method of claim 1 , wherein receiving further includes receiving the request from the second OS from an application that processes within the second OS.

5. The method of claim 4 , wherein receiving further includes ensuring the second OS has no direct access or control over the peripheral and wherein the second OS is not connected to the peripheral.

6. The method of claim 1 , wherein translating further includes converting the request from an OS-independent command into one or more driver-specific commands recognized by the peripheral driver.

7. The method of claim 1 further comprising, receiving results from the peripheral driver in a driver format.

8. The method of claim 7 further comprising, translating the results in the driver format to an OS-independent Application Programming Interface (API) format.

9. The method of claim 8 further comprising, providing the translated results to an API processing in the second OS.

10. A method, comprising:

providing an Application Programming Interface (API) to a first Operating System (OS);

receiving a peripheral request that originates from an application processing in the first OS and receiving the peripheral request through the API, wherein receiving further includes receiving the peripheral request through the API as an intra-device connection originating from a first Virtual Machine (VM) of a device that processes the first OS to a second VM of the device that processes the method;

translating the peripheral request into a peripheral driver command of a peripheral interfaced to a second OS; and

processing by a peripheral driver the peripheral driver command on the peripheral.

11. The method of claim 10 , wherein receiving further includes receiving the peripheral request though the API over wired network connection.

12. The method of claim 10 , wherein receiving further includes receiving the peripheral request through the API over a wireless network connection.

13. The method of claim 10 further comprising, translating results from the peripheral processing the peripheral driver command into an API format and communicating the results in the API format to the application processing in the first OS.

14. The method of claim 10 further comprising, processing the method on a physical computing core that is separate and different from a second physical computing core that executes the first OS.

15. The method of claim 10 further comprising, processing the method on a network-accessible gateway device that controls access to the peripheral independent of the first OS, wherein the first OS is not connected to and has no direct access to the peripheral.

16. A Self-Service Terminal (SST), comprising:

a first Operating System (OS) operable to execute an application for controlling the SST; and

a second OS operable to control a plurality of peripheral devices coupled to the SST and available for use by the application;

wherein the first OS is configured to: i) identify a request for a peripheral device originating from the application and ii) provide the request through an OS-independent Application Programming Interface (API) command to the second OS, and wherein the second OS is configured to: iii) translate the API command into a peripheral command and iv) process the peripheral command on the peripheral device

wherein the SST is an Automated Teller Machine (ATM).

17. The SST of claim 16 , wherein the peripheral device is connected to the second OS of the ATM and is one of:

a display, a touch screen, a currency dispenser, a card reader, a scanner, a speaker, a microphone, a keyboard, a Personal Identification Number (PIN) pad, a receipt printer, and a wireless transceiver for wireless communication between the ATM and a wireless-enabled device.

Assignments (10)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PROPERTIES SECTION BY INCLUDING IT WITH TEN PREVIOUSLY OMITTED PROPERTY NUMBERS PREVIOUSLY RECORDED ON REEL 65346 FRAME 367. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Aug 13, 2025
From: NCR ATLEOS CORPORATION; CARDTRONICS USA, LLC
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 072445/0072 →
CHANGE OF NAME Recorded May 30, 2024
From: NCR CORPORATION
To: NCR VOYIX CORPORATION
Reel/Frame 067578/0417 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2024
From: NCR VOYIX CORPORATION
To: NCR ATLEOS CORPORATION
Reel/Frame 067590/0109 →
CORRECTIVE ASSIGNMENT TO CORRECT THE DOCUMENT DATE AND REMOVE THE OATH/DECLARATION (37 CFR 1.63) PREVIOUSLY RECORDED AT REEL: 065331 FRAME: 0297. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 31, 2023
From: NCR ATLEOS CORPORATION
To: CITIBANK, N.A.
Reel/Frame 065627/0332 →
RELEASE OF PATENT SECURITY INTEREST Recorded Oct 25, 2023
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: NCR VOYIX CORPORATION
Reel/Frame 065346/0531 →
SECURITY INTEREST Recorded Oct 25, 2023
From: NCR ATLEOS CORPORATION; CARDTRONICS USA, LLC
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 065346/0367 →
SECURITY INTEREST Recorded Oct 24, 2023
From: NCR ATLEOS CORPORATION
To: CITIBANK, N.A.
Reel/Frame 065331/0297 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS SECTION TO REMOVE PATENT APPLICATION: 15000000 PREVIOUSLY RECORDED AT REEL: 050874 FRAME: 0063. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Apr 12, 2021
From: NCR CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 057047/0161 →
SECURITY INTEREST Recorded Oct 29, 2019
From: NCR CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 050874/0063 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2018
From: WHYTOCK, ALEXANDER WILLIAM; MITCHELL, GRAEME
To: NCR CORPORATION
Reel/Frame 046430/0357 →
Continuity (1)
Related Publication 20180285124A1 · Oct 4, 2018