IP Library Granted Patent US 10,185,620
Granted Patent B2
US 10,185,620 · App. 15/264,459 · Granted Jan 22, 2019

Automated teller machine (“ATM”) software recovery

Inventors: Craig Ewington (Charlotte, NC); Debashis Choudhury (Dallas, TX)
Assignee: Bank of America Corporation
G06F11/0793G06F8/65G06F11/079G06F11/0709G06F11/0736G06F11/0757G06F11/1417G06F11/302G06F11/3006G06F11/3013G06F11/3055G06F11/3476G07F19/206G06F9/4401G06F2201/805G06F2201/835G06F2201/865
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,185,620
App. No.
15/264,459
Granted
Jan 22, 2019
Kind
B2
Abstract

Aspects of the disclosure relate to an ATM internal self-repair recovery system. The system may be included in software updates transmitted to the ATM. The system may include an XML file and a log file. Prior to execution of each instruction included in the XML file, the system may write an intelligent log statement to the log file. A standalone web service may monitor the log file to determine new entries to the log file. When a new entry is the last entry for more than a predetermined amount of time, a midstream ATM stall may be determined. The system may compare the new entry to an ATM stall action table. The comparison may determine an appropriate action to repair the installation process based on the table. The ATM may perform the appropriate action and thereby recover from the failures that occurred during the update process.

Claims (57)

1. A method for performing software recovery at an automated teller machine (“ATM”) during a remote robotic installation of a software update, the method comprising:

receiving a compressed software stack at the ATM, the software stack comprising three layers:

a windows operating system;

a device control layer; and

a user interface layer;

activating an update initiation engine, said update initiation engine configured to:

erase unnecessary files from the ATM hard drive;

explode the software stack into a plurality of files;

unpack and place the plurality of files in the desired locations on the hard drive;

implement an entity security policy; and

implement a specific policy associated with the ATM;

performing a sequence of initiation steps included in an XML file, said XML file included in the plurality of files;

upon completion of each initiation step, writing, as a result of an instruction from the XML file, a log statement into a log file included in the plurality of files;

upon determination that a new entry was written into the log file more than thirty minutes before a current time and that the new entry is not a final entry, defining a midstream ATM stall;

upon definition of a midstream ATM stall, launching an internal recovery system;

comparing, utilizing a regular expression comparison algorithm included in the internal recovery system, the new entry to a midstream ATM stall action table, and based on the comparing determining a recovery action to perform in order to rectify the midstream ATM stall; and

performing the determined recovery action.

2. The method of claim 1 , wherein the determined recovery action comprises re activating the update initiation engine.

3. The method of claim 1 , wherein the determined recovery action comprises rebooting the ATM.

4. The method of claim 1 , wherein the obtaining unimpeded control of the ATM includes locking components of the ATM from a servicer.

5. The method of claim I further comprising saving the compressed software stack in an inert state on an ATM hard drive.

6. The method of claim 1 , wherein, prior to activating the update initiation engine, the method comprises obtaining unimpeded control of the ATM.

7. The method of claim 1 , wherein prior to activating the update initiation engine, the method comprises hooting the ATM into a windows pre-installation environment (“PE”) operating system from a random access memory (“RAM”) included in the ATM.

8. The method of claim 1 , further comprising monitoring, by a standalone windows service, for new entries in the log file.

9. The method of claim 1 , wherein the log statement is dynamically generated.

10. An apparatus for performing software recovery at an automated teller machine (“ATM”) during a remote robotic installation of a software update, the apparatus comprising:

a receiver, at the ATM, configured to receive a compressed software stack, the software stack comprising:

a windows operating system;

a device control layer; and

a user interface layer;

a processor, at the ATM, configured to:

activate an update initiation engine;

the update initiation engine configured to:

erase unnecessary files from the ATM hard drive;

explode the software stack into a plurality of tiles;

unpack and place the plurality of files in the desired location on the hard drive;

implement an entity security policy; and

implement a specific policy associated with the ATM;

the processor further configured to:

perform a sequence of initiation steps included in an XML file, said XML file included in the plurality of files;

upon completion of each initiation step, write, as a result of an instruction included in the XML file, a log statement into a log file included in the plurality of files;

a standalone windows service configured to:

determine that a new entry was written into the log file more than thirty minutes prior to a current time;

determine that the new entry is not a final entry;

detect a midstream ATM stall; and

launch an internal recovery system;

the internal recovery system configured to:

compare, utilizing a regular expression comparison algorithm included in the internal recovery system, the new entry to a midstream ATM stall action table;

determine, based on the comparing, a recovery action to perform in order to rectify the midstream ATM stall; and

perform the determined recovery action.

11. The apparatus of claim 10 , wherein the determined recovery action comprises re activating the update initiation engine.

12. The apparatus of claim 10 , wherein the determined recovery action comprises rebooting the ATM.

13. The apparatus of claim 10 , wherein the obtaining unimpeded control of the ATM includes locking components of the ATM from use by a servicer.

14. The apparatus of claim 10 , wherein the processor is further configured to store the compressed software stack in an inert state on an ATM hard drive.

15. The apparatus of claim 10 , wherein upon obtaining unimpeded control of the ATM, boot the ATM into a windows pre-installation environment (“PE”) operating system from a random access memory (“RAM”) included in the ATM.

16. The apparatus of claim 10 , wherein the standalone web service is further configured to monitor the log file for new entries.

17. The apparatus of claim 10 , wherein the entries written to the log file are dynamic.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2016
From: EWINGTON, CRAIG; CHOUDHURY, DEBASHIS
To: BANK OF AMERICA CORPORATION
Reel/Frame 039722/0690 →
Continuity (1)
Related Publication 20180074886A1 · Mar 15, 2018
Cited By (1)
US 12,613,610