You are on page 1of 2

Bây giӡ ta sӁ nói vӅ giao thӭc cҩu trúc cây, mӝt giao thӭc truyӅn lan phә biӃn

mà có thӇ khai thác


các tính chҩt đһc biӋt cӫa lӟp bao phӫ không có cҩu trúc mҥng cung cҩp bӣi HyParView, đӇ xây dӵng
có hiӋu quҧ và duy trì mӝt hӋ thӕng cây bao trùm kiên cӕ, ta lӗng vào các lӟp phӫ ban đҫu, cho phép
tұn dөng chi phí cӫa dӵ án truyӅn lan cơ sӣ phә biӃn.

Các biӋn pháp thúc đҭy đưӧc trình bày trong phҫn 4 có đӝ tin cұy cao trong khi đó đҧm bҧo đưӧc
nhӳng lӧi ích nhӓ nhҩt có thӇ cӫa hop chuyӇn giao cuӕi cùng. Không may là trong mӝt môi trưӡng
әn đӏnh nó vүn sinh ra mӝt giá trӏ RMR quan trӑng (RMR ± dư thӯa tin liên quan). Mӝt cách tiӃp cұn
trӵc quan mà có thӇ giúp giҧm bӟt giá trӏ RMR là sӱ dөng cҩu trúc che phӫ, đó là xây dӵng mӝt cây
đa phương bao gӗm tҩt cҧ các nút trong hӋ thӕng. Đây chính là mөc đích cӫa giao thӭ này, ban đҫu
đưӧc mô tҧ trong [19] và đưӧc gӑi là cây đa phương push-lazy-push, hay đơn giҧn là Plumtree.

Plumtree có hai thành phҫn chính, mӛi mӝt trҧ lӡi . Ta có thӇ đӏnh nghĩa như sau:

Ò  Thành phҫn này có nhiӋm vө lӵa chӑn mà trong đó các liên kӃt cӫa mҥng che phӫ
ngүu nhiên sӁ đưӧc sӱ dөng đӇ chuyӇn tiӃp lưӧng tin bҵng cách sӱ dөng mӝt giҧi pháp thúc đҭy. Mөc
đích là đӇ xây dӵng mӝt cҩu trúc cây đơn giҧn nhҩt có thӇ, vӟi chi phí tӕi thiӇu và kiӇm soát các bҧn
tin.

Ò 
  Thành phҫn này có trách nhiӋm sӱa chӳa cây khi có lӛi xҧy ra. Quá trình này phҧi
đҧm bҧm, mһc dù có lӛi, tҩt cҧ các nút vүn đưӧc bҧo vӋ bӣi hӋ thӕng cây bao trùm. Do đó, nó có thӇ
phát hiӋn và khҳc phөc đưӧc lӛi nhӳng phҫn tӱ cӫa cây. Các chi phí phát sinh trong hoҥt đӝng này
nên đưӧc giҧm mӭc thҩp nhҩt có thӇ. Quá trình này nên phөc hӗi các tin đã mҩt, đӇ tăng thêm đӝ tin
cұy trong quá trình quҧng bá.

Xét các biӋn pháp thúc đҭy đưӧc trình bày trong phҫn 4 dùng đӇ choán đҫy vào lӟp phӫ HyParView
tӯ mӝt nguӗn đơn. Trong điӅu kiӋn әn đӏnh, nó giӕng như là các gói tin đưӧc kích hoҥt nhұn tӯ lӟp
ӭng dөng (nhӳng gói tin mà đưӧc nhұn tӯ mӝt nӕt lҫn đҫu tiên) thưӡng đưӧc gӱi thông qua cùng liên
kӃt đӃn ( tӯ cùng hàng xóm). Cùng nhau, nhӳng liên kӃt này tҥo nên cây bao trùm mà kӃt nӕi tҩt cҧ
các nút tӯ mӝt nút nguӗn . Tҩt cҧ nhӳng kӃt nӕi khác trong lӟp phӫ là dư thӯa, và chӍ cҫn che đi các
nút hӓng. Do đó nhӳng kӃt nӕi thӯa này có thӇ đưӧc gӥ bӓ khӓi lӟp bao phӫ cho đӃn khi không còn
lӛi nào nӳa.

