IP Library › Granted Patent US 12,470,559
Granted Patent B2
US 12,470,559 · App. 18/618,787 · Granted Nov 11, 2025

Automatic transaction processing failover

Inventors: Lavangana Govil (Glen Allen, VA); David J. Hicks (Glen Allen, VA); Harinath R. Nallabolu (Glen Allen, VA); Ranvirsinh Raol (Glen Allen, VA); Srinivas Alladi (Glen Allen, VA)
Assignee: Capital One Services, LLC
H04L63/10G06F9/466H04L1/22
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,470,559
App. No.
18/618,787
Granted
Nov 11, 2025
Kind
B2
Abstract

Transaction authorization systems may include a transaction processor and an authorization server system. The transaction processor obtains transaction requests authorizations for those requests from the authorization server system. The transaction processor may require an authorization be provided within a threshold time; otherwise, the transaction may be processed without authorization. The authorization server system may be hosted using one or more nodes in a distributed system. Degradation of the performance of the distributed system may cause the performance of the authorization server system to fall below the required performance threshold and transactions may not be authorized before automatic processing. Transaction authorization systems may monitor the health of the individual nodes and/or the distributed system and automatically adjust the routing of authorizations based on current and/or future performance degradation. The transaction authorization system may also allocate additional resources and/or reroute authorizations to a separate distributed system to avoid performance degradations.

Claims (56)

1 . A computer-implemented method comprising:

receiving, from a monitoring device, system performance data;

determining, based on the system performance data, to reroute future processing requests, wherein rerouting future processing requests is based on a determination of a broken processing node;

determining, based on the system performance data, a failover system;

modifying, based on the determined failover system, a routing authorization; and

based on modifying the routing authorization to reroute future processing requests, repairing the broken processing node by:

generating, based on comparing performance metrics of the broken processing node to a threshold, one or more command messages that, when executed, modify a quantity of computing resources allocated to the broken processing node; and

transmitting, to the broken processing node, the one or more command messages.

2 . The method of claim 1 , wherein the determination of a broken processing node indicates that the broken processing node is unable to process authorization requests.

3 . The method of claim 1 , wherein the determination of a broken processing node indicates that the broken processing node is unable to process authorization requests within a time threshold, wherein the time threshold is based on a service agreement.

4 . The method of claim 1 , further comprising:

determining, based on a performance degradation of the broken processing node, the broken processing node; and

determining the failover system by determining a probabilistic likelihood that the failover system will not experience the performance degradation when processing authorization requests.

5 . The method of claim 1 , wherein the one or more command messages, when executed, modify the quantity of computing resources allocated to the broken processing node by being configured to cause allocation of additional computing resources to the broken processing node.

6 . The method of claim 1 , further comprising:

based on determining the failover system, transmitting a notification that future authorization requests will automatically be rerouted to one or more computing devices.

7 . The method of claim 1 , wherein the system performance data comprises one or more of:

historical performance data; or

anticipated future performance data.

8 . A computing device, comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the computing device to:

receive, from a monitoring device, system performance data;

determine, based on the system performance data, that a processing node is unable to process authorization requests;

determine, based on determining that the processing node is unable to process authorization requests, a failover system, wherein the failover system is configured to reroute future processing requests;

modify, based on the determined failover system, a routing authorization; and

based on modifying the routing authorization to reroute future processing requests, repair the processing node by:

generating, based on comparing performance metrics of the processing node to a threshold, one or more command messages that, when executed, modify a quantity of computing resources allocated to the processing node; and

transmitting, to the processing node, the one or more command messages.

9 . The device of claim 8 , wherein the one or more command messages, when executed, modify the quantity of computing resources allocated to the broken processing node by being configured to cause allocation of additional computing resources to the processing node.

10 . The device of claim 8 , wherein the system performance data comprises one or more of:

historical performance data; or

anticipated future performance data.

11 . The device of claim 8 , wherein the instructions, when executed by the one or more processors, cause the computing device to:

determine the processing node based on a performance degradation of the processing node; and

determine the failover system by determining a probabilistic likelihood that the failover system will not experience the performance degradation when processing authorization requests.

12 . The device of claim 8 , wherein the determination of a broken processing node indicates that the broken processing node is unable to process authorization requests within a time threshold, the time threshold based on a service agreement.

