US 12,450,139 B1
Dynamic traffic pattern analysis and rate-limit adjustment
David Charles, Irving, TX (US)
Assigned to Citibank, N.A., New York, NY (US)
Filed by Citibank, N.A., New York, NY (US)
Filed on Feb. 20, 2025, as Appl. No. 19/059,085.
Int. Cl. G06F 11/30 (2006.01); G06F 11/32 (2006.01)
CPC G06F 11/3051 (2013.01) [G06F 11/324 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A system for application programming interface monitoring, the system comprising:
one or more processors; and
one or more non-transitory computer-readable media comprising instructions that, when executed by the one or more processors, cause operations comprising:
receiving, for a plurality of application programming interfaces, usage monitoring data, wherein each application programming interface of the plurality of application programming interfaces is associated with a corresponding rate limit, and wherein the usage monitoring data comprises timing data and access metrics for the plurality of application programming interfaces;
inputting the usage monitoring data into a machine learning model to obtain one or more time periods when a corresponding usage rate for one or more application programming interfaces is predicted to exceed the corresponding rate limit, wherein the machine learning model has been trained, using training data, to predict time periods when usage rates exceed rate limits;
determining that a matching time period has been output by the machine learning model for a subset of oversubscribed application programming interfaces, wherein the matching time period indicates that the subset of oversubscribed application programming interfaces are each predicted to exceed the corresponding rate limit;
based on determining that the matching time period has been output by the machine learning model for the subset of oversubscribed application programming interfaces, retrieving resource allocation data for the plurality of application programming interfaces, wherein the resource allocation data comprises allocation data for one or more of processing resources, memory resources, or network resources;
determining, based on the resource allocation data, one or more undersubscribed application programming interfaces from which resources may be reallocated for the subset of oversubscribed application programming interfaces;
reallocating the resources to the subset of oversubscribed application programming interfaces by decreasing the rate limits for the one or more undersubscribed application programming interfaces for the matching time period; and
updating corresponding rate limits for the subset of oversubscribed application programming interfaces to increase the corresponding rate limits.