馬亞蕾+郝東來2
摘 要: 網(wǎng)絡(luò)編碼可以提高無線Mesh網(wǎng)絡(luò)的吞吐量,但是網(wǎng)絡(luò)編碼在無線Mesh網(wǎng)絡(luò)中實際應(yīng)用獲得最大網(wǎng)絡(luò)利用率是需要解決的問題。提出一種多路徑策略,能夠通過將網(wǎng)絡(luò)編碼和TCP進(jìn)行最大化融合提高網(wǎng)絡(luò)的利用率。網(wǎng)絡(luò)編碼被加入到現(xiàn)有的網(wǎng)絡(luò)系統(tǒng),通過解決速率控制問題和分組調(diào)度問題,調(diào)整源節(jié)點的數(shù)據(jù)編碼分塊,降低數(shù)據(jù)包重傳的次數(shù),提高網(wǎng)絡(luò)的吞吐量。
關(guān)鍵詞: 無線Mesh網(wǎng); 網(wǎng)絡(luò)編碼; 分組調(diào)度; 跨層協(xié)作
中圖分類號: TN913?34; TP393 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2014)18?0038?03
A routing strategy of cross?layer cooperation in wireless Mesh networks
MA Ya?lei 1, HAO Dong?lai 2
(1. Department of Computer Science, Shaanxi Vocational Technical College, Xian 710100, China;
2. Department of Information Transmission, Xian Communication Institute, Xian 710106, China)
Abstract: Network coding can increase the throughput of wireless Mesh networks, but to obtain the maximum utilization of the network in the practical application of network coding in wireless Mesh networks is the problem which needs to be solved. A multi?path routing strategy is proposed in this paper. It can improve network utilization by maximization fusion of the network coding and TCP. As the network coding was added to the existing network system, the number of data packet retransmission was reduced and the network throughput was increased by realizing rate control and packet scheduling, and adjustment data coding block of the source node block.
Keywords: wireless Mesh network; network coding; packet scheduling; cross?layer cooperation
近來,人們多采用基于IEEE 802.16 標(biāo)準(zhǔn)部署多天線的Mesh路由。這些天線在垂直信道工作,互相之間的干擾大大減少。在轉(zhuǎn)發(fā)之前,Mesh節(jié)點可以組合盡可能多的數(shù)據(jù)包,只要所有目的節(jié)點有足夠的信息可以提取出發(fā)送給各自的信息,并通過廣播進(jìn)行發(fā)送[1?4],但實際吞吐量增益并不高。首先NC(Network Coding)的行為和TCP的擁塞控制機制不能兼容,吞吐量增益比TCP流低很多[5?7]。其次,可獲得的增益依賴于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),包丟失和通信模式?,F(xiàn)有的NC只過多考慮提高吞吐量,沒有考慮WMNs的延遲。
為解決以上問題,提出一種多徑路由策略叫做TCP?I2NC。通過把網(wǎng)絡(luò)編碼融合到TCP協(xié)議中解決易損耗的多天線多信道無線Mesh網(wǎng)絡(luò)中的隨機包丟失問題。本文將網(wǎng)絡(luò)編碼和TCP進(jìn)行融合,TCP應(yīng)用在Mesh客戶端或者網(wǎng)絡(luò)節(jié)點是透明的,并且與TCP的擁塞控制機制是兼容的。它建立在NUM框架上。每個TCP流的速率是在網(wǎng)絡(luò)實用規(guī)劃的基礎(chǔ)上自適應(yīng)變化的。
1 相關(guān)工作
1.1 網(wǎng)絡(luò)編碼在無線Mesh網(wǎng)絡(luò)當(dāng)中的應(yīng)用
COPE通過異或組合多個數(shù)據(jù)包為一個來提高網(wǎng)絡(luò)的吞吐量[5]。TCP/NC首次將網(wǎng)絡(luò)編碼融合到TCP協(xié)議中,基于RANK矩陣。
1.2 NUM編碼系統(tǒng)
在網(wǎng)絡(luò)編碼內(nèi)流,NCAQM機制被提出來NUM規(guī)劃來完全開發(fā)網(wǎng)絡(luò)編碼的機會[8]。Sudipta提出一個多路徑和編碼感知的COPE路由,基于一個理論構(gòu)想來最大化吞吐量[9]。
2 系統(tǒng)模型說明
2.1 系統(tǒng)模型
數(shù)據(jù)包的轉(zhuǎn)換可以被模型為一個圖(N,L),N是節(jié)點集,L是無線鏈路集。R是Mesh節(jié)點上的天線集合,H是每個天線的可用垂直信道集合。Link(i,j)屬于L有能力Cij,傳輸延遲dij,丟包率pij。在鏈路上轉(zhuǎn)發(fā)的包要么被接收者收到,要么丟失。
2.2 標(biāo)記
本文引入隨機線性網(wǎng)絡(luò)編碼的思想。系統(tǒng)中的節(jié)點可以進(jìn)行網(wǎng)絡(luò)編碼。例如,假設(shè)節(jié)點A想發(fā)送數(shù)據(jù)包給節(jié)點B,A擁有數(shù)據(jù)包m1和m2,節(jié)點A從足夠大的伽羅華域選擇系數(shù),轉(zhuǎn)發(fā)這兩個數(shù)據(jù)包的結(jié)合,q是域的大小,q在系統(tǒng)中被設(shè)置為256。
發(fā)送[n1=αm1+βm2]和[n2=λm1+μm2],其中[α,β,λ∈GF(q)]。編碼過程則表示為:
[n1n2=αβλμm1m2=Cm1m2]
TCP流:F是從源節(jié)點到目的節(jié)點TCP流的集合。每一個流f屬于F可以成功到達(dá)目的地。每一個流f屬于F都和速率Xf以及功能函數(shù)U(xf)(嚴(yán)格凹函數(shù))有關(guān)系。不同的平衡可以通過不同的功能函數(shù)達(dá)到。一類功能函數(shù)被定義為:
[Ua(x)=logx, a=1x1-a1-a, a≥0,a≠1] (1)
功能函數(shù)在該系統(tǒng)中的定義為:
[U(x)=Ua=1(x)=-1x] (2)
路由:網(wǎng)絡(luò)可用最大化規(guī)劃。
一個網(wǎng)絡(luò)是穩(wěn)定的,如果節(jié)點i的整個輸出交通比整體的輸入大,
[rfij-rfij-xf{s(f)=i}≥0] (3)
若[s(f)=i],則[xf{s(f)=i}=xf],否則該值為0,同時:
[rfij≥0] (4)
[f∈Frfij≤cij] (5)
網(wǎng)絡(luò)利用的總和為[f∈Fu(xf)]。網(wǎng)絡(luò)利用率的最大化公式是尋找解決最大化[f∈Fu(xf)]所對應(yīng)的式(3)~式(5)。
3 協(xié)議實施過程
該方案將網(wǎng)絡(luò)編碼融入到TCP當(dāng)中,可以有效降低隨機丟失并且顯著提高TCP 的吞吐量。通過一個單跳的流內(nèi)和流間網(wǎng)絡(luò)編碼機制,解決NUM問題分解出來的速率控制和包調(diào)度算法被提出來解決擁塞控制。如圖1所示,一個新的網(wǎng)絡(luò)編碼層被引入。在無線Mesh網(wǎng)絡(luò)當(dāng)中的無線節(jié)點。在每一個NC層,有一個發(fā)送者模型和接收者模型。
圖1 協(xié)議棧中新的網(wǎng)絡(luò)編碼層
他們主要負(fù)責(zé)分別發(fā)送和接收數(shù)據(jù)包,基于同一路TCP流。一個Mesh 節(jié)點用隊列Qel來緩沖那些TCP數(shù)據(jù)包(需要被轉(zhuǎn)發(fā)到目的地)。如果一個節(jié)點是終節(jié)點,他用編碼隊列Qe0來緩沖TCP數(shù)據(jù)包(那些在他的TCP流里或網(wǎng)絡(luò)側(cè)節(jié)點沒有被TCP流確認(rèn))。Pel是鏈路1的丟包率。
算法描述:
鏈路1發(fā)送模塊的1(i,j):
(1) Sf=0
如果節(jié)點i是數(shù)據(jù)流f的源信息節(jié)點,計算[Xf=argmaxU(xf)-xfqf];
Sf +=[xf10];
生成Sf向下取整應(yīng)答給傳輸層;
[Sf-=Sf]。
(2) 從隊列Qel挑出N1個數(shù)據(jù)包,轉(zhuǎn)發(fā)[N1(1-Pel)]線性結(jié)合,保存發(fā)送包的數(shù)目。
(3) 如果超時,則生成NACK給編碼器。
(4) 檢查是否有新的TCP隊列包,若有則按順序發(fā)送。
鏈路1的接收模塊1(i,j),若收到數(shù)據(jù)包a:
(1) 如果a是一個TCP連接的控制數(shù)據(jù)包,直接轉(zhuǎn)發(fā);
(2) 如果a是一個二進(jìn)制TCP數(shù)據(jù)包,則尋找a的下一個鏈路m,插入到Qem;
(3) 如果a是一個編碼數(shù)據(jù)包,緩沖,解碼。讓m表示它的下一鏈路:
① 如果解碼成功,生成ACK發(fā)送給發(fā)送者
② 否則,啟動接收計時器。
(4) 如果a是NACK,讓r表示解碼系數(shù)矩陣的階:
① 如果r=N1,刪除緩沖的TCP數(shù)據(jù)包,重新計算Pel,qif,釋放編碼器;
② 否則生成[N1(1-Pel)-r]個TCP數(shù)據(jù)包的對應(yīng)編碼塊的隨機組合。
4 結(jié) 語
本文提出一種多路徑策略,能夠通過將網(wǎng)絡(luò)編碼和TCP進(jìn)行最大化融合提高網(wǎng)絡(luò)的利用率。網(wǎng)絡(luò)編碼被加入到現(xiàn)有的網(wǎng)絡(luò)系統(tǒng),通過解決速率控制問題和分組調(diào)度問題,調(diào)整源節(jié)點的數(shù)據(jù)編碼分塊,降低數(shù)據(jù)包重傳的次數(shù),提高網(wǎng)絡(luò)的吞吐量。
參考文獻(xiàn)
[1] AKYILDIZ I, WANG Xu?dong, WANG Wei?lin. Wireless Mesh networks: a survey [J]. Computer Networks, 2005, 47(4): 445?487.
[2] RAMACHANDRAN K, BELDING E, ALMEROTH K, et al. Interference?aware channel assignment in multi?radio wireless Mesh networks [C]// Proceedings of INFO?COM. Barcelona,Catalunya, Spain: IEEE Computer Society, 2006: 1?12.
[3] GUPTA P, KUMAR P, Capacity of wireless networks [J]. IEEE Transactions on Information Theory, 2000, 46: 388?404.
[4] AKHTAR N, MOESSNER K. On the nominal capacity of multi?radio multi?channel wireless Mesh networks [J]. Computer Communications, 2008, 31(8): 1475?1483.
[5] KATTI S, RAHUL H, HU Wen?jun, et al. XORs in the air: practical wireless network coding [J]. IEEE / ACM Transactions on Networking, 2008, 16(3): 497?510.
[6] HUANG Yong, GHADERI M, TOWSLEY D, et al. TCP performance in coded wireless Mesh networks [C]// Proceedings of the 5th Annual IEEE Communications Society Conference on Sensor Mesh and Ad Hoc Communications and Networks. San Francisco, USA: IEEE Computer Society, 2008: 179?187.
[7] HASSAYOUN S, MAILL P. On the impact of random losses on TCP performance in coded wireless Mesh networks [C]// Proceedings of the 29th Conference on Information Communications. San Diego, CA, USA: IEEE Computer Society, 2010: 1?9.
[8] SEFEROGLU H, MARKOPOULOU A. Network coding?aware queue management for unicast flows over coded wireless networks [C]// Proceedings of IEEE NetCod. Toronto, Canada: IEEE Computer Society, 2010: 1?6.
[9] SENGUPTA S, RAYANCHU S, BANARJEE S. An analysis of wireless network coding for unicast sessions:the case for coding?aware routing [C]// Proceedings of the 26th IEEE International Conference on Computer Communications. Anchorage, Alaska, USA: IEEE Computer Society, 2007: 1028?1036.
[Ua(x)=logx, a=1x1-a1-a, a≥0,a≠1] (1)
功能函數(shù)在該系統(tǒng)中的定義為:
[U(x)=Ua=1(x)=-1x] (2)
路由:網(wǎng)絡(luò)可用最大化規(guī)劃。
一個網(wǎng)絡(luò)是穩(wěn)定的,如果節(jié)點i的整個輸出交通比整體的輸入大,
[rfij-rfij-xf{s(f)=i}≥0] (3)
若[s(f)=i],則[xf{s(f)=i}=xf],否則該值為0,同時:
[rfij≥0] (4)
[f∈Frfij≤cij] (5)
網(wǎng)絡(luò)利用的總和為[f∈Fu(xf)]。網(wǎng)絡(luò)利用率的最大化公式是尋找解決最大化[f∈Fu(xf)]所對應(yīng)的式(3)~式(5)。
3 協(xié)議實施過程
該方案將網(wǎng)絡(luò)編碼融入到TCP當(dāng)中,可以有效降低隨機丟失并且顯著提高TCP 的吞吐量。通過一個單跳的流內(nèi)和流間網(wǎng)絡(luò)編碼機制,解決NUM問題分解出來的速率控制和包調(diào)度算法被提出來解決擁塞控制。如圖1所示,一個新的網(wǎng)絡(luò)編碼層被引入。在無線Mesh網(wǎng)絡(luò)當(dāng)中的無線節(jié)點。在每一個NC層,有一個發(fā)送者模型和接收者模型。
圖1 協(xié)議棧中新的網(wǎng)絡(luò)編碼層
他們主要負(fù)責(zé)分別發(fā)送和接收數(shù)據(jù)包,基于同一路TCP流。一個Mesh 節(jié)點用隊列Qel來緩沖那些TCP數(shù)據(jù)包(需要被轉(zhuǎn)發(fā)到目的地)。如果一個節(jié)點是終節(jié)點,他用編碼隊列Qe0來緩沖TCP數(shù)據(jù)包(那些在他的TCP流里或網(wǎng)絡(luò)側(cè)節(jié)點沒有被TCP流確認(rèn))。Pel是鏈路1的丟包率。
算法描述:
鏈路1發(fā)送模塊的1(i,j):
(1) Sf=0
如果節(jié)點i是數(shù)據(jù)流f的源信息節(jié)點,計算[Xf=argmaxU(xf)-xfqf];
Sf +=[xf10];
生成Sf向下取整應(yīng)答給傳輸層;
[Sf-=Sf]。
(2) 從隊列Qel挑出N1個數(shù)據(jù)包,轉(zhuǎn)發(fā)[N1(1-Pel)]線性結(jié)合,保存發(fā)送包的數(shù)目。
(3) 如果超時,則生成NACK給編碼器。
(4) 檢查是否有新的TCP隊列包,若有則按順序發(fā)送。
鏈路1的接收模塊1(i,j),若收到數(shù)據(jù)包a:
(1) 如果a是一個TCP連接的控制數(shù)據(jù)包,直接轉(zhuǎn)發(fā);
(2) 如果a是一個二進(jìn)制TCP數(shù)據(jù)包,則尋找a的下一個鏈路m,插入到Qem;
(3) 如果a是一個編碼數(shù)據(jù)包,緩沖,解碼。讓m表示它的下一鏈路:
① 如果解碼成功,生成ACK發(fā)送給發(fā)送者
② 否則,啟動接收計時器。
(4) 如果a是NACK,讓r表示解碼系數(shù)矩陣的階:
① 如果r=N1,刪除緩沖的TCP數(shù)據(jù)包,重新計算Pel,qif,釋放編碼器;
② 否則生成[N1(1-Pel)-r]個TCP數(shù)據(jù)包的對應(yīng)編碼塊的隨機組合。
4 結(jié) 語
本文提出一種多路徑策略,能夠通過將網(wǎng)絡(luò)編碼和TCP進(jìn)行最大化融合提高網(wǎng)絡(luò)的利用率。網(wǎng)絡(luò)編碼被加入到現(xiàn)有的網(wǎng)絡(luò)系統(tǒng),通過解決速率控制問題和分組調(diào)度問題,調(diào)整源節(jié)點的數(shù)據(jù)編碼分塊,降低數(shù)據(jù)包重傳的次數(shù),提高網(wǎng)絡(luò)的吞吐量。
參考文獻(xiàn)
[1] AKYILDIZ I, WANG Xu?dong, WANG Wei?lin. Wireless Mesh networks: a survey [J]. Computer Networks, 2005, 47(4): 445?487.
[2] RAMACHANDRAN K, BELDING E, ALMEROTH K, et al. Interference?aware channel assignment in multi?radio wireless Mesh networks [C]// Proceedings of INFO?COM. Barcelona,Catalunya, Spain: IEEE Computer Society, 2006: 1?12.
[3] GUPTA P, KUMAR P, Capacity of wireless networks [J]. IEEE Transactions on Information Theory, 2000, 46: 388?404.
[4] AKHTAR N, MOESSNER K. On the nominal capacity of multi?radio multi?channel wireless Mesh networks [J]. Computer Communications, 2008, 31(8): 1475?1483.
[5] KATTI S, RAHUL H, HU Wen?jun, et al. XORs in the air: practical wireless network coding [J]. IEEE / ACM Transactions on Networking, 2008, 16(3): 497?510.
[6] HUANG Yong, GHADERI M, TOWSLEY D, et al. TCP performance in coded wireless Mesh networks [C]// Proceedings of the 5th Annual IEEE Communications Society Conference on Sensor Mesh and Ad Hoc Communications and Networks. San Francisco, USA: IEEE Computer Society, 2008: 179?187.
[7] HASSAYOUN S, MAILL P. On the impact of random losses on TCP performance in coded wireless Mesh networks [C]// Proceedings of the 29th Conference on Information Communications. San Diego, CA, USA: IEEE Computer Society, 2010: 1?9.
[8] SEFEROGLU H, MARKOPOULOU A. Network coding?aware queue management for unicast flows over coded wireless networks [C]// Proceedings of IEEE NetCod. Toronto, Canada: IEEE Computer Society, 2010: 1?6.
[9] SENGUPTA S, RAYANCHU S, BANARJEE S. An analysis of wireless network coding for unicast sessions:the case for coding?aware routing [C]// Proceedings of the 26th IEEE International Conference on Computer Communications. Anchorage, Alaska, USA: IEEE Computer Society, 2007: 1028?1036.
[Ua(x)=logx, a=1x1-a1-a, a≥0,a≠1] (1)
功能函數(shù)在該系統(tǒng)中的定義為:
[U(x)=Ua=1(x)=-1x] (2)
路由:網(wǎng)絡(luò)可用最大化規(guī)劃。
一個網(wǎng)絡(luò)是穩(wěn)定的,如果節(jié)點i的整個輸出交通比整體的輸入大,
[rfij-rfij-xf{s(f)=i}≥0] (3)
若[s(f)=i],則[xf{s(f)=i}=xf],否則該值為0,同時:
[rfij≥0] (4)
[f∈Frfij≤cij] (5)
網(wǎng)絡(luò)利用的總和為[f∈Fu(xf)]。網(wǎng)絡(luò)利用率的最大化公式是尋找解決最大化[f∈Fu(xf)]所對應(yīng)的式(3)~式(5)。
3 協(xié)議實施過程
該方案將網(wǎng)絡(luò)編碼融入到TCP當(dāng)中,可以有效降低隨機丟失并且顯著提高TCP 的吞吐量。通過一個單跳的流內(nèi)和流間網(wǎng)絡(luò)編碼機制,解決NUM問題分解出來的速率控制和包調(diào)度算法被提出來解決擁塞控制。如圖1所示,一個新的網(wǎng)絡(luò)編碼層被引入。在無線Mesh網(wǎng)絡(luò)當(dāng)中的無線節(jié)點。在每一個NC層,有一個發(fā)送者模型和接收者模型。
圖1 協(xié)議棧中新的網(wǎng)絡(luò)編碼層
他們主要負(fù)責(zé)分別發(fā)送和接收數(shù)據(jù)包,基于同一路TCP流。一個Mesh 節(jié)點用隊列Qel來緩沖那些TCP數(shù)據(jù)包(需要被轉(zhuǎn)發(fā)到目的地)。如果一個節(jié)點是終節(jié)點,他用編碼隊列Qe0來緩沖TCP數(shù)據(jù)包(那些在他的TCP流里或網(wǎng)絡(luò)側(cè)節(jié)點沒有被TCP流確認(rèn))。Pel是鏈路1的丟包率。
算法描述:
鏈路1發(fā)送模塊的1(i,j):
(1) Sf=0
如果節(jié)點i是數(shù)據(jù)流f的源信息節(jié)點,計算[Xf=argmaxU(xf)-xfqf];
Sf +=[xf10];
生成Sf向下取整應(yīng)答給傳輸層;
[Sf-=Sf]。
(2) 從隊列Qel挑出N1個數(shù)據(jù)包,轉(zhuǎn)發(fā)[N1(1-Pel)]線性結(jié)合,保存發(fā)送包的數(shù)目。
(3) 如果超時,則生成NACK給編碼器。
(4) 檢查是否有新的TCP隊列包,若有則按順序發(fā)送。
鏈路1的接收模塊1(i,j),若收到數(shù)據(jù)包a:
(1) 如果a是一個TCP連接的控制數(shù)據(jù)包,直接轉(zhuǎn)發(fā);
(2) 如果a是一個二進(jìn)制TCP數(shù)據(jù)包,則尋找a的下一個鏈路m,插入到Qem;
(3) 如果a是一個編碼數(shù)據(jù)包,緩沖,解碼。讓m表示它的下一鏈路:
① 如果解碼成功,生成ACK發(fā)送給發(fā)送者
② 否則,啟動接收計時器。
(4) 如果a是NACK,讓r表示解碼系數(shù)矩陣的階:
① 如果r=N1,刪除緩沖的TCP數(shù)據(jù)包,重新計算Pel,qif,釋放編碼器;
② 否則生成[N1(1-Pel)-r]個TCP數(shù)據(jù)包的對應(yīng)編碼塊的隨機組合。
4 結(jié) 語
本文提出一種多路徑策略,能夠通過將網(wǎng)絡(luò)編碼和TCP進(jìn)行最大化融合提高網(wǎng)絡(luò)的利用率。網(wǎng)絡(luò)編碼被加入到現(xiàn)有的網(wǎng)絡(luò)系統(tǒng),通過解決速率控制問題和分組調(diào)度問題,調(diào)整源節(jié)點的數(shù)據(jù)編碼分塊,降低數(shù)據(jù)包重傳的次數(shù),提高網(wǎng)絡(luò)的吞吐量。
參考文獻(xiàn)
[1] AKYILDIZ I, WANG Xu?dong, WANG Wei?lin. Wireless Mesh networks: a survey [J]. Computer Networks, 2005, 47(4): 445?487.
[2] RAMACHANDRAN K, BELDING E, ALMEROTH K, et al. Interference?aware channel assignment in multi?radio wireless Mesh networks [C]// Proceedings of INFO?COM. Barcelona,Catalunya, Spain: IEEE Computer Society, 2006: 1?12.
[3] GUPTA P, KUMAR P, Capacity of wireless networks [J]. IEEE Transactions on Information Theory, 2000, 46: 388?404.
[4] AKHTAR N, MOESSNER K. On the nominal capacity of multi?radio multi?channel wireless Mesh networks [J]. Computer Communications, 2008, 31(8): 1475?1483.
[5] KATTI S, RAHUL H, HU Wen?jun, et al. XORs in the air: practical wireless network coding [J]. IEEE / ACM Transactions on Networking, 2008, 16(3): 497?510.
[6] HUANG Yong, GHADERI M, TOWSLEY D, et al. TCP performance in coded wireless Mesh networks [C]// Proceedings of the 5th Annual IEEE Communications Society Conference on Sensor Mesh and Ad Hoc Communications and Networks. San Francisco, USA: IEEE Computer Society, 2008: 179?187.
[7] HASSAYOUN S, MAILL P. On the impact of random losses on TCP performance in coded wireless Mesh networks [C]// Proceedings of the 29th Conference on Information Communications. San Diego, CA, USA: IEEE Computer Society, 2010: 1?9.
[8] SEFEROGLU H, MARKOPOULOU A. Network coding?aware queue management for unicast flows over coded wireless networks [C]// Proceedings of IEEE NetCod. Toronto, Canada: IEEE Computer Society, 2010: 1?6.
[9] SENGUPTA S, RAYANCHU S, BANARJEE S. An analysis of wireless network coding for unicast sessions:the case for coding?aware routing [C]// Proceedings of the 26th IEEE International Conference on Computer Communications. Anchorage, Alaska, USA: IEEE Computer Society, 2007: 1028?1036.