Professional Documents
Culture Documents
LI CM N
Sau su thng tm hiu v thc hin, kha lun Nghin cu k thut cng tc
kho d liu lu gia cc clients trong H thng thng tin di ng da trn kin
trc P2P trn c bn hon thnh. t c kt qu nh hm nay chng em
c gng rt nhiu v cng c s gip , s ng h ca gia nh, cc thy c v
bn b.
Trc ht, chng em xin chn thnh cm n Khoa Cng Ngh Thng Tin,
trng i Hc Khoa Hc T Nhin TpHCM to iu kin thun li cho chng em
thc hin kha lun tt nghip ny.
Chng em xin by t lng bit n su sc n c Nguyn Trn Minh Th
tn tnh hng dn, ch bo chng em trong sut thi gian thc hin kha lun.
Chng con xin chn thnh cm n ng B, Cha M chm sc, nui dy
chng con thnh ngi.
Xin chn thnh cm n cc thy c, cc anh ch v cc bn ng h, gip
v ng vin chng em trong thi gian hc tp v nghin cu.
Kha lun hon thnh vi mt s kt qu nht nh, tuy nhin vn khng
trnh khi sai st. Knh mong s ng gp kin ca cc thy c v cc bn.
Mc tiu ti:
Ngy nay cng ngh thng tin (CNTT) ni chung v h thng thng tin di
ng ni ring pht trin mt cch mnh m cng vi s pht trin ca k thut
mng khng dy kt hp vi cc loi thit b di ng ngy cng hin i mang
li nhiu tin ch cho ngi dng trong vic trao i thng tin v d liu. H thng
thng tin di ng c pht trin u tin vi kin trc mng client/server. M
hnh mng client/server c rt nhiu im u vit, ni bt l mi x l s nm trn
server, do trnh cho cc client nhng tnh ton nng n. Tuy nhin vi s pht
trin khng ngng ca h thng thng tin di ng th kin trc mng client/server
khng cn ph hp v gy ra nhc im khi s lng my khch tng ln. L do
ii
chnh l khi s lng my khch tng ln th nhu cu truy xut d liu v bng
thng tng, dn n server gim kh nng cung cp dch v cho cc clients. c
bit trong mi trng mng khng dy kt ni yu hoc thng xuyn mt kt ni
th kin trc client/server ny hon ton khng cn ph hp na. khc phc cc
nhc im ca kin trc client/server, cc nh khoa hc nghin cu a ra mt
m hnh kin trc mi ph hp trong mi trng h thng thng tin di ng, l
m hnh cng tc chia s d liu v thng tin gia cc clients vi nhau hn ch
vic truy xut n server.
i vi m hnh ny th client l cc thit b di ng c kh nng x l, lu
tr. Tuy nhin cc thit b di ng hn ch v nng lng, kh nng tnh ton v
khng gian lu tr thp, v vy ngi ta mun cc thit b di ng chia s cng tc
kho lu tr (cache). Vic ny gip gim thi gian ch v tng kh nng ly c
d liu trong mt mi trng t kt ni.
Nhiu cng trnh nghin cu a ra cc chin lc v k thut lu tr li
d liu (caching). Cc k thut x l, lu tr hiu qu gip tng hiu sut ca m
hnh cng tc chia s d liu. T gim chi ph truyn thng gia cc client v
server cng nh rt ngn thi gian hi p truy vn d liu.
Do , mc tiu ca chng ti t ra trong ti ny l nghin cu tm hiu
cc m hnh cng tc chia s d liu trong h thng thng tin di ng. Sau , xy
dng v hin thc ha mt kin trc h thng, ci t th nghim kim tra tnh
hiu qu ca kin trc.
Ni dung ti:
Tm hiu cc m hnh cng tc chia s d liu trong cc h thng thng tin di
ng. i vi mi m hnh tm hiu cn nm c thng tin v tng, gii
php thc hin v nh gi c cc u khuyt im ca tng m hnh.
T hin trng kho st sinh vin xy dng m hnh cng tc chia s d liu trong
h thng thng tin di ng. Trong m hnh xut cn quan tm n vn iu
phi truy vn cho cc thit b ln cn ng thi x l h tr truy vn cho nhiu
hng mc d liu.
xut gii php lu tr, chia s, truy vn d liu cho m hnh ngh, trong
iii
gii php thc hin sinh vin c th k tha hoc k tha c ci tin hoc xut
gii php mi thc hin cho m hnh xut.
Xy dng ng dng th nghim cho m hnh xut.
So snh, nh gi vi cc gii php ca cc m hnh xut theo tng tiu
ch t ra trong kin trc h thng thng tin di ng (nu c th).
nh gi nhn xt cho m hnh sau khi chy thc nghim vi cc b d liu
nh gi c hiu qu ca vic chia s d liu trong m hnh ngh.
Yu cu t c:
V mt l thuyt:
o Nghin cu m hnh cng tc chia s d liu trong h thng thng tin di
ng
o xut m hnh truy vn a d liu cho h thng thng tin di ng c p
dng kin trc P2P v xy dng gii php, thut ton hin thc ha
m hnh
V mt ng dng:
o Ci t v nh gi hiu qu gii php ngh.
o ng dng minh ha
K hoch thc hin:
Giai on 1:(T 20/12/2009 15/03/2010) Thu thp, nghin cu, tng hp ti
liu tham kho
Kho st m hnh cng tc chia s d liu p dng trn mi trng di ng.
nh gi cc m hnh
xut m hnh v la chn gii php lu tr, chia s, truy vn d liu
trong m hnh cng tc d liu trn h thng di ng
Giai on 2:(T 16/03/2010 15/05/2010) Ci t th nghim
Trin khai ci t th nghim m hnh v gii php lu tr, chia s, truy
vn d liu
Xy dng ng dng minh ha
Giai on 3:(T 16/05/2010 30/06/2010) nh gi, kim nghim v vit bo
iv
co
Kim tra tnh ng n ca chng trnh.
Hon thin cc chc nng cn li.
M rng chc nng nu c. Hon thin bo co lun vn.
Xc nhn ca GVHD
Ngy
thng
nm 2010
SV thc hin
MC LC
LI CM N ...................................................................................................... i
CNG CHI TIT ...................................................................................... ii
MC LC ...........................................................................................................vi
DANH MC HNH V .................................................................................... xii
DANH MC CC BNG ................................................................................xiv
TM TT ........................................................................................................xvii
Chng 1 - M U ...........................................................................................1
1.1 Gii thiu ti ............................................................................................1
1.2 Mc tiu ti ..............................................................................................2
1.3 Hng tip cn v gii quyt bi ton ...........................................................2
1.4 Ni dung ti .............................................................................................3
Chng 2 - TNG QUAN V M HNH CNG TC CHIA S D LIU
TRONG MI TRNG DI NG ........................................................................5
2.1 Gii thiu m hnh cng tc chia s d liu ..................................................5
2.1.1 nh ngha m hnh cng tc chia s d liu ..........................................5
2.1.2 u im ca m hnh cng tc chia s d liu .......................................6
2.2 Cc chin lc qun l v thay th kho lu tr trong m hnh cng tc ........6
2.2.1 Thut ton thay th (Replacement Algorithm) ........................................6
2.2.1.1 Thut ton da trn vng nh tm (Temporal Locality Based
Algorithm) ........................................................................................................6
2.2.1.2 Thut ton da trn li ch (hoc da trn chi ph):..........................7
2.2.2 Chin lc nht qun kho lu tr ...........................................................7
2.2.3 Chin lc iu phi truy vn v tng hp d liu .................................7
2.3 S lc cc cng trnh nghin cu v cng tc chia s d liu ......................7
2.3.1 Dn nhp................................................................................................7
2.3.2 Kin trc MIX........................................................................................8
2.3.2.1 Phng thc hot ng .................................................................. 10
2.3.2.2 Kin trc v nguyn l hot ng .................................................. 10
vi
vii
viii
ix
xi
DANH MC HNH V
Hnh 2-1 M hnh kin trc h thng ...........................................................................9
Hnh 2-2 Nguyn l hot ng ca kin trc ............................................................. 10
Hnh 2-3 Kin trc ti MU ........................................................................................ 11
Hnh 2-4 M hnh kin trc MIX ............................................................................... 11
Hnh 2-5 X l Routing Process ................................................................................ 13
Hnh 2-6 X l Route Discovery Phase ..................................................................... 13
Hnh 2-7 V d truy vn ti nhiu MU trong Group-Caching based Query Processing
........................................................................................................................... 19
Hnh 2-8 M hnh kin trc h thng ......................................................................... 22
Hnh 3-1 M hnh kin trc h thng mng ............................................................... 31
Hnh 3-2 Nguyn l hot ng kin trc xut........................................................ 33
Hnh 3-3 Kin trc ti mi MU ................................................................................. 34
Hnh 3-4 M hnh kin trc xut ........................................................................... 35
Hnh 3-5 Lung x l ti lp Middleware ................................................................. 38
Hnh 3-6 Module "Cache Management" .................................................................... 39
Hnh 3-7 V d bng RRT ......................................................................................... 43
Hnh 3-8 X l ti MU ngun khi gi thng ip n MUs ln cn ........................... 46
Hnh 3-9 Minh ha qu trnh x l ti MU ngun khi nhn c RJoinRequest t MU
d liu ................................................................................................................ 50
Hnh 3-10 Lu thut ton x l ti MU d liu khi nhn c DataRequest t MU
ngun ................................................................................................................. 51
Hnh 3-11 Lu thut ton x l tng hp d liu ti MU d liu ......................... 52
Hnh 3-12 Thut ton tm kim RD trong cc MUs mng .......................................... 54
Hnh 4-1 NS-2 theo quan im ngi dng ............................................................... 62
Hnh 4-2 Cu trc chng trnh m phng ................................................................ 63
Hnh 4-3 S lin kt cc mn hnh ........................................................................ 64
Hnh 4-4 Mn hnh Main ........................................................................................... 65
Hnh 4-5 Mn hnh "Configuration node" .................................................................. 66
xii
xiii
DANH MC CC BNG
Bng 2-1 Thut ton truy vn ti mt MU trong Group-Caching based Query
Processing .......................................................................................................... 15
Bng 2-2 Thut ton truy vn ti nhiu MU trong Group-Caching based Query
Processing .......................................................................................................... 19
Bng 3-1 M gi thut ton x l thay th d liu ..................................................... 42
Bng 3-2 M gi "X l lu tr thng tin trong RRT" ............................................... 44
Bng 3-3 M gi thut ton "nh tuyn trong vng" ................................................ 44
Bng 3-4 Thut ton ti module "Local Query" ......................................................... 46
Bng 3-5 Thut ton x l ti MU d liu khi nhn c JoinResquest t MU ngun
........................................................................................................................... 49
Bng 3-6 Thut ton x l ti MU ngun khi nhn c RJoinRequest t MU d liu
........................................................................................................................... 51
Bng 3-7 Thut ton x l tng hp d liu ti MU d liu...................................... 53
Bng 3-8 M gi x l thut ton tm kim RD trong cc MUs mng ........................ 55
Bng 4-1 Chi tit cc giao din chnh ca E-MIX Demo ........................................... 64
Bng 4-2 Chc nng mn hnh "Main" ...................................................................... 66
Bng 4-3 Chi tit mn hnh "Configuration node" ..................................................... 67
Bng 4-4 Chi tit mn hnh "Model" ......................................................................... 68
Bng 4-5 Chi tit mn hnh "Animation" ................................................................... 69
Bng 4-6 Chi tit mn hnh "Result".......................................................................... 69
Bng 4-7 Chc nng cc lp trong giao thc EMixAgent .......................................... 71
Bng 4-8 Cu trc d liu ca lp RRT..................................................................... 72
Bng 4-9 Cc hm chc nng ca lp RRT ............................................................... 73
Bng 4-10 Cu trc d liu ca lp MyCache ........................................................... 74
Bng 4-11 Cc hm chc nng ca lp MyCache ...................................................... 75
Bng 4-12 Cu trc d liu ca lp numNeighNeigh ................................................ 75
Bng 4-13 Cu trc d liu ca lp MyList ............................................................... 76
Bng 4-14 Cc hm chc nng ca lp MyList ......................................................... 77
xiv
xv
xvi
TM TT
Trong bi cnh mi trng di ng hin nay, cc thit b di ng hn ch v
nng lng, kh nng tnh ton v khng gian lu tr. V vy, khi cc thit b ng
truy vn d liu cn phi tnh ton n hiu qu nng lng, hiu qu x l v hiu
qu lu tr. Trong kin trc client/server, cc client thng xuyn truy vn d liu n
server lm tng chi ph truyn thng, bng thng tng, thi gian hi p di. V vy,
ngi ta mun cc thit b di ng chia s cng tc kho lu tr (cache) gim thi
gian ch v tng kh nng ly c d liu trong mt mi trng t kt ni. V mt
nng lng, cc kin trc cng cn c mt c ch truy vn, tng hp d liu hiu qu
hn.
Nhiu cng trnh nghin cu a ra cc chin lc v k thut lu tr li d
liu (caching). Cc k thut x l, lu tr hiu qu gip tng hiu sut ca m hnh
cng tc chia s d liu. T gim chi ph truyn thng gia cc client v server
cng nh rt ngn thi gian hi p truy vn d liu.
Do , trong ti ny chng ti s tm hiu v cc vn sau:
V mt l thuyt: Nghin cu tm hiu cc m hnh cng tc chia s d liu
trn mi trng di ng.
V mt ng dng: Chng ti hin thc ha mt m hnh cng tc chia s d
liu trong mi trng c s d liu di ng, ci t th nghim thut ton v
a ra kt qu thc nghim cho bi ton.
xvii
Chng 1 - M U
1.1 Gii thiu ti
Theo xu th hin nay, cng ngh thng tin (CNTT) tr thnh mt phn tt
yu trong cuc sng. CNTT h tr trong nhiu lnh vc nh kinh t, thng mi,
dch v, x hi...Vi s pht trin mnh m ca k thut mng khng dy cng vi
cc loi thit b di ng ngy cng hin i mang li nhiu tin ch cho ngi
dng trong vic trao i thng tin v d liu. H thng thng tin di ng c pht
trin u tin vi kin trc mng client/server. Theo kin trc ny, cc my khch
(clients) s kt ni n mt my ch (server) thng qua mt giao thc nht nh
(www, fpt, telnet, ..). M hnh mng client/server c rt nhiu im u vit, ni bt l
mi x l s nm trn server, do trnh cho cc client nhng tnh ton nng n.
Tuy nhin, kin trc mng client/server khng cn ph hp v gy ra nhc
im khi s lng my khch tng ln. L do chnh l khi s lng my khch tng
ln th nhu cu truy xut d liu v bng thng tng, dn n server gim kh nng
cung cp dch v cho cc clients. c bit trong mi trng mng khng dy kt ni
yu hoc thng xuyn mt kt ni th kin trc client/server ny hon ton khng
cn ph hp na. khc phc cc nhc im ca kin trc client/server, cc nh
khoa hc nghin cu a ra mt m hnh kin trc mi ph hp trong mi trng
h thng thng tin di ng, l m hnh cng tc chia s d liu v thng tin gia
cc clients vi nhau hn ch vic truy xut n server.
i vi m hnh ny cc mobile user (MUs) c vai tr nh nhau, mi MU ng
vai tr va l my ch va l my khch. Client l cc thit b di ng c kh nng
x l, lu tr. Tuy nhin cc thit b di ng hn ch v nng lng, kh nng tnh
ton v khng gian lu tr thp, v vy ngi ta mun cc thit b di ng chia s
cng tc kho lu tr (cache). Vic ny nhm gim thi gian ch v tng kh nng ly
c d liu trong mt mi trng t kt ni. Vi c ch ny, kin trc a ra s gii
quyt c vn qu ti do mt s lng ln cc clients truy xut n server, cng
nh vn clients vn hon ton truy xut c d liu trong trng hp my ch
ngng cung cp dch v do mi trng mt kt ni hoc kt ni yu. Bn cnh ,
kin trc c th em li nhiu hiu qu hn trong vic khai thc, tn dng ngun ti
nguyn sn c ca tt c cc MUs trong h thng mng, nh vic phn b lu
lng thng tin khi cn mt cch hp l trnh tc nghn trn mng.
Hin nay hng nghin cu ny ang c xem l vn nng v thu ht,
c nhiu s quan tm, u t ca cc nh nghin cu. y cng l l do chng ti
chn nghin cu v thc hin ti Nghin cu k thut cng tc kho d liu lu
gia cc clients trong H thng thng tin di ng da trn kin trc P2P.
1.2 Mc tiu ti
Trong bi cnh mi trng di ng hin nay, cc thit b di ng hn ch v
nng lng, kh nng tnh ton v khng gian lu tr. V vy, khi cc thit b ng
truy vn d liu cn phi tnh ton n hiu qu nng lng, hiu qu x l v hiu
qu lu tr. Trong kin trc client/server, cc client thng xuyn truy vn d liu
n server lm tng chi ph truyn thng, bng thng tng, thi gian hi p di. V
vy, ngi ta mun cc thit b di ng chia s cng tc kho lu tr (cache) gim
thi gian ch v tng kh nng ly c d liu trong mt mi trng t kt ni.
Nhiu cng trnh nghin cu a ra cc chin lc v k thut lu tr li d
liu (caching). Cc k thut x l, lu tr hiu qu gip tng hiu sut ca m hnh
cng tc chia s d liu. T gim chi ph truyn thng gia cc client v server
cng nh rt ngn thi gian hi p truy vn d liu.
Do , mc tiu ca chng ti t ra trong ti ny l nghin cu tm hiu cc
m hnh cng tc chia s d liu cho h thng thng tin di ng. Sau , xy dng v
hin thc ha mt kin trc h thng, ci t th nghim kim tra tnh hiu qu
ca kin trc.
1.4 Ni dung ti
Vi mc tiu ca ti t ra l nghin cu v tm hiu cc m hnh cng
tc d liu trong h thng thng tin di ng, sau xut mt kin trc v ci t
kim tra tnh hiu qu. Ni dung lun vn c chia thnh cu trc nh sau:
Chng 1: M u
Chng 2: Tng Quan V Cc M Hnh Cng Tc Chia S D Liu Trong Mi
Trng Di ng. Trong chng ny, chng ti s gii thiu mt s m hnh cng
tc chia s d liu trong mi trng di ng, cc thut ton qun l v thay th
kho lu tr, thut ton x l truy vn phn tn. ng thi tm hiu tng chnh
ca cc k thut lu tr trong mi trng di ng.
Chng 3: Kin Trc H Thng Thng Tin Di ng S Dng M Hnh Cng
Tc Chia S D Liu. Trong chng ny, chng ti s tm hiu xut mt kin
trc h thng thng tin di ng hiu qu vn dng m hnh cng tc chia s d
liu.
Chng 4: Ci t Th Nghim. Trong chng ny, chng ti s ci t th
nghim kin trc xut chng 3 kim tra tnh hiu qu.
Chng 5: Kt Qu Th Nghim. Trong chng ny, chng ti trnh by cc kt
qu thc nghim m chng ti ci t v so snh cc kt qu ny vi cc cng
trnh khc kim tra tnh hiu qu.
Chng 6: Tng Kt. Trong chng ny chng ti s tm tt cc vn t
c, nhng vn cn tn ti v hng pht trin trong tng lai.
Chng em c gng hon thnh lun vn mc tt nht. Tuy nhin, do kinh
nghim nghin cu cn non tr v thi gian lm lun vn hn ch nn lun vn c th
cn nhiu thiu st. Chng em xin chn thnh cm n v trn trng nhng kin ng
gp ca Thy C v cc bn hon thin lun vn hn.
Trong Hnh 2-2, tc gi nh ngha cc thnh phn trong kin trc xut nh sau:
Nt vng l cc MUs giao tip vi nhau trong phm vi bn knh truyn thng ca MU,
nt mng l cc MUs giao tip vi nhau thng qua MU trung gian(getways). V d
nh trong Hnh 2-2, MU2 c cc nt vng l MU3, MU4, MU9, MU6, cc nt mng l
MU1, MU11,MU5,MU7
10
Trong Hnh 2-4, nguyn l hot ng ca kin trc ny c th hin: trc tin
MU s tm d liu ti b nh cc b c x l ti lp Caching Process, nu d liu
11
LRU (Least Recently Used): tng ca thut ton l chn v thay th cc n v d liu lu
khng hp l
12
13
NGC LI
Kim tra ch mc lu tr cc b v xc nh tp
14
2. NU MU ch nhn c truy vn
o
Trong thut ton ny, bi bo [7] [Group-Caching] trnh by cng thc tnh
thi gian p ng cho mt truy vn. Cng thc c trnh by nh sau:
Gi S l kch thc ca mt n v d liu trong bng truy vn, D l s bc nhy
gia MU truy vn v MU cha d liu, r l t l truy xut kho lu tr, Vdisk l tc
c ca a, Vnet l tc ng truyn khng dy.
Xem r . S l kch thc d liu c th ly t kho lu tr nhm cho mt truy vn, r .
S . Vdisk l thi gian c d liu t a. Trong chin lc lu tr nhm ca bi bo
ny, khong cch ti a gia hai MU trong cng nhm l hai bc nhy. Do nu
kt qu truy vn c ly t ch mc trong kho lu tr nhm, th thi gian ti a
truyn d liu gia hai MU cng nhm l 2 . r . S . Vnet. Tng t vi vic truyn kt
qu gia MU d liu v MU truy vn, xem (1 r) .S l kch thc tp kt qu c th
ly t MU d liu, (1 r) .S .Vdisk l thi gian c d liu t a v (1 r) . S . Vnet .
15
16
17
cc b v tp kt qu t MU d liu kia gi
n (Info)
o
Own_S
Own_D
Other_S
Other_D
P2: MU d liu hin ti gi kt qu
n MU d liu cn li. MU d liu cn
li tng hp d liu v tr kt qu
cui cng v cho MU truy vn
Q2
Own_S
Between_D
Join_S*OtherD
P3: MU d liu cn li gi kt qu n
MU d liu hin ti. Mu hin ti s t
tng hp v gi kt qu cui cng v
MU truy vn
Q3 = Other_S*Between_D + Join_S*Own_D
o
18
Bng 2-2 Thut ton truy vn ti nhiu MU trong Group-Caching based Query
Processing
Qu er yN od e
Qu er yN o d e
Da ta N o de 1
Da ta N o de 2
Da ta N o de 1
Da ta N o de 2
Tr uy v n c on
Tr uy v n c on
Tr uy v n c on
Tr uy v n c on
Q uer yN od e
Q u er yN o de
Subquery
Result
Subquery
Result
Da ta N o de 1
Qu er yN o d e
Da ta N o de 2
Da ta N ode 1
Da ta N o de 2
K t t ru y v n con ti
Da ta N o de 1
Da ta N o de 2
K t tru y v n co n ti
Da ta N o de 1
Da ta N o de 2
P lan 1
Plan 2
Plan 3
19
20
ai = K / (tc - tski)
Trong tcl thi gian hin ti v tski l nhn thi gian ca ln truy cp u
tin trong K ln truy cp gn nht. t kt qu c lng tt nht, nhm tc
gi ty chn gi tr K trong khong 2 hoc 3. Nu mt hng mc d liu c
tng s ln truy cp t trc n nay nh hn K, tn sut truy cp s c tnh
da theo tng s ln truy cp .
Khong cch (dt):
Khong cch c xc nh bng s bc nhy gia MU yu cu v MU
p ng d liu. Tc gi s dng khong cch tnh utility nhm mc ch
u tin gi li cc hng mc c lu tr gc ti nhng MU xa hn. Vic
ny nhm tit kim bng thng v hn ch tr khi phi gi truy vn n
MU gc ly d liu.
Nhn thi gian (TTL):
Nhn thi gian TTLi ca hng mc di cho bit thi gian hp l ca mc d
liu . Nhng hng mc d liu c d liu m khong thi gian hp l cn li
ngn hn s b u tin thay th.
Kch thc d liu (sz):
Nhng hng mc d liu c kch thc ln hn s c u tin thay th
nhng ch cho cc hng mc d liu khc nh hn. Vic ny nhm mc
ch tng s lng hng mc d liu c lu tr, cng ng ngha vi vic
tng s lng yu cu d liu m MU s p ng c.
Da trn nhng tham s c xc nh nh trn, gi tr utilityi ca hng mc di
c tnh ton theo cng thc sau:
Utilityi = Ai.dti.TTLi / szi
Chin lc thay th kho lu tr theo gi tr LUV trong bi bo [9] [LUV] gip
tng kh nng truy cp thnh cng kho lu tr v hn ch tr truy vn. Cng nhm
mc ch gim thiu tr, gim ti mng, v hn ch s ph thuc ca MU vo
server, bi bo [11] [CCCM] xut mt kin trc cng tc chia s kho lu tr. Chi
tit v kin trc ny s c chng ti trnh by ngay sau y.
21
Mt DSi c th cha nhiu database. Trong kin trc ny, ch xt nhng giao tip,
x l trong phm vi mt cell, khng xt cc trng hp database c cache client
bn ngoi cell, hoay lin lc gia cc client khc cell.
22
2.3.5.1Lu tr
Khc vi cc m hnh chia s d liu khc, ti kin trc CCCM, nhm tc gi
xut tng tuyn chn mt tp nt c bit theo cc tiu ch ring lu tr d liu.
Tp nt c tuyn chn lu tr d liu gi l nhng nt active. Cc tiu ch la
chn tp nt active c nhm tc gi a ra bao gm: bng thng, tc CPU, tim
nng truy xut, t l lu tr thnh cng. Da vo cc tham s , bi bo xut thut
ton chn la tp nt lu tr, c th nh sau:
Vi mi vng Cj, j=1, 2,, n trong hnh mng, xt tt c nt Si, i=1, 2,, m
trong vng. Vi mi nt, nh ngha bn tham s: BWi l bng thng hin ti, SPi l
tc CPU, ALi l tim nng truy xut, CRi l t l lu tr thnh cng. T cc tham
s trn, tnh gi tr Weight (trng s) ca mi nt vi cng thc:
Wi = (BWi + SPi + CRi) / ALi
Tng hp tt c vector {Si, Wi} ng vi mi nt Si v sp xp theo th t gim dn
ca ID nt. Thut ton xc nh c tp nt active Sk, con ca tp nt Si (0 k m)
vi iu kin Wk > , vi l gi tr trng s ti thiu cho trc. Tp nt active ny s
c lu tr d liu.
2.3.5.2Khm ph
Khi c mt yu cu d liu ti nt, nt tm mc d liu trong kho lu tr ca
chnh n. Nu khng tm thy d liu yu cu, nt broadcast gi tin yu cu d liu
n tp nt active.. Khi mt nt active nhn c mt gi tin yu cu d liu, v tm
thy mc d liu trong kho lu tr ca n, n s gi mt gi tin Ack n nt yu cu
xc nhn.
Cc nt di ng thuc tp nt active to thnh h thng kho lu tr hp tc cho cc
nt cn li. C 3 trng hp khi c yu cu d liu ti nt:
-
23
2.3.5.3Nht qun
Cc thut ton duy tr nht qun kho lu tr c chia lm hai dng: stateful
(Kahol et al., 2001) v stateless (Cao, 2003), da vo vic trng thi kho lu tr c
c duy tr nt ngun d liu hay khng. Cc thut ton duy tr nht qun kho lu
tr gn y (Huang et al., 2006, 2007) ch yu l dng stateless.
Kin trc ny xut mt thut ton duy tr nht qun kho lu tr dng stateful,
da trn tng Adaptive Push. Mi nt duy tr gi tr nhn thi gian xc nh thi
gian ht hn ca hng mc c lu tr. y, server s quyt nh tp nt active
thc hin cp nht da theo trng thi (state) kho lu tr ca nt , da trn hai quy
tc:
-
24
2.3.5.4Thay th
Trong kin trc, tc gi xut gi tr Least Relevant Value (LRV) lm c s cho
ch thay th kho lu tr. D liu c LRV nh nht s b xa khi kho lu tr. Vic
tnh ton gi tr LRV c da trn ba tham s: xc sut truy cp, khong cch, v
kch thc d liu. C th vic tnh ton ba tham s v gi tr LRV c trnh by nh
sau:
Xc sut truy cp (A):
Tham s ny c s dng nhm ngha nhng hng mc c xc sut truy
cp t nht trong kho lu tr s c chn loi b. xc nh xc sut Ai
ca mt hng mc d liu di c truy xut trong tng s ln truy xut n tt
c cc hng mc d liu ti MU ang xt, cc tc gi trnh by cng thc:
Ai = ai / (a1 + a2 + + ai)
Trong , ai l tn sut truy cp ca hng mc d liu di. ai c c lng
l tn sut truy cp trong K ln truy cp gn nht. H thng duy tr nhn thi
25
26
[J.Li_2005]
2007
[N.Chand_2007]
Tiu Ch nh
Gi Gii Php
2009
[G.Anand
Haraj_2009]
2010
[Tu.P.M_
Nhung.H.L.T.
K_2010]
[9] - LUV
[11] - CCCM
[12] - MIX
Lu tr d liu
nh tuyn
Query
Processing
Thay
th
nh
Cu
trc
liu
iu phi truy
vn
27
Khuyt im
n vn ly d liu t
Ch cp n vic
nhm.
a ra gii php phn
chia v tng hp cc hng
mc d liu yu cu cho cc
nt khc.
Cooperative caching
lu tr cache.
lu tr vi y bn vn khi nt di ng.
chnh: lu tr, khm ph, Lu tr nhiu tham s
nht qun, thay th.
lm c s tnh ton, dn
28
CCCM
Chia cc MUs theo vng, B qua trng hp nu
tm kim theo vng.
khi nt di chuyn.
ni b mt vng.
Cha bn ti tnh di
2.5 Kt lun
Trong chng ny, chng ti trnh by tng quan cc m hnh cng tc chia s d
liu trong h thng thng tin di ng. Da vo , trong chng 3, chng ti s trnh
by kin trc xut Kin trc E-MIX v nguyn l hot ng ca kin trc E-MIX.
29
30
Data
BS
10
MU
3
4
MU
MU
MU
MU
MU
6
5
MU
MU
8
MU
9
MU
31
32
BS
MUs mng
MUs vng
10
Cache
3
4
1
5
8
9
Khi ngi s dng yu cu tm kim cc d liu trn cc MU, trc tin vic tm
kim s c thc hin cc b ti chnh kho lu tr ca MU. Vi tp d liu cn li
khng c tm thy ti kho lu tr cc b, thay v phi trc tip broadcast yu cu
n cc MU khc trong vng, MU ngun ch iu phi phn chia cc truy vn con ng
vi tp d liu cho cc MU ln cn tng hp gip. Nu cc MU ln cn khng th
tng hp d liu yu cu th MU ngun mi trc tip broadcast yu cu cho nhng
d liu cn thiu n tt c MU trong vng. Sau bc ny, nu vn cha c d liu
c yu cu th MU ngun mi gi yu cu n cc MU ngoi vng trong mt phm
vi gii hn trc. Nu d liu yu cu vn cha tng hp y trong phm vi quy
nh th yu cu s c gi n BS. Tt c cc MUs lin lc u thng qua mng v
tuyn.
33
34
35
da trn thut ton LUV [9]. Trong LC, chng ti chia thnh hai loi n v d liu
c lu tr: d liu chnh (Primary Data - PD) v d liu ph(Secondary Data - SD)
[12], trong PD c u tin cao, SD c u tin thp hn. Vic phn loi hai
loi d liu chnh ph nhm bo m kh nng tn ti t nht mt bn sao hng mc
d liu trong vng. Nhng SD c u tin thp nht s b u tin thay th nu
cache b y, trong khi nhng PD ch b loi b khi gi tr TTL3 ca n khng cn hp
l. Ngoi ra, vic thay th cc hng mc d liu nu cache b y cn ph thuc vo
vic hng mc d liu c ang nm trong lt yu cu hay khng. X l ny nhm
bo m cc hng mc d liu (d l SD hay PD) nu ang c yu cu truy vn
nhng cha xut kt qu cho ngi dng s khng b xa trong kho lu tr. Nh vy,
khi cn thm mt hng mc d liu mi vo kho lu tr v kho lu tr b y, SD
khng nm trong lt yu cu c u tin thp nht s b loi b, hng mc d liu
mi c thm vo. Nhng PD khng nm trong lt yu cu v c gi tr TTL khng
cn hp l s b loi b.
khng hp l
36
37
38
.
Hnh 3-6 Module "Cache Management"
ti s dng thut ton phn loi d liu c gii thiu trong [12] [MIX]. tng
chnh ca thut ton ny l: Nu d liu hi p c gn nhn l d liu chnh
(Primary Data - PD) th d liu s c lu li vi nhn l d liu ph (Secondary
Data - SD). Nu d liu c gn nhn l SD th MU gi phi gi km thm thng tin
ID ca MU gi d liu chnh PD, nu ID ca MU gi d liu chnh thuc vng ca
MU ngun(v d: MU1 Hnh 3-6) th d liu s c lu li gn nhn l SD, nu ID
ca MU gi d liu chnh khng thuc nt vng ca MU ngun th d liu s c
lu li gn nhn l PD.
V d Hnh 3-6, MU ngun (MU1 yu cu d liu A) nhn d liu hi p t
MU3 vi nhn d liu l SD, v MU3 gi km thng tin ID ca MU4 gi A vi nhn
l PD (do MU4 khng thuc nt vng ca MU ngun nn MU ngun lu A vi nhn
d liu l PD).
3.4.1.1.2Thay th d liu
Thng thng, cc m hnh cng tc d liu thng s dng cc gi tr LRU, TTL
[12], hoc tn sut truy cp [7],... lm tiu ch thay th kho lu tr. Tuy nhin, vi
nhng c tnh ring ca mng ty bin khng dy, chng ti nhn thy LRU, TTL,
tn sut truy cpc th khng phi l thc o chinh xc duy nht trong chin lc
thay th d liu v b qua cc thng s quan trng khc. Do , chng ti s dng gi
tr LUV [9], ph thuc vo bn tham s quan trng: xc sut truy cp, khong cch,
TTL, v kch thc d liu lm c s cho chin lc thay th d liu.
xy dng chin lc thay th thay th d liu va gim ti tr, va tng kh
nng lu tr thnh cng, chng ti p dng hai tiu ch LUV v TTL lm c s cho
vic thay th ty d liu, c th nh sau: khi mt hng mc d liu mi D c thm
vo kho lu tr cc b, nu kch thc kho lu tr cc b y, MUi s tm nhng
hng mc d liu l d liu ph c lu trong kho lu tr cc b, MUi s loi b
nhng hng mc d liu no c u tin thp nht theo thut ton LUV [9], sau
hng mc d liu D s c thm vo kho lu tr cc b. Theo mt chu k thi gian,
MUi s thay th nhng hng mc d liu l primary data nu gi tr TTL ca n
khng cn hp l.
3.4.1.1.3Thay i ph hp vi truy vn a hng mc
40
41
1.2.
Lp i n Cache.Index
1.2.1.
Nu Cache[i] l PD
Xa Cache[i]
1.2.1.1.2.
Thm D
1.2.1.1.3.
Tr v Cache[i]
1.2.1.2. Ngc li
1.2.1.2.1.
Nu iPMin = -1
1.2.1.2.1.1.
1.2.1.2.2.
iPMin = i
Ngc li
1.2.1.2.2.1.
1.2.1.2.2.1.1.
1.2.2.
iPMin = i
Ngc li
1.2.2.1. Nu iSMin = -1
1.2.2.1.1.
iSMin = i
1.2.2.2. Ngc li
1.2.2.2.1.
1.2.2.2.1.1.
1.3.
iSMin = i
Nu iSMin != -1
1.3.1.
Xa Cache[iSMin]
1.3.2.
Thm D
1.3.3.
Tr v Cache[iSMin]
1.4.
Ngc li
1.4.1.
Xa Cache[iPMin]
1.4.2.
Thm D
1.4.3.
Tr v Cache[iPMin]
42
M gi
D liu D: sender, request_data, TTL
u vo: D
2. Nu MU nhn D t MU khc
1.1 Kim tra kch thc RRT
1.2 Nu kch thc RRT y
1.2.1 Lp i n RRT.Length
1.2.1.1
Nu RRT[i].TTL khng hp
l
1.2.1.1.1
1.2.2 Ghi D vo RRT
43
Xa RRT[i]
1.3 Ngc li
1.3.1 Ghi D vo RRT
ID_Neighs[i]
Gi d liu n ID_Neighs[i]
44
45
M gi
1. MU ngun kim tra trong kho lu tr cc b c hng
mc d liu cn hay khng?
1.1.
1.2.
Nu sai,
1.2.1.
1.2.2.
T RRT, xc nh
1.2.3.
ng
gi
danh
sch
trn
vo
JoinRequest, gi n cc MU ln cn mt bc
nhy
46
47
tm
thy
liu
trong
ListKnownItem
hoc
Thuc IDNeighs
48
(ListKnownItem.Count
6.2.
ListSubDN2 gm cc MU tha
o
Thuc ListNeighborDN
cha
hng
mc
ListJoinItem2
liu
thuc
ListKnownItem
ListLocalItem
7.2.
Tnh
ton
chi
ph
Cost
tng
hp
Gi
RjoinRequest2
MU
ngun
gm
Nu
hiu
sut
(ListLocalItem.Count
tng
hp
H2
ListJoinItem2.Count)
=
/
MU
liu
tin
hnh
tng
hp
ListJoinItem2
7.4.2.
Update
RRT
lin
quan
cc
49
M gi
1. MU ngun tng hp ListDN gm cc MU d liu gi
RjoinRequest v
2. MU ngun sp xp ListDN theo u tin mt l tng dn
theo gi tr (chi ph trung bnh) = (chi ph DN tng
hp) / (s lng hng mc d liu DN gi v), v u
tin hai l gim dn theo s lng hng mc d liu
DN c th gi v
3. Gi
ListNotHaveItem
ListKnownItem
4.1.1.
To ListItemRequest = ListNotHaveItem
50
GIAO
(ListDN[i].ListLocalItem
ListDN[i].ListJoinItem)
4.1.2.
n MU d liu
4.1.3.
ListNotHaveItem
ListNotHaveItem
ListItemRequest
4.2.
Update
RRT
lin
quan
ListDN[i]
ListDN[i].ListLocalItem
51
M gi
1. Vi mi MU trong ListSubDN
1.1.
[i].ListItem ti ListSubDN[i].MU
1.2.
liu
1.3.
cc b ca MU d liu
52
1.4.
53
M gi
data: ListNotHaveItem(Danh sch cc hng mc d
liu cn thiu), d(d liu tm c ti MUs mng)
MU ngun: IdNode_S
1. X l d tm nh tuyn
2. Nu cn trong gii hn nh tuyn
2.1.
2.2.
Nu tm c d thuc ListNotHaveItem
2.2.1.
Gi d v cho IdNode_S
2.2.2.
ListNotHaveItem
ListNotHaveItem d
2.2.3.
2.2.3.1. Quay li bc 1
54
2.3.
Ngc li,
2.3.1.
Quay li bc 1
3. Ngc li,
3.1.
Gi yu cu d liu ln server
Ch mc d liu
Data
D liu lu tr
Label
Zone Process
RRT:
RRT
Time stamp
Sender
a ch MUs gi d liu.
Request Data
55
IDNeighs:
IDNeighs
ID
S ID
IDMU
a ch MU
posX
Ta X ca IDNode
posY
Ta Y ca IDNode
Name
Tn MU
JoinRequest:
JoinRequest
QN
ListKnownItem
ListUnknownItem
ListRRT
a ch QN
Danh sch cc hng mc d liu d
liu QN bit ni lu tr
Danh sch cc hng mc d liu d
liu QN cha bit ni lu tr
Danh sch cc record trong RRT c
lin quan n ListKnownItem
RJoinRequest:
RJoinRequest
DN
a ch DN
QN
a ch QN
ListLocalItem
ListZoneItem
Cost
gi ListLocalItem v ListZoneItem
v QN
56
a ch DN
ListItem
Cost
gi ListLocalItem v ListZoneItem
v QN
MU
MU d liu
Danh sch ton b cc hng mc d
ListItem
liu MU c th gi v cho MU d
liu
DataRequest:
DataRequest
QN
a ch QN
DN
a ch DN
ListItemRequest
Routing Process
Route Cache
Route Cache
ID
S ID
IDMU_S
a ch MU trong vng
Num
57
rlNumNeigh
RD_Request
IDMU_S
a ch MU gi
IDMU_D
a ch MU nhn
Num
S lng nt mng MU gi
IDMUs
Cc ID ca MU thuc nt vng
3.5.2Cu trc x l
Cache
Struct Cache
{
K t label;
S nguyn item;
a ch IDMU;
Thi gian time;
Bin lun l allowDel;
//Tn sut truy cp
S thc utility;
};
RRT
Struct RRT
{
S nguyn sender;
S nguyn request_data;
Thi gian timestamp;
};
IDNeighs
58
Struct IDNeighs
{
S nguyn
ID;
S nguyn
IDMU;
S nguyn
posX;
S nguyn
posY;
Chui
name;
};
Route Cache
struct RD_requestCache
{
S nguyn ID;
S nguyn IDMU_S;
S nguyn Num;
Danh sch
IDMUs;
};
rlNumNeigh
struct rlNumNeigh
{
S nguyn IDMU_S;
S nguyn IDMU_D;
S nguyn Num;
Danh sch
IDMUs;
};
3.6 Kt lun
Trong chng ny chng ti trnh by kin trc v nguyn l hot ng ti mi
MU, cng nh xut cc k thut lin quan n kin trc v phng thc t chc c
59
s d liu ti MU. Trong chng tip theo, chng ti s trnh by cc cng c h tr,
k thut xy dng m hnh kin trc E-MIX v chng trnh ci t th nghim kin
trc E-MIX vi cc tiu ch nh sau:
S lng thng ip ca mt yu cu d liu
S lng thng ip trung bnh ca mt yu cu d liu
Thi gian hi p ca mt yu cu d liu
Thi gian hi p trung bnh ca mt yu cu d liu
T l a mt yu cu d liu ln knh uplink
60
vi s h tr cng c m ngun m
61
To kch bn m phng
Phn tc h
Network simulator 2
K ch bn (.tcl)
K t qu (.txt)
E-MIX
OTcl
Trong phn tip theo chng ti trnh by v chng trnh to kch bn m phng
E-MIX Demo v xy dng kin trc E-MIX.
63
Tn mn hnh
ngha /Ghi ch
Form Main
Mn hnh chnh
Tab Model
To m hnh P2P
Tab Animation
To hiu ng
Tab Result
V biu kt qu
64
M t chc nng
K hiu
Nt nhn
Gii thch
Xut tp tin lu vt
Tab Configuration
node
Tc di chuyn
Tab Model
mun
Xc nh d liu yu cu
65
mobile
3
Tab Animation
Tab Result
M t chc nng
K hiu Chc nng
Gii thch
Mobile node
Trace
Position
66
Movement
Model
Xc nh tc di chyn (m/s)
Xc nh giao thc
Criteria
Export
Cancel
67
M t chc nng
K hiu
Nt nhn
Random
View radio
View link
Gii thch
Pht sinh ngu nhin v tr tng mobile node, ko
th tng mobile node xc nh v tr mong mun.
Xem bn knh phm vi truyn sng v tuyn ca
tng mobile node
Xem cc ng kt ni gia cc mobile node trong
m hnh
Bng 4-4 Chi tit mn hnh "Model"
M t chc nng
K hiu
1
Nt nhn
Play
Gii thch
Kch hot hiu ng hot ng truyn gi tin gia cc
68
thit b mobile
2
Open
M t chc nng
K hiu
Nt nhn
Gii thch
Chn tiu ch phn tch kt qu m phng v v
Criteria
Option
Select
biu .
69
70
EMixAgent
RRT
MyCache
numNeighNeigh
MyList
STT
Lp
M t
ng vai tr l lp giao tip gi v nhn cc gi
EMixAgent
RRT
MyCache
MyList
4.6.2.1Lp RRT
Cu trc d liu
71
Cc hm chc nng
STT
1
Tn hm
M t chc nng
void Refresh(receiveData,
int)
thng tin
void SaveData(receiveData,
int)
RRT
nsaddr_t searchItem(int)
72
int isFull()
void print_RRT()
void init()
void setTTL(int)
Gn thi gian qu hn
int getTTL()
Ly thi gian qu hn
void deleteItem(int)
10
void deleteItem(int,
nsaddr_t)
gi xc nh.
11
void sortBySender()
12
13
int* ConvertRRTToArray(int
&)
4.6.2.2Lp MyCache
Cu trc d liu
Lp MyCache ng vai tr l kho lu tr ti mi thit b mobile, chng ti dng
bng bm lu tr d liu. Cu trc d liu:
class data {
public:
char _label;
int _item;
nsaddr_t _IDMU;
int _time;
bool _allowDel;
//Dng tnh gi tr LUV
int _last;
float _a;
int _dem;
float _utility;
void init();
};
typedef std::multimap<int, data> ITEM;
73
class MyCache {
public:
int _index;
int _size;
ITEM _item;
int _TTL;
MyCache();
void init();
int getSize();
void setSize(int);
data getItem(int);
data addItemp(data);
data* addArrayItem(data*, int, int&, int);
void calcUtility(int);
void deleteitem(int);
void setAllowDel(data, bool);
int searchItem(int, int);
void UpdateItem(data, int);
void print_item();
int isFull();
void setTTL(int);
int getTTL();
};
Bng 4-10 Cu trc d liu ca lp MyCache
Cc hm chc nng
STT
Tn hm
M t chc nng
MyCache()
void init()
int getSize()
void setSize(int)
data getItem(int)
data addItemp(data)
7
8
Hm khi to
Khi to cc gi tr ban u cho
cache
data* addArrayItem(data*,
hng mc d liu.
void calcUtility(int)
74
cache
void deleteitem(int)
void setAllowDel(data,
bool)
hng mc d liu
11
12
13
void print_item()
14
int isFull()
15
void setTTL(int)
Thit lp gi tr TTL
16
int getTTL()
Ly gi tr TTL
9
10
4.6.2.3Lp numNeighNeigh
Cu trc d liu
class numNeighNeigh
{
public:
int id;
int num;
MyList idNeigh;
};
typedef std::map<int,numNeighNeigh>BUFFER;
M t chc nng
Lp numNeighNeigh l thuc tnh ca lp EMixAgent, c nhim v lu tr thng
tin v s lng nt vng ca mt MU.
4.6.2.4Lp MyList
Cu trc d liu
Lp MyList c dng lu tr thng tin cc hng xm ca MU. Chng ti
dng danh sch lin kt n qun l lp MyList, cu trc d liu ti mi node l
thng tin ca mt thit b mobile.
75
struct node
{
int info;
int _postX;
int _posY;
char*name;
node* pnext;
};
struct list
{
node* phead;
node* ptail;
int n;
};
class MyList
{
public:
list l;
public:
void init(list &);
node* getNode(int);
void addNode(list &,node*);
void input(list &,int );
void output(list);
int seachInfo(list,int);
void output_neighbors(list);
void convertArray(list,int[]);
int getNumNode(list);
int isExists(list,int);
int find_MU_previous(list,int);
int getMU_Head(list);
int isEmpty(list);
};
Bng 4-13 Cu trc d liu ca lp MyList
Cc hm chc nng
STT
Tn hm
M t chc nng
node* getNode(int)
Ly a ch mt node
76
void output(list)
int seachInfo(list,int)
void output_neighbors(list)
void convertArray(list,int[])
int getNumNode(list)
10
int isExists(list,int)
11
int find_MU_previous(list,int)
12
int getMU_Head(list)
13
int isEmpty(list)
4.6.2.5Lp EMixAgent
Cu trc d liu
Chng ti xy dng giao thc EMixAgent c k tha t giao thc Agent ca
NS-2, trong giao thc ny c s dng cc thnh phn mng c bn ca NS-2. Do tnh
cht k tha nn giao thc m chng ti xy dng c s dng cc thuc tnh v
phng thc c sn trong NS-2 nh:
packet
nsaddr_t
command(int,const char*const*)
recv(Packet*, Handler*)
77
class EMixAgent: public Agent {
public:
friend class EMixAgent_PktTime;
friend class PktTime_Timeout;
friend class PktNumNeigh_Timeout;
friend class PktMUInter_Timeout;
friend class PktMU_RRT_Timeout;
friend class PktMU_Neighs_Timeout;
friend class PktMU_receive_result_Timeout;
friend class PktMU_wait_result_Timeout;
friend class PktMU_find_neighs_Timeout;
friend class Pkt_resolve_request_Timeout;
friend class Pkt_join_resquest_Timeout;
friend class Pkt_relay_join_Timeout;
friend class Pkt_resquest_data_for_DN_Timeout;
friend class Pkt_resquest_data_for_broadcast_Timeout;
RRT _RRT;
int _sizeCache;
nsaddr_t id;
int counter;
bool result;
int sl;
int dem;
int currentTime;
int X;
int Y;
int numNode;
int *request_items;
int* original_request_items;
int request_items_size, original_request_items_size;
bool result_routing;
int TH;
MyList id_neighbors;
MyList id_neighbors_temp;
MyList buffer_temp;
BUFFER _buffer;
STORE_PACKET _store_packet;
STORE_REQUEST _store_request;
STORE_PROFILE _profile;
int trace;
int traceThongDiepMau;
int traceThoiGian;
int traceUplink;
MyCache _myCache;
fstream write;
fstream writeThoiGian;
78
fstream writeNeighs;
fstream writeUplink;
receiveData d;
int firstTime;
bool bJoinTimeout, bBroadcastTimeout;
bool bOutputResult;
myRelayJoinClass* lstRelayJoin1;
myRelayJoinClass* lstRelayJoin2;
nsaddr_t* lstRelayJoinSender1;
nsaddr_t* lstRelayJoinSender2;
int lstRelayJoinSize1, lstRelayJoinSize2;
EMixAgent(nsaddr_t);
int command(int, const char* const *);
void handleRD_request(Packet*);
void recv(Packet*, Handler*);
void Queue(int*, int);
void timeOut();
void print_position();
bool delItem(int*, int&, int);
void receive_request_Data(Packet*);
void Filter(Packet*);
void replay_result(Packet*);
void request_data_routing();
void reset_numNeigh(MyList);
void initNum();
void update_numNeighs(int, int);
MyList get_idNeighs(int);
int find_max_numNeigh(MyList);
Packet *getPacket();
void SaveNumNeighs(Packet*);
void MU_Inter_request_data_routing();
void MU_Inter_find_Mu_routing();
void find_neighbors();
void MU_inter_receive_request(Packet*);
void feedback(Packet*);
void Save_neighbors(Packet*);
void output_neighbors();
void receive_position(Packet*);
void Print_Buffer();
void replay_find_Mu_routing(nsaddr_t _src);
void receive_rrt_routing(Packet*);
void receive_neighs_routing(Packet*);
void SolveToSource(Packet *, int);
void request_Data(int*, int);
myJoinResquestClass CreateJoinResquestPkt(int*, int&);
void Solve_When_Receive_Join_Resquest(Packet*);
void MU_join_resquest_1();
void DN_receive_resquest_data_1(Packet*);
79
void QN_broadcast_in_zone();
void QN_output_data();
void output_time(int type);
void output_time(int type, nsaddr_t Mu_gui);
void output_message(nsaddr_t, int);
void output_message(int, nsaddr_t, int);
protected:
EMixAgent_PktTime pkt_timer_;
PktTime_Timeout pkt_timeout;
PktNumNeigh_Timeout pkt_numNeigh_timeout;
PktMUInter_Timeout pkt_MUInter_timeout;
PktMU_RRT_Timeout pkt_MU_RRT_timeout;
PktMU_Neighs_Timeout pkt_MU_Neighs_timeout;
PktMU_receive_result_Timeout pkt_MU_receive_result_timeout;
PktMU_wait_result_Timeout pkt_MU_wait_result_timeout;
PktMU_find_neighs_Timeout pkt_MU_find_neighs_timeout;
Pkt_resolve_request_Timeout pkt_resolve_reuqest_timeout;
Pkt_join_resquest_Timeout pkt_join_resquest_timeout;
Pkt_relay_join_Timeout pkt_relay_join_timeout;
Pkt_resquest_data_for_DN_Timeout
pkt_resquest_data_for_DN_timeout;
Pkt_resquest_data_for_broadcast_Timeout
pkt_resquest_data_for_broadcast_timeout;
void reset_EMixAgent_pkt();
void numNeigh_timeout();
void MU_Neighs_timeout();
void MU_wait_result_timeout();
void MU_find_neighs_timeout();
};
Bng 4-15 Cu trc d liu lp EMixAgent
Tn hm
Hm khi to
EMixAgent(nsaddr_t)
int
M t chc nng
command(int,
const
char*
const *)
void handleRD_request(Packet*)
3
void recv(Packet*, Handler*)
liu
80
void timeOut()
phi thng bo kt qu
Tm kim v xut cc MU ln cn
void print_position()
mt bc nhy ca mt nt
7
bool delItem(int*, int&, int)
void
Hm x l khi mt MU nhn c
receive_request_Data(Packet*)
yu cu d liu t mt MU khc.
Hm x l khi mt MU nhn c
void Filter(Packet*)
d liu tht
10
Hm x l khi MU vng c kt
void replay_result(Packet*)
11
Hm x l yu cu d liu trong
void request_data_routing()
phm vi nh tuyn
12
xm
13
14
void initNum()
void update_numNeighs(int, int)
15
16
MyList get_idNeighs(int)
17
int find_max_numNeigh(MyList)
Tm MU c nt vng ln nht
18
Packet *getPacket()
void SaveNumNeighs(Packet*)
19
void
20
MU_Inter_request_data_routing()
void MU_Inter_find_Mu_routing()
21
void find_neighbors()
22
81
void
MU_inter_receive_request(Packet
23
*)
void feedback(Packet*)
24
25
v x l
void Save_neighbors(Packet*)
mn hnh.
26
27
void receive_position(Packet*)
Ghi nhn cc MU ln cn
Xut danh sch cc MU ln cn ca
void Print_Buffer()
mt nt
28
void
replay_find_Mu_routing(nsaddr_t
29
30
31
_src)
void
receive_rrt_routing(Packet*)
da vo RRT
void
Yu cu d liu c gi n cc
receive_neighs_routing(Packet*)
nt vng.
void
*, Cc MU x l khi gi tin t cc nt
SolveToSource(Packet
32
int)
33
myJoinResquestClass
CreateJoinResquestPkt(int*,
34
35
MU ngun gi cho cc MU h tr
int&)
void
Solve_When_Receive_Join_Resques
t(Packet*)
ngun
MU ngun nhn thng bo t MU
36
h tr v yu cu chnh xc n cc
void MU_join_resquest ()
MU h tr
37
void
82
DN_receive_resquest_data(Packet
*)
chnh xc t MU ngun
38
void QN_broadcast_in_zone()
39
void QN_output_data()
40
41
42
43
void
output_time(int
nsaddr_t Mu_gui)
void
thi gian p ng
int)
void
s lng thng ip
output_message(int, Xut thng bo ra tp tin lu tr v
nsaddr_t, int)
s lng thng ip
Hm x l ca EmixAgent vi chu
44
void reset_EMixAgent_pkt()
45
void numNeigh_timeout()
46
void MU_Neighs_timeout()
47
void MU_wait_result_timeout()
48
void MU_find_neighs_timeout()
k 50ms
Hm x l tin hnh yu cu d
liu trong phm vi nh tuyn
Hm kim tra trong hng xm c
d liu hay khng
Hm x l n nt mng ly d
liu nu c
Hm x l trao i thng tin s
lng, ID ca hng xm
4.6.3.1Lp RRT
Trong lp RRT, chng ti p dng Thut ton lu tr thng tin ti RRT trnh
by Error! Reference source not found..
void
void
RRT::SaveData(receiveData
RRT::SaveData(receiveData
d, d,
intint
counter)
counter)
{ {
83
objRRT obj;
obj._item = d._item;
obj._sender = d._sender;
obj._time = counter;
int temp = 0;
if (isFull() == 1) {
mapRRT::iterator pos;
for (pos = _mapRRT.begin(); pos != _mapRRT.end(); ++pos) {
if (counter > (pos->second._time + TTL)) {
_mapRRT.erase(temp);
_mapRRT.insert(pair<int, objRRT> (temp, obj));
return;
}
temp++;
}
} else {
_mapRRT.insert(pair<int, objRRT> (_index, obj));
_index++;
}
}
4.6.3.2Lp MyCache
Trong lp MyCache, chng ti p dng tnh gi tr utility v thut ton xc nh
d liu chnh v d liu ph c trnh by Bng 4-18 v Bng 4-19.
void MyCache::calcUtility(int counter) {
ITEM::iterator pos;
float temp = (float) NEAR_ACCESS_NUM;
float res = 0;
for (pos = _item.begin(); pos != _item.end(); pos++) {
if (counter > pos->second._last)
pos->second._a = temp / (float) (counter - pos->second._last);
else
pos->second._a = 0;
res += pos->second._a;
}
if (res > 0)
for (pos = _item.begin();
pos->second._utility =
>second._time);
}
else
for (pos = _item.begin();
pos->second._utility =
}
}
84
85
if (item1 != 0) {
d = getItem(item1);
if (d._allowDel) {
_item.erase(temp1);
lstDelData[iCount] = d;
lstDelIndex[iCount] = temp1;
iCount++;
}
} else {
d = getItem(pos2->second._item);
if (d._allowDel) {
_item.erase(pos2->first);
lstDelData[iCount] = d;
lstDelIndex[iCount] = pos2->first;
iCount++;
}
}
}
} else
iDelSize = 0;
for (int i = 0; i < iSize; i++) {
if (i < iCount) {
if (lstDelIndex[i] != _index) {
this->_item.insert(pair<int, data> (lstDelIndex[i],
lstData[i]));
} else {
if (_index < _size) {
this->_item.insert(pair<int, data> (lstDelIndex[i],
lstData[i]));
_index++;
}
}
} else {
if (_index < _size) {
this->_item.insert(pair<int, data> (_index, lstData[i]));
_index++;
}
}
}
return lstDelData;
}
4.6.3.3Lp MyList
Trong lp MyList, chng ti x l lu tr thng tin cc hng xm ca MU bng
cu trc danh sch lin kt n.
void MyList::addNode(list &lst,node*p)
{
if(lst.phead==NULL)
lst.phead=lst.ptail=p;
86
else
{
lst.ptail->pnext=p;
lst.ptail=p;
}
}
void MyList::input(list &l,int info)
{
node*p=getNode(info);
addNode(l,p);
}
4.6.3.4Lp numNeighNeigh
Ti lp numNeighNeigh, chng ti x l lu tr thng tin s lng nt vng ca
cc MU hng xm bng bng bm, hm SaveNumNeighs thc hin lu tr thng tin
nh sau:
void EMixAgent::SaveNumNeighs(Packet*p) {
replay_numberNeigh_pkt*S = REPLAY_NUMBER_NEIGH_PKT(p);
numNeighNeigh numNeigh;
numNeigh.num = S->numNeigh;
numNeigh.idNeigh = S->id_neighs;
numNeigh.id = S->src_;
_buffer.insert(pair<int, numNeighNeigh> ((int) S->src_, numNeigh));
result_routing = TRUE;
}
87
recv(Packet* p, Handler*h)
}
}
88
Tn gi tin
M t
Gi tin duy tr danh sch MU ln
hdr_protoname_pkt
request_numberNeigh_pkt
replay_numberNeigh_pkt
request_data_pkt
Gi tin yu cu d liu
request_data_routing_pkt
replay_data_routing_pkt
join_resquest_pkt
relay_join_pkt
cn
Gi tin xc nh nt mng ca mt
nt
Gi tin tr li cho gi tin xc nh
nt mng
ngha
a ch ca MU ngun
89
daddr()
tin
qung
cc
MU
xung
quanh
(IP_BROACAST).
Gi tr ttl mc nh trong NS-2
ttl()
Ngoi
ra
NS-2
cn
kiu
gi
tin
thng
dng
nh
hdr_cmn
ngha
Kch thc gi tin
size()
error()
next_hop()
Xc nh MU ch.
90
Thuc tnh
ngha
ID ca gi tin
id_pkt
src_
a ch ngun ca gi tin
des_
a ch ch gi tin chuyn n
numNeigh
S lng nt vng ca MU
id_neighs
4.6.7Gi gi tin
Sau khi to ra gi tin ca giao thc EMixAgent, chng ti thc hin ng k gi
tin trong NS-2. Qu trnh ng k c trnh by trong phn ph lc.
Tip theo chng ti thc hin gi gi tin n MU xc nh. Qu trnh gi c
trnh by trong Bng 4-29.
1. void EMixAgent::MU_find_neighs_timeout()
2. {
3.
int num=id_neighbors.getNumNode(id_neighbors.l);
4.
Packet *p=allocpkt();
5.
replay_numberNeigh_pkt *hdr=REPLAY_NUMBER_NEIGH_PKT(p);
6.
hdr_ip*ip=HDR_IP(p);
7.
hdr_cmn *ch=HDR_CMN(p);
8.
hdr->src_=id;
9.
hdr->id_neighs=id_neighbors;
10.
hdr->numNeigh=num;
11.
hdr->des_=IP_BROADCAST;
12.
ip->daddr()=IP_BROADCAST;
13.
ch->ptype()=RL_NUMNeigh;
14.
send(p,0);
15. }
91
_agent=agent;
5.
6. protected:
7.
EMixAgent * _agent;
8.
9. };
92
Phng thc resched(10.0): sau khong thi gian 10.0 ms chng trnh gi thc
thi
phng
thc
expire(Event
*e)
gi
thc
thi
phng
thc
93
4.7 Kt lun
Trong chng ny, chng ti trnh by cc kin thc c bn v NS-2 v chng
trnh m phng kin trc E-MIX theo cc tiu ch ra trong chng 3. Chi tit v
NS-2, mi trng th nghim cygwin v chng trnh m phng s c trnh by c
th trong phn ph lc B. chng tip theo, chng ti tin hnh thc hin cc th
nghim theo tiu ch v so snh nh gi kt qu vi cc cng trnh nghin cu m
chng ti nu ra trong chng 2.
94
Chng 5 - KT QU M PHNG
5.1 Gii thiu
Trong chng 3, chng ti a r
thng thng tin di ng kin trc E-MIX. Da vo kin trc ny, chng ti tin hnh
thc hin cc m phng kim tra tnh hiu qu ca kin trc E-MIX. Cc tiu ch
th nghim chng ti t ra nh sau:
T l a yu cu d liu ln knh uplink
Thi gian p ng ca mt yu cu d liu
Thi gian p ng trung bnh ca mt yu cu d liu
S lng thng ip cho mt yu cu d liu.
S lng thng ip thng ip trung bnh cho mt yu cu d liu.
Trong chng ny, chng ti chia ra lm ba phn: Phn 5.2.1 trnh by cc tiu
ch, ngha v mc tiu a ra tiu ch th nghim. Phn l thc hin m phng kim
nghim tnh hiu qu ca kin trc E-MIX theo cc tiu ch c t ra.
95
LC5
DN6
Zone7
96
BS8
LC, DN
LC, Zone
LC, BS
DN, Zone
DN, BS
10
Zone, BS
11
12
LC, DN, BS
13
DN, Zone, BS
14
LC, Zone, BS
15
Tuy nhin, vi nguyn l hot ca kin trc E-MIX (E-MIX- 39), chng ti phn
tch cc trng hp trong Bng 5-1 thnh cc trng hp chi tit hn c th hin
trong Bng 5-2.
Trng hp
ngha
Thng tin d liu c tm
D0
thy ti local ca cc MU d
liu (DN)
DN
D1
97
LC
D0
D1
BS
LC, D0
LC, D1
LC, BS
D0, D1
10
LC, D0, D1
11
D0, D1, Z
12
D0, D1, BS
13
14
15
D0, D1, Z, BS
16
Gi tr
Vng m phng
950m x 510m
S lng MU
10 100
Bng thng
2 Mb/s
250 m
2-3 bc nhy
98
S lng MU x 10
10 hng mc d liu
99
Bng kt qu
Trng
hp
MU
D liu yu cu
Kt qu
(RD)
{136, 139}
{136, 139}
14
22
{182}
28
{2000}
28
14
10
11
12
13
14
15
16
22
28
30
30
52
52
52
52
52
52
S
100
Nhn xt:
Bng kt qu
Trng
hp
MU
D liu yu cu
Kt qu
(RD)
{136, 139}
{136, 139}
20
101
50
{182}
330
{2000}
330
20
10
11
12
13
14
15
16
50
342
50
50
354
354
366
366
360
372
102
Nhn xt
Bng kt qu
Trng
hp
MU
D liu yu cu
Kt qu
(RD)
103
18
18
{222, 226}
22
18
{299, 112}
30
18
{245, 122}
54
18
{2000}
54
18
22
18
30
18
54
18
33
10
18
11
18
12
18
13
18
14
18
15
18
33
60
60
60
60
60
18
60
2000}
Bng 5-7Kt qu s lng thng ip vi s lng 20 MUs
104
Nhn xt
Bng kt qu
Trng
hp
MU
D liu yu cu
Kt qu
(RD)
18
18
{222, 226}
20
18
{299, 112}
50
18
{245, 122}
591
18
{2000}
580
18
20
18
50
105
18
602
18
50
10
18
11
18
12
18
13
18
14
18
15
18
50
624
613
646
635
635
18
657
2000}
Bng 5-8 Kt qu thi gian p ng ca mt RD vi s lng 20 MUs
Nhn xt
106
Chi ph tng
S lng hng
Chi ph tng
hp
mc tng hp
hp trung bnh
17
{173, 334}
25
{366}
DN
mc d liu tng
hp
Danh sch cc DN sau khi sp xp theo chi ph trung bnh v s lng hng
mc
Danh sch hng
Chi ph tng
S lng hng
Chi ph tng
hp
mc tng hp
hp trung bnh
17
{173, 334}
25
{366}
DN
mc d liu tng
hp
107
17
{173, 334}
25
{366}
Bng kt qu
Trng
hp
MU
D liu yu cu
Kt qu
(RD)
23
23
{356, 359}
20
23
31
23
{154}
49
23
{2000}
49
23
20
23
23
23
10
23
11
23
12
23
13
23
14
23
108
31
49
31
31
48
48
48
48
15
48
23
16
48
2000}
Bng 5-9 Kt qu s lng thng ip vi s lng 30 MUs
Bng kt qu
Trng
hp
MU
D liu yu cu
Kt qu
(RD)
23
23
{356, 359}
20
23
50
23
{154}
530
23
{2000}
530
23
20
109
23
23
23
10
23
11
23
12
23
13
23
14
23
15
23
50
550
50
50
570
570
590
590
580
23
600
2000}
Bng 5-10 Kt qu thi gian p ng ca mt RD vi s lng 30 MUs
Bng kt qu
Trng
hp
MU
D liu yu cu
Kt qu
(RD)
35
35
{431, 366}
34
35
49
35
{501}
72
35
{2000}
72
35
34
35
35
35
10
35
11
35
12
35
13
35
111
49
72
54
54
75
75
75
35
15
35
75
75
35
16
75
2000}
Bng 5-11 Kt qu s lng thng ip vi s lng 40 MUs
Bng kt qu
Trng
hp
MU
D liu yu cu
Kt qu
(RD)
35
35
{431, 366}
20
35
50
112
35
{501}
730
35
{2000}
730
35
20
35
35
35
10
35
11
35
12
35
13
35
14
35
15
35
50
758
50
50
786
786
814
814
800
35
828
2000}
Bng 5-12 Kt qu thi gian p ng ca mt RD vi s lng 40 MUs
113
114
T l a yu cu ln knh uplink
Uplink
14%
Zone
86%
Nhn xt:
Kt qu Hnh 5-9 cho thy s lng yu cu d liu c gii quyt trong vng
cng tc gia cc MUs l 86%, ti BS l 14%. Chng ti thc nghim tiu ch ny
nh gi tnh hiu qu chia s d liu trong vng cng tc, gim chi ph truyn thng,
rt ngn thi gian hi p truy vn d liu, gim bng thng ln BS v tit kim nng
lng cho cc MUs.
Bng kt qu
Trng
hp
MU
D liu yu cu
Kt qu
(RD)
31
31
{162, 131}
58
31
70
31
{355}
113
31
{2000}
113
31
58
31
70
115
555}
8
31
31
10
31
11
31
12
31
13
31
14
31
15
31
113
73
73
145
145
145
145
145
31
145
2000}
Bng 5-14 Kt qu s lng thng ip vi s lng 50 MUs
116
Bng kt qu
Trng
hp
MU
D liu yu cu
Kt qu
(RD)
31
31
{162, 131}
50
31
50
31
{355}
1330
31
{2000}
1330
31
50
31
31
31
10
31
11
31
12
31
13
31
14
31
15
31
16
31
117
50
1382
50
50
1434
1434
1486
1486
1460
1512
Bng kt qu
Trng
hp
MU
D liu yu cu
Kt qu
(RD)
51
51
{656, 659}
54
51
91
118
51
{688}
98
51
{2000}
98
51
54
51
51
51
10
51
11
51
12
51
13
51
14
51
15
51
16
51
91
98
94
94
116
116
116
116
116
116
119
Bng kt qu
Trng
hp
MU
D liu yu cu
Kt qu
(RD)
31
31
{162, 131}
20
31
50
31
{355}
1230
31
{2000}
1230
31
20
31
31
31
10
31
120
50
1278
50
50
11
31
12
31
13
31
14
31
15
31
16
31
1326
1326
1374
1374
1350
1398
121
Bng kt qu
S lng
Thi gian p ng
S lng thng ip
MUs
trung bnh
10
213
33
20
364
43
30
334
37
40
455
59
50
822
101
60
758
92
Bng 5-18 Kt qu s lng thng ip trung bnh v thi gian p ng trung bnh
vi tng s lng MUs
122
Nhn xt:
5.4 Kt lun
Nh cp chng 3, chng ti pht trin kin trc E-MIX da trn vic k
tha kin trc MIX [12]. Sau khi xy dng hon chnh v kim tra kt qu m phng
ca kin trc E-MIX, chng ti p ng y cc yu cu ca kin trc MIX,
ngoi ra kin trc E-MIX cn p ng vic truy vn cho nhiu hng mc d liu. Chi
tit so snh gia hai kin trc MIX v E-MIX s c trnh by Bng 2-1.
Kin trc MIX
Yu cu
Lu tr hng Lu tr theo hng mc d liu Lu tr theo hng mc d liu
mc d liu
chnh v ph
Thay
123
tr
Duy tr lch Cp nht cc lch s trao i d liu khi nhn hng mc d liu.
s trao i d
liu
Duy tr ng nh k theo thi gian pht gi tin cp nht bng nh tuyn
nh
tuyn
trong
ngoi vng
Truy vn d Mi truy vn ch yu cu duy Cho php yu cu nhiu hng
liu
H tr tng Khng c
Yu cu v chn la cc nt ln
hp
cn tng hp ph d liu ti
u chi ph tng hp (Xem minh
ha qu trnh chn node ti
5.3.3.3.1).
Tiu ch th nghim
S lng thng ip
Thi gian p ng
T l c d liu
S lng thng ip trung bnh
Thi gian p ng trung bnh
Bng 5-19 So snh vi kin trc MIX
124
Chng 6 - KT LUN
6.1 Kt lun
Sau 6 thng thc hin ti, chng em t c cc kt qu nh sau:
V mt l thuyt:
M hnh cng tc chia s d liu gia cc kho lu tr trong mng P2P
p ng truy vn cho nhiu hng mc d liu trong cng mt lt yu cu
Xy dng chin lc lu tr, thay th d liu h tr cho truy vn a hng
mc
K hoch iu phi, chn la client tng hp d liu thay cho nt ngun
V ng dng minh ha:
Chng em hin thc ha mt kin trc cng tc chia s d liu hiu qu trong
m hnh mng P2P vo mi trng c s d liu di ng. Sau , ci t th nghim
thut ton v a ra kt qu thc nghim cho bi ton.
nh gi kin trc khi c ci t v th nghim:
Chng em xy dng mt kin trc cho thy hiu qu trong vic chia s d liu
gia cc MU trong vng cng tc. Kin trc gii quyt c truy vn a hng mc d
liu t ngi dng, ng thi vn p ng y cc x l cn thit cho h thng
cng tc d liu so vi kin trc KIX. Ngoi ra, chin lc lp k hoch iu phi v
chn la gii php tng hp d liu gip tng hiu qu v bng thng, rt ngn thi
gian truy vn d liu, hiu qu v nng lng.
Vi phm vi ca ti lun vn v khong thi gian thc hin ngn, chng em gp
rt nhiu kh khn trong vic a ra gii php gii quyt bi ton v hon thnh ti.
Tuy nhin, vi s hng dn tn tnh ca c Nguyn Trn Minh Th chng em
xut c kin trc hiu qu trong mng P2P p dng trong mi trng h thng
thng tin di ng v hon tt c mc tiu ra.
125
126
127
[12]
mng P2P vo kin trc h thng thng tin di ng hiu qu, Lun vn c
nhn Khoa Cng ngh thng tin, i hc Khoa hc t nhin, 2010
[13]
128