8381216

Dynamic Thread Pool Management

PublishedFebruary 19, 2013
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
16 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A system for dynamically managing a thread pool associated with a plurality of sub-applications, said system comprising: a memory area for storing configuration information of an application having a plurality of sub-applications associated therewith, said configuration information including a predefined maximum thread threshold associated with one or more of the plurality of sub-applications, said configuration information further including a predefined maximum latency threshold associated with one or more of the plurality of sub-applications, said application and said plurality of sub-applications being associated with one thread pool; and a processor programmed to: receive the configuration information of said application and said plurality of sub-applications upon a start-up of said application; receive a request for at least one of the sub-applications; determine a quantity of threads currently assigned to said at least one of the sub-applications; compare the determined quantity of threads with the predefined maximum thread threshold stored in the memory area to generate a first comparison result; determine a latency of said at least one of the sub-applications; compare the determined latency with said predefined maximum latency threshold stored in said memory area to generate a second comparison result; assign a thread in said one thread pool to handle the received request based on said first comparison result and said second comparison result; and reduce the predefined maximum latency threshold stored in said memory area to a quantity of one if the determined latency is greater than the predefined maximum latency threshold.

2

2. The system of claim 1 , wherein the processor is programmed to receive the request from a client, and wherein said processor is further programmed to send an error message to the client if the determined quantity of threads is greater than said predefined maximum thread threshold.

3

3. The system of claim 1 , wherein said processor is further programmed to calculate, over a predefined period of time, an average response time for said at least one of the sub-applications to process a request.

4

4. The system of claim 1 , further comprising means for dynamically maintaining a plurality of threads for the plurality of sub-applications in said one thread pool based on thread count and latency.

5

5. The system of claim 1 , further comprising means for dynamically maintaining a quantity of threads assigned to each of said plurality of sub-applications.

6

6. A method comprising: receiving configuration information of an application having a plurality of sub-applications associated therewith, the sub-applications being associated with one thread pool, the configuration information including a predefined maximum latency threshold; receiving a request for at least one of the sub-applications; determining a quantity of threads currently assigned to the at least one of the sub-applications; comparing the determined quantity of threads to a predefined maximum thread threshold from the received configuration information; assigning a thread in the one thread pool to handle the received request if the determined quantity of threads is not greater than the predefined maximum thread threshold; generating an error message if the determined quantity of threads is greater than the predefined maximum thread threshold; determining a latency of the at least one of the sub-applications; comparing the determined latency of the at least one of the sub-applications with the predefined maximum latency threshold; and reducing the predefined maximum thread threshold to a quantity of one if the determined latency is greater than the predefined maximum latency threshold.

7

7. The method of claim 6 , further comprising increasing the quantity of threads assigned to the at least one of the sub-applications after assigning the thread to handle the received request.

8

8. The method of claim 6 , wherein receiving the request comprises receiving the request from a client, and further comprising sending an error message to the client if the determined latency is greater than the predefined maximum latency threshold.

9

9. The method of claim 6 , wherein receiving the request comprises receiving the request from a client, wherein the assigned thread processes the received request, and further comprising sending to the client a response indicating fulfillment of the received request.

10

10. The method of claim 9 , further comprising decreasing the quantity of threads assigned to the at least one of the sub-applications by one after sending the response to the client.

11

11. The method of claim 6 , wherein determining a latency of the at least one of the sub-applications comprises calculating, over a predefined period of time, an average response time for the at least one of the plurality of sub-applications to process a request.

12

12. The method of claim 6 , wherein determining a latency of the at least one of the sub-applications comprises calculating an average response time for the at least one of the sub-applications to process a predefined quantity of requests.

13

13. One or more computer storage media storing computer-executable components, said components comprising: an interface component that when executed by at least one processor causes the at least one processor to receive configuration information of an application having a plurality of sub-applications, and further to receive a request for at least one of the sub-applications, the plurality of sub-applications being associated with the application, the configuration information including a predefined maximum latency threshold; a thread pool component that when executed by at least one processor causes the at least one processor to assign a thread to handle the request received by the interface component based on a comparison of the quantity of threads currently assigned to the at least one of the sub-applications and a predefined maximum thread threshold; a latency component that when executed by at least one processor causes the at least one processor to determine a latency of the at least one of the sub-applications; and a threshold component that when executed by at least one processor causes the at least one processor to compare the determined latency of the at least one of the sub-applications with the predefined maximum latency threshold, and to change the predefined maximum thread threshold based on the latency determined by the latency component, changing the predefined maximum thread threshold includes reducing the predefined maximum thread threshold to a quantity of one if the latency determined by the latency component is greater than the predefined maximum latency threshold.

14

14. The computer storage media of claim 13 , wherein execution of the thread pool component by the at least one processor further causes the at least one processor to: determine a quantity of threads currently assigned to the at least one of the sub-applications; and determine if the quantity of threads currently assigned to the at least one of the sub-applications is not greater than the predefined maximum thread threshold.

15

15. The computer storage media of claim 13 wherein execution of the interface component by the at least one processor further causes the at least one processor to generate an error message if the latency determined by the latency component is greater than a predefined maximum latency threshold.

16

16. The computer storage media of claim 13 , wherein execution of the threshold component by the at least one processor further causes the at least one processor to increase the predefined maximum thread threshold if the latency determined by the latency component is not greater than the predefined maximum latency threshold and if a current predefined maximum thread threshold has a value of one.

Patent Metadata

Filing Date

Unknown

Publication Date

February 19, 2013

Inventors

Rohith Thammana Gowda

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “DYNAMIC THREAD POOL MANAGEMENT” (8381216). https://patentable.app/patents/8381216

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.