IP Library Granted Patent US 9,098,362
Granted Patent B1
US 9,098,362 · App. 14/290,177 · Granted Aug 4, 2015

Operating system (OS) independent application and device communication

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 9,098,362
App. No.
14/290,177
Granted
Aug 4, 2015
Kind
B1
Abstract

An Inter-Process Communication (IPC) message transport mechanism is provided with an Application Programming Interface (API). Applications use the API to create and register clients, and device drivers for devices use the API to create and register services. The applications and device drivers use their own independent API to pass commands and responses to one another using the clients and services. An IPC message transport manager manages and routes the commands as messages without any restrictions on the format or content of the messages. The messages routed in an OS independent fashion.

Claims (25)

1. A method, comprising:

providing, on a processor, an Application Programming Interface (API) to a client application and a device driver;

receiving a client object instantiated by the client application and a service object instantiated by the device driver through the API that permit the client application and the device driver to communicate with one another through messages in formats defined by the client application and the device driver, wherein the messages are relayed and managed in an Operating System (OS)-independent manner; and

registering the client object and the service object through the API.

2. The method of claim 1 , wherein registering further includes publishing the service object as being available to the client object.

3. The method of claim 2 , wherein publishing further includes receiving an indication from the client object to communicate with the service object.

4. The method of claim 2 , wherein publishing further includes receiving an indication from the client object to register for events published by the service object.

5. The method of claim 4 , wherein publishing further includes receiving another indication from the client object to register for events broadcast by the service object.

6. The method of claim 1 , wherein receiving further includes managing messages between the client object and the service object by mapping each message to an address to which that message is being sent, the address outside an OS processing context from where the message originated.

7. The method of claim 1 , wherein receiving further includes queuing a number of the messages for the client object and the service object to pick up, wherein the messages are maintained in a memory buffer until picked up.

8. A method, comprising:

receiving, on a host device, a service message exposing functionality of a peripheral device from a service object registered by a device driver of the peripheral device;

resolving an address for a client object registered by a client application based on the service message received from the service object; and

relaying the service message, to the client object, for delivery to the client application.

9. The method of claim 8 further comprising, receiving a second message from the client object initiated by the client application and requesting a service function associated with the exposed functionality.

10. The method of claim 9 further comprising, resolving a second address for the service object based on the client object and the second message.

11. The method of claim 10 further comprising, relaying the second message, to the service object, for delivery to the device driver and processing on the peripheral device.

12. The method of claim 11 further comprising, receiving a third message from the service object for a response made to the second message by the device driver.

13. The method of claim 12 further comprising, resolving the address a second time for the client object.

14. The method of claim 13 further comprising, relaying the third message to the client object for delivery to the client application.

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

a processor; and

an Inter-Process Communication (IPC) message transport manager configured and adapted to: i) execute on the processor within its own independent processing context within an Operating System (OS) for the SST, ii) relay messages between client applications and device drivers for peripherals of the SST in an OS-independent manner, without imposing restrictions on the format of the messages, and (iii) register client objects instantiated by the client applications and service objects instantiated by the device drivers.

16. The SST of claim 15 , wherein the IPC message transport manager is further and adapted to: iv) maintain address mappings between the client objects and the service objects.

17. The SST of claim 15 , wherein the IPC message transport manager is further and adapted to: iv) provide an Application Programming Interface (API) to the client applications and to the device drivers to create and register the client objects and the service objects that perform the relays of the messages on behalf of the client applications and the device drivers.

Assignments (9)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2024
From: NCR VOYIX CORPORATION
To: NCR ATLEOS CORPORATION
Reel/Frame 067590/0109 →
CHANGE OF NAME Recorded May 30, 2024
From: NCR CORPORATION
To: NCR VOYIX CORPORATION
Reel/Frame 067578/0417 →
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 →
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 →
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 24, 2023
From: NCR ATLEOS CORPORATION
To: CITIBANK, N.A.
Reel/Frame 065331/0297 →
SECURITY AGREEMENT Recorded Apr 18, 2016
From: NCR CORPORATION; NCR INTERNATIONAL, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 038646/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2014
From: CATHRO, IAN; SPOHN, BRIAN
To: NCR CORPORATION
Reel/Frame 032988/0641 →