You are on page 1of 176

Bai giang tom tt H phn tan

CHNG I GII THIU V C TNH CA H THNG PHN TN


MC TIU Gip sinh vin rm r cc vn : L do ra i h thng phn tn Cc thch thc cc h thng mng hin nay Cc nh ngha v h phn tn

1.1.M U Tnh ton phn tn mang n cho ngi truy cp trong sut l sc mnh nhiu my tnh v d liu nh ngi s dng cn thc hin bt k cng vic nht nh, v ng thi, t hiu sut cao v tin cy mc tiu. ng dung trong cc h thng my tnh phn tan pht trin nhanh chng trong thp k qua. Cc ch ca my tnh c phn tan l a dng v nhiu nh nghin cu ang iu tra cc vn khc nhau lin quan n cu trc phn cng phn tan v vic thit k cc phn mm phn tan cc tim nng x l song song v kh nng chu li c th khai thc. Trong chng ny, chng ta hy xem xt mt s khi nim c bn v cc vn lin quan n h thng phn tn. 1.1.1.L do ra i h thng phn tn Ngy nay, cc yu cu cng tr kht khe i vi cc h thng my tnh trong tng lai : v tc x l, s tin cy ca h thng ngay c khi c s c xy ra, kh nng lu tr, tnh m rng khi cn thit v hiu qu chi ph m n mang li, do cn phi thay th cu trc truyn thng theo t chc my tnh ca Von Neumann. Theo LeLann c hai tc nhn chnh nh hng n h thng phn tn: cng ngh thay i v nhu cu ca ngi s dng. Chng hn i vi pht trin v cng ngh : V mng my tnh : 6/1976 : Robert Metcalfe trnh by khi nim v Ethernet ti Hi ngh quc gia my tnh. tng v thi gian chia s (time-sharing) ln u tin c cp, l bc u tin hng n h thng phn tn.
1

Bai giang tom tt H phn tan 1980 : Ethernet c pht minh bi Robert Metcalfe v David Boggs ti Xerox PARC vo nm 1973, Ethernet u tin chy 2,94 Mbps. Sau , Metcalfe tham, ng to iu kin cho mt lin doanh gia k thut s gia Intel v Xerox hp tc hn pht trin trn Ethernet. Phin bn 1 c hon thnh vo nm 1980, v cc sn phm ny c s dng mt nm sau . 1983, IEEE ph chun Ethernet vi chun 802.3.Ethernet c gii thiu nh mt m hnh chun v sau l thp k ca my tnh c nhn ra i. Ngy nay, hu nh tt c cc my tnh PC v my tnh Mac vi port 10/100 Ethernet. Tc mng LAN khng ngng tng nhanh. 1985 : thick Ethernet: tc 10 Mbps. 1991 : 10BaseT s dng cp xon i (twisted pair), tc 10 Mbps. 1995 : 100 Mbps Ethernet ra i. 1998 : Gigabit Ethernet c gii thiu (1 Gbps Ethernet) 1999 : Chun 802.11b (wireless Ethernet) s dng cho LAN khng dy ra i. 2001 : 10 Gbps c gii thiu. 2005 : 100 Gbps s dng cho kt ni bng cp quang (optical link) Sau , ch mt vi cng ty ln hoc trng i hc c kt ni Internet, s dng gateways giao tip gia cc mng khc nhau, hnh thc kt ni l dial up. 1985 : C khong 1.961 hosts trn Internet. 2006 : C khong 439.286.364 hosts trn Internet. Hin nay, hu ht cc hot ng ca con ngi c din ra trn Internet. Bng 1.1. Kt qu chi ph trn bng thng s dng Nm 1977 1987 1997 2007 1 Dolar/ 1Mb 32.000 16Kbs 250 640 Kbs 2MB 2 64 MB 256 MB 0,06 512 MB - > 2Gbs Loi

Kt ni vi bng thng ln (High-speed WAN connectivity: 1 >50 Mbps). Nhiu kin trc mng ra i (Switched LANs,wireless v.v). My tnh ngy cng tr nn nh hn, r hn, hiu qu hn, tnh ton nhanh hn Vi x l tr thnh cng ngh dn u.
2

Bai giang tom tt H phn tan V giao thc (Protocols) Nh tc nhanh hn ca CPU lm chng n c th thc hin nhiu giao thc mt thi gian nh : - Thc hin m ha cng khai da vo phng php ECC(Elliptic curve cryptography), thc hin cc k thut kim tra li bo m d liu cho truyn d liu hoc lu tr (V d trong ngn ng XML). - Thc hin cc k thut nn nh, m thanh.v.v - Mng nhanh hn nn c th cc giao thc c kch thc ln hn nh : SOAP/XML, H.323 c thc hin ng thi. V lu tr (Storage) Tng 60.000.000 ln hn 50 nm qua, c th : 1977 : Vi a mm 310KB gi $1480 1987 : a cng 40 MB gi $679 2008 : a cng 750 GB gi $99, trung bnh khong $0.13 / 1GB. Chng hn, vo nm 1987, Website ni ting v gii thiu m nhc ca Billboard : 4,207 bi nhc, kch thc mi bi : 4.4 MB; dung lng 18 GBs. Thc hin download mt bi ht vi modem V90-44Kbps mt 15 pht, tn 76,560 la download ton b b s tp . Ngy nay, download 1 bi ht vi kch thc 12,9 Mbps mt khng qu 3,5 giy; tn khong: $5.00. trong cc h thng my tnh ngy nay, mt c m mi l c th tnh ton phn ton ( distributed computing). Nh tnh ton phn tn, tn dng sc mnh do nhiu my tnh mang li thc hin bt c cng vic no con ngi cn cng mt thi gian, t hiu sut cao v tin cy cao. S quan tm n h thng my tnh phn tn c pht trin nhanh chng trong hn mt thp k qua. Cc i tng nghin cu v h phn tn rt a dng, lin quan n lnh vc khc nhau nh: cu trc phn cng phn tn, thit k cc phn mm phn tn m n c th x l song song. H thng my tnh phn tn (hay h thng phn tn) s mt rt nhiu hnh thc v bao gm mt lot cc h thng kin trc. mt c th s dng mt h thng phn tn i hi mt tp hp ca nhiu b x l lm vic cht ch vi nhau gii quyt mt vn .

Bai giang tom tt H phn tan Cc ch c gii thiu trong gio trnh ny nhm cung cp cc khi nim c bn nht lin quan n cu trc phn cng phn tn, thit k cc phn mm phn tn. Ti sao chng ta cn n mng? C hiu qu cao : S dng mng c th em li nhng hiu qu c gi tr cao ( tm kim thng tin, kinh doanh, bun bn v.v..) Cc ng dng phn tn c th thc hin : ATMs, cc ng dng ha cp cao, gim st t xa (remote monitoring) C kh nng giao tip tng tc v gii tr : C th va lm vic v tiu khin trn nhiu dch v khc nhau nh : email, gaming, telephony, instant messaging v.v Remote content : Duyt Web, download nhc, phim nh, Tivi IP, file servers. Trin khai cc ng dng di ng : in thoi, nhn tin, nghe nhc, xem phim, chi game, thanh ton, nh v dch v phc v cuc sng v.v Lm tng s tin cy ca h thng: Thc hin php x l vi kch thc ln, m bo s hot ng ca h thng n nh khi c s c xy ra ( tnh chu li) Thch ng i vi h thng i hi pht trin nhanh. Cc thch thc Khi xy dng cc phn mm phn tn, cc kh khn gp phi : - Lm th no iu hnh h iu hnh phn tn. - S dng ngn ng lp trnh no? - Lm th no m bo tnh hiu qu (Efficiency)? - Lm th no m bo tnh tin cy (Reliability) ? - i vi mng : D b mt kt ni, tht thot d liu, tim tng nhng nguy him khc nhau. - V bo mt : C th b tn cng mi lc mi ni. 1.2.CC T CHC C BN MY TNH 1.2.1.M hnh Von Neumann (Neumann Jnos 1903 1957) l mt nh ton hc ngi M gc Hungary v l mt nh bc hc thng tho nhiu lnh vc ng gp vo vt l lng t, gii tch hm, l thuyt tp hp, kinh t, khoa hc my tnh, gii tch s, ng lc hc cht lu, thng k v nhiu lnh vc ton hc khc.
4

Bai giang tom tt H phn tan Theo Von Neumann th : Tt c cc my tnh u c chung mt c s kin trc ging nhau bt k n l mt my tnh mainframe hng triu la hay l mt my tnh b ti Palm Pilot. Chng u c b nh, h thng vo/ra, n v tnh ton/logic, v n v iu khin. B nh B nh my tnh l h thng con dng lu tr tm thi cc ch th ca chng trnh v d liu s c thc hin bi my tnh. N thung c gi l RAM. B nh c chia thnh cc , mi c a ch ring d liu c th np.

Hnh 1.1.John Von Neumann H thng vo/ra (I/O) y l h thng con cho php my tnh tng tc vi cc thit b khc v lin lc vi th gii bn ngoi. N cng chu trch nhim lu tr chng trnh bng cch iu khin a cng. n v tnh ton/logic (ALU) y l h thng con thc hin tt c cc php ton s v php so snh. Trong thit k Von Neumann, n v ny v n v iu khin l 2 thnh phn khc nhau, tuy nhin trong cc h my tnh hin i ngy nay chng c tch hp thnh mt trong processor. ALU c 3 phn bao gm: thanh ghi, mch ALU, v kt ni gia chng. Thanh ghi c bn l mt lu tr ging nh RAM dng gi kt qu ca cc tnh ton. Tuy nhin n nhanh hn RAM nhiu. Mch ALU l ni thc hin cc tnh ton. N c thit k t cc cng AND, OR, v NOT nh bt c vi chip no. n v iu khin
5

Bai giang tom tt H phn tan n v iu khin chu trch nhim: (1) tm trong b nh ch th chng trnh k tip s chy, (2) gii m ch th thnh ci my tnh c th hiu, (3) a mnh lnh thch hp ti ALU, b nh, v h thng vo/ra. Memory

Control Unit

Arithmetic Logic Unit


Accumulator

Input

Output

Hnh 1.2. M hnh Von Neumann Cc bc ny c lm lin tc cho n dng cui cng ca chng trnh. cp my tnh, cc ch th ca chng trnh c din t di dng ngn ng my. y l cc m nh phn c t chc thnh m php ton (op code) v cc trng a ch (address fields). Cc m php ton l cc m nh phn cho my tnh bit php ton no s c thc hin. Trng a ch l v tr trong b nh m trn m php ton s tc dng. Cc ch th chng trnh trong ngn ng my c biu din di dng m php ton trc ri k tip l m cc a ch nh. Chng ta hy xem mt v d: gi s chng ta mun cng 2 s c a ch trong b nh l 99 v 100. Li gi s rng m php ton cng l 9 trong h thp phn. Nh th nh dng mnh lnh trn s l 9-99-100. Tt nhin my tnh khng th thy dng thp phn trn, m thay v th chng cn c chuyn sang dng nh nhn: 0000100100000000011000110000000001100100 tt c cc con s c t st nhau khng c du cch. n y c l bn c khi nim v vic my tnh suy ngh nh th no.
6

Bai giang tom tt H phn tan 1.2.2. Cu trc b nh chia s vt l c im : - C mt b nh chia s khng gian a ch ca tt c cc CPU h thng kp cht (tightly coupled system) - Giao tip gia cc CPU din ra thng qua vic chia s bng cch s dng hot ng nh c v ghi.

Shared Memory

Hnh 1.3. Cu trc b nh chia s 1.2.3. Cu trc b nh chia s phn tn vt l

Hnh 1.4. Cu trc b nh chia s phn tn vt l c im : - Khng c b nh dng chung v mi CPU u c nhng b nh cc b km theo - Cp cc CPU v b nh cc b c gi l x l c s (PE)
7

Bai giang tom tt H phn tan - Giao tip gia cc b x l c thc hin bng cch gi cc thng ip trn mng thng qua mt interconnection gi lnh ti x l vic gi v nhn c mt lnh nhn c x l. 1.3.NH NGHA V H THNG PHN TN Hin nay c 3 nh ngha khc nhau v h phn tn nh ngha 1 : L mt h c chc nng v d liu phn tn trn cc my trm c kt ni vi nhau qua mng my tnh. nh ngha 2 : L mt tp cc my tnh t tr c kt ni vi nhau bi mng my tnh v c ci t phn mm phn tn. nh ngha 3 : L mt tp cc my tnh dc lp giao tip vi nhau nh mt h thng thng nht v ton vn. Theo Seitz, ty theo s khc bit ca ng dng m ta c cc nh ngha cho ph hp : Song song (Parallel): Thao tc trn d liu c thit lp t lung iu khin n. Ti my tnh song song,my tnh a d liu (multiple-data SIMD)s dng nhiu thnh phn x l d liu thc hin cng mt hot ng hoc tng t v nhiu bn ghi d liu ti mt ln. ng b(Concurrent ): Mt s hnh ng c th c thc hin theo bt c th t no. Phn tn (Distributed): Cc chi ph hoc hiu sut ca mt tnh ton c chi phi bi cc giao tip d liu v iu khin. Theo Seitz, h thng phn tn c th kim sot bng cch s dng 3 kch thc ca phn cng, iu khin, v d liu : H thng phn tn = Phn tn phn cng + Phn tn kim sot + Phn tn d liu. Trong : +H1 : Mt CPU n vi mt n v kim sot. +H2: Mt CPU n vi nhiu ALUs (arithmetic and logic units). Ch c mt n v kim sot. +H3: n v chc nng ring bit, nh l mt trong nhng CPU vi du chm ng (floating-point coprocessor)

Bai giang tom tt H phn tan +H4: Nhiu b x l vi nhiu CPU nhng ch c duy nht mt h thng I / O v b nh ton cc. +H5: Nhiu b x l vi nhiu CPU, nhiu h thng I / O v cc b nh cc b. +C1: im kim sot c nh duy nht. Lu rng cc h thng vt l c th khng c nhiu CPU. +C2: im kim sot di ng duy nht. Trong nhiu trng hp nhiu CPU, cc iu khin c th thay i theo thi gian gia cc CPU. +C3: Cu trc c nh master / slave. Trong h thng ch c mt CPU v mt coprocessor, CPU master c nh, coprocessor slave c nh. +C4: Cu trc master/slave ng. Vai tr ca master / slave c nh ngha bi phn mm. +C5: Nhiu im ng nht, ni m cc bn sao ca cng mt b iu khin c s dng. +C6: Nhiu im kim sot hn tp, ni m cc b iu khin khc nhau c s dng. C s d liu c hai thnh phn v c th c phn tn: - Cc tp tin v th mc c lu tr trn cc file. - Knh phn phi c th c thc hin bng mt trong hai cch, hoc mt s kt hp ca c hai: to bn sao v phn vng (replication and partition).

Hnh 1.5. M hnh mt h phn tn tng qut - Mt c s d liu c ti to (replicated): c mt s bn sao ca c s d liu giao cho cc a im khc nhau. Mt c s d liu partitioned: nu n c phn chia thnh
9

Bai giang tom tt H phn tan cc c s d liu ph v sau mi ph c s d liu c phn cng vo cc site khc nhau. Cc im trong kch thc ny bao gm: +D1 :Tp trung cc c s d liu vi mt bn sao ca c hai tp tin v th mc. +D2 :Phn phi cc tp tin vi mt th mc tp trung v khng c th mc cc b. +D3 :C s d liu ti to vivi mt bn sao ca tp tin v th mc mi site. +D4 : C s d liu phn vng vi c s d liu master m gi c mt bn sao hon thin ca tt c cc tp tin. +D5 : C s d liu phn vng vi mt c s d liu master m ch gi mt th mc hon thin. +D6. C s d liu phn vng m khng c tp tin master hoc th mc. Theo Schroeder, nu mt h thng c cc im sau y th n c th l mt h thng phn tn : +Nhiu yu t x l (Multiple processing elements - PES) +Cc kt ni phn cng (Interconnection hardware) +PES khng c lp. +C trng thi chia s. +Khng c ng h trn ton cu : Cc chng trnh phi hp hnh ng qua trao i thng ip. +Tht bi c lp : Khi mt s h thng khng thnh cng, nhng ngi khc c th khng bit. c im ca h thng tp trung ( Centralized System ) +Mt trong nhng thnh phn khng c phn t +Hp phn chia s ca tt c cc ngi s dng thi gian +Tt c cc ngun ti nguyn c th truy cp +C phn mm chy trong mt qu trnh +C im kim sot n

Bai giang tom tt H phn tan 1.4. XY DNG V PHN LOI CC H THNG PHN TN 1.4.1. Phn cng Flynn s Taxonomy (1972) l mt phn loi cc kin trc my tnh xut bi Michael J. Flynn nm 1966. Theo ng c 2 c im cn thit phn loi h thng my tnh nhiu CPU : S lng cc dng ch dn v s dng d liu.

Bng 1.2. Cu trc my tnh theo m hnh Flynns Taxonomy Single Single Data Multiple Data Instruction SISD SIMD Multiple Instruction MISD MIMD

SISD (Single Instruction, Single Data) l mt thut ng m ch n mt kin trc my tnh, trong mt b x l n, uniprocessor mt, thc thi mt dng ch dn duy nht, hot ng trn d liu lu trong mt b nh duy nht. iu ny tng ng vi kin trc von Neumann. SISD l mt trong bn phn loi chnh nh nh ngha trong phn loi ca Flynn. Trong h thng phn loi da trn s lng ng thi hng dn v cc lung d liu hin nay trong kin trc my tnh. Theo Michael J. Flynn, SISD c thc c im x l ng thi.

Hnh 1.6. Cu trc SISD SIMD (Single Instruction, Multiple Data; colloquially, "vector instructions") : Trong my tnh SIMD l mt k thut lm vic t c mc x l d liu song song
1 1

Bai giang tom tt H phn tan

Hnh 1.7. Cu trc SIMD MISD (Multiple Instruction, Single Data) : Trong my tnh MISD l mt kiu kin trc tnh ton song song, ni cc n v chc nng thc hin nhiu hot ng khc nhau trn cng d liu. Kin trc ng ng (Pipeline) thuc loi ny. Kin trc ny khng c s dng rng ri nh MIMD v SIMD thng thch hp hn cho d liu ph bin k thut song song. MISD i khi p dng phn loi cc h thng d phng. MIMD (Multiple Instruction stream, Multiple Data stream) : L mt k thut lm vic t c x l song song. Bng cch s dng c ch MIMD c mt s chc nng ca b vi x l m khng ng b v c lp. Bt c lc no, b vi x l khc nhau c th c thc hin hng dn khc nhau trn mnh khc nhau ca d liu.

Hnh 1.8. Cu trc MIMD Kin trc MIMD c th c s dng trong mt s lnh vc ng dng nh my tnh h tr thit k, my tnh h tr sn xut, m phng, lm mu v l thit b chuyn mch giao tip. C ch MIMD c th c b nh chia s hoc b nh phn tn. Phn loi ny c da trn cch b vi x l truy cp b nh MIMD. C ch b nh chia s c th c
2 1

Bai giang tom tt H phn tan bus m rng hoc kiu phn cp. C ch b phn tn c th c phn hypercube hoc lc kt ni hn hp (mesh interconnection schemes). SMP(Symmetric Multi-Processing) : Trong my tnh SMP lin quan n mt kin trc my tnh a x l gm hai hoc nhiu b vi x l ging ht nhau c th kt ni vi mt b nh n chnh c chia s. Hu ht cc h thng a x l ph bin hin nay s dng mt kin trc SMP. Trong trng hp x l a li, kin trc SMP p dng cho cc li, x l nh l b vi x l ring bit. H thng SMP cho php bt k b vi x l c lm vic trn bt k nhim v no m cc d liu khng phi cho nhim v c t trong b nh. Vi s h tr h iu hnh thch hp, cc h thng SMP c th d dng di chuyn nhim v gia cc b vi x l cn bng khi lng cng vic mt cch hiu qu.
Tt c cc CPU kt ni vi bus chia s. H thng trng ging nh t b vi x l.
CPU A

CPU B

Memory

Device
I/O

Bus Hnh 1.9.a Trng hp x l qu ti trn bus i ph vi tnh trng qu ti trn bus, ngi ta thc hin:
+Thm b nh a phng : CPU no x l I / O th s b sung b nh cache

+Truy cp b nh chnh trn b nh cache li


CPU A Cache CPU B Cache

Memory

Device
I/O

Bus

Hnh 1.9.b. B sung thm b nh cache trn CPU x l I/O Lm vic vi cache CPU A c v tr 12345 t nh
CPU A CPU A 12345:7 12345:3 CPU B CPU B Cache 12345:7

112345:7

12345:7

Device I/O Device


I/O

Bai giang tom tt H phn tan

Bus

Hnh 1.9.c. CPU A c v tr trn b nh vo cache chu li CPU A s v tr 12345


CPU A 12345:3 CPU B Cache

12345:7

Device
I/O

Bus

Hnh 1.9.d. CPU A sa v tr 12345 CPU B c v tr 12.345 t b nh, thc hin . - Nhn gi tr c. - B nh khng kt hp.

Hnh 1.9.e X l ca CPU B Write-through cache thc hin sa li gi tr trn, thc hin bng cch vit tt c gi tr bus i qua n b nh chnh CPU A bng cch sa li v tr 12345 write-through B nh cache by gi se nh sau :
CPU A
12345: 3 7

CPU B

12345:3 12345:7

Device I/O

Bus

Hnh 1.9.f. CPU A thc hin Write-through sa li v tr 12345

Bai giang tom tt H phn tan - CPU B c v tr 12.345 t b nh - Np vo b nh cache

CPU A
12345: 3

CPU B
12345: 3

12345:3

Device I/O

Bus
Hnh 1.9.g. CPU B c v tr 12.345 t b nh
- CPU A i v tr 12.345

- Thc hin Write- through - Cache trn CPU B khng c cp nht - B nh khng kt hp !

CPU A
12345: 0 3

CPU B
12345: 3

12345:3 12345:0

Device I/O

Bus
Hnh 1.9.h. Kt hp x l gia CPU A v B Snoopy cache - Thm logic cho mi b iu khin b nh cache - Gim st hot ng bus - Hu nh tt c cc kin trc c s bus s dng mt b nh cache snoopy
CPU A
12345: 0 3

CPU B
12345: 0 3

3 12345: 0

Device I/O

Bus

write [12345]

Hnh 1.9.i. Trng hp b sung Snoopy cache


5 1

Bai giang tom tt H phn tan Switched multiprocessors - Vi n CPUs v n modul b nh : + Cn log2n trng thi chuyn i, mi trng thi c n/2 ln chuyn i. Tng cng : (nlog2n)/2 chuyn i. + Nhanh hn n2 , nhng gi thnh cn t.

Hnh 1.10. Kin trc Switched multiprocessors Kin trc bus c s khng m rng mt s lng ln cc CPU (8 +). kin trc ny b nh chia thnh cc nhm v kt ni khi ca b nh n cc b vi x l vi mt b chuyn mch thanh ngang. (Hnh 1.10). N2 im chuyn i c cu thnh. Crossbar alternative: Mng omega Gim im chuyn mch bng cch thm nhiu giai on chuyn i

Hnh 1.11. Kin trc mng Omega


1

Bai giang tom tt H phn tan NUMA (Non-Uniform Memory Access or Non-Uniform Memory Architecture) l mt thit k b nh my tnh c s dng trong multiprocessors, ni m thi gian truy cp b nh ph thuc vo v tr b nh tng i vi mt b x l. Vi Numa, mt b x l c th truy cp b nh a phng ca n nhanh hn b nh khng cc b; ngha l, b nh a phng n mt b x l khc hay b nh chia s gia cc b vi x l.

Hnh 1.12. Kin trc NUMA Kin trc Numa t chc theo kin trc a x l i xng (SMP). Sau , n c thng mi ha bi Burroughs, Hewlett-Packard, Silicon Graphics, Computer Systems v.v trong nhng nm 1990. K thut c pht trin v s dng trong mt lot cc kiu h iu hnh Unix, Linux (Linux 2.5 kernel ) v mt phn no trong Windows NT. Bus-based multicomputers - Khng c b nh chia s - C ch giao tip cn hot ng trn bus +Giao thng thp hn nhiu so vi b nh truy cp +Khng cn bus h thng vt ly - C th s dng LAN thay th

CPU
memory LAN connector

CPU
memory LAN connector

CPU
memory LAN connector

CPU
memory LAN connector

Interconnect
Hnh 1.12. S kt hp ca cc my trm trn LAN
7 1

Bai giang tom tt H phn tan Switched multicomputers Kt ni ca cc may tram trn mng LAN

CPU
memory LAN connector

CPU
memory LAN connector

CPU
memory LAN connector

CPU
memory LAN connector

n-port switch
Hnh 1.13. M hnh kt ni cc my tnh trn LAN 1.4.2.Phn mm H thng n S kt hp ca cc my tnh c lp xut hin nh mt h thng n vi ngi dng. c im ca h thng ny c th hin: - c lp ( Independent): C kh nng t tr (autonomous) - H thng n (Single system): Ngi dng khng nhn thc c phn tn Phn mm h thng phn tn Theo Lamport : You know you have a distributed system when the crash of a computer youve never heard of stops you from getting any work done. Leslie Lamport Coupling Cht ch so vi phn mm cng lng lo (loosely coupled software) Cht ch so vi phn cng cng lng lo (loosely coupled hardware) tng thit k cp cao : n i s phn tn t ngi dng cp thp : n i s phn tn t phn mm Minh bch Cac a ra n tng rng cc b x l l hnh ng nh l mt uniprocessor (WWW l mt v d)
8 1

Bai giang tom tt H phn tan - a im minh bch (Location transparency) : khng cn phi bit ni c ti nguyn. - Di c minh bch (Migration transparency) : Ngun lc c th c di chuyn m khng c tn ca h ang c thay i. - Sao chp minh bch (Replication transparency) : H thng min ph lm cho nhiu bn sao ca tp tin m khng c ngi dng b nh hng (v d, b nh m). - Tng tranh minh bch (Concurrency transparency ) : Nhiu ngi dng c th chia s ngun ti nguyn t ng. - Song song minh bch (Parallelism transparency) : Hot ng c th xy ra song song m khng c ngi s dng bit. Tnh linh hot

Hinh 1.14. M hnh ng dng mng tng qut - Ht nhn nn lm cng t cng tt. Ngi s dng cc my ch cung cp s lng ln cc dch v ca h iu hnh. - Trong trng hp ny, ht nhn c gi l microkernel - Microkernel chu trch nhim +Mt s qun l b nh +Mt s cp thp qu trnh qun l v lp k hoch +Thp cp u vo v u ra +Tt c cc dch v khc thu c bng cch gi tin nhn n my ch thch hp u im - D iu bin khi cn thit - Mi Client c c hi bnh ng truy cp vo my ch, bt k v tr tin cy
9 1

Bai giang tom tt H phn tan - Duy tr tnh trng sn c - Bo v chng truy cp tri php v mt d liu - D liu thng nht nu duy tr nhiu bn sao ca d liu - C kh nng chu li (Fault tolerance ) Biu din - Mt h thng phn khng nn chy mt appliction chm hn nu c c chy trn mt my tnh c lp - Lm th no l hiu qu o? v d nh, thi gian p ng, thoughput, h thng s dng, nng lc mng li tiu th, vv - Tuy nhin, hiu nng b nh hng bi truyn thng ... Kh nng m rng - H thng phn tan hin ti c thit k lm vic vi mt vi trm CPU. Liu h vn lm vic vi hng ngn hoc hng trm ngn? + Khng c tp trung thnh phn +Khng nn tp trung bn + Khng c tp trung gii thut +Khng c gi nh tt c cc my c ng b 1.5.CC V D V H THNG PHN TN 1.5.1.Mng cc b

Hinh 1.15. M hnh mng cc b


0 2

Bai giang tom tt H phn tan

1.5.2.H thng qun tr CSDL (Database Management System )

Hinh 1.16. M hnh CDSL 1.5.3. C ch mng in thoi t ng(Automatic Teller Machine Network)

Hinh 1.17. M hnh mng in thai


2

Bai giang tom tt H phn tan

1.5.4.Internet

Hinh 1.18. M hnh mng Internet 1.5.5.Web Servers and Web Browsers

Hinh 1.19. M hnh cc ng dng Web 1.5.6.in thoi di ng v my tnh Ubiquitous

Bai giang tom tt H phn tan Hnh 1.20. M hnh mng in thoi di ng 1.5.7.Searching Systems

Hnh 1.21. M hnh cc H thng tm kim 1.6. CC M HNH DCH V 1.6.1. M hnh tp trung - Khng c kt ni mng - S dng h thng thi gian chia s truyn thng (Traditional time-sharing system) - Trc tip kt ni cc thit b u cui ngi s dng h thng - Gm mt hoc nhiu CPU - Khng d dng m rng - Hn ch yu t : s CPU trong h thng, xy ra xung t cho cng mt ti nguyn. 1.6.2. M hnh Client Server - Mi trng bao gm cc khch hng v cc my ch - Dch v : L cng vic m my c th thc hin - Server: L my m thc hin cc nhim v - Client : L my a ra yu cu dch v

