You are on page 1of 41

HC VIN K THUT QUN S

KHOA CNG NGH THNG TIN


------ ------

BI TP LN
MN L THUYT H PHN TN
ti (Nhm 14): "Fault tolerance - lm r i vi
Web-Based Systems"

Gio vin hng dn: TS Hoa Tt Thng


Hc vin thc hin: Phm Cng Ha
Nguyn Hu An
L Th Thu Thy
Trn Th Huyn
Phm Th Ng-K24
Lp:
Cao hc CNTT K25

H Ni - 05/2014

Fault Tolerance
Tnh chu li
Mt tnh nng c trng ca h thng phn tn phn bit chng t cc
h thng c lp l khi nim ca cc thnh phn li. Mt li c th xy ra khi
mt thnh phn trong mt h thng phn tn b hng. Li ny c th nh hng
ti hot ng ring ca cc thnh phn khc, trong khi ti cng mt thi im
y nhng cc thnh phn khc hon ton khng b nh hng. Ngc li mt
li trong mt h thng khng c phn tn th s thng nh hng ti tt c
cc thnh phn khc. V c th d dng nh hng ti ton b h thng.
Mt phn quan trng ca h thng phn tn c thit k ra l xy
dng h thng nh mt cch m n c th t ng khi phc t cc thnh phn
li m khng nh hng ti hiu nng hot ng ca ton b h thng. c bit,
bt c khi no khi c mt li xy ra th h thng vn tip tc hot ng trong
khi qu trnh sa cha vn ang c tin hnh, c ngha l kh nng chu ng
li v hot ng vi mt s mc trng s hin din ca chng.
Trong chng ny chng ta s xem xt k hn cc k thut to ra mt
h thng phn tn c kh nng chng chu li. Sau khi cung cp mt nn tng
chung v kh nng chu li, chng ta s s xem xt kh nng phc hi v qu
trnh truyn d liu multicasting ng tin cy. Qu trnh phc hi kt hp cht
ch cc k thut bi mt hoc nhiu tin trnh c th tht bi m khng lm nh
hng nghim trng ti phn cn li ca h thng. Lin quan ti vn ny
l qu trnh truyn d liu ng tin c multicasting bng cch cc thng ip
c truyn ti ti mt nhm b x l m bo thnh cng. Qu trnh truyn
d liu ng tin cy multicasting thng cn thit gi cho cc tin trnh c
ng b.
Atomicity l mt thuc tnh qua trng trong nhiu ng dng. V d, trong
cc qu trnh truyn phn tn n thc s l cn thit m bo rng tt c cc
hot ng trong mt qu trnh c truyn i c thc hin. V c bn
atomicity trong cc h phn tn l mt khi nim v cc giao thc phn tn c
cam kt, s c tho lun trong mt phn ring bit trong chng ny.
Cui cng, chng ti s xem xt lm th no khi phc t mt li. c
bit chng ta s xem xt khi no v lm th no trng thi ca mt h thng
2

phn tn nn c lu tr li cho php khi phc li trng thi sau ny.


8.1 Gii thiu v Fault Tolerance
Kh nng chng chu li nh l mt ch c nghin cu nhiu
trong khoa hc my tnh. Trong phn ny, chng ta s bt u c lm quen
vi cc khi nim c bn lien quan ti tin trnh x l cc li, theo ch dn bng
cch tho lun v cc kiu li. K thut quan trng x l cc li l kh
nng d phng, cng s c tho thun trong phn k tip sau. tham kho
thm thng tin v kh nng chng chu li ca h thng phn tn, v d Jalote
(1994) hoc (Shooman, 2002)

8.1.1 Cc khi nim c bn


hiu c vai tr v kh nng chng chu li ca h thng phn tn
u tin chng ta cn c mt ci nhn gn hn vo nhng g n thc s c ngha
v kh nng chng chu li ca mt h thng phn tn. Kh nng chng chu li
lin quan nhiu n nhng g gi l h thng ng tin cy. tin cy l mt
thut ng bao gm mt s cc yu cu hu ch cho cc h thng phn tn bao
gm nhng yu cu sau (Kopetz and Verissimo, 1993):
1.

Tnh sn sng

2.

Tnh tin cy

3.

Tnh an ton

4.

Kh nng duy tr

Tnh sn sng ngha l h thng c th s dng ngay lp tc. Ni chung


iu ny th hin kh nng h thng hot ng chnh xc trong bt k thi im
no v sn sng thc hin chc nng ca n. Ni mt cch khc, mt h thng
c tnh sn sng cao khi n p ng c ngay lp tc khi thi gian yu cu a
ra.
Tnh tin cy ngha l h thng c th chy lin tc m khng pht sinh li.
Khc vi tnh sn sng, mt h thng tin cy cao l mt h thng c th hot
ng lin tc m khng c bt k mt s gin on no trong mt khong thi
gian di. y l mt s khc bit kh nhn ra nhng rt quan trng khi em so
snh vi tnh sn sng. Nu mt h thng trng thi down 1 milisecond mi
3

gi, tnh sn sng ca n t n 99.9999 phn trm nhng vn l mt h thng


khng tin cy. Ngc li mt h thng khng bao gi v nhng lun lun
trng thi down trong 2 tun ca thng 8 l mt h thng tin cy cao nhng li
ch t c 96% sn sng. Tnh tin cy v tnh sn sng khng ging nhau.
Tnh an ton th hin ch khi h thng tm thi b li, khng c thit
hi nghim trng no xy ra. Chng hn nhiu h thng iu khin tin trnh nh
h thng dng iu khin nh my ht nhn hay a con ngi vo v tr
yu cu an ton cao. Nu h thng iu khin ch b li trong mt khong
thi gian rt ngn, hu qu c th rt thm khc. Nhiu v d trong qu kh
chng t rt kh xy dng mt h thng an ton.
Cui cng, tnh duy tr th hin ch mt h thng li c th c sa
mt cch d dng. Mt h thng c tnh duy tr cao s c tnh sn sng cao, c
bit l nu li c th c pht hin v sa cha mt cch t ng. Tuy nhin
nh chng ta s thy sau trong chng ny, vic t ng phc hi li l rt kh
Thng thng mt h thng ng tin cy cn i hi phi cung cp c
an ninh an ton cao, c bit khi n i n vn nh tnh ton vn. Chng
ta s tho lun v s an ninh, an ton trong chng tip theo.
Mt h thng b coi l li khi n khng th thc hin c nhng chc
nng thng thng ca n. C th nu mt h phn tn c thit k cung
cp mt s nhng dch v, h thng li khi n khng th cung cp c mt
trong nhng dch v . V d khi truyn mt gi tin qua mng, n c th b rt
gi tin khi ti pha u ngi nhn. Qu trnh gi tin b h hng c ngha l pha
u ngi nhn nhn nhng thng tin khng chnh xc cc bt 0 v 1.
R rng vic tm ra nguyn nhn gy li l rt quan trng. Chng hn mt
mi trng truyn khng tt c th d dng nh hng n. Trong trng hp
ny, xa b li l kh d dng. Tuy nhin li do truyn c th b gy ra bi iu
kin thi tit xu (v d trong mng wireless). Thay i thi tit ngn chn li
l mt gii php khng kh thi.
Vic xy dng mt h thng c th tin cy c lin quan cht ch n
vic x l li. Mt khc bit c th c thc hin gia phng nga, loi b, v
d bo cc li (Avizieniset al., 2004). Vi chng ta, iu quan trng nht l tnh
chu li, ngha l h thng c th cung cp cc dch v trong khi vn tn ti li.
Ni cch khc, h thng c th chu li v tip tc hot ng mt cch bnh
4

thng.
Li thng c chia thnh 3 loi: nht thi, lin tip hoc lu di. Li
nht thi ch xut hin mt ln ri bin mt. Nu qu trnh hot ng lp li, li
khng xut hin na. V d, mt con chim bay qua bay qua mt my pht sng
c th gy ra mt bit tn hiu trn mt s mng li. Nu trong thi gian truyn
v c th li th n s li hot ng bnh thng tr li trong mt vi giy
Li lin tip l tnh trng hot ng khng n nh, li lp i lp li nhiu
ln. Li lin tip l nguyn nhn ca nhng hu qu nghim trng v kh tm
c nguyn nhn. Thng thng khi c li th cc chuyn gia s c mt khc
phc s c v h thng li hot ng tt.
Li lu di l li ch c khc phc khi thnh phn gy li c thay
th, v d nh chy n chip, li phn mm, li a....

