IP Library Granted Patent US 11,989,287
Granted Patent B2
US 11,989,287 · App. 17/502,169 · Granted May 21, 2024

Application programming interface anomaly detection

Inventors: Bijan Kumar Mohanty (Austin, TX); Manoj Nambirajan (Hyderabad, IN); Mohit Kumar Agarwal (Bangalore, IN); Hung Dinh (Austin, TX); Harish Mysore Jayaram (Cedar Park, TX)
Assignee: Dell Products L.P.
G06F21/552G06F9/547G06F11/3466G06F18/2433G06F21/554G06N20/20
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,989,287
App. No.
17/502,169
Filed
Oct 15, 2021
Granted
May 21, 2024
Kind
B2
Art Unit
2455
USPC
726/22
Abstract

A method comprises collecting parameters corresponding to processing by a first application programming interface of at least one application programming interface transaction, analyzing the parameters using one or more machine learning algorithms, and predicting, based at least in part on the analyzing, whether the at least one application programming interface transaction is anomalous. In the method, the first application programming interface is designated as being in an anomalous state responsive to predicting that the at least one application programming interface transaction is anomalous. One or more application programming interface requests for the first application programming interface are routed to a second application programming interface responsive to the anomalous state designation.

Claims (49)

1. A method, comprising:

collecting parameters corresponding to processing by a first application programming interface of at least one application programming interface transaction;

analyzing the parameters using one or more machine learning algorithms;

predicting, based at least in part on the analyzing, whether the at least one application programming interface transaction is anomalous;

designating the first application programming interface as being in an anomalous state responsive to predicting that the at least one application programming interface transaction is anomalous; and

routing one or more application programming interface requests for the first application programming interface to a second application programming interface responsive to the anomalous state designation;

wherein the second application programming interface is configured based on functionality of the first application programming interface to enable the second application programming interface to operate and process the one or more application programming interface requests in place of and with the functionality of the first application programming interface;

wherein the steps of the method are executed by a processing device operatively coupled to a memory.

2. The method of claim 1 , further comprising determining whether a threshold number of application programming interface transactions of a plurality of application programming interface transactions associated with the first application programming interface have been predicted as anomalous before designating the first application programming interface as being in an anomalous state.

3. The method of claim 2 , wherein the threshold number of application programming interface transactions comprises a consecutive number of application programming interface transactions that have been predicted as anomalous.

4. The method of claim 1 , wherein the parameters comprise at least one of an application programming interface identifier, an application programming interface request time, and an application programming interface response time.

5. The method of claim 1 , wherein the one or more machine learning algorithms utilize an unsupervised learning technique to detect one or more outlier parameters of the parameters.

6. The method of claim 5 , wherein the one or more machine learning algorithms comprise an isolation forest algorithm.

7. The method of claim 6 , further comprising training the one or more machine learning algorithms with training data comprising historical parameter data.

8. The method of claim 1 , further comprising verifying the anomalous state designation of the first application programming interface, wherein the verifying comprises:

routing at least one application programming interface request to the first application programming interface instead of the second application programming interface;

collecting additional parameters corresponding to processing by the first application programming interface of an application programming interface transaction associated with the at least one application programming interface request;

analyzing the additional parameters using the one or more machine learning algorithms; and

predicting, based at least in part on the analyzing, whether the application programming interface transaction associated with the at least one application programming interface request is anomalous.

9. The method of claim 8 , further comprising maintaining the anomalous state designation of the first application programming interface responsive to predicting that the application programming interface transaction associated with the at least one application programming interface request is anomalous.

10. The method of claim 8 , further comprising changing the anomalous state designation of the first application programming interface to a normal state designation responsive to predicting that the application programming interface transaction associated with the at least one application programming interface request is not anomalous.

11. The method of claim 10 , further comprising routing subsequent application programming interface requests for the first application programming interface to the first application programming interface responsive to the normal state designation.

12. The method of claim 8 , wherein the verifying is performed after a predetermined time period of routing the one or more application programming interface requests for the first application programming interface to the second application programming interface.

13. The method of claim 1 , further comprising:

storing data corresponding to operation of the first application programming interface; and

generating the second application programming interface based, at least in part, on the stored data.

14. An apparatus comprising:

a processing device operatively coupled to a memory and configured to:

collect parameters corresponding to processing by a first application programming interface of at least one application programming interface transaction;

analyze the parameters using one or more machine learning algorithms;

predict, based at least in part on the analyzing, whether the at least one application programming interface transaction is anomalous;

designate the first application programming interface as being in an anomalous state responsive to predicting that the at least one application programming interface transaction is anomalous; and

route one or more application programming interface requests for the first application programming interface to a second application programming interface responsive to the anomalous state designation;

wherein the second application programming interface is configured based on functionality of the first application programming interface to enable the second application programming interface to operate and process the one or more application programming interface requests in place of and with the functionality of the first application programming interface.

15. The apparatus of claim 14 , wherein the processing device is further configured to determine whether a threshold number of application programming interface transactions of a plurality of application programming interface transactions associated with the first application programming interface have been predicted as anomalous before designating the first application programming interface as being in an anomalous state.

16. The apparatus of claim 15 , wherein the threshold number of application programming interface transactions comprises a consecutive number of application programming interface transactions that have been predicted as anomalous.

17. The apparatus of claim 14 , wherein the processing device is further configured to verify the anomalous state designation of the first application programming interface, wherein, in verifying, the processing device is configured:

route at least one application programming interface request to the first application programming interface instead of the second application programming interface;

collect additional parameters corresponding to processing by the first application programming interface of an application programming interface transaction associated with the at least one application programming interface request;

analyze the additional parameters using the one or more machine learning algorithms; and

predict, based at least in part on the analyzing, whether the application programming interface transaction associated with the at least one application programming interface request is anomalous.

18. An article of manufacture comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes said at least one processing device to perform the steps of:

collecting parameters corresponding to processing by a first application programming interface of at least one application programming interface transaction;

analyzing the parameters using one or more machine learning algorithms;

predicting, based at least in part on the analyzing, whether the at least one application programming interface transaction is anomalous;

designating the first application programming interface as being in an anomalous state responsive to predicting that the at least one application programming interface transaction is anomalous; and

routing one or more application programming interface requests for the first application programming interface to a second application programming interface responsive to the anomalous state designation wherein the second application programming interface is configured based on functionality of the first application programming interface to enable the second application programming interface to operate and process the one or more application programming interface requests in place of and with the functionality of the first application programming interface.

19. The article of manufacture of claim 18 , wherein the program code causes said at least one processing device to further perform the step of determining whether a threshold number of application programming interface transactions of a plurality of application programming interface transactions associated with the first application programming interface have been predicted as anomalous before designating the first application programming interface as being in an anomalous state.

20. The article of manufacture of claim 19 , wherein the threshold number of application programming interface transactions comprises a consecutive number of application programming interface transactions that have been predicted as anomalous.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2021
From: MOHANTY, BIJAN KUMAR; NAMBIRAJAN, MANOJ; AGARWAL, MOHIT KUMAR; DINH, HUNG; MYSORE JAYARAM, HARISH
To: DELL PRODUCTS L.P.
Reel/Frame 057802/0818 →
Continuity (1)
Related Publication 20230124166A1 · Apr 20, 2023
Cited By (1)
US 12,517,773