Bai giang tom tt H phn tan

Hnh 1.22. M hnh Client Server 1.6.3. M hnh Peer to Peer - Mi my trong mng c (ch yu) kh nng tng ng - Khng c my c dnh ring phc v ngi khc - B su tp cc my tnh gm : + Truy cp ca ngi khc tp + Gi / nhn th in t (khng cn c my ch) + Gnutella kiu ni dung chia s + Tnh ton theo SETI @ home 1.6.4. Tnh ton li(Grid computing) - Cung cp cho ngi dng quyn truy cp lin tc n +Dung lng lu tr ln +X l nhanh +Bng thng mng ln - Khng ng nht v mt a l v h thng phn tn 17.CU TRUC CLIENT - SERVER A TNG (MULTI-TIER CLIENT-SERVER) Kin trc a tng pht trin cui thp nin 1980 v u thp nin 1990. Trong cng ngh phn mm, kin trc a tng (thng c gi l kin trc n-tier) l mt kin trc client-server trong trnh by cc quy trnh, vic x l ng dng, v qun l d liu c logic ring. Ti sao s dng kin trc a tng? Kin trc a tng Client / Server cung cp cho cc nh pht trin mt phng php lun xy dng ng dng Client / Server da trn mt m hnh m rng, ti s dng, thnh phn trn,. Kin trc ny cung cp cho cc tiu chun ha giao din r rng gia cc cp thnh phn hp l-gi l 'tng'.

Bai giang tom tt H phn tan 1.7.1.Cu trc 2 tng (Two-tier) Kin trc Two - tier Client / Server cung cp mt l thuyt c bn ca cng vic. +Tier u tin : Cc khch hng ( lp giao tip, hin th cc d liu cho ngi dng) +Tier th hai : cung cp d liu cho cc dch v cho khch hng. M hnh ny ny hot ng tt cho n ngy nay.

Hnh 1.23. Kin trc Two-tier Client/Server 1.7.2.Cu trc 3 tng (Three-tier)
Tch bit r rng 3 tng khc nhau +Tng 1 : cung cp giao din ngi s dng tiu chun +Tng 2 : Cung cp dch v c to sn cho ng dng. ng vai tr nh 1 lp trung gian cho php Client c th tng tc Database +Tng 3 : C s d liu ca ng dng

u im : Cch tip cn ny cho php nh trin u t tn dng cc h thng hin ti khi to ng dng mi c th s dng cc ngun lc hin c.

Bai giang tom tt H phn tan

Hnh 1.24. Three-tier Client/Server architecture 1.7.3.Kin trc a tng (Multi-tier architectures ) Mt a tng, ba tng, hoc N-tier thc hin s dng ba tng kin trc hp l chng trn mt m hnh phn tn vt l. My ch ng dng c th truy cp my ch ng dng khc cung cp dch v cho cc ng dng ca khch hng cng nh cc dch v cung cp cho cc my ch ng dng khc.

Hinh 1.25. Cu trc Multi-tier Client/Server


6 2

Bai giang tom tt H phn tan V d, trong biu di y cc ng dng khch s n Application Server # 1 cung cp d liu t mt ng dng da trn my tnh ln. Application Server # 1 khng c quyn truy cp trc tip n cc ng dng my tnh ln nhng, n bit, thng qua vic pht trin cc dch v ng dng, m Application Server # 2 cung cp dch v truy cp d liu t cc ng dng my tnh ln m p ng cc yu cu ca khch hng. Application Server # 1 sau dch v invokes thch hp trn Application Server # 2, sau c chuyn cho cc khch hng. My ch ng dng c th mt nhiu hnh thc. Mt my ch ng dng c th l bt c iu g t cc dch v ng dng ty chnh, x l Mn hnh giao dch, c s d liu Middleware, hng i thng ip, da trn gii php CORBA / COM. ng dng cc nh cung cp my ch chng hn nh Open Environment Corporation (Entera), BEA Systems (Tuxedo), IBM (CICS, MQSeries), IBM / Transarc (Encina), Iona Technologies (ORBix), NCR (TopEnd) kt hp vi cc i tc ca h cung cp cc gii php kt ni cho Client / Server Suite. 1.8.CC NG DNG V TIU CHUN PHN TN - ng dng song song v hiu nng cao(Parallel and high-performance applications) +S dng nhiu b x l +Tnh ton vi khi lng ln +B nh khng bao gm s lng ln ccb x l - ng dng chu li (Fault-Tolerant Applications) +Mt tht bi hay hng hc no s khng nh hng n hot ng chnh xc ca cc ngun ti nguyn khc. - Cc ng dng phn tan ti nguyn(Inherently Distributed Applications) +Thi gian phn hi v giao dch nhanh (x l giao dch bun bn trn Internet v.v). +DCE (Distributed Computing Environment ) l mt OSF (nn tng h thng mOpen System Foundation ) l mt ngnh cng nghip tiu chun c dng trong k thut tnh ton phn tn. +DCE chy trn tt c cc my tnh nn tng v c thit k h tr cc ng dng phn tn (phn cng v phn mm phn tn)
7 2

Bai giang tom tt H phn tan + DCE bao gm mt lot cc cng ngh tin tin, tch hp ca OSF. Cc cng ngh ny bao gm sau y: ng gi cc lung (Threads package) Dch v thi gian phn tn (Distributed time service) Tn dch v (Name service) Dch v bo mt (Security service) Dch v phn tn (Distributed service)

BI TP CHNG I
1. Gii thch s khc nhau gia cc h thng phn tn, multiprocessors, v cc h thng mng. 2. Cho mt vi v d thc t v vic s dng h thng phn tn. 3. c im cu trc b nh chia s vt l a. C mt b nh chia s khng gian a ch ca tt c cc CPU, Giao tip gia cc CPU din ra thng qua vic chia s bng cch s dng hot ng nh c v ghi. b. S dng mt b nh dng chung kt ni cc my tnh vi nhau. c. a v b ng d. a v b sai 4. Pht biu no sau y l ng nht v h phn tn a. H phn tn l mt h c chc nng v d liu phn tn trn cc my trm c kt ni vi nhau qua mng my tnh. b. H phn tn l mt tp cc my tnh t tr c kt ni vi nhau bi mng my tnh v c ci t phn mm phn tn. c. H phn tn l mt tp cc my tnh c lp giao tip vi nhau nh mt h thng thng nht v ton vn. d. H phn tn l mt h thng bao gm : phn cng phn tn, kim sot phn tn, v d liu phn tn. 5.Vic phn loi h phn tn theo Flynn da vo : a. S lng CPU v s lng cc thnh phn kim sot
8 2

Bai giang tom tt H phn tan b. S lng CPU v s h iu hnh s dng c. S lng cc dng ch dn v s dng d liu d. Tt c u ng 6. C bao nhiu m hnh kt ni gia cc my tnh trn mng ? a. 2 b.3 c.4 d.5 7. Trnh by kin trc n tng, cho v d minh ha. 8. Trnh by phn mm ng dng chu li l cho v d minh ha.Cc ng dng Web c th xem l ng dng chu li hay khng? V sao? 9. Cng ngh nn tng h thng m - OSF (Open System Foundation ) l g ? 10.Nu cc k thut cng ngh tch hp tin tin c p dng cho cc dch v phn tn hin i ngy nay. ---o0o---

Bai giang tom tt H phn tan

CHNG II GIAO TIP V MNG MY TNH


MC TIU Gip sinh vin rm r cc vn : - Cc m hnh kt ni mng - M hnh tham chiu OSI - Kt ni cc node trn mng - Truyn thng mng - Lp trnh giao tip 2.1. CC H THNG PHN TN Cc my tnh lm vic c lp khng c b nh dng chung - Theo m hnh Seitz - Chng ni vi nhau thnh network 2.1.1.Cc m hnh kt ni 2.1.1.1.Chuyn mch knh(Circuit-switched) L loi hnh truyn thng trong c mt knh chuyn dng (ated channel) hoc mch (circuit) c thnh lp trong thi gian truyn. Cc mch chuyn mch ph bin nht l h thng mng in thoi, trong on dy lin kt vi nhau to ra mt dng khng gin on cho mi cuc gi in thoi. H thng chuyn mch knh l l tng cho truyn thng yu cu d liu c truyn i trong thi gian thc. Trong khi chuyn mch gi c hiu qu hn nu mt s lng ca s chm tr l chp nhn c. Mng chuyn mch knh i khi c gi l mng kt ni theo nh hng(connection-oriented networks). Lu , tuy nhin, rng mc d chuyn mch gi v bn cht l kt ni, mt mng chuyn mch gi c th c thc hin theo nh hng kt ni bng cch s dng mt giao thc cp cao hn-TCP,. V d, lm cho IP ca mng kt ni theo nh hng.

Bai giang tom tt H phn tan 2.1.1.2. Chuyn mch gi(Packet-switched) cp n cc giao thc trong thng ip c chia thnh cc gi tin trc khi chng c gi i. Mi gi d liu sau c truyn qua ng ring, v thm ch c th lm theo cc tuyn ng khc nhau n ch ca n. Sau khi tt c cc gi to thnh mt tin nhn n ni, h c bin dch li vo thng bo ban u. Mng Wide Area Network (WAN) bao gm TCP / IP, X.25 v Frame Relay, c da trn cng ngh chuyn mch gi. Ngc li, dch v in thoi bnh thng c da trn cng ngh chuyn mch knh, trong c mt dy chuyn chuyn dng c phn b truyn gia hai bn. Chuyn mch knh l l tng khi d liu phi c truyn i mt cch nhanh chng v phi n theo th t m n c gi. y l trng hp vi d liu thi gian thc nht, nh m thanh sng v video. Chuyn mch gi l hiu qu hn v mnh m cho d liu nu chp nhn s chm tr trong truyn dn, chng hn nh e-mail v cc ng dng Web. Vi cng ngh mi ATM nhm n lc kt hp tt nht ca c hai m bo vic phn phi ca cc mng chuyn mch v tnh mnh m v hiu qu ca mng chuyn mch gi. iu g s xy ra khi thc hin chuyn mch gi ? - i vi hiu qu truyn thng + Cng mt ngn ng, cng mt quy c - i vi my tnh: + Vic m ha in t ca d liu + u l bt u ca gi? + M bit c chiu di nh th no? + C li (checksum) xy ra khng? lc no ? v tnh ton nh th no? + nh dng ca mt a ch l g? + Sp xp Byte nh th no? 2.1.2.Giao thc (Protocols) Giao thc c hiu l mt tp cc quy tc c s dng bi cc my tnh giao tip vi nhau thng qua mng. Giao thc l mt quy c hoc tiu chun m cc iu khin hoc cho php kt ni, giao tip, v chuyn giao d liu gia thit b u cui tnh
1 3

Bai giang tom tt H phn tan ton. Giao thc c th c thc hin bi phn cng, phn mm, hoc s kt hp ca hai v tn ti vi nhiu cp khc nhau. cp thp nht, mt giao thc xc nh hnh vi ca mt kt ni phn cng. Nhng quy tc, hoc cc giao thc, m lm vic cng nhau m bo giao tip thnh cng c nhm thnh nhng g c bit n nh mt b giao thc ( V d b giao thc TCP/IP). Vic s dng rng ri v m rng cc giao thc truyn thng l c mt iu kin tin quyt cho Internet trong, v mt ng gp ln vo sc mnh v s thnh cng ca n. Cc cp Giao thc Internet (hoc IP) v Transmission Control Protocol (hay TCP) l quan trng nht trong s ny, v cc thut ng TCP / IP dng ch mt b su tp (mt "b giao thc") ca giao thc ca n c s dng nhiu nht. Hu ht cc giao thc truyn thng ca Internet c m t trong ti liu RFC ca Internet Engineering Task Force (hoc IETF). Cc giao thc thng gp : IP, UDP, TCP, DHCP, HTTP, FTP, Telnet, SSH, POP3, SMTP, IMAP, SOAP,PPP v.v Lp (Layering) d dng pht trin phn mm v ti a ho tnh linh hot : - Giao thc mng, ni chung l c t chc trong lp - Thay th mt lp m khng cn thay th xung quanh lp - Phn mm mc cao l khng cn phi bit lm th no nh dng mt gi tin Ethernet, hay thm ch bit rng Ethernet ang c s dng M hnh ph bin nht cho vic s dng giao thc lp l m hnh tham chiu OSI, c to bi ISO gm 7 lp giao thc. 2.1.3.M hnh tham chiu OSI M hnh OSI phn chia chc nng ca mt giao thc ra thnh mt chui cc tng cp. Mi mt tng cp c mt c tnh l n ch s dng chc nng ca tng di n, ng thi ch cho php tng trn s dng cc chc nng ca mnh. Mt h thng ci t cc giao thc bao gm mt chui cc tng ni trn c gi l "chng giao thc" (protocol stack). Chng giao thc c th c ci t trn phn cng, hoc phn mm, hoc l t hp ca c hai. Thng thng th ch c nhng tng thp hn l c ci t trong phn cng, cn nhng tng khc c ci t trong phn mm.
2 3

Bai giang tom tt H phn tan M hnh OSI ny ch c ngnh cng nghip mng v cng ngh thng tin tn trng mt cch tng i. Tnh nng chnh ca n l quy nh v giao din gia cc tng cp, tc qui nh c t v phng php cc tng lin lc vi nhau. iu ny c ngha l cho d cc tng cp c son tho v thit k bi cc nh sn xut, hoc cng ty, khc nhau nhng khi c lp rp li, chng s lm vic mt cch dung ha (vi gi thit l cc c t c thu o mt cch ng n). Trong cng ng TCP/IP, cc c t ny thng c bit n vi ci tn RFC (Requests for Comments, dch st l " ngh duyt tho v bnh lun"). Trong cng ng OSI, chng l cc tiu chun ISO (ISO standards).

Hnh 2.1. M hnh tham chiu OSI Tng 1 : Tng vt l (Physical Layer) Tng vt l nh ngha tt c cc c t v in v vt l cho cc thit b. Trong bao gm b tr ca cc chn cm (pin), cc hiu in th, v cc c t v cp ni (cable). Cc thit b tng vt l bao gm Hub, b lp (repeater), thit b tip hp mng (network adapter) v thit b tip hp knh my ch (Host Bus Adapter)- (HBA dng trong mng lu tr (Storage Area Network)). Chc nng v dch v cn bn c thc hin bi tng vt l bao gm:
3

Bai giang tom tt H phn tan - Thit lp hoc ngt mch kt ni in (electrical connection) vi mt phng tin truyn thng (transmission medium). - Tham gia vo quy trnh m trong cc ti nguyn truyn thng c chia s hiu qu gia nhiu ngi dng. Chng hn gii quyt tranh chp ti nguyn (contention) v iu khin lu lng. - iu bin (modulation), hoc bin i gia biu din d liu s (digital data) ca cc thit b ngi dng v cc tn hiu tng ng c truyn qua knh truyn thng (communication channel). Cp (bus) SCSI song song hot ng tng cp ny (RS-232, 10BaseT v.v...). Nhiu tiu chun khc nhau ca Ethernet dnh cho tng vt l cng nm trong tng ny; Ethernet nhp tng vt l vi tng lin kt d liu vo lm mt. iu tng t cng xy ra i vi cc mng cc b nh Token ring, FDDI v IEEE 802.11. Tng 2: Tng lin kt d liu (Data Link Layer) Tng lin kt d liu cung cp cc phng tin c tnh chc nng v quy trnh truyn d liu gia cc thc th mng, pht hin v c th sa cha cc li trong tng vt l nu c. Cch nh a ch mang tnh vt l, ngha l a ch (a ch MAC) c m ha cng vo trong cc th mng (network card) khi chng c sn xut. H thng xc nh a ch ny khng c ng cp (flat scheme). Ch : V d in hnh nht l Ethernet, MAC, PPP. Nhng v d khc v cc giao thc lin kt d liu ( data link protocol) l cc giao thc HDLC; ADCCP dnh cho cc mng im-ti-im hoc mng chuyn mch gi (packet-switched networks) v giao thc Aloha cho cc mng cc b. Trong cc mng cc b theo tiu chun IEEE 802, v mt s mng theo tiu chun khc, chng hn FDDI, tng lin kt d liu c th c chia ra thnh 2 tng con: tng MAC (Media Access Control - iu khin Truy nhp ng truyn) v tng LLC (Logical Link Control - iu khin Lin kt Lgic) theo tiu chun IEEE 802.2. Tng lin kt d liu chnh l ni cc cu ni (bridge) v cc thit b chuyn mch (switches) hot ng. Kt ni ch c cung cp gia cc nt mng c ni vi nhau trong ni b mng.

Bai giang tom tt H phn tan Tng 3: Tng mng (Network Layer) Tng mng cung cp cc chc nng v qui trnh cho vic truyn cc chui d liu c di a dng, t mt ngun ti mt ch, thng qua mt hoc nhiu mng, trong khi vn duy tr cht lng dch v (quality of service) m tng giao vn yu cu. Tng mng thc hin chc nng nh tuyn, .Cc thit b nh tuyn (router) hot ng ti tng ny gi d liu ra khp mng m rng, lm cho lin mng tr nn kh thi (cn c thit b chuyn mch (switch) tng 3, cn gi l chuyn mch IP). y l mt h thng nh v a ch lgic (logical addressing scheme) cc gi tr c chn bi k s mng. H thng ny c cu trc ph h. V d in hnh ca giao thc tng 3 l giao thc IP, X.25. Tng 4: Tng giao vn (Transport Layer) Tng giao vn cung cp dch v chuyn dng chuyn d liu gia cc ngi dng ti u cui, nh cc tng trn khng phi quan tm n vic cung cp dch v truyn d liu ng tin cy v hiu qu. Tng giao vn kim sot tin cy ca mt kt ni c cho trc. Mt s giao thc c nh hng trng thi v kt ni ( state and connection orientated). C ngha l tng giao vn c th theo di cc gi tin v truyn li cc gi b tht bi. Mt v d in hnh ca giao thc tng 4 l TCP. Tng ny l ni cc thng ip c chuyn sang thnh cc gi tin TCP hoc UDP. tng 4 a ch c nh l address ports, thng qua address ports phn bit c ng dng trao i. Tng 5: Tng phin (Session layer) Tng phin kim sot cc (phin) hi thoi gia cc my tnh. Tng ny thit lp, qun l v kt thc cc kt ni gia trnh ng dng a phng v trnh ng dng xa. Tng ny cn h tr hot ng song cng (duplex) hoc bn song cng (half-duplex) hoc n cng (Single) v thit lp cc qui trnh nh du im hon thnh (checkpointing) gip vic phc hi truyn thng nhanh hn khi c li xy ra, v im hon thnh c nh du - tr hon (adjournment), kt thc (termination) v khi ng li (restart). V d HTTP 1.1, SSL, NetBIOS Tng 6: Tng trnh din (Presentation layer) Tng trnh din bin i d liu cung cp mt giao din tiu chun cho tng ng dng. N thc hin cc tc v nh m ha d liu sang dng MIME, nn d liu, v cc thao tc tng t i vi biu din d liu trnh din d liu theo nh cch m chuyn
5 3

Bai giang tom tt H phn tan vin pht trin giao thc hoc dch v cho l thch hp. Chng hn: chuyn i tp vn bn t m EBCDIC sang m ASCII, hoc tun t ha cc i tng (object serialization) hoc cc cu trc d liu (data structure) khc sang dng XML v ngc li. Tng 7: Tng ng dng (Application layer) Tng ng dng l tng gn vi ngi s dng nht. N cung cp phng tin cho ngi dng truy nhp cc thng tin v d liu trn mng thng qua chng trnh ng dng. Tng ny l giao din chnh ngi dng tng tc vi chng trnh ng dng, v qua vi mng. Mt s v d v cc ng dng trong tng ny bao gm Telnet, Giao thc truyn tp tin FTP v Giao thc truyn th in t(SMTP, POP, IMAP), tryn file (FTP), dch v th mc (LDAP), remote... 2.2.MT S PHN LOI MNG PH BIN 2.2.1.Mng cc b (Local Area Network -LAN) L mt mng my tnh : - Bao gm mt khu vc nh, th cht, ging nh mt ngi nh, vn phng, hoc mt nhm nh ca cc ta nh, nh l mt trng hc, hoc mt sn bay - i khi c chia s, truyn ti trung bnh - C tc d liu cao thng : 1 Mbps - 1 Gbps - tr (latency) thp - Thit b c bnh ng +Bt k thit b c th bt u chuyn d liu vi bt k thit b khc. - Hu ht cc thnh phn trn mng LAN l my trm. Thit b u cui trn cc LAN c gi l cac node (nodes) - Ethernet vi cc cp xon i, v Wi-Fi l 2 cng ngh ph bin nht ang s dng trn LAN. 2.2.2,Mng din rng (Wide Area Network - WAN) L mng c kh nng lin kt cc ti nguyn my tnh trong mt vng a l rng (c bn knh trn 100km) nh th x, thnh ph, tnh/bang, quc gia. C th coi mng WAN gm nhiu mng LAN kt ni vi nhau. V d v mng WAN: ISDN (Integrated Services Data Network), frame relay, SMDS (Switched Multimegabit Data Service) v ATM (Asynchronous Transfer Mode)
6 3

Bai giang tom tt H phn tan

Hnh 2.2. Mng WAN ( kt hp ca nhiu mng LAN qua cc router) 2.3. KT NI CC NODES N MNG LAN Vic kt ni cc node n mng LAN c thc hin qua cc thit b kt ni,
b kt ni gm : 2.3.1.Card mng (Network Cc thit

Interface Cards -NICs)

l mt card c cm trc tip vo my tnh. Trn c cc mch in gip cho vic tip nhn (receiver) hoc/v pht (transmitter) tn hiu ln mng. Ngi ta thng dng t tranceiver ch thit b (mch) c c hai chc nng thu v pht. Transceiver c nhiu loi v phi thch hp i vi c mi trng truyn v do c u ni. V d vi cp gy, card mng cn c ng giao tip theo kiu BNC, vi cp UTP cn c u ni theo kiu gic in thoi K5, cp dy dng ng ni kiu AUI , vi cp quang phi c nhng transceiver cho php chuyn tn hiu in thnh cc xung nh sng v ngc li. Trong my tnh thng sn cc khe cm b sung cc thit b ngoi vi hay cm cc thit b ghp ni. 2.3.2.Cc thit b truyn dn Cp i dy xon (Twisted pair cable) : L cp gm hai dy ng xon trnh gy nhiu cho cc i dy khc, c th ko di ti vi km m khng cn khuych i. Gii tn trn cp dy xon t khong 3004000Hz, tc truyn t vi kbps n vi Mbps. Cp xon c hai loi:
7 3

Bai giang tom tt H phn tan - Loi c bc kim loi tng cng chng nhiu gi l cap STP ( Shield Twisted Pair). Loi ny trong v bc kim c th c nhiu i dy. V l thuyt th tc truyn c th t 500 Mb/s nhng thc t thp hn rt nhiu (ch t 155 Mbps vi cp di 100 m) - Loi khng bc kim gi l UTP (UnShield Twisted Pair), cht lng km hn STP nhng rt r. Cap UTP c chia lm 5 hng tu theo tc truyn. Cp loi 3 dng cho in thoi. Cp loi 5 c th truyn vi tc 100Mb/s rt hay dng trong cc mng cc b v va r va tin s dng. Cp ng trc (Coaxial cable) : L cp m hai dy ca n c li lng nhau, li ngoi l li kim loi. kh nng chng nhiu rt tt nn c th s dng vi chiu di t vi trm met n vi km. C hai loi c dng nhiu l loi c tr khng 50 ohm v loi c tr khng 75 ohm. Cp ng trc bng tn c s thng dng cho cc mng cc b, gi l Thin Ethernet (Tng t nh Cp Tivi). Mt loi cp khc c tn l Thick Ethernet m ta gi l cp bo (V d 10Base5, ThickNet). Cp quang ( Fiber cable) : Dng truyn cc xung nh sng trong lng mt si thu tinh phn x ton phn. Mi trng cp quang rt l tng v : Xung nh sng c th i hng trm km m khng gim cng sng. gii thng rt cao (1014 khng b nhiu in t; an ton v b mt, nhng gi thnh cn cao. Cp quang cng c hai loi : - Loi a mode (multimode fiber): khi gc ti thnh dy dn ln n mt mc no th c hin tng phn x ton phn. Nhiu tia sng c th cng truyn min l gc ti ca chng ln. Cc cap a mode c ng knh khong 50 - Loi n mode (singlemode fiber): khi ng knh dy dn bng bc sng th cp quang ging nh mt ng dn sng, khng c hin tng phn x nhng ch cho mt tia i. Loi nyc cng knh khon 8 v phi dng diode laser. Cp quang a mode c th cho php truyn xa ti hng trm km m khng cn phi khuych i. 2.3.3.Cc thit b lin kt mng Repeater l loi thit b phn cng n gin nht trong cc thit b lin kt mng, n c hot ng trong tng vt l ca m hnh h thng m OSI. Repeater dng ni 2 mng ging nhau hoc cc phn mt mng cng c mt nghi thc v mt cu hnh. Khi
8 3

1016);

Bai giang tom tt H phn tan Repeater nhn c mt tn hiu t mt pha ca mng th n s pht tip vo pha kia ca mng. Bridge l mt thit b c x l dng ni hai mng ging nhau hoc khc nhau, n c th c dng vi cc mng c cc giao thc khc nhau. Cu ni hot ng trn tng lin kt d liu nn khng nh b tip sc phi pht li tt c nhng g n nhn c th cu ni c c cc gi tin ca tng lin kt d liu trong m hnh OSI v x l chng trc khi quyt nh c chuyn i hay khng. Khi nhn c cc gi tin Bridge chn lc v ch chuyn nhng gi tin m n thy cn thit. iu ny lm cho Bridge tr nn c ch khi ni mt vi mng vi nhau v cho php n hot ng mt cch mm do. thc hin c iu ny trong Bridge mi u kt ni c mt bng cc a ch cc trm c kt ni vo pha , khi hot ng cu ni xem xt mi gi tin n nhn c bng cch c a ch ca ni gi v nhn v da trn bng a ch pha nhn c gi tin n quyt nh gi gi tin hay khng v b xung bng a ch. Hubs thng c dng ni mng, thng qua nhng u cm ca n ngi ta lin kt vi cc my tnh di dng hnh sao. Ngi ta phn bit cc Hub thnh 3 loi nh sau sau : - Hub b ng (Passive Hub) : Hub b ng khng cha cc linh kin in t v cng khng x l cc tn hiu d liu, n c chc nng duy nht l t hp cc tn hiu t mt s on cp mng. Khong cch gia mt my tnh v Hub khng th ln hn mt na khong cch ti a cho php gia 2 my tnh trn mng (v d khong cch ti a cho php gia 2 my tnh ca mng l 200m th khong cch ti a gia mt my tnh v hub l 100m). Cc mng ARCnet thng dng Hub b ng. - Hub ch ng (Active Hub) : Hub ch ng c cc linh kin in t c th khuych i v x l cc tn hiu in t truyn gia cc thit b ca mng.Qa trnh x l tn hiu c gi l ti sinh tn hiu, n lm cho tn hiu tr nn tt hn, t nhy cm vi li do vy khong cch gia cc thit b c th tng ln. Tuy nhin nhng u im cng ko theo gi thnh ca Hub ch ng cao hn nhiu so vi Hub b ng. Cc mng Token ring c xu hng dng Hub ch ng.
3

Bai giang tom tt H phn tan Router l mt thit b hot ng trn tng mng, n c th tm c ng i tt nht cho cc gi tin qua nhiu kt ni i t trm gi thuc mng u n trm nhn thuc mng cui. Router c th c s dng trong vic ni nhiu mng vi nhau v cho php cc gi tin c th i theo nhiu ng khc nhau ti ch. Khc vi Bridge hot ng trn tng lin kt d liu nn Bridge phi x l mi gi tin trn ng truyn th Router c a ch ring bit v n ch tip nhn v x l cc gi tin gi n n m thi. Khi mt trm mun gi gi tin qua Router th n phi gi gi tin vi a ch trc tip ca Router (Trong gi tin phi cha cc thng tin khc v ch n) v khi gi tin n Router th Router mi x l v gi tip. Khi x l mt gi tin Router phi tm c ng i ca gi tin qua mng. lm c iu Router phi tm c ng i tt nht trong mng da trn cc thng tin n c v mng, thng thng trn mi Router c mt bng ch ng (Router table). Da trn d liu v Router gn v cc mng trong lin mng, Router tnh c bng ch ng (Router table) ti u da trn mt thut ton xc nh trc. Ngi ta phn chia Router thnh hai loi l Router c ph thuc giao thc (The protocol dependent routers) v Router khng ph thuc vo giao thc (The protocol independent router) da vo phng thc x l cc gi tin khi qua Router. 2.4.M HNH MNG (NETWORKING TOPOLOGY) 2.4.1. Dng thng (Bus)