8.1.2. Cc kiu li
Mt h thng li l khi n khng cung cp u cc dch v nh n
c thit k. Nu coi mt h phn tn l mt tp cc server giao tip vi nhau
v vi cc client ca n, th khng cung cp y cc dch v ngha l cc
server, cc knh truyn thng, hoc c 2 khng thc hin ng nhim v ca n.
Tuy nhin mt server hot ng sai chc nng cha chc l nguyn nhn gy
ra li m chng ta ang mc phi. Nu mt server ph thuc vo cc server khc
cung cp y cc dch v ca n, nguyn nhn ca li c th cn phi
c tm kim nhng ni khc na ngoi server , mc d server b li.
Mi quan h ph thuc xut hin rt thng xuyn trong h phn tn.
Mt a cng b li c th nh hng n mt file server c thit k cung
cp h thng file c tnh sn sng cao. Nu mt file server nh vy l mt phn
ca mt h c s d liu phn tn, s hot ng chnh xc ca h ton b h c
s d liu c th b e da v ch mt phn d liu l c th truy cp c.
hiu r hn thc t mt li l nghim trng n mc no, ngi ta
a ra mt vi cch phn loi. Mt trong s c ch ra trong hnh 8-1 nh
sau, v c s da trn n c m t trong Cristian (1991) v Hadzilacos v
Toueg (1993).

Kiu li

Miu t

Li b treo

Mt my ch tm dng, nhng n vn hot ng


chnh xc cho ti khi n tm dng

Li thiu st

Mt my ch b li p ng cc yu cu gi ti

Nhn thiu st

Mt my ch b li nhn cc thng tin gi ti

Gi thiu st

Mt my ch b li gi cc thng tin

Li v thi gian

p ng ca mt my ch nm pha ngoi khong


thi gian quy nh

p ng b li

p ng ca mt my ch khng chnh xc

Gi tr b li

Gi tr ca p ng b sai

Trng thi truyn b Cc my ch i chch khi s kim sot chnh xc


li
Li ty

Mt my ch c th x l nhiu p ng ty ti bt
k thi im no
Hnh 8-1. Cc kiu li

Li b treo xy ra khi mt server ngng hot ng sm hn mong i,


nhng vn lm vic chnh xc cho n khi n dng. Mt v d in hnh ca
trng hp ny l khi h iu hnh gp phi mt li nghim trng, v ch c mt
gii php duy nht l khi ng li n. Nhiu h thng my tnh c nhn gp
phi li b treo thng xuyn n ni mi ngi phi cho rng l chuyn
bnh thng. l l do ngi ta chuyn phm reset ca my tnh c nhn t
mt sau ra mt trc ca cy my tnh. C l mt ngy no n s c
chuyn li ra pha sau, hoc thm ch b loi b hon ton.
Li Omission failure xy ra khi server khng c kh nng phn hi hoc
nhn cc yu cu. Trong trng hp li nhn cc yu cu, c kh nng server
khng bao gi nhn c yu cu ngay trong ln u tin. Ch rng c th kt
ni gia client v server c th c to ra nhng khng c lung no lng
nghe cc request n. Hn na li nhn cc yu cu ni chung s khng nh
hng n trng thi ca server v server ch khng nhn bit c rng c
thng ip gi cho n.
6

Tng t nh vy, li gi cc bn tin xy ra khi server hon thnh


cng vic ca n, nhng v mt l do no m khng th gi c phn hi.
Nhng li nh vy c th xy ra, chng hn khi gi buffer overflows trong khi
server khng c chun b cho tnh hung . Ch rng ngc vi li nhn
yu cu, server hin ti c th trng thi ch ra rng n thc hin xong mt
dch v cho mt client. Do nu vic phn hi cc yu cu khng c hon
tt, client phi gi li cc yu cu ca n.
Mt loi li omission failure khc khng lin quan n kt ni c th gy
ra bi cc li phn mm nh vng lp v tn hoc qun l b nh khng hp l
dn n server b treo.
Mt loi li khc l timing failure. Timing failure xy ra khi bn tin phn
hi c gi i trong mt khong thi gian khng thch hp. Nh chng ta
bit trong chng 4, gi d liu qu sm c th d dng gy ra rc ri cho pha
nhn nu my nhn khng khng gian b nh m lu gi tt c cc d
liu n. Tuy nhin thc t thng xy ra trng hp server phn hi qu chm
dn n gim hiu nng ca h thng.
Mt loi li nghim trng na l li respond failure, ngha l cc bn tin
phn hi ca server khng thch hp. C 2 loi li phn hi c th xy ra l
value failure v state transition failure. Value failure l khi server cung cp cc
phn hi sai cho mt yu cu no . Chng hn mt serach engine a ra kt
qu tm kim cc trang web khng lin quan g ti cc t kha tm kim. State
transition failure xy ra nu khng c tiu chun no c a ra iu khin
cc bn tin. C th l trong trng hp mt server li c th c nhng quyt
nh mc nh khng hp l.
Li nghim trng nht l arbitrary failure, cn c bit n nh l
Byzantine failure. Li ny c th xy ra khi server to ra nhng output m khi
bnh thng n khng bao gi to ra, sau kt hp vi nhng server khc
ti ra nhng cu tr li sai. Li Arbitrary failure c quan h cht ch vi li
crash failure. Crash failure cn c gi l fail-stop failure, n l loi li t gy
thit hi nht khi server ngng hot ng. Trong thc t, fail-stop failure server
s ngng to ra nhng output nh m cc tin trnh khc c th nhn thy
c s ngng hot ng ca n. Trong trng hp tt nht, server c th thng
bo rng n sp ngng hot ng.
7

D nhin trong thc t, nhng server ngng hot ng do omission failure


v crash failure s khng bo trc rng n chun b ngng hot ng. Cc tin
trnh khc s c nhim v xc nh rng server ngng. Tuy nhin trong
cc fail-silent systems nh vy, cc tin trnh khc c th khng bit l server
ngng hot ng, thay vo ngh rng server t nhin chy chm, dn n
performance failure.
Cui cng, c nhiu trng hp m server a ra nhng output ngu
nhin, nhng output ny c th nhn bit c bi nhng tin trnh khc. Server
nh vy th hin arbitrary failure nhng theo mt cch v hi. Li ny cng
c gi l fail-safe.

8.1.3 Failure Masking by Redundancy (Che giu li bng d tha).


Nu mt h thng c coi l c kh nng chu li, n phi c kh nng
che giu nhng li xy ta vi cc tin trnh khc. K thut chnh che giu li
l s dng s d tha. C 3 loi c th thc hin c l: information
redundancy (d tha thng tin), time redundancy (d tha thi gian), v
physical redundancy (D tha vt l). Information redundancy l dng mt s
bit d tha c thm vo cho php phc hi li d liu t d liu li. Chng
hn Hamming code c th c thm vo d liu c truyn i b li nhiu
trn ng truyn.
Time redundancy ngha l mt hnh ng c thc hin, sau nu cn
thit n s c thc hin li mt ln na. Cc giao dch s dng phng php
ny (Chng 1). Nu mt giao dch b b qua, n c th c thc hin li m
khng c tn hi g. Time redundancy t ra c bit hu ch khi li l tm thi
hoc khng lin tc.
Physical redundancy ngha l cc tin trnh hoc thit b d phng c
thm vo gip cho h thng hon thin chng li sc thiu hoc hot ng sai
chc nng ca mt s thit b. Do vy physical redundancy c th c thc
hin da theo phn cng hoc phn mm. Chng hn cc tin trnh d phng c
th c thm vo h thng phng trng hp nu c mt s nh trong s
chng gp vn , h thng vn c th hot ng chnh xc. Ni cch khc, bng
cch sao chp cc tin trnh, c th t c kh nng chu li cao.

