Professional Documents
Culture Documents
2005 Method System and Program
2005 Method System and Program
2005 Method System and Program
(54) METHOD, SYSTEM AND PROGRAM 5,202,971 A 4/1993 Henson et al. ............ .. 395/425
PRODUCTS FOR MANAGING THREAD 5,590,335 A * 12/1996 Dubourreau et a1.
POOLS OF A COMPUTING ENVIRONMENT 5,634,122 A 5/1997 Loucks et a1. ............ .. 395/608
5,689,706 A 11/1997 RaO et a1. ................. .. 395/617
531mggggngggggglggggig‘r 5,740,448 A * 4/1998 Gentry et a1. e. 395/726
THREAD POOLS 5,892,954 A 4/1999 Tomas et a1. ....... .. 395/726
5,893,086 A 4/1999 Schmuck et a1. ............ .. 701/1
(75) Inventors: Gregory David Doolittle, Vestal, NY
(US); Timothy Peter Krein, Endicott, (Continued)
NY (US); Scott Thomas Marcotte, OTHER PUBLICATIONS
Vestal, NY (US)
“Establishing Distributed File Sytem Access to MVS Host
(73) Assignee: International Business Machines Files,” IBM Technical Disclosure Bulletin, vol. 38, No. 04,
Corporation, Armonk, NY (US) Apr. 1995, pp. 39—40.
“Method for Protecting Request Atomicity in Multi—Writer
(*) Notice: Subject to any disclaimer, the term of this Distributed Environment,” IBM Technical Disclosure Bul
patent is extended or adjusted under 35 letin, vol. 38, No. 12, Dec. 1995, pp. 227—228.
U.S.C. 154(b) by 14 days. Primary Examiner—Rupal Dharia
Assistant Examiner—Stephan Willett
(21) Appl. No.: 09/443,202 (74) Attorney, Agent, or Firm—Arthur J. SamodovitZ, Esq.;
(22) Filed: Nov. 18, 1999 Kevin P. Radigan, Esq.; Heslin Rothenberg Farley & Mesiti,
PC.
(65) Prior Publication Data
(57) ABSTRACT
US 2002/0194377 A1 Dec. 19, 2002
Deadlock situations Within a computing environment are
(51) Int. Cl.7 ......................... .. G06F 15/16 avoided by properly managing pools of threads used to
(52) US. Cl. ..................... .. 709/201; 709/202; 709/206; service requests of the computing environment. When a
717/173; 717/174; 717/178 server of the computing environment receives a request to be
(58) Field of Search ............................... .. 717/172, 173, processed and that request is Waiting on a response from a
717/174, 177, 178, 709/102, 106, 201, client of the computing environment, the set of eligible
202, 226, 332, 104, 313, 317 thread pools for the response is dynamically altered. This
dynamic altering alloWs the response to be serviced by a
(56) References Cited thread pool different from the thread pool servicing the
U.S. PATENT DOCUMENTS
request, thereby avoiding a deadlock situation.
fv-S'O.2
SECONDARY i AVAIL AVAIL
POOL THREAD THREAD
US 6,898,617 B2
Page 2
ZQQ
COMPUTING
UNIT
2
COMPUTING
UNIT
1
COMPUTING
W704
UNIT
3
fig. 77
702
COMPUTING UNIT 1
rqLJ
6
8
220m
mUMPHNS.HWmQZ.5nUuISvAS..uAIEBZTWO.RZlRInC.xnvWMmx?
__A____ IS.___ ..Y._IH.I8N0:.
_
wGIT.1H: .__. |.._/__I 20.._I
f1119. 2
U.S. Patent May 24,2005 Sheet 2 of 8 US 6,898,617 B2
/\/300 >
‘ AVAIL
PFggéiFfY “"‘D T?lgéko ' —> THREAD
fig. 3/1
/\/-302
SECONDARY AVAIL AVAIL
POOL ‘> THREAD “a THREAD
fig. 3B
U.S. Patent May 24,2005 Sheet 3 of 8 US 6,898,617 B2
E’?
OPERATING SYSTEM NOTIFY @400
T
CLIENT SESSION CREATED @402
@
fig. 4A
RECEIPT OF REQUEST
(iii?)
DATA IS RECEIVED @406
T
SCHEDULE SR8
fig. 4B
U.S. Patent May 24, 2005 Sheet 4 0f 8 US 6,898,617 B2
REQUEST PROCESSING
$3
CALL SMBPARSER
PASSING POOL # 1-410
IMB PROCESSING
PRELIMINARY S 1-412
I
ISSUE ASYNC_RECV 414
I
LOCK SESSION 416
N
RESP'PNSE 418
Y
OPCOI6INT =0
fig, 4C
U.S. Patent May 24, 2005 Sheet 5 0f 8 US 6,898,617 B2
FROM FIG. 4C
'F___
REDISPATCH REQUEST PRELIMINARY SMB
ON PRIMARY POOL PROCESSING
NEED
T CALLOBACK
LOCK TARGET SESSION @438
T
INCREMENT OPCOUNT @440
452
POOLMASK
CORRECT WAIT FOR
444 -\\ RESPONSES
@
fig. 4D
U.S. Patent May 24,2005 Sheet 6 6f 8 US 6,898,617 B2
SESSION
' OPCOUNT
' LOCK
fig. 5
REQUEST REQUEST
BLOCK BLOCK
602
<—-—-—--—— REQUEST
A) QUEUE —--"———>
fig, 6
U.S. Patent May 24, 2005 Sheet 7 0f 8 US 6,898,617 B2
@
OBTAIN MAIN QUEUE LOCK 1-700
CHECK ELIGIBLE POOL 5) FOR
AVAILABLE SERVICE I HREAD 7/—702
AVAILABLE
SERVICE
THREAD
?
REMOVE IT FROM ADD REQUEST TO
POOL QUEUE
I I
SET REQUEST STATE SET REQUEST STATE
TO DISPATCHED TO QUEUED
6 6
712
708
I
714$ RELEASE MAIN QUEUE LOCK
716
I
SERVICE
THREAD
TAEEN
@PiE
VERIFY REQUEST HANDLE 1800
VALID N
802 9I
ASYNCHRONOUS
REQUEST STATE IS
QUEUED AND SET OF
ELIGIBLE POOLS IS
EXPANDING
9