US 11,740,934 B2
Systems and methods for thread management to optimize resource utilization in a distributed computing environment
Adam Ethan Hampton, Houston, TX (US)
Assigned to SailPoint Technologies, Inc., Wilmington, DE (US)
Filed by SailPoint Technologies, Inc., Wilmington, DE (US)
Filed on Sep. 29, 2021, as Appl. No. 17/489,539.
Application 17/489,539 is a continuation of application No. 17/153,970, filed on Jan. 21, 2021, granted, now 11,163,606.
Prior Publication US 2022/0229694 A1, Jul. 21, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/48 (2006.01); H04L 67/10 (2022.01); G06F 9/50 (2006.01)
CPC G06F 9/4881 (2013.01) [G06F 9/505 (2013.01); H04L 67/10 (2013.01); G06F 2209/5018 (2013.01)] 21 Claims
OG exemplary drawing
 
1. A system, comprising:
a processor;
a non-transitory, computer-readable storage medium, including computer instructions for:
a thread pool manager adapted for use with a service, the thread pool manager adapted for use in an environment including a set of lower priority services having access to a shared resource and a set of higher priority services having access to the shared resource, wherein:
the thread pool manager is adapted for use in a load attenuated thread pool of a lower priority service comprising, wherein the load attenuated thread pool includes a set of threads having access to the shared resource;
each higher priority service has access to the shared resource to process work items, and the thread pool manager is adapted to independently:
determine a resource utilization metric associated with the shared resource;
evaluate the resource utilization metric associated with the shared resource against one or more thresholds; and
based on the evaluation of the resource metric:
determine a removal thread number and remove that removal thread number of threads from an existing number of the set of threads of the thread pool,
determine a thread addition number and adding that thread addition number of threads to the existing number of the set of threads of the thread pool, or
leave the set of threads unchanged.