IP Library Granted Patent US 11,200,094
Granted Patent B2
US 11,200,094 · App. 16/747,083 · Granted Dec 14, 2021

Artificial intelligence-based application guard

Inventors: Shibi Panikkar (Bangalore, IN); Sathish Kumar Bikumala (Round Rock, TX)
Assignee: Dell Products L.P.
G06F9/5038G06F9/4881G06F9/5016G06N5/04
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,200,094
App. No.
16/747,083
Granted
Dec 14, 2021
Kind
B2
Abstract

Techniques for safe guarding of functionalities of a computer program in an information processing system are disclosed. For example, a method comprises the following steps. A plurality of criticality levels is obtained for a plurality of functionalities of a computer program configured to execute on a computer system, wherein the computer system comprises one or more resources usable to execute the computer program. Data is collected for the plurality of functionalities of the computer program. Usage of the one or more resources for executing the plurality of functionalities of the computer program for a given set of data is predicted. Execution of a portion of the plurality of functionalities of the computer program is ensured based on the predicted usage of the one or more resources and the criticality level for each of the plurality of functionalities.

Claims (34)

1. A system, comprising:

at least one processing device comprising a processor operatively coupled to a memory, wherein the at least one processing device is configured to:

register a plurality of functionalities of a computer program configured to execute on a computer system, wherein the computer system comprises one or more resources usable to execute the computer program;

assign criticality levels for at least some of the functionalities of the computer program;

predict usage of the one or more resources for executing the plurality of functionalities of the computer program for a given set of data; and

ensure execution of a portion of the plurality of functionalities of the computer program based on the predicted usage of the one or more resources and the criticality level for the at least some of the plurality of functionalities of the computer program.

2. The system of claim 1 , wherein the at least one processing device is further configured to obtain a plurality of priority values for the plurality of functionalities.

3. The system of claim 1 , wherein the computer program comprises an application.

4. The system of claim 3 , wherein the plurality of functionalities comprises one or more of a business function, a process, a method, a thread, a service, a set of code, or parts thereof, associated with the application.

5. The system of claim 1 , wherein the collected data comprises performance attributes over a given time period for execution of one or more of the plurality of functionalities of the computer program.

6. The system of claim 5 , wherein the performance attributes for a given one of the plurality of functionalities comprise one or more of a memory usage, a processor usage, a disk usage, and one or more time attributes.

7. The system of claim 1 , wherein the at least one processing device is further configured to predict usage of the one or more resources for executing the plurality of functionalities of the computer program for the given set of data using a linear regression algorithm.

8. The system of claim 1 , wherein the plurality of criticality levels comprises low, medium, high and critical.

9. The system of claim 8 , wherein the at least one processing device is further configured to ensure execution of a portion of the plurality of functionalities of the computer program by one or more of de-allocating memory, deleting one or more temporary data files, terminating one or more functionalities with a given criticality level, rescheduling one or more functionalities with a given criticality level, and ensuring one or more functionalities with a given criticality level are resource-ready for a given time.

10. The system of claim 1 , wherein the at least one processing device is further configured to perform the registering, the assigning, the predicting, and the ensuring for a plurality of functionalities of another computer program.

11. The system of claim 10 , wherein the at least one processing device is further configured to perform the ensuring differently for the one computer program compared to the other computer program.

12. The system of claim 1 wherein the at least one processing device is configured to utilize a function criticality manager to perform the steps of registering and assigning, the function criticality manager receiving input by at least one user.

13. A method, comprising:

registering a plurality of functionalities of a computer program configured to execute on a computer system, wherein the computer system comprises one or more resources usable to execute the computer program;

assigning criticality levels for at least some of the functionalities of the computer program;

predicting usage of the one or more resources for executing the plurality of functionalities of the computer program for a given set of data; and

ensuring execution of a portion of the plurality of functionalities of the computer program based on the predicted usage of the one or more resources and the criticality level for the at least some of the plurality of functionalities of the computer program;

wherein the steps are performed by at least one processing device comprising a processor operatively coupled to a memory.

14. The method of claim 13 , further comprising obtaining a plurality of priority values for the plurality of functionalities.

15. The method of claim 13 , wherein the computer program comprises an application and the plurality of functionalities comprises one or more of a business function, a process, a method, a thread, a service, a set of code, or parts thereof, associated with the application.

16. The method of claim 13 , wherein the collected data comprises performance attributes over a given time period for execution of one or more of the plurality of functionalities of the computer program, and wherein the performance attributes for a given one of the plurality of functionalities comprise one or more of a memory usage, a processor usage, a disk usage, and one or more time attributes.

17. The method of claim 13 , wherein predicting usage of the one or more resources for executing the plurality of functionalities of the computer program for the given set of data uses a linear regression algorithm.

18. The method of claim 13 , wherein ensuring execution of a portion of the plurality of functionalities of the computer program further comprises one or more of de-allocating memory, deleting one or more temporary data files, terminating one or more functionalities with a given criticality level, rescheduling one or more functionalities with a given criticality level, and ensuring one or more functionalities with a given criticality level are resource-ready for a given time.

19. 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 steps of:

registering a plurality of functionalities of a computer program configured to execute on a computer system, wherein the computer system comprises one or more resources usable to execute the computer program;

assigning criticality levels for at least some of the functionalities of the computer program;

predicting usage of the one or more resources for executing the plurality of functionalities of the computer program for a given set of data; and

ensuring execution of a portion of the plurality of functionalities of the computer program based on the predicted usage of the one or more resources and the criticality level for the at least some of the plurality of functionalities of the computer program.

20. The article of manufacture of claim 19 , wherein the at least one processing device is further configured to obtain a plurality of priority values for the plurality of functionalities.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2020
From: PANIKKAR, SHIBI; BIKUMALA, SATHISH KUMAR
To: DELL PRODUCTS L.P.
Reel/Frame 051554/0646 →