xd ứng dụng video streamming trên mạng ngang hàng chord

Upload: binhboong2311

Post on 04-Apr-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    1/42

    TRNG.

    KHOA.

    [\[\

    Bocottnghip

    ti:

    Xy dng ng dng video streamming da

    trn mng ngang hng Chord

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    2/42

    Tm tt

    Kha lun ny a ra mt phng thc truyn tin multicast trn nn tng mng

    ngang hng mi nhm khc phc nhng nhc im ca mt s phng thc truyn tin

    multicast tn ti t trc. Nhng nhc im gm c vic phi ph thuc hon

    ton vo kh nng ca routeri vi IP multicast hay vn qun l cy multicast kh

    khn i vi mt s giao thc truyn tin multicast trn tng ng dng khc.

    Kha lun m t chi tit giao thc mng ngang hng c cu trc Chord v cch thc

    truyn tin multicast trn nn mng ngang hng Chord. Trong kha lun, vn truyn

    video streaming cng c cp n. T kha lun xy dng nn ng dngtruyn video streaming multicast trn nn Chord. Vic nh gi kt qu thu c qua qu

    trnh xy dng ng dng cho ta thy c nhng u im ca vic trin khai multicast

    trn mng ngang hng, cng nh nhng nhc im cn khc phc.

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    3/42

    MC LC

    Mu.........................................................................................................................................................5

    Chng I: Tng quan v video streaming multicast ..............................................................................7

    1.1. Gii thiu v video streaming ................................................................................................. 7

    1.2. Gii thiu multicast ................................................................................................................. 9

    1.3. IP multicast ............................................................................................................................ 10

    1.4. Multicast tng ng dng ( ALM Application-layer Multicast)......................................12

    1.4.1. Gii thiu................................................................................................................... 12

    1.4.2. Mt s gii php truyn tin multicast trn tng ng dng ...................................13

    Chng II: Truyn tin multicast trn nn mng ngang hng c cu trc Chord............................... 16

    2.1. Gii thiu mng ngang hng ................................................................................................ 16

    2.2.1. Khi nim .................................................................................................................. 16

    2.2.2. u th ca mng ngang hng .................................................................................. 16

    2.2.3. Phn loi mng ngang hng .................................................................................... 16

    2.2. Mng ngang hng c cu trc Chord .................................................................................. 18

    2.2.1. Gii thiu chung ....................................................................................................... 18

    2.2.2. Finger table ............................................................................................................... 20

    2.2.3. Node tham gia/ ri mng v qu trnh ng b ( stabilization) ........................... 21

    2.3. Thut ton truyn tin multicast da trn nn mng Chord ..............................................22

    Chng III: Xy dng ng dng truyn tin video streaming multicast thi gian thc trn nn mng

    ngang hng c cu trc Chord.................................................................................................................26

    3.1. Mc tiu v yu cu ca vic xy dng ng dng .............................................................. 26

    3.2. tng ............................................................................................................................... .... 26

    3.3. Thit k h thng ................................................................................................................... 27

    3.3.1. To cy multicast......................................................................................................27

    3.3.1. To dliu thi gian thc........................................................................................ 28

    3.3.2. Truyn hnh nh ....................................................................................................... 28

    3.3.3. Xl v hin hnh nh ............................................................................................. 29

    3.4. Thit k giao thc .................................................................................................................. 29

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    4/42

    3.4.1. Giao thc my ch ................................................................................................... 29

    3.4.2. Giao thc my khch ............................................................................................... 31

    3.5. Thit k chng trnh ........................................................................................................... 33

    3.5.1. Lp WebcamServer .................................................................................................34

    3.5.2. Lp WebcamClient .................................................................................................. 36

    Chng IV: Kt qunh gi h thng.................................................................................................39

    4.1. Kt qu thnghim............................................................................................................... 39

    4.1.1. Mi trng chy th................................................................................................ 39

    4.1.2. Kt qut c ......................................................................................................39

    4.2. Kt qunh gi hiu nng.................................................................................................. 39

    Chng V: Kt lun..................................................................................................................................41 Ti liu tham kho ....................................................................................................................................42

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    5/42

    Mu

    Trong nhng ngy u pht trin ca ng dng a phng tin, khong na cui

    thp nin 90, vic xem mt video trn mng gn nh l iu khng th. Ngy nay, cng

    vi s bng n ca Internet, cc ng dng a phng tin trong c video streaming trthnh nhu cu khng th thiu ca nhiu c dn mng.Theo thng k, ring ti M

    c khong 13,5 t video c xem trong thng 10 2008 (ngun comScore). Con s trn

    cho ta thy c s ln mnh khng ngng ca cc ng dng video streaming.

    Tuy nhin, pht trin mt ng dng video streaming tt gp phi nhiu vn .

    ng dng video streaming i hi nhiu bng thng v yu cu tr thp. Chnh v vy

    cn phi c mt phng thc phn pht video trn ng truyn hp l. IP multicast vi

    kh nng ti u ha ng truyn l mt gii php cho vn ny. Tuy nhin, vic trin

    khai IP multicast li rt tn km bi n i hi ton mng phi c nhng Routert tin,

    chuyn dng. iu ny hon ton khng kh thi trong mt mng din rng nh Internet.

    Trin khai multicast trn tng ng dng vi vic khng lm thay i h tng mng pha

    di l mt gii php thay th hu hiu cho IP multicast.

    Hin nay, trn th gii v ang pht trin rt nhiu phng php truyn tin

    multiast trn tng ng dng khc nhau. Trong truyn tin multicast da mng ngang

    hng ha hn c nhiu u im. c th ca truyn tin multicast l phi to c mt

    cy multicast ti u, c s lin kt cht ch gia cc node vi nhau, c kh nng phc hili nhanh. Mng ngang hng c cu trc hon ton c thp ng c yu cu vi

    vic cc node c lin kt vi nhau bng mt thut ton c th.

    lm r hn nhng li th ca mng ngang hng c cu trc trong vic truyn tin

    multicast, kha lun ny nghin cu xy dng mt ng dng truyn video streaming

    multicast da trn nn tng mng ngang hng c cu trc Chord. Sau y l tm tt ni

    dung kha lun gm 5 chng.

    Chng 1: Tng quan v video streaming v multicast

    Gii thiu v video streaming v trnh by nhng khi cbn v multicast, so snh

    vi cc phng thc truyn tin khc. IP multicast v multicast tng ng dng c trnh

    by mt cch ngn gn t c th thy c u im ca multicast tng ng dng so

    vi IP multicast.

    Chng 2: Truyn tin multicast trn nn mng ngang hng c cu trc Chord

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    6/42

    Phn ny a ra ci nhn tng quan v mng ngang hng bao gm: khi nim, phn

    loi v u im chung ca mng ngang hng. Tip , s gii thiu hot ng ca giao

    thc Chord. c bit, vic truyn tin multicast da trn nn mng Chord c cp mt

    cch chi tit.

    Chng 3: Xy dng ng dng truyn multicast video streaming thi gian

    thc trn nn Chord

    Chng 3 cp n nhng yu cu, mc tiu ca ng dng v cch thc xy dng

    ng dng sao cho ph hp vi nhng mc tiu . Trong , trnh by chi tit v thit k

    h thng, thit k giao thc v thit k chng trnh ca ng dng.

    Chng 4: Kt qunh gi h thng

    Sau cc nghin cu cc phn trn, chng 4 trnh by v mi trng chy th

    chng trnh, cc kt qu v nh gi thu c sau qu trnh th nghim.

    Chng 5: Kt lun

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    7/42

    Chng I: Tng quan v video streaming multicast

    1.1. Gii thiu v video streamingVideo l mt loi d liu a phng tin quan trng phc v cho truyn thng hoc

    cho nhu cu gii tr ca con ngi trong nhiu thp nin. Trong thi ku video cx l v truyn di dng tn hiu tng t (analog). Vi s pht trin khng ngng

    ca mch in t v my tnh dn n vic s ha video v mra mt cuc cch mng v

    nn v truyn thng video. S pht trin v ph bin ca Internet gia nhng nm 90

    nh hng truyn thng video qua mng chuyn mch gi best-effort. Video qua mng

    qua mng Internet gp phi rt nhiu yu t bt li v bng thng, tr v mt gi tin,

    cng vi mt s vn nh lm th no chia s ti nguyn mng gia cc lung hay

    lm th no c th trin khai hiu qu phng thc truyn thng mt- nhiu ( truyn d

    liu t mt ngun n nhiu ch cng mt lc). T c rt nhiu gii php cnghin cu v pht trin nhm khc phc nhng vn ny.

    Video streaming c nh ngha l mt dng chy video , ngha l d liu video

    c truyn lin tc t mt ngun n mt ch no . tng c bn ca video

    streaming l chia video thnh tng frame, sau lin tc truyn nhng phn c chia

    ra v bn nhn c th hin th nhng phn video nhn c m khng phi i cho

    n khi ton b video c truyn xong.

    Tuy nhin c mt vi vn nh hng trc tip n video streaming. Videostreaming qua mng Internet gp rt nhiu kh khn bi Internet ch cung cp dch v

    truyn best-effort (c gng ti a). Do , n khng m bo v bng thng, tr,

    jitter hay s mt gi tin. Nhng nhn t ny thng khng on trc c v ng.

    Chnh v vy, mc tiu chnh ca vic xy dng mt ng dng video streaming l phi

    thit kt mt h thng phn pht video cht lng cao ng tin cy qua mng Internet.

    Cc ng dng video streaming thng c nhiu ngi dng cng mt lc, tc l

    video phi c truyn cng lc ti nhiu ngi nh video conference hay truyn hnh

    trc tuyn. Truyn tin multicast l mt gii php thch hp cho nhng ng dng . Phndi y s trnh by chi tit v multicast.

    Cu thnh nn mt h thng video streaming gm c 6 yu t cbn: cch nn

    video, cchiu khin cht lng dch v tng ng dng, dch v phn pht video, my

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    8/42

    ch streaming, cchng b d liu v giao thc dnh cho video streaming [10]. Hnh

    1 cho ta thy c mi lin h gia cc yu t ny vi nhau.

    Hnh 1: Cu trc ng dng video streaming

    Cch nn video. D liu video nguyn gc cn phi c nn trc khi

    c truyn nhm tit kim bng thng.

    Cchiu khin cht lng dch v tng ng dng. i ph vi s

    bin thin ca ti nguyn mng hoc cung cp cht lng hnh nh thay

    i theo tng ngi dng, nhiu k thut iu kin cht lng dch v tngng dng c a ra. K thut bao gm iu khin tc nghn v iu

    khin li. iu khin tc nghn c trin khai ngn nga vic mt gi tin

    v gim tr. Trong khi , iu khin li ci thin cht lng hnh nh khi

    c gi tin b mt.

    Dch v phn pht video trn ng truyn. c xy dng trn nn ca

    Internet ( giao thc IP), dch v phn pht video trn ng truyn cho php

    t c QoS ( cht lng dch v) v hiu qu cho vic phn pht video qua

    mng Internet.

    My ch streaming. My ch streaming ng vai tr quan trng trong vic

    cung cp dch v streaming. My ch streaming c yu cu phi x l cc

    d liu video vi s rng buc v thi gian, ng thi h trcc hnh ng

    tng tc nh dng (pause), tua (fast forward). Mt server streaming gm 3

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    9/42

    h thng con: b truyn tin (communicator) v d nh giao thc tng giao

    vn, hiu hnh v h thng lu tr.

    Cchng b dliu. Vi cchng b, ng dng ti bn nhn c th

    hin th video gn ging nh khi n c khi to ti bn gi. Mt v d ca

    cchng b l cng mi ca ngi ni phi ph hp vi ting ni hpht ra.

    Giao thc dnh cho video streaming. Giao thc cthit k v chun ha

    cho truyn thng gia my khch v my ch streaming. Giao thc c th

    c chia lm 3 loi: giao thc tng mng nh Internet Protocol (IP), giao

    thc tng giao vn nh User Datagram Protocol (UDP) v giao thc iu

    khin phin nh Real-time Streaming Protocol (RTSP).

    1.2. Gii thiu multicastTrong h thng mng ca chng ta hin nay c 3 cch truyn tin c bn l

    unicast, multicast v broadcast (Hnh 2).

    Unicast l phng thc truyn tin c s ca IP network. Vi unicast mt my

    truyn v ch c mt my nhn theo kiu point to point. Hin nay hu ht cc ng dng

    mng c pht trin v s dng trn nn phng thc unicast nh HTTP, Telnet, FTP

    Nhng vi nhng ng dng i hi phi truyn tin t mt ngun cho mt nhm ngi

    dng nh video streaming th vic trin khai trn unicast l khng hiu qu v truyn tin

    multicast l gii php thay th.

    Multicast l cch truyn d liu t mt nhiu (one-to-many) tc l d liu c

    gi t mt node ngun v mt nhm node ch s nhn c cng d liu . Cch

    truyn ny khc vi unicast gi thng tin trn mng theo cch truyn gi tin mt- mt

    (one to one). Nu multicast c th so snh vi cuc gi chung cho nhiu ngi

    (conference call) th unicast c th so snh vi cuc gi ring gia hai ngi.

    Broadcastc m t nh truyn thng tin cho ton mng, tt c cc im trong

    mng u nhn c thng bo ny. Trong trng hp ny ch mt ngi gi nhng ttc ngi trong mng u nhn c. Broadcast c h tr trong mng LAN (v d

    Ethernet) v c s dng gi nhng gi tin ging nhau n cc my trong mng

    LAN (v d ARP c s dng gi a chn ton b my trong mng LAN). Network

    protocol (nh IP) h trkhun dng gi tin gi n bt k h thng no trong logical

    network.

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    10/42

    C th ni, multicast l cch thc hiu qu nht truyn d liu n mt nhm

    ngi trn Internet. Chng ta cng c th s dng unicast truyn tin ln lt t ngun

    n tng node trong nhm. Tuy nhin, vi cch ny th node ngun s phi lp i lp li

    vic truyn 1 gi tin cho rt nhiu node khc, dn n vic tiu tn ti nguyn ca node

    ngun ( CPU, memory ). ng thi, s c rt nhiu gi tin khng cn thit c luthng trn mng, dn n lng ph ti nguyn mng.

    Vi multicast, mt cy multicast sc hnh thnh vi ngun l gc ca cy v

    cc thnh phn cn li ca cy c th l node u cui ( end host ) hoc c th l router

    ty vo tng cng ngh multicast khc nhau. Thay v vic node ngun nhn bn gi tin

    v gi n tng node trong nhm th n ch truyn cho 1 hoc vi node nht nh v cc

    node ny c nhim v sao chp v truyn gi tin theo cy multicast.

    Hnh 2: Cc phng thc truyn tin trn mng

    1.3. IP multicastIP multicast (Hnh 3) l chun mca IETF (Internet Engineering Task Force)[3],

    dng truyn d liu ti nhiu ngi nhn.Trong IP multicast, cc router sng vai

    tr l node trung gian trong cy multicast v c trch nhim sao chp gi tin ri truyn

    cho cc node ng dng - y, cc node ny sng vai tr l ngn ca cy.

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    11/42

    Hnh 3: Thnh phn ca IP multicastTrong IP multicast mi node s gi yu cu mt router gn vi n khi mun ra

    nhp hoc ri khi nhm. Sau cc router multicast s trao i cc thng tin v vic

    qun l nhm thng qua cy multicast. Tt c cc cng vic nh to nhm, nhp nhm,

    ri nhm u c thc hin bi giao thc IGMP (Internet Group Membership

    Protocol)(Hnh 4)[4].

    IP multicast s dng a ch IP lp D nh danh cc nhm multicast. y l dng

    a ch IP c bit dnh ring cho multicast. Tt c cc my ni kt vo Internet phi c

    a ch IP thuc lp A, lp B, hoc lp C. Mt my c th c mt hoc nhiu a ch

    multicast lp D ty thuc vo s nhm multicast m n tham gia. a ch lp D c di

    l 32 bit. 4 bit u tin c dng xc nh n thuc lp D, 28 bit cn li c dng

    xc nh nhm multicast. Mt a ch lp D c th so snh vi mt knh trn tivi. Khi

    bn truy cp mt a ch lp D, bn s nhn c tt c thng tin c multicasting n

    a ch.

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    12/42

    Hnh 4: Internet Group Management Protocol Thng ip Query

    IGMP ch c trch nhim qun l cc nhm multicast v vic phn pht cc gi tin

    multicast t router ni bn cc node trong nhm. Vic gi tin lm th no i ct ngun n cc router bin ( cc router trc tip ni vi node) ph thuc vo giao thc

    nh tuyn multicast chy trn cc router trong mng. Hin nay c mt vi giao thc nh

    tuyn c pht trin dnh ring cho IP multicast nh DVMRP (Distance Vector

    Multicast Routing Protocol) giao thc nh tuyn multicast u tin hay nh PIM

    (Protocol Independent Multicast) giao thc multicast c dng ph bin nht hin

    nay.

    Vi cc giao thc nh tuyn multicast trong IP multicast, s lng gi tin phi sao

    chp nhn bn trn ng truyn c gim thiu so vi cc phng thc truyn tin khc

    t tit kim ng k bng thng mng. Tuy nhin mt nhc im khin n khng

    c s dng nhiu v khng c kh nng mrng l cc router trong mng phi h

    trmulticast. ng thi, IP multicast ch h trcc ng dng chy trn nn UDP giao

    thc truyn tin khng tin cy. Nhm khc phc nhng nhc im ny, truyn tin

    multicast tng ng v ang c nghin cu, pht trin rt nhiu trong nhng nm gn

    y. Phn tip ca kha lun s trnh by v phng thc truyn tin multicast tng ng

    dng.1.4. Multicast tng ng dng ( ALM Application-layer Multicast)

    1.4.1. Gii thiuKhi nim multicast tng ng dng chn gin l vic thi hnh multicasting nh

    mt dch v tng ng dng ch khng phi nh mt dch v tng mng. Hnh 5 m t

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    13/42

    vic truyn multicast cho cng mt nhm ngi nhn v ngi gi ca multicast tng

    ng dng v IP multicast. y, cy multicast c hnh thnh tng ng dng. Vi

    vic ch s dng phng thc truyn tin unicast ca tng mng, node ngun S gi hai gi

    tin cho D1 v D2; ti D1, D2 gi tin c nhn bn v chuyn tip cho D4,D3.

    Hnh 5: (a) IP multicast (b) Multicast tng ng dng

    IP multicast c trin khai ti cc node mng ( Router) trong khi muticast tng

    ng dng c trin khai ti cc node ng dng ( end host hoc proxy ). Do cc node ng

    dng bit t thng tin v tng mng hn l cc router nn cy multicast tng ng dng

    thng khng c ti u bng IP multicast.

    Trong multicast tng ng dng, cc cng vic iu khin nh ra nhp nhm, ri

    nhm, sao lu v chuyn tip gi tin, nh tuyn multicast u c thc hin ti im

    u cui (end system hoc proxy) chnh v vy m khng yu cu cn c nhng router h

    trmulticast mng li.

    1.4.2. Mt s gii php truyn tin multicast trn tng ng dngDa vo cu trc mng hoc cch to cy multicast m ta c cc gii php truyn tin

    multicast tng ng dng khc nhau: Proxy-based ALM v end system ALM; mesh first

    v tree first [7]

    Proxy-based ALM v end system ALM

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    14/42

    Hnh 6: (a) Proxy-based ALM (b) End-system ALM

    Trong m hnh Proxy-based ALM (Hnh 6a), yu cu trin khai nhiu proxy hoc

    server trn Internet, cc proxy hay server ny s t thnh lp mt mng ph (overlay

    network) vi nhau v cng cp dch v multicast trong sut cho cc ngi dng cui

    (end-user). Ngc li, m hnh end-system ALM (Hnh 6b) ch yu cu h tng mng

    pha di cng cp duy nht dch v truyn tin unicast, vic truyn multicast s c

    thc hin bi cc node u cui (end-system).

    Vi m hnh proxy-based ALM th cc ng dng chy trn node u cui s t phc

    tp hn bi v dch v multicast trong sut vi chng. Mt im mnh na ca m hnh

    ny l bng thng ti cc proxy thng ln hn ti cc node u cui chnh v vy mtrnh xy ra hin tng nt tht c chai nh trong m hnh end-system ALM. Nhc

    im ca m hnh ny l chi ph phi tr cho h thng proxy hay server l rt cao.

    Mesh-fist v tree-first

    Trong m hnh mesh-first, cc node mun tham gia vo qu trnh truyn hoc nhn

    multicast s tham gia vo mt mng ph hnh thnh nn mt t p dng li lin kt cc

    node vi nhau (Hnh 7a). Sau khi t p mng c hnh thnh th node ngun s s dng

    thut ton nh tuyn truyn multicast thng qua mng (Hnh 7b). Thng thngcy multicast to ra t phng thc khng c ti u do gp phi vn vn nt c

    chai khi mt node c ti nguyn km m phi chu ti cao. Hn na vic duy tr mng

    ph cng i hi mt phn bng thng cho cc thng tin iu khin mng. Tuy nhin li

    th ca m hnh ny l kh nng chu li cao bi cc node trong cy khng ch bit n

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    15/42

    node cha ca n m cn bit thng tin v cc node khc. M hnh ny thng c s

    dng vi cc ng dng a ngun multicast nh video conference.

    Vi m hnh tree-first, cy multicast c hnh thnh m khng cn cc node to

    thnh mng ph vi nhau. Mt node chn cha ca n t mt s thnh vin bit trong

    cy. M hnh ny cn c thut ton pht hin v trnh lp xy ra trong cy multicast. Cc

    node trong cy s chn c v tr ti u nht trnh hin tng nt tht c chai. Tuy

    nhin iu ny c th dn n cy b lch. Hn na khi mt node b li hoc ri mng th

    vic khi phc li cy multicast s kh khn hn rt nhiu so vi m hnh mesh-first.

    Hnh 7: (a) Mng ph 7 node (b) Cy multicast to t mng ph

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    16/42

    Chng II: Truyn tin multicast trn nn mng ngang hng c cu trc Chord

    2.1. Gii thiu mng ngang hng2.2.1. Khi nim

    Mt mng my tnh ngang hng (Peer-to-peerhoc P2P) ch yu da trn scmnh tnh ton v bng thng ca cc my tham gia trong mng hn l tp trung vo mt

    s lng nh cc my ch (server). Mng P2P c s dng in hnh cho vic kt ni

    cc node thng qua nhng kt ni ad-hoc ln. Nhng mng nh vy c ch cho nhiu

    mc ch s dng. Chia s file cha audio, video, data hoc mi thnh dng s, cc

    d liu thi gian thc, v d nh truyn ti ging ni, video streaming u c th thc

    hin vi cng ngh P2P.

    Mt mng P2P thun ty s khng c khi nim v khch (client) v ch (server),

    m ch c nhng node ngang hang thc hin c hai chc nng ca mt my ch v mykhch i vi nhng node khc trong mng. M hnh mng ny khc vi m hnh mng

    khch-ch m vic giao tip thng l vi cc my ch trung tm. Mt v din hnh

    cho vic truyn file theo m hnh khch-ch l gia mt FTP Client v mt FTP Server,

    hai chng trnh FTP Client v FTP Server c vai tr rt khc nhau, client khi to vic

    download/upload file, cn server th tip nhn v phc v cc yu cu .

    2.2.2. u th ca mng ngang hngMc ch quan trng ca mng ngang hng l trong mng tt c cc my tham gia

    u ng gp ti nguyn, bao gm bng thng, lu tr, v kh nng tnh ton. Do khi

    cng c nhiu my tham gia mng th kh nng tng th ca h thng mng cng ln.

    Ngc li, trong m hnh my khch-ch, nu s lng my ch l cnh, th khi s

    lng my khch tng ln kh nng chuyn d liu t cc my ch cho mi my khch s

    gim xung.

    Tnh cht phn tn ca mng ngang hng cng gip cho mng hot ng tt khi mt

    s my gp s c. i vi cu trc tp trung, ch cn my ch gp s c th c h thng

    s ngng tr.

    2.2.3. Phn loi mng ngang hngMng ngang hng P2P c chia lm hai loi chnh: mng ngang hng thun ty v

    mng ngang hng lai ghp (Hnh 8).

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    17/42

    Hinh 8: Phn loi mng ngang hng

    Mng ngang hng thun tyc chia lm 2 loi: mng ngang hng c cu trc

    v mng ngang hng khng cu trc.

    Mng ngang hng khng cu trc l khi cc lin kt gia cc nt mng trong

    mng phc thit lp ngu nhin (tc l khng theo qui lut no). Nhng mng nhth ny d dng c xy dng v mt my mi khi mun tham gia mng c th ly cc

    lin kt c sn ca mt my khc ang trong mng v sau dn dn t bn thn n s

    thm vo cc lin kt mi ca ring mnh. Khi mt my mun tm mt d liu trong

    mng ng ng khng cu trc, yu cu tm kim sc truyn trn c mng tm ra

    cng nhiu my chia s cng tt. S hiu bit v mng ca cc node trong mng khng

    cu trc l rt t, mi node ch nm bt thng tin v nhng node kt trc tip v mt s t

    cc node khc, thng tin v nhng node cn li hon thng qua broadcast. Chnh v vy

    vi nhng ng dng cn c s lin kt cht ch gia cc node vi nhau nh multicast th

    mng ngang hng khng cu trc khng phi l s la chn ti u.

    Mng ngang hng c cu trc khc phc nhc im ca mng khng cu trc

    bng cch s dng h thng DHT (Bng Bm Phn Tn, ting anh: Distributed Hash

    Table). H thng ny nh ngha lin kt gia cc nt mng trong mng ph theo mt

    Peer-to-Peer

    Thun t Lai ghp

    Khng cu trc C cu trc

    ChordGnutella CAN Na ster

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    18/42

    thut ton c th, ng thi xc nh cht ch mi nt mng s chu trch nhim i vi

    mt phn d liu chia s trong mng. Vi cu trc ny, khi mt my nh tuyn thng

    bo, n ch cn p dng mt giao thc chung xc nh nt cn thng bo v sau

    lin lc trc tip n nt mng . Bi vy vic tao cy multicast s din ra rt d dng

    v vic qun l cy cng c nhiu thun li khi cc node u c lin kt cht ch vinhau. Mt s mng ngang hng c cu trc ni ting bao gm Chord, CAN, Kademlia,

    Pastry v Tapestry.[5,6,9]

    Mng ngang hng lai ghp: Trong m hnh mng ngang hng li ghp, tn ti

    mt server trung gian c trch nhim iu khin hot ng ca mng. Server ny lu d

    cc ch mc bao gm thng tin v cc node n qun l v v tr cc cp key-value trn

    mng. Cc node trong mng phi to lin kt vi server ny. Mt node mun trao i

    thng tin vi mt node khc th n s phi lin lc trc tip vi server, sau server s

    tm kim trong csd liu v gi li a ch node ch. Qu trnh trao i thng tin sau

    c din ra trc tip gia 2 node. Vic trin khai truyn tin multicast trn mng

    ngang hng lai ghp gn ging nh m hnh proxy-base ALM. Nhc im chnh ca n

    vn l chi ph cao cho cc server trung gian. ng dng in hnh cho m hnh mng ny

    l Napster.

    2.2. Mng ngang hng c cu trc Chord2.2.1. Gii thiu chung

    Giao thc Chord l mt giao thc nh tuyn DHT bi mt nhm sinh vin t

    trng i hc California Berkeley v MIT nhm mc ch phn tn v tm kim d

    liu mt cch tt nht vi nhiu c trng nh scalability (kh nng mrng), complete

    decentralization (phn tn hon ton), load blancing (cn bng ti), v simplicity (n

    gin).

    Chord[6] c m t di dng mt vng trn v c khng gian nh danh cm,

    vi m l s bit nh danh ca khng gian. Mng Chord s c ti a 2mnh danh. Mt

    Chord node (hay mt phn t - mt my tnh trong mng Chord) c mt nh danh id, vcc id trong mng Chord sp xp thnh vng trn v tng theo chiu kim ng h. Mi

    node trn vng trn s bit thng tin v node trc v sau n trn vng trn gi l

    predecessorv successorca node . Thm vo , mi node s lu mt bng nh

    tuyn gi l bngFinger table, cho php node nh tuyn ti cc node xa. Mi dng

    trong bngFinger table s lu thng tin v 1 node xa, gi l 1 entry. Khng gian nh

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    19/42

    danh c bao nhiu bit th Finger Table c by nhiu entry. V d trong hnh 9

    predescessor ca node 1 s l node 6 v successor ca n l node 3.

    K thut Consistent hashing cp cho mi node v key m-bit nh danh da trn c

    shm bm SHA-1[1]. nh danh ca mt node c xc nh bng cch bm a ch IP

    node , nh danh ca mt key xc nh bng cch bm key (y chng ta quy c

    t kha key va l key gc va l nh danh ca key). Chiu di ca nh danh cn

    ln khi bm trnh xy ra trng hp 2 key hoc node c nh danh ging nhau.

    Hnh 9: Vng trn Chord

    Giao thc Chord h trduy nht mt hot ng : a ra 1 key, n snh x

    key vo mt node. Ty thuc vo ng dng s dng Chord ( vn bn, hnh

    nh, media..), node s lu tr mt gi tr kt hp vi key. Chord s dng k

    thut consistent hashing cp key cho cc node. Consistent hashingdng

    phn b cc node cng nh cc key u trn vng trn t nng cao kh nng

    cn bng ti, mi node s nhn c s lng key gn ngang nhau, ng thi

    gip cho vic n nh mng khi c node tham gia hay ri khi h thng.

    Trong mng Chord mi node khng cn bit thng tin v tt c cc node khc. Mi

    node Chord ch cn bit mt lng nh thng tin nh tuyn v cc node khc. V nhng

    thng tin ny l phn tn, mt node s s dng finger table giao tip vi cc node

    khc. Khi mng c thit lp, mt h thng Chord gm N-node, trong mi node cha

    thng tin v O(log N) node xung quanh n, v tm kim cc node khc thng qua O(log

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    20/42

    N) thng ip ti cc node . Chord cn phi cp nhp li thng tin nh tuyn khi cc

    node tham gia/ri khi h thng, vi s tham gia hay vo mng ca mt node cng ch

    cn khng qu O(log2 N) thng ip c gi i cp nhp li thng tin nh tuyn.

    2.2.2. Finger tableTrong mng Chord, mi node cn mt lng nh thng tin nh tuyn trong 1 mi

    trng phn tn. Chord node ch cn bit node successor ca n trong mng. Cc truy

    vn n mt nh danh ( mt key hoc mt node) no c truyn theo vng trn

    thng qua cc node successor cho n khi tm c node bit thng tin vnh danh .

    Vi vic mi node u duy tr mt im successor ca n cng m bo mi truy vn

    tm kim u c thc hin chnh xc. Tuy nhin gii php ny t ra khng hiu qu khi

    mt truy vn c th phi lan truyn qua ton b cc node mng tm c node nh x

    vi n. y qu trnh ny, mi node Chord duy tr thm mt s thng tin nh tuyn.Vi chiu di nh danh key/node l m bit, mi node n s duy tr mt bng nh

    tuyn vi m entry, c gi l bngfinger table. Entry thi trong bngfinger table cha

    nh danh ca node u tin,s, m tip sau n t nht 2i -1 trn vng trn nh danh, s =

    successor(n + 2i - 1

    ), vi 1 im. Nodesc gi l finger thi ca node n v k hiu

    l n.finger[i].node. Mt entry trong bng finger table cn bao gm a ch IP, nh danh,

    cng ca node finger. C th nhn thy rng, entry u tin trong bng finger table

    ca node n chnh l successor ca node n.

    Hnh 10: Bng Finger table v cc key gn cho tng node 0, 1, 3

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    21/42

    Nhn vo hnh 10 ta thy c mi entry trong bng finger table ca node 1 trn

    successor node ca cc nh danh (1+20) mod 23 = 2,(1+21) mod 23 = 3, (1+22) mod 23 =

    5. Successor ca nh danh 2 l node 3, n chnh l node u tin theo sau 2 trn vng

    trn Chord; successor ca nh danh 3 chnh l node 3 v successcor ca nh danh 5 l

    node 0.

    2.2.3. Node tham gia/ ri mng v qu trnh ng b ( stabilization)Trong mng Chord, mi node s chy nh k thut ton ng b mng nhm cp

    nhp bng finger table v cc thng tin v successor, predecessor ca n. Vic ny s

    gip cho mng Chord lun hot ng chnh xc k c khi c node mi tham gia/ri mng

    hay mt node b li.

    Khi mt node mi mun tham gia vo mng, n s tri qua cc bc sau:

    Bc 1: Node mi s dng consistent hashing bm a ch IP ca chnh n mt

    nh danhID.

    Bc 2: Node mi gi thng ipjoin vi nh danhID ca n cho mt node no

    tn ti trn mng gi l bootstrap node

    Bc3: Bootstrap node s dng bng finger table tm kim successor ca nh

    danhID successor(ID) v sau s gi kt qu tm kim cho node mi.

    Bc 4: Sau khi bit c successor ca mnh, node mi s gi thng ip cnhbo v vic gia nhp mng ca mnh cho successor. Successor nhn c thng

    ip cnh bo n s trn predecessor mi l node mi gia nhp mng.

    Bc 5: Node mi s dng thut ton ng b cp nhp cc thng tin v mng.

    Thut ton ng b chy nh k ti mi node Chord. Gi s nodeAang nh k

    chy thut ton ng b. A s yu cu successor ca n gi thng tin v predecessor (

    predecessor ca successor ca A). Nu khng c node no join vo gia node A v

    successor ca A th kt qu tr v chnh l nh danh ca nodeA. Ngc li nu c mt

    node mijoin vo gia nodeA v successor ca n th kt qu tr v s l nh danh ca

    node mi, t nodeA c th nhn bit c c node mi tham gia vo mng. V n

    ln ng b tip theo, node A s gi thng bo n node mi, node mi s cp nhp li

    predecessor ca n trthnh nodeA.

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    22/42

    Qu trnh mt node Chord ri mng din ra n gin hn khi mt node tham gia

    mng. Trc khi ri mng, node s gi ton b d liu ca n cc cp (key - value) cho

    successor. Sau n s thng bo cho successor cp nhp li predecessor v thng bo

    cho predecessor cp nhp li successor. Cui cng node s gii phng cc ti nguyn ca

    n v thot khi mng. Trong trng hp, mt node ri mng khng ng theo quy tc (node b li) th ton b d liu m node nm d s b mt v phi nhn qu trnh

    ng b th mng mi pht hin v khi phc c li.

    2.3. Thut ton truyn tin multicast da trn nn mng ChordMt trong nhng vn quan trng nht ca multicast l to nhm multicast,

    tham gia v ri nhm. Thay v lin lc vi Router tham gia hoc l ri nhm multicast

    nh IP multicast, tt c cc node mun tham gia vo nhm multicast s hnh thnh mt

    mng ph ( overlay network) . Trong trng hp ny mng ph chnh l mng Chord.Node ngun khi to mng Chord. Cc node trong nhm multicast tham gia vo

    nhm bng cch kt ni vo mng Chord m node ngun va to. T vic truyn

    multicast trthnh vic truyn broadcast trn ton mng Chord. Phn di y m t chi

    tit thut ton truyn broadcast trong mng Chord [8].

    Thut ton truyn tin broadcast trn mng Chord

    M hnh h thng v k hiu

    Chng ta gi thit h thng ca chng ta gm tp hp N node hnh thnh mt mng

    Chord v bng finger ti mi node c cp nhp y .

    Thut ton phn tn c chy trn mi node ca ht thng c miu t di dng

    mt lut c dng sau:

    receive(Sender: Receiver: Message(arg1.argn))

    action(s)

    Lut ny miu t s kin khi mt node nhn c mt thng ip (Message) vhnh ng action(s) s c gi vi s kin . Node gi s gi lnh send(Sender:

    Receiver: Message(arg1.argn)) gi mt thng ip cho node nhn.

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    23/42

    Khi to mt phin broadcast

    Broadcast c thc khi to bt k node no nu nh lp ng dng trn lp

    yu cu. l khi, mt thc thng dng multicast ti node Q c th yu cu node Q

    mt thng ip InitBroadCast(Info) vi Info l mt phn ca thng tin cn c

    broadcast v d nh mt phn ca hnh nh cn c gi i trong ng dng video

    streaming.

    Hnh 11: Node Q ng vi nh danh 0 khi to broadcast v finger table ca node 0

    Trong hnh 11, hnh ng ca node Q vi nh danh l 0, khi nhn c yu cu

    gi thng ip InitBroadCast(Info) tng dng P:

    receive(P : 0 : InitBroadcast(Info))

    send(0 : 2 : Broadcast(Info, 5))

    send(0 : 5 : Broadcast(Info, 11))

    send(0 : 11 : Broadcast(Info, 16))

    send(0 : 16 : Broadcast(Info, 0))

    Node Q s hot ng nh gc ca mt cy khng lp. Nh trong hnh 11, node Q

    thc hin vic bng cch gi mt thng ip broadcast ti tt c cc hng xm ca ntrong bng finger table.

    Thng ipBroadcast(Info, Limit) cha ng thng tinInfo cn c broadcast v

    mt tham s gii hnLimit.Limitc s dng hn ch khng gian chuyn tip gi

    tin ca node nhn c gi tin.Limitcafinger[i] chnh lfinger[i+1], ( 1 iM- 1)

    start int. succ.

    1 [1, 2) 2

    2 [2, 4) 2

    4 [4, 8) 5

    8 [8, 16) 11

    16 [16, 32) 16

    ..

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    24/42

    viMl s entry trong bng finger table. Gii hn cho entry cui cng trong bng finger

    table l mt trng hp c bit khi Limit c t l nh danh ca chnh node gi gi

    tin.

    Xl mt thng ip Broadcast

    Khi node Q nhn c mt thng ipBroadcast(Info, Limit) , node Q phi chu

    trch nhim chuyn tip thng ip cho cy con c xc nh trong khong (Q, Limit).

    Node Q s chuyn tip thng ip cho bt c finger no m c nh danh ng trc

    Limit(nh hn Limit). Hn na, khi chuyn tip cho mi finger, node Q s p t mt

    gii hn mi NewLimit nh ngha mt cy con nh hn cho node nhn tip theo.

    NewLimitc xc nh trong bng finger table tng t nh ti node ngun. Ch l,

    NewLimitchc xc nh khi NewLimitvn cn thuc khong (Q, Limit). Hnh sau

    y m t lut khi mt node nhn c mt thng ip broadcast

    (a) (b)

    Hnh 12: (a)Hnh ng ca cc node khi nhn c gi tin broadcast

    (b)finger table ca node 5

    Trong hnh 12, khi node 5 nhn c thng ipBroadcast(Info, 11) t node 0 th

    n s gi chuyn tip gi thng ip cho node 7 vi gii hnLimitvn l 11.

    receive(0 : 5 : Broadcast(Info,11))

    send(5 : 7 : Broadcast(Info, 11))

    start int. succ.

    6 [6, 7) 7

    7 [7, 9) 7

    9 [9, 13) 11

    13 [13, 21) 13

    21 [21, 37) 22

    ..

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    25/42

    Phn hi (Reply)

    Vic phn hi thng ip broadcast nhn c ph thuc vo loi thng tin cha

    ng trong n hoc ph thuc vo yu cu ca ng dng. C 2 cch phn hi l: (i)Gi tin phn hi sc gi ngc li theo cy broadcast c hnh thnh t trc

    (ii) Gi tin phn hi c gi trc tip n node ngun ca broadcast.

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    26/42

    Chng III: Xy dng ng dng truyn tin video streaming multicast thi gian

    thc trn nn mng ngang hng c cu trc Chord

    3.1. Mc tiu v yu cu ca vic xy dng ng dngHin nay trn th gii c rt nhiu ng dng truyn video streaming, hu ht trong

    s chng s dng m hnh khch ch (client server) da trn unicast, tc l my

    khch gi yu cu n my ch, my ch gi d liu cho tng my khch s dng truyn

    tin unicast; hoc c s t ng dng video streaming s dng truyn tin IP multicast cho

    vic phn pht video cho ngi dng v d nh Cisco IPTV. Cc ng dng trn u c

    nhc im ca n. l, vi m hnh khch ch da trn unicast n thun th my

    ch s b qu ti khi c qu nhiu ngi dng, vi IP multicast th cn c nhng router h

    trmulticast.

    ng dng c xy dng trong kha lun ny phi p ng c nhng yu cusau:

    Ti u ha bng thng ca my ch, my ch khng phi chu ti qu nhiu khi s

    lng ngi s dng tng ln. Cc my khch chia s ti cng my ch.

    Xy dng mt phng thc truyn tin multicast tng ng dng theo kiu end-

    system ALM, khng cn s h trca router hay proxy chuyn dng. Vic tham gia vo

    cy multicast phi c din ra mt cch nhanh chng, d dng. Cy multicast c kh

    nng khi phc li khi c mt node b li. Thng tin duy tr v iu khin cy

    multicast cng nh cng tt.

    Vi c th l mt ng dng v video nn hnh nh hin th ti my khch phi

    tng i r rng khng gy kh chu cho ngi dng.

    Vi nhng yu cu trn, mc tiu ca kha lun t ra l:

    a ra gii php v thit k giao thc truyn video streaming.

    Xy dng chng trnh th nghim da trn gii php v thit kc a ra.

    Cui cng, nh gi chng trnh xy dng kim tra xem ng dng c t

    c nhng yu cu t ra ban u hay khng.

    3.2. tngNh trnh by nhng phn trn, giao thc Chord l mt giao thc mng ngang

    hng c cu trc n gin v mnh m, lng thng tin c truyn duy tr mng l

    thp; Chord c cch phc hi khi mt node hoc nhiu node b li. Thut ton truyn

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    27/42

    multicast trn nn Chord cng rt n gin v hiu qu. Chnh v vy, truyn video

    streaming multicast c xy dng trn nn mng Chord.

    Giao thc UDP c s dng truyn d liu video. UDP c u im l truyn d

    liu nhanh nht c th. Tuy nhin nhc im ca n l khng c cch sp xp li gi

    tin n khng ng th t. tng c a ra y l s dng thm mt s gii php

    trong giao thc RTP (Real-time Transport Protocol) mt giao thc h tr truyn ng

    dng thi gian thc nhnh s th t gi tin [2].

    3.3. Thit k h thngHnh di y m t cc cha nng ca h thng.

    Hnh 13: Cc chc nng ca h thng

    3.3.1. To cy multicastGiao thc Chord c s dng to nhm multicast. Qua trnh to nhm mulicast

    gm cc bc:

    Node ngun khi to mng Chord.

    Cc node khc tham gia vo mng Chord.

    Node ngun s dng thut ton truyn broadcast trn mng Chord to cy

    multicast.

    Nh trong v d Hnh 12(a) ta thu c cy multicast nh hnh di y.

    H thng truyn video

    streaming thi gian thcmulticast nn Chord

    To cy

    multicast

    To d liu

    video thi

    gian thc

    X l v hin

    th hnh nh

    Truyn

    hnh nh

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    28/42

    Hnh 14: Cy multicast thu c t mng Chord

    Nhn vo hnh 14 ta thy c, cy multicast c xy dng l cy lch phi. Do

    cc node cui vng trn Chord thng c su ln hn nhiu so vi cc node u

    vng trn. Chnh v vy, tr tng i ca d liu nhn c gia cc node l khng

    u nhau. Tuy nhin, nu hm bm c xy dng tt th c th lm gim ng k s

    chnh lch trn.

    3.3.1. To dliu thi gian thcTrong ng dng video streaming, video c th l cc bn ghi sn t trc hoc c

    thc bt ly trc tip theo thi gian thc vi cc thit b thu hnh. H thng s

    dng webcam to d liu thi gian thc. Hnh nh s c bt ly (capture) t

    webcam theo nhng khong thi gian lin tip. Vic tnh ton khong thi gian gia 2 ln

    capture ph thuc vo nhiu yu t nh bng thng mng, kh nng x l ca my, cht

    lng hnh nh thu c.

    3.3.2. Truyn hnh nhTruyn hnh nh l mt trong nhng bc quan trng nht trong video streaming.

    K thut truyn khng tt snh hng trc tip n cht lng ca hnh nh thu c.

    Thc cht vic truyn video stream l vic truyn mt chui lin tip cc hnh nh

    (frame). Mi hnh nh nguyn gc thng c dung lng ln. Nn nh l gii php c

    nghti nhm ti u ha ng truyn, tit kim bng thng. JPEG l mt chun nn nh

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    29/42

    m cht lng ca hnh nh khng thay i nhiu so vi nguyn bn. Vi JPEG hnh nh

    thu c c dung lng gim ng k.

    Do mi ng truyn mng u c mt gi tr MTU ( Maximum Transmission

    Unit) gii hn kch thc gi tin gi trn ng truyn nn khng th gi c frame ln

    ng truyn cng mt lc. Cch khc phc duy nht l phn mnh frame ra thnh

    cch gi tin nh hn truyn trn mng. Vic ny i hi cchnh s th t cho

    tng gi tin nhm m bo cc gi tin sc ghp theo ng th t ti bn nhn.

    3.3.3. Xl v hin hnh nhSau khi c phn mnh ti my gi d liu bt u c gi n my nhn. Trong

    qu trnh gi c th c s mt mt gi tin, hoc cc gi tin n khng theo ng th t.

    Chnh v vy ti my nhn c cch sp xp li gi tin n khng ng th t, ng s

    dng timeout khng phi chqu lu gi tin b mt. hnh nh hin th khng gykh chu cho ngi dng, cc hnh nh sau khi c ghp li sc lu trong buffer v

    hin th trong nhng khong thi gian u nhau.

    3.4. Thit k giao thc3.4.1. Giao thc my ch

    Quy trnh hot ng ca my chc biu din di hnh sau:

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    30/42

    To nhm multicast

    My ch s dng hm create() vi a ch IP v port khi to mt mng Chord.

    My khch s lin lc vi my ch bng a ch IP v port c khai bo trn.

    To dliu thi gian thc

    D liu thc c to ra bng cch bt ly (capture) hnh nh thu c t webcam

    trong nhng khong thi gian nh k. Vi mi ln capture ta thu c mt frame di

    dng mt chui byte.

    Phn mnh hnh nh

    u vo ca qu trnh phn mnh l hnh nh di dng mt chui byte. Chui byte

    sc chia thnh cc phn nh hn c th gi c trn mng.

    Khi to multicast

    Sau khi hnh nh c phn mnh thnh cc phn nh, n sc thm vo mt s

    trc ri ng gi trong gi tin UDP v cui cng sc gi i n node ph hp.

    Cu trc gi tin multicast tngng dng:

    To nhm multicast

    Hin th hnh nh

    Khi to multicast

    Phn mnh frame

    To d liu thi gian thc

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    31/42

    LimitID ImageID NumberOfParts PartID Data

    -LimitID (8 byte) : ID gii hn khng gian chuyn tip gi tin ti node nhn

    -ImageID (2 byte): ID ca nh capture t webcam

    -NumberOfParts (2 byte): s lng phn c chia ra t nh

    -Data : mt phn ca nh c chia ra

    Theo thut ton multicast c trnh by trn trong qu trnh khi to

    multicast, bng finger table c bao nhiu entry th my ch s phi gi gi tin n by

    nhiu node, nhng entry ging nhau sc gi mt ln duy nht. Cc entry trong finger

    table chnh l lp u tin ca cy multicast.

    3.4.2. Giao thc my khch

    Tham gia mng Chord

    Mi node mun tham gia vo qu trnh nhn d liu t my ch th bc u tin

    l phi tham gia vo mng Chord do my ch to ra. Hm join() trong giao thc Chord

    c gi khi mt node mun ra nhp mng. Thng tin h thng yu cu l a ch IP v

    cng kt ni ca my ch.

    Nhn gi tin

    Tham gia nhm

    multicast

    X l gi tin

    Chuyn tip gi

    Nhn gi tin

    Hin th hnh nh

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    32/42

    My khch s khi to mt cng UDP lun lun lng nghe gi tin gi n t

    my ch hoc t mt my khch khc. Khi nhn c gi tin th mt hng i c s

    dng lu tr gi tin phc v cho vic x l v sau.

    Chuyn tip gi tin

    C mi khi nhn c mt gi tin th hm decodePacket() c gi bc tch

    gi tin v ly v trng LimitID quy nh gii hn chuyn tip. Sau gi tin sc

    chuyn tip cho cc finger trong bng Finger table vi ID trong khong ID t chnh n

    cho n LimitID.

    nh dng gi tin chuyn tip

    newLimitID imageID numberOfParts partID data

    -newLimitID l gii hn mi c p dng cho node nhn tip theo

    -Cc trng cn li sc d nguyn nh khi gi tin c nhn

    Xl gi tin

    Do mi frame u c phn mnh ti ngun nn ti my khch cn thc hin qu

    trnh ghp cc gi tin li vi nhau to thnh frame gc. Qu trnh c thc hin

    bi 2 lpImage vProccessImage.

    Gi s ta nhn c gi tin vi trng imageID l i, numberOfParts l n, partID lj.

    Qu trnh ghp nh thc hin theo nguyn tc sau:

    - Nu y l ln u tin nhn c gi tin vi imageID l i th khi to danh sch

    Li c chiu di bng n v lu gi tin mi nhn vo v trj trong danh sch.

    - Ngc li, lu gi tin vo v trij trong danh sch Li tn ti t trc, kim tra

    xem danh sch y hay cha. Gi hm merge() ghp cc gi tin khi danh

    sch y hoc khi ht thi gian timeout. Hnh nh thu c sau khi ghp di

    dng chui byte sc lu vo hng i phc v cho vic hin th. Hin th hnh nh

    trnh hin tng hin tng tc hnh nh thay i mt cch t ngt, lc qu

    nhanh, lc qu chm, thay v hin th ngay lp tc hnh nh khi n c nhn th hnh

    nh sc lu vo hng i cng vi thi gian bc nh c nhn .

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    33/42

    Gi s ta quy nh c 150 ms th hin th mt hnh nh, tc 7 hnh/s.

    t1 t2 t3 t4

    frame1 frame2 frame3 frame4

    Hin ti c 4 frame trong hng i vi t1, t2, t3, t4 ln lt l thi gian cc frame

    c nhn . Ta c 1, 2, 3, 4 ln lt l khong thi gian t khi nhn c mnh

    u tin cho n khi nhn c mnh cui cng. Sau khi hin th frame1 ta si mt

    khong thi gian l (150 (t2 - t1 ) - 2 ) ri tip tc hin th frame2. Tng t vi frame3

    v frame4. Gi tr 150 c thc thay i bng cc gi tr khc ty thuc vo tng loi

    mng.

    3.5. Thit k chng trnhChng trnh gm 4 lp chnh MessageHandler, Node v lp WebcamServer trin

    khai ti my ch (Hnh 15a) v lp WebcamClient ti my khch (Hnh 15b).

    MessageHandler l lp nn dng trao i tin cy cc thng tin iu khin, qun l

    mng gia cc node vi nhau. Node l lp chnh trong giao thc Chord. Node ny chu

    trch nhim trin khai cc thut ton giao thc trong Chord nh tm successor, thut ton

    ng b Hai lp Node v MessageHandler c xy dng trong giao thc Chord

    nn s khng c trnh by di y. WebcamServer v WebcamClient l 2 lp ng

    dng, thc hin trn nn giao thc Chord. C th WebcamServer v WebcamClient sdng bng finger table ca giao thc Chord thc hin nh tuyn multicast gia cc

    node vi nhau.

    (a) (b)

    Hnh 15: (a) Cu trc chng trnh my ch (b) Cu trc chng trnh my khch

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    34/42

    3.5.1. Lp WebcamServer

    Hnh 16: Thuc tnh v cc phng thc ca lp WebcamServer

    Lp WebcamServer (Hnh 16) l lp duy nht ca ng dng truyn video multicast

    da trn nn Chord ti my ch. WebcamServer chu trch nhim to lung d liu video

    thi gian thc. C th WebcamServer snh k bt hnh nh thu c t webcam, sau

    tin hnh gi broadcast trn ton mng Chord.

    Mt s phng thc chnh

    //Hm khi to

    //Tham s:

    // localNode: mt th hin ca lp Nodepublic WebcamServer(Node localNode)

    // Bt ly hnh nh t webcam

    // Hm tr v hnh nh di dng chui byte

    publicbyte[] captureImage()

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    35/42

    // Phn mnh hnh nh thu c hm captureImage() thnh nhng phn

    nh

    // Gi tr tr v l danh sch cc phn mnh ca hnh nh

    publicList fragmentImage(byte[] image)

    // ng gi gi tin tng ng dng vi cc trng khc nhau// Tham s:

    // limitID: gii hn chuyn tip dnh cho node nhn

    // imageID: s th t ca bc nh

    // numberOfPart: s phn b phn ra t bc nh gc

    // partID: s th t ca phn mnh

    // fragment: d liu ca mt phn bc nh

    // Hm tr v gi tin tng ng dng di dng chui byte

    publicbyte[] PacketToByte(long limitID, short imageID, short

    numberOfPart, short partID, byte[] fragment)

    // Hm khi to broadcast

    // Tham s:

    // image: chui byte d liu ca hnh nh

    // Hm s dng thut ton truyn broadcast gi hnh nh cho cc my

    khch

    publicvoid SendBroadcastImage(byte[] image)

    // Gi mt gi tin tng ng dng cho mt node

    // Tham s:

    // desIP: IP ca node nhn

    // limitID: gii hn chuyn tip dnh cho node nhn

    // iID: s th t ca bc nh

    // part: d liu ca mt phn bc nh

    // partID: s th t ca phn mnh

    // numberOfPart: s phn b phn ra t bc nh gc

    publicvoid send(string desIP, long limitID,short iID, byte[] part,

    short partID, short numberOfPart)

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    36/42

    3.5.2. Lp WebcamClient

    (a) (b) (c)Hnh 17: (a) Cc thuc tnh (b) Cc phng thc (c) Lp lng

    Ti mi node, lp WebcamClient (Hnh 17) thc hin 2 cng vic: x l v hin th

    lung hnh nh thu c t my ch, ng thi chuyn tip hnh nh cho cc node khc.

    Mt s phng thc quan trng

    // Hm khi to

    // Tham s:

    // gui: giao din chng trnh// localNode: th hin ca lp Node

    public WebcamClient(MainForm gui, Node localNode)

    // Lng nghe kt ni n v lu d liu vo hng i

    listReceivePackets

    publicvoid receive()

    // Hm x l gi tin nhn c

    publicvoid processPacket()

    // Hm ly gi tr cc trng t gi tin nhn c

    // Tham s:

    // packet: gi tin nhn c di dng chui byte

    // limitID: lu thng tin v gii hn chuyn tip

    // imageID: lu s th t ca frame

    // numberOfPart: lu s phn ca frame

    // partID: lu s th t ca phn mnh

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    37/42

    // fragmentImage: lu d liu ca phn mnh

    publicvoid decodePacket(byte[] packet, reflong limitID, refshort

    imageID, refshort numberOfPart, refshort partID, refbyte[]

    fragmentImage)

    // Hm ng gi d liu gi i trn mng// Tham s:

    // limitID: gii hn chuyn tip

    // imageID: stt ca frame

    // numberOfPart: s phn mnh ca frame

    // partID: stt ca phn mnh

    // fragment: d liu phn mnh

    // Hm tr v d liu dng chui byte gi qua mng

    publicbyte[] PacketToByte(long limitID, short imageID,short

    numberOfPart, short partID, byte[] fragment)

    // Hm hin th video

    publicvoid show()

    // Hm hin th tng hnh nh

    // Tham s:

    // image: hnh nh dng chui byte

    publicvoid showRemoteWebcam(byte[] image)

    // Hm gi chuyn tip gi tin theo thut ton multicast

    publicvoid forwardPacket(long limitID, short imageID,short

    numberOfPart, short partID, byte[] fragmentImage)

    Khc phc nhc im ca UDP l khng c cch sp xp li gi tin n khng

    ng th t, lp WebcamClient s dng 2 lp con Image v ProcessImage (Hnh 18)

    thc hin vic . Lp Image c s dng lu cc mnh ca cng mt frame. Lp

    ProcessImage thc hin kim tra xem nhn cc phn cha hoc ht thi gian

    timeout cha ri tin hnh ghp cc phn li vi nhau.

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    38/42

    Hnh 18: Lp Image v lp ProcessImage

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    39/42

    Chng IV: Kt qunh gi h thng

    4.1. Kt qu thnghim4.1.1. Mi trng chy th

    Chng trnh c chy th trn mi trng mng LAN vi tc ng truyntrong iu kin l tng l 100 Mbps.

    Mi my khch kt ni mng qua cng Ethenet tc 100 Mbps, RAM 1 G, CPU

    2.4 GHz.

    My ch c cu hnh RAM 3G, CPU 2x2.4, kt ni Ethenet 100 Mbps.

    Qu trnh chy th din ra nhiu ln vi s lng my khch tng dn bt u vi 2

    my v ti a l 7 my.

    4.1.2. Kt qut cQua qu trnh quan st ta c th thy c tng hnh nh hin th r nt, tuy nhin

    v thi tc hin th hnh nh vn cn chm ( s hnh / s) chnh v vy gy ra hin

    tng dt hnh gy kh chu cho ngi xem.

    4.2. Kt qunh gi hiu nngVi m hnh 7 my tnh c my ch, ta c bng thng tiu tn ca cc my o c

    (s liu trong bng gi tr trung bnh):

    Node ID Upload Download

    3724 110 KB/s 110 KB/s

    7620 0 110 KB/s

    8598 (server) 0 330 KB/s

    13347 110 KB/s 110 KB/s

    15105 0 110 KB/s

    19948 110 KB/s 110 KB/s

    21901 0 110 KB/s

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    40/42

    Ta c d dng nhn thy rng, server c trch nhim phi truyn video cho 6 my

    m bng thng tiu tn ch l 330 KB/s. Nu s dng phng php truyn tin unicast

    thng thng th bng thng tiu tn phi l 660 KB/s.

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    41/42

    Chng V: Kt lun

    Trn th gii, cc ng dng mng ngang hng ni chung v multicast trn mng

    ngang hng ang c nghin cu v pht trin mt cch mnh m. N s v ang dn

    thay th cc m hnh mng truyn thng nh m hnh khch ch hay IP multicast.

    Trong kha lun trnh by mt cch ngn gn v cch th hot ng ca mng

    ngang hng, c th l Chord t ta c th thy c nhng li th ca n s vi m

    hnh mng truyn thng l kh nng phn tn, khng ph thuc qu nhiu vo h tng

    mng pha di

    lm r hn u im ca mng ngang hng, kha lun xy dng thng dng

    truyn video streaming multicast thi gian thc trn nn mng Chord. Trong ng dng

    s dng webcam to lung d liu thi gian thc, s dng Chord to cy multicast.

    Qua bc u th nghim trn mng LAN ta c th thy c u im ca n l my chkhng phi chu ti qu nng v vic truyn multicast hon ton khng ph thuc vo

    router.

    Tuy nhin ng dng xy dng vn cn mt s nhc im, khng c cch m ha

    video, mi ch nn tng frame theo dng JPEG, chnh v vy t l nn vn cn thp. Mt

    nhc im na l tr gia cc node lp di cy multicast so vi cc node lp

    trn chnh lch nhau kh nhiu. Hin ti khi mt node b li hoc ri mng, vic phc hi

    cy multicast vn da vo giao thc ng bc xy dng trn giao thc Chord. Vivic giao thc ny ch chy nh k s khin cho qu trnh khi phc din ra chm gy

    gin on lung video streaming trong khong thi gian di.

    Vi nhng kt qut c v nhng mt cn tn ti ca vic xy dng ng dng,

    sau y l mt s hng pht trin tip theo :

    Khc phc nhng nhc im nu trn.

    Xy dng ng dng hi tho trc tuyn vi nhiu ngun pht muticast.

  • 7/31/2019 XD ng dng video streamming trn mng ngang hng chord

    42/42

    Ti liu tham kho

    [1] http://en.wikipedia.org/wiki/SHA_hash_functions

    [2] http://www.ietf.org/rfc/rfc1889.txt

    [3] http://www.ietf.org/rfc/rfc3170.txt

    [4] http://www.rfc-editor.org/rfc/rfc3376.txt

    [5] B. Zhao, K. Kubiatowicz, and A. Joseph, Tapestry: An infrastructure for fault-

    resilient wide-area location and routing, Tech. Rep. UCB//CSD-01-1141, University of

    California at Berkeley Technical Report, April 2001.

    [6] Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan.

    Chord: A scalable peer-to-peer lookup protocol for internet applications.

    [7] Mojtaba Hosseini, Dewan Tanvir Ahmed, Shervin Shirmohammadi, and Nicolas

    D.Georganas. A Survey of Application-Layer Multicast Protocols.

    [8] Sameh El-Ansary, Luc Onana Alima, Per Brand, Seif Haridi Swedish Institute of

    Computer Science, Kista, Sweden IMIT-Royal Institute of Technology, Kista, Sweden.

    Effcient Broadcast in Structured P2P Networks

    [9] Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker. A

    Scalable Content-Addressable Network

    [10] Wenwu Zhu, Member, IEEE, Dapeng Wu, Student Member, IEEE, Yiwei Thomas

    Hou, Member, IEEE, Ya-Qin Zhang, Fellow, IEEE, Jon M. Peha, Senior Member, IEEE.

    Streaming Video over the Internet: Approaches and Directions