Method, system and program products for managing thread pools of a computing environment to avoid deadlock situations by dynamically altering eligible thread pools
First Claim
Patent Images
1. A method of managing thread pools of a computing environment, said method comprising:
- receiving from a first requester of said computing environment a request to be processed, said request waiting on a response from a second requester of said computing environment, and wherein said response is to be serviced by a thread pool selected from a set of one or more eligible thread pools;
upon receipt of the request waiting on the response, and without input from said first requester or said second requester of which thread pools can service the response, dynamically altering said set of one or more eligible thread pools to provide an altered thread pool set of eligible thread pools, wherein a thread pool of the altered thread pool set is to service said response to avoid a deadlock with said request awaiting said response;
wherein said dynamically altering comprises setting a pool mask to indicate said eligible thread pools of said altered thread pool set to service said response; and
wherein said receiving comprises receiving said request by a server of said computing environment, and wherein said first requester is a first client and said second requester is a second client.
3 Assignments
0 Petitions
Accused Products
Abstract
Deadlock situations within a computing environment are avoided by properly managing pools of threads used to service requests of the computing environment. When a server of the computing environment receives a request to be processed and that request is waiting on a response from a client of the computing environment, the set of eligible thread pools for the response is dynamically altered. This dynamic altering allows the response to be serviced by a thread pool different from the thread pool servicing the request, thereby avoiding a deadlock situation.
73 Citations
40 Claims
-
1. A method of managing thread pools of a computing environment, said method comprising:
-
receiving from a first requester of said computing environment a request to be processed, said request waiting on a response from a second requester of said computing environment, and wherein said response is to be serviced by a thread pool selected from a set of one or more eligible thread pools;
upon receipt of the request waiting on the response, and without input from said first requester or said second requester of which thread pools can service the response, dynamically altering said set of one or more eligible thread pools to provide an altered thread pool set of eligible thread pools, wherein a thread pool of the altered thread pool set is to service said response to avoid a deadlock with said request awaiting said response;
wherein said dynamically altering comprises setting a pool mask to indicate said eligible thread pools of said altered thread pool set to service said response; and
wherein said receiving comprises receiving said request by a server of said computing environment, and wherein said first requester is a first client and said second requester is a second client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system of managing thread pools of a computing environment, said system comprising:
-
means for receiving from a first requester of said computing environment a request to be processed, said request waiting on a response from a second requester of said computing environment, and wherein said response is to be serviced by a thread pool selected from a set of one or more eligible thread pools;
means for, upon receipt of the request waiting on the response, and without input from said first requester or said second requester of which thread pools can service the response, dynamically altering said set of one or more eligible thread pools to provide an altered thread pool set of eligible thread pools, wherein a thread pool of the altered thread pool set is to service said response to avoid a deadlock with said request awaiting said response;
wherein said means for dynamically altering comprises means for setting a pool mask to indicate said eligible thread pools of said altered thread pool set to service said response; and
wherein said means for receiving comprises means for receiving said request by a server of said computing environment, and wherein said first requester is a first client and said second requester is a second client. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A system of managing thread pools of a computing environment, said system comprising:
-
a processor adapted to receive from a first client of said computing environment a request to be processed, said request waiting on a response from a second client of said computing environment, and wherein said response is to be serviced by a thread pool selected from a set of one or more eligible thread pools;
said processor being adapted to, upon receipt of the request waiting on the response, and without input from said first client or said second client of which thread pools can service the response, dynamically alter said set of one or more eligible thread pools to provide an altered thread pool set of eligible thread pools, wherein a thread pool of the altered thread pool set is to service said response to avoid a deadlock with said request awaiting said response;
said processor being adapted to set a pool mask to indicate said eligible thread pools of said altered thread pool set to service said response; and
wherein said processor comprises a server of said computing environment. - View Dependent Claims (26, 27)
-
-
28. At least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform a method of managing thread pools of a computing environment, said method comprising:
-
receiving from a first requester of said computing environment a request to be processed, said request waiting on a response from a second requester of said computing environment, and wherein said response is to be serviced by a thread pool selected from a set of one or more eligible thread pools;
upon receipt of the request waiting on the response, and without input from said first requester or said second requester of which thread pools can service the response, dynamically altering said set of one or more eligible thread pools to provide an altered thread pool set of eligible thread pools, wherein a thread pool of the altered thread pool set is to service said response to avoid a deadlock with said request awaiting said response;
wherein said dynamically altering comprises setting a pool mask to indicate said eligible thread pools of said altered thread pool set to service said response; and
wherein said receiving comprises receiving said request by a server of said computing environment, and wherein said first requester is a first client and said second requester is a second client. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
Specification