Ý tưӣng ban đҫu đҵng sau giao thӭc Plumtree xuҩt phát tӯ yӃu tӕ cơ bҧn sau. Hoҥt đӝng cӫa
Plumtree là kӃt hӧp quá trình flooding vӟi quá trình gӥ bӓ. Ban đҫu tҩt cҧ các kӃt nӕi trong lӟp phӫ
ngүu nhiên đưӧc coi như là mӝt phҫn cӫa cây quҧng bá. Nhӳng tin nhҳn tҧi trӑng chӍ đưӧc gӱi tӟi các
kӃt nӕi hàng xóm. Bҩt cӭ khi nào bҧn tin thӯa đưӧc nhұn tӯ bҧn tin PRUNE cũng đưӧc sӱ dөng đӇ
loҥi bӓ các liên kӃt và sӱ dөng đӇ truyӅn tҧi nhӳng thông điӋp, tӯ cây.

Mһc dù điӇu này giҧi thích làm thӃ nào cҩu trúc cây nên đưӧc xây dӵng, nó không chӍ sӱa chӳa
cây. Trong khi không có biӋn pháp thay thӃ, mӝt nút đơn lӛi có thӇ phân vùng cҧ hӋ thӕng cây bao
trùm, ngҳt kӃt nӕi mӝt lưӧng lӟn các nút tӯ nguӗn. ĐӇ giҧi quyӃt nhӳng thách thӭc trong viӋc sӱa
chӳa hӋ thӕng cây, mӝt kӻ thuұt dӵa trên viӋc biӋn pháp truyӅn lan chұm đưӧc đưa vào sӱ dөng. Kӻ
thuұt này cho phép các nút không nhұn đưӧc các gói tin có thӇ lҩy đưӧc tӯ các nút hàng xóm khác và
tҥo ra các kӃt nӕi mӟi đӃn hӋ thӕng cây bao trùm kӃt nӕi các cây. ViӋc này cho phép cҧ hӋ thӕng cây
bao trùm đưӧc sӱa chӳa. Do đó, các nút đưӧc yêu cҫu phҧi gӱi các thông điӋp nhұn đưӧc qua các liên
kӃt cӫa lӟp phӫ không phҧi là mӝt phҫn cӫa hӋ thӕng cây bao trùm bҵng cách gӱi thông điӋp I HAVE
MESSAGES. Bҩt kì khi nào mӝt nút yêu cҫu mӝt bҧn tin tӯ nút liӅn kӅ nó, bҵng cách sӱ dөng thông
điӋp GRAFT, kӃt nӕi giӳa các nút trӣ thành mӝt nhánh cӫa hӋ thӕng cây bao trùm.
Plumtree có tác đӝng ngưӧc trӣ lҥi đӃn dӏch vө lҩy mүu cùng mӭc cơ sӣ, cho phép có mӝt hӋ thӕng
cây bao trùm trong trҥng thái әn đӏnh. Hơn nӳa, đӇ tăng tӕc đӝ quá trình phөc hӗi cӫa hӋ thӕng cây,
bҩt cӭ khi nào mӝt nút mӟi đưӧc thêm vào thành phҫn cӫa dӏch vө lҩy mүu cùng mӭc cơ sӣ, nhӳng
kӃt nӕi ngay lұp tӭc đưӧc bә sung vào cây. Nhӳng phҫn dư thӯa đưӧc sinh ra tӯ phương pháp này,
đưӧc loҥi bӓ bӣi các cơ chӃ xây dӵng cây dӵa trên sӵ phә biӃn cӫa bҧn tin quҧng bá. HӋ thӕng cây
bao trùm đưӧc xұy dӵng vӟi mӝt nút chӭc năng như nút chӫ, vì vұy nó đưӧc tӕi ưu hóa, ít nhҩt trong
hop chuyӇn giao cuӕi cùng, cho các bҧn tin đưӧc gӱi tӟi nút đó. Nhưng các liên kӃt trong lӟp phӫ là
như nhau, bҩt kì nút nào cũng có thӇ sӱ dөng cùng mӝt cҩu trúc cây đӇ quҧng bá bҧn tin, mһc dù điӅu
này có thӇ dүn tӟi dүn đӃn hiӋn tưӧng sub-optimal routing, trong hop chuyӇn giao cuӕi cùng.

Tóm lҥi, viӋc thiӃt kӃ Plumtree dӵa trên nguyên tҳc sau:

- Nó xây dӵng mӝt cây bao trùm trên HyParView đó là cách tӕi uqu nhҩt cho nhӳng hӋ thӕng vӟi
mӝt nguӗn duy nhҩt. Tuy nhiên, cây tҥo ra đưӧc chia sҿ và có thӇ sӱ dөng bӣi nút bҩt kǤ đӇ phát
thông điӋp.

You might also like