13 . The device of claim 8 , wherein the instructions, when executed by the one or more processors, cause the computing device to:

transmit, based on determining the failover system, a notification that future authorization requests will automatically be rerouted to one or more computing devices.

14 . The device of claim 8 , wherein the determination of a broken processing node is based on a time elapsed between obtaining an authorization request and a time an authorization response is transmitted or received.

15 . A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform steps comprising:

receiving, from a monitoring device, system performance data, wherein the system performance data comprises anticipated future performance of a processing node;

determining, based on the system performance data, to reroute future processing requests, wherein rerouting future processing requests is based on a determination that the processing node is broken;

determining, based on the system performance data, a failover system;

modifying, based on the determined failover system, a routing authorization; and

based on modifying the routing authorization to reroute future processing requests, repairing the broken processing node by:

generating, based on comparing performance metrics of the broken processing node to a threshold, one or more command messages that, when executed, modify a quantity of computing resources allocated to the broken processing node; and

transmitting, to the broken processing node, the one or more command messages.

16 . The non-transitory computer-readable medium of claim 15 , wherein the system performance data further comprises historical performance of the processing node.

17 . The non-transitory computer-readable medium of claim 15 , wherein the determination that the processing node is broken is based on data indicating that the processing node is unable to process authorization requests within a time threshold set by a service agreement.

18 . The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by one or more processors, cause the one or more processors to perform steps comprising:

determining, based on a performance degradation of the processing node, that the processing node is broken; and

determining the failover system by determining a probabilistic likelihood that the failover system will not experience the performance degradation when processing authorization requests.

19 . The non-transitory computer-readable medium of claim 15 , wherein the one or more command messages are that, when executed, modify the quantity of computing resources allocated to the broken processing node by being configured to cause allocation of additional computing resources to the broken processing node.

20 . The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed, cause the one or more processors to perform steps comprising:

transmitting, based on determining the failover system, a notification that future authorization requests will automatically be rerouted to one or more computing devices.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2024
From: GOVIL, LAVANGANA; HICKS, DAVID J.; NALLABOLU, HARINATH R.; RAOL, RANVIRSINH; ALLADI, SRINIVAS
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 066959/0641 →
Continuity (5)
Continuation 18145184 · Dec 22, 2022
Continuation 17135531 · Dec 28, 2020
Continuation 16674888 · Nov 5, 2019
Continuation 16515400 · Jul 18, 2019
Related Publication 20240244054A1 · Jul 18, 2024
References Cited (25)
US 7620848B1 · Tanner · 2009 [cited by examiner]
US 7757236B1 · Singh · 2010 [cited by applicant]
US 8037364B2 · Kern et al. · 2011 [cited by applicant]
US 8401968B1 · Schattauer et al. · 2013 [cited by applicant]
US 8554129B2 · Timbadia et al. · 2013 [cited by applicant]
US 9641880B1 · Scurtu et al. · 2017 [cited by applicant]
US 10574657B1 · Govil et al. · 2020 [cited by applicant]
US 20020095489A1 · Yamagami · 2002 [cited by applicant]
US 20040199815A1 · Dinker et al. · 2004 [cited by applicant]
US 20050262104A1 · Robertson et al. · 2005 [cited by applicant]
US 20050268156A1 · Mashayekhi et al. · 2005 [cited by applicant]
US 20080288212A1 · Greifeneder · 2008 [cited by applicant]
US 20110214007A1 · Sreenivasan et al. · 2011 [cited by applicant]
US 20110225337A1 · Byrne et al. · 2011 [cited by applicant]
US 20110280258A1 · Klingen · 2011 [cited by applicant]
US 20120117417A1 · Graham et al. · 2012 [cited by applicant]
US 20130159762A1 · Chiu et al. · 2013 [cited by applicant]
US 20140173341A1 · Kern et al. · 2014 [cited by applicant]
US 20150032486A1 · Francois et al. · 2015 [cited by applicant]
US 20150277964A1 · Atkins · 2015 [cited by applicant]
US 20160119821A1 · Ramachandran · 2016 [cited by examiner]
US 20190200243A1 · Anand et al. · 2019 [cited by applicant]
US 20200111075A1 · Singhal · 2020 [cited by applicant]
US 20200127924A1 · Bugenhagen · 2020 [cited by examiner]
US 20220272104A1 · Yamanakajima · 2022 [cited by applicant]