IP Library Granted Patent US 11,171,969
Granted Patent B2
US 11,171,969 · App. 16/428,065 · Granted Nov 9, 2021

Systems and methods for real-time configurable load determination

Inventors: Ratinder Paul Singh Ahuja (Saratoga, CA); Manuel Nedbal (Santa Clara, CA)
Assignee: Fortinet, Inc.
H04L63/1408G06F21/629H04L63/20H04L67/1029H04L67/16
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,171,969
App. No.
16/428,065
Granted
Nov 9, 2021
Kind
B2
Abstract

Systems and methods are described herein generally relating to network security, and in particular, embodiments described generally relate to real-time configurable load determination. For example, a method is disclosed, which calls for receiving a request to perform a security service, performing the security service on data included with the request; calculating a service load associated with and during the performing the security service, and transmitting a response to the request, wherein the response includes the calculated service load.

Claims (33)

1. A method comprising:

receiving a request to perform a security service by a hierarchy of microservices, each microservice to run on a processor core and to attempt to determine, by accessing a load table containing temporally relevant and scaled loading metrics generated by and received from higher-level microservices in prior responses, the most, efficiently usable higher-level microservice to which to transfer processed data;

performing the security service on data included with the request;

calculating a service load associated with and while performing the security service; and

transmitting a response to the request, the response including the service load.

2. The method of claim 1 , wherein the service load comprises a first property value selected from a group consisting of processor utilization, memory utilization, disk capacity, disk throughput, input/output throughput, and event throughput.

3. The method of claim 1 , wherein the loading metrics are based on processor utilization and memory utilization of the higher level microservices.

4. The method of claim 1 , wherein each microservice, before attempting to determine the most efficiently usable higher-level microservice to which to transfer processed data, is to request a current service load from one or more higher-level microservices by transmitting a null request to the higher-level microservice.

5. The method of claim 1 , wherein each of the microservices maintains and uses its own load table on its own processor core.

6. The method of claim 1 , wherein the load table is maintained in a global memory and made available to lower-level microservices.

7. The method of claim 1 , wherein the scaled loading metrics generated by and received from higher-level microservices in prior responses each comprise a handle to obtain calculated load values from a service available to lower-level microservices.

8. A system comprising:

a hierarchy of microservices to receive a request to perform a security service, each microservice, running on a processor core, to:

access a load table containing temporally relevant and scaled loading metrics generated by and received from higher-level microservices in prior responses to determine, independent of impending processing requirements of the higher-level microservices, the most efficiently usable higher-level microservice to which to transfer processed data;

perform the security service on data included with the request;

calculate a service load associated with and while performing the security service; and

transmit a response to the request, the response including the service load.

9. The system of claim 8 , wherein the service load comprises a first property value selected from a group consisting of processor utilization, memory utilization, disk capacity, disk throughput, input/output throughput, and event throughput.

10. The system of claim 8 , wherein the loading metrics are based on processor utilization and memory utilization of the higher level microservices.

11. The system of claim 8 , wherein each microservice, before attempting to determine the most efficiently usable higher-level microservice to which to transfer processed data, is to request a current service load from one or more higher-level microservices by transmitting a null request to the higher-level microservice.

12. The system of claim 8 , wherein each of the microservices maintains and uses its own load table on its own processor core.

13. The system of claim 8 , wherein the load table is maintained in a global memory and made available to lower-level microservices.

14. The system of claim 8 , wherein the temporally relevant and scaled loading metrics generated by and received from higher-level microservices in prior responses each comprise a handle to obtain calculated load values from a service available to lower-level microservices.

15. A non-transitory computer-readable medium containing computer-executable instructions to which a hierarchy of microservices is to respond by:

receiving a request to perform a security service at a hierarchy of microservices, each microservice to run on a processor core and to attempt to determine, by accessing a load table containing temporally relevant and scaled loading metrics generated by and received from higher-level microservices in prior responses, the most efficiently usable higher-level microservice to which to transfer processed data;

performing the security service on data included with the request;

calculating a service load associated with and while performing the security service; and

transmitting a response to the request, the response including the service load.

16. The non-transitory computer-readable medium of claim 15 , wherein the service load comprises a first property value selected from a group consisting of processor utilization, memory utilization, disk capacity, disk throughput, input/output throughput, and event throughput.

17. The non-transitory computer-readable medium of claim 15 , wherein the loading metrics are based on processor utilization and memory utilization of the higher level microservices.

18. The non-transitory computer-readable medium of claim 15 , wherein each microservice, before attempting to determine the most efficiently usable higher-level microservice to which to transfer processed data, is to request a current service load from one or more higher-level microservices by transmitting a null request to the higher-level microservice.

19. The non-transitory computer-readable medium of claim 15 , wherein either a separate version of the load table is maintained by each of the microservices, or the load table is maintained in a global memory and made available to lower-level microservices.

20. The non-transitory computer-readable medium of claim 15 , wherein the scaled loading metrics generated by and received from higher-level microservices in prior responses each comprise a handle to obtain calculated load values from a service available to lower-level microservices.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2021
From: SHIELDX NETWORKS, INC.
To: FORTINET, INC.
Reel/Frame 055661/0470 →
RELEASE OF SECURITY INTEREST Recorded Mar 15, 2021
From: COMERICA BANK
To: SHIELDX NETWORKS, INC.
Reel/Frame 055585/0847 →
SECURITY INTEREST Recorded Jul 27, 2020
From: SHIELDX NETWORKS, INC.
To: COMERICA BANK
Reel/Frame 053313/0544 →
Continuity (2)
Continuation 15224374 · Jul 29, 2016
Related Publication 20190394214A1 · Dec 26, 2019
Cited By (1)
US 12,549,571