Chng ta s minh ha v s p dng ca physical redundancy nh hnh 82 trn. Theo hnh 8-2a tn hiu s i qua A,B,C theo th t. Nu mt trong 3
thit b b li, kt qu cui cng c th khng chnh xc. Trong hnh 8-2b,
mi thit b c sao chp li thnh 3 bn. Tn hiu lc ny s khng ch i qua
thit b A m i qua 3 thit b A1, A2, A3 ging ht thit b A. Cc tn hiu
output s c a v cc b so snh V1, V2, V3. Mi mch so snh ny s so
snh 3 tn hiu A1, A2, A3 nu 2 trong 3 output qua 3 thit b trn l ging nhau
th s ly tn hiu , cn nu c 3 tn hiu khc nhau th output s khng xc
nh. Thit k nh vy c gi l TMR (Triple Modular Redundancy)
Gi s rng thit b Az no b li, vn cn 2 thit b khc hot ng
ng v h thng vn l tin cy. V bn cht, vic Az b li l hon ton c
che y, v vy tn hiu input cho B1, B2, B3 vn chnh xc nh trng hp Az
khng h b li.
Trong trng hp c B3 v C1 na cng b li th sao? S tc ng ca n
cng c che du tt v h thng vn hot ng bnh thng.
Mt iu na l ti sao ti mi modul phi c tn 3 voter? Hin nhin l
cc voter ny cng l cc thit b bnh thng v cng c kh nng xy ra li.
Vic thit k 3 voter nh vy nhm mc ch khi mt thit b hng s khng nh
hng n s hot ng ca h thng.
Mc d khng phi mi h phn tn c kh nng chu li u s dng
TMR nhng k thut l rt ph bin cung cp mt ci nhn r rng v mt
h thng c kh nng chu li.

8.2 Process Resilience (Khi phc tin trnh)


Vn c bn ca kh nng chu li c tho lun trn, by gi
chng ta s tp trung vo cch thc tin hnh c th t c kh nng chu
li trong h phn tn. Phn trn chng ta tp trung vo cch thc ngn chn li
xy ra, trong phn ny chng ta s xem xt nhng vn thit k chung ca
nhm cc tin trnh, v tm hiu th no l mt nhm c kh nng chu li.
Ngoi ra, chng ta cng xem xt cch thc hot ng khi mt hoc mt vi tin
trnh trong nhm b li.
8.2.1 Thit k a ra.
Phng php chnh xy dng mt h thng tin cy l t chc vi tin
trnh ging ht nhau vo mt nhm. Khi c mt bn tin c gi n nhm, mi
thnh vin trong nhm s nhn c bn tin . Theo cch ny, nu mt tin
trnh trong nhm li, hy vng rng cc tin trnh khc vn hot ng chnh xc
v a ra kt qu ng cho c nhm. (Guerraoui v Schiper, 1997).
Nhm cc tin trnh c th l ng. Nhng nhm mi c th c to ra
v cc nhm c c th b loi b. Mt tin trnh c th tham gia hoc ra khi mt
nhm trong sut qu trnh hot ng ca h thng. Mt tin trnh c th l thnh
vin ca vi nhm trong cng mt thi im. Do cn c nhng c ch
qun l nhm v qun l cc thnh vin trong nhm.
Mt nhm cc tin trnh cng gn tng t nh cc t chc x hi. Nga
l mt tin trnh c th tham gia vo mt nhm v trong trng hp c nhiu
nhm cng yu cu n thc hin mt cng vic no , n s c t do la
chn.
Mc ch ca vic gii thiu nhng nhm s cho php
Flat Groups versus Hierarchical.
Mt phn tch quan trng s khc bit gia cc nhm l cu trc bn
trong ca chng. Trong mt s nhm, tt c cc tin trnh l ngang bng nhau.
Khng c ci no l quyt nh chnh v mi quyt nh u c thc hin da
theo tp th. Trong nhng nhm khc, mt vi loi ca kin trc phn tng xut
hin. Chng hn mt tin trnh ng vi tr coordinator v tt c cc tin trnh
khc l worker. Trong m hnh ny, khi mt yu cu cho mt cng vic no
c a n, d l yu cu ca client bn ngoi hay ca cc workers trong
10

nhm u c gi n coordinator. Corordinator sau quyt nh worker


no thch hp nht thc hin n v s chuyn n cho worker .

Mi loi trong m hnh trn u c nhng u v nhc im ca n. Flat


group l cn i v khng c single point of failure. Nu mt trong nhng tin
trnh b li, c nhm ch n gin l b thu hp li, nhng vn c th tip tc
hot ng. Nhc im ca t chc ny l qu trnh a ra quyt nh kh phc
tp. Chng hn quyt nh bt k mt iu g, u phi tin hnh la chn
kin gia tt c thnh vin trong nhm, dn n tng thi gian tr v tn ti
nguyn.
Kin trc phn tng c nhng c im ngc li. Mt i coordinator dn
n ton b nhm ngng hot ng nhng khi coordinator hot ng n c th
t a ra quyt nh m khng lm phin n cc thnh vin khc.
Nhm thnh vin
Khi mt nhm ang tn ti, cn c mt vi phng php to hoc xa
nhm v cho php mt tin trnh tham gia hoc ri b nhm. Mt phng php
kh thi l c mt group server nhn mi yu cu. Group server c th duy tr
mt c s d liu y ca tt c cc group v cc thnh vin ca n. Phng
php ny d hiu, hiu qu v kh d thc hin. Tuy nhin nhc im ca n
k l tn ti single point of failure. Nu nhm Server b treo, nhm qun tr
ngng tn ti. iu chng t hu ht cc nhm s t ti li cu trc t cc
thnh phn.
Phng php ngc li l qun l cc thnh vin ca nhm theo phng
11

php phn tn. Chng hn nu s dng multicasting, mt tin trnh ngoi c


th gi mt bn tin thng bo rng n mun tham gia vo nhm.
Mt cch l tng, ri mt nhm, thnh vin ch cn gi goodbye
mesage ti mi thnh vin cn li. iu ny l kh thc hin khi mt tin trnh
ri khi nhm do b li t ngt v s khng c mt thng bo no c gi i.
Cc thnh vin cn li phi t pht hin ra cc thnh vin khng cn hot ng
trong nhm na nh pht hin rng n khng cn phi hi bt c mt bn tin
no na. Mt khi chc chn rng mt thnh vin thc s down, n s b g b
khi nhm.
Mt vn kh khn na l vic tham gia hoc ri b mt group phi
c ng b ha vi cc bn tin c gi i. Ni cch khc, ngay ti thi im
bt u tham gia vo mt nhm, n phi nhn tt c cc bn tin c gi n
cho nhm. Tng t nh vy, ngay sau khi ri khi nhm, n khng c nhn
thm bt k mt bn tin no t nhm v cng khng c gi bt k mt bn tin
no khc cho cc thnh vin trong nhm. Mt phng php thc hin vn
trn l khi mt thnh vin chun b ri nhm, s c mt chui bn tin thng bo
gi n cho ton nhm.
Vn cui cng lin quan n nhm thnh vin l cn phi lm g khi c
qu nhiu thnh vin trong nhm cng down 1 lc v group khng th hot ng
c na. Mt v giao thc cn c thc hin xy dng li nhm. Lc no
cng vy, mt vi tin trnh s phi hnh ng bt u xy dng li nhm.
Nhng iu g xy ra nu c 2 hoc 3 cng c gng xy dng li nhm 1 lc?
Giao thc phi c kh nng m bo iu khng xy ra.

8.2.2 Failure Masking and Replication (Che giu li v sao lu).


Nhm cc tin trnh l mt phn trong gii php xy dng h thng chu
li. Ni c th, c mt nhm cc tin trnh ging ht nhau cho php chng ta che
giu mt hoc nhiu tin trnh li trong nhm. Ni cch khc, chng ta c th
sao chp cc tin trnh v t chc chng thnh mt nhm nhm thay th mt tin
trnh n l (d b li) bng mt nhm (c kh nng chu li hn). Nh tho
lun trong chng trc, c 2 cch t c s sao chp nh vy: primarybased protocols hoc repilcated-write protocols.
Mt vn chnh trong s dng nhm cc tin trnh tng tnh chu li
12

l cn c bao nhiu bn sao ca tin trnh th ? n gin ha, chng ta ch


quan tm n replicated-write systems. Mt h thng c gi l k fault
tolerance nu n c th hot ng ng vi k phn t (tin trnh) b li. Nu c k
tin trnh b li th cn c k+1 tin trnh khc khng b li qu trnh la chn
kt qu vn din ra chnh xc.

8.2.3 Agreement in Fauty Systems .


