IP Library Granted Patent US 12,573,272
Granted Patent B2
US 12,573,272 · App. 18/597,427 · Granted Mar 10, 2026

Systems and methods for ATM session caching

Inventors: Ankitkumar Patel (Dublin, OH); Anatoliy Lelikov (Columbus, OH)
Assignee: JPMORGAN CHASE BANK, N.A.
G07F19/211H04L67/02
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 12,573,272
App. No.
18/597,427
Filed
Mar 6, 2024
Granted
Mar 10, 2026
Kind
B2
Art Unit
2876
USPC
235/379
Abstract

A method may include: receiving a first communication from an ATM; identifying a first processing server of a plurality of processing servers; associating the first processing server to the ATM and returning an association indicator for an association between the ATM and the first processing; routing the first communication to the first processing server; saving a session state of the ATM to a cache; determining that the first processing server is offline; identifying a second processing server; associating the second processing server to the ATM and returning a new association indicator for the association between the ATM and the second processing server to the ATM; receiving a second communication from the ATM to process a transaction comprising the new association indicator; identifying the second processing server from the new association indicator; routing second communication to the second processing server; and retrieving the session state for the ATM from the cache.

Claims (49)

1 . A method, comprising:

receiving, at a routing controller, a first communication from an automated teller machine (ATM);

identifying, by the routing controller, a first processing server of a plurality of processing servers associated with the routing controller;

associating, by the routing controller, the first processing server to the ATM and returning an association indicator for an association between the ATM and the first processing server to the ATM;

routing, by the routing controller, the first communication to the first processing server;

saving, by the first processing server, a session state of the ATM to a distributed cache, wherein the distributed cache comprises a plurality of caching nodes, each caching node in communication with one of the plurality of processing servers;

determining, by the routing controller, that the first processing server is offline;

identifying, by the routing controller, a second processing server of the plurality of processing servers associated with the routing controller;

associating, by the routing controller, the second processing server to the ATM and returning a new association indicator for the association between the ATM and the second processing server to the ATM;

receiving, at the routing controller, a second communication from the ATM to process a transaction and the new association indicator;

identifying, by the routing controller, the second processing server from the new association indicator;

routing, by the routing controller, the second communication to the second processing server; and

retrieving, by the second processing server, the session state for the ATM from the caching node of the distributed cache that is in communication with the second processing server.

2 . The method of claim 1 , wherein the first communication and the second communication comprise HTTP requests.

3 . The method of claim 1 , wherein the first communication comprises a request to be associated with a one of the plurality of processing servers.

4 . The method of claim 1 , wherein the session state comprises in-flight transaction information.

5 . The method of claim 1 , wherein the ATM is re-assigned to a different processing server of the plurality of processing servers periodically.

6 . The method of claim 1 , further comprising:

selecting, by a load balancer, the routing controller out of a plurality of routing controllers; and

routing, by the load balancer, the first communication to the routing controller.

7 . A system, comprising:

an automated teller machine (ATM);

a routing controller in communication with the ATM;

a plurality of processing servers in communication with the routing controller; and

a distributed cache comprising a plurality of caching nodes, each caching node in communication with one of the plurality of processing servers;

wherein:

the routing controller is configured to receive a first communication from the ATM, to identify a first processing server of the plurality of processing servers associated with the routing controller, to associate the first processing server to the ATM; to return an association indicator for an association between the ATM and the first processing server to the ATM, to route the first communication to the first processing server, to save a session state of the ATM to the distributed cache, to determine that the first processing server is offline, to identify a second processing server of the plurality of processing servers associated with the routing controller, to associate the second processing server to the ATM, to return a new association indicator for the association between the ATM and the second processing server to the ATM, to receive a second communication from the ATM to process a transaction and the new association indicator, to identify the second processing server from the new association indicator, to route the second communication to the second processing server, and to retrieve the session state for the ATM from the caching node of the distributed cache that is in communication with the second processing server.

8 . The system of claim 7 , wherein the first communication and the second communication comprise HTTP requests.

9 . The system of claim 7 , wherein the first communication comprises a request to be associated with a one of the plurality of processing servers.

10 . The system of claim 7 , wherein the session state comprises in-flight transaction information.

11 . The system of claim 7 , wherein the ATM is re-assigned to a different processing server of the plurality of processing servers periodically.

12 . The system of claim 7 , further comprising a load balancer that is configured to select the routing controller out of a plurality of routing controllers, and to route the first communication to the routing controller.

13 . A non-transitory computer readable storage medium, including instructions stored thereon, which when read and executed by one or more computer processors, cause the one or more computer processors to perform steps comprising:

receiving a first communication from an automated teller machine (ATM);

identifying a first processing server of a plurality of processing servers associated with a routing controller;

associating the first processing server to the ATM and returning an association indicator for an association between the ATM and the first processing server to the ATM;

routing the first communication to the first processing server;

saving a session state of the ATM to a distributed cache, wherein the distributed cache comprises a plurality of caching nodes, each caching node in communication with one of the plurality of processing servers;

determining that the first processing server is offline;

identifying a second processing server of the plurality of processing servers associated with the routing controller;

associating the second processing server to the ATM and returning a new association indicator for the association between the ATM and the second processing server to the ATM;

receiving a second communication from the ATM to process a transaction and the new association indicator;

identifying the second processing server from the new association indicator;

routing second communication to the second processing server; and

retrieving the session state for the ATM from the caching node of the distributed cache that is in communication with the second processing server.

14 . The non-transitory computer readable storage medium of claim 13 , wherein the first communication and the second communication comprise HTTP requests.

15 . The non-transitory computer readable storage medium of claim 13 , wherein the first communication comprises a request to be associated with a one of the plurality of processing servers.

16 . The non-transitory computer readable storage medium of claim 13 , wherein the session state comprises in-flight transaction information.

17 . The non-transitory computer readable storage medium of claim 13 , wherein the ATM is re-assigned to a different processing server of the plurality of processing servers periodically.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2025
From: PATEL, ANKITKUMAR; LELIKOV, ANATOLIY
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 073089/0558 →
Continuity (2)
Provisional Application 63489276 · Mar 9, 2023
Related Publication 20250078631A1 · Mar 6, 2025
References Cited (1)
US 20110179305A1 · Lammel · 2011 [cited by examiner]