Chapter 2
Chapter 2
Mei-Ling L. Liu
P2 P2 P3 ... P4
m
m m m
P1 P1
uni c as t m ul ti c as t
Distributed Computing, M. L. Liu
4
Interprocess Communications in
Distributed Computing
P ro c es s 1 P roc es s 2
data
W e b s e rv e r
S1 S2 S3 S4
o p e r a ti o n s :
H TTP S 1 : a cce pt co n n e cti o n
a pro ce s s S 2 : r e c e i ve (r e q u e s t )
re qu e s t
S 3 : s e n d (r e s p o n s e )
a n o p e ra t i o n S 3 : d i s co n n e c t
H TTP
C 1 : m a k e co n n e ct i o n
re s p o n s e
C 2 : s e n d (r e q u e s t )
da ta fl o w C 3 : r e c e i ve (r e s p o n s e )
C1 C2 C3 C4
C 4 : d i s co n n e ct
W e b bro ws e r
pr o c e s s 1 pr o c e s s 2
r unni ng o n ho s t 1 r unni ng o n ho s t 2
b lo c k in g r ec eiv e s tar ts
b lo c k in g s en d s tarts an o p eratio n
ex ec u tio n flo w
ac k n o w led g em en t o f d ata rec eiv ed s u s p en d ed p er io d
b lo c k in g s en d r etu r n s p ro v id ed b y th e I P C f ac ility b lo c k in g r ec eiv e en d s
Sync hr o no us Se nd and R e c e i ve
b lo c k in g r ec eiv e s tar ts
n o n b lo c k in g s en d
o p er atio n
ex ec u tio n f lo w
s u s p en d ed p erio d
b lo c k in g r ec eiv e r etu r n s
As ync hr o no us Se nd and
Sync hr o no us R e c e i ve
P rocess 2
P rocess 1
b lo c k in g s en d is s u ed
n o n b lo c k in g r ec eiv e is s u ed
tr an s p aren t ac k n o w led g em en t
p r o v id ed b y th e IP C fac ility ex ec u tio n flo w
s u s p en d ed p erio d
Sync hr o no us Se nd and
As ync hr o no us R e c e i ve
S ce n a rio A
P rocess 2
P rocess 1
n o n b lo c k in g r ec eiv e is s u ed
an d r etu r n ed im m ed iately
b lo c k in g s en d is s u ed
in d efin ite
b lo c k in g ex ec u tio n flo w
s u s p en d ed p er io d
P rocess 2
P rocess 1 Sync hr o no us Se nd and
As ync hr o no us R e c e i ve
S ce n a rio B
P rocess 2
P rocess 1
n o n b lo c k in g rec eiv e is s u ed
an d retu r n ed im m ed iately
b lo c k in g s en d is s u ed
p ro c es s is n o tif ied
tr an s p aren t ac k n o w led g em en t o f th e ar riv al o f
p r o v id ed b y th e IP C fac ility d ata
ex ec u tio n flo w
s u s p en d ed p erio d
Sync hr o no us Se nd and
As ync hr o no us R e c e i ve
S ce n a rio C
P rocess 2
P rocess 1
n o n b lo c k in g rec eiv e is s u ed
an d retu r n ed im m ed iately
b lo c k in g s en d is s u ed
p ro c es s is n o tif ied
o f th e ar riv al o f
d ata
ex ec u tio n flo w
s u s p en d ed p erio d
As ync hr o no us Se nd and
As ync hr o no us R e c e i ve
S ce n a rio C
t im e
r eq u es t 1
r es p o n s e 1
r eq u es t 2
in ter p r o c es s c o m m u n ic atio n
ex ec u tio n f lo w
r es p o n s e2
p r o c es s b lo c k ed
E ve n t d i ag r am fo r a pr o to c o l
Distributed Computing, M. L. Liu
16
Blocking, deadlock, and timeouts
Blocking operations issued in the wrong sequence can cause
deadlocks.
Deadlocks should be avoided. Alternatively, timeout can be used to
detect deadlocks. P ro c es s 1 P ro c es s 2
m ain th read
n ew th r ead is s u es a b lo c k in g I P C o p er atio n
th r ead is b lo c k ed
m ain th read c o n tin u es w ith
o th er p ro c es s in g
th r ead is u n b lo c k ed af ter th e o p er atio n is f u lf illed
Pro ce s s 1 Pro ce s s 2
le v e l o f a bs tra ctio n
da t a e n co din g s ch e m e s S a m ple S ta n da rds
g en er al d ata en c o d in g lan g u ag e
AS N .1 ( Ab s trac t S y n tax N o tatio n )
1 . c o n v er t d a ta to in ter n a l r ep r e s e n ta tio n
u n m a rsh a llin g
2 . r eb u ild d a ta s tr u c tu r e s .
"T h is is a te s t. "
-1.5 E x ter n al to in te r n a l r ep r e s e n ta tio n an d v ic e v e r s a
is n o t r eq u ir ed
7.3 - if th e tw o s id es a r e o f th e s am e h o s t ty p e ;
1.2 - if th e tw o s id es n eg o tia tes at c o n n ec tio n .
host B
t im e
r eq u e s t 1
r es p o n s e 1
r eq u es t 2
in ter p r o c es s c o m m u n ic atio n
ex ec u tio n f lo w
r es p o n s e2
p r o c es s b lo c k ed
E ve nt di ag r am fo r a p r o t o c o l
w eb s erver w eb brow s er
req u es t 1
res p o n s e 1
req u es t 2
in ter p r o c es s c o m m u n ic atio n
res p o n s e 2
req u es t 1
res p o n s e 1
req u es t 2
in ter p r o c es s c o m m u n ic atio n
res p o n s e 2
le ve l o f
I PC pa ra dig m s Ex a m ple I PC I m ple m e n t at io n s
a bs tra ctio n
re m o te p ro ce d u re /m e th o d R em o te P ro c ed u re C all ( R P C ) , J av a R M I
so cke t API Un ix s o c k et AP I , W in s o c k