US 12,367,085 B2
Machine learning methods and systems for application program interface management
José Francisco Díaz López, Lund (SE); Mikael Danielsson, Lund (SE); and Amanda Högberg, Lund (SE)
Assigned to QlikTech International AB, Lund (SE)
Filed by QlikTech International AB, Lund (SE)
Filed on Apr. 25, 2022, as Appl. No. 17/728,471.
Prior Publication US 2023/0342233 A1, Oct. 26, 2023
Int. Cl. G06F 11/07 (2006.01); G06F 11/3604 (2025.01); G06N 3/04 (2023.01)
CPC G06F 11/0706 (2013.01) [G06F 11/3612 (2013.01); G06N 3/04 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A method comprising:
receiving, at a computing device associated with an application programming interface (API), from a plurality of client devices that access the API via the computing device, a plurality of API request sets and a plurality of computational variables associated with computational resources required for execution of the plurality of API request sets, wherein each API request set of the plurality of API request sets comprises one or more API requests sent by one or more client devices of the plurality of client devices, and wherein each of the one or more API requests comprises a function name, a request type, and at least one computational variable, of the plurality of computational variables, indicative of at least one computational resource required for execution of the corresponding API request;
converting each of the one or more API requests of each of the plurality of API request sets into a corresponding array of binary values, wherein a first portion of each corresponding array of binary values is indicative of the function name, wherein a second portion of each corresponding array of binary values is indicative of the corresponding request type, and wherein a third portion of each corresponding array of binary values is indicative of the corresponding at least one computational variable;
generating, based on the corresponding array of binary values for each of the one or more API requests of each of the plurality of API request sets, a concatenated vector for each API request set of the plurality of API request sets;
training, based on the concatenated vector for each API request set of the plurality of API request sets, a predictive model, wherein the concatenated vector for each API request set is indicative of the function name, the request type, and the at least one computational variable associated with each of the one or more API requests for the corresponding API request set;
receiving, based on at least one further API request sent to the computing device by a first client device, of the plurality of client devices, a first concatenated vector for the at least one further API request, wherein the first concatenated vector is indicative of a function name, a request type, and at least one computational variable associated with the at least one further API request;
determining, via the predictive model, and based on the first concatenated vector, an expected execution result for the at least one further API request; and
causing, based on the expected execution result, the at least one further API request to be blocked from execution by the API, wherein the expected execution result is provided to the first client device with an indication of at least one computational resource that would be required for execution of the at least one further API request.