胡向東,張 力
(重慶郵電大學(xué) 自動化學(xué)院,重慶,400065)
隨著物聯(lián)網(wǎng)等國家戰(zhàn)略性新興產(chǎn)業(yè)的興起與推動,無線傳感網(wǎng)(wireless sensor networks,WSN)將在軍事國防、工農(nóng)業(yè)生產(chǎn)、城市管理、生物醫(yī)療、環(huán)境監(jiān)測、搶險救災(zāi)、防恐反恐、危險區(qū)域遠(yuǎn)程監(jiān)控等諸多領(lǐng)域得到大規(guī)模應(yīng)用[1]。但無線傳感網(wǎng)中的眾多傳感器節(jié)點面臨著嚴(yán)格的能量約束問題,如何降低傳感器節(jié)點的能量消耗、延長網(wǎng)絡(luò)生命周期一直是無線傳感網(wǎng)的研究重點。
對于大規(guī)模的無線傳感網(wǎng)而言,基于分簇的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)在拓?fù)涔芾?、能量效率、?shù)據(jù)融合與節(jié)點協(xié)同處理方面都具有明顯優(yōu)勢。分簇的結(jié)構(gòu)將大規(guī)模的網(wǎng)絡(luò)劃分為多個小規(guī)模的網(wǎng)絡(luò),從而降低了拓?fù)涔芾淼碾y度,同時可以引入節(jié)點睡眠機制而不影響網(wǎng)絡(luò)連通性,便于數(shù)據(jù)融合,減少了信道接入的競爭,從而提高網(wǎng)絡(luò)吞吐量,為節(jié)點的協(xié)同處理提供了良好的物理支持,可有效地降低網(wǎng)絡(luò)開銷,延長網(wǎng)絡(luò)壽命[2]。
在這種分簇網(wǎng)絡(luò)結(jié)構(gòu)中,節(jié)點分布式地組織成以簇為單位的結(jié)構(gòu),每個簇包含一個簇頭節(jié)點(cluster head,CH)與多個簇成員節(jié)點(cluster member,CM)。簇頭節(jié)點承擔(dān)簇內(nèi)數(shù)據(jù)收集、處理與簇間路由與數(shù)據(jù)轉(zhuǎn)發(fā)等功能;簇成員節(jié)點負(fù)責(zé)將收集的數(shù)據(jù)上傳至其簇頭節(jié)點。由于簇頭節(jié)點負(fù)擔(dān)的任務(wù)量大大超過簇成員節(jié)點,將比簇成員節(jié)點更快速地消耗完自身能量,因此,需要采取措施平衡簇內(nèi)節(jié)點的能量消耗以延長整個網(wǎng)絡(luò)的生命周期。簇頭輪換是目前普遍采用的策略,通過簇頭輪換,使得網(wǎng)絡(luò)中的每個節(jié)點都有機會擔(dān)當(dāng)簇頭,從而平衡各節(jié)點的能量消耗?,F(xiàn)有分簇算法的簇頭輪換策略大多采用周期性輪換,如低功耗自適應(yīng)集簇分層型協(xié)議(low energy adaptive clustering hierarchy,LEACH)[3],HEED[4](a hybrid,energy-efficient distributed clustering approach),ACE[5](algorithm for cluster establishment)等以預(yù)設(shè)的時間周期為單位進(jìn)行全網(wǎng)簇頭輪換與拓?fù)渲亟?。雖然基于時間周期的輪換策略可以較好地均衡網(wǎng)絡(luò)能耗,但是其每次輪換都在全網(wǎng)內(nèi)進(jìn)行,不僅導(dǎo)致網(wǎng)絡(luò)功能的周期性中斷,同時會造成本身數(shù)據(jù)處理量不大或監(jiān)控任務(wù)不重的區(qū)域產(chǎn)生大量不必要的能量浪費,而且全網(wǎng)內(nèi)不同區(qū)域的能量消耗不均勻、輪換周期難以優(yōu)化確定。為了應(yīng)對上述問題,達(dá)到減少能量浪費和延長網(wǎng)絡(luò)存活時間的目的,本文對無線傳感器網(wǎng)絡(luò)的分簇路由協(xié)議進(jìn)行了分析與研究,并提出了一種新的算法。
新算法建立了局域按需簇維護(hù)機制,應(yīng)用網(wǎng)絡(luò)成簇之后基于動態(tài)能量閾值的輪換策略,把輪換的影響限制在一個較小的范圍內(nèi)(本簇內(nèi)或擴展到鄰簇)。同時,本文結(jié)合MAC層的動態(tài)TDMA調(diào)度機制,給出了實現(xiàn)分簇拓?fù)涞目焖俳⑴c故障恢復(fù)的方法。
典型的周期性輪換算法主要有LEACH,HEED,ACE等,這類算法都包括了簇頭選舉和數(shù)據(jù)傳輸2個階段,其主要的區(qū)別在于簇頭選舉的算法,而在數(shù)據(jù)傳輸階段,都采用了固定的TDMA調(diào)度機制,并基于預(yù)設(shè)的時間結(jié)束傳輸和重選簇頭。
在簇頭選舉階段,周期性輪換算法按照其簇頭選舉算法選出簇頭節(jié)點后,就向外發(fā)送簇頭廣播信息。而其他節(jié)點根據(jù)收到的簇頭廣播信息的信號大小決定要加入哪個簇,并向決定加入簇的簇頭發(fā)送加入請求。簇頭在收到請求后將該節(jié)點加入自己的路由表,并為每個節(jié)點設(shè)定一個TDMA時間表,再將該表發(fā)送給所有簇內(nèi)節(jié)點。
在數(shù)據(jù)傳輸階段,各簇內(nèi)成員節(jié)點按照自身的TDMA時隙將收集到的數(shù)據(jù)傳送給簇頭,若數(shù)據(jù)在一個時隙內(nèi)未發(fā)送完,則在下一時隙到來時繼續(xù)發(fā)送;簇頭節(jié)點則需在本輪數(shù)據(jù)發(fā)送的全部時間里進(jìn)行監(jiān)聽并接收簇內(nèi)普通節(jié)點的監(jiān)測數(shù)據(jù),待本簇內(nèi)所有普通節(jié)點傳完數(shù)據(jù)后,簇頭節(jié)點將接收到的全部數(shù)據(jù)與其自身監(jiān)測到的數(shù)據(jù)進(jìn)行融合處理,隨后進(jìn)入簇間通信階段。此外,簇內(nèi)成員節(jié)點只需在分配給自己的TDMA時隙內(nèi)將數(shù)據(jù)發(fā)送至簇頭節(jié)點,其他時間可處于休眠狀態(tài),起到節(jié)能的作用。
周期性輪換類的分簇算法與平面路由算法相比,網(wǎng)絡(luò)整體生存時間得到了延長。但這類算法也存在不少的缺點,如簇頭數(shù)目不確定,簇頭分布不合理,能量損耗不平衡,簇更新周期很難優(yōu)化確定等。這些問題制約了它們在大規(guī)模網(wǎng)絡(luò)中的應(yīng)用。
局域按需簇維護(hù)算法的主要思路是用基于能量閾值的方式驅(qū)動簇頭輪換,同時只在受影響的局域范圍內(nèi)用局域簇頭輪換,以此解決簇更新周期難確定的問題,減少不必要的能量的消耗,延長網(wǎng)絡(luò)的存活時間。
局域按需簇維護(hù)算法從網(wǎng)絡(luò)首次成簇之后開始,直到網(wǎng)絡(luò)死亡為止,由簇頭維護(hù)算法、成員節(jié)點維護(hù)算法和待命節(jié)點維護(hù)算法3部分組成。它將網(wǎng)絡(luò)中由于某些原因?qū)е碌臒o法正常工作的節(jié)點(如剩余能量低于閾值的簇頭節(jié)點、簇頭不再繼續(xù)正常工作的簇內(nèi)成員節(jié)點、新入網(wǎng)節(jié)點等)全當(dāng)作待命節(jié)點,再按照網(wǎng)絡(luò)當(dāng)前的具體情況,對它們統(tǒng)一進(jìn)行維護(hù),使它們重新開始工作。圖1描述了局域按需簇維護(hù)涉及的對象和節(jié)點狀態(tài)轉(zhuǎn)移。
圖1 節(jié)點狀態(tài)轉(zhuǎn)移圖Fig.1 Diagram of state shift of node
1)簇頭節(jié)點維護(hù)算法。簇頭節(jié)點維護(hù)的主要任務(wù)是判斷簇頭是否繼續(xù)擔(dān)任,當(dāng)簇頭滿足自身當(dāng)前剩余能量值高于能量閾值Eth,并且簇內(nèi)成員節(jié)點數(shù)大于設(shè)定的最小成員個數(shù)member_min_時,則繼續(xù)擔(dān)任簇頭,否則,廣播辭職消息ADV_RESIGN,并轉(zhuǎn)為待命節(jié)點。具體流程如圖2a所示。
圖2 維護(hù)流程Fig.2 Flow chart of maintenance
[7-8]中能量閾值的設(shè)定方法,本文設(shè)置能量閾值Eth的計算方法為
(1)式中:μ,ε∈R,μ,ε分別為預(yù)設(shè)值,并滿足(μ+εpnow)∈[0,1];Erec為擔(dān)任簇頭時的初始剩余能量;pnow為當(dāng)前能耗速率,pnow每隔5個TDMA幀長更新一次,pnow越大,Eth越大,簇頭工作時長越短。最小成員個數(shù)member_min_的計算方法為
(2)式中:p∈[0,1],p為預(yù)設(shè)值,alive_node為存活節(jié)點個數(shù)。周期性輪換算法通過預(yù)設(shè)簇頭個數(shù)來平衡網(wǎng)絡(luò)負(fù)載,但由于簇頭個數(shù)的隨機性,網(wǎng)絡(luò)的負(fù)載平衡因子(load balance factor,LBF)波動大、均值小。通過設(shè)置member_min_來控制簇頭個數(shù),可更有效地平衡負(fù)載,并提高負(fù)載平衡效果的穩(wěn)定性。
2)成員節(jié)點維護(hù)算法。成員節(jié)點維護(hù)主要起偵聽簇頭異常、保護(hù)網(wǎng)絡(luò)的作用。成員節(jié)點轉(zhuǎn)為待命節(jié)點的條件有2種:1)成員節(jié)點在發(fā)現(xiàn)簇頭被捕獲或簇頭死亡;2)成員節(jié)點接收到簇頭的辭職消息ADV_RESIGN。具體流程如圖2b所示。
3)待命節(jié)點維護(hù)算法。待命節(jié)點都是暫時無法工作的節(jié)點,因此對待命節(jié)點維護(hù)的目的就是要使節(jié)點重新工作,即重新成簇或者加入其他簇。本文采用在一個區(qū)域范圍內(nèi),當(dāng)待命節(jié)點個數(shù)大于λ倍member_min_時,選擇重新成簇;否則,節(jié)點選擇最鄰近的簇頭,請求加入該簇頭所在的簇。具體算法將在2.2節(jié)詳細(xì)敘述。
區(qū)域簇頭輪換是通過對待命節(jié)點的維護(hù)實現(xiàn)的。由于待命節(jié)點的產(chǎn)生方式有2種,區(qū)域簇頭輪換的實現(xiàn)方式分為有簇頭輪換(針對簇頭辭職的方式)和無簇頭輪換(針對簇頭被捕獲或死亡)。
有簇頭輪換步驟如下。
步驟1 當(dāng)簇頭剩余能量低于設(shè)定的能量閾值時,簇頭廣播辭職消息ADV_RESIGN。
步驟2 收到ADV_RESIGN消息的簇內(nèi)成員節(jié)點向簇頭發(fā)送包含自身剩余能量信息的消息NODE_INFO,并轉(zhuǎn)為待命節(jié)點。
步驟3 簇頭根據(jù)收到的NODE_INFO消息統(tǒng)計出簇內(nèi)成員節(jié)點的個數(shù)Num_CM,再根據(jù)簇內(nèi)成員節(jié)點的個數(shù)Num_CM計算出將要生成簇的個數(shù)Num_CH。當(dāng)Num_CM小于λ倍的member_min_時,Num_CH為1,在其他條件下,Num_CH的值由(3)式計算所得。
(3)式中,符號?a」為小于a的最大整數(shù)。
步驟4 簇頭根據(jù)收到的NODE_INFO消息選出剩余能量最大節(jié)點的Num_CH個節(jié)點作為新簇頭,廣播新簇頭ID列表消息NEW_CH,并轉(zhuǎn)為待命節(jié)點。
步驟5 收到NEW_CH消息的待命節(jié)點檢查NEW_CH消息中是否有自身ID。如果有自身ID,則轉(zhuǎn)為簇頭節(jié)點,并發(fā)布簇頭廣播ADV_CH;如果沒有自身ID,則繼續(xù)維持待命節(jié)點狀態(tài)。
步驟6 收到ADV_CH廣播的待命節(jié)點向新簇頭發(fā)送加入請求JOIN_REQ;鄰簇中收到廣播的成員節(jié)點比較新簇頭與現(xiàn)有簇頭的通信距離,當(dāng)與新簇頭的通信距離更小時,向新簇頭發(fā)送加入請求JOIN_REQ。
步驟7 簇頭根據(jù)收到的JOIN_REQ消息,按通信距離進(jìn)行排序,廣播時隙消息ADV_SCH,完成成簇。
無簇頭輪換步驟如下。
步驟1 發(fā)現(xiàn)簇頭異常的成員節(jié)點,關(guān)閉睡眠狀態(tài),轉(zhuǎn)為待命節(jié)點。
步驟2 發(fā)現(xiàn)簇頭異常的成員節(jié)點在各自的下一時隙開始時,檢查是否已收到信息收集廣播ADV_COLLECT,如未收到ADV_COLLECT消息,則發(fā)送ADV_COLLECT消息。
步驟3 收到ADV_COLLECT消息的節(jié)點,向廣播ADV_COLLECT消息的節(jié)點發(fā)送節(jié)點信息NODE_INFO消息。
步驟4 廣播ADV_COLLECT消息的節(jié)點根據(jù)收集到的NODE_INFO消息判斷剩余成員節(jié)點個數(shù)是否大于member_min_。當(dāng)剩余成員節(jié)點個數(shù)大于member_min_時,依據(jù)有簇頭輪換的方法,選出新簇頭,廣播NEW_CH消息,重新成簇;當(dāng)剩余成員節(jié)點個數(shù)小于member_min_時,廣播ADV_DISBAND消息,并向最近的簇頭發(fā)送JOIN_REQ消息。
步驟5 收到ADV_DISBAND消息的待命節(jié)點向各自最近的簇頭發(fā)送JOIN_REQ消息,在收到簇頭節(jié)點的時隙廣播ADV_SCH消息后,計算得到自身的發(fā)送時隙,轉(zhuǎn)為成員節(jié)點,加入到該簇。
周期性輪換算法在進(jìn)行下一輪簇頭選舉之前,網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)是固定的,因此可以使用一個靜態(tài)的TDMA調(diào)度方式,而局域按需簇維護(hù)的拓?fù)渥兓欠侵芷诘?,隨時都有可能發(fā)生變化,若采用靜態(tài)TDMA調(diào)度方式會產(chǎn)生大量的數(shù)據(jù)傳輸沖突,對網(wǎng)絡(luò)造成巨大的危害。因此使用動態(tài)TDMA調(diào)度十分必要。
局域按需簇維護(hù)的拓?fù)渥兓饕?種:1)成員節(jié)點的退出和加入;2)多跳網(wǎng)絡(luò)中簇間路由的變化。簇頭間的數(shù)據(jù)傳輸固定在data transmission時隙進(jìn)行,如圖3所示,在簇間路由恢復(fù)之后,就能將數(shù)據(jù)傳到基站,因此不需要調(diào)度。成員節(jié)點向簇頭傳輸數(shù)據(jù)在schedule時隙進(jìn)行,schedule時隙被分為多個slot時隙,slot時隙與成員節(jié)點一一對應(yīng),1個slot時隙只允許1個成員節(jié)點使用。新成員節(jié)點加入時,要使其能發(fā)送數(shù)據(jù),就必須分配一個slot時隙供其使用;原有成員節(jié)點退出時,簇頭回收空出的時隙,有助于延長剩余的成員節(jié)點的slot時隙,從而提高網(wǎng)絡(luò)的傳輸效率。
圖3 TDMA結(jié)構(gòu)Fig.3 Framework of TDMA
動態(tài)TDMA調(diào)度具有以下2個特點。
1)時隙的分配是根據(jù)成員節(jié)點與簇頭間的通信距離決定的,通信距離越小,時隙越靠前。成員節(jié)點在請求加入消息JOIN_REQ中加入收到簇頭廣播消息ADV_CH的信號強度,簇頭再根據(jù)信號強度從大到小排序,然后廣播時隙消息ADV_SCH。
2)schedule時隙的時長是固定的,slot時隙時長可以改變。為保證在一個slot時隙內(nèi)至少能完成一個數(shù)據(jù)包的傳輸,slot時隙有一個最小時長,最小時長由單個包的大小和帶寬等因素決定。將schedule時隙按成員節(jié)點個數(shù)均分,均分后時長大于slot時隙的最小時長時,slot時隙的時長就等于均分的時長;均分后時長小于slot時隙的最小時長時,slot時隙的時長就等于slot時隙的最小時長,并從后向前復(fù)用時隙。
本文采用網(wǎng)絡(luò)仿真軟件NS-2.34,仿真區(qū)域為100 m×100 m,在其中隨機布設(shè)100個傳感器節(jié)點,基站位于場景的上方。節(jié)點初始能量設(shè)為2 J;節(jié)點每進(jìn)入一次自己的時隙,則發(fā)送一次數(shù)據(jù)。節(jié)點的參數(shù)具體設(shè)置如表1所示。
表1 節(jié)點參數(shù)設(shè)置Tab.1 Setting of node parameters
局域按需簇維護(hù)算法涉及4個重要的參數(shù):μ,ε,p和λ。μ和ε為計算能量閾值的相關(guān)系數(shù),能量閾值決定了簇頭輪換的快慢,直接影響到網(wǎng)絡(luò)存活時間,因此在不同μ和ε值的情況下,網(wǎng)絡(luò)存活時間有著較大的差異,如圖4所示。
圖4是在仿真條件下網(wǎng)絡(luò)存活時間隨不同的μ和ε值的變化情況。在μ=0.4,ε=11時,網(wǎng)絡(luò)存活時間達(dá)到最大值665 s,此時(μ+εpnow)的值在0.58~0.66 波動,接近于文獻(xiàn)[9]中提出的最優(yōu)能量閾值參數(shù) popt=0.644,(Eth=p·Erec)。
圖4 μ和ε對存活時間的影響Fig.4 Change of alive time with μ and ε
除μ和ε之外,網(wǎng)絡(luò)中還有2個參數(shù)p和λ。p是計算最小成員節(jié)點個數(shù)的系數(shù),λ是控制重新成簇個數(shù)的系數(shù),這2個參數(shù)控制著網(wǎng)絡(luò)拓?fù)?,不同的p值和λ值會使網(wǎng)絡(luò)的簇頭個數(shù)和負(fù)載平衡發(fā)生變化。仿真結(jié)果如表2所示。
表2 不同p和λ下的簇個數(shù)情況Tab.2 Number of cluster under p and λ
表2的中間內(nèi)容是簇個數(shù)信息,其數(shù)值是按照簇個數(shù)均值[最小簇個數(shù),最大簇個數(shù)]的形式排列的。
由于LEACH,HEED,ACE等周期性輪換算法在網(wǎng)絡(luò)運行和維護(hù)過程中的差異性不大,因此本文仿真中采用最典型的LEACH算法與新算法做對比驗證。
圖5為新算法與LEACH算法的LBF的變化對比,圖5中LEACH算法設(shè)置的簇頭個數(shù)為5,對應(yīng)新算法中的p和λ分別為0.15和1.5,平均簇頭個數(shù)維持在5個左右(如表2所示)。從圖5中可以看出,在預(yù)設(shè)相同簇個數(shù)的條件下,新算法的負(fù)載平衡因子波動范圍更小,均值更大,說明網(wǎng)絡(luò)的負(fù)載更平衡。
圖5 負(fù)載平衡因子隨時間的變化Fig.5 Change of LBF with time
圖6 網(wǎng)絡(luò)存活時間對比Fig.6 Contrast of the number of alive nodes
圖7 數(shù)據(jù)傳輸量對比Fig.7 Contrast of the amount of data received
圖8 能量消耗對比Fig.8 Contrast of energy consumption
圖6-8分別從網(wǎng)絡(luò)存活時間、基站收到的數(shù)據(jù)總量和能量消耗情況3個方面將新算法與LEACH算法進(jìn)行了比較。由圖5可見,局域按需簇維護(hù)算法的網(wǎng)絡(luò)存活時間為665 s,超過LEACH算法的存活時間525 s,增加了約26.7%;由圖6可知,局域按需簇維護(hù)算法中基站收到的數(shù)據(jù)包有65 928個,超過LEACH算法的數(shù)據(jù)包總數(shù)52 374個,增加了25.9%;由圖7可見,在能量消耗方面,隨著時間的增加,局域按需簇維護(hù)算法比LEACH算法能量消耗更小,在給定能量耗盡時,局域按需簇維護(hù)算法所支持的網(wǎng)絡(luò)存活時間持續(xù)更長。
無線傳感網(wǎng)的生命周期一直是技術(shù)開發(fā)人員關(guān)注的焦點,本文基于目前得到普遍接受的分簇結(jié)構(gòu)的無線傳感網(wǎng),提出并建立了局域按需簇維護(hù)算法,實現(xiàn)了基于能量閾值的非周期性、局域范圍內(nèi)的簇頭輪換,能解決傳統(tǒng)方法存在的能量浪費問題。與典型的LEACH算法的周期性時間驅(qū)動和整網(wǎng)簇頭輪換方法相對比,仿真結(jié)果表明,本文提出的局域按需簇維護(hù)算法可有效提高負(fù)載平衡性、降低能量消耗,在網(wǎng)絡(luò)存活時間和數(shù)據(jù)采集量上都優(yōu)于LEACH算法。本文提出的動態(tài)TDMA時隙調(diào)度方法,還能對節(jié)點的退出或死亡做出快速響應(yīng),可確保網(wǎng)絡(luò)鏈路得到快速修復(fù)。
參考文獻(xiàn):
[1]孫利民,李建中,陳渝,等.無線傳感器網(wǎng)絡(luò)[M],北京:清華大學(xué)出版社,2005:94-102.SUN Limin,LI Jianzhong,CHEN Yu,et al.Wireless Sensor Networks[M].Beijing:Tshinghua University Press,2005:94-102.
[2]AHMED A,MOHAMED Y.A survey on clustering algorithms for wireless sensor networks[J].Computer Communications,2007,30(14-15):2826-2841.
[3]HEINZELMAN WR, CHANDRAKASANA, BALAKRISHNAN H.Energy-efficient communication protocol for wireless microsensor networks[C]//IEEE.Proceedings of the 33rd Annual Hawaii International Conference on System Sciences.Hawaii:IEEE Computer Society,2000:10-15.
[4]YOUNIS O,F(xiàn)AHMY S.HEED:A hybrid,energy-efficient,distributed clustering approach for Ad hoc sensor networks[J].IEEE Transaction on Mobile Computing,2004,3(4):366-379.
[5]CHAN H,PERRIG A.ACE:An Emergent Algorithm for Highly Uniform Cluster Formation[C]//HOLGER K,ANDREAS W.Wireless Sensor Networks:First European Workshop,EWSN 2004.Berlin:Springer,2004:154-171.
[6]游曉黔,李明隆,楊佳.無線傳感器網(wǎng)絡(luò)LEACH協(xié)議的研究與改進(jìn)[J].重慶郵電大學(xué)學(xué)報:自然科學(xué)版,2011,23(6):746-751.YOU Xiaoqian,LI Minglong,YANG Jia.Research and improvement of LEACH protocol for wireless sensor networks[J].Journal of Chongqing University of Posts and Telecommunications:Natural Science Edition,2011,23(6):746-751.
[7]WANG Y,ZHAO Q,ZHENG D.Energy-driven adaptive clustering data collection protocol in wireless sensor networks[C]//IEEE.Proceedings of International Conference on Intelligent Mechatronics and Automation.Chengdu:IEEE Press,2004:599-604.
[8]GAMWARIGE S,KULASEKERE E.An algorithm for energy driven cluster head rotation in a distributed wireless sensor network[C]//IEEE.Proceedings of the International Conference on Information and Automation(ICIA2005).Hong Kong:IEEE Press,2005:354-359.
[9]GAMWARIGE S,KULASEKERE C. Optimization of cluster head rotation in energy constrained wireless sensor networks[C]//IEEE.Proceedings of International Conference on Wireless and Optical Communications Networks.Singapore:IEEE Press,2007:1-5.