IP Library › Granted Patent US 11,558,385
Granted Patent B2
US 11,558,385 · App. 17/135,531 · Granted Jan 17, 2023

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 11,558,385
App. No.
17/135,531
Granted
Jan 17, 2023
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 (82)

1. A computer-implemented method, comprising:

obtaining an authorization request;

determining a maximum response time based on the authorization request;

transmitting, to a processing node in a set of processing nodes, the authorization request;

obtaining, from the processing node, response data based on the authorization request;

calculating a response time associated with the response data;

obtaining a second authorization request;

determining that the response time exceeds the maximum response time:

determining at least one factor causing the response time to exceed the maximum response time;

generating, based on the at least one factor, a command message comprising instructions to reconfigure the processing node;

transmitting the command message to a management device, wherein the command message causes the management device to modify the processing node; and

processing the second authorization request using the processing node once the processing node has been modified.

2. The computer-implemented method of claim 1 , further comprising calculating the response time associated with generating the response data by the processing node by:

transmitting, to the processing node and at a first time, test data via an application programming interface (API) provided by the processing node;

obtaining, at a second time, test response data generated based on the test data; and

determining the response time based on a difference between the first time and the second time.

3. The computer-implemented method of claim 1 , further comprising calculating the response time associated with generating the response data by the processing node by:

transmitting, to the processing node, test data via an application programming interface (API) provided by the processing node;

obtaining test response data generated based on the test data; and

determining the response time based on status information of the processing node indicated in the response data.

4. The computer-implemented method of claim 3 , wherein the status information is selected from the group consisting of an indication of a number of transactions processed by the processing node in a predetermined time frame, an indication of a latency for completing a write operation by the processing node, and an indication of an amount of free memory available in an in-memory data grid shared by each processing node in the set of processing nodes.

5. The computer-implemented method of claim 1 , wherein the command message causes the management device to restart the processing node.

6. The computer-implemented method of claim 1 , wherein the command message causes the management device to destroy the processing node.

7. The computer-implemented method of claim 1 , wherein the command message causes the management device to allocate additional processing resources to the processing node.

8. The computer-implemented method of claim 1 , further comprising:

determining a first geographic location associated with the processing node when the response time exceeds the maximum response time;

selecting a second processing node based on the second processing node being associated with a second geographic location distinct from the first geographic location; and

transmitting the second authorization request to the second processing node.

9. 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:

obtain an authorization request;

determine a maximum response time based on the authorization request;

transmit, to a processing node in a set of processing nodes, the authorization request;

obtain, from the processing node, response data based on the authorization request;

calculate a response time associated with the response data;

obtain a second authorization request;

determine that the response time exceeds the maximum response time:

determine at least one factor causing the response time to exceed the maximum response time;

generate, based on the at least one factor, a command message comprising instructions to reconfigure the processing node;

transmit the command message to a management device, wherein the command message causes the management device to modify the processing node; and

process the second authorization request using the processing node once the processing node has been modified.

10. The computing device of claim 9 , wherein the instructions, when executed by the one or more processors, further cause the computing device to calculate the response time associated with generating the response data by the processing node by:

transmitting, to the processing node and at a first time, test data via an application programming interface (API) provided by the processing node;

obtaining, at a second time, test response data generated based on the test data; and

determining the response time based on a difference between the first time and the second time.

11. The computing device of claim 9 , wherein the instructions, when executed by the one or more processors, further cause the computing device to calculate the response time associated with generating the response data by the processing node by:

transmitting, to the processing node, test data via an application programming interface (API) provided by the processing node;

obtaining test response data generated based on the test data; and

determining the response time based on status information of the processing node indicated in the response data.

12. The computing device of claim 11 , wherein the status information is selected from the group consisting of an indication of a number of transactions processed by the processing node in a predetermined time frame, an indication of a latency for completing a write operation by the processing node, and an indication of an amount of free memory available in an in-memory data grid shared by each processing node in the set of processing nodes.

13. The computing device of claim 9 , wherein the command message causes the management device to perform an action selected from the group consisting of restarting the processing node, destroying the processing node, and allocating additional resources to the processing node.

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

determine a first geographic location associated with the processing node when the response time exceeds the maximum response time;

select a second processing node based on the second processing node being associated with a second geographic location distinct from the first geographic location; and

transmit the second authorization request to the second processing node.

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

obtaining an authorization request;

determining a maximum response time based on the authorization request;

transmitting, to a processing node in a set of processing nodes, the authorization request;

obtaining, from the processing node, response data based on the authorization request;

calculating a response time associated with the response data;

obtaining a second authorization request;

determining that the response time exceeds the maximum response time:

determining at least one factor causing the response time to exceed the maximum response time;

generating, based on the at least one factor, a command message comprising instructions to reconfigure the processing node;

transmitting the command message to a management device, wherein the command message causes the management device to modify the processing node; and

processing the second authorization request using the processing node once the processing node has been modified.

16. The non-transitory machine-readable medium of claim 15 , wherein the instructions further cause the one or more processors to calculate the response time associated with generating the response data by the processing node by performing steps comprising:

transmitting, to the processing node and at a first time, test data via an application programming interface (API) provided by the processing node;

obtaining, at a second time, test response data generated based on the test data; and

determining the response time based on a difference between the first time and the second time.

17. The non-transitory machine-readable medium of claim 15 , wherein the instructions further cause the one or more processors to calculate the response time associated with generating the response data by the processing node by performing steps comprising:

transmitting, to the processing node, test data via an application programming interface (API) provided by the processing node;

obtaining test response data generated based on the test data; and

determining the response time based on status information of the processing node indicated in the response data.

18. The non-transitory machine-readable medium of claim 17 , wherein the status information is selected from the group consisting of an indication of a number of transactions processed by the processing node in a predetermined time frame, an indication of a latency for completing a write operation by the processing node, and an indication of an amount of free memory available in an in-memory data grid shared by each processing node in the set of processing nodes.

19. The non-transitory machine-readable medium of claim 15 , wherein the command message causes the management device to perform an action selected from the group consisting of restarting the processing node, destroying the processing node, and allocating additional resources to the processing node.

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

determining a first geographic location associated with the processing node when the response time exceeds the maximum response time;

selecting a second processing node based on the second processing node being associated with a second geographic location distinct from the first geographic location; and

transmitting the second authorization request to the second processing node.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2020
From: GOVIL, LAVANGANA; HICKS, DAVID J.; NALLABOLU, HARINATH R.; RAOL, RANVIRSINH; ALLADI, SRINIVAS
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 054757/0611 →
Continuity (3)
Continuation 16674888 · Nov 5, 2019
Continuation 16515400 · Jul 18, 2019
Related Publication 20210119998A1 · Apr 22, 2021