Hnh 2.3. M hinh dng Bus Trong mng trc tt c cc trm phn chia mt ng truyn chung (bus). ng truyn chnh c gii hn hai u bng hai u ni c bit gi l terminator. Mi trm
0 4

Bai giang tom tt H phn tan c ni vi trc chnh qua mt u ni ch T (T-connector) hoc mt thit b thu pht (transceiver). Khi mt trm truyn d liu tn hiu c qung b trn c hai chiu ca bus, tc l mi trm cn li u c th thu c tn hiu trc tip. i vi cc bus mt chiu th tn hiu ch i v mt pha, lc cc terminator phi c thit k sao cho cc tn hiu phi c di li trn bus cho cc trm trn mng u c th thu nhn c tn hiu . Nh vy vi topo mng trc d liu c truyn theo cc lin kt im-a im (point-to-multipoint) hay qung b (broadcast). Sau y l vi thng s k thut ca topology bus. Theo chun IEEE 802.3 (cho mng cc b) vi cch t tn qui c theo thng s: tc truyn tnh hiu (1,10 hoc 100 Mb/s); BASE (nu l Baseband) hoc BROAD (nu l Broadband). 10BASE5: Dng cp ng trc ng knh ln (10mm) vi tr khng 50 Ohm, tc 10 Mb/s, phm vi tn hiu 500m/segment, c ti a 100 trm, khong cch gia 2 tranceiver ti thiu 2,5m (Phng n ny cn gi l Thick Ethernet hay Thicknet) 10BASE2: tng t nh Thicknet nhng dng cp ng trc nh (RG 58A), c th chy vi khong cch 185m, s trm ti a trong 1 segment l 30, khong cch gia hai my ti thiu l 0,5m. Dng kt ni ny c u im l t tn dy cp, tc truyn d liu cao tuy nhin nu lu lng truyn tng cao th d gy ch tc v nu c trc trc trn hnh lang chnh th kh pht hin ra. Hin nay cc mng s dng hnh dng ng thng l mng Ethernet v G-net. 2.4.2. Dng cy (Tree) M hnh cy l m hnh phn cp. N bao gm mt nt gc hoc mt hub ni n cc nt mc hai hoc hub mc hai. Cc thit b mc hai ny li c ni n cc thit b mc ba, mc ba c ni n cc thit b mc bn, Mng dng cy n gin c cho trong hnh 2.4

Bai giang tom tt H phn tan

Hnh 2.4. M hinh dng Tree 2.4.3. Dng sao (Start) c im chnh ca mng hnh sao l c mt hub x l trung tm - hub ny l trung tm truyn tin cho tt c cc nt. Cu hnh mng hnh sao n gin c minh ha trong hnh 5. cc nt c th truyn thng cho nhau, tt c d liu phi c truyn qua hub. Do khi hub ngng hot ng ton b mng cng ngng hot ng.

Hnh 2.5. M hinh dng Start


4

Bai giang tom tt H phn tan 2.4.4. Dng vng (Ring)

Hnh 2.6. M hinh dng Ring

Hnh 2.6. M hinh dng Ring Trong cu hnh ring, tt c cc nt c ni n cng mt vng - mi trng truyn thng dng chung. Trong topo dng ring truyn thng, thng ip c truyn ln lt qua cc nt theo vng. Hng truyn c th thun hay ngc chiu kim ng h ph thuc vo cng ngh s dng. Ch rng, mc d d liu c chuyn t nt n n nt kia, ring vn khng phi l mt topo thuc m hnh im - im v cc nt dng chung mt knh truyn. V vy, v mt logic, trong topo dng ring tt c cc nt dng chung mt knh truyn, nhng v mt vt l, vic truyn thng thuc m hnh im - im. Trng hp ny cng ging nh topo dng bus v tt c cc h thng im - nhiu im khc, mng dng ring cn mt s phng php qun l vic truy cp vng ng thi. 2.4.5. Dng hn hp (Mesh) L s phi hp cc kiu kt ni khc nhau v du hnh cy l cu trc phn tng ca kiu hnh sao hay cc HUB c th c ni vi nhau theo kiu bus cn t cc HUB ni vi cc my theo hnh sao.

Bai giang tom tt H phn tan

HUB

u b

B chuyn i cp