Vic t chc cc tin trnh ging nhau v cng 1 nhm gip tng kh
nng chu li. Nh cp trn, nu mt client c th a ra quyt nh ca
n theo c ch b phiu, n vn c th a ra quyt nh ng nu k trong s
2k+1 tin trnh hot ng sai (k+1tin trnh cn li vn hot ng chnh xc).
Ni chung mt vn kh khn t ra l khi chng ta yu cu mt nhm cc
tin trnh a ra mt s thng nht, chng hn nh la chn ra mt coordinator,
thc hin mt giao dch, phn chia cng vic cho cc workers.... Nu tt c cc
communication v processess l hon ho th d dng t c s thng nht
nh vy, nhng nu chng khng hon ho th s ny sinh nhng vn kh
khn.
Mc tiu chung ca distributed agreement algorithms l c tt c nhng
tin trnh khng li t c s nht tr trong mt s vn , v thc hin s
nht tr y trong mt s nht nh cc bc. Vn tr nn phc tp bi thc t
l cc gi thuyt khc nhau v underlying system yu cu cc gii php khc
nhau. Turek v Shasha (1992) phn thnh nhng trng hp sau:
1.

ng b v khng ng b.

2.
Communication delay l c gii hn hay khng? Delay l c gii
hn nu v ch nu chng ta bit rng mi bn tin c gi i vi thi gian ti
a c xc nh trc.
3.
Vic chuyn cc bn tin l c trt t hay khng? Ni cch khc
chng ta phn bit tnh hung liu cc bn tin t cng mt my gi c c
nhn theo ng th t n c gi hay khng, vi tnh hung khng c mt c
ch no m bo iu .
4.

Vic truyn cc bn tin l unicasting hay multicasting

Vi cc iu kin trn, vic t c s nht tr gia cc tin trnh xy ra nh


13

trong hnh 8-4. Trong tt c cc trng hp khc, khng c gii php no tn ti.
Ch rng hu ht cc h phn tn trong thc t u gi s rng cc tin trnh
hot ng khng ng b, cc bn tin c truyn unicast, v delay l c gii
hn. Do , chng ta phi truyn cc bn tin theo th t, ging nh trong TCP.

Trong hnh 8-5 chng ti minh ha qu trnh lm vic ca thut thut ton
vi trng hp N=4 v K=1. Vi cc tham s cho nh trn th thut ton s
hot ng trong 4 bc. Trong bc 1 mi Nonfault x l i gi vi n mi tin
trnh x l khc s dng truyn dng unicasting tin cy. Tin trnh x l li c
th khng truyn bt c thng tin g. Bt u vi=i, Trong hnh 8-5(a) chng ta c
th nhn thy tin trnh x l 1 report 1, process2 report 2, process 3 nm trong
thnh phn x,y,z, v process 4 report 4. Trong bc 2 kt qu l ca bc 1 vi
s vc t nh trong hnh 8-5(b)

14

Bc 3 bao gm tt c cc qu trnh i qua vc t t hnh 8-5(b) n cc


qu trnh x l khc. Bng cch ny th mi qu trnh s c c 3 vc t. Kt
qu ca bc 3 c th hin trong hnh 8-5(c). Cui cng bc 4 mi qu
trnh c xem xt thnh phn th i ca mi vc t mi nhn c. Nu mi
mt gi tr l chnh, th gi tr s c a vo vc t kt qu. Nu gi tr
khng phi l chnh th vc t kt qu s c nh du UNKNOWN. T hnh
8-5(c) chng ta thy 1,2 v 4 tt c u nhn gi tr VI, v 2 v v 4 l kt qu
chnh xc.
By gi chng ta s xem xt li vn ny vi gi tr N=3 v K=1, c
ngha l ch c 2 nonefaulty x l v mt b li nh m t trong hnh 8-6. Trong
hnh 8-6(c) khng phi cc qu trnh x l mt cch chnh xc khi nhn thy cc
phn t chnh element 1, element 2, hoc element 3, do s c nh du
UNKNOWN. Cc thut ton sai trong qu trnh bt tay tha thun vi nhau.

15

8.2.4 Pht hin li


Mun che giu li, trc tin chng ta phi pht hin c chng. Pht
hin li l mt trong phn quan trng ca tnh chu li. Tm li, trong mt nhm
cc tin trnh, cc thnh vin khng li phi c kh nng xc nh nhng thnh
vin cn li b li hay khng. Ni cch khc, chng phi c kh nng pht hin
khi c mt tin trnh li.
Khi ni n vic pht hin li, c hai cch pht hin ra cc tin trnh b
li. Hoc l tin trnh ch ng gi tin nhn: "are you alive?" ti tng thnh vin
khc hoc th ng ch tin nhn t mt tin trnh khc. Phng php th ng
ch c ngha khi chc chn c y cc kt ni gia cc tin trnh. Trong
thc t, thng s dng phng php ch ng.
C rt nhiu l thuyt v pht hin li nhng tm li u s dng c ch
time out kim tra xem liu mt tin trnh c b li khng. Nhng trong thc
t, c hai vn ln vi cch tip cn ny. Trc tin, do cc mng khng an
ton, n gin nh mt tin trnh b li v n khng gi v mt phn hi no cho
tin nhn ping. Ni cch khc, n kh d cho kt qu sai. Nu kt qu sai tc
ng n mt tin trnh bnh thng trong tp hp danh sch cc tin trnh thnh
vin th r rng cc cng vic chng ta ang thc hin cng sai theo.
Mt vn nghim trng khc l thi gian ch. Theo Birman (2005), hu
nh khng c bt k vic g hot hot ng bng vic to ra cc h pht hin li
nh khng ph hp m c tnh ton lu hn l phn hi vi 1 thng tin. iu
ny thm ch cn l 1 minh chng r rang hn khi nhn vo h thng mng
khng tin cy. Cn nhiu vn m cn phi c tnh n khi thit k h thng
pht hin li nh . V d, vic pht hin li c th c thc hin thng qua vic
trao i thng tin u n gia cc nt gn nhau, trong cc nt thng xuyn
gi thng bo n cc nt ln cn rng n vn ang tn ti v hot ng. Nh
chng ta thy, cch ny cho php cc nt c th ch ng kim tra ln
nhau

16

Pht hin li cng c th c thc hin nh mt tc ng th yu trao


i thng tin thng xuyn vi cc nt ln cn, ging nh trng hp da vo
trao i thng tin m chng ta tho lun chng 4. Cch tip cn ny v c
bn cng c thng qua ti Obduro (Vogels, 2003): x l nh k tin n c
sn dch v ca h. Thng tin ny ang dn ph bin qua mng bng cch trao
i thng tin. Cui cng, mi qu trnh s bit v tt c cc qu trnh khc,
nhng quan trng hn c l qu trnh ny s c thng tin cc b quyt
nh xem mt qu trnh b li hay khng. Mt yu t khc i vi cc thng
tin sn c l c, c l tht ba .
Mt vn quan trng khc l h thng pht hin li cn phn bit c
gia cc li thuc v h thng mng vi li ca cc tin trnh. Mt cch x l
vn ny l khng mt tin trnh n l t quyt nh neighbor ca n c
li hay khng. Thay vo , khi mt node pht hin khng ping c n mt
neigbor, n s yu cu cc neighbor khc xc nh xem liu chng c th ping
n neighbor khng, sau s thng bo kt qu n node ny. Tt nhin cc
thng tin xc thc c th c chia s: nu nt vn cn tn ti, thng tin c
th c chuyn tip cho nhng ngi c lin quan khc (nhng ngi c th
pht hin li ng truyn nu c nghi ng)
iu ny mang n cho chng ta mt vn quan trng khc: Khi mt
thnh phn b li, cc tin trnh bo li khc s c thng bo nh th no?
Mt cch n gin, cch thc ny c th hin trong FUSE. Trong Fuse, tin
trnh c th c gia nhp mt nhm c phm vi trong mt mng din rng. Cc
thnh vin ca nhm to ra mt mng li c s dng theo di cc thnh
vin b li. Cc thnh vin gi cc tin nhn ping n hng xm ca mnh. Khi
mt nt ln cn khng phn hi, nt ping ngay lp tc chuyn sang trang thi
khc m n cng khng tr li phn hi ca nhng nt khc. quy c
xem l mt tht bi nt duy nht, nhanh chng a ra mt thng bo tht bi ca
nhm. FUSE khng chu nhiu tht bi cho l do n gin rng n da trn
im-im kt ni TCP gia cc thnh vin trong nhm. FUSE khng b nh
hng nhiu bi li lin kt vi l do n gin v n da trn phng thc kt
17

