楊忠儀,左 克
(1.國防科學(xué)技術(shù)大學(xué)計算機學(xué)院,湖南 長沙 410073;2.湖南商務(wù)職業(yè)技術(shù)學(xué)院,湖南 長沙 410205)
硬件技術(shù)的快速發(fā)展使得移動終端體積更小、更便攜、續(xù)航能力更強;同時,無線通信帶寬和范圍的增長,使得原本為有線網(wǎng)絡(luò)設(shè)計運行的應(yīng)用能夠逐漸部署運行在無線網(wǎng)絡(luò)中。上述變革為移動對等網(wǎng)絡(luò)MP2P(Mobile Peer-to-Peer)的存在和發(fā)展提供了可能[1~7]。
然而,移動網(wǎng)絡(luò)的振動性給MP2P網(wǎng)絡(luò)的網(wǎng)絡(luò)壽命及其路由性能帶來了挑戰(zhàn)。圖1描述了節(jié)點移動對路由產(chǎn)生的影響。圖中有三個移動節(jié)點A、B、C。箭頭指出節(jié)點的移動方向,圓圈范圍表示節(jié)點的有效通訊范圍。節(jié)點移動之前的路由情況如圖1a所示,從節(jié)點A到節(jié)點C存在兩條有效路由:多跳路由A-B-C或者一跳路由A-C;節(jié)點移動之后的路由情況如圖1b所示,從節(jié)點A到節(jié)點C的有效路由只有多跳路由A-B-C。因此,需要設(shè)計一個高效的分簇算法,不但能夠在MP2P網(wǎng)絡(luò)中快速部署,還要有效管理、維護移動節(jié)點組織結(jié)構(gòu),敏捷反映MP2P網(wǎng)絡(luò)拓撲結(jié)構(gòu)的變化,延長網(wǎng)絡(luò)壽命。
Figure 1 Challenges of the MP2P network performance stability opposed by node mobility圖1 節(jié)點移動性給MP2P網(wǎng)絡(luò)性能穩(wěn)定性帶來挑戰(zhàn)
層次性結(jié)構(gòu)(Hierarchical Architecture)作為一種經(jīng)典有效的節(jié)點組織方式,被廣泛使用在構(gòu)造大規(guī)模移動網(wǎng)絡(luò)節(jié)點組織上;同時,分簇算法(Clustering)被認為是一種有效的處理網(wǎng)絡(luò)壽命的機制。當(dāng)前MP2P網(wǎng)絡(luò)中廣泛使用分層管理機制來設(shè)計分簇算法[5,7,8],研究人員通常根據(jù)已有的無線網(wǎng)絡(luò)類型和結(jié)構(gòu)化P2P抽象覆蓋網(wǎng)絡(luò)來設(shè)計MP2P系統(tǒng)以及節(jié)點管理機制[4,6,9]。近年來,Kautz圖[10,11]及其特殊的屬性,諸如優(yōu)化的網(wǎng)絡(luò)直徑、高效路由特性、較好的連通性和低擁塞等特性逐漸吸引MP2P研究者的注意,思考如何將這些優(yōu)秀的特性應(yīng)用到MP2P這類計算和帶寬資源均受限的特定環(huán)境中[11~13];同時,以Kautz圖為原理開發(fā)的路由協(xié)議和應(yīng)用系統(tǒng)不斷涌現(xiàn),例如,使用MP2P構(gòu)造的文件共享系統(tǒng),能夠充分利用各個移動終端的數(shù)據(jù)和存儲資源,在無線和移動網(wǎng)絡(luò)上節(jié)點之間根據(jù)對不同數(shù)據(jù)類型的需求以及地理位置信息的不同進行文件的直接共享和交換,實現(xiàn)靈活高效的數(shù)據(jù)共享,典型系統(tǒng)包括Google Open Spot和Nokia PeerBox 。此外,在開放環(huán)境(如在校園、野外、戰(zhàn)地和受災(zāi)地區(qū)等缺乏固定通信基礎(chǔ)設(shè)施的環(huán)境)中利用MP2P技術(shù)實現(xiàn)高效快捷的文件發(fā)布和共享,也是當(dāng)前重要的應(yīng)用,如Stanford校園Fring系統(tǒng)。
在本文中,我們基于Kautz圖及其特性設(shè)計了一個有效的分簇算法,并結(jié)合網(wǎng)絡(luò)路由協(xié)議VRR(Virtual Ring Routing)[9]進行了實現(xiàn)和驗證。本文的主要貢獻有:首先,依據(jù)Kautz空間,定義了可擴展的地址空間樹和節(jié)點Kautz串標識符;接著我們給出了分簇算法并理論證明了該算法的有效性,算法使用后根序和寬度優(yōu)先搜索算法遍歷地址空間樹,通過理論證明了設(shè)計的算法能夠滿足層次性結(jié)構(gòu)需要的特性;第三,設(shè)計了分簇算法管理和維護機制,以應(yīng)對網(wǎng)絡(luò)振動問題;最后,通過路由協(xié)議驗證和評估了分簇算法的有效性。
首先,給出Kautz圖的定義。
由Kautz圖的定義可知,其節(jié)點數(shù)接近Moore邊界[10],最多可由N=dD+dD+1個節(jié)點構(gòu)成。另外,相比其他圖,Kautz圖還具有某些特性,諸如網(wǎng)絡(luò)直徑較短、有容錯和負載平衡能力等。所有這些特性使得P2P網(wǎng)絡(luò)的設(shè)計者更多傾向于使用Kautz圖作為構(gòu)造P2P網(wǎng)絡(luò)的圖論基礎(chǔ)。下面根據(jù)Kautz串定義地址空間和地址樹。
定義2假設(shè)T(d,D)代表Kautz圖K(d,D)的地址樹,從上至下T(d,D)共分D+1層,其中只有第0層的根節(jié)點有d+1個子節(jié)點,樹中的其他節(jié)點只有d個子節(jié)點。從節(jié)點u到子節(jié)點的邊從非負整數(shù)集{0,1,…,d}選擇標記,按照從左至右增序排列,并且要求標記序列中沒有重復(fù)標記。因此,除了根節(jié)點標記為null,每個節(jié)點標記是由從根節(jié)點到自身的邊的標記組成的標記串,即Kautz串。地址空間樹的所有葉節(jié)點的Kautz串,代表實際的空間地址集合。
圖2給出K(2,3) 和對應(yīng)的地址空間T(2,3)。圖2中,節(jié)點A的標記是[010],節(jié)點B的標記是[021],節(jié)點C的標記是[x1x],節(jié)點D的標記是[20x],x代表尚未確定,當(dāng)節(jié)點最終加入到地址樹葉節(jié)點后,x才會被確定。具體的節(jié)點加入過程將在第3.2.1節(jié)和第3.2.2節(jié)中詳細給出。
Figure 2 K(2,3)and space address tree of T(2,3)圖2 K(2,3)和對應(yīng)的地址空間T(2,3)
我們的算法實現(xiàn)在VRR(Virtual Ring Routing)[9]路由協(xié)議之上。作為第一個采用DHT(Distributed Hash Table)特點設(shè)計的網(wǎng)絡(luò)層路由協(xié)議,VRR根據(jù)隨機產(chǎn)生的非負整數(shù)標志,將節(jié)點組織成一個虛擬環(huán)。而且,VRR中沒有設(shè)計網(wǎng)絡(luò)協(xié)議普遍采用的泛洪(Flooding)算法,因此VRR能夠獲得比其他路由協(xié)議更好的性能。
為了設(shè)計分簇算法,需要對VRR進行兩方面的修改。首先,我們使用Kautz地址空間中的節(jié)點標識替代VRR中隨機產(chǎn)生的非負整數(shù)標識;第二,我們需要在路由表中添加一個標識位flag,以標注簇首。大多數(shù)移動網(wǎng)絡(luò)中的分層cluster結(jié)構(gòu)普遍采用簇首[14~16]設(shè)計。我們的算法中,指定節(jié)點標識K(d,D)的數(shù)值大小最接近MooreBound/2的節(jié)點作為簇首。 簇首節(jié)點負責(zé)存儲cluster內(nèi)所有節(jié)點信息,同時cluster內(nèi)每個節(jié)點會在自己的路由表中標注簇首節(jié)點為ch_flah。
算法的執(zhí)行過程就是尋找Kautz圖K(d,D)中擴展樹的過程。通過后根序和寬度優(yōu)先算法遍歷地址樹T(d,D)的方式,我們將Kautz圖中的所有節(jié)點進行分簇。在算法的執(zhí)行過程中,必須保證標識數(shù)值大小接近的節(jié)點被分在同一個簇內(nèi),以便于之后快速構(gòu)造虛擬環(huán)。下面列出了算法中使用的簡寫以及含義:
(1)非負整數(shù)k:用來約束每個簇的大小??紤]到負載平衡和容錯,產(chǎn)生的所有簇的大小必須能夠產(chǎn)生有效的路由。因此,我們設(shè)計最小的簇的大小等于最大簇的大小的一半。
(2)T:Kautz圖K(d,D)對應(yīng)的地址空間樹。
(3)T(x):T的子樹,節(jié)點x作為子樹的根節(jié)點。
(4)Q:隊列類型的數(shù)據(jù)結(jié)構(gòu),用于存儲簇中的節(jié)點。采用隊列類型數(shù)據(jù)結(jié)構(gòu)而非其他數(shù)據(jù)結(jié)構(gòu),因為我們不但需要使用隊列的FIFO方式保存節(jié)點信息,而且還可以為之后構(gòu)造虛擬環(huán)帶來便利。
(5)C:隊列型數(shù)據(jù)結(jié)構(gòu),用于合并分簇。
(6)ClusterSet:算法產(chǎn)生的簇集合。
(7)UnpChildren:存儲某個節(jié)點尚未被分到某個簇中的所有子節(jié)點。
(8)PartialClusterSet:存儲當(dāng)前大小小于k的分簇集合。
(9)?:表示空集合。
下面的偽代碼對算法進行了詳細的描述:
算法1Kautz-based Clutering (K,k)
1 foru∈K, in post-order travel ofT
2 if (|T(u)|≥k) then
3Q:=?;
4UnpChildren:=Children(u);
5 whileUnpChildren≠? and (?v∈UnpChildren,s.t.xhas an edge tow∈Children(u)∩Q) do
6 Enqueue nodes ofT(v)inQby the order from large to small and mark the one whose identifier is closest toMooreBound/2ofK(d,D)as clusterhead;
7 RemovevfromUnpchildren;
8 end while
9 if(|Q|≥k)then
10 OrganizeQas a virtual ring;
11ClusterSet:=ClusterSet∪Q;
12 Remove all substrees inQ;
13 else
14PartialClusterSet:=PartialClusterSet∪Q;
15 end if
16C:=MergeParticalClusterSet(u,k,PartialClusterSet,Q);
17 ifChildren(u):=? and (uhas been assigned to some cluster) then
18 Removeufrom the tree;
19 end if
20 end if
21ClusterSet:=ClusterSet∪C;
22 end for
算法2MergePartialClusterSet(u,k,P,ClusterSet)
1C:=?;
2 While (P≠?) do
3 Pick an arbitrary partial clusterpfromP;
4C:= orderly sorting nodes inCandpin the same order ofC;
5 RemovepfromP;
6 if (|C|≥k)then
7ClusterSet:=ClusterSet∪{C∪{u}};
8 Remove all subtrees inC;C:=?;
9 end if
10 end while
本節(jié)我們形式化證明算法的特性,這些特性為之后在實驗評估中取得較好的測試結(jié)果提供了理論證明。
定理1算法保證所有節(jié)點都會被分配到某個簇中。
證明對任意節(jié)點u,如果u屬于某個子樹,則算法1的第4行保證他的所有子節(jié)點都已經(jīng)被分配到UnpChildren。UnpChildren中所有子樹的節(jié)點會被保存在隊列Q中,算法1的第11行保證Q中的每個節(jié)點最終被分配到某個簇中。證畢。
□
定理2算法保證每個簇中節(jié)點會被組織成一個邏輯環(huán)。
證明根據(jù)算法1的第6、第10行,可以得到該屬性。數(shù)據(jù)結(jié)構(gòu)隊列Q保證了該屬性的實現(xiàn)。證畢。
□
定理3算法保證任意兩個分簇之間只有一個公共節(jié)點。
證明我們采用反證法。如果存在兩個公共節(jié)點,則根據(jù)Kautz圖K(d,D),這兩個簇不可能同時存在于一個地址空間樹T(d,D)中,因此定理3成立。證畢。
□
定理4算法保證只可能有一個簇的大小小于k,其他所有簇的大小介于k和2k之間。
證明算法1的第10~第16行中,ClusterSet中的簇大小均大于或等于k;同時PartialClusterSet中的簇大小小于k。如果存在兩個簇的大小小于k,則他們將會在算法2的第6行中被合并,因此只可能有一個簇的大小小于k,其他所有簇的大小介于k和2k之間。
對P中的任意簇p,如果算法1第10行沒有滿足條件,則其大小小于或等于k-1。算法2中,簇會被合并成大小為2(k-1)-1=2k-1,仍然小于2k,因而定理4成立。證畢。
□
為分析算法1的收斂性,我們先分析算法2的收斂性。算法2的第3行、第4行和第7行的執(zhí)行為常數(shù)時間,第5行和第8行時間較少可忽略,因此算法2的時間收斂性主要依賴于P的大小,也就是PartialClusterSet的大小。因此,算法2的時間收斂性為O(n)。
算法1的收斂性的分析如下:從算法的偽代碼可知,算法的收斂性主要取決于第6行和第10行,其中第10行的收斂性由VRR得知是O(n/(rp)),其中,n為節(jié)點數(shù),r是移動終端通信半徑,p是路由長度;算法的第6行約束p的大小為MooreBound/2ofK(d,D),而d和D均小于或等于n。因此,我們設(shè)計的路由協(xié)議相比VRR而言,收斂性更好。
簇由上一節(jié)算法的分布式版本產(chǎn)生,當(dāng)出現(xiàn)虛擬環(huán)段時觸發(fā)算法執(zhí)行。算法執(zhí)行完畢時,會根據(jù)之前的約束從每個環(huán)段的節(jié)點中挑選出簇首,接著在簇中每個節(jié)點的路由表中用ch_flag進行標注。如果多個簇首同時觸發(fā)簇的產(chǎn)生過程,則每個簇首需要根據(jù)自己的標識去發(fā)現(xiàn)地址空間樹的信息。因此,必須在簇首之間傳遞地址空間樹的發(fā)現(xiàn)數(shù)據(jù),以便快速找出到地址空間樹根節(jié)點的最短路徑。
當(dāng)將傳統(tǒng)的P2P協(xié)議思想應(yīng)用到MANET(Mobile Ad Hoc Networks)中時,往往因為移動網(wǎng)絡(luò)節(jié)點的暫不可達性、受限的資源(例如電能)或是節(jié)點移動性產(chǎn)生的網(wǎng)絡(luò)振動和分割問題,實際使用時獲得的性能普遍不理想。VRR協(xié)議設(shè)計了簡單的雙向故障檢測機制,能夠有效地發(fā)現(xiàn)上述問題并且修復(fù)路由狀態(tài),保證虛擬環(huán)始終保持一致。基于VRR,我們設(shè)計了一系列有效的機制以應(yīng)對在維護簇結(jié)構(gòu)時面臨的網(wǎng)絡(luò)問題。
3.2.1 節(jié)點加入
準備加入的節(jié)點u首先申請獲得一個全局惟一的Kautz串標識S,之后周期地廣播加入請求,尋找已經(jīng)加入網(wǎng)絡(luò)并活躍的物理鄰居節(jié)點,作為加入網(wǎng)絡(luò)并獲取路由信息的代理節(jié)點。找到代理節(jié)點之后,u首先產(chǎn)生從代理節(jié)點到自身標識S的路由,該路由按照后根序遍歷地址空間樹,并最終抵達一棵子樹,該子樹根節(jié)點W的標識是u標識S的前綴。接著W會發(fā)起一個join信息。從節(jié)點W開始,如果當(dāng)前節(jié)點有一個帶有大量未分配地址段的鄰居節(jié)點,則將join信息推送到該鄰居節(jié)點。該推送過程會一直持續(xù),直到j(luò)oin信息抵達某個節(jié)點V,節(jié)點V沒有一個帶有大量未分配地址段的鄰居節(jié)點。接著,節(jié)點u被分配到包含節(jié)點V的簇中。接下來考慮簇的大小是否滿足約束條件,此時存在四種需要考慮的情況。最簡單的情況是若此時簇的大小小于2k-1,且新加入的節(jié)點u不會成為新的簇首(Clusterhead),則只要簡單地將節(jié)點u加入到簇虛擬環(huán)的適當(dāng)位置即可;第二種情況,若當(dāng)且僅當(dāng)節(jié)點u成為新的簇首,則啟動簇首替換過程;如果簇的大小大于2k-1,不論新加節(jié)點u的標識是多少,當(dāng)前簇都需要被分隔成兩個新簇;加入簇后,新節(jié)點u需要初始化自身的路由表,并且更新同簇鄰居節(jié)點的路由表。
3.2.2 節(jié)點退出
當(dāng)有節(jié)點u脫離網(wǎng)絡(luò),可根據(jù)自身的標識采用兩種不同的機制完成。如果節(jié)點u是某個簇中的普通節(jié)點,他只需要簡單地脫離網(wǎng)絡(luò),我們使用VRR中已有的故障檢測和修復(fù)機制來維護虛擬環(huán)的一致性。如果節(jié)點u是簇首節(jié)點,則需要計算簇的新簇首,不過這個計算過程需要保證是非中斷式的,因為新節(jié)點帶來的路由更新信息將在簇中傳播,而且所有被更新路由信息的節(jié)點地址不能被修改。
基于網(wǎng)絡(luò)模擬器NS-2.4[17],我們評估了設(shè)計的分簇算法性能。實驗中模擬的節(jié)點規(guī)模為200,均勻分布在300×300的正方形區(qū)域上。每次模擬隨機選擇兩個節(jié)點進行路由,然后計算100次實驗數(shù)據(jù)的平均值。每次實驗運行1 000 s,采樣最后的500 s作為評估值,不采樣之前500 s的實驗數(shù)據(jù)是為了保證路由協(xié)議運行達到穩(wěn)定狀態(tài)。同時,我們將路由協(xié)議VRR[18]和分簇路由協(xié)議的性能進行了對比。
實驗設(shè)計為:針對MP2P系統(tǒng)在校園網(wǎng)絡(luò)和車載網(wǎng)絡(luò)兩種典型環(huán)境中,研究手持移動設(shè)備在不同速度模式下協(xié)議的性能。我們設(shè)計了低移動(模擬在校園網(wǎng)絡(luò)中個人手持移動設(shè)備時的速度,比如慢跑)和高移動(車載網(wǎng)絡(luò)時的速度)兩種測試場景:低移動場景中節(jié)點的移動速度為5 m/s,高速移動場景中節(jié)點的移動速度為20 m/s。進一步,我們分別測試了在網(wǎng)絡(luò)規(guī)模增加和載荷增加情況下協(xié)議的性能。
Figure 3 Performance with increasing number of CBR flows in high mobility圖3 低速情況下載荷增加時的性能
Figure 4 Performance with increasing number of CBR flows in high mobility圖4 高速情況下載荷增加時性能
在低速的情況下,一開始三種協(xié)議都能夠獲得較好的數(shù)據(jù)發(fā)送比率和低延遲,隨著載荷的增加,數(shù)據(jù)發(fā)送比率也隨之增加。圖3顯示,我們設(shè)計的分簇路由協(xié)議能夠獲得更低的延遲和更高的數(shù)據(jù)發(fā)送比率,這是因為Kautz圖的特點以及簇大小約束條件能保證更好的負載平衡。高速場景下的測試情況如圖4所示,從圖4中也能得到和圖3類似的結(jié)論。進一步比較我們設(shè)計的分簇路由協(xié)議能獲得優(yōu)于VRR的性能,這是因為當(dāng)網(wǎng)絡(luò)振動問題頻繁出現(xiàn)時,分簇算法能夠保證路由協(xié)議具有更好的可擴展性。
圖5和圖6顯示了當(dāng)保持載荷不變,增加節(jié)點數(shù)目對路由協(xié)議性能的影響。圖5中,當(dāng)節(jié)點數(shù)小于80時,我們設(shè)計的分簇路由協(xié)議能獲得較高的數(shù)據(jù)發(fā)送比率和較低的延遲。隨著節(jié)點數(shù)的增加,數(shù)據(jù)分發(fā)比率逐漸降低,延遲增加。相比其他兩個協(xié)議,我們設(shè)計的分簇路由協(xié)議能夠獲得更好的數(shù)據(jù)發(fā)送比率和延遲。高速場景下,圖6也顯示出和圖5相同的結(jié)論。
Figure 5 Performance with increasing size in low mobility圖5 低速情況下節(jié)點增加時性能
Figure 6 Performance with increasing size in high mobility圖6 高速情況下節(jié)點增加時性能
在本文中,我們根據(jù)Kautz圖設(shè)計了一個有效的分簇算法:首先定義了地址空間樹,接著使用Kautz結(jié)構(gòu)定義節(jié)點標識,再使用后根序和寬度優(yōu)先算法遍歷地址空間樹產(chǎn)生簇。實驗結(jié)果表明,與VRR和MADPastry相比我們的分簇算法能夠獲得更低的網(wǎng)絡(luò)延遲、更好的可擴展性和性能。當(dāng)面對MP2P網(wǎng)絡(luò)的節(jié)點移動和網(wǎng)絡(luò)振動問題時,使用我們設(shè)計的分簇算法能夠表現(xiàn)出更好的總體性能。
[1] Zhang Shi-le, Wei Fang, Fei Zhong-chao. Study on architecture of video transmission optimisation on mobile internet[J]. Computer Applications and Software,2012,29(4):106-108. (in Chinese)
[2] Ni Ping, Wei Fang. A method for improving data pattern readability in wireless sensor networks[J]. Computer Applications and Software, 2012,29(10):148-151. (in Chinese)
[3] Chen Gui-hai,Li Hong-xing,Han Song,et al.Network coding-aware multipath routing in multi-hop wireless networks[J]. Journal of Software,2010,21(8):1908-1919. (in Chinese)
[4] Pucha H, Das S M, Hu Y C. Imposed route reuse in ad hoc network routing protocols using structured peer-to-peer overlay routing[J]. IEEE Transactions on Parallel and Distributed Systems, 2006,27(12):1452-1467.
[5] Hu Y C, Das S M, Pucha H. Exploiting the synergy between peer-to-peer and mobile ad hoc networks[C]∥Proc of Workshop on Hot Topics in Operating Systems, 2003:37-42.
[6] Pucha H, Hu Y C. Ekta:An efficient DHT substrate for distributed applications in mobile ad hoc networks[C]∥Proc of the 6th IEEE Workshop on Mobile Computing Systems and Applications, 2004:163-173.
[7] Hu Y C, Das S M, Pucha H. Peer-to-peer overlay abstractions in MANETs[C]∥Proc of the 1st International Workshop on Decentralized Rosoune Sharing in Mobile Computing Networking, 2004:845-864.
[8] Gerla M, Lindemann C, Rowstron A. P2P MANETs-New research issues[M]∥Perspectives Workshop:Peer-to-Peer Mobile Ad Hoc Networks, TX:IBFI Press, 2005.
[9] Caesar M, Castro M, Nightingale E B, et al. Virtual ring routing:network routing inspired by DHTs[C]∥Proc of SIGCOMM’11, 2011:351-362.
[10] Miller M, Siran J. Moore graphs and beyond:A survey of the degree/diameter problem[J]. Electronic Journal of Combinatorics, 2005,61:1-63.
[11] Zhang Yi-ming. Distributed line graphs:A universal technique for designing DHTs based on arbitrary regular graphs[J]. IEEE Transactions on Knowledge and Data Engineering, 2013,24(9):1556-1569.
[12] Feng Huang. Fast data dissemination in Kautz-based modular datacenter network[C]∥Proc of 2012 International Conference on Systems and Informatics (ICSAI), 2012:1606-1610.
[13] Banerjee S, Khuller S. A clustering scheme for hierarchical control in multi-hop wireless networks[C]∥Proc of INFOCOM’01, 2001:1028-1037.
[14] Baker D J, Ephremides A. The architectural organization of a mobile radio network via a distributed algorithm[J]. IEEE Transactions on Communications, 1981,29(1):1694-1701.
[15] Baker D J, Wieselthier J, Ephremides A. A distributed algorithm for scheduling the activation of links in a self-organizing, mobile, radio network[C]∥Proc of IEEE ICC’82, 1982:1.
[16] Gerla M, Tsai J T-C. Multicluster, mobile, multimedia radio network[J]. Journal of Wireless Networks, 1995,1(3):255-265.
[17] Ns-2 network simulator[EB/OL].[2013-05-16].http://www.isi.edu/nsnam/ns/.
[18] The VRR Windows XP implementation[EB/OL].[2013-05-16].http://research.microsoft.com/vrr/.
[19] Yu C, Shin K G, Lee B, et al. Node clustering in mobile peer-to-peer multihop networks[C]∥Proc of IEEE Interna-
tional Conference on Pervasive Computing and Communications, 2006:130-134.
[20] Zahn T, Schiller J. MADPastry:A DHT substrate for practicably sized MANETs[C]∥Proc of the 5th Workshop on Applications and Services in Wireless Networks, 2009:1.
[21] Yoneki E, Bacon J. Dynamic group communication in mobile peer-to-peer environments[C]∥Proc of the 20th Annual ACM Symposium on Applied Computing,2005:986-992.
[22] Eriksson J,Faloutsos M,Krishnamurthy S.PeerNet:Pushing peer-to-peer down the stack[C]∥Proc of IPTPS’03, 2003:268-277.
[23] Pucha H, Das S M, Hu Y C. Imposed route reuse in ad hoc network routing protocols using structured peer-to-peer overlay routing[J]. IEEE Transactions on Parallel and Distributed Systems, 2006,17(12):1452-1467.
附中文參考文獻:
[1] 張世樂 魏芳費 仲超. 移動互聯(lián)網(wǎng)視頻傳輸優(yōu)化的架構(gòu)研究[J]. 計算機應(yīng)用與研究,2012,29(4):106-108.
[2] 倪萍 魏芳.一種提高無線傳感網(wǎng)絡(luò)數(shù)據(jù)模式可讀性的方法[J]. 計算機應(yīng)用與研究,2012,29(10):148-151.
[3] 陳貴海,李宏興,韓松,等.多跳無線網(wǎng)絡(luò)中基于網(wǎng)絡(luò)編碼的多路徑路由[J]. 軟件學(xué)報,2010,21(8):1908-1919.