Hnh 2.7. M hinh dng Mesh 2.5.TRUYN THNG MNG (TRANSMISSION NETWORKS) 2.5.1. Di tn Di tn c s (Base band) Trong cac mang cuc b, y la mt phng phap truyn thng, trong o tin hiu thng tin c a trc tip vao cap dang s khng iu bin. Cac tin hiu may tinh co th c truyn qua cap bng hai cach: tin hiu tng t (ty bin) va tin hiu s. Mang truyn thng tng t c goi la mang bng thng ( broad band network). Cac mang truyn thng s c goi la mang bng tn c s. Vi cac tin hiu cua may tinh la tin hiu s, cho nn s lng mach cn thit cho mt mang bng c s truyn dn tin hiu nay ra vao may tinh la rt it. Hn na, nhiu mang bng c s co th s dung dy cap hai si xon (dy in thoai binh (thng), cho nn lp t chung gia re hn vi mang bng rng oi hoi phai co cap ng truc. Tuy nhin, h bng c s bi han ch v c ly truyn dn va chi cho phep thc hin mt knh truyn thng trong mt luc. Hu ht cac mang may tinh cuc b u la mang bng c s. Tt c cc nt chia s quyn truy cp vo mng truyn thng trn c s bnh ng nhau. D liu s dng bng thng ca ton b phng tin truyn thng

Bai giang tom tt H phn tan

Hnh 2.8. Bang thng k dai tn cua Hoa Ky Di tng rng/Bng thng rng (Broadband) Trong cac mang cuc b, y la mt phng phap truyn thng tin hiu tng t (ty bin) c t trng bi dai tn rng. Tin hiu nay thng c tach chia ra hoc truyn dn ( multiplex) cung cp cho cac ng truyn thng a knh. Vi cac tin hiu cua may tinh la loai tin hiu s, nn chung phai c chuyn i bng mt qua trinh goi la bin iu ( modulation) trc khi chung c truyn qua mang tin hiu tng t. Mt modem se thc hin nhim vu o. H thng dai rng dung phng phap truyn tng t. Vi may tinh la thit bi s, nn yu cu phai co cac thit bi ging nh modem ca hai u cap truyn chuyn i tin hiu t s thanh tng t hoc ngc lai. Truyn thng dai rng co th m rng c ly kha xa va hoat ng tc rt cao. Mang dai rng cung ging nh mang truyn hinh cap, co th truyn hai hoc nhiu knh cung mt luc (cac knh khac nhau v tn s). Do o mang truyn thng dai rng co th thc hin truyn ca d liu ln ting

Bai giang tom tt H phn tan Tn s i pht thanh (RF broadcasts) Cc phng thc truyn thng cho cc cng ngh khng dy ca tt c cc loi, bao gm c in thoi khng dy, radar, pht thanh, GPS, i pht thanh v truyn hnh v.v u s dng cng ngh RF. Sng RF l sng in t tuyn truyn vi tc ca nh sng 300.000km/s Hoa K, mi thit b c s dng sng RF phi ph hp vi FCC (Federal Communications Commission) quy nh. V d vi mn hnh b t ca in thoi di ng phi hot ng bng cch s dng tn s thit k ca 49 MHz. in thoi khng dy v cc thit b khc c tn s ring ca n .

6 MHz

audio video

+5.75 MHz +1.25 MHz

Hnh 2.9.S phn b dai tn cho tin hiu audio va video Bng 2.1. Cc di tn quy nh cho cc dch v truyn thng Hoa K Hng khng / Hng hi AM radio Shortwave radio Citizen's Band (CB) i truyn hnh 2-6 FM radio TV trm 7-13 in thoi di ng CDMA in thoi di ng GSM Air Traffic Control GPS 9 KHz - 535 KHz 535 KHz - 1.700 KHz 5,9 MHz - 26,9 MHz MHz 26,96 - 27,41 MHz 54 MHz - 88 MHz 88 MHz - 108 MHz 174 MHz - 220 MHz 824 MHz - 849 MHz 869 MHz - 894 MHz 960 MHz - 1.215 MHz 1.227 MHz - 1.575 MHz

Di tn c s trong gii hn Broadband DOCSIS(Data Over Cable Service Interface Specification) c pht trin bi CableLabs v sau c cc cng ty ARRIS, BigBand Networks, Broadcom, Cisco, Conexant, Correlant, ,Intel, Motorola, Netgear, Terayon, v Texas Instruments. N c lm bi nhiu nh khai thc truyn hnh cp cung cp
6 4

Bai giang tom tt H phn tan truy cp Internet. Cc c im k thut DOCSIS u tin l phin 1.0, pht hnh vo thng 03/1997. vi phin bn 1.1 (b sung cht lng dch v (QoS) kh nng) vo 4/1999. Do nhu cu tng cho cc dch v i xng nh in thoi IP, DOCSIS sa i nng cao tc truyn dn thng ngun, DOCSIS c t chc thng tin tiu chun IUT thng qua v xem nh l tiu chun quc t vo nm 1998. Gn y nht, c im k thut c sa i tng ng k tc truyn i v gii thiu h tr cho cc IPv6, l phin bn ny, DOCSIS 3.0 pht hnh vo 8/2006. Cc tnh nng ca DOCSIS - DOCSIS cung cp nhiu loi ln trong cc ty chn sn c ti cc lp lp 1 v 2 ca m hnh OSI v lp MAC (Media Access Control) + Dng xung (Downstream) : phm vi 50-750 Mhz, bng thng 6 Mhz, ln n 38 Mbps; nhn c tt c cc loi modem + Dng ln (Upstream) : phm vi : 5-42 MHz; 30,72 Mbps (10 Mbps trong 1,0 DOCSIS, 1,1); d liu chuyn giao trong timeslots (TDM) - DOCSIS 3,0 tnh nng qun l trn IPv6 v lin kt knh, cho php nhiu knh dng ln v dng xung bng c s dng vi nhau ng thi bi mt thu bao duy nht. DOCSIS Modem

cable

tuner

demodulator modulator network interface

MAC

CPU

ethernet interface (to PC) Hnh 2.10. M hnh DOCSIS Modem Gii hn ti ln / ti v c thit lp do tp tin cu hnh cho modem thng qua TFTP khi kt ni ti nh cung cp dch v ny.
7 4

Bai giang tom tt H phn tan Di tn c s cho Ethernet Ethernet nh ngha mt lot cc chun ni dy v pht tn hiu cho tng vt l, hai phng tin truy nhp mng ti phn MAC (iu khin truy nhp mi trng truyn dn) ca tng lin kt d liu, v mt nh dng chung cho vic nh a ch. Ethernet c chun ha thnh IEEE 802.3 Ngy nay, vi cc chun khc nhau, tc c th ln n 100 Gbps. Phng php truy cp s dng ph bin trong mng LAN, WAN l a truy nhp s dng sng mang c php hin xung t CSMA/CD (Carrier Sense Multiple Access with Collision Detection). Giao thc CSMA cm nhn sng mang c s dng rt ph bin trong cc mng cc b. Giao thc ny s dng phng php thi gian chia ngn theo thi gian c chia thnh cc khong thi gian u n v cc trm ch pht ln ng truyn ti thi im u ngn. Mi trm c thit b nghe tn hiu trn ng truyn (tc l cm nhn sng mang). Trc khi truyn cn phi bit ng truyn c ri khng. Nu ri thi mi c truyn. Phng php ny gi l LBT (Listening before talking). Khi pht hin xung t, cc trm s phi pht li. c th pht hin xung t, CSMA/CD b xung thm cc quy tc sau y : Khi mt trm truyn d liu, n vn tip tc "nghe" ng truyn . Nu pht hin xung t th n ngng ngay vic truyn, nh m tit kim c thi gian v gii thng, nhng n vn tip tc gi tn hiu thm mt thi gian na m bo rng tt c cc trm trn mng u "nghe" c s kin ny.(nh vy phi tip tc nghe ng truyn trong khi truyn pht hin ng (Listening While Talking)). Sau trm s ch trong mt khong thi gian ngu nhin no ri th truyn li theo quy tc CSMA. 2.5.2. S kt ni n Internet - DOCSIS modem via cable TV service - DSL router +Ethernet converted to ATM data stream +Up to 20 Mbps up to ~ 2 km. +POTS limited to 300-3400 Hz +DSL operates > 3500 Hz
8 4

Bai giang tom tt H phn tan Modem +Data modulated over voice spectrum (300-3400 Hz) +Serial interface to endpoint +V.92: 48 kbps downstream, near 56 kbps up +Use PPP or SLIP to bridge IP protocol Dedicated T1 or T3 line +T1 line: 1.544 Mbps (24 PCM TDMA speech lines @ 64 kbps) +T3 line: 44.736 Mbps (672 channels) +CSU/DSU at router presents serial interface Channel Service Unit / Data Service Unit

LAN

router

RS-232C, RS-449, V.xx serial line

CSU/DSU

T1 line

Phone network

Hnh 2.11. M hnh DOCSIS Modem Fiber to the Home, Fiber to the Curb Ethernet interface E.g., Verizons FiOS 30 Mbps to the home Long Reach Ethernet (LRE) Ethernet performance up to 5,000 feet Wireless: WiMax EDGE (70-135 Kbps) GPRS (<32 Kbps) 2.5.3.Clients v Servers

Bai giang tom tt H phn tan Clients v Servers l mi quan h gia 2 chng trnh my tnh, m trong mt chng trnh, Client thc hin gi mt yu cu t mt ng dng hoc t mt chng trnh ca dch v, Server lu tr cc yu t ca Client.
c mt a ch vn chuyn cho mt dch v c th no . Trong mng, m hnh Client-Server cung cp mt cch thun tin kt ni cc chng trnh c phn phi mt cch hiu qu trn a im khc nhau. i vi Internet, trnh duyt web ca bn l mt chng trnh Client, c yu cu dch v (gi cc trang web hoc tp tin) t mt my ch web (m v mt k thut c gi l mt Hypertext Transport Protocol hay HTTP server) trong mt my tnh khc mt ni no trn Internet. Tng t nh vy, my tnh ca bn vi giao thc TCP / IP ci t cho php bn thc hin yu cu ca Client cho cc tp tin t File Transfer Protocol (FTP) cc Server trong my tnh khc trn Internet. cung cp mt dch v, Server ch phi

Vic giao dch trong mng gia cc my tnh th m hnh Client-Server rt ph bin hin nay. 2.6. A CH MY V A CH TRUYN THNG Mt thng ip gi qua may tinh theo 2 loai : giao thc hng kt ni (Connection-oriented protocols) giao thc hng khng kt ni(Connectionless protocols) 1.Thit lp kt ni 2. m phn giao thc 3 .Trao i d liu 4. Chm dt kt ni c im - Cung cp cc mt mch ao chuyn dng - Thng ip m bo n trong trt t - Cn co c ch kt ni gia 2 may Client va Server. Client chi co th gi thng ip c sau khi Server thit lp va bt u. Giao thc hng khng kt ni : 1. Gi/ nhn d liu (D liu la cac goi tin) 2. Khng chm dt kt ni
0 5

Giao thc hng kt ni

Bai giang tom tt H phn tan

c im - Khng chm dt. Khng c thit lp cuc gi tng t gi th. D liu gi /nhn bo vao hp th. - Khng co c ch kt gia may Server va Client - R hn nhng t tin cy hn so vi dch v mch o Ethernet Lp 1 & 2 ca m hnh OSI Lp Physical (1) Cables: 10Base-T, 100Base-T, 1000Base-T, etc. Lp Data Link (2) Ethernet bc cu Phn tich khung d liu (Data frame) Truyn khung d liu Phat hin li

6 bytes

6 bytes

2 bytes 18 bytes + data

46-1500 bytes

4 bytes

Hinh 2.12. Cu truc goi tin Giao thc Internet (IP - Internet Protocol) c a ra 1969 l cng trnh nghin cu p dng cho 4 my tnh kt ni mng, c ti tr bi B Quc phng M trong d n c tn ARPA. Muc ich
5

Bai giang tom tt H phn tan Xy dng mt mng chu li hiu qu m c th kt ni cc my khng ng nht v lin kt ring cc mng c kt ni vi nhau.

a ch IP(IP - Internet Protocol) L mt a ch n gin nht m nhng thit b in t hin nay ang s dng nhn din v lin lc vi nhau trn mng bng cch s dng giao thc Internet - Mi my trn mt mng IP c gn mt s 32-bit duy nht cho mi giao din mng: + a ch IP, khng phi my a ch - Mt my tnh kt ni n mt vi mng vt l s c mt s a ch IP cho mi mng IP Address space Mt my tnh kt ni n mt vi mng vt l s c 32 bit ia chi IP Khoang hn 4 ti ia chi IP. - Routers se cn mt bang 4 ti thc th - Thit k bng nh tuyn mtthc th co th ph hp vi nhiu a ch IP Addressing: networks & hosts cs.rutgers.edu 128.6.4.2 80 06 04 02 Netwokr # Host # remus.rutgers.edu 128.6.13.3 80 06 0D 03

first 16 bits identify Rutgers external routers need only one entry route 128.6.*.* to Rutgers ia chi IP network #: Xac inh ia chi mang host #: Xac inh ia chi cua host (Server ) tren mang Class Leading bits
2 5

Bits for net#

Bits for host

Bai giang tom tt H phn tan A B C 0 10 110 7(128) 14(16K) 21(2M) 24(16M ) 16(64K) 8(256)

cho php mng i thm trong mt t chc : s dng cc bit cao ca s my ch cho mt ni mang subnet . Vi du : IBM: 9.0.0.0 9.255.255.255

Hinh 2.13. a ch IP ca IBM Chuyn i ia chi mang (Network Address Translation - NAT)

Bai giang tom tt H phn tan

Hnh 2.14 (a).S chuyn i a chi IP Getting to the machine IP l mt mng logic trn mng vt l H iu hnh h tr cho IP qua trinh iu khin IP

Hnh 2.14 (b).S chuyn i a chi IP 2.7.LP TRNH GIAO TIP 2.7.1.Sockets l g ?

Bai giang tom tt H phn tan Mi my tnh mun giao tip vi nhau cn phi c mt a ch duy nht (i ch IP). Nh c IP m chng ta .gi d liu gia cc my tnh. Tuy nhin khi mt my tnh chy nhiu chung trnh, th cc chng trnh c phn bit vi nhau bii khi nim port. - V d : + My ch A c Web Server v DNS Serverr. a ch IP l 203.162.0.181. + Gi s c mt my tnh B truy nhp n dch v Web ca My A th trong gi tin IP gi i, IP ch s l 203.162.0.31 v port 80 + Cng lc c my C truy nhp n dch v DNS trn my A th trong gi tin IP gi i, IP ch s l 203.162.0.181 v port ch l 53. - Kt hp gia IP v port th chng ta mi xc nh c mt dch v c th truy nhp n my ch - TCP & UDP l cc giao thc tng : Cha cc s hiu cng ( Port) xc im cui ca ng dng. bit thm danh sch cc cng , c th xem :: http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers Nh vy, c th xem : Sockets = (IP + Port). Socket l mt phng php thit lp kt ni truyn thng gia mt chng trnh yu cu dch v ( client) v mt chng trnh cung cp dch v (server) trn mng LAN, WAN hay Internet v i lc l gia nhng qu trnh ngay bn trong my tnh. Mi socket c th c xem nh mt im cui trong mt kt ni. Mt socket trn my yu cu dch v c a ch mng c cp sn gi mt socket trn my cung cp dch v. Mt khi socket c thit lp ph hp, hai my tnh c th trao i dch v v d liu. 2.7.2.M hnh tng qut ca IPC Mc ch : + Giao tip gia cc qu trnh khng nn ph thuc vo vic chng ang h ang trn cng mt my + Hiu qu + Kh nng tng thch(compatibility)
5 5

Bai giang tom tt H phn tan + H tr cc giao thc khc nhau + Trong ng dng cho php la chn cc kiu giao tip khc nhau: Chuyn mch o, datagram, thng ip v.v + Khng lin quan n tin trnh nn c th xc nh v tr im u im cui: Sockets phi c c tn (named) ngha y tn trong giao tip domain Cc ngn ng lp trnh hin nay u c th vin lp trnh mng rt mnh (C#, C++, Java..) v thng c th vin Socket h tr cho lp trnh mng. 2.7.2.Lp trnh vi socket Bc 1 :To socket int s = socket(domain, type, protocol) Trong : Domain : AF_INF Type : Socket dng gi hoc lung ( SOCK_DRAM hoc SOCK_STREAM) Protocol : Kiu giao thc s dung (UDP, TCP) Bc 2 : t tn cho socket (assign address, port) int error = bind(s, addr, addrlen) Bc 3a (server) : Thit lp socket c th chp nhn kt ni int error = listen(s, backlog) Bc 3b (server) : Ch cho mt kt ni t khch hng int snew = accept(s, clntaddr, &clntalen) Bc 3 ( Client) : Kt ni n Server int error = connect(s, svraddr, svraddrlen) Bc 4 : Trao i d liu(Exchange ) Kt ni nh hng (Connection-oriented) + read/write + recv/send (extra flags)

Bai giang tom tt H phn tan Kt ni khng nh hng(Connectionless) +sendto, sendmsg +recvfrom, recvmsg Bc 5 : ng kt ni shutdown(s, how) Trong : 0: C th gi nhng khng nhn 1: khng th gi nhiu d liu hn 2: khng th gi hoc nhn (=0+1) Sockets trong Java Trong java lp trnh mng c h tr bi gi java.net package C 2 lp chnh :: Socket: Dnh cho thit lp Socket pha Client ServerSocket: Dnh cho thit lp Socket pha Server Bc 1a (Pha Server) To socket v t tn cho n ServerSocket svc = new ServerSocket(port) Bc 1b (Pha server) Ch i kt ni t Client Server req = svc.accept() To socket mi (req) cho phin hot ng ca Client Bc 1 (Pha Client) To socket v t tn cho n Socket s = new Socket(address, port); obtained from: getLocalHost, getByName, or getAllByName Socket s = new Socket(cs.rutgers.edu, 2211); Bc 2 Trao i d liu Ghi hoc c d liu qua phng thc InputStream/OutputStream t i tng Socket BufferedReader in = new BufferedReader(new InputStreamReader(
5

Bai giang tom tt H phn tan s.getInputStream())); PrintStream out = new PrintStream(s.getOutputStream()); Bc 3 ng cc kt ni : ng streams, ng Socket in.close(); out.close(); s.close(); 2.7.3.Bn cht Socket Khi iu khin giao thc (Protocol Control Block) Client ch gi d liu n my tnh qua cc port. Lm th no cc my ch theo di phin ng thi cng lc trn cc port? H iu hnh duy tr mt cu trc gi l gi l : Khi iu khin giao thc (Protocol Control Block - PCB ) Trn Server : Vi cu lnh : Server: svr=socket(), khi System Call to Socket th s to cc mc trong bng PCB.

Local AddClient Local Port Server svr Local Local Add Port

Foreign addr Foreign addr

Foreign Port Foreign Port

Listen ? Listen ?

Hnh 2.15a. (Qu trnh cp pht thuc tnh PCB) Vi cu lnh: bind(svr) Yu cu client rng buc n a ch 0.0.0.0 (INADDR_ANY), port 7801 Xc nh port v address cc b rng buc n Socket ca Server add=0.0.0.0, port : 1234) Local Add Client Local Port Foreign addr
8 5

Foreign

Listen ?

svr

Bai giang tom tt H phn tan Port

Server svr

Local Add 0.0.0. 0

Local Port 1234

Foreign addr 0

Foreign Port 0

Listen ?

Hnh 2.15 (b) Vi cu lnh: listen(svr, 10) Foreign addr Foreign addr
YES

Thit lp socket lng nghe t Socket ca Client Local AddClient Local Port Server svr Local Add 0.0.0. 0 Hnh 2.15 (c) Vi cu lnh: snew=accept(svr) Block Ch kt ni t Client. R rng lc ny PCB khng thay i v cu trc. Local AddClient Local Port Server svr Local Add 0.0.0. 0 Hnh 2.15 (d) Trn Client , Vi cu lnh: s = socket() To khi PCB Client . Local Add Server Local Port Local Add Local Port Foreign addr Foreign addr
9 5

Foreign Port Foreign Port

Listen ? Listen ?

Local Port 1234

Foreign addr Foreign addr

Foreign Port Foreign Port

Listen ? Listen ?
YES

Local Port 1234

Client Foreign Port Foreign Port Listen ? Listen ?

s svr Bai giang tom tt H phn tan 0.0.0. 0 Hnh 2.15 (e) Vi cu lnh: s = bind(s) Client s xc nh port v a ch cc b n socket, bind(addr=0.0.0.0, port=7801) Local Add s 0.0.0.0 Server svr Local Port Foreign addr 7801 Local Local Foreign Add 0.0.0. 0 Hnh 2.15 (f) Vi cu lnh: connect(s) Gi yu cu kt ni n my ch [135.250.68.3:7801] to [192.11.35.15:1234] Local Add s 0.0.0.0 Server svr Local Port Foreign addr 7801 Local Local Foreign Add 0.0.0. 0 Hnh 2.15 (g) Server p ng vi ghi nhn (acknowledgement) [192.11.35.15:1234] n [135.250.68.3 :7801] Client Local Add s 0.0.0.0 Server Local Port Foreign addr 7801 192.11.35.15 Local Local Foreign
0 6

1234

YES

Client Foreign Port Foreign Port Listen ? Listen ?


YES

Port 1234

addr

Foreign Port Foreign Port

Listen ?

Client

Listen ? *

Port 1234

addr

Foreign Port 1234 Foreign Port

Listen ? Listen ?

Bai giang tom tt H phn tan Add 0.0.0. 0 Hnh 2.15 (h) Giao tip : Client v Server thc hin trao i d liu Mi tin nhn t Client c gn th nh l d liu hoc kim sot (v d nh kt ni) Nu d liu - tm kim thng qua bng m FA v FP kt hp tin nhn n v listen = false Nu kim sot - tm kim thng qua bng m y listen = true Port 1234 addr *

BI TP CHNG II
1. Pht biu sau y pht biu no l khng ng v Socket a. Socket l mt phng php thit lp kt ni truyn thng gia mt chng trnh yu cu dch v ( client) v mt chng trnh cung cp dch v (server) trn mng LAN, WAN hay Internet b. Socket l vng nh trung gian gia hai my khi kt ni vi nhau. c. Mi socket c th c xem nh mt im cui trong mt kt ni. d. Mt khi socket c thit lp ph hp, hai my tnh c th trao i dch v v d liu. 2. Trnh t no l ng cho lp trnh Socket Server a. To socket, t tn socket, thc hin lng nghe, truy cp i tng , trao i d liu, ng kt ni b. To socket, t tn socket, thc hin lng nghe, trao i d liu,truy cp i tng, ng kt ni.

Bai giang tom tt H phn tan c. To socket, t tn socket, trao i d liu,thc hin lng nghe, truy cp i tng, ng kt ni d. Tt c u sai 3. Trnh t no l ng cho lp trnh Socket Client a. To socket, t tn socket,kt ni Server, trao i d liu, ng kt ni b. To socket, kt ni Server, t tn socket, trao i d liu, ng kt ni c. To socket, t tn socket, trao i d liu, kt ni Server,ng kt ni d. Tt c u sai 4. C bao nhiu cch trao i d liu trong giao tip bng socket a. 1 b.2 c.3 c. java.net d.4 d. java.netwok ---o0o--5. Socket trong java c khai bo a. java.until b. java.io

CHNG III TN V NH DANH TRONG H PHN TN


MC TIU Gip sinh vin rm r cc vn : - Cc khi nim lin quan n tn, nh danh i tng - Thnh lp dy truy cp - Cch phn gii tn trong h phn tn - nh danh trong cc h iu hnh 3.1 TN (NAME) 3.1.1 nh ngha Mt i tng trong h phn tn c th l users, files, database objects, variables, communication links ... Mt tn (name) trong mt h thng phn tn l mt chui cc bit k t c s dng ch n mt i tng. Tn c th c nhiu dng khc nhau, chng hn nh tn thng
2 6

Bai giang tom tt H phn tan thng, a ch (address) hoc nh danh (identifier). nh danh l tn duy nht cho mt i tng. 3.1.2 Cc yu t ca tn Tn bao gm nm yu t : chc nng ca tn, cu trc ca tn, ngha ca tn, thng tin m tn cha ng, thi gian tn ti ca ngha ca tn. Chc nng ca tn: S dng phn bit mt i tng t nhng i tng khc Cu trc ca tn: Tn c cu trc thc th bao gm nhiu trng (field). Cc tn c th c cu trc ging nhau hoc khc nhau. ngha ca tn: Nu mt ci tn c ngha nh nhau trong mi ng dng th n c th gi v nhn gia cc ng dng khc nhau m khng cn quan tm n v tr hin ti ca n trong h thng. Cc ng dng phi m bo rng mt ci tn mang ngha ny trong mt ng dng th tt c cc ng dng khng th nhn c ngha khc vi ci tn ging nh vy. Thng tin ca tn: Tn cha ng thng tin v i tng nh nh ngha, loi hoc v tr. Vic t tn phi ti u t tn ca i tng c th ly thng tin v i tng ngay lp tc m khng cn phi kh khn phn tch tn. Thi gian tn ti ca ngha ca tn: Ngha ca tn c th vn gi nguyn khi ng dng thc thi hoc n c th thay i d ng dng khng cho php. Cn phi ngn chn vic thay i ngha ca tn m cc trm khng nhn ra v cho php kim tra xem ngha ca tn c thay i hay khng. Nu tn thay i m khng c trm ng , cn c nhng k thut nh danh cho php trm xc nh c rng tn ch n ng i tng chng cn. 3.1.3 Cc loi tn 3.1.3.1 Tn n gin L cc loi tn khng c cu trc, thng cha ng thng tin v v tr (location) ca mt i tng hoc qun l (authority) ca mt i tng V d : #9B3FB1C8 3.1.3.2 Tn c cu trc th bc Gia cc tn c s mc ni quan h vi nhau v c th bc.
3 6

Bai giang tom tt H phn tan V d :

Node 1 ... Files ... John Paul Users Files

Node 2 ... Users

...

Image

Yesterday

Hnh 3.1. Tn c cu trc th bc Trong cu trc trn c th xc nh tn nh: \Node 1\Files\John\Image 3.2 NH DANH (IDENTIFY) 3.2.1 Gii thiu ch n mt i tng, ngi ta thng s dng nh danh. nh danh l mt dng ca tn nhng nh danh l chui cc bit k t c trng duy nht cho i tng. Khi thc hin chng trnh, cc nh danh cn phi gn cht vi cc i tng thc tr chnh xc v tr ca chng. Trong tng thi im, cp <nh danh, i tng tr> to thnh ng cnh (context) thc hin. Mi quan h gia i tng cn tr n v nh danh ca n gi l lin kt. Nhng ngi s dng hay cc ng dng trong h phn tn c th truy cp n cng mt i tng, ng thi c th trao i cc nh danh vi nhau. nh danh trc ht cn c cc yu t: c th xc nh v tr, c th chuyn i gia cc ng dng v c th s dng li. 3.2.2 Ti sao phi nh danh Vic nh danh i tng gip chng ta nhn bit c mt dch v (service) hoc mt ti nguyn m chng ta mun s dng v khng b nhm ln.
6

Bai giang tom tt H phn tan Vic nh danh i tng cho php cc ng dng hoc cc tin trnh c th chia s cc ti nguyn vi nhau. Vic nh danh i tng gip an ton cho h thng: Vi mt h thng c rt nhiu nh danh, vic nhn bit mt nh danh i hi nh danh phi hp quy cch. Nu ton b h thng c s thng nht v nh danh th s m bo cho vic cp nht n mt i tng. 3.3 LIN KT V THNH LP DY TRUY CP 3.3.1 Lin kt 3.3.1.1 nh ngha Vn lin kt c hiu nh mi lin h i tng cn tr n v nh danh ca n. Lin kt hng n thnh lp mt chui cc truy cp n i tng v n phi thc hin mun hn thi im thc hin mt lnh truy cp i tng Tuy nhin, khi thc hin chng trnh, c nhiu l do cn tin hnh cc php ton lin kt vi i tng theo kiu ng, chng hn nh: 1. c lp v thi gian tn ti: mt i tng c th c to ra v hu b c lp vi vic thc hin chng trnh 2. S dng li cc nh danh: cng mt nh danh c th c s dng ch cc i tng khc nhau trong qu trnh thc hin 3. i tng nm ngoi vng i ch ho ca b x l: i tng nm ti v tr m b x l thc hin cc lnh ca chng trnh khng th truy cp n c. Chng trnh thng dch ca vic truy cp nh vy s dng nh danh i tng l rt cn thit. Do vy, cc i tng c tr ti trong mt chng trnh c th chia thnh hai loi: 1. Chng trnh dch v chng trnh lin kt c th thc hin cng vic lin kt 2. Cc i tng hnh thnh t ng khi thc hin chng trnh. 3.3.1.2 Lin kt ng a.Vn trong lin kt ng Trong lin kt ng ny sinh hai vn : Vn 1 : Xut pht t nh danh cn phi tm i tng Vn 2 : Hnh thnh dy truy cp n i tng b.Gii quyt vn
5 6

Bai giang tom tt H phn tan Vn 1: gii quyt vn 1 th phi s dng tp hp cc danh mc. Cc danh mc c t trong cc bng c nhim v to mi lin h gia cc nh danh v cc m t ni cha i tng. Cc quy tc phin dch mt nh danh thay i theo chc nng ca trm, ca NSD, ca v tr m n xut hin. Thng dng nht l cc quy tc c xc nh trn c s mi trng hin hnh. C nhiu trng hp xy ra : 1. Cng mt nh danh c th ch cc i tng khc nhau trong mi trng khc nhau ( Hnh 3.2) 2. Cng mt nh danh c th ch cng mt i tng trong cc mi trng khc nhau ( Hnh 3.3) 3. Cng mt i tng tu theo mi trng c th c tr bi cc nh danh khc nhau ( Hnh 3.4)
i tng 1 nh danh i tng 2 i tng 3

Mi trng 1 Mi trng 2

Mi trng 3

Hnh 3.2. Mt nh danh ch nh nhiu i tng trong cc mi trng khc nhau

i tng 1

Mi trng 1

nh danh

i tng 1 Mi trng 2 i tng 1


6 6

Mi trng 3

Bai giang tom tt H phn tan

Hnh 3.3. Mt nh danh ch nh cng mt i tng trong nhiu mi trng

nh danh 1

i tng 1 Mi trng 1

nh danh 2

i tng 1 Mi trng 2

nh danh 3

i tng 1 Mi trng 3

Hnh 3.4.Mt i tng tu theo mi trng c th tr bi cc nh danh khc Vn 2 : Lin quan n cu to v phin dch dy truy cp s trnh by phn 3.3 3.4 CON TR 3.4.1 Cc c tnh ca con tr S vn ng hay min tc dng ca con tr: mt con tr gi l ton cc khi c cng nh danh khng ph thuc vo mi trng s dng n. Mt con tr c th s dng trong tt c cc trm ca mng, nhng n ch c ngha trong mt mi trng cho trc, v d trm ny n mang ngha ny nhng trm khc n li mang ngha khc. S ph thuc r rt ca con tr vo s nh v i tng: s nh danh c th tng minh v trong trng hp , thng thng, con tr cha mt phn c trng cho trm v mt phn khc ring cho bn thn n. Ngc li, s nh danh m khng

Bai giang tom tt H phn tan tham chiu n ni nh v i tng cho php di chuyn mt i tng t trm ny n trm khc m ngi s dng (NSD) khng hay bit. S lng i tng gn vi con tr: mt con tr c th biu hin mt i tng c bit (nh danh ring bit) hay ngc li mt nhm cc i tng. Trong trng hp ny, c ch truy cp cho php chn mt trong cc i tng m NSD khng hay bit nhm nh du cc trng hp xu. 3.4.2 Thc hin danh mc tng qut 3.4.2.1 Danh mc tng qut c a vo cho mt trm duy nht Trong trng hp ny, danh mc tng qut ch c mt bn duy nht v c t trn mt trm. u im: Ch c mt bng danh mc duy nht, do rt thun li v nhanh chng trong cp nht thng tin. Hn ch: Trm cha danh mc b s c th h thng khng th hot ng c D b n tc khi cc yu cu truy cp i qua cng mt trm trong cng mt thi im 3.4.2.2 Danh mc tng qut c nhn trn tng trm Trong trng hp ny, tt c cc trm u c bn sao ca danh mc tng qut, thng tin ca cc bn sao ny ging nhau v ging vi bn chnh. u im: Khi mt trm b s c th khng gy nh hng ln n h thng Khng gy n tc v cc yu cu phn b trn nhiu trm

Hn ch: kh m bo gn b d liu trong tt c cc bn sao 3.4.2.3 Danh mc tng qut phn tn trn cc trm Trong trng hp ny, mi trm c danh mc ring ca mnh, gc ca th l tp tin cc b. Vn cn gii quyt: Cn phi c s lin thng gia cc trm nhn bit trng thi chnh xc cc i tng m n qun l
8 6

Bai giang tom tt H phn tan truy cp vo mt i tng, trm cn phi bit chnh xc cu trc danh mc cc b ni m t i tng Vic tham chiu vo cc i tng, thng thng, c thc hin bi b nh danh ca trm, t , ta c th gii phng bi cc c ch tng tc nh b lc ca NSD trong h thng Rsexec, nhng i khi cng xut hin vn mi l s hot ng nhp nhng (homonymic) ca cc b nh danh tng qut. u im : Vic truy cp vo cc tp tin cc b s c tin hnh rt nhanh Vic qun l cc danh mc c tnh cht cc b v c lp trn tng trm Vic iu khin truy cp tng tranh vo mt tp tin no c th c tin hnh trin khai mt cch kh d dng. 3.5 THNH LP DY TRUY CP 3.5.1 Vn tr thng tin trong h phn tn Khi ngi s dng (NSD) mun lin lc vi nhau, h phi s dng h thng tn quy c hay cn gi l a ch mng. Cc a ch ny tun theo nguyn tc xy dng nht nh v khng trng nhau. Khi s lng NSD tng ln th ngi ta ra gii php mi l mi NSD kt hp vi mt trm c bit lu tr thng tin lin quan n NSD . Nhng trm c bit ny c th coi l cc my ch v mi mt my ch c th qun l mt tp hp cc NSD c cng chung c tnh no . Cc my ch c kt ni li vi nhau v lun trong tnh trng nhn v pht thng tin. Trn my ch gn lin vi NSD ngi ta thnh lp h thng tra cu thng tin ca mng (cc danh mc tng qut) v h thng ny lun c lm ti m bo thng tin cha trong ng trng thi thc ca h. Khi NSD gi mt thng ip cho NSD khc xa th my ch ngun (ni thng ip xut pht) phi tra cu vo y xc nh hng ca lung thng tin n my ch ch, my ca thng ip n. H thng thng tin tra cu c phn tn trn cc my ch phng trng hp mt my ch b s c dn n khng th tra cu thng tin cho cc NSD gn lin vi n.

Bai giang tom tt H phn tan Cc h thng thng tin phn tn dng cho vic tra cu trn cc my ch phi ging nhau hon ton. 3.5.2 Lin thng tin trnh thc hin truy cp t xa phi thc hin lin thng cc tin trnh a ra trn cc trm khc nhau. Trong trng hp c s nh danh tng qut cc tin trnh, hai tin trnh xa c th hiu lai lch tng ng ca cc ca s ca chng vi mc ch cho php nhp cuc vo lin kt trao i. S lin lc gia cc tin trnh da trn c s cc thng bo. Mt thng bo bt k lun cha cc thng tin cn thit cho vic nh danh cc tin trnh pht v thu. 3.5.3 Ca s (window) Thng thng, vic trao i gia hai tin trnh xa din ra thng qua cc i tng trung gian gi l windows. Mt ca s c nh v trn mt trm. Mi ca s c nh danh bi mt con tr (b nh danh) bao gm b nh danh tng qut ca chnh trm v mt con tr cc b. Vic s dng ca s trao i gia cc tin trnh cho thy c cc u im: Chnh cc b nh danh tng qut cho tp hp ca h l cc b nh danh ca cc ca s. Mi mt trm c th lu tr cc quy nh ring v nh danh v s dng cc ngn ng thut ton khc nhau son tho tin trnh Cc tin trnh c th gn ng cho cc ca s. Do vy, mt php gi cc thng bo c th lin quan n cc trm khc nhau. Lc ny ch cn thay i cc tin trnh gn vi ca s nhn l .
II
P1

P2

I III
P3

Hnh 3.5. Chia s ca s 3.5.4 Phi

hp tin trnh windows 3.5.4.1 Truy cp trc tip


0 7

Bai giang tom tt H phn tan Khi NSD gn vi ca s a mun xc lp lin kt vi tin trnh trc Vi ca mt trm xa, n lin h ti ca s b gn vi n bng cch lin lc vi b nh danh a ca ring n. Nu Vi chp nhn, n ghi iu vo tin trnh NSD v knh (a,b) c thnh lp. Nu ca s trc c th c chia s, th nhiu tin trnh NSD c th hi thoi cng mt lc vi n cng mt phc v.
Pj

Knh NSD-Server

Ti n tr nh trc Vi

Hnh 3.6. Truy cp trc tip NSD-Server 3.5.4.2 Truy cp theo kiu ni tip Trng hp ny, knh (a,b) c thnh lp gia NSD v chng trnh trc. Chng trnh trc c nhim v lin thng trc tip gia tin trnh yu cu v tin trnh Server. Theo hnh v ta thy gn vi tin trnh NSD l b nh danh c ca ca s phi hp vi server thng qua knh (a,b). Mt knh mi (a,c) c khi s t tin trnh NSD

3.5.4.3 Truy cp gin tip Tin trnh yu cu khng th nh danh c tin trnh Server. Tin trnh yu cu phi thng qua trung gian tin hnh cng vic lin thng. Kiu nh danh ny c t ra khi m ca s b ca tin trnh trc khng c chia s. Vn t ra l thi gian trao i thng qua knh (a,b) cng ngn cng tt khng nh hng n cc NSD khc. b
Knh (a ,b) Ti n tr n h tr c Vi

a
Ti n tr nh NS D Knh (a ,c)
1 7

c
Ti n tr n h tr cS i

Bai giang tom tt H phn tan

Hnh 3.7. Truy cp ni tip 3.6.CCH PHN GII TN TRONG H PHN TN 3.6.1 Name service 3.6.1.1Cc thnh phn trong kin trc Name service Name agent Cung cp giao din (interface) gia Name service v Client c ch huy bi Name server to hay tm kim tn

Name server

Hnh 3.8. Cc thnh phn ca Name service Qun l thng tin v thc hin cc chc nng nh x gia tn v i tng C th lin kt vi cc Name server khc Cung cp giao din (interface) cho Name agent

3.6.1.2 Cc hot ng ca Name Service Cc hot ng thay i danh mc: - ADD: thm - DELETE: xo - MODIFY: thay i cc thng tin. Yu cu: - READ: phn tch tn thnh 1 i tng
2 7

Bai giang tom tt H phn tan - SEARCH: tm mt tn hoc mt i tng da trn mt s thuc tnh - LIST: lit k tt c cc tn Qun l: - Phn quyn cho vic cp nht - Xc nhn (authentication) - M rng Name space 3.6.2. Name server

Hnh 3.9. Kin trc Name server 3.6.2.1 Kin trc Name server Name Resolution: nh x gia tn v i tng Caching: lu tr cc thng tin gip cho vic truy xut hiu qu hn Replicated data management: qun l bn sao Communication: truyn thng gia cc agent v name server, hoc gia cc name server vi nhau Database: qun l cc thng tin cc b 3.6.3 Phn gii cu trc tn: K thut phn gii ph thuc vo loi tn 3.6.3.1 Location-Dependent Name Location-Dependent Name l tn ph thuc vo v tr ca i tng m n nh danh.
3 7

Bai giang tom tt H phn tan Cu trc: Mi Node ch c mt Name server, Name server ch qun l tn ca cc i

tng cc b Cu trc tn: NodeID.ObjectID

Phn gii tn: Khi phn gii tn c dng NodeID.ObjectID : Name agent gi mt yu cu n NodeID Name server ca NodeID s nh x ObjectID n i tng cc b

Tnh cht: Cc Node c tnh t tr cao Tn c th c nhanh chng v n gin Tuy nhin, cc i tng khng th di chuyn (migrate)

Hnh 3.10 Location-Dependent Name 3.6.3.2 Authority-Dependent Name Authority-Dependent Name l tn ph thuc v tr Name server chu trch nhim phn gii tn. Cu trc: - Mi Node c mt Name server, name server qun l tn ca tt c cc i tng c to cc b Cc i tng c th di chuyn, Name server phi nhn bit c v tr ca cc i tng di chuyn
7

Bai giang tom tt H phn tan Cu trc tn: NodeID.ObjectID

Phn gii tn: Khi phn gii tn c dng NodeID.ObjectID: Name agent gi mt yu cu n NodeID Name server ca NodeID s nh x ObjectID n i tng cc b

Tnh cht: Tn c th to v tm kim mt cch n gin Cc i tng c th di chuyn Tuy nhin, phi c s qun l vic di chuyn ca cc i tng da vo cc

overhead v tn ch ph thuc vo Name server qun l n

Hnh 3.11. Authority-Dependent Names 3.6.3.3 Location-independent Name Location-independent Name l tn khng ph thuc vo v tr. Cu trc: Cc tn c t chc thnh cc Name space, v cc Name space c cu trc

bc

Bai giang tom tt H phn tan Vic phn chia cp bc ph thuc vo cu trc t chc (organizational

structure), giao thc h thng (system topology), s phn tn v a l (geographical distribution) Quan h gia tn vi mt i tng: nh danh mt tn duy nht trong mt ng cnh (context) ca i tng cha ca n (parent object) V d: uka/ira/schmitt , (parent = de)

Hnh 3.12. Location-independent Name S phn chia ca Name space: Name space b ct thnh cc min (zone) v mi min c t nht l mt Name server. Bn sao (replication) c th c thc hin (achieved) bng nhiu Name server trn mi min

Bai giang tom tt H phn tan

Hnh 3.13. Name Space trong Location-independent Name Phn gii tn: Agent gi n Name Server N Nu N nhn bit c tn th s thc hin phn gii cc b Nu N khng nhn bit c tn th s phn gii s bt u vi mt root server

v vic phn gii s tip tc vi cc server cp thp hn cho n khi vic phn gii hon thnh. Tnh cht: Cc i tng c th di chuyn, iu khin mt i tng c th thay i C th c nhiu bn sao Tuy nhin vic phn gii tn c th rt tn km cho vic truyn thng (c th ci tin bng cch s dng caching lu tr) v vic pht sinh tn c th i hi s thng bo.

1.<nl,vu,cs,ftp> 2.#<nl>,<vu,cs,ftp> 3.<vu,cs,ftp>

Root name server

nl

Name server 3.6.4 Phn gii tn kiu lp v phn gii tn kiu quy

3.6.4.1

Clients name theo Phnresolver gii

kiu lp (Iterative Name Resolution) 5.<cs,ftp>


6.#<cs>,<ftp> 7.<ftp> 8.#<ftp> Name server vu node Name server ftp node cs ftp

4.#<vu>,<cs,ftp>

nl node

vu

<nl,vu,cs,ftp>

#<nl,vu,cs,ftp>

7 7 Cc node c
q u nl b n g c n gs e rve r

Bai giang tom tt H phn tan

Hnh 3.14. Phn gii tn kiu lp 3.6.4.2 Phn gii tn kiu quy (Recursive Name Resolution) Client gi tn n cho Name server, nu Name server nhn bit c th kt qu s c lu vo caching, Name server s tip tc gi quy cho n khi phn gii xong tn. Khi phn gii xong tn th c kt qu t caching v tr v cho b phn gii tn ca Client.
1.<nl,vu,cs,ftp> 8.#<nl,vu,cs,ftp> 7.#<vu,cs,ftp> Clients name resolver Root name server 2.<vu,cs,ftp> Name server nl node Name server vu node Name server ftp node 3.<cs,ftp>

6.#<cs,ftp>

5.#<ftp>

4.<ftp>

<nl,vu,cs,ftp>

#<nl,vu,cs,ftp>

Hnh 3.15. Phn gii tn kiu quy Caching trong phn gii tn kiu quy: Server cho Phn gii Tm kim Chuyn Nhn v lu node node con tr Cs <ftp> #<ftp> Vu <cs,ftp> #<cs> <ftp> #<ftp> nl <vu,cs,ftp> #<vu> <cs,ftp> #<cs> #<cs,ftp> #<vu> #<vu,cs> #<vu,cs,ftp>

Tr v yu cu #<ftp> #<cs> #<cs,ftp> #<vu> #<vu,cs> #<vu,cs,ftp> #<nl> #<nl,vu> #<nl,vu,cs> #<nl,vu,cs,ftp>

root

<nl,vu,cs,ftp> #<nl>

<nl,cs,ftp>

Bai giang tom tt H phn tan

Phn gii tn quy mang n cc thun li: Caching hiu qu hn Gim gi thnh truyn thng

3.7.NH DANH TRONG H THNG UNIX, TRONG MNG INTERNET V TRONG C S D LIU PHN TN 3.7.1 nh danh trong h thng Unix Trong mi trng mng ARPANET, h thng qun l tp tin ca h iu hnh Unix c th nh danh cc tp tin thuc cc trm t xa. Mi tp tin c nh danh trn trm ring ca n bi mt b nh danh phn cp nh f1/x2. nhn dng cc tp tin t xa th thm vo thnh phn bao gm: B nh danh trm ni cha tp tin B nh danh cc b ca trm truy cp V d: Trn trm A ta c hote-b/f1/x2 trong hote-b ch trm B trn trm A. 3.7.2 nh danh trong mng Internet Trong cc h thng phn tn th mi my c mt i ch mng duy nht, gi l a ch IP. a ch ny c s dng i din cho my ch trong qu trnh trao i thng tin vi cc my khc cng nh khi my ch mun truy cp ti nguyn dng chung. Tuy nhin, vic s dng a ch bng cc con s nh vy rt kh nh v d nhm ln, v vy ngi ta xy dng mt h thng t tn cho cc phn t ca mng Internet, cho php ngi s dng ch nh n tn ch khng cn nh cc a ch IP. Tuy nhin c cc yu cu t ra l : Tn c t phi l duy nht, tc l khng c 2 my tnh trn mng c cng mt tn. C cch thc chuyn i gia tn v i ch i vi mt lin mng tm c ton cu nh Internet i hi phi c mt h thng t tn trc tuyn v phn tn thch hp, h thng ny gi l DNS (domain system name) V d: 128.141.201.45 c tn l www.dtu.edu.vn

Bai giang tom tt H phn tan Cc nh danh c tp hp trong mt table v bn sao ca n c t ti cc trm c th truy cp nhanh. 3.7.3 Giao thc TCP/IP v cch nh a ch IP trn Internet 3.7.3.1 Giao thc TCP/IP TCP/IP (Transmission Control Protocol/Internet Protocol) thc cht l mt h giao thc cng lm vic vi nhau cung cp phng tin truyn thng trn mng. TCP/IP s dng s a ch ho ton cu, tc l mi my tnh trn mng TCP/IP c mt a ch xc nh duy nht. Mi packet d liu c gi trn mng TCP/IP c mt header gm a ch ca my ch cng nh a ch ca my ngun. Cc tng ca m hnh TCP/IP bao gm: tng Application, tng Transport, tng Internet, tng Physical. Trong chc nng ca tng Internet l iu khin cc packet i t my ny n my khc theo nhng ng i thch hp. Tng Internet sau khi nhn packet t tng transport s ng gi packet li, thm Header x l vic a datagram ra mng, theo nhng ng i thch hp n my nhn bng gii thut tm ng. Tng Internet cng kim sot cc datagram n, kim tra xem c phi datagram c gi n my hay khng, nu ng, tng Internet s loi b Header ca datagram v a ln cho tng Transport x l, nu khng, my s khng nhn hoc s gi datagram i tip theo ng i thch hp n ch. 3.7.3.2 Cch nh a ch trn Internet Mi thit b kt ni vo Internet u c mt nh danh 32 bit duy nht, chnh l a ch IP ca n. a ch IP chia thnh 4 vng (mi vng 1 byte) cch nhau bng du chm. Mc ch a ch IP l nh danh duy nht cho mt host bt k trn mng. Ngi ta chia a ch IP ra thnh 5 lp v k hiu A, B, C, D, E. Cc bit u tin ca byte u tin c dng nh danh lp a ch (0- lp A, 10 - lp B, 110 - lp C, 1110 - lp D, 11110 - lp E) Octete u tin Gi tr nh phn Lp Octete u tin gi tr thp phn S lng cc mng
8

S lng S dng host trn mng

Bai giang tom tt H phn tan A B C D 00000001-01111111 10000000-10111111 11000000-11011111 11100000-11101111 1-126 128-191 192-223 224-239 126 16,382 2 triu Qung b ang th nghim 16 triu 65534 254 Qung b ang th nghim Dng cho cc mng c s trm ln Dng cho cc mng c s trm trung bnh Dng cho mng c t trm Gi IP datagram ti mt nhm cc host trn mt mng D phng

11110000-11110111

240-247

V d : 000010 10 100000 00

000010 10 000000 11

000010 10 000000 10

000010 10 000000 11

=10.10.10.10 (Lp A) =128.3.2.3 (Lp B) =192.0.1.255 (Lp C)

110000 000000 000000 111111 00 00 01 11 3.7.4 DNS (Domain name system)

DNS (Domain Name System) l mt h c s d liu phn tn dng nh x gia cc tn min v cc a ch IP. DNS a ra mt phng php c bit duy tr v lin kt cc nh x ny trong mt th thng nht. Trong phm vi ln hn, cc my tnh kt ni vi internet s dng DNS to a ch lin kt dng URL (Universal Resource Locators). Theo phng php ny, mi my tnh s khng cn s dng a ch IP cho kt ni. Cc tn DNS to ra theo nh dng sau .., v d infosec.vasc.com.vn. Trong khi danh sch cc kiu tn DNS c thit kt li bi ICANN (Cng ty qun l dch v tn min), mt s cc kiu thng thng bao gm: .edu (dng cc website gio dc) , .mil (cc website cho qun i), .org (thuc dng cc t chc phi thng mi) .com (cc t chc kinh t),... V cng c cc kiu tn min ch nh theo tn nc, v d .ie (Ireland), .jp (Japan),.de(Germany) Khi mt my tnh (mt DNS client) mun tm kim mt URL, n a yu cu (GetHostByName) ti DNS server ca n. DNS client s dng mt DNS resolver nh
8

Bai giang tom tt H phn tan v DNS server. Nu DNS server khng xc nh c tn min cn tm, hay DNS server khng c cht thng tin g v URL trong vng nh m ca n, n s khng th tr li yu cu ca client ngay lp tc. Thay vo , DNS server s hoc s dng mt DNS forwarder hoc to li mt yu cu theo quy tc quy.

Hnh 3.17. Thng tin trong DNS 3.7.4.1 Dch v tn min quy c cho ton h thng Domain name ngha COM s dng cho thng mi EDU s dng cho gio dc GOV s dng cho chnh ph ORG s dng cho cc t chc NET s dng cho mng my tnh MIL s dng cho lnh vc qun s INT s dng cho quc t 3.7.4.2 DNS Name Space Name space c chia thnh cc domain v chng t chc thnh dng cy (tree). Mi domain nhn mt tn duy nht.

Bai giang tom tt H phn tan

Hnh 3.18. Mt DNS Name Server 3.7.4.3 nh danh trong c s d liu phn tn Mi mc tin trong c s d liu cn c tn duy nht. Ngi ta d dng m bo thuc tnh ny trong h thng tp trung. Trong c s d liu phn tn, cc trm cn m bo khng dng mt tn cho hai mc tin khc nhau. Mt gii php cho vn ny l yu cu tt c cc tn c ng k trong my ch trung tm. Cch ny c vi nhc im: - My ch s qu ti nu tt c cc tn u ng k trn . - Nu my ch hng, khng th tip tc cng vic trn bt k trm no. - iu khin tn ti mt trm c my ch thc cht l tp trung. iu ny s lm gim tnh t tr ca tng trm. Gii php khc nhm tng tnh t tr ca trm l yu cu mi trm t tn vi vi k hiu u theo qui nh, th d tn trm. Khi khng c hai trm no dng trng tn c. Do vy chng cn cn phi dng tp trung qun l tn. Gii php trn gii quyt c tnh t tr nhng li vi phm tnh thng sut, v tn trm c gn vi cc tn. Th d: Quan h gi tin c tham chiu nh chi nhnh H ni, gi tin, ch khng n gin l gi tin. Mi bn sao v mi phn nh ca d liu cn c tn duy nht. C th dng phn m rng .RI ch cc bn sao th i v dng .fI ch phn con th i. Th d: Trm4.gi tin.f3.R2 ch bn sao th hai ca phn con th ba ca quan h gi tin, to ra ti trm4.

BI TP CHNG III
8

Bai giang tom tt H phn tan

1. Naming l g? a. Tn tham chiu ca cc i tng b. Tn ca cc hot ng rng buc ca i tng. c. Tn ca cc i tng hot ng trn mng d. Tt c u ng 2. Cc i tng no sau y l naming a. Tn file, tn thit b b. Cc bin ca chng trnh c. Tn cc dch v mng d. Tt c u ng 3. Tm hiu mt s dch v t tn ni ting

CHNG IV I TNG PHN TN V TH TC TRIU GI T XA


4 8

Bai giang tom tt H phn tan

MC TIU Gip sinh vin rm r cc vn : - i tng phn tn - S giao tip gia cc i tng phn tn - Giao tip i tng trong h thng phn tn 4.1.I TNG PHN TN 4.1.1.Gii thiu ng dng phn tn : l tp cc i tng phn tn c nm tn cc trang Web v giao tip thng qua s triu gi (invocations) t xa. M hnh i tng phn tn: L ng dng phn tn c pht trin da trn kin trc vi s h tr bi mt s cc c s h tng mng v cc cng c. i tng phn tn : Trong m hnh phn tn, cc i tng, i tng t xa l cc n v phn tn hay l mt node trn m hnh phn tn. 4.1.2.Li ch ca m hnh phn tn i tng - Pht trin cc ng dng c tnh tru tng, tnh mm do cao - Cho php ng gi cc vic thc hin i tng, c t trn bt k trang web no, thc hin :truy cp vo a phng, qun l s kin, bo mt v.v - Cc ng dng c th c ti s dng ca chng qua ng gi i tng bng cc muWRAPPER C th ci tin d dng cc quy m qua sc mnh tin trnh phn ra bn ngoi h thng mng Server 4.1.3. Cc m hnh i tng phn tn Cc m hnh i tng phn tn c xut : M hnh i tng phn mnh (fragmented objects ) - Cc i tng c th c phn chia trong mt vi phn, nm trn nodes khc nhau, v t ng tc cung cp cc chc nng ca i tng. - V d : Cc i tng rng buc trn mng ton cu ( Internet) M hnh i tng ti to (replicated objects ) - C nhiu bn sao, hoc ti to hoc cc i tng cng ng thi tn ti.
5 8

Bai giang tom tt H phn tan +Tng tnh kh dng v ci thin hiu sut ca h thng. Tuy nhin, s ti to ca mt i tng phi c gi n nh, thm chi ph. M hnh i tng di tr ( hoc di ng - migratory /mobile ) Trong c mt i tng c th chuyn t mt node n mt s khc. i tng di ng c s dng ci thin hiu sut thng qua cc cn bng ti, v t ng iu chnh ccng dng thay i mi trng. Nhng m hnh trn c th c kt hp, v d i tng phn mnh cng c th c ti to v.v 4.1.4. Li ch ca m hnh phn tn i tng Li ch ca cc m hnh phn tn ngy cng t ra hiu qu do cc ng dng ca n em li, c th : - Pht trin cc ng dng c tnh tru tng, tnh mm do cao. - Cho php ng gi cc vic thc hin i tng, c t trn bt k trang Web no, thc hin : truy cp vo a phng, qun l s kin, bo mt v.v - Cc ng dng c th c ti s dng qua ng gi i tng bng cc theo mu - C th ci tin d dng cc quy m qua sc mnh tin trnh phn ra bn ngoi h thng mng Server. 4.1.5.M hnh i tng phn tn Mt ng dng phn tn s dng cc i tng t xa thc hin mt tp cc tin trnh xc nh trn cc mode ca mt mng. Cc phng thc i tng thc hin thng qua tin trnh hoc cc thread v c th gm cc li gi n cc phng thc i tng khc.

Xt m hnh phn tn i tng phn tn (Hnh 4.1)

Bai giang tom tt H phn tan

Hnh 4.1 .M hnh gi i tng trong h thng Gm 3 bc - Vic gi i tng trong cng mt qu trnh (v d: A v B): y l mt local invocation. - Vic gi thc hin theo cc quy trnh khc nhau trn cng mt trang Web (D v E): y l mt out-of-process invocation . - Vic gi v i tng trn cc nodes khc nhau (v d C v D): y l mt invocation t xa. - ng dng ch c cc Local Invocations c thc thi khng phi l h thng i tng phn tn. Cc nh dng khng cc b ca invocation da vo mt i tng mi gii yu cu (ORB), hoc mt Middleware h tr cc i tng c phn tn giao tip vi nhau. (V d CORBA) Thut ng ny c gii thiu cho cc kin trc CORBA, nhng n c p dng cho i tng cng nh cc h thng khc. Mt ORB c cc chc nng sau : Xc nh v tm i tng. Kt buc cc Server phc v cc i tng. Thc hin cc phng thc triu gi trn i tng. Qun l cc i tng chu k cuc sng (to, kch hot, xa b cc i tng)

Remote Object Call: a First Outline


7 8

Bai giang tom tt H phn tan Mt ng dng s dng cc i tng t xa c t chc theo m hnh Client- Server: Client gi mt yu cu cho n Server thc hin cc phng thc ca nhng i tng.. Server cung cp cc dch v ca mnh nh mt tp hp cc cuc gi th tc t xa (RPC - Remote Procedure Call ) thng qua cc phng php triu gi ( invocation method) trn mt i tng t xa : Stub-Skeleton (Hnh 4.2). Ngc vi RPC, cc Stub v Skeleton c t chc ngay trn cc i tng

Hnh 4. 2. Thc hin cc cuc goi khng cc b (Performing non-local calls) 4.2.RPC 4.2.1. Midleware Middleware trong h thng phn tn l mt loi phn mm h thng phn tn kt ni cc loi ng dng khc nhau v cung cp phn tn minh bch cho cc ng dng ca n kt ni. N c s dng ni thnh phn khng ng nht xut hin trong cc h thng Da trn cc tiu chun quan trng hoc cc sn phm trn th trng, middleware c th c chia thnh nhiu loi: Socket, RPC, RMI, DCE, DCOM, CORBA v.v...

Midleware v m hnh OSI


8 8

Bai giang tom tt H phn tan

Hnh 4. 3. Quan h gia Midleware v m hnh OSI 4.2.2.Cc vn i vi Socket Socket l mt phng php thit lp kt ni truyn thng gia mt chng trnh yu cu dch v ( client) v mt chng trnh cung cp dch v (server) trn mng LAN, WAN hay Internet v i lc l gia nhng qu trnh ngay bn trong my tnh. Mi socket c th c xem nh mt im cui trong mt kt ni. Mt socket trn my yu cu dch v c a ch mng c cp sn gi mt socket trn my cung cp dch v. Mt khi socket c thit lp ph hp, hai my tnh c th trao i dch v v d liu. Socket thng c s dng l nh l giao tip trn tng 3 ca m hnh OSI

Bai giang tom tt H phn tan

Hnh 4.4.Socket m hnh OSI v b giao thc TCP/IP Cc hot ng trn Socket thng l Kt ni c/ghi d liu ng kt ni

Hot ng da trn giao thc TCP / IP, chng thng c s dng nh giao tip (interface) cho cc giao thc ca n, v d, TCP, UDP, IP, v ICMP Ty thuc vo cc giao thc m h ang interfacing, Socket phn thnh ba loi: - datagram - stream - raw sockets Nhng cc hot ng ny l bt buc i vi c ch lp trnh qua Sockets. iu ny s khng thun li khi cn kt ni nhiu my tnh vi nhau trao i d liu. Hin nay, c ch procedure call thng c s dng. C ch ny v c bn th trong h phn tn c thc hin nh trong h tp trung.

Bai giang tom tt H phn tan 4.2.3. RPC Khi nim Remote Procedure Call (RPC) ln u tin c Birrell & Nelson nu ra vo nm 1984. y l c ch cho php gi th tc trn my khc (Mechanism to call procedures on other machines) : Remote Procedure Call. Mc ch ca c ch ny xem phn mm h thng phn tn nh l mt tp hp ca cc thnh phn phn mm chy trn cc my tnh khc nhau, nhng kt ni bi mt mng li chung. Nh vy, c ch ny l lm xut hin cc li gi trong ngn ng lp trnh mt cch thng xuyn. Mi thnh phn phn mm l mt my ch cung cp dch v ca mnh thng qua mt tp hp cc cuc gi th tc, tng t nh cc cuc gi th tc trong mt phn mm thng thng. Khng ging nh mt cuc gi th tc truyn thng, din ra trong cng mt khng gian a ch, mt cuc gi th tc trong RPC ko di hai khng gian a ch khc nhau (v d nh khch hng v my ch) v c trung gian bi mt mng li chung. Vy, lm th no th tc cc cuc gi thng xuyn lm vic trong ngn ng lp trnh? Quy tc li gi th tc(Regular procedure calls) hot ng th c ch ny cn c: Tham s truyn (Parameter passing) Bin a phng (Local variables) D liu qu v (Return data) x = f(a, test, 5); Trnh bin dch phn tch v to ra m : a. y gi tr 5 vo stack b. y a ch ca chui "test" vo stack c. y gi tr hin ti ca mt vo stack d. Pht sinh ra mt cuc gi n hm f Bin son f, trnh bin dch to ra cc m: a. y ng k s c clobbered trn stack lu cc gi tr
1 9

Chng hn, khi chng ta vit:

Bai giang tom tt H phn tan b. iu chnh cc stack nhng ch cho cc bin a phng v tm thi c. Trc khi tr li, iu chnh stack, t cc d liu tr li trong ng k mt, v ban hnh mt lnh tr v Implementing RPC Khng h tr kin trc cho cc cuc gi th tc t xa M phng n vi cc cng c m chng ta c (cuc gi th tc a phng). Vic m phng lm cho RPC mt language-level construct thay v operating system construct Mc ch : To ra cc hm stub lm n xut hin n cc user m c gi t cc b Cc hm Stud cha giao tip ca chc nng 1. Client calls stub (params on stack) 2. Stub marshals params to net message 3. Network message sent to server 4. Receive message: send to stub 5. Unmarshal parameters, call server func 6. Return from server function 7. Marshal return value and send message 8. Transfer message over network 9. Receive message: direct to stub 10. Unmarshal return, return to client code Li ch RPC H tr th gi giao tip Vit cc ng dng c n gin ha + RPC n tt c cc m mng vo chc nng stub Lp trnh ng dng s khng phi lo lng v chi tit nh l : + Socket, cng, th t bytes + RPC hot ng lp th hin trong m hnh OSI
9

Cc chc nng ca Stub

Bai giang tom tt H phn tan Ng ngha cho RPC - Hu ht cc h thng RPC s cung cp mt trong hai: - Cung cp it nht mi ng ngha + hoc ti a mt ln ng ngha - S hiu bit i vi cac ng dung: + Chc nng idempotent: c th c chy bt k s ln m khng gy hi + Chc nng non-idempotent: Co th anh hng n ng dung Mt vn khc : Hiu nng cua RPC +RPC l kh chm Bo mt +n thng ip khi ra ngoi mng +Xc thc Client + Xc thc Server Ngn ng lp trnh cho RPC Hu ht cc ngn ng lp trnh (C, C + +, Java, ...) khng c khi nim v cc cuc gi th tc t xa Ngn ng trnh bin dch s khng to ra Stubs client v server Gii php: Procedure Call Cuc gi th tc ca mt my ch c th c thc hin cho khch hng theo hai cch. Cch 1: M rng mt ngn ng lp trnh hin c vi tt c cc k hiu cn thit m t cc th tc. - u im: tnh nng ngn ng lp trnh c th c th c s dng. - Nhc im: Cc m c qu gn cht vi mt ngn ng lp trnh c th, lm cho m khng cm tay. Mt v d v RPC thc hin ca phng php ny l Cedar RPC.

Bai giang tom tt H phn tan Cch 2: S dng mt ngn ng lp trnh chuyn dng c gi l ngn ng nh ngha giao din (IDL). Mt m t ca cc cuc gi th tc c vit bng ngn ng ny, m s c s dng pht trin s khai v b xng. Cn s khai l mt th tc pha my khch thng ch cc thng s ca cc cuc gi th tc v cc thng s unmarshal tr li ca h. - Xng l mt th tc pha my ch m unmarshalls thng s ca cc cuc gi th tc v Marshalls thng s tr li ca h. - Li th ca vic c IDL l n l c lp ca bt k ngn ng lp trnh c th. Hn ch duy nht l tnh nng ngn ng khng c chng trnh c th c th c s dng. Mt v d ca loi hnh ny thc hin RPC l ONC ph bin (Open Network Computing) RPC, c pht trin bi Sun Microsystems. S dng mt trnh bin dch ring bit pht sinh ra stubs (pre-compiler) Cho php lp trnh xc nh th tc giao din iu khin t xa (names, parameters, return values) Trnh bin dch h tr c th s dng to cc Stubs ca client v server : +M Marshaling +M Unmarshaling +Network transport routines +Ph hp vi giao din c nh ngha Tng t nh cc hm nguyn mu(function prototypes) Ngn ng nh ngha giao tip (Interface Definition Language IDL)

Data conv,

Bai giang tom tt H phn tan Qu trnh bin dch RPC


client code (main)

IDL

com
piler

RPC compile rr

client stud

com
header Data conv, Server skeleton

compile r

piler com piler

compile r

Clien t

Serve r

Code do ngi lp trinh Code do RPC pht sinh

Server function

Hnh 4.3. Qu trnh bin dch RPC Vit chng trnh M Client c sa i Khi to RPC lin quan n cc ty chn sau y : +Transport type +Locate server/service +Handle failure of remote procedure call Cc hm Server +Generally need little or no modification RPC API Nhng loi dch v no cn mt h thng RPC? - Hot ng t tn dch v (Name service) +Export/lookup binding thng tin (nh ports, machines) +H tr port ng - Hot ng rng buc (Binding)
5 9

Bai giang tom tt H phn tan +Thit lp thng tin lin lc khch hng / my ch bng cch s dng giao thc thch hp (thnh lp thit b u cui) - Hot ng u cui (Endpoint) +Lng nghe cc yu cu, xut thit b u cui cho tn my ch - Hot ng bo mt +Xc thc (Authenticate) client/server - Quc t ha(Internationalization) - Trao i (Marshaling/data conversion) - Qun l b nh +i ph vi d liu reference, b m tm thi (temporary buffers) Program ID +Cho php cc ng dng truy cp vo ID ca giao din RPC 4.3. TNG QUAN V H THNG RPC 4.3.1.Sun RPC - c SUN thit k dnh cho cc h iu hnhUnix, Linux, BSD, OS X + Sn phm c bit n rng ri trn th trng ONC RPC (Open Network Computing) - Giao din c nh ngha trong ngn ng nh ngha giao tip (Interface Definition Language -IDL) + IDL c bin dch bi rpcgen RPC IDL name.x program GETNAME { version GET_VERS { long GET_ID(string<50>) = 1; string GET_ADDR(long) = 2; } = 1; /* version */ } = 0x31223456;

Bai giang tom tt H phn tan rpcgen rpcgen name.x produces: name.h name_svc.c name_clnt.c [ name_xdr.c ] numbers - Client nhn pointer to result Cho php n xc nh li RPC (tr v gi tr null) Hot ng no s xy ra trn h thng ny ? Trn server Server stub to ra mt socket v binds bt k bin cng cc b n n. Gi hm trong th vin RPC: + svc_register ng k chng trnh program#, port # + Lin h portmapper (rpcbind SVR4) thc hin : Name server Keeps track of {program#,version#,protocol}port# bindings Sau Server lng nghe v ch i mt kt chp thun Client +Name of server +Program # +Version # +Protocol# clnt_create lin h n cng nh x (port mapper) trn Server nhn port m n nh ngha. early binding thc hin 1 ln, duy tr trong mi cuc gi.
7 9

header server stub (skeleton) client stub XDR conversion routines

Hm t tn (Function names) bt ngun t IDL function names v version

Client gi clnt_create vi:

Bai giang tom tt H phn tan 4.3.2.DCE RPC - DCE: Tp cc thnh phn c thit k bi The Open Group (sp nhp OSF v X / Open) cung cp h tr cho cc ng dng phn tn - Phn phi tn v h thng tp tin, dch v, thi gian, dch v th mc, ... - L s ci tin t Sun RPC - Hot ng tng t nh Suns RPC - Giao din vit bng mt ngn ng c gi l Interface Definition Notation (IDN) + nh ngha ging nh chc nng nguyn mu - Th vin Run-time + Chy 1 ln cho TCP/IP v 1 ln cho UDP/IP - H tr xc thc RPC vi cc dch v bo mt DCE - Tch hp vi dch v th mc DCE xc nh cc my ch Unique Ids - Sun RPC yu cu mt ngi lp trnh la chn s 32-bit - DCE: Thit lp yu cu duy nht ID vi uuidgen +To ra mu th nghim IDN tp tin vi 128-bit Universal Unique ID (UUID) +10-byte du thi gian multiplexed vi s phin bn 6-byte node nh danh (a ch ethernet trn h thng ethernet) IDN compiler - Bin dch tng t rpcgen: - To ra tiu (header), client v Server stubs Service lookup - Sun RPC i hi Client phi bit tn ca my ch - DCE cho php mt s my c t chc thnh mt thc th hnh chnh (administrative entity) cell (collection of machines, files, users) Cell directory server Mi my giao tip vi n vi dch v thng tin di ng (cell services information)

Bai giang tom tt H phn tan DCE service lookup

Hnh 4. 3. Giao tip Client vi Server qua cell dir server - Yu cu dch v tra cu t my ch th mc t bo (cell directory server) - Tr v my ch tn my

Hnh 4. 4.Kt qu tr v trn my ch Kt ni vi thit b u cui dch v mapper v nhn c cng rng buc t my ch ny tn cc b

Bai giang tom tt H phn tan

Hnh 4. 5. Thc hin th tc gi i tng t xa trn Server Kt ni vi dch v v yu cu thc hin th tc t xa Marshaling - Tiu chun nh dng cho d liu +NDR: Network Data Representation - Mc tiu: +Tn ngi gi c th s dng nh dng gc (native format) +Ngi nhn c th chuyn i Sun va DCE RPC +Nu my ch khng hot ng +Dch v khng th c truy cp +Qun tr vin chu trch nhim khi ng n +Nu mt dch v mi c thm +Khng c c ch cho mt khch hng khai thc ny dch v ny +Ngn ng hng i tng theo nh hng a hnh mong i (Object oriented languages expect polymorphism) Dch v c th hnh x mt cch khc nhau da trn cc kiu d liu c truyn cho n.
1

00

Bai giang tom tt H phn tan 4.3.3.Th h tip theo ca RPCs H tr cho cc ngn ng lp trnh hng i tng 4.3.3.1.Microsoft DCOM - Da trn k thut OLE/COM DCOM: Windows NT 4.0, 1996 0 M rng Thnh phn M hnh i tng (Component Object Model - COM) cho php cc i tng giao tip gia my Activation on server - Service Control Manager Dch v Control Manager (SCM, mt phn ca th vin COM) - Kt ni n my ch SCM. Yu cu to ra cc i tng trn my ch - Surrogate process chy trn cc thnh phn +Load cc thnh phn v chy chng - C th x l ng thi nhiu Client. Li ich cua DCOM - Truyn d liu v chc nng invocation - Object RPC (ORPC) - M rng ca giao thc DCE RPC - Tiu chun DCE RPC gi b sung thm (packets plus): + Giao din con tr nh danh (Interface pointer identifier - IPID) Marshaling - C ch Marshaling : NDR (Network Data Representation) ca DCE RPC + Mt kiu d liu mi: i din cho mt giao din marshaled MIDL - MIDL files l bin dch vi bin dch IDL compile - DCE IDL + i tng nh ngha (object definitions) - Pht sinh code C++ cho ng, m gi +Pha Client c gi l proxy +Pha Server c gi l stub
01 1

Xc nh giao din v i tng m cuc gi s c x l Referrals: c th truyn qua s tham chiu i tng t xa

+Cung cp phin bn v thng tin m rng

Bai giang tom tt H phn tan - C 2 i tng COM c th c load qua th vin COM nu cn. S ci tin Microsoft DCOM - Ph hp vi Microsoft COM - Chung loi my ch ng np cc i tng +Yu cu xp d cc i tng (giao dch vi client cht) +m tham chiu v pinging - H tr cho cc i tng tham chiu n i t xa - Nhng DCOM l mt gii php duy nht ca Microsoft - Khng hot ng tt trn Firewall 4.3.3.2.CORBA(Common Object Request Architecture) - Pht trin t nm 1989 - nh bi OMG (Object Management Group) - Mc ch : Cho php cc phn ring bit ca phn mm c vit bng cc ngn ng khc nhau v chy trn cc my tnh khc nhau lm vic vi nhau nh mt ng dng duy nht, hoc thit lp cc dch v. - CORBA l mt cng ngh h tr truy cp cc i tng t xa c pht trin trong nhiu ngn ng trn mt lot cc nn tng. - Ct li ca kin trc CORBA l ORB + cho php cc ng dng ca Client tm cc i tng v gi cc phng thc trn cc b ca chng hoc xuyn trn mng. + N x l qua cc yu cu, phn ng v cc trng hp ngoi l gia mt i tng Client v i tng Server + Khi cc ng dng ca Client s dng mt i tng, n khng cn phi bit v tr ca i tng, ngn ng lp trnh hoc loi nn tng

02

Bai giang tom tt H phn tan

Hnh 4.6. CORBA logical view

Hnh 4.7. Kin truc CORBA IDL (Interface Definition Language) - Xem nh ngn ng lp trnh trung gian dng chun ha cc ngn ng : C, C + +, Java, Ada, COBOL, Smalltalk, Objective C, LISP, Python. - Kiu d liu : + Kiu c bn : long, short, string, float,
03 1

Bai giang tom tt H phn tan + Kiu cu trc : struct, union, enum, sequence + Kiu i tng tham chiu + Cc kiu khc : Kiu gi tr ng - Bin dch n ngn ng ch - Pht sinh stub functions - V d IDL Module StudentObject { struct StudentInfo { string name; int id; float gpa; }; exception Unknown {}; interface Student { StudentInfo getinfo(in string name) raises(Unknown); void putinfo(in StudentInfo data); }; }; Chc nng ORB - Tra cu cc i tng trn my t xa - Marshal cc tham s - i ph vi cc vn an ninh - Xut bn d liu trn cc i tng cho ORB khc s dng - Gi phng thc trn cc i tng t xa - T ng khi to cc i tng khng chy - Giao tip vi cc ORB khc v.v... Cc i tng hot ng trn ORB - Client :
1

04

Bai giang tom tt H phn tan + Thc hin yu cu bng mt tham chiu i tng cho cc i tng v hot ng mong mun + khi to yu cu ca Client + gi stub c th n mt i tng hoc to yu cu ng (DII interface ) - Server(i tng implementation) + Cung cp cc ng ngha ca cc i tng + Xc nh d liu vi th hin, mcho cc phng thc Kh nng cng tc (Interoperability) - i vi Client : Ph hp vi cc thit b cm tay Xy dng cc hm API - i vi Server : Cn xy dng li chuyn t sn phm CORBA ca mt nh cung cp khc - 1996 : CORBA 2,0 thm kh nng tng tc nh mt mc tiu trong cc c im k thut + nh ngha giao thc mng c gi l IIOP Inter-ORB Protocol + IIOP lm vic qua bt k trin khai TCP / IP (c thm http://panuganty.tripod.com/articles/iiop.htm ) IIOP (Internet Inter-ORB Protocol) - IIOP l mt giao thc cp cao m dng h tr cc dch v lin kt vi cc mc khc nhau trn tng giao giao vn, bao gm: chuyn i d liu, qun l b nh m, qun l dead clock, qun l truyn thng. - IIOP l mt giao thc da trn i tng nhm tng cng cc loi ng dng, dch v hoc c s d liu c xy dng v giao tip trn Web - IIOP cung cp mt h thng ton din thng qua i tng c th yu cu cc dch v khc trn mng cng ty, internet hoc mng ni b. - IIOP c thc hin tr thnh tiu chun giao thc truyn thng trn Internet, thay th, hoc cng tn ti vi HTTP / CGI. - IIOP cung cp mt s li th nh trung lp kin trc tt hn, minh bch thng tin lin lc, kh nng m rng v s dng li m.
1

05

Bai giang tom tt H phn tan

4.3.3.3.Java RMI RMI l mt cng ngh ca cc h thng phn tn n cho php mt my o Java (JVM) gi nhng phng thc ca i tng nm trn my o Java khc trong cng mt mng. RMI l g ? RMI l mt cng ngh Java cho php mt JVM giao tip vi mt JVM khc v thi hnh cc phng thc ca i tng nm trn JVM
Java Virtual Machine Object Main (String args[])

Method Request

Java Virtual Machine RemoteObject Method1( ) Method2( )

Method Response

Hnh 4.8. Li triu gi t xa c thi hnh trn my o Java xa So snh gia RMI v RPC Java l mt ngn ng nn tng, d hiu, n cho php nhng ng dng Java giao tip vi nhng ng dng Java khc chy trn bt k mi trng phn cng no h tr mt JVM. S khc nhau ch yu gia RPC v RMI l RPC h tr nhiu ngn ng, trong khi RMI ch h tr nhng ng dng vit trn Java. RMI lm vic nh th no? Cc h thng s dng RMI cho vic truyn thng tiu biu c phn thnh 2 loi: Clients v Servers. Server cung cp dch v RMI, v Client gi cc phng thc do Server cung cp. RMI Server phi ng k mt dch v tm kim, cho php cc Client tm thy thng tin Server cung cp, hoc chng c th tham chiu ti dch v khc. Mt ng dng chy nn cho RMI c tn l rmiregistry. ng dng ny chy v x l c lp vi
06 1

Bai giang tom tt H phn tan cc chng trnh RMI, n cho php cc i tng trn Server ng k tn ca mnh. Mi ln mt i tng c ng k xong, n s i sau thc hin li gi t pha Client.

rmiregistry

RMI Server

RMI Server

RMI Server

Hnh 4.9. Nhiu dch v ng k vi mt b ng k Cc i tng trn Client s gi nhng thng ip ti nhng phng thc xa. Trc khi mt phng thc xa c thc thi Client phi c tham chiu ca n trn Server. iu c thc hin bi dch v tm kim trong b ng k RMI. i tng trn Client yu cu mt tn dch v, v s nhn c mt URL. Nn nh nhng URL khng phi cho HTTP, hu ht cc giao thc c th i din s dng c php ca URL. nh dng c s dng bi RMI i din cho mt i tng tham chiu t xa nh sau: rmi://hostname:port/servicename

RMI client application stub object somemethod()

request response

RMI server skeleton object somemethod()

Hnh 4.10. i tng stub gi i tng skeleton. Trong hostname tn ca ca Server hoc a ch IP ca Server, port s hiu cng cung cp dch v, servicename l mt chui m t dch v. Nhng thng tin chi tit ca hot ng mng th lun trong sut vi ngi pht trin ng dng khi lm vic vi cc i tng xa, vic tr nn n gin nh khi lm vic vi i tng ti my cc b. iu ny c thc hin nh mt php chia thng minh ca h thng RMI thnh hai thnh phn, mt l stub v mt l skeleton.
07 1

Bai giang tom tt H phn tan Ti RMI Server, i tng skeleton c nhim v lng nghe nhng yu cu v chuyn cc yu cu ti dch v RMI. Sau khi ngi pht trin to ra mt giao din RMI, ngi cn phi nh ngha c th giao din . i tng c nh ngha ny s c gi l i tng skeleton. Kin trc ca chng trnh RMI Kin trc ca mt chng trnh theo c ch RMI c m t nh hnh sau:

Hnh 4.11. Kin trc chng trnh kiu RMI Trong : + Server l chng trnh cung cp cc i tng c th c gi t xa. + Client l chng trnh c tham chiu n cc phng thc ca cc i tng xa trn Server. + Stub cha cc tham chiu n cc phng thc xa trn Server. + Skeleton n nhn cc tham chiu t Stub kch hot phng thc tng ng trn Server. + Remote Reference Layer l h thng truyn thng ca RMI. + Transport l tng giao vn c da trn giao thc TCP/IP gia cc my trong mng. Bng cch s dng kin trc phn tng nh trn m mi tng c th phn cp hoc thay th m khng nh hng ti cc tng cn li ca h thng.
08 1

Bai giang tom tt H phn tan Cc c ch lin quan trong mt ng dng RMI Trong mt ng dng phn tn cn c cc c ch sau: + C ch nh v i tng xa (Locate remote objects) + C ch giao tip vi cc i tng xa (Communicate with remote objects) + Ti cc lp danh bytecodes cho cc lp m n c chuyn ti qua li gia my o (Load class bytecodes for objects that are passed around)

Hnh 4.12. Vai tr ca dch v nh x tn Trong : + Server ng k tn cho i tng c th c gi t xa ca mnh vi dch v nh x tn (Registry Server). + Client tm i tng xa thng qua tn ng k trn Registry Server (looks up) v tip gi cc phng thc xa. + Hnh 3.5 cng cho thy cch thc m h thng RMI s dng mt WebServer sn c truyn ti m bytecodes ca cc lp qua li gia Client v Server. C ch thc thi ca mt ng dng RMI Tin trnh thc thi ca mt ng dng RMI din ra nh sau: Bc 1: Server to cc i tng cho php gi t xa cng vi Stub v Skeleton ca chng. Bc 2: Server s dng lp Naming ng k tn cho mt i tng t xa (1). Bc 3: Naming ng k Stub ca i tng t xa vi Registry Server (2). Bc 4: Registry Server sn sng cung cp tham chiu n i tng t xa khi c yu cu (3).

09

Bai giang tom tt H phn tan + Client yu cu Naming nh v i tng xa thng qua tn c ng k (phng thc lookup) vi dch v tn (4). + Naming ti Stub ca i tng xa t dch v tn m i tng ng k v Client (5). + Ci t i tng Stub v tr v tham chiu i tng xa cho Client (6). + Client thc thi mt li gi phng thc xa thng qua i tng Stub (7).

Hnh 4.13. Tin trnh thc thi ca ng dng RMI Cc lp, gi thng c s dng trong RMI Trong k thut triu gi t xa, mt h thng RMI s dng rt nhiu gi v lp ca Java nhng cc lp quan trng nht vn l: + java.rmi + java.rmi.activation + java.rmi.dgc + java.rmi.registry + java.rmi.server Trong cc gi trn th quan trng nht l gi java.rmi vi gi ny lp Naming ng vai tr cc k quan trng, tt c cc phng thc ca lp ny u l phng thc tnh. Lp
10 1

Bai giang tom tt H phn tan ny dng ng k hoc khi phc cc tham chiu i tng vi b ng k rmiregistry. Gi ny gm cc phng thc: + static void bind(String url, Remote Object). + static String[] list(String url. + static Remote lookup(String url). + static void rebind(String url, Remote Object). Th h th 3 pht sinh RPC - XML RPC - SOAP - .Web Service - Microsoft .NET Remoting - .Google Web APIs Developer Kit SOAP - .AJAX (Asynchronous JavaScript And XML)

BI TP CHNG IV
1. Cc i tng no sau y l naming a. Tn file, tn thit b b. Cc bin ca chng trnh c. Tn cc dch v mng d. Tt c u ng 2. Cc i tng trong m hnh phn tn c gi l a. n v phn tn b. node trn m hnh phn tn c. ti nguyn phn tn d. Tt c u ng 3. Mng Internet c gi l m hnh i tng . a. ti to b. phn mnh c. di tr d. Tt c u sai 4. ORB trong h thng phn tn c gi l .. a. i tng mi gii yu cu b. i tng ti to c. i tng t tr d. i tng di tr 5. ORB c cc chc nng no sau y: a. Qun l cc i tng (to, kch hot, xa b cc i tng) b. Xc nh v tm i tng, Kt buc Client, c. Thc hin cc phng thc triu gi trn i tng. d. Tt c ng 6. C ch RPC (Remote Procedure Call) c do Birrell & Nelson a ra vo nm
11 1

Bai giang tom tt H phn tan a. 1980 b. 1984 c. 1988 d.1990 7. RPC l g ? a. c ch triu gi trn cc my tnh b. c ch kt ni 2 my tnh trn mng c. c ch lin lc gia cc my tnh d. c ch trao i d liu gia cc my tnh 8. Pht biu no l ng a. Hu ht cc ngn ng lp trnh (C, C + +, Java,..) c khi nim v gi th tc t xa. b. Ngn ng trnh bin dch s to ra Stubs client v server c. Phi s dng mt trnh bin dch ring bit pht sinh ra stubs d. thc hin gi th tc t xa cn c c ch phn cng. 9. IDL l vit tt ca cm t a. International Definition Language b. Interface Definition Language c. Interface Define Language d. Tt c u sai 10. Nhng loi dch v no cn mt h thng RPC? a. Hot ng t tn dch v, hot ng rng buc, Hot ng u cui b. Hot ng bo mt, trao d liu c. Hot ng qun l b nh, vit chng trnh truy cp vo RPC d. Tt c u ng 11. H thng no sau y l RPC a. Sun RPC, DCE RPC, CORBA b. Microsoft DCOM, Microsoft.NET Remoting c. Java RMI, XML RPC, SOAP d. Tt c u ng

12

Bai giang tom tt H phn tan

CHNG V NG B HA NG H
MC TIU Gip sinh vin rm r cc vn lin quan n : - ng h vt l : Cc loi ng h vt l, sai lch vi ng h, thut ton Cristian, Berkeley - ng h logic : ng h logic v concurrency, thut ton Lamport, timestamps, vector ng h, quan h nhn qa 5.1.TI SAO PHI NG B HA M hnh a lung thc hin nhiu cng vic ng thi. Nhng bn cnh s hu dng , vic tn ti cng lc nhiu lung trong mi trng c th dn n s tranh chp, ngn cn hat ng ln nhau gia cc lung + B tc ( Dead Lock) + Cho kt qua sai lch Hu cac ng dung nh : thanh toan, iu khin t ng ( lp rap, phan ng hat nhn), truy xut database v.vng b hoa co vai tro quan trong trong x ly. ng b ha l g ? La qua trinh sp xp th t thi gian cc s kin qua vic sinh ra cac tin trnh ng thi Nhm muc ich +ng b gia vic gi v nhn cc thng ip +iu phi cc hot ng chung cho toan h thng +Sp xp th t truy cp ng thi cho cc i tng c chia s tai nguyn i vi h thng PC S dng phng php b tuyn tnh bng cch b sung thm hm b tuyn tnh (Linear compensating function ) vo system call ca h iu hnh i vi h thng cc b: S dng thut ton Berkeley ng b ha tt c ng h trn h thng cc b v gi tr trung bnh (Gusella & Zatti, 1989) hoc NTP.
13 1

Bai giang tom tt H phn tan i vi h thng phn tn - Mi trm c mt ng h cc b ca ring mnh Khng c ng h chung Khng th p dng cc thut ton ng b ha h thng cc b - Cc s kin xy ra trn cc trm trong h thng c th ng b hoc khng ? Lm th no no sp xp th t ca cc s kin trn h thng??? Cac dang ng h ng h vt ly (Physical Clock) + La ng h vt cht, co th nhn bit bng cac giac quan + Gi thi gian trong ngay va thng nht trn toan h thng ng h logic (Logical Clock) + Theo doi th t cua cac s kin + Xac inh cac s kin co quan h nhn qua 5.2. NG H VT L 5.2.1. ng b ha ng h l g? L mt dng ng h vt cht, dung : Sp xp th t thi gian ca cc s kin sn xut bng tin trnh ng thi ng b gia vic gi v nhn cc thng ip iu phi cc hot ng chung (Coordination of joint activity) Th t truy cp ng thi cho cc i tng c chia s tai nguyn Gi thi gian trong ngy v thng nht trn ton h thng 5.2.2.ng h vt l

a. ng h thch anh (Quartz clocks) 1880: c pht hin bi Anh em nh Pierre Curie cong 1929: ng h pha l (Quartz crystal clock) Resonator shaped like tuning fork
1

Nn mt tinh th thch anh & n to ra mt in trng p dng mt in trng m vt dn in l thch anh c un

14

Bai giang tom tt H phn tan S dng tia Laser to rung tn s32,768 Hz chnh xc 6 phn triu million seconds nhit 31 C ng h c th sai lch < sec/1 ngy n nh, chnh xc cao : n nh n 2 sec/1 thng Ting vang tt c th c chnh xc xp x 1 second trong 10 nm. Tn s thay i vi tui th, nhit , v vn tc

a.ng h Quartz b.ng h nguyn t(Atomic clocks)

b.ng h Crytal Quartz Hnh 5.1.(a,b) ng h Quartz

NIST (National Institute of Standards and Technology) a ra t nm 1960 Giy (second) c nh ngha l 9.192.631.770 thi k bc x tng ng vi s chuyn tip gia hai mc hyperfine ca cesium-133 chnh xc: tt hn 1 giy trong su triu nm

15

Bai giang tom tt H phn tan

a.Caesium atomic clock, 1955

b. H thng ng h nguyn t ti i quan st hi qun M

Hnh 5.2 (a,b) ng h nguyn t c. UTC UT0 C ngha l thi gian nng lng mt tri trn kinh tuyn Greenwich Thu c t quan st thin vn UT1 UT0 sa cha cho cc chuyn ng cc UT2 UT1 sa cha cho cc bin th theo ma trong t quay ca Tri t UTC thi gian dn s dng o trn mt thi gian quy m nguyn t Thi gian quc t Phi hp (Coordinated Universal Time) Gi trong vng 0,9 giy ca UT1 ng h nguyn t khng gi ng ngha v mt thi gian thi gian l mt bin php t quay ca Tri t

d.ng h vt l trong my tnh Real-time Clock: ng h CMOS (truy cp) mch iu khin bi mt dao ng thch anh S dng Pin d phng tip tc o thi gian khi tt in Chng trnh H iu hnh ni chung mt mch hn gi to ra mt ngt nh k e.g., 60, 100, 250, 1000 interrupts per second (Linux 2.6+ adjustable up to 1000 Hz) Programmable Interval Timer (PIT) Intel 8253, 8254
1

16

Bai giang tom tt H phn tan Gin on dch v th tc b sung thm 1 n mt truy cp vo b nh Hai h thng ban u iu chnh tho thun v thi gian nhng sau thi gian S khc nhau gia hai ng h ti mt thi im trong thi gian gi l hin tng

Cc vn xy ra vi ng h my tnh Hai ng h sai lch : Clock Drift Xt v d sau :

8:0:00 Ngy 18 thng 12 nm 2008 Hnh 5.3.a - 1 pht sau :

8:0:00

8:01:24

8:01:48 Hnh 5.3.b Hnh 5.3.(a,b). Hin tng Drift xy ra h my tnh

Vo ngy 23 thng 10 nm 2008 : ng h bn tri


17 1

ng h bn phi

Bai giang tom tt H phn tan Skew = +84 seconds +84 seconds/35 days Drift = +2.4 sec/day Skew = +108 seconds +108 seconds/35 days Drift = +3.1 sec/day

i ph vi Drift - iu chnh ng h dn dn tr v gi chun - Nu nhanh: Lm cho ng h chy chm hn cho n khi n ng b - Nu chm: Lm cho ng h chy nhanh hn cho n khi n ng b - C 2 cc thc hin + Cch th cng (iu chnh bng tay) : Khng thc t v hiu qu. + T ng : Thay i thi gian ca h thng theo thut ton b tuyn tnh. ng h hon ho (Perfect clock)

Hnh 5.4. th ca ng h hon ho L loi ng h my tnh m ti mi thi im thi gian lun lun khng i i vi ng h quc t (ngha l : dC/dt =1)) Drift vi ng h chm

18

Bai giang tom tt H phn tan

Hnh 5.5. Drift ca ng h chm Drift vi ng h nhanh

Hnh 5.6. Drift ca ng h nhanh i ph vi driftDealing with drift Gi s chng ta t my tnh n thi gian thc, khng tt tng t ng h tr li. iu chnh thi gian thay i dc ca h thng bng xy dng hm b tuyn tnh : (Linear compensating function) B sung vi ng h nhanh

19

Bai giang tom tt H phn tan

Hnh 5.7. S dng hm b tuyn tnh i vi ng h nhanh Ti ng b ha (Resynchronizing) Sau khi t c thi gian ng b ha Ti ng b nh k Resynchronize periodically ng dng k tip ca mt chc nng b tuyn tnh th hai c th mang li cho chng ta gn gi hn vi dc tht s. Theo di iu chnh v p dng lin tc. V d trong h iu hnh UNIX, ngi ta b sung thm hm adjtime system call, c sau 1ms s pht ra thng ip yu cu iu chnh li ng h my tnh. Thit lp thi gian chnh xc nh km nhn GPS n tng my tnh 1 msec of UTC nh km WWV radio nhn C c thi gian pht sng t Boulder hoc DC 3 msec ca UTC (ph thuc vo khong cch) nh km GOES nhn 0.1 msec ca UTC Khng thc hin gii php cho mi my - Chi ph, kch thc, thun tin, mi trng khc nhau. ng b ha t my khc - Mt vi mt ng h chnh xc hn
20 1

Bai giang tom tt H phn tan My / dch v cung cp thng tin thi gian: Thi gian my ch(Time server) RPC K thut ng b n gin nht Vn RPC c cha thi gian Thit lp thi gian

Xt m hnh trao i thng ip n gin ca h thng mng gia 2 my tnh Client v Server nh hnh v (hinh 5.7)

Thi gian s trn h thng l g ?

3:42:19

Client

Server

Hnh 5.8. M hnh trao i thng ip gia 2 my tnh trong mng 5.3.THUT TON CA CRISTIAN B p cho s chm tr (Compensate for delays) Ch v thi gian : + Thi im Client gi thng ip cho Server: T0 + Thi im Client nhn thng ip t Server v cho Client : T1 - Gi nh s chm tr mng l i xng ( Kin trc mng l nh nhau trong sut Server TServer qu trnh ) reply Client
21 1

T0

T1

Time (ms)

Bai giang tom tt H phn tan

request

Hnh 5.9 (a,b). M hnh biu quan h trao i thng ip gia Client v Server Clients t thi gian : Server TServer reply Client T0 T1-T0 2 : Thi gian c tnh theo mi hng T1 Hnh 5.9.a Time (ms)

Tnew = Tserver + (T1-T0 )/2 sai lnh bin (Error bounds ) Nu thi gian i qua ca thng ip ti thiu (Tmin) c bit : t gii hn v chnh xc ca kt qu : Server TServer reply Client T0 Tmin Thi gian sm nht thng ip n T1 Tmin Thi gian sm nht thng ip ri Time (ms)

Hnh 5.10. sai lch bin xut hin trn m hnh trao i thng ip Bin (range ) = T1-T0-2Tmin
1

22

Bai giang tom tt H phn tan

Tnh

chnh xc ca kt qu =

V d Gi yu cu lc 5:08:15.100 (T0) Nhn c phn hi ti 5:08:15.900 (T1) Phn hi c lc 5:09:25.300 (Tserver) Thi gian qua l Elapsed time is T1 -T0 5:08:15.900 - 5:08:15.100 = 800 msec D on tt nht: du thi gian c to 400 msec ago Thit lp thi gian Tserver+ thi gian tri qua (elapsed time) 5:09:25.300 + 400 = 5:09.25.700 Nu trng hp thi gian thng ip sm nht=200 msec

Server
Request

Tconver

T0 = 5:08:15.100 T1 = 5:08:15.900 Ts = 5:09:25:300 Tmin = 200msec

Replay

Client To T1 Time

Error = (900-100)/2 200 = 800/2-200 = 200 5.4.THUT TON BERKELEY Do Gusella & Zatti xut 1989 Gi s my khng c thi gian chnh xc ngun t trung bnh t cc my tnh tham gia ng b tt c cc ng h n trung bnh
1

23

Bai giang tom tt H phn tan My chy thi gian kim cng (time dmon) Qu trnh thc hin giao thc Mt l my c chn nh l my ch (master) - Nhng my khc l slaves Master phiu thm d mi my theo nh k Yu cu mi my cho thi gian C th s dng thut ton Cristian b cho tr mng Khi kt qu l tn ti, tnh trung bnh Bao gm c thi gian ca master Hy vng: trung bnh hy b ra xu hng c nhn ca ng h chy nhanh hay chm Gi b p m cc ng h cn iu chnh n mi slave Trnh cc vn vi s chm tr mng, nu chng ta gi mt con tem thi gian (time stamp) Thut ton quy nh cho b qua bi c t ng h m skew l qu ln +Tnh ton li chu trung bnh (fault-tolerant average) +Nu master li + Bt k slave c th take over V d v Berkeley Algorithm 3:00 3:25 2:50 3:25 2:50 Hnh 5.11.a 1.Yu cu timestamps t tt c Slaves 3:00 3:25
24 1

9:10

9:10

9:10

Bai giang tom tt H phn tan

2:50 3:25 2:50 Hnh 5.11.b 2. Tnh ton li chu trung bnh (fault-tolerant average) (3:25+2:50+3:0)/3 = 3:05 +0:15 3:00 -0:20 +0:150 3:25 2:50 9:10 -6:05 9:10

Hnh 5.11.c Hnh 5.11(a,b,c). V d v thut ton Beckerley 3. Gi b p (offset) n mi client 5.4.NETWORK TIME PROTOCOL (NTP) 1991, 1992 - Internet tiu chun, phin bn 3: RFC 1305, ra i p ng cc yu cu trn. Mc tiu NTP - Kch hot khch hng qua Internet c chnh xc ng b theo UTC bt chp s chm tr thng ip +S dng k thut thng k lc d liu v o cht lng ca cc kt qu - Cung cp dch v ng tin cy + Tn ti l di kt ni + D phng ng i (Redundant paths) + D phng my ch (Redundant servers) - Kch hot khch hng thng xuyn ng b ha tn s +B p tc ng ca ng h drift
25 1

Bai giang tom tt H phn tan - Cung cp bo v chng nhiu +Xc nhn ngun gc ca d liu NTP servers.

2 3

4 Hnh 5.12. M hnh NTP Server Cach b tr tng - Tng th 1st :cc my c kt ni trc tip vi thi gian chnh xc ngun - Tng th 2nd : cc my ng b t my 1 tng lp ng b hoa vi SUBNET M hnh ng b ha vi NTP c s dung : +cho mng LAN tc cao + chnh xc thp nhng hiu qu 5.5. NG H LOGIC ng h hp l l mt c ch nm bt mi quan h thi gian v quan h nhn qu trong mt h thng phn phi. Cc thut ton ng h hp l cn lu l: Lamport timestamps, n iu tng quy phn mm. Vector ng h, cho php sp xp mt phn ca cc s kin trong mt h thng phn phi. Vector clocks bn sao th t, theo thng tin cp nht, trong mt h thng nhn rng lc quan.
26 1

Bai giang tom tt H phn tan - Ma trn ng h, mt phn m rng ca ng h vector cng c cha thng tin v quan im ca nhng tin trnh khc ca h thng. - Trong h thng phn tn : +Mi trm c mt ng h cc b ca ring mnh Khng c ng h chung Khng th p dng cc thut ton ng b ha h thng cc b +Cc s kin xy ra trn cc trm trong h thng c th ng b hoc khng . Lm th no sp xp th t ca cc s kin trn h thng? 5.5.1.M hnh gi nh - Xt m hnh gm cc h thng Pi (i=1,2.) a,b,c,d,..: Cc s kin xut hin trn Pi Gi s : +Mi h thng duy tr ng h ring ca chnh mnh Khng c ngun thi gian trung tm +Khng c ch th ca cc s kin Khng c khi nim happened-when Cc h thng i khi giao tip hoc khng Lm th no sp xp th t ca a,b,c,d ? Happened-before Lamport gi happened-before nh sau: Nu s kin a xy ra trc s kin b khi v ch khi a : thng ip c gi i, b: thng ip nhn. K hiu : a b -Tnh bc cu (Transitive): nu a b v b c th a c
Lamport, February 7, 1941

Nu a v b xy ra trn cc tin trnh khc nhau m khng trao i thng ip, v sau khng phi a b hoc khng b a l ng. Nhng s kin ny c gi l ng qui (concurrency V d v vic m s kin
27 1

Bai giang tom tt H phn tan Cho h thng gm 3 trm lm vic : P0, P1, P2 Cc s kin :a, b, c xy ra trn cc h thng nh hnh ( ) S lt s kin truy cp cc b (a phng) trn mi h thng Cc h thng i khi giao tip vi nhau hoc khng 5.5.2.Thut ton Lamport

Hnh 5.13 Cc s kin ng quy : (a,j), (a,g), (g,j), (h,f), (i,k) ...

Thut ton Lamport

Hnh 5.14 - Mi thng ip mang mt du thi gian (timestamp ) ca ng h gi - Khi mt thng ip c gi n : + nu ng h nhn < timestamp ca thng ip thit lp li ng h h thng bng cch tng timestamp ca ng h h thng (timestamp + 1)
1

28

Bai giang tom tt H phn tan + Ngc li gi nguyn - ng h phai c iu chinh gia 2 s kin bt ky trong cung tin trinh Thut ton cho php chng ta sp xp th t thi gian trong s cc s kin lin quan Th t tng phn (Partial ordering )

Hnh 5.15 ab, bc, : trnh t cc s kin ti a phng I(a,g,j),II(h,f),III(i,k) : Cc thnh phn ng qui Unique timestamps (total ordering) Chng ta c th p t mi du thi gian tr nn duy nht. Xc nh du thi gian logic ton cc (Ti, i) +Ti i din cho du thi gian Lamport a phng + i i din cho s lng tin trnh

Hnh 5.14 So snh timestamps: (Ti, i) < (Tj, j) Nu v ch nu : Ti < Tj (i, j khc h thng ) hoc Ti = Tj v i < j (i,j cng 1 h thng )
29 1

Bai giang tom tt H phn tan Pht hin mi quan h nhn qu (Detecting causal relations) Nu L(e) < L(e) (L(e) : ng h Lamport ca s kin e) - Nu L(e) < L(e) ( L : du thi gian Lamport ) Khng th kt lun rng ee Khng th kt lun l s kin c quan h nhn qu Gii php: s dng mt ng h vector ng h vector H thng ng h vector c Fidge, Mattern v Schmuck xut. Quy tc: 1.Vector khi V to c gi tr 0 ti mi tin trnh/tram Vi [j] = 0 vi i, j =1, , n 2.Tng tin trinh cua phn t ca vector vector a phng trc khi c s kin timestamping Vi [i] = Vi [i] +1 i [i] i [i] 3.Thng ip c gi t tin trinh Pi vi Vi thi c gn lin vi n. 4. Khi Pj nhn c thng ip t h thng khac thi tin hanh so snh vect thnh phn bi thnh phn tng ng v thit lp vc t a phng theo: Vj [i] = max(Vi [i], Vj [i]) for i=1, , n So snh cc vector thi gian nh ngha V = V nu V [i ] = V[i ] for i = 1 N V V nu V [i ] V[i ] for i = 1 N Cho 2 s kin bt k e, e Nu e e th V(e) < V(e) Cng ging nh thut ton ca Lamport Nu V(e) < V(e) th e e Hai s kin ng qui nu (H1||H2 ) khng V(e) V(e) hoc khng V(e) V(e) Xet vi du sau :

30

Bai giang tom tt H phn tan

31

Bai giang tom tt H phn tan

32

Bai giang tom tt H phn tan

33

Bai giang tom tt H phn tan

34

Bai giang tom tt H phn tan

Vic xc lp trt t nhn qu ca hai s kin e1 v e2 bt k c thc hin da trn nhng quy lut sau y: Quy tc 1: Nu hai s kin e1, e2 xy ra trn cng mt trm Si (i l s th t ca trm trong h), khi e1e2 khi v ch khi Hi(e1)<Hi(e2). Quy tc 2: Nu e1 l s kin gi i mt thng ip m trn mt trm, v e2 l s kin nhn c chnh thng ip th e1e2. Quy tc 3: Nu hai s kin e1, e2 xy ra trn hai trm Si, Sj bt k trong h (i, j l s th t ca trm) th ta c e1e2 tng ng Hi(e1)<Hj(e2). Quy tc 4 :Nu hai s kin e1, e2 ta c e1||e2 tng ng H(e1)||H(e2). Nu a->b th s kin a c th nh hng n s kin b ng b ha ng dng trn cc h thng phn tn 1. Ci t cc file trn mi h thng lu tr ng h vector Hi (i =1..n), Hi c gi l ng h cc b ca trm Si(i l s th t ca trm trong h, i =1..n, n s trm trong h) 2.Cp nht ng h logic ( cp nht v ti to bn sao ) 3.So snh 2 vector Hi v Hj 4.Xc lp quan h nhn qu ca 2 s kin

35

Bai giang tom tt H phn tan

Hnh 5. Vector ng h l mt c ch c ng dng cc h phn tn to bc t ph trong t nn tng gii quyt cc bi ton c phc tp cao trong mi trng tai nguyn han ch hoc phai chia se 1999: Torres-Rojas v Ahamad, a ra Plausible Clock mt c ch m mt khng gian t hn Vector ng h 2008 : Almeida gii thiu ng h Tree Interval. (http://gsd.di.uminho.pt/members/cbm/ps/itc2008.pdf)

BI TP CHNG V
1. UTC l g ? a. Union Time Clock b. Universal Time Clock c. Universal Time Coordinator d. Unit Time Clock 2. ng h ly tng c a. dC/dt(UTC) <1 b. dC/dt(UTC) =1

c. dC/dt(UTC) >1

d. Tt c u sai

36

Bai giang tom tt H phn tan

CHNG V GII THUT LOI TR TNG H & BU C


MC TIU Gip sinh vin rm r cc vn : - Loi tr ln nhau phn tn : Gii thut tp trung, Token Ring, Ricart & Agrawala, Loi tr tng h ca Lamport. - Bu c : Gii thut Bully, Ring, cc vn xy ra vi bu c. 6.1.GII THIU 6.1.1.ng b ha tin trnh (Process Synchronization) L k thut cho php cc tin trnh phi hp thc hin 1 cch ng b, hoc + Ch nhau thc hin + Chia s ti nguyn c th yu cu truy cp c quyn trn vng gng (Critical Section - CS) Trong h thng mt processor, cc vng gng c bo v bng cch s dng semaphores( theo di, gim st v.v) 6.1.2.Cc h thng tp trung x ly nhiu tin trnh thng s dng nhiu vng gng. Khi mt qu trnh c th c hoc cp nht cha cu trc d liu, u tin i vo mt vng gng loi tr ln nhau v m bo rng khng c qu trnh khc s s dng cu trc d liu c chia s cng mt luc - Loi tr ln nhau thng qua : +Kim tra v thit lp trong phn cng +Semaphores +Messages +Condition variables - Thut ton loi tr tng h phi i ph vi s chm tr thng ip v thiu hoc khng on trc thng tin v trng thi ca h thng. Ba cch tip cn c bn loi tr ln nhau phn phi: 1. Phng php tip cn da trn Token
37 1

Bai giang tom tt H phn tan 2. Phng php tip cn da trn Token 3. Phng php tip cn da trn Quorum Phng php tip cn da trn Token - Mt th duy nht c chia s gia cc site. - Mt site c php vo CS ca n nu n s hu token. - Loi tr ln nhau c m bo bi tokent l duy nht. - Cc thut ton tiu biu : Token Ring, Ricart-Agrawala Second Phng php tip cn khng da trn Token - S dng hai hoc nhiu vng lin tip cc thng ip c trao i gia cc site xc nh site s nhp vo CS tip theo. - Cc thut ton tiu biu: Central Coordinator, Ricart- Agrawala. Phng php tip cn da trn Quorum - Mi site yu cu s cho php thc hin CS t mt tp hp con ca cc site (c gi l mt s i biu cn thit). - Bt k hai nhm tc s c cha mt trang web ph bin. - Site ph bin l trch nhim m bo rng ch c mt yu cu c thc hin bt c lc no. 6.2.THUT TON LOI TR TNG H 6.2.1.Nguyn tc chung - Bt chc h thng x l n - Mt tin trnh c bu chn lm iu phi vin (coordinator - C) 1. yu cu ti nguyn 2. Ch phn ng 3. Chp nhn cp pht 4. Truy cp ti nguyn 5. Gii phng ti nguyn Thut ton Central Coordinator - Mt tin trnh c bu chn lm iu phi vin (coordinator) - iu phi vin trung tm cp quyn nhp vo CS.
1

38

Bai giang tom tt H phn tan + nhp CS, tin trnh gi mt tin nhn yu cu vi iu phi vin v sau ch i tr li (trong thi gian ch i qu trnh c th tip tc vi cc cng vic khc). +Tr li t iu phi vin cho quyn vo CS. +Sau khi hon thnh cng vic trong CS, tin trnh thng bo cho iu phi vin.

3.1.a - Nu mt qu trnh tuyn b ti nguyn: +iu phi khng tr li cho n khi pht hnh +Duy tr hng i +Dch v yu cu trong FIFO sp xp th t x l

3.1.b. Hinh 3.1.a,b. S hoat ng giai thut Central Coordinator - Li ch +Mi tin trnh u sp xp theo th t +D thc hin, hiu, minh bch - Kh khn
39 1

Bai giang tom tt H phn tan +Qu trnh khng th phn bit b chn t mt iu phi vin cht +Tp trung qu nhiu tin trnh my ch tht c chai ( bottleneck) 6.2.2.Thut ton Token Ring - n gin nht gii quyt loi tr ln nhau : +Sp xp n tin trnh P1, P2, .... Pn trong mt vng logic - Nu mt qu trnh tuyn b ti nguyn: +iu phi khng tr li cho n khi pht hnh +Vng trn logic c to ra bng cch cho mi tin trnh a ch ca mt tin trnh khc l lng ging ca mnh theo hng chiu kim ng h. +Vng trn logic khng lin quan n cc mi lin kt vt l gia cc my tnh +Cc tin trnh giao tip vi node lng ging trong cng 1 nhm

Hinh 3.2. S hoat ng giai thut Token Ring Thut ton - Token c khi to cho 1 tin trinh no . - Token c truyn t 1 tin trnh n tin trnh lng ging ca n quanh vng trn - Khi 1 tin trnh yu cu ng nhp vo CS, n s i cho n khi n nhn 1 token t tin trnh lng ging bn tri ca n v sau n gi li n, sau khi ly token n nhp vo . - CS, sau khi n ri khi CS, n tr li token cho tin trnh hng xm ca mnh theo ngc chiu kim ng h.
1

40

Bai giang tom tt H phn tan - Khi qu trnh nhn c token nhng khng yu cu nhp vo CS, ngay lp tc n chuyn token dc vng trn. - u im +m bo loi tr tng h +Xc nh c th t ca cc tin trnh +Hin tng i - Starvation ti nguyn nguyn xy ra - Cc vn xy ra +Nu b mt th (qu trnh cht) h thng c kh nng ri vo tnh trng b tc +Khng m bo trt t theo FIFO +Xy ra : tin trnh khc thc hin khng mong mun 6.2.3.Thut ton Ricart & Agrawala - Trong mi trng phn tn, thut ton ny s dng multicast va ng h logic (khng s dng iu phi vin trung tm). - Gi nh cc knh truyn thng thc hin theo quy tc FIFO. - S dng hai loi thng ip: REQUEST v REPLY; - Tin trinh yu cu ng nhp vo CS phi : +Son thng ip c cha: Identifier (machine ID, process ID) Tn ti nguyn Nhan/du thi gian Lamport (du thi gian hon ton phn Lamport) - Gi thng bo yu cu n tt c cc tin trnh khc cnh tranh vi cng mt ti nguyn. - N c cho php nhp vo CS khi tt c cc tin trnh tr li tin nhn ny cho php - Truy cp vo gng, s dng ti nguyn - Khi cc tin trnh nhn yu cu: +Nu tin trnh nhn khng quan tm: gi OK n tin trnh gi +Nu tin trnh ang trong CS : Khng tr li v add yu cu vo hng i +Nu tin trnh va nhn/ gi thng ip : So snh nhn thi gian Sm nht s chin thng
1

41

Bai giang tom tt H phn tan Nu tin trnh nhn thua cuc : gi OK Nu tin trnh nhn thng cuc, khng tr li v add vo hng i - Khi tin trnh thc hin xong trn CS +Gi OK n tt c cc tin trnh trn hng i

Hinh 3.3. S hoat ng giai thut Ricart & Agrawala - Vn xay ra: +Thut ton l tn km v lu lng truy cp tin nhn, n i hi 2(n-1) tin nhn cho vo mt CS: (n-1) yu cu v (n-1) tr li. +S tht bi ca bt k tin trnh tham gia ngn chn hot ng tin trnh khc nu khng c bin php phc hi c bit c thc hin. 6.2.4.Thut ton Lamport - Mi tin trnh duy tr yu cu hng i +C yu cu loi tr ln nhau - Yu cu critical section: +Tin trnh Pi gi request(i, Ti) n tt cc cc node +Yu cu v tr trn hng i ring ca n +Khi 1 tin trnh Pj nhn mt yu cu, n tr v mt nhn thi gian ack ng nhp vo CS: - Pi nhn c mt tin nhn (ack hoc release) t mi tin trnh khc vi mt du thi gian ln hn Ti - Yu cu ca Pi c du thi gian sm nht trong hng i ca n - S khc bit vi Ricart-Agrawala:
42 1

Bai giang tom tt H phn tan + Mi tin trnh u p ng tr li. + Tin trnh quyt nh da trn xem yu cu ca n l sm nht trong hng i ca n. Releasing critical section: - Hy b yu cu t hng i ca chnh n - Gi 1 nhn thi gian thng ip release - Khi mt tin trnh nhn c mt thng ip release + Loi b yu cu cho tin trnh t hng i ca n iu ny c th gy ra cho n c du thi gian sm nht trong hng i cho php n truy cp vo CS. 6.2.5. Thut ton Ricart-Agrawala Second - y l thut ton ci tin ca Ricart-Agrawala u tin, nhng s dng token, nhm: +Gim lu lng thng ip trao i. +Khc phc trng hp khi c tin trnh cht lm ngn chn hot ng ca tin trnh khc. 6.3..THUT TOAN BU C - Nhiu thut ton c s dng trong cc h thng phn tn yu cu mt iu phi vin. V d, cc thut ton loi tr tng h trong thut toan Central Coordinator. - Thut ton bu c c thit k la nhm chn mt iu phi vin. - Tt c tin trnh phc v c th xem nh iu phi vin. - Bt k tin trnh c th gi mt cuc bu c (bt u thut ton la chn mt iu phi vin mi) +Khng c tc hi (khng m rng thm lu lng) trong nhiu cuc bu c ng thi - Bu c c th cn thit khi h thng c khi to, hoc nu iu phi vin b treo hoc cht. Cc gi nh - Mi tin trnh/Site c 1 ID duy nht (a ch mng, s hiu tin trnh) - Tt c cc tin trnh trong h thng phi bit cc gi tr trong tp hp cc ID - Tin trnh vi s ID cao nht s l iu phi vin mi. - Cc tin trnh khng nhn thc c trng thi ang chy /li ca tin trnh khc
43 1

Bai giang tom tt H phn tan - Cc nhm tin trnh (nh vi b IS toolkit hoc MPI) p ng cc yu cu ny. Cc yu cu - Khi thut ton bu c chm dt mt tin trnh n c la chn v mi tin trnh u bit. - mi tin trnh Pi ny c tham s ei gi s tin trnh ca iu phi vin + i, ei = khng xc nh hoc ei = P, trong P l tin trnh khng b ri vi id cao nht. + Tt c cc tin trnh thit lp ei = P, hoc qu trnh khc b li hoc cht Thut ton Bully - Tin trnh P gi thng ip election n tt c tin trnh vi ID cao hn nu pht hin iu phi vin b li hoc cht - Tin trnh c s hiu cao "k bt nt -bully, loi tin trnh c s hiu thp khi cuc bu c, cho n khi ch c mt tin trnh vn cn duy tr . - Khi mt tin trnh khi ng li, n kch hot mt cuc bu c. Nu n c s hiu cao nht, n s ginh chin thng.

Hinh 3.4. a. Tin trnh P s gi mt tin nhn bu c cho tt c cc tin trnh s hiu cao hn trong h thng. Nu tin trnh khng phn hi, P s tr thnh iu phi vin. Nu mt tin trnh s hiu cao hn (Q) phn ng, n s gi P tin nhn : chm dt vai tr ca P ca trong thut ton.

44

Bai giang tom tt H phn tan

Hinh 3.4.b Hinh 3.4. a.b. S hoat ng giai thut Bully Phn tch - Trng hp tt nht : Tin trnh vi nh danh cao th hai thng bo s tht bi ca iu phi vin. N ngay lp tc c th chn chnh n v sau gi n-2 thng ip iu phi vin. - Trng hp xu nht: Tin trnh nhn bit c nh danh thp nht bt u cuc bu c, n s gi : n-1 tin nhn bu c n cc tin trnh m bn thn chng bt u n mi ngi trong mt cuc bu c : O (n2) tin nhn. Thut ton Ring - Thut ton ny gi nh rng cc tin trnh c sp xp trong mt vng logic v mi tin trnh c bit th t ca cc tin trnh trn vng - Qu trnh ny c th dng li " h thng b li: thay v gi n tin trnh j, gi cho k + 1. - H thng b li l khng c phn hi trong mt khong thi gian c nh. P ngh rng iu phi vin b cht, xy dng mt thng ip bu c, trong c s ID ring ca mnh. Gi n tin trnh sng u tin Mi qu trnh thm s hiu ring ca n v chuyn tip theo.
45 1

Bai giang tom tt H phn tan C th hai cuc bu c cng mt lc.

Hinh 3.5. a. - Khi tin nhn tr v P (kim tra trn danh sch), n thy qu trnh ID ring ca mnh trong danh sch v bit rng vng trn l hon tt. - P lu thng ip Coordinator vi s hiu mi cao nht - y 2 v 5 bu 6. [5,6,0,1,2,3,4] [2,3,4,5,6,0,1]

Hinh 3.5. b. Hinh 3.5. a.b. S hoat ng giai thut Ring Trong mi trng phn tn khng c bin chia s (Semaphores) v kernel a phng s dng thc hin loi tr tng h. C hai phng php : Da vo token v khng da vo token
46 1

Bai giang tom tt H phn tan Thut ton Central Coordinator da trn bin iu phi vin sn c ca mt qu trnh m x l tt c cc yu cu v cung cp c quyn truy cp ti nguyn. - Thut ton Ricart-Agrawala c da trn tha thun phn tn hon ton loi tr ln nhau. Mt yu cu multicast cho tt c cc qu trnh cnh tranh vi mt ngun ti nguyn v truy cp c cung cp khi tt c cc tin trnh tr li yu cu. Thut ton l tn km v lu lng truy cp tin nhn, v tht bi bt k tin trinh no cung ngn chn s hot ng ca tin trnh. - Thut ton Ricart-Agrawala Second l da trn token. Yu cu c gi cho tt c cc qu trnh cnh tranh vi mt ti nguyn nhng tr li ch d kin t trnh trnh nm gi token. S phc tp v lu lng tin nhn c gim so vi cc thut ton u tin. S tht bi ca mt qu trnh (ngoi tr mt tin trnh gi token) khng ngn cn s hot ng ca tin trnh - Thut ton Token Ring rt n gin gii quyt loi tr ln nhau. c yu cu rng cc quy trnh c sp xp mt trn vng trn o. Cc token l vnh vin thng qua t mt tin trnh khc v tin trnh hin ang nm gi token c c quyn i vi cc ngun ti nguyn. Thut ton ny hiu qu trong cc tnh hung nng n v ti. - i vi cc ng dng phn tn bu c l cn thit chn mt iu phi vin c tha thun trong s tt c cc tin trnh. - Thut ton Bully i hi cc tin trnh bit chnh xc ca tt c cc tin trnh khc, tin trnh vi nh danh cao nht, trong s nhng tin trnh l c chn. Tin trnh c php tht bi trong qu trnh bu c. - Thut ton Ring-based i hi tin trnh ny c b tr trong mt vng logic vi nh danh cao nht c chn. V tnh trung bnh, cc thut ton da trn Ring l hiu qu hn sau cc thut ton Bully.

47

Bai giang tom tt H phn tan

CHNG VII PHT TRIN NG DNG PHN TN


MC TIU Gip sinh vin rm r cc vn : - Ngn ng lp trnh phn tn - Cc m hnh thit k phn tn - Thit k cc ng dng phn tn - Cc nh hng v h thng phn tn tng lai 7.1.M U H phn tn c thit k vo nhng nm 70, lc u ch vi mt vi h thng th nghim n gin. K t tin b ln c thc hin trong lnh vc ny. V d : Theo cng trinh nghin cu cua Hollman.D Internet and Web use in the US 1997, trong c tnh 28.8 triu ngi M, 16 tui tr ln truy cp vo Internet, s dng 16,4 triu Internet, 15,1 triu s dng Web, trong o co khoang 11.5 triu s dng web mua hng cc mt hng. Ngy nay, Internet t n hng triu ngi trong gn mt trm quc gia trn tt c cc chu lc trn th gii tham gia. Cac ng dng thc t chy trn c hai h thng tp trung v mng Internet. Vic chuyn sang nn tng khc nhau oi hoi cung cp bi mt h thng phn tn l khng th trnh khi. H phn tan c a ra cho mc ch ny. Chng bao gm minh bch v tr cc ngun lc, kh nng m rng v ty bin ca cc nn tng h thng, kh nng chu li v chia s cc ngun lc v ph hp vi vic pht trin cho cc ng dng phn tn. Cc yu cu i vi cc ng dng phn tn Nh vy, nhiu d n ln ca cc nc trn th gii v ang c trin khai 1 cch mnh m. Cc bi ton c phc tp cao m tng chng khng th gii quyt c (Chng hn : tm kim, thng k, gii m v.v... ) nhng gi y tr thnh hin thc. Yu cu xy dng 1 ng dng phn tn i hi nhiu yu t khc nhau, v kh phc tp. Tuy nhin, vi cc v c bn thit k v trin khai mt ng dng phn tn cn thc hin la chn :
48 1

Bai giang tom tt H phn tan - M hnh pht trin - Ngn ng lp trnh - C s d liu - K thut pht trin - Qun l b nh - Bo mt v.v... 7.2.NGN NG LP TRNH PHN TN Hin ti cc ngn ng lp trnh c in chng hn nh Fortran, Pascal, v C, l khng thch hp cho cc h thng phn tn. Nhng loi ngn ng ny khng ch cc vn nh concurrency, truyn thng, ng b ha, v tin cy. Hin c ba vn c bn m phn bit c chng trnh phn tn t chng trnh tun t (sequential program) a. S dng ch bin nhiu yu t (PES) Lp trinh song song (PARALLELISM.) Parallelism c th c by t trong mt vi cch khc nhau. Mt yu t quan trng l n v parallelism. Cc n v parallelism c th l: 1. Mt quy trnh. 2. Mt i tng (trong lp trnh hng i tng). 3. Mt tuyn b . 4. Mt nguyn nhn (trong logic lp trnh). Statement type Control type

Sequential control begin S1 , S2 end

Parallel control parbegin S1, S2 parend fork/join guarded commands: G'C

Sequential/parallel statement

Alternative Statement

goto, case if C then S1 else S2 for ... do


49 1

Repetitive

doall, for all

Bai giang tom tt H phn tan statement

Subprogram

procedure subroutine

procedure subroutine

b.Hp tc gia cc PES

Th hin bng ngn ng lp trnh Cc u vo l mt qu trnh lp i lp li lnh: u vo:: = * [c gi vo squash] Cc kt qu l mt qu trnh lp i lp li lnh: sn lng:: = * [c nhn c t squash]

50

Bai giang tom tt H phn tan Khi nhn c mt lnh c s dng nh l mt bo v trong mt lnh lp i lp li, vic thc hin ca mt tng ng bo v c tr hon cho n khi gi lnh tng ng c thi hnh. Mt lnh nhn c vi mt lnh trong mt trong cc bo v ca n ch chm dt khi chm dt gi tng ng.

V d : Chng ti c th c cc gii php sau y recursive tnh f (n) = f (n - 1) N2, cho n> 1 v f (1) = 1.

olution . Cc gii php n(f) l thc hin song song ca n +1 tt c cc quy trnh :

Trong cc gii php nu trn n + 1 qu trnh c s dng gii quyt vn (xem hnh 2,5). Gii php ny ch c s dng minh ho vic s dng cc interprocess giao tip v l mt ngha l khng c hiu qu nht. p (0) l NGI S DNG chng trnh s gi n vo p (1) v nhn c kt qu e (n) t p (1). Mi p: (i) tnh ton f (n - i + n v s lng hot ng p: (i) ph thuc vo n. i 1) cho 1. Mt c th s dng ch c mt quy trnh gii quyt cng mt vn . Cc nh ngha ca e (n) c th d dng chuyn i thnh mt th tc recursive tnh f (n):
51 1

Bai giang tom tt H phn tan

Trong cc gii php nu trn l kt qu ca f (n) c t trong bin ans. Recursion l hu ch trong deriving mt gii php n gin. Ti cng mt thi gian, t nht trong l thuyt, bt k recursive chng trnh c th c ghi iteratively (v ngc li), v trn thc t n c th lm cho tinh thn lm nh th. C l vn v khng gian v thi gian hiu qu vic s dng cc lc lng iteration:

c.Tim

nng

sng

cho

mt

phn

vo

tht

bi

(tnh

chu

li)

7.2.TH TC GI T XA Cc thng tin lin lc c bn paradigm cho h thng phn phi l u vo v u ra: gi v nhn cc lnh nh l tho lun trong phn cui cng. Tuy nhin, mt s lp trnh thch nhng phong cch lp trnh tp trung trong mt h thng m khng c thng tin lin lc r rng primitives. Gi th tc t xa (rpc) [12] l gii thiu vi chc nng nh gi v nhn lnh, nhng nhn rt nhiu a phng nh mt th tc ku gi ca Gc. Bnh thng ca vic trin khai thc hin rpc l nhng iu sau y: Khi mt chng trnh no cn thit c mt s d liu t mt tp tin, nu nh vy c l mt th tc t xa, mt khch hng stub c a vo th vin. Cuc gi sau y c, khch hng stub gi cc tham s vo mt thng bo v ku gi mt my ch t xa stub ti trang web, chn t tr li cho n khi i li. Khi tin nhn n my ch, my ch stub gii nn thng bo v ku gi cc th tc nh l my ch mc d n c gi l trc tip ca khch hng. Cc my phc v thc hin cc yu cu lm vic v sau kt qu tr v cho ngi gi (server stub). Khi my ch stub c kim sot cuc gi tr li sau khi hon thnh, n gi v cc kt qu tr v n cho khch hng. Khi nhn c thng bo li
52 1

Bai giang tom tt H phn tan cho khch hng, ht nhn bn sao tin nhn cho tru b v ang ch x l l khch hng ht cm ". Cc khch hng stub kt qu gii nn v sao chp n gi ca n. Khi ngi gi c kim sot tt c cc hiu bit n l yu cu cc d liu c sn. N khng bit lm vic c thc hin. C rt nhiu m rng c bn rpc. Tuy nhin, nhiu n lc gia hn rpc bao gm cc tnh nng song song [5] dn n phc tp NGHA mt li th ca chnh rpc. Cc xut ca Asynchronous rpc Liskov v Shrira [36] c trin khai thc hin thnh cng trong cc h thng thng tin lin lc Mercury ti MIT. Cc gii thiu ca nh rpc Bershad [10] nhm mc ch ci thin hiu sut bng cch s dng cc khi nim v chui. Mt si cng c gi nh l mt qu trnh nh v nhiu ch c th chia s cng mt a ch khng gian. Trong mt h thng nh vy (nng) qu trnh bao gm mt a ch khng gian v mt hoc nhiu ch ca kim sot. Mi si c chng trnh ring ca mnh cp, ng k cc tiu bang, v stack. Mi si c th c lp, thc hin cc th tc cc cuc gi t xa. Cc m rng ca rpc ng h tr truy cp vo nhiu my ch v phc v nhiu yu cu ng thi c th c tm thy trong [42]. Mt c ch gn xa nh gi l rpc (REV) [44], cho php mt s th tc (m v d liu) s c encapsulated ti mt trong nhng th tc c chuyn tip n mt trang web t xa nh mt th tc gi trong rpc. Tng ng t xa trang web nh gi cc th tc encapsulated. Vic truyn d liu trong encapsulated th tc c th c s dng nhiu ln ca cc th tc trong cc th tc v trung encapsulated cc kt qu sn xut (nu c) khng cn phi thng qua li cho khch hng, Tuy nhin, nu ai c th khng phi khai thc cc li ch trn, cc thng tin lin lc ph c th tng do s thng xuyn truyn ti cc th tc (bao gm c m v d liu). Hn na, di chuyn c th l mt vn , c bit l trong mt heterogeneous h thng, bi v n khng phi l mt nhim v d dng di chuyn thc thi m t mt my tnh khc vi cc hng dn khc nhau v t ra nhng d liu i din. Gn y, mt bi cnh hng cuc gi (CDC) [48] m hnh c ngh ko di s ni ting, rpc v kt hp ca c hai merits rpc v REV. Ging nh rpc, CDC cho php mt b cc th tc c B trn mt b x l t xa v c gi l ca cng mt ngn ng xy dng (gi mt th tc) lm th tc a phng. Tuy nhin, vic trin
53 1

Bai giang tom tt H phn tan khai thc hin c ch khc nhau l vic lm trong CDC. Ngoi ra CDC h tr cc c ch cho cc c nhn gi d liu t xa n mt trang web v nhn d liu t mt trang web t xa. Cc lp trnh vin khng cn phi c nhn thc ca cc d liu phong tro. CDC h tr cho hai loi i tng d liu: a phng v t xa. Mt a phng i tng l mt bin cho cc a ch hin ti khng gian ca cc bc thy. Mt i tng t xa l mt bin cho mt a ch ca slave khng gian. thc hin mt a phng hoc t xa nh gi ca mt biu vi cc bin t xa, CDC mt vn thch hp kt hp gi d liu t xa n mt trang web, nh gi t xa, v nhn d liu t xa, cc trang web. C th, tng hp cho mt biu x = E (x, ...), trong c t nht mt i tng t xa. Nu n c nh gi a phng, cc trang web a phng cn phi nhn c d liu u vo (nu c) t xa, trang web, a phng thc hin vic nh gi, v sau gi cho (kt qu) d liu t xa n mt trang web, nu bin x l mt i tng t xa. Nu n c nh gi t xa, trang web ca a phng cn phi nhp d liu u tin gi n cc trang web tng ng t xa. xa xa, mt trang web thc hin nh gi v a phng, trang web nhn c kt qu t cc trang web t xa, nu x l mt a phng i tng. Mt tnh hnh tng t p dng cho mt a phng hoc t xa nh gi ca mt th tc void f (... ..) vi cc i tng t xa. Mt nh gi ca a phng xy ra khi c cc i tng t xa xa, cc trang web khc nhau. Trong trng hp ny, cc a phng nhn c trang web (t xa) d liu t xa, cc trang web v a phng thc hin mt nh gi. Mt nh gi t xa s xy ra khi tt c cc i tng t xa n t cng mt trang web t xa. Trong trng hp ny cc a phng gi cho trang web (a phng) d liu xa xa, mt trang web v thc hin nh gi l c. h tr cc hot ng trn cc chc nng sau y c th c yu cu t mt khch hng (mt v tr trang web) cho mt my ch (mt trang web t xa) c gii thiu: rcreate () : to ra mt t xa i tng ca mt s kch c ti mt trang web t xa, cc
54 1

Bai giang tom tt H phn tan tn i tng c mt tn duy nht (handler) v tr v cc handler ngi gi. rremove () : loi b xa i tng m mt handler c cung cp nh l mt u vo. rread () : bn sao mt i tng t xa n mt a phng tru b vi c handler cho i tng v a ch ca tru b c cung cp nh l u vo. rwrite () : bn sao ni dung ca cc a phng tru b vo mt i tng t xa vi c handler cho i tng v a ch ca tru b c cung cp nh l u vo. rfork () : l mt nonblocking gi m cc cuc gi t xa stub to mt thread mi v vt qua nhng a ch ca cc i tng t xa nh cc tham s. trn cc chc nng c s dng thc hin vic nh gi khc nhau ca biu v th tc. V d, rcreate () v rwrite () c th c s dng to v khi to t xa cc i tng, tng ng. Mt cuc gi n mt th tc t xa c th c thc hin bi rfork (). rread () c th c s dng cho mt khch hng c c gi tr ca mt i tng t xa, v mt khch hng c th pht hnh b nh cho mt i tng t xa bng cch s dng rremove. Trong DCDL khng c trng hp no trn l c ch bao gm. Chng ti c gng gi cho n gin hn v gi v nhn c lnh nh vy ngi c c th tp trung vo cc thut ton c m t trong DCDL. 7.3. TNH VNG MNG (Robustness) H thng phn phi c tim nng li th hn cc h thng tp trung cao tin cy v tnh sn c. Tuy nhin, trch nhim t c tin cy vn cn da vo h iu hnh, ngn ng runtime h thng, v cc lp trnh vin. Hai phng php tip cn c th c s dng t c tin cy trong h thng phn phi: + Lp trnh li khoan dung. + Giao thng li khoan dung. Lp trnh li khoan dung c th t c bng cch chuyn tip phc hi hoc phc hi li. Chuyn tip phc hi s c gng xc nh li v sa li h thng nh nc c cha cc li ny da trn kin thc . Ngoi l trong x l ngn ng cao cp, chng hn nh Ada, PL / 1, v CLU, cung cp mt cu trc h thng h tr chuyn tip phc hi. Quay tr li bo li corrects phc hi h thng nh nc ca h thng, khi phc li mt tiu bang m xy ra trc khi biu hin ca cc li. Cc
55 1

Bai giang tom tt H phn tan chng trnh phc hi khi [28] cung cp mt h thng cu trc nh vy. Mt li lp trnh-khoan dung k thut thng c s dng l li masking. N-phin bn chng trnh [6] s dng c lp, pht trin mt s phin bn ca mt thut ton. p ang bnh chn cui cng ca h thng s c p dng cho cc kt qu ca cc phin bn n v mt kt qu chnh xc c to ra. Cho n nay khng c thng mi c sn h tr cc ngn ng m mt chng trnh phc hi li mc d mt s nh nghin cu xut mt s ngn ng skeletons [30], [32], cng nh mt s cc c ch h tr nh l phc hi b nh cache [3] v phc hi metaprogram [2]. Khoan dung li giao tip vi cc li xy ra trong qu trnh giao tip. Khoan dung li thng tin lin lc ph thuc vo c hai chng trnh c s dng cc thng tin lin lc (hoc thng qua tin nhn-rpc) v tnh cht ca nhng li lm (c th khng ngng [41] hay Byzantine loi li [33]). Ni chung, c bn loi li lm giao tip: 1. Mt thng bo c truyn t mt node khng tip cn vi cc im du lch quc t. 2. Nhng tin nhn khng nhn c trong cng mt th t nh chng c gi. 3. Mt thng bo s hng trong qu trnh truyn ca n. 4. Mt bi vit c replicated ca n trong qu trnh truyn. Trng hp 2, 3, v 4 c th c x l bi dy s in thoi, m ha d liu, v kim tra-sums. Tuy nhin, n khng phi l d dng xc nh nguyn nhn gy ra mt li. V d, nu mt cuc gi chm dt abnormally (thi gian ra ht hn), c bn cng kh nng c quyn. 1. Ngi nhn khng nhn c cuc gi tin nhn. 2. Tr li tin nhn khng n c vi ngi gi. 3. Crashed trong khi ngi nhn cuc gi, hoc thc hin v vn crashed hoc khng phi l resuming vic thc hin sau khi sp hi phc. 4. Ngi nhn l vn thc hin cuc gi, trong trng hp thc hin c th can thip vi cc hot ng ca cc khch hng. Cc li giao tip n gin nht l khoan dung tin nhn thng qua bng cch s dng khng thnh cng ca m hnh ca, ni mt PE, hoc lm vic ng hoc ngng
56 1

Bai giang tom tt H phn tan hon ton. Fault tolerance l t c nhng li ca h thng pht hin theo sau reconfiguration [4]. Sau y l mt li pht hin th tc c m t trong DCDL [47].

Thng qua cc cp cao trn DCDL thut ton mt faulty PE c th c pht hin ca ngi gi node bng cch kim tra cc gi tr ca tnh trng bin. Da trn cc thng tin lin lc rpc c tc dng ph nh vy iu quan trng l phi xc nh mt cch chnh xc nhng NGHA ca mt cuc gi. NGHA c tin cy khc nhau c xut trong bi cnh ca cc rpc:-chnh xc mt ln, lastone, ti--t nht mt ln, tc phm mi-ca-nhiu, v ti hu ht cc--mt ln Trong i tng da trn h thng [35] 1 s tht bi l mt phn t c bng cch s dng cc khi nim v atomic hnh ng [37]. Vic atomicity atomic ti sn ca cc hnh ng m bo rng mt tnh ton c th c chm dt bnh thng, sn xut cc kt qu d, hoc c aborted, sn xut khng c kt qu. Mt iu tr chi tit ca ch ny c th c tm thy trong Chng 11. Bng 2,2 [7] tm tt cc tnh nng : x l song song( parallelism), thng tin lin lc, v mt phn primitives v.v... c s dng trong nhiu ngn ng khc nhau.

Primitives PARALLELISM Expressing parallelism Processes Objects

Example Languages Ada, Concurrent C, Linda, NIL Emerald, Concurrent Smalltalk Occam
57 1

Bai giang tom tt H phn tan Statements Expressions Clauses Mapping Static Dynamic Migration COMMUNICATION Message passing Point-to-point messages Rendezvous Remote procedure call One-to-many messages Data sharing Distributed data structures Shared logical variables Nondeterminism Select Statement Guarded Horn clauses PARTIAL FAILURES Failure detection Atomic transactions NIL Par Alfl, FX-87 Concurrent PROLOG, PARLOG Occam, StarMod Concurrent PROLOG, ParAlfl Emerald

CSP, Occam, NIL Ada, Concurrent C DP, Concurrent CLU, LYNX BSP, StarMod Linda, Orca Concurrent PROLOG, PARLOG CSP, Occam, Ada, Concurrent C, SR Concurrent PROLOG, PARLOG

Ada, SR Argus, Aeolus, Avalon

7.4.. CC M HNH THIT K PHN TN 7.4.1.M hnh Client- Server L m hnh c p dng rt rng ri trong cc ng dng hin c. Client/Server l m hnh tng qut nht, trn thc t th mt server c th c ni ti nhiu server khc nhm lm vic hiu qu v nhanh hn. - Khi nhn c 1 yu cu t client, server ny c th gi tip yu cu va nhn c cho server khc (v d nh database server) Thng thng chng trnh server v client c thi hnh trn hai my khc nhau. Cho d lc no server cng trng thi sn sng ch nhn yu cu t client nhng trn thc t mt tin trnh lin tc qua li (interaction) gia client v server li bt u pha client, khi m client gi tn hiu yu cu ti server. Cc chng trnh server thng u thi hnh mc ng dng (tng ng dng ca mng)

58

Bai giang tom tt H phn tan

Hnh 7.4.2. M hnh phn cm/m(clustering) i vi ng dng phn tn i hi tnh sn sng, tin cy v m rng cao th m hnh Clustering c la chn. m hnh ny cho php s dng nhiu my ch kt hp vi nhau to thnh mt cm (cluster) c kh nng dung li (fault-tolerant) nhm nng cao sn sng ca h thng mng. Nhiu my ch c kt ni vi nhau theo dng song song hay phn tn v c s dng nh mt ti nguyn thng nht. Nu mt my ch ngng hot ng do b s c hoc nng cp, bo tr, th ton b cng vic m my ch ny m nhn s c t ng chuyn sang cho mt my ch khc (trong cng mt cluster) m khng lm cho hot ng ca h thng b ngt hay gin on. Qu trnh ny gi l fail-over; Qu trnh t ng phc hi chim quyn cung cp ti nguyn ca mt my ch trong h thng (cluster) sau khi hot ng tr li c gi l fail-back. Thit k v trin khai cluster cn tho mn cc yu cu: - Tnh sn sng cao (availability). Cc ti nguyn mng phi lun sn sng trong kh nng cao nht cung cp v phc v cc ngi dng cui v gim thiu s ngng hot ng h thng ngoi mun. - tin cy cao (reliability). tin cy cao ca cluster c hiu l kh nng gim thiu tn s xy ra cc s c, v nng cao kh nng chu ng li ca h thng.

59

Bai giang tom tt H phn tan - Kh nng m rng c (scalability). H thng phi c kh nng d dng cho vic nng cp, m rng trong tng lai. Hai gii php ng dng cng ngh Clustering cho h thng x l tnh ton ln nh h thng x l tnh ton song song (Parallel Computing) v Clustering cho h thng chu li (fault-tolerant). Cluster c t chc thnh cc nhm gi l cc farm hay pack: - Cluster Farm: nhm cc my ch chy cc dch v ging nhau, nhng khng dng chung c s d liu. - Cluster Pack: nhm cc my ch hot ng cng vi nhau v chia s vi nhau cc phn ca c s d liu.

M hnh trin khai ng dng Clustering 7.4.3. M hnh tnh ton li (Grid computing) i vi cc ng dng i hi phi x l vi s lng d liu ln, yu cu tm kim, sp xp, trch lc, chia s ti nguyn v.v.. d dng, uyn chuyn trn mi trng phn tn (chng hn Internet cha hng t trang Web) cn trin khai trn mi trng Grid. Vic pht trin 1 ng dng Grid mt cch tng qut khng khc g vi vic pht trin 1 dch v Web. S khc bit ln nht y l ng dng Grid trin da trn mi trng Grid, trong khi ng dng Web ch n thun l chy trn Web. Cc ng dng ni ting nh Google, Bing, Youtube v.v... s dng m hnh ny. 7.4.4. M hnh o ha in ton m my (Cloud computing)
60 1

Bai giang tom tt H phn tan

in ton m my (cloud computing) c hiu nh l mt m hnh in ton c kh nng co gin (scalable) linh ng v cc ti nguyn thng c o ha c cung cp nh mt dch v trn mng Internet Nh vy, cc ngun in ton khng l nh phn mm, dch v ... s nm ti cc my ch o (m my) trn Internet thay v trong my tnh gia nh v vn phng (trn mt t) mi ngi kt ni v s dng mi khi h cn. Xu hng ny s gip nhiu cho cc cng ty, doanh nghip va v nh m khng c c s h tng mng, my ch lu tr, qun l d liu tt.

M hinh minh ha v Cloud Computing

Thut ng cloud computing ra i t gia nm 2007, cho n nay khng ngng pht trin mnh m v c hin thc bi nhiu cng ty ln trn th gii nh IBM, Sun, Amazon, Google, Microsoft, Yahoo, SalesForce,
7.5. C S D LIU - Vic la chon CSDL cung nh thit k CSDL co 1 y nghia quan trong trong : vn hanh, m rng cung nh duy tri, phat trin ng dung va x ly (x ly ng thi, tai tao v.v...) sau nay. - Hin co 2 m hinh CSDL c trin khai trong cac ng dung phn tan + CSDL tp trung + CSDL phn tan
61 1

Bai giang tom tt H phn tan Tuy thuc vao quy m cua ng dung, tinh tin cy, sn sang, hiu qua v.v... ma chung ta co th la chon 1 trong 2 m hinh trn. 7.6.CNG NGH H TR Nhom 1 - H tr lp trnh th tc :RPC, DCE RPC,DCOM Nhom 2 - H tr lp trnh hng i tng : CORBA, RMI Nhom 3 - H tr cc ng dng Web : XML, SOAP, Web Service, AJAX, REST 7.7. THIT K NG DNG PHN TN VI JAVA RMI

7.7.1.Gii thiu - Lp trnh phn tn i tng l mt trong nhng vn nng bng ca cng ngh phn mm hin nay. - Lm th no gi hm hay i tng mt my no v gi chng t mt my khc ? - Nh a trinh bay trn, phat trin cac ng dung phn tan co th s dung nhiu ky thut khac nhau : RPC, DCE RPC, DCOM, XML, SOAP, Web Service v.v... d trin khai cung nh nm bt qua trinh thc hin Java RMI. 7.7.2.K thut phn tn i tng
Thng thng cc chng trnh c vit di dng th tc hay hm gi. M lnh ca hm hay th tc c np thng vo b nh v thc thi ngay trn my cc b. i vi cc hm (hay i tng) th vin nh System.out.println(), ngi lp trnh khng cn quan tm n cch thc m hm ny c ci t. iu m hu ht cc lp trnh vin quan tm l i s truyn vo cho hm v kt qu tr v. Mt cu hi c t ra l c cch no np ni dung ca hm hay i tng mt my no v gi chng t mt my khc ? V y chnh l ni dung ca lp trnh phn tn m lnh. 7.7.3.K thut RMI
62 1

Bai giang tom tt H phn tan Gm cc gi java.rmi java.rmi.registry java.rmi.server java.rmi.activation java.rmi.dgc RMI : Remote Method Invocation--Triu gi phng thc t xa. RMI l mt c ch cho php mt i tng ang chy trn mt my Java ny c th triu gi mt phng thc ca mt i tng ang chy trn mt my Java khc. K thut RMI c hng Sun hin thc bng cch tch hp cc th vin h tr x l phn tn vo trong Java v th ngi ta thng gi Java RMI. V thc cht RMI l c ch gi hm t xa.

7.5.4. RMI- Cc khi nim c bn 1. Remote Interface


y l lp giao din cha cc phng thc m i tng c th thc hin. Lp giao din Remote c k tha t lp java.rmi.Remote. Khai bo lp: import java.rmi.*; Public interface<tn lp giao din> extends Remote{ Method1; Method2; . } 2.Remote Method y l cc phng thc cho php triu gi t xa,c khai bo trong cc lp giao din (interface) v lp hin thc (implement).

63

Bai giang tom tt H phn tan 3.Remote object Cha cc phng thc cho php hiu qu cc x l t xa thng qua i tng ny. Cc i tng ny c hin thc t lp hin thc (implement) trong chng trnh Java RMI. 4.Lp Stub,Skeleton: M hnh h thng: Client -Stub RemoteLayer Server -Skel RemoteLayer Phng thc Remote phi c khai bo bt ngoi l: throws java.rmi.RemoteException;

TransportLayer

TransportLayer

Trong m hnh trn, i tng khch (client object) gi cc phng thc ca stub. Sau , -stub s dng remote layer giao tip vi skel. Remote layer dng transport layer thit lp kt ni gia local server v remote server. Chc nng lp Stub: Dng to 1 cu ni n my o JVM (Java Vitual Machine) cha i tng Remote Object. ng gi cc tham s do my khch yu cu. Ch nhn kt qu x l. Bc d liu trong gi nhn c. Lp Stub duy tr mt tham chiu n remote object. Chc nng lp Skel:

64

Bai giang tom tt H phn tan Bc d liu nhn c ly cc thng tin phc v cho vic gi hm t xa. Thc hin li gi hm trn h thng cc b. ng gi d liu v gi v cho Client.

Computer1 CalculatorClient 4 Calculator

Computer2 CalculatorServer 1 Rmiregistry 6

CalculatorImpl_Stub

CalculatorImpl_Skel

C ch RMI gi phng thc ca i tng t xa 1/ i tng ci t cc phng thc v gi hm Naming.bind( ) ng k vi b qun l rmiregistry trn my ch. 2/ i tng trn my khch mun gi phng thc ca i tng trn my ch, trc ht cn gi hm Naming.lookup() truy tm tham chiu n i tng xa theo tn. 3/ B ng k rmiregistry s tr v tham chiu n i tng xa thng qua lp giao tip interface m i tng xa cung cp. 4/ Da vo lp giao tip, i tng my khch s gi cc phng thc ca i tng trn my ch. 5/ Khi mt phng thc c gi, li gi s c chuyn tip n lp trung gian _Stub. Lp _Stub x l chuyn tham s ca phng thc gi n lp _Skel trn my ch.
65 1

Bai giang tom tt H phn tan 6/ Lp trung gian _Skel trn my ch s trc tip yu cu i tng thc thi phngthc v chuyn tr kt qu v cho my khch. 5.B ng k rmiregistry Dng tip nhn ng k tn ca i tng.Trc khi my khch mun s dng c cc phng thc v gi c cc i tng xa n phi lin lc vi rmiregistry ly v tham chiu n i tng trn my ch. Dch v ng k v truy tm tn i tng c Java qun l bng cc hm giao tip API JNDI (Java Naming Directory Interface). Cc hm JNDI my khch (Naming.lookup( )) s lin lc vi rmiregistry nhn v tham chiu ca i tng trong khi cc hm JNDI my ch (Naming.bind()) c nhim v ng k tn ca i tng vi rmiregistry. ng k i tng Remote Object ti Server: 1/ To i tng Obj. 2/ Thng bo i tng cho JVM sdng: UnicastRemoteObject(Obj); 3/ ng k i tng vi NameServer: Naming.bind(rmi://<IP>/tnRemoteObject,Obj); Truy xut i tng Remote Object t Client: 1/ Khai bo i tng Obj, kiu l lp interface. 2/ Truy tm tham chiu ca i tng trn rmiregistry Obj= (lp interface)Naming.lookup (rmi://<IP address>/<tn remoteobject>); 3/Triu gi phng thc t xa ca i tng: Obj.RemoteMethod1; Obj.RemoteMethod2; To lp Stub,Skel: -To lp implement ca lp interface. -Bin dch: rmic<tn lp implement> -Kt qu c 2 lp:_Stub.class v _Skel.class Mc nh rmiregistry hot ng ti cng 1099. 7.5.5.Cc bc xy dng chng trnh RMI 1. To 1 lp giao din.V d: HelloInterface.java
1

66

Bai giang tom tt H phn tan 2. To lp hin thc m t cc phng thc ca lp giao din. V d:HelloImplement.java 3. Xy dng chng trnh Server: to i tng RemoteObject t lp Implement. ng k i tng vi my JVM : UnicastRemoteObject.exportObject(RemoteObject); ng k i tng vi rmiregistry:Naming.bind(rmi://<IP address>/tn RemoteObject,RemoteObject); 4. Xy dng chng trnh Client: to mt i tng Obj tham chiu n i tng t xa thng qua: Naming.lookup(rmi../tnRemoteObject); 5. Bin dch tolp Stub,Skel: rmic <tn lp implement> 6. Bin dch chng trnh Client,Server,.. 7. Chy chng trnh: - chy rmiregistry - chy server - chy client T chc cc lp ti Client/Server

Client
_Stub.class interface.class _client.class

Server
_Skel.class _server.class

67

Bai giang tom tt H phn tan 7.5.6.Cc k thut h tr RMI 7.5.6.1.K thut Activation Khi trn my ch c qu nhiu i tng c kh nng phc v cho my khch, s dng c cc i tng ny trc tin phi xin cp pht b nh cho tt c cc i tng,sau mi i tng u t trong trng thi sn sng ch my khch. iu ny gy nn hao tn ti nguyn ca my ch bi v khng phi tt c cc i tng u c my khch yu cu s dng vo cng mt thi im. V vy, Java cung cp c ch t ng kch hot (Activation) i tng trn my ch (khng cn phi cp pht b nh v t i tng trong trng thi sn sng). Java cung cp chng trnh rmid.exe ng nhim v tip nhn s hin din ca i tng v t ng khi to i tng khi my khch yu cu. 7.5.6.2. K thut tun t ho i tng (Serializable) Java cung cp kh nng ghi ton b i tng xung mt tp tin. Sau ta c th em tp tin cha i tng i khp ni, nu cn th khi phc i tng v trng thi ban u, a i tng vo b nh s dng ng y nh tnh trng trc khi n c lu xung a. Cc i tng c kh nng ny c gi l tun t ho(serializable). L do c thut ng trn xut pht t vic lu i tng trn a, d liu lu trn tp tin l loi d liu tun t. i tng trong b nh c th tham chiu quan h chng cht vi nhau nhng khi c lu xung tp tin th bt buc tri phng i tng ra theo th t. Trong Java th cc i tng mun c kh nng ghi v lu tr c thnh tp tin th phi ci t giao tip (interface) java.io.Serializable.Lp giao tip ny ch l mt lp rng thc hin chc nng nh du kh nng tun t ho ca i tng. Khi i tng c kh nng tun t ho v yu cu Java ghi thnh tp tin, Java s tm ly tt c cc i tng con cha bn trong i tng cn lu xung a.Qu trnh khi phc i tng lun m bo rng trng thi v ni dung ca i tng trc khi lu c khi phc nguyn vn.i tng c th tr v hot ng bnh thng sau khi khi phc. 7.5.6.3. K thut Callback C ch gi ngc t xa ca trnh ch n trnh khch thng qua tham chiu cn c gi l c ch callback, c ngha l nu trnh ch c trnh khch truy xut t xa th trnh khch ngc li cng c th c triu gi t xa bi trnh ch. Hay ni cch
68 1

Bai giang tom tt H phn tan khc trnh ch c th tham chiu v x l c trc tip i tng ang nm trn my khch. Nh vy i tng trn trnh khch yu cu phi ci t lp giao tip Remote,tip n l sinh ra cc lp _Stub v _Skel,sau cng l ng k vi rmiregistry trnh ch tham chiu n. 7.5.6.4. K thut ti lp ng Java cung cp cho ta cch thc t ng np lp _Stub.class t xa thng qua tu chn CODEBASE khi ng k i tng trn my ch. Mun nh vy my ch ca ta phi h tr thm dch v webserver hay ni cch khc ta phi c chng trnh webserver chy chung trn my vt l ni rmiregistry ang chy. Bng cch ny nh cung cp i tng ch cn chuyn giao cho cc nh pht trin ng dng pha my khch lp giao tipl . Lp _Stub.class s c t ng np v my khch khi trnh khch yu cu rmiregistry tham chiu n i tng. C ch np t ng lp trung gian _Stub.class xung my khch c thc thi tng bc nh sau: 1- Trnh ch (CalculatorServer) ng k i tng vi rmiregistry, yu cu b qun l rmiregistry truy tm lp Stub.clas s(CalculatorImpl_Stub.class) a ch URL: http://<IP>/<tn th mc cha cc tp tin .class>/ CalculatorServer 2- rmiregistry nhn c yu cu ng k i tng n s truy tm lp CalculatorImpl_Stub.class trong bin CLASSPATH. Nu khng tm thy, rmiregistry s da vo chui URL do trnh CalculatorServer cung cp yu cu WebServer tr v lp trung gian Stub ny.Rmiregistry ghi nh li a ch URL ni lp trung gian CalculatorImpl_Stub.class ang c lu tr. 3- Chng trnh my khch yu cu rmiregistry tr v tham chiu ca i tng. Nu pha my khch cha tn ti lp CalculatorImpl_Stub.class b qun l rmirgistry s cho trnh khch bit a ch URL chp v lp trung gian ny. 4- Chng trnh my khch yu cu Webserver cung cp lp trung gian, hay ni chnh xc hn, trnh khch yu cu
1

vd:http://172.16.11.12/myclass/

C:\RMI>java Djava.rmi.server.codebase= http://172.16.11.12/myclass/

download

tptin:

http://172.16.11.12/

myclass/CalcalatorImpl_Stub.class
69

Bai giang tom tt H phn tan 5- Trnh khch s dng lp trung gian CalculatorImpl_Stub.class v lp giao tip Calculator.class gi cc phng thc ca i tng trn my ch. 7.5.6.5. K thut xuyn hm (tunneling) Mt ng dng trnh khch mun triu gi c phong thc ca i tng (Object) trn my ch th trc ht phi lin h vi b ng k rmiregistry ly v tham chiu ca i tng. Dch v rmiregistry m socket mc nh cng 1099 (hoc mt cng no do bn ch nh) lng nghe kt ni t trnh khch. Nhng nhng cng nh vy khng c tng la chp nhn cho qua (tng la l phn mm chn ngay ng ra vo ca ng truyn d liu kt ni vi bn ngoi (Internet). Chc nng ca tng la l kim sot cch thc truyn d liu v kt ni gia mng intranet vi internet. Nh vy, lin lc gia trnh khch v rmiregistry trn my ch s khng thc hin c. Tuy nhin, ta c th s dng c ch trung gian thng qua cng 80 ca dch v Web server. C ch truy xut v gi i tng thng qua cng 80 ca Web server cn gi l c ch xuyn hm (tunneling). Trnh t ca c ch ny c th hin nh sau: u tin, i tng Object ca ta ng k vi rmiregistry trn my ch lng nghe cng 1099. Sau , trnh khch gi yu cu theo giao thc http n my ch web server yu cu truy xut n i tng Object. Tip theo, web server yu cu mt i tng trung gian trn my ch, gi l servlet, x l li gi. Servlet lin lc vi rmiregistry ly v tham chiu ca i tng Object. Servlet triu gi Object v tr kt qu v cho web server. Sau cng l webserver tr kt qu v cho trnh khch. RMI l k thut lp trnh phn tn triu gi i tng t xa. xy dng i tng xa ta phi thit lp mt giao tip (interface) ca i tng. Ci t giao tip ca i tng sau to ra cc lp trung gian Stub v Skel. Giao tip trnh khch vi i tng ch thng qua lp Stub. Giao tip ca i tng ch vi trnh khch thng qua lp _Skel. Trc khi hot ng i tng ch phi dng k tn vi trinh rmiregistry trnh khch c th truy tm tham chiu ca i tng t xa.

70

Bai giang tom tt H phn tan Cc k thut h tr RMI: T ng kch hot i tng t xa (Activition); Tun t ho i tng (Seriliazable); k thut callback,k thut ti lp ng (dynamic code loading); k thut xuyn hm (tunneling). u im : - n gin, d s dng - Trong sut: li gi phng thc t xa ging li gi phng thc cc b - tin cy cao - An ton vbo mt (do JVM cung cp) Nhc im: - Ch dng cho java 7.6. VN RMI QUA FIREWALL - RMI cung cp cng c ng gi d liu thng qua kt ni HTTP - S dng mt HTTP proxy - Cc thng tin gi i c ng gi trong HTTP POST request - t http.proxyHost = IP Firewall - C server v client u di firewall - Thng tin trao i qua ng hm HTTP - Pha server cn c cng c bc tch - Thng l /cgi-bin/java-rmi?forward=<port> - C th l serverlet

71

Bai giang tom tt H phn tan

- Thng tin mt chiu - Gim hiu nng (do ng gi bng HTTP) - Cgi script thc hin cc chng trnh:l hng bo mt - H tr duy nht mt kt ni client-server cho mt ng dng - Tt h tr khi pht hin firewall - java.rmi.server.disableHttp=true 7.7. QUN L B NH - Khi c yu cu, object c ti vo b nh - Khi khng cn client kt ni, object cn c gii phng khi b nh - C ch thu hi b nh ca RMI c thc hin t ng - Giao din java.rmi.server.Unreferenced v phng thc unreferenced cho php ty bin qu trnh thu hi b nh 7.8.CC NH HNG V H THNG PHN TN TNG LAI H thng phn tn thit k bt u vo nhng nm 1970 vi mt vi h thng th nghim n gin. K t tin b ln c thc hin trong lnh vc ny. V d, mt nghin cu trong [21] c tnh 28,8 triu ngi M 16 nm tui tr ln c truy cp vo Internet, s dng 16,4 triu Internet, 11,5 triu s dng Web, v 15,1 triu s dng web mua hng cc mt hng. Ngy nay, Internet t n hng triu ngi trong gn mt trm quc gia trn tt c cc chu lc trn th gii. ng dng thc t chy trn c hai h thng tp trung v mng li. Vic chuyn sang nn tng khc nh cung cp bi mt h thng phn tn l khng th trnh khi v cn phi c hp php ha. Nhng li
72 1

Bai giang tom tt H phn tan th ca h thng phn phi c a ra cho mc ch ny [23]. Chng bao gm minh bch v tr cc ngun lc, kh nng m rng v ty bin ca cc nn tng h thng, kh nng chu li v chia s cc ngun lc v ph hp cho cc ng dng phn tn. Gn y y, mi quan h i tc o phn tn c thnh lp ti M V d, quan h i tc ca NSF cho c s h tng nng cao tnh ton (PACI) [49] c mt k hoch chi tit cho vic to ra mt Grid Cng ngh quc gia cung cp truy cp my tnh tnh ton khoa hc khc nhau v mi trng gii quyt cc vn k thut. Chng trnh PACI hin ang h tr hai trung tm ti i hc Illinois ti Urbana-Champaign v i hc California San Diego. v nghin cu v xy dng h thng vn cn phi i mt vi mt s vn thit k m. Vn u tin l d on hnh vi ca mt h thng phn tan. Yu cu ny l c bit quan trng i vi cc rng buc thi gian thc. Hy xem xt cc vn ca d on mt hnh vi h thng phn tan trong khi n c thc hin. Mt h thng nh vy s c thc hin mt s lng ln ca cc thnh phn, hot ng khng ng b vi nhau. Hn na, vi h thng phn phi hot ng trong trng thi n nh: ti dao ng ph bin nhim v mi n v nhim v hot ng chm dt. Nhng kha cnh lm cho n gn nh khng th lp bo co chi tit chnh xc. Vn th hai l m rng quy m v qun l mt h thng phn phi. Mt h thng c cho l phi c m rng nu n c th x l vic b sung thm ngi dng v ti nguyn m khng b mt tn tht ng k v hiu sut hoc tng phc tp hnh chnh. M rng quy m nh hng n cc vn thit k sau y [36]: t tn, xc thc, y quyn, k ton, giao tip, s dng cc ngun ti nguyn t xa, v kh nng ca ngi s dng d dng tng tc vi h thng. Mi thnh phn ca quy m gii thiu cc vn ring ca mnh. Mc d c cung cp mt s gi [29] thit k cc h thng c kh nng m rng, ci nhn su sc hn l cn thit. Vn th ba l bo mt v xc thc trong mt h thng phn tn. Khi kch thc ca mt h thng phn phi pht trin, chng hn nh Internet, an ninh ngy cng tr nn quan trng v ngy cng kh khn thc hin. H thng ln hn d b tn thng hn l tn cng. Xc thc l h thng xc minh danh tnh ca ngi dng. Thng thng k thut ny da trn mt khu, da trn my ch, hoc encryptionbased.
73 1

Bai giang tom tt H phn tan Nhiu h thng li y quyn cho cc my ch ring l. Vi h thng cung cp chim phn tn theo cch. Vn th t l cc cng c v mi trng h tr cho mt h thng phn phi. iu ny bao gm cc cng c xc nh, phn tch, chuyn i, g li, to ra, v xc minh phn mm phn phi. Tin b trong l thuyt, cc cng c thit thc, phng php, v ngn ng l rt cn thit xy dng mt hiu qu v thn thin vi ngi s dng h phn tn Cui cng, mt hi nhp ca cc k thut khc nhau thit k mt h thng phn phi vi kh nng chu li ci thin ng k, chia s ti nguyn, v hiu sut l cn thit. Mt h thng nh vy cung cp mt truy cp lin mch t ngi s dng ti cc v tr a l khc nhau v c chc nng nh mt my tnh mch lc o, cho php ngi s dng truy cp cc ti nguyn mng li rng.

BI TP CHNG VII
7.1. Client gi chui Fibonaci n Server, yu cu Server xc nh phn t th k trong dy. Sau khi tm c Server gi kt qu v Client v hin th kt qu trn mn hnh. 7.2. Xy dng h thng qun l cc ti khon ng nhp. Da trn giao din ti my khch, ngi dng c th ng nhp, ng k, i mt khu, xo ti khon to my ch. Thng tin ti khon c lu tr trong c s d liu ti my ch cng vi cc th tc cho php cp nht c s d liu. Ngi qun tr ti my ch c th hin danh sch v qun l cc ti khon. 7.3. Xy dng 3 server kt ni vi nhau theo phng thc multicast. Yu cu ca bi ton : 1.Khi Serveri nhn thng ip t Client, n s chuyn thng ip n tt c cc Server cn li trong h, sau khi nhn phn hi t cc Server ny, d liu s c chuyn n tt c cc Server cho n khi kt thc thng tin. Xy dng chng trnh Client cho php chuyn ti nguyn v nhn phn hi khi hon tt ti nguyn. 2. Trong mn hnh Server/Client hin th thng tin ti nguyn.
74 1

Bai giang tom tt H phn tan 7.4. C 3 cng ty du lch lin kt vi nhau trong vic t chc Tour du lch. D liu chung l cc tour m 3 cng ty ny t chc. Xy dng mt h chng trnh ng k tour du lch thng qua mng kt ni gia 3 cng ty vi cc chc nng sau: - Cho php khch hng (Client) c th ng k tour ti mt my tnh bt k c kt ni vo mng ca 3 cng ty. - Cc server nhn bit c hot ng ca ng k/hy tour ca khch hng. Thc hin cp nht d liu ca trn DB ca n v DB ca cc server khc. - Cc server c th monitoring trng thi cc server khc - Server cho php cp nht tour mi, hy tour trong danh mc tour. 7.5. Client to mt dy Fibonacci F(n) vi F(1) = a, F(2) = b, sau gi F(1), F(2) v k(k>2) l s phn t trong dy cho Server. Tip , Client gi mt s nguyn p, yu cu Server cho bit p c tn ti trong dy khng, nu tn ti th n s hng th my trong dy. Yu cu : Vit chng trnh hin th kt qu trn mn hnh Client theo k thut RMI trong cc trng hp sau : 1. Cc gi tr a,b, k v p c nhp t bn phm trn cng dng, mi gi tr cch nhau bi du ; 2. Qu trnh c thc hin nhiu ln cho n khi dng gi c dng stop th qu trnh trn chm dt. 3. a,b,c,d, c nhp t file input.txt (to sn trn my ) c dng nh sau : File Input.txt p 5 256 25

a 1 34

b 1

k 1

1 10 ............. 1 1 346

---o0o--1

75

Bai giang tom tt H phn tan

TI LIU THAM KHO


[1]. Colin J. Fidge (February 1988). "Timestamps in Message-Passing Systems That Preserve the Partial Ordering". In K. Raymond (Ed.). Proc. of the 11th Australian Computer Science Conference (ACSC'88). pp. 5666. Retrieved 2009-02-13. [2].Mattern, F. (October 1988), "Virtual Time and Global States of Distributed Systems", in Cosnard, M., Proc. Workshop on Parallel and Distributed Algorithms, Chateau de Bonas, France: Elsevier, pp. 215226 [3].lmeida, Paulo; Baquero, Carlos; Fonte, Victor (2008), "Interval Tree Clocks: A Logical Clock for Dynamic Systems", in Baker, Theodore P.; Bui, Alain; Tixeuil, Sbastien, Principles of Distributed Systems, Lecture Notes in Computer Science, 5401, Springer-Verlag, Lecture Notes in Computer Science, pp. 259274 [4]. Torres-Rojas, Francisco; Ahamad, Mustaque (1999), "Plausible clocks: constant size logical clocks for distributed systems", Distributed Computing (Springer Verlag) 12 (4): 179195 [5]. S. Mullender ed., "Distributed Systems", 2nd ed., Addison-Wesley, 1993 [6]. Jie Wu, "Distributed Systems Design", Addison-Wesley, 2008 [7]. G. Coulouris, J. Dollimore, T. Kinberg, "Distributed systems : Conceptand Design, Australia. IASTED, ACTA Press ---o0o---

76

You might also like