ni im-im kt ni gia cc thnh vin trong nhm.

8.3.

Che giu li trong truyn thng client/server tin cy.


Trong nhiu trng hp, tnh chu li trong h phn tn tp trung ch yu

vo cc tin trnh li. Tuy nhin chng ta cng phi xt n trng hp cc giao
tip b li. Thng thng, mt knh giao tip c th gp cc li: li sp , li
b st, li thi gian v li ty . Vic xy dng mt knh truyn thng tp trung
vo che giu li sp v li ty . Li ty c th xy ra di dng cc tin
nhn trng lp, kt qu thc t cho thy trong mt mng my tnh tin nhn c
th c lu b nh m trong mt khong thi gian tng i lu v c
a vo mng sau khi my gi tin nhn u u tin sn sng truyn li (xem
v d Tanenbaum 2003)

8.3.1. Truyn thng im im .


Trong nhiu h phn tn, truyn thng im im tin cy c thit lp
bng cch s dng cc giao thc truyn tin cy nh TCP. TCP che giu c li
b st, li xy ra di dng mt tin nhn, bng cch dng c ch thng bo
ACK/NACK (xc nhn) v vic thc hin truyn li. Li nh vy l c che
du hon ton vi my trm TCP.
Tuy nhin, TCP khng che giu c li sp . Mt li sp c th
xy ra khi (v bt c l do g) mt kt ni TCP b hy t ngt do khng c
mt tin nhn no c truyn i trn ng truyn. Trong hu ht cc trng
hp, my trm c thng bo rng ng truyn b sp do sinh ra trng
hp ngoi l. Cch duy nht che giu li sp l h thng phi c kh nng
t ng to mt kt ni mi, ch n gin bng cch gi li mt yu cu kt ni.
Gi thit c s rng c mt side no vn tn ti, hay phc hi, li yu cu s
c phn hi

18

8.3.2. RPC khi xy ra li v cch khc phc


Vi h thng RPC, nm lp li c th xy ra l:
Client khng th nh v c server: Nguyn nhn gy li l do server v
client dng cc phin bn khc nhau hoc do chnh server b li. Khc phc
bng cch s dng cc ngoi l (exception) bt li nh ngn ng java v
iu khin tn hiu (signal handle) nh ngn ng C. Hn ch ca phng php
ny l khng phi ngn ng no cng h tr ngoi l hay iu khin tn hiu.
Nu t vit mt ngoi l hay iu khin tn hiu th s ph hy tnh trong sut.
B mt bn tin yu cu t client gi n server: y l loi li d x l
nht: h iu hnh hay client stub kch hot mt b m thi gian (timer) khi gi
i mt yu cu. Khi timer tr v gi tr 0 m khng nhn c bn tin phn
hi t server th n s gi li yu cu . Nu bn client nhn thy c qu nhiu
yu cu phi gi li th n s xc nhn rng server khng hot ng v s quay
li thnh kiu li khng nh v c server
Server b li ngay sau khi nhn c yu cu t client: Lc ny li phn
chia thnh hai loi:
+ Loi 1: Sau khi thc hin xong yu cu nhn c th server b li. Phng
php khc phc: sau server s gi thng bo hng cho client

+ Loi 2: Va nhn c yu cu t client server b li ngay. Phng


php khc phc: client ch cn truyn li yu cu cho. Vn t ra lc ny l
client khng th ni cho server bit yu cu no l yu cu c gi li.

Khi gp li kiu ny, pha my server s thc hin theo 3 k thut sau:
19

K thut 1: i n khi no server hot ng tr li, n s c thc hin yu


cu nhn c trc khi li . Nh th RPC thc hin t nht mt ln.
K thut 2: server sau khi c khi phc n s khng thc hin yu cu
nhn c trc khi b li m s gi li thng bo hng cho client bit client
gi li yu cu. Vi k thut ny th RPC thc hin nhiu ln nht.
K thut 3: khng thc hin g m bo c. Khi server b li, client
khng h hay bit g c. Kiu ny, RPC c th c thc hin nhiu ln cng c
th khng thc hin ln no.
Cn client th c th thc hin theo 4 chin lc sau:
Mt l: Client khng thc hin gi li cc yu cu. V th khng bit bao
gi yu cu mi thc hin c hoc c th khng bao gi c thc hin.
Hai l: Client lin tc gi li yu cu: c th dn ti trng hp mt yu
cu c thc hin nhiu ln.
Ba l: Client ch gi li yu cu no khi khng nhn c bn tin ACK
phn hi t server thng bo nhn thnh cng. Trng hp ny, server dng
b m thi gian. Sau mt khong thi gian xc nh trc m khng nhn c
ACK th client s gi li yu cu .
Bn l: Client gi li yu cu nu nhn c thng bo hng t server.
Vi hai chin lc dnh cho my ch v bn chin lc dnh cho my trm,
c tng cng tm s kt hp cn xem xt. Tht khng may, s kt hp l khng
tha ng. gii thch, lu rng c 3 trng hp c th xy ra my ch:
gi tin nhn hon thnh (M), in vn bn (P), v treo (C). Cc trng hp ny c
th xy ra theo 6 trnh t sp xp sau:
1. M ~ P ~ C: Treo my xy ra sau khi gi tin nhn hon thnh v in vn bn.
2. M ~ C (~P): Treo my xy ra sau khi gi tin nhn hon thnh nhng trc
khi vn bn c th c in.
3. P ~ M ~ C: Treo my xy ra sau khi gi tin nhn hon thnh v in vn bn
4. P ~ C (~M): Vn bn c in, sau khi my ch treo trc khi hon thnh
c th c gi i.
20

5. C (~ P ~ M): Treo my xy ra trc khi my ch lm bt c cng vic g


6. C (~ M ~ P): Treo my xy ra trc khi my ch lm bt c cng vic g
Cc du ngoc n ch ra rng mt trng hp khng th xy ra di hn
v my ch b treo. Hnh 8-8 cho thy tt c cc s kt hp c th. Thc t l
khng c s kt hp no gia my trm v my ch. im mu cht l my
trm c th khng bao gi bit my ch b treo ngay trc hoc sau khi yu
cu c thc hin.

Ni tm li, kh nng my ch b treo hon ton thay i bn cht ca


RPC v phn bit r rng cc h thng x l n vi cc h phn tn. Trong
trng hp trc y, mt my ch b treo cng ng ngha vi my trm b
treo, vic phc hi l khng th v cng khng cn thit. Nhng sau ny iu
l c th v cn thit i vi mt hot ng.

Mt bn tin phn hi t server gi tr v client:


Mt tin nhn phn hi cng c th l kh khn phi i ph. Gii php c

th l ch da vo mt thit b o gi c thit t bi h iu hnh ca


my trm. Nu khng c phn hi ang sn sng trong mt khong thi gian
hp l, ch cn gi yu cu li mt ln na. Kh khn vi gii php ny l my
trm khng thc s chc chn ti sao khng c cu tr li. lm theo yu cu
21

hay phn hi b mt hay n thun ch l my ch chm? iu c th gy ra


sai khc.
c bit, mt s hot ng c th c lp i lp li thng xuyn mt
cch an ton khi cn thit vi li khng ng k. Mt yu cu gi d nh yu
cu 1024 byte u tin ca file khng c hiu ng ra v c th c thc hin
thng xuyn khi cn thit m khng c bt c thit hi no. Mt yu cu c
thuc tnh nh vy th c gi l ly ng.
By gi hy xem xt mt yu cu n my ch ngn hng yu cu chuyn
mt triu la t mt ti khon n mt ti khon khc. Nu yu cu chuyn
n v c thc hin nhng phn hi b mt, my trm s khng bit iu
v s gi li yu cu. My ch ngn hng s hiu yu cu nh l mt yu cu
mi v s thc hin li n. Hai triu la s c chuyn. Ly tri ng
phn hi ny mt 10 ln. Chuyn tin khng phi l khng i.
Mt cch gii quyt vn ny l c gng xy dng cc yu cu mt
cch khng i. My trm c th nh s th t cho mi yu cu. Bng cch
ny, my ch theo di cc yu cu c my trm gi, my ch c th phn
bit yu cu ban u vi yu cu gi li v c th t chi thc hin bt c yu
cu ln th hai no. Tuy nhin, my ch vn phi gi mt thng bo cho my
trm. Lu rng phng php ny khng yu cu my ch phi duy tr quyn
qun l trn mi my trm. Hn na cng khng r duy tr quyn qun l bao
lu. Thm mt bin php an ton l trong tiu tin nhn phi th hin mt cht
g gip phn bit u l cc yu cu c gi li ( tng ny c cho l an
ton thc hin mt yu cu ban u, vic truyn li c th c yu cu lu
cn thn hn)
Client b li ngay sau khi gi yu cu ti server: Client gi yu cu ti
server ri b li trc khi nhn c tr li t server gi v. Cng vic m
server thc hin nhng khng c ch no i nhn c gi l mt
orphan. Nh th s gy lng ph chu k CPU.
C 4 gii php c a ra trong trng hp ny l:
22

