System and method for application server with self-tuned threading model
First Claim
Patent Images
1. A system for self-tuned threading model in an application server, comprising:
- a server, including one or more processors, which receives requests from clients or other servers for execution by service classes at the server;
a plurality of threads operating at the server for use in processing the requests;
a priority queue operating at the server for storing the requests until the requests can be processed by the threads;
a configuration file, which defines a plurality of service classes executing at the server to which each of the requests can be directed, wherein the configuration file includes numeric share values associated with the plurality of service classes, including a share value for each service class, and wherein each of the share values represents a proportional entitlement to thread usage for its associated service class as compared to other service classes having other share values;
a software process that operates on the server and maintains the priority queue for allocating threads to requests, according to the service class to which the requests are directed and the proportional entitlement priority to thread usage for each service class, includingdetermining that service class to which a received request is directed,determining the share value associated with that service class, andplacing that request in the priority queue in proportion to the share value for each request'"'"'s service class, so that the threads are provided with requests for each service class in a ratio matching those service classes proportional entitlement; and
wherein one or more numeric share values associated with the plurality of service classes and defined in the configuration file can be modified, to reflect a different proportional entitlement, and wherein the software process automatically modifies the placement of subsequent received requests in the priority queue, to reflect the different proportional entitlement.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for application server with self-tuned threading model. A server queue is used as a priority scheme, including a number of entries therein associated with received requests, and which allows the entries to have expressed priorities or share values, instead of simply the number of threads. Flexibility is retained to express the threads in raw numbers whenever this might be desired, or to express constraints on the number of threads to be made available.
-
Citations
21 Claims
-
1. A system for self-tuned threading model in an application server, comprising:
-
a server, including one or more processors, which receives requests from clients or other servers for execution by service classes at the server; a plurality of threads operating at the server for use in processing the requests; a priority queue operating at the server for storing the requests until the requests can be processed by the threads; a configuration file, which defines a plurality of service classes executing at the server to which each of the requests can be directed, wherein the configuration file includes numeric share values associated with the plurality of service classes, including a share value for each service class, and wherein each of the share values represents a proportional entitlement to thread usage for its associated service class as compared to other service classes having other share values; a software process that operates on the server and maintains the priority queue for allocating threads to requests, according to the service class to which the requests are directed and the proportional entitlement priority to thread usage for each service class, including determining that service class to which a received request is directed, determining the share value associated with that service class, and placing that request in the priority queue in proportion to the share value for each request'"'"'s service class, so that the threads are provided with requests for each service class in a ratio matching those service classes proportional entitlement; and wherein one or more numeric share values associated with the plurality of service classes and defined in the configuration file can be modified, to reflect a different proportional entitlement, and wherein the software process automatically modifies the placement of subsequent received requests in the priority queue, to reflect the different proportional entitlement. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for self-tuned threading model in an application server, comprising the steps of:
-
configuring the server to share thread resources among entities according to share values; receiving requests at the server from clients or other servers for execution by service classes at the server; determining a plurality of service classes to which each requests can be directed, wherein a configuration file includes numeric share values associated with the plurality of service classes, including a share value for each service class, and wherein each of the share values represents a proportional entitlement to thread usage for its associated service class as compared to other service classes having other share values; queuing requests in a priority queue in proportion to the share value for each requests'"'"' service class; maintaining the priority queue for allocating threads to requests, according to the service class to which the requests are directed and the proportional entitlement priority to thread usage for each service class; and taking the requests from the priority queue and presenting the requests to the threads for processing by a processor, wherein for each request the method further comprises determining that service class to which a received request is directed, determining the share value associated with that service class, and placing that request in the priority queue in proportion to the share value for each request'"'"'s service class, so that the threads are provided with requests for each service class in a ratio matching those service classes proportional entitlement; and wherein one or more numeric share values associated with the plurality of service classes and defined in the configuration file can be modified, to reflect a different proportional entitlement, and wherein the software process automatically modifies the placement of subsequent received requests in the priority queue, to reflect the different proportional entitlement. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer readable storage medium, including instructions thereon which when executed cause the computer to perform the steps of:
-
configuring the server to share thread resources among entities according to share values; receiving requests at the sewer from clients or other servers for execution by service classes at the server; determining a plurality of service classes to which each requests can be directed, wherein a configuration file includes numeric share values associated with the plurality of service classes, including a share value for each service class, and wherein each of the share values represents a proportional entitlement to thread usage for its associated service class as compared to other service classes having other share values; queuing requests in a priority queue in proportion to the share value for each requests'"'"' service class; maintaining the priority queue for allocating threads to requests, according to the service class to which the requests are directed and the proportional entitlement priority to thread usage for each service class; and taking the requests from the priority queue and presenting the requests to the threads for processing by a processor, wherein for each request the method further comprises determining that service class to which a received request is directed, determining the share value associated with that service class, and placing that request in the priority queue in proportion to the share value for each request'"'"'s service class, so that the threads are provided with requests for each service class in a ratio matching those service classes proportional entitlement; and wherein one or more numeric share values associated with the plurality of service classes and defined in the configuration file can be modified, to reflect a different proportional entitlement, and wherein the software process automatically modifies the placement of subsequent received requests in the priority queue, to reflect the different proportional entitlement. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification