IP Library Granted Patent US 9,659,464
Granted Patent B2
US 9,659,464 · App. 13/322,281 · Granted May 23, 2017

User terminal system and method

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,659,464
App. No.
13/322,281
Granted
May 23, 2017
Kind
B2
Abstract

A monitoring system for a user terminal, wherein the user terminal comprises at least one application for controlling a user transaction or interaction process of the user terminal, the user transaction or interaction process comprising providing content data to a hardware device of the user terminal and outputting the content data to the user by the hardware device, and the monitoring system comprises monitoring means for monitoring the content data and determining a state of the user transaction or interaction process from the content data.

Claims (67)

1. A monitoring system for an automated teller machine (ATM), the monitoring system comprising:

an ATM user terminal, wherein the ATM comprises:

a plurality of hardware devices, the plurality of hardware devices including a display device;

an application layer comprising an ATM application for controlling a user transaction or interaction process of the ATM;

an application program interface (API) layer;

a hardware-specific platform layer comprising hardware device drivers for controlling operation of the hardware devices; and

a data store storing a plurality of screen data files, wherein

the user transaction or interaction process comprising providing under control of the ATM application display data represented by the screen data files to the display device of the ATM for rendering by the display device, wherein the display data comprises pixel data items representative of pixels representing display screens for display on the display device, and the system further comprises:

at least one further application, wherein the at least one further application is configured to modify a selected at least one of the screen data files stored by the data store to include for said selected at least one of the screen data files an encoded identifier, wherein the identifier is encoded on a value of at least one pixel data item represented by the at least one screen data file and identifies a display screen represented by the screen data file; and the system further comprises:

a monitor for monitoring during the user transaction or interaction process the display data provided to the display device and for determining from the identifier encoded on the value of said at least one pixel data item whether the display data corresponds to a predetermined display screen, wherein

the further application or at least one of the further applications is configured to replace or overlay said predetermined display screen with additional or alternative content in response to the monitor determining that the display data corresponds to the predetermined display screen; and

the monitor is arranged to operate independently of said ATM application by monitoring the display data and determining a state of the user transaction or interaction process without requiring modification of said ATM application and without interfering with operation of said ATM application.

2. A system according to claim 1 , wherein the user transaction or interaction process comprises the display of a sequence of display screens, and the monitor is configured to identify from the display data a display screen of the sequence.

3. A system according to claim 1 , wherein at least one of:

a) the monitoring of the display data comprises monitoring rendered display data; or

b) the identifier is encoded on a color component value of said at least one pixel data item.

4. A system according to claim 3 , wherein said at least one pixel data item comprises at least one pixel data item representative of a predetermined number of pixels, wherein the predetermined number of pixels is less than or equal to at least one of 10, 6, and 4.

5. A system according to claim 3 , wherein the identifier is included in pixel data items representative of pixels for display at or near a predetermined location on the display of the display device, wherein optionally the predetermined location comprises an edge or corner of the display.

6. A system according to claim 3 , wherein the monitor is configured to select said at least one pixel data item from the plurality of pixel data items and to monitor said selected at least one pixel data item.

7. A system according to claim 1 , wherein the further application or at least one of the further applications is configured to replace or overlay said predetermined display screen with additional or alternative content is configured to at least one of:

a) synchronize the provision of additional or alternative content with the user transaction or interaction process; or

b) provide the additional or alternative content during at least one predetermined state of the user transaction or interaction process.

8. A system according to claim 1 , wherein the monitor is configured to determine whether the determined state of the user transaction or interaction process matches a predetermined state, and the further application or at least one of the further applications is configured to provide the additional or alternative content in response to the determined state matching the predetermined state.

9. A system according to claim 2 , wherein the further application or at least one of the further applications is configured to provide the additional or alternative content in response to detection of a predetermined one of the display screens of the sequence of display screens, and optionally to replace or overlay the predetermined one of the display screens with the additional or alternative content.

10. A system according to claim 1 , wherein the further application or at least one of the further applications is configured to wait for a predetermined delay period before providing the additional or alternative content.

11. A system according to claim 1 , further comprising means for modifying the display data to be provided to the display device to include the or an identifier, and further comprising the data store for storing the display data, wherein the modifying means is configured to modify display data stored in the data store and to store the modified display data in the data store for subsequent retrieval and output.

12. A system according to claim 11 , wherein the display data comprises at least one screen data file comprising pixel data items, and the modifying means is configured to modify at least one of the pixel data items to include the identifier.

13. A system according to claim 1 , wherein at least one of:

a) the monitor is arranged to monitor content of the display screens and to determine a state of the user transaction or interaction process without interfering with operation of the application;

b) the monitor comprises, or forms part of, a separate application installed on the user terminal separate from the ATM application.

14. A system according to claim 1 , wherein the monitor is configured to monitor the display data by issuing an API call to at least one of:

a) a control program for the display device;

b) a driver for the display device;

c) an operating system of the user terminal.

15. A system according to claim 1 , wherein the monitor comprises at least one of: a separate application; an application module; an API.

16. A system according to claim 1 , wherein the system further comprises a renderer for rendering the display data for output by the display device, and the monitoring of the display data by the monitor comprises monitoring the rendered display data.

17. A method of monitoring an automated teller machine (ATM) user terminal, the method comprising:

controlling a user transaction or interaction process of the ATM using an ATM application, and the process comprises providing display data represented by screen data files for output to a user by a display device of the ATM, wherein the display data comprises pixel data items representative of pixels representing display screens for display on the display device, and the method further comprising:

modifying, using at least one further application, a selected at least one of the screen data files stored by the data store to include for said selected at least one of the screen data files an encoded identifier, wherein the identifier is encoded on a value of at least one pixel data item represented by the at least one screen data file and identifies a display screen represented by the screen data file; and the method further comprising:

monitoring, using a monitor, during the user transaction or interaction process the display data provided to the display device and for determining from the identifier encoded on the value of said at least one pixel data item whether the display data corresponds to a predetermined display screen, wherein

the further application or at least one of the further applications is configured to replace or overlay said predetermined display screen with additional or alternative content in response to the monitor determining that the display data corresponds to the predetermined display screen; and

the monitoring of the display data and determining a state of the user transaction or interaction process is performed without modifying said ATM application and without interfering with operation of said ATM application.

18. A computer program product comprising at least one non-transitory computer-readable medium having computer-readable program code portions embodied therein, the computer-readable program code portions comprising:

an executable portion configured for rendering display data represented by screen data files for output by a display device of an automated teller machine (ATM), wherein, the display data comprises pixel data items representative of pixels representing display screens for display on the display device;

an executable portion configured for modifying, using at least one further application, a selected at least one of the screen data files stored by the data store to include for said selected at least one of the screen data files an encoded identifier, wherein the identifier is encoded on a value of at least one pixel data item represented by the at least one screen data file and identifies a display screen represented by the screen data file; and

an executable portion configured for monitoring, using a monitor, during the user transaction or interaction process the rendered display data provided to the display device and for determining from the identifier encoded on the value of said at least one pixel data item whether the display data corresponds to a predetermined display screen, wherein

an ATM application controls a user transaction or interaction process of the ATM and the monitoring of the rendered display data;

the further application or at least one of the further applications is configured to replace or overlay said predetermined display screen with additional or alternative content in response to the monitor determining that the display data corresponds to the predetermined display screen; and

determining a state of the user transaction or interaction process is performed without modifying the ATM application and without interfering with operation of the ATM application.

19. A control system for an automated teller machine (ATM), comprising:

an ATM user terminal, wherein the ATM comprises:

a plurality of hardware devices;

an application layer comprising an ATM application for controlling a user transaction or interaction process of the ATM;

an application program interface (API) layer comprising an interface to a receipt printer device;

a hardware-specific platform layer comprising hardware device drivers for controlling operation of the hardware devices; and

a data store;

at least one further application, wherein the at least one further application is arranged to intercept at least one message sent from the ATM application or the API, wherein the at least one message comprises content and at least one command from the ATM application to a receipt printer device to print the content on a receipt; and

a monitor for monitoring the at least one message sent from the ATM application or the API and determining a state of a user transaction or interaction process,

wherein the further application or at least one of the further applications is configured to analyze the content to be included on the receipt to determine whether or not to amend or include any further content and amend the intercepted message or at least one of the intercepted messages to provide content that is additional or alternative to the content that is included in the at least one intercepted message and for providing the at least one amended message to the receipt printer device for printing of the additional or alternative content, wherein the monitoring of the at least one message and the determining of a state of the user transaction or interaction process is performed without modifying said ATM application and without interfering with operation of said ATM application.

20. A method of controlling an automated teller machine (ATM) that comprises an ATM application and an application programming interface (API) comprising an interface to a receipt printer device, wherein the method comprises:

intercepting, using at least one further application, at least one message sent from the ATM application or the API, wherein the at least one message comprises content and at least one command from the ATM application to a receipt printer device to print the content on a receipt; and

monitoring, using a monitor, the at least one message sent from the ATM application or the API and determining a state of a user transaction or interaction process,

wherein the further application or at least one of the further applications is configured to analyze the content to be included on the receipt to determine whether or not to amend or include any further content and amend the intercepted message or at least one of the intercepted messages to provide content that is additional or alternative to the content that is included in the at least one intercepted message and to provide the at least one amended message to the receipt printer device, wherein the monitoring of the at least one message and the determining of a state of the user transaction or interaction process is performed without modifying said ATM application and without interfering with operation of said ATM application.

21. A computer program product comprising at least one non-transitory computer-readable medium having computer-readable program code portions embodied therein, the computer-readable program code portions comprising:

an executable portion configured for intercepting, using at least one further application, at least one message sent from an automated teller machine (ATM) application or an application programming interface (API), wherein the at least one message comprises content and at least one command from the ATM application to a receipt printer device to print the content on a receipt; and

an executable portion configured for monitoring, using a monitor, the at least one message sent from the ATM application or the API and determining a state of a user transaction or interaction process,

wherein the further application or at least one of the further applications is configured to analyze the content to be included on the receipt to determine whether or not to amend or include any further content and amend the intercepted message or at least one of the intercepted messages to provide content that is additional or alternative to the content that is included in the at least one intercepted message and providing the at least one amended message to the receipt printer device, wherein the monitoring of the at least one message and the determining of a state of the user transaction or interaction process is performed without modifying said ATM application and without interfering with operation of said ATM application.

Assignments (7)
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 →
SECURITY INTEREST Recorded Oct 24, 2023
From: NCR ATLEOS CORPORATION
To: CITIBANK, N.A.
Reel/Frame 065331/0297 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2012
From: SWINFEN, RICHARD; HASSELGREN, RALPH
To: I-DESIGN MULTI MEDIA LIMITED
Reel/Frame 027602/0055 →