IP Library Granted Patent US 11,579,926
Granted Patent B2
US 11,579,926 · App. 16/785,759 · Granted Feb 14, 2023

Processing rest API requests based on resource usage satisfying predetermined limits

Inventors: Aidan Hally (Fermoy, IE); Paul Mcsweeney (Silversprings, IE); Kenneth Byrne (Knockraha, IE)
Assignee: EMC IP HOLDING COMPANY LLC
G06F9/5016G06F9/5027G06F9/541G06F11/076G06F11/0727G06F11/0772G06F2209/5013
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,579,926
App. No.
16/785,759
Granted
Feb 14, 2023
Kind
B2
Abstract

A request manager analyzes API calls from a client to a host application for state and performance information. If current utilization of host application processing or memory footprint resources exceed predetermined levels, then the incoming API call is not forwarded to the application. If current utilization of the host application processing and memory resources do not exceed the predetermined levels, then the request manager quantifies the processing or memory resources required to report the requested information and determines whether projected utilization of the host application processing or memory resources inclusive of the resources required to report the requested information exceed predetermined levels. If the predetermined levels are not exceeded, then the request manager forwards the API call to the application for processing.

Claims (28)

1. An apparatus comprising:

a host comprising:

processing resources;

memory resources;

an application that is allocated some of the processing resources and some of the memory resources as application processing resources and application memory resources, the application configured to report state and performance information responsive to representational state transfer (REST) requests from clients; and

a request manager responsive to a first REST request from a client for current state and performance information of the host to:

provide the first REST request to the application contingent on satisfaction of predetermined conditions comprising a determination that current utilization of the application processing resources and the application memory resources by the application plus additional portions of the application processing resources and the application memory resources required to report the current state and performance information of the host to the client will not cause utilization of the application processing and application memory resources to exceed predetermined limits; and

return an error message to the client responsive to a determination that the current utilization of the application processing resources and the application memory resources by the application plus the additional portions of the application processing resources and the application memory resources required to report the current state and performance information of the host to the client will cause utilization of the application processing and application memory resources to exceed the predetermined limits and a determination that a number of retries to satisfy the predetermined limits has reached a maximum number of retries.

2. The apparatus of claim 1 wherein the predetermined conditions further comprise the current utilization of the application memory resources by the application being under a threshold for current utilization of the application memory resources by the application prior to determining whether the current utilization of the application processing resources and the application memory resources by the application plus the additional portions of the application processing resources and the application memory resources required to report the current state and performance information of the host to the client will cause utilization of the application processing and application memory resources to exceed the predetermined limits.

3. The apparatus of claim 1 wherein the application memory resources comprise a memory footprint of the application, and wherein the predetermined conditions further comprise current utilization percentage of the memory footprint of the application being under a threshold for current utilization percentage of the memory footprint of the application.

4. The apparatus of claim 1 wherein the predetermined conditions further comprise the current utilization of the application processing resources by the application being under a threshold for current utilization of the application processing resources by the application prior to determining whether the current utilization of the application processing resources and the application memory resources by the application plus the additional portions of the application processing resources and the application memory resources required to report the current state and performance information of the host to the client will cause utilization of the application processing and application memory resources to exceed the predetermined limits.

5. The apparatus of claim 1 wherein the application processing resources comprise a central processing unit on which the application runs, and wherein the predetermined conditions further comprise current utilization percentage of the central processing unit being under a threshold for current utilization percentage of the central processing unit.

6. The apparatus of claim 1 further comprising an endpoint data set indicative of prior resource utilizations required to process a plurality of types of requests for the current state and performance information of the host.

7. The apparatus of claim 6 wherein the request manager uses the endpoint data set to determine required application processing resources to provide the current state and performance information of the host indicated by the first REST request.

8. The apparatus of claim 7 wherein the predetermined conditions further comprise a threshold for projected utilization of the application processing resources that is compared with currently utilized application processing resources in combination with the required application processing resources.

9. The apparatus of claim 8 wherein the request manager uses the endpoint data set to determine required application memory resources to provide the current state and performance information of the host indicated by the first REST request.

10. The apparatus of claim 9 wherein the predetermined conditions comprise a threshold for projected utilization of the application memory resources that is compared with the currently utilized application memory resources in combination with the required application memory resources.

11. The apparatus of claim 1 wherein the request manager retries the determination that the current utilization of the application processing resources and the application memory resources by the application plus the additional portions of the application processing resources and the application memory resources required to report the current state and performance information of the host to the client will not cause utilization of the application processing and application memory resources to exceed the predetermined limits up to a maximum number of retries before returning the error message.

12. A method comprising:

responsive to a first representational state transfer (REST) request from a client for current state and performance information of a host comprising processing resources, memory resources, and an application that is allocated some of the processing resources and some of the memory resources as application processing resources and application memory resources, the application configured to report state and performance information responsive to REST requests from clients:

providing the first REST request to the application contingent on satisfaction of predetermined conditions comprising a determination that current utilization of the application processing resources and the application memory resources by the application plus additional portions of the application processing resources and the application memory resources required to report the current state and performance information of the host to the client will not cause utilization of the application processing and memory resources to exceed predetermined limits; and

returning an error message to the client responsive to a determination that the current utilization of the application processing resources and the application memory resources by the application plus the additional portions of the application processing resources and the application memory resources required to report the current state and performance information of the host to the client will cause utilization of the application processing and application memory resources to exceed the predetermined limits and a determination that a number of retries to satisfy the predetermined limits has reached a maximum number of retries.

13. The method of claim 12 wherein the application memory resources comprise a memory footprint of the application, and wherein verifying comprises determining that current utilization of the application memory footprint does not exceed a threshold.

14. The method of claim 12 wherein the application processing resources comprise a central processing unit on which the hosted application runs, and wherein verifying comprises determining that current utilization of the central processing unit does not exceed a threshold.

15. The method of claim 12 wherein verifying comprises comparing a threshold for projected utilization of the application processing resources with the currently utilized application processing resources in combination with the required application processing resources.

16. The method of claim 12 wherein verifying comprises comparing a threshold for projected utilization of the application memory resources with the currently utilized application memory resources in combination with the required application memory resources.

17. The method of claim 12 comprising updating an endpoint data set with the required application memory resources.

18. The method of claim 12 comprising retrying the determination that the current utilization of the application processing resources and the application memory resources by the application plus the additional portions of the application processing resources and the application memory resources required to report the current state and performance information of the host to the client will not cause utilization of the application processing and application memory resources to exceed the predetermined limits up to a maximum number of retries before returning the error message.

Assignments (13)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) 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 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) 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 060436/0582 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) 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 060436/0441 →
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 AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 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 052852/0022 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 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 052851/0917 →
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 May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2020
From: HALLY, AIDAN; MCSEENEY, PAUL; BYRNE, KENNETH
To: EMC IP HOLDING COMANY LLC
Reel/Frame 051766/0396 →
Continuity (1)
Related Publication 20210248007A1 · Aug 12, 2021