Mt l: trc khi gi i yu cu no , client stub s to ra mt bn ghi


xc nh cng vic cn thc hin ny v lu li. Nh th, khi c phc hi sau
khi li, client s ly li bn ghi v v vic thc hin cc orphan ang din ra
s dng li. Phng php ny c nhiu nhc im: Chi ph trang b a
lu li mi bn ghi cho mi RPC. Orphan c th t mnh thc hin RPC to ra
mt grandorphan nn rt kh xc nh.
Hai l: chia thi gian hot ng lin tc ca client thnh cc s lin tc
gi l cc thi k. Mi khi cc clietn khi phc tr li th s ch thi k ny li
tng ln mt n v. Lc ny clietn s gi thng bo n tt c cc my khc
thng bo s thi k mi ca mnh. Khi nhn dc thng bo ny th cc orphan
s dng li
Ba l: khi nhn c bn tin thng bo thi k mi, mi my s kim tra
xem mnh c ang thc hin mt tnh ton t xa no khng. Nu c, my
s c xc nh xem client no gi yu cu ny. Nu khng xc nh c th
qu trnh tnh ton ny s b hy b.
Bn l: quy nh mi RPC ch c mt khong thi gian xc nh T thc
hin, sau khi gp li, clietn s pho i thm mt khong thi gian T trc khi
khi ng li nhn cc orphan. Vn t ra l phi la chn gi tr T nh
th no cho hp l.
Trong thc t, tt c cc phng php ny u mi phc qua v khng
c mong i. T hn na, vic hy b mt orphan c th c hu qu khng
lng ht c. V d, gi s rng mt orphan ang cha cc () kha ca mt
hay nhiu file hay cc bn ghi ca c s d liu. Nu orphan ny t nhin b
hy, cc kha c th tn ti mi mi. Ngoi ra, mt orphan c th thc
hin mt s hng mc trong hng i t xa khc nhau bt u cc qu trnh
khc mt vi thi im trong tng lai, vic hy orphan khng th loi b ht
cc du vt ca n; C th hnh dung c, n c th thm ch bt u li ln
na vi nhng hu qu khng lng trc c. Loi b orphan c tho lun
chi tit hn bi Panzieri v Shrivastava nm 1988.

23

8.4.

Che giu li trong truyn thng nhm tin cy (dng multicasting)

8.4.1. Multicasting tin cy c bn (Basic Reliable-multicasting).


Sau khi cc tin trnh c phn nhm th mt tin trnh khc mun
thc hin multicast tc l s gi bn tin ti tt c cc tin trnh trong nhm .
Multicast tin cy l phi c c ch m bo bn tin n c tt c cc
thnh vin trong nhm. Khi xy ra li th s p dng phng php sau che
giu li:
Phng php: nh s cc bn tin cn gi. Cc bn tin c lu ti mt
buffer ca bn gi v vn lu cho n khi nhn c bn tin ACK bo v
t bn nhn. Nu bn nhn xc nh l b mt mt bn tin no th n s gi v
mt bn tin NACK yu cu gi li. V thng thng, bn gi s t ng gi
li bn tin sau trong khong thi gian xc nh no m n khng nhn c
bn tin ACK bo v.

Hnh (a). Truyn bn tin (b). Bn tin phn hi


8.4.2. Multicast tin cy m rng.
tng hiu qu cng vc khi lm vic vi mt s lng ln cc tin
trnh th a ra m hnh multicast tin cy m rng. Vi m hnh ny s khng
gi tr v bn tin ACK bo nhn thnh cng m ch gi tr v cho tin trnh
nhn bn tin NACK thng bo khi c li truyn.Vic ny c thc hin bng
giao thc SRM (Scalable Reliable Multicasting).
24

c th thc hin multicast tin cy cho mt nhm ln cc tin trnh th thc


hin t chc cc nhm theo cu trc dng cy. Cu trc ca cy :
- Gc l nhm cha tin trnh gi.
- Cc nt l cc nhm c cha tin trnh nhn.

Hnh. Multicast tin cy dng cy


Vic thc hin multicast c thc hin cho cc nhm nh . Vic chia
thnh cc nhm nh hn ny cho php s dng cc kch bn multicast tin cy
cho tng nhm nh .
Trong mi nhm nh s c mt tin trnh lm coordinator. Coodinator
c kh nng iu khin vic truyn li khi nhn c thng bo truyn li.
Coodinator ca mi nhm s c b m (history buffer) ring.
- Nu Coordinator ca mi nhm khng nhn c bn tin m th n s gi
yu cu truyn li ti coordinator ca nt cha n.
- Trong kch bn truyn tin cy s dng bn tin ACK th khi coordinator
nhn thnh cng mt bn tin m n s gi bn tin ACK ti coordinator ca
nt cha n.
- Nu coordinator ca mt nhm nhn c bn tin ACK bo nhn thnh
cng bn tin m ca tt c cc tin trnh trong nhm gi v th n s xa bn
tin m khi b m ca n.
nh gi: vi phng php phn cp ny th xy ra vn v cu trc cy. Rt
25

nhiu trng hp yu cu cy phi c cu trc ng nn phi c mt c ch tm


ng cho cy ny

8.4.3. Multicast nguyn t (Atomic multicast ).


T tng chnh: khi mt tin trnh mun gi bn tin cho mt tp cc tin
trnh khc theo kiu multicast, n s khng gi bn tin ti tt c cc tin trnh
ca nhm cha cc tin trnh nhn m ch gi n mt nhm nh cc tin trnh
cn nhn bn tin .
Vn t ra: phi m bo gi c bn tin ti tt c cc tin trnh trong
nhm hoc khng c gi ti bt k tin trnh no nu mt tin trnh trong
nhm b li sp .
Mt s thut ng:
Group view (khung nhn nhm): tng chnh ca atomic multicast l mt tin
trnh thc hin multicast bn tin m th ch thc hin lin kt ti mt danh sch
cc tin trnh cn nhn bn tin m ch khng phi ton b nhm. Danh sch
cc tin trnh ny tng ng vi mt khung nhn nhm (group view)- mt tp
nh cc tin trnh ca mt nhm ln.
View change (thay i khung nhn): khi ang thc hin multicast ti mt group
view G m c mt tin trnh xin gia nhp nhm hay xin ra khi nhm th s thay
i vc ny s c gi ti tt c cc thnh vin cn li trong nhm. Do , cc
tin trnh cn li trong G s nhn c hai bn tin:
m: bn tin cn nhn
vc: bn tin thng bo c thay i trong G.
Nu tt c cc tin trnh trong G u cha nhn c vc th thao tc multicast
bn tin m c thc hin.
Nu mt trong s cc tin trnh trong G nhn c vc th pho m bo rng
khng mt tin trnh no khc trong G c nhn m na
ng b o (Virtual sychronous).
T tng chnh: m bo bn tin ch c multicast ti tt c cc tin trnh
khng c li. Nu tin trnh gi b sp trong qu trnh multicast th qu trnh
ny b hy ngay d bn tin c gi ti mt vi tin trnh khc trong
26

nhm ri.

Hnh Nguyn l ng b o

1: P1 tham gia vo nhm c sn ba thnh vin: P2,P3, P4.


2: P2 thc hin multicast bn tin ti tt c cc tin trnh cn li.
3: P1 thc hin multicast bn tin ti tt c cc tin trnh cn li.
4: P3 multicast ti tin trnh P2 , P4 thnh cng nhng P1 cha nhn c
th P3 b sp . Lc ny ng b o s hy tt c cc bn tin c gi
trc cho P2, P4, thit lp trng thi trc khi sp ca P3 l cha
gi bn tin d.
5: nhm lc ny ch cn P1, P2, P4 v P4 thc hin multicast bn tin,
6: P3 c khi phc v xin gia nhp li nhm.
7: P3 gia nhp nhm thnh cng.

8.5_ y thc phn tn : (distributed commit )


- Khi nim c s d liu phn tn :
C s d liu phn tn l cng ngh ly nhiu c s d liu t nhiu c
s d liu khc nhau trn nhiu my tnh khc nhau cng kt ni trong 1
mng v khin cho chng xut hin nh mt c s d liu n nht. Do
ngi dng khng nht thit phi bit my tnh no thc s c d liu
ngi cn.
27

- Vn qun l chia s ti nguyn :


C nhiu ngi dng truy cp c s d liu phn tn thng qua cc ng
dng. V l do ny chc nng qun l giao dch ( transaction
management ) c a ra. 1 giao dch l 1 qu trnh trao i gia my
thnh vin v my ch, giao dch hon tt khi qu trnh ny hon tt.
Chc nng qun l giao dch nhm duy tr tnh nht qun d liu, trnh
xung t d liu bng cch chia d liu thnh cc n v giao dch sao
cho c s d liu c th iu khin c vic cp nht t cc ngi dng
khc nhau.
Qun l giao dch bao gm c im : ACID
A Automicity ( nguyn t ) : Khng c giai on trung gian
cui qu trnh x l. Tc l tt c cc x l u c hon thnh hoc
khng c g c thc hin c.
Nht qun consistency : Khng quan tm n iu kin hon
thnh 1 giao dch, ni dung ca 1 c s d liu khng th c nhng mu
thun.
C lp isolation : cc kt qu x l ko thay i cho d x l tun
t hay ng thi.
Bn vng durability : cc kt qu khng b ph hng bi li hay
nhn t khc khi giao dch kt thc.
Distributed commit ( y thc phn tn ) l cc giao thc gip thc hin
truy cp ti nguyn (d liu) thc hin giao dch nh trn m vn m
bo CSDL ca ta c y cc c im nu.
y thc ( commit ) : l vic khi kt thc 1 cng vic x l c s d liu,
cp nht c s d liu xong kt qu c lu tr.
1. y thc 2 pha : l c ch m bo tnh ton vn ca c s d liu phn
tn.
liu

Gm 2 pha khc nhau : gi s c 2 site A,B l cc v tr t c s d


phn tn. My ch l my iu khin c s d liu phn tn ny.

Khi c s d liu c cp nht ( 1 giao dch bt u ), 2 pha din ra


nh sau:
28

- Pha 1 :
o My ch gi lnh cp nht (VOTE_REQUEST) n mi
site. Mi site tin hnh cp nht tm thi c s d liu.
( Cp nht tm thi tc l cc thnh vin trong mng bit
c s d liu no c th cp nht, cn cha c cp nht
mt cch vt l ).
o Cc site nhn c VOTE_REQUEST s tr li li my
ch lnh VOTE_COMMIT nu n trng thi sn sng
(ready ) cp nht hay lnh VOTE_ABORT nu n ang
c s c m mun hy b (abort ) bt k khi no nhn
c lnh y thc t my ch. ( cc s c y l cc li
h thng c th mc phi c phn tch cc mc trc
trong chng 8 ).
- Pha th 2 :
o Sau khi chc chn tt c cc site sn sng cho vic
cp nht ( nhn c COMMIT t cc site ). My ch
chuyn lnh GLOBAL_COMMIT cho cc site mt cch
tun t. Cc thnh vin tin hnh cp nht c s d liu
mt cch thc s mt cch tun t.
o Tuy nhin, ch cn my ch nhn c 1 message duy
nht t 1 site l ABORT th n s gi message
GLOBAL_ABORT n cc site cn li.
Ch : trong pha 2, my ch ch bt u y thc ( hay hy
b ) khi nhn c tt c phn hi t pha cc site con.

29

M hnh y thc 2 pha ( ly trong sch FE nn thut ng hi khc, v t


tng l vn ging )

2. y thc 3 pha:
Mt nhc im ca y thc 2 pha l ti pha th nht, my ch phi
nhn c phn hi ca tt c cc site con ( xem tnh trng ca n l sn
sng Commit hay Abort ) th mi quyt nh c thc hin y thc hay ko
pha th 2. Tuy nhin trn thc t c nhng trng hp my site gp s c
bt thng trc khi n kp gi phn hi cho my ch, trong TH ny s
khin ton b h thng b down do my ch khng bit nn quyt nh
th no.

y thc 3 pha khc phc nhc im ny bng cch c thm 1 bc


m goi l PRECOMMIT. Trong qu trnh i nhn phn hi t cc site
con, ch cn c 1 site gi li VOTE_ABORT ngay lp tc my ch s quyt
nh ABORT (hy b) qu trnh y thc ( khc vi 2 pha l phi i tt c
phn hi n ri mi quyt nh ).
30

Trng hp cc site ln lt gi v VOTE_COMMIT, my ch s


h thng trng thi PRECOMMIT. V sau khi tt c cc site u sn
sng th GLOBAL_COMMIT mi c my ch gi i.
Ngoi ra cc khu khc u nh 2 pha .

8.6_ Recovery ( S phc hi ):


Phc hi li ( recovery error ) l mt trong nhng cch hiu qu ca vic
gip tng kh nng chu li (fault tolerance ) ca h thng phn tn. C 2 dng
phc hi li chnh :
Backward recovery : t tng ca n l a trng thi ca h thng thi
im hin ti v trng thi ti thi im trc khi li xy ra. l c iu ,
buc ta cn thit phi ghi li trng thi ca h thng cc thi im lin tc
( time to time ). Mi thi im lu tr li ngi ta gi l checkpoint.
Forward recovery: khi h thng ri vo trng thi li, thay v a h thng
tr li trng thi trc khi li, cch ny li a h thng nhy sang mt trng
thi mi m h thng li hot ng bt. Vn chnh trong phng php
ny l phi d on trc c khi no li c th xy ra. Ch c vy n mi sn
sng chuyn h thng sang trng thi mi.
S khc nhau gia backward v forward chnh l s tin cy trong truyn
thng. Thng thng cch tt nht phc hi li trong qu trnh truyn thng
l bo bn gi gi li nhng gi tin b mt trong qu trnh truyn ( bo bng
cch chuyn v trng thi trc li, xem nhng gi no b mt, yu cu truyn
li ) chnh l t tng ca backward backward tin cy hn trong truyn
thng.
Cch th 2 l s dng phng php erasure correction. T tng ca n
l gi tin b mt c th c khi phc li da trn nhng gi tin khc. Nh
vic n quy nh bao nhiu gi tin sau c th phc hi c gi tin trc, h
thng c truyn cho n khi thnh cng chnh l t tng ca forward.
Trong h phn tn thng p dng backward recovery.
Nhc im ca backward:
- Vic phc hi li h thng trng thi trc i khi rt phc
31

tp.
- Vi phng php backward a ra khng c s m bo rng
sau khi tr li trng thi trc li, li li khng tip tc xy ra
d b ri vo tnh trng loop recovery.
- Khng phi lc no cng c nhng trng thi trc khi li ta
quay li ( ging nh i rt tin, my gp s c, t c c hi quay
li trng thi trc khi n nt rt tip tc rt tin).

1. Stable storage :
c th khi phc trng thi trc li ca h thng, buc phi lu tr
nhng thng tin cn thit cho s khi phc. C 3 cch lu tr nhng
thng tin ny :
- Lu tr trong RAM ( nhng b xa khi mt in )
- Lu tr trong a ( vn sng khi CPU li nhng mt khi khi a
hng)
- S dng Stable storage.
Stable strorage :
- c thc hin nh 2 a thng thng. Mi khi trong a 2 s
c copy ging ht nh khi a 1. Khi mt khi a 1
c cp nht th n cng c cp nht a 2 ( sau khi cp
nht xong a 1).

32

Hnh a : 2 a sao chp y nguyn nhau.


Hnh b : trng hp h thng gp li khi a 1 c update
cn a 2 cha c update. . tin hnh phc hi, n so snh
2 a vi nhau tng khi mt, thy s sai khc n li cp nht
2 ci ging nhau.
Hnh c: trng hp c nhng khi t ng li. Khi s c 1
checksum error c t khi n nh trc n. Nu li c
pht hin, khi b li s c khi phuc li theo a cn li.
Stable storage lun m bo tnh tin cy do n c ghi ng thi, sau
c chek li t kh nng c li xy ra.

2. Checkpointing :
Trong h phn tn, khi phc li yu cu h thng lu li trng thi trong
kho lu tr tnh. Nu tin trnh P ghi li trng thi thu nhn mt thng ip, s
c tin trnh Q ghi nhn s gi i thng ip. Mi tin trnh lu li trng thi
theo trnh t thi gian vo kho lu tr. khi phc, ch cn ly ra trng thi tt
gn nht khi phc li h thng.

Checkpointing c lp
Khi mt tin trnh gp li, ng tc khi phc li c thc thi. Tuy nhin
vn ny sinh l ch nu mt tin trnh khi phc trng thi tt gn nht ca
n th iu khng m bo rng trng thi l tt nht cho ton b h
thng. Ni cch khc, trng thi ny c th ng vi trng thi li ca 1 tin trnh
khc trong h thng. iu ny dn ti vic phi lin tc kim tra cc im
33

checkpoint ca tng tin trnh ring bit nhng phi m bo tnh n nh cho c
h thng, v th ta phi quay lui ln lt cho ti khi t c thi im ti u,
iu ny c gi l hiu ng domino.

Vic tnh ton im khi phc m bo s hon ho cho c h thng


yu cu s phn tch cc phn ph thuc c ghi li bi cc tin trnh trong h
thng. iu ny v cng phc tp, c bit l i vi cc h thng ln.
Checkpointing phi hp
Vi phng php ny, tt c cc tin trnh c ng b ghi li trng
thi vo kho lu tr cc b. Li ch chnh ca phng php l trng thi lu tr
c ng b t ng cho c h thng, do c th trnh c hiu ng
domino. Phng php ny m bo tnh n nh cho h thng, bi khng c
thng ip no n trong thi im checkpoint, v cc thng ip gi i c
lu vo hng i cho n khi thng ip CHECKPOINT DONE c nhn.
Ta c th ci thin phng php bng cch multicast mt checkpoint ch
ti cc tin trnh ph thuc vo thi im khoi phc v l i cc tin trnh khc.
Mt tin trnh l ph thuc vo tin trnh iu phi nu n nhn c thng ip
c tnh nhn qu lin quan n thng ip c gi bi tin trnh iu phi
trong ln gi gn nht. Lc ny, tin trnh multicast checkpoint ch ti cc tin
trnh m n gi thng ip trc checkpoint cui cng. Khi tin trnh nhn
c thng ip ny, n gi yu cu ti tt c tin trnh m n tng gi thng
ip trc checkpoint cui cng v c nh vy. Mi tin trnh ch gi thng
ip 1 ln duy nht. khi tt c cc tin trnh c nhn din, mt multicast
th 2 c s dng thc s ly trng thi t checkpoint phc hi hot
ng cho cc tin trnh trong ton h thng.
34

8.7_ Lm r i vi Web-Based Systems:


1.Kin trc chung:
Ban u, h phn tn da trn nn tng Web khng khc nhiu so vi
nhng h phn tn khc. Tuy nhin trong qu trnh pht trin, ti liu c
chia s trn Web t ti liu tnh chuyn thnh nhng ti liu ng, c tnh
tng tc cao. Thm na, h thng Web hin nay khng cn ch phc v
vic chia s ti liu, thng tin, h thng web cn pht trin theo hng cung
cp nhng dch v khc.
1.1.M hnh truyn thng:

- Client gi bn tin HTTP yu cu ti Webserver


- Webserver tn ti tin trnh truy nhp CSDL.
- Server x l v tr li thng tin cho Client.
1.2.M hnh truyn thng vi kin trc a tng:

Mt trong nhng ci tin so vi kin trc c bn l vic s dng cc


CGL( Common Gatew Interface) nhm cung cp s tng tc cho
ngi dng. Thng qua cc Interface ny, Webserver c th chy nhng
35

chng trnh vi d liu u vo c ngi dung cung cp.


1.3.M hnh c ch hot ng dch v Web:

Cc dch v ca my ch c cng b ra pha UDDL.Khi Client cn n


dch v, n tm kim dch v qua cc m t tr v qua ngn ng WSDL.
Client thc hin kt ni n my ch qua giao thc SOAP v gi dch v. T
y qu trnh trao i din ra bnh thng thng qua giao thc SOAP.
2.Cc tin trnh
2.1.Tin trnh pha Client

Rendering Engine: Engine ny chu trch nhim hin th cc vn bn


HTML hay XML ln mn hnh. N cha cc thnh phn c kh nng: To lin
kt, giao tip trn mng; x l ngn ng HTML, XML; phin dch cc script
trong vn bn Browser Engine: Engine l trung tm ca trnh duyt, cung cp
cho ngi dung c ch xem vn bn, nh chia n thnh cc phn, la chn
cc phn ca vn bn, vo mt lin kt.v..v..
User Interface: Engine cung cp giao din cho ngi dung. Ngoi ra, do trnh
duyt khng ph thuc nn tng n chy, User Interface cng vi Brower
Engine chy trn cc th vin chun c th hin trn hnh.
2.2.Tin trnh pha my ch Web
Cc my ch ni b t chc nhiu hn hoc t hn theo cc bc cn thit
x l mt yu cu HTTP
36

2.3.C ch chy Clustering cc my ch

H thng s c mt my ch Front End nhn, chuyn v tr li cc yu cu


ti cc my ch Web. C ch gi c th l tun t, cng c th c c ch di
gi yu cu n my ch ang chu ti t hn.
2.4.C ch chy Clustering cc my ch
Ni dung nhn thc c phn phi c th c tt hn rt nhiu.

3.Cc c ch
3.1.C ch truyn thng
37

3.2.C ch nh danh URI

nh danh vi cc giao thc, cc nh dng khc nhau:

3.3.C ch ng b
Qu trnh ng b c gii quyt thng qua mt giao thc ring, l
38

WebDAV (Web Distributed Authoring and Versioning). WebDAV cung cp c


ch kha ti liu khi c truy cp, c ch to cc phin bn, xa, sao.
- Nhm ng b ha, WebDAV s dng hai c ch kha: C ch kha khi
mt Client thc hin chnh sa ti liu, lc ny cc Client khc s b kho
chc nng chnh sa (quyn write). C ch kha cho mt nhm ngi s
dng. C ch ny cho php mt nhm ngi dng chnh sa cc phn khc
nhau ca ti liu. Tuy nhin ngi dng phi quan tm ti cc vn v
xung t khi chnh sa.
- Khi Client cn chnh sa ti liu, Client phi truy cp ti Server v yu cu
quyn ly kha (Key token). Sauk hi cc d liu c chnh sa, Client gi
v Server qua bn tin HTTP Post, cng vi chng minh quyn sa d liu
(Key token). y c mt vn t ra l khi Client khng tr li quyn
chnh sa do b s c. Lc ny, Server cn c mt c ch ly li kha.
3.4. C ch nht qun v nhn bn
Nhm m bo hiu nng v tnh sn sang ca h thng qua c ch
Caching tc l lu li cc thng tin c yu cu nhiu nhm tr li Client
ngay lp tc m khng cn thc hin tin trnh ly d liu.

3.4.1C ch Proxy Caching

3.4.2.Nhn bn h thng Web Hosting


39

4.Kh nng chu li


-Kh nng chu li ca h phn tn da trn nn Web cng ch yu
da vo cc c ch Caching v Nhn bn
- Giao thc chng li bn thn l tin trnh thu thp v x l thng tin
ca cc tin trnh khc.
- Ch khi thnh phn thu thp thng tin nhn c tt c cc thng bo
t cc thnh phn nhn bn, n mi c a ra x l ph hp.
5. Tnh an ton bo mt h thng

40

Vic thit lp mt kt ni bo mt bao gm 2 giai on:


- Giai on 1: Client thng bo ti Server cc thut ton m ha v cc
chun nn m Client c th h tr. Server la chn thut ton v chun nn
cho kt ni v gi tr li thng tin cho pha Client.
- Giai on 2: L giai on xc thc gia Client v Server. Server xc
thc (chng minh mnh l Server) thng qua mt chng thc. N u nh Server
yu cu Client phi xc thc th Client s phi xc thc vi Server.

41

You might also like