拓撲控制中的休眠調(diào)度技術
發(fā)布時間:2012/3/30 19:41:39 訪問次數(shù):2006
在傳感器網(wǎng)絡的拓撲控制算法中,除了傳統(tǒng)EPM7256AFC256-12的功率控制和層次型拓撲控制兩個方面之外也提供了啟發(fā)式的節(jié)點喚醒和休眠機制。該機制能夠使節(jié)點在沒有事件發(fā)生時設置通信模塊為睡眠狀態(tài),而在有事件發(fā)生時自動醒來并喚醒鄰居節(jié)點,形成數(shù)據(jù)轉(zhuǎn)發(fā)的拓撲結(jié)構(gòu)。這種機制的引入,使得無線通信模塊大部分時間都處于關閉狀態(tài),只有傳感器模塊處于工作狀態(tài)。由于無線通信模塊消耗的能量遠大于傳感器模塊,所以這進一步節(jié)省了能量開銷。這種機制的重點在于解決節(jié)點在睡眠狀態(tài)和話動狀態(tài)之間的切換問題,不能獨立成為一種拓撲結(jié)構(gòu)控制機制,需要與其他拓撲控制算法結(jié)合使用。目前基于啟發(fā)機制的算法有STEM (SparseTopology and Energy Management) [39]算法和ASCENTI[401 (Adaptive Self-Configuring SensorNetworks Topologies)算法、CCP (Coverage Configuration Protocol) [41]和SPAN[42].
1.STEM
STEM算法是較早提出的節(jié)點喚醒算法,其包含兩種不同的機制:STEM-B (STEM-Beacon)和STEM-T (STEM-Tone)。在STEM-B算法中每個睡眠節(jié)點可以周期性地醒來偵聽信道。如果某個節(jié)點想要建立通信,它會作為主動節(jié)點先發(fā)送一連串Beacon包。目標節(jié)點在收到Beacon包后,發(fā)送應答信號,并自動進入數(shù)據(jù)接收狀態(tài)。主動節(jié)點在收到應答信號后,進入數(shù)據(jù)發(fā)送階段。為了避免喚醒信號和數(shù)據(jù)通信的沖突,使用偵聽信道和數(shù)據(jù)傳輸信道兩個分離信道。如果沒有數(shù)據(jù)通信,節(jié)點大部分時間只保持在偵聽信道上的周期性偵聽,從而在很大程度上節(jié)省了能量消耗。
STEM-T算法比STEM-B算法簡單。其節(jié)點周期性地進入偵聽階段,探測是否有鄰居節(jié)點要發(fā)送數(shù)據(jù)。當一個節(jié)點想與某個鄰居節(jié)點進行通信時,它首先發(fā)送一連串的喚醒包,發(fā)送喚醒包的時間長度必須大于偵聽的時間間隔,以確保鄰居節(jié)點能夠接收到喚醒包,然后該節(jié)點直接發(fā)送數(shù)據(jù)包。所有鄰居節(jié)點都能夠接收到喚醒包并進入接收狀態(tài),如果在一定時間內(nèi)沒有收到發(fā)送給自己的數(shù)據(jù)包,就自動進入睡眠狀態(tài)?梢奡TEM-T算法與STEM-B箅法相比省略了請求應答過程,但增加了節(jié)點喚醒次數(shù)。
STEM算法使節(jié)點在整個生命周期中的多數(shù)時間內(nèi)處于睡眠狀態(tài),適用于類似環(huán)境監(jiān)測或者突發(fā)事件監(jiān)測等應用。這類應用均由事件觸發(fā),不要求節(jié)點時刻保持在活動狀態(tài)。值得注意的是,在STEM算法中,節(jié)點的睡眠周期、部署密度及網(wǎng)絡的傳輸延遲之間有著密切的關系,所以要針對具體的應用要求進行相應的調(diào)整。
2. ASCENT
ASCENT(Adaptive Self-Configuring sEnsor Networks Topologies)算法是另一種節(jié)點喚醒機制,其重點在于均衡網(wǎng)絡中骨干節(jié)點的數(shù)量,并保證數(shù)據(jù)通路的暢通。節(jié)點接收數(shù)據(jù)時若發(fā)現(xiàn)丟包嚴重就向數(shù)據(jù)源方向的鄰居節(jié)點發(fā)出求助消息;當節(jié)點探測到周圍的通信節(jié)點丟包率很高或者收到鄰居節(jié)點發(fā)出的幫助請求時,它醒來后主動成為活動節(jié)點,幫助鄰居節(jié)點轉(zhuǎn)
發(fā)數(shù)據(jù)包。該算法運行包括觸發(fā)、建立和穩(wěn)定3個主要階段。
節(jié)點可以處于4種狀態(tài):①休眠狀態(tài),節(jié)點關閉通信模塊;②偵聽狀態(tài),只對信息進行偵聽,不進行數(shù)據(jù)包的轉(zhuǎn)發(fā);③測試狀態(tài),這是一個暫態(tài),參與數(shù)據(jù)包的轉(zhuǎn)發(fā),并且進行一定的運算,判斷自己是否需要變?yōu)榛顒訝顟B(tài);④活動狀態(tài),節(jié)點負責數(shù)據(jù)色的轉(zhuǎn)發(fā),能量消耗最大。從本質(zhì)上說,ASCENT是一個從匯聚節(jié)點向數(shù)據(jù)源節(jié)點回溯建立路由的過程。通過SCENT算法,節(jié)點能夠根據(jù)網(wǎng)絡情況動態(tài)地改變自身狀態(tài),從而動態(tài)地改變網(wǎng)絡拓撲結(jié)構(gòu),并且節(jié)點只根據(jù)本地信息進行計算,不依賴于無線通信模型、節(jié)點的地理分布和路由協(xié)議。但是ASCENT算法需要完善的地方還很多,如應該針對更大規(guī)模的節(jié)點分布進行改進,并加入負載平衡技術。另外,對于多個數(shù)據(jù)源節(jié)點的應用場景也需加以改進。
3.CCP
用CCP( Coverage Configuration Protocol)來達到網(wǎng)絡睡眠節(jié)點數(shù)最大化的休眠調(diào)度效果。CCP中節(jié)點有3個基本狀態(tài):工作狀態(tài)、偵聽狀態(tài)和睡眠狀態(tài)。此外,為了避免由于每個節(jié)點根據(jù)局部信息獨立進行調(diào)度而引起的沖突,CCP引入了加入和退出兩個過渡狀態(tài)。初始時,網(wǎng)絡中節(jié)點都處于工作狀態(tài)。當處于工作狀態(tài)的節(jié)點如果收到一個HELLO消息,它就檢查自己是否符合睡眠的條件,如果符合條件,就進入退出狀態(tài)并啟動退出計時器。在退出狀態(tài),如果計時器溢出,就廣播一個WITHDRAW消息,進入睡眠狀態(tài),并啟動睡眠計時器;如果在計時器溢出之前收到來自鄰居節(jié)點的WITHDRAW或HELLO消息,就撤銷計時器并返回活動狀態(tài)。在睡眠狀態(tài),如果計時器溢出,就進入偵聽狀態(tài),并啟動偵聽計時器。在偵聽狀態(tài),如果計時器溢出,就返回睡眠狀態(tài),同時啟動睡眠計時器;如果在計時器溢出之前收到HELLO、WITHDRAW或JOIN消息,就檢查自己是否應該工作,如果是,就進入加入狀態(tài),同時啟動加入計時器。在加入狀態(tài),如果計時器溢出,就進入工作狀態(tài)并廣播JOrN消息;在計時器溢出之前,如果收到JorN消息并判斷出沒有工作的必要,則該節(jié)點就進入睡眠狀態(tài)。同時,CCP能夠根據(jù)不同的應用和環(huán)境將網(wǎng)絡配置到指定的覆蓋度與連通度。
4. SPAN
SPAN算法的基本思想是在不破壞網(wǎng)絡原有連遁性的前提下,根據(jù)節(jié)點的剩余能量、鄰居節(jié)點的個數(shù)、節(jié)點的效用等多種因素,自適應地決定是成為骨干節(jié)點還是進入睡眠狀態(tài)。睡眠節(jié)點周期性地喚醒,以判斷自己是否應該成為骨干節(jié)點;骨干節(jié)點周期性地判斷自己是否應該退出。SPAN算法對傳感器節(jié)點沒有特殊的要求,這是它的優(yōu)點。但是,隨著節(jié)點密度的增加,SPAN的節(jié)能效果表現(xiàn)減弱。這主要是因為SPAN采用了IEEE 802.11的節(jié)能特性:睡眠節(jié)點必須周期性地喚醒并偵聽,這種方式的代價是相當大的。
1.STEM
STEM算法是較早提出的節(jié)點喚醒算法,其包含兩種不同的機制:STEM-B (STEM-Beacon)和STEM-T (STEM-Tone)。在STEM-B算法中每個睡眠節(jié)點可以周期性地醒來偵聽信道。如果某個節(jié)點想要建立通信,它會作為主動節(jié)點先發(fā)送一連串Beacon包。目標節(jié)點在收到Beacon包后,發(fā)送應答信號,并自動進入數(shù)據(jù)接收狀態(tài)。主動節(jié)點在收到應答信號后,進入數(shù)據(jù)發(fā)送階段。為了避免喚醒信號和數(shù)據(jù)通信的沖突,使用偵聽信道和數(shù)據(jù)傳輸信道兩個分離信道。如果沒有數(shù)據(jù)通信,節(jié)點大部分時間只保持在偵聽信道上的周期性偵聽,從而在很大程度上節(jié)省了能量消耗。
STEM-T算法比STEM-B算法簡單。其節(jié)點周期性地進入偵聽階段,探測是否有鄰居節(jié)點要發(fā)送數(shù)據(jù)。當一個節(jié)點想與某個鄰居節(jié)點進行通信時,它首先發(fā)送一連串的喚醒包,發(fā)送喚醒包的時間長度必須大于偵聽的時間間隔,以確保鄰居節(jié)點能夠接收到喚醒包,然后該節(jié)點直接發(fā)送數(shù)據(jù)包。所有鄰居節(jié)點都能夠接收到喚醒包并進入接收狀態(tài),如果在一定時間內(nèi)沒有收到發(fā)送給自己的數(shù)據(jù)包,就自動進入睡眠狀態(tài)?梢奡TEM-T算法與STEM-B箅法相比省略了請求應答過程,但增加了節(jié)點喚醒次數(shù)。
STEM算法使節(jié)點在整個生命周期中的多數(shù)時間內(nèi)處于睡眠狀態(tài),適用于類似環(huán)境監(jiān)測或者突發(fā)事件監(jiān)測等應用。這類應用均由事件觸發(fā),不要求節(jié)點時刻保持在活動狀態(tài)。值得注意的是,在STEM算法中,節(jié)點的睡眠周期、部署密度及網(wǎng)絡的傳輸延遲之間有著密切的關系,所以要針對具體的應用要求進行相應的調(diào)整。
2. ASCENT
ASCENT(Adaptive Self-Configuring sEnsor Networks Topologies)算法是另一種節(jié)點喚醒機制,其重點在于均衡網(wǎng)絡中骨干節(jié)點的數(shù)量,并保證數(shù)據(jù)通路的暢通。節(jié)點接收數(shù)據(jù)時若發(fā)現(xiàn)丟包嚴重就向數(shù)據(jù)源方向的鄰居節(jié)點發(fā)出求助消息;當節(jié)點探測到周圍的通信節(jié)點丟包率很高或者收到鄰居節(jié)點發(fā)出的幫助請求時,它醒來后主動成為活動節(jié)點,幫助鄰居節(jié)點轉(zhuǎn)
發(fā)數(shù)據(jù)包。該算法運行包括觸發(fā)、建立和穩(wěn)定3個主要階段。
節(jié)點可以處于4種狀態(tài):①休眠狀態(tài),節(jié)點關閉通信模塊;②偵聽狀態(tài),只對信息進行偵聽,不進行數(shù)據(jù)包的轉(zhuǎn)發(fā);③測試狀態(tài),這是一個暫態(tài),參與數(shù)據(jù)包的轉(zhuǎn)發(fā),并且進行一定的運算,判斷自己是否需要變?yōu)榛顒訝顟B(tài);④活動狀態(tài),節(jié)點負責數(shù)據(jù)色的轉(zhuǎn)發(fā),能量消耗最大。從本質(zhì)上說,ASCENT是一個從匯聚節(jié)點向數(shù)據(jù)源節(jié)點回溯建立路由的過程。通過SCENT算法,節(jié)點能夠根據(jù)網(wǎng)絡情況動態(tài)地改變自身狀態(tài),從而動態(tài)地改變網(wǎng)絡拓撲結(jié)構(gòu),并且節(jié)點只根據(jù)本地信息進行計算,不依賴于無線通信模型、節(jié)點的地理分布和路由協(xié)議。但是ASCENT算法需要完善的地方還很多,如應該針對更大規(guī)模的節(jié)點分布進行改進,并加入負載平衡技術。另外,對于多個數(shù)據(jù)源節(jié)點的應用場景也需加以改進。
3.CCP
用CCP( Coverage Configuration Protocol)來達到網(wǎng)絡睡眠節(jié)點數(shù)最大化的休眠調(diào)度效果。CCP中節(jié)點有3個基本狀態(tài):工作狀態(tài)、偵聽狀態(tài)和睡眠狀態(tài)。此外,為了避免由于每個節(jié)點根據(jù)局部信息獨立進行調(diào)度而引起的沖突,CCP引入了加入和退出兩個過渡狀態(tài)。初始時,網(wǎng)絡中節(jié)點都處于工作狀態(tài)。當處于工作狀態(tài)的節(jié)點如果收到一個HELLO消息,它就檢查自己是否符合睡眠的條件,如果符合條件,就進入退出狀態(tài)并啟動退出計時器。在退出狀態(tài),如果計時器溢出,就廣播一個WITHDRAW消息,進入睡眠狀態(tài),并啟動睡眠計時器;如果在計時器溢出之前收到來自鄰居節(jié)點的WITHDRAW或HELLO消息,就撤銷計時器并返回活動狀態(tài)。在睡眠狀態(tài),如果計時器溢出,就進入偵聽狀態(tài),并啟動偵聽計時器。在偵聽狀態(tài),如果計時器溢出,就返回睡眠狀態(tài),同時啟動睡眠計時器;如果在計時器溢出之前收到HELLO、WITHDRAW或JOIN消息,就檢查自己是否應該工作,如果是,就進入加入狀態(tài),同時啟動加入計時器。在加入狀態(tài),如果計時器溢出,就進入工作狀態(tài)并廣播JOrN消息;在計時器溢出之前,如果收到JorN消息并判斷出沒有工作的必要,則該節(jié)點就進入睡眠狀態(tài)。同時,CCP能夠根據(jù)不同的應用和環(huán)境將網(wǎng)絡配置到指定的覆蓋度與連通度。
4. SPAN
SPAN算法的基本思想是在不破壞網(wǎng)絡原有連遁性的前提下,根據(jù)節(jié)點的剩余能量、鄰居節(jié)點的個數(shù)、節(jié)點的效用等多種因素,自適應地決定是成為骨干節(jié)點還是進入睡眠狀態(tài)。睡眠節(jié)點周期性地喚醒,以判斷自己是否應該成為骨干節(jié)點;骨干節(jié)點周期性地判斷自己是否應該退出。SPAN算法對傳感器節(jié)點沒有特殊的要求,這是它的優(yōu)點。但是,隨著節(jié)點密度的增加,SPAN的節(jié)能效果表現(xiàn)減弱。這主要是因為SPAN采用了IEEE 802.11的節(jié)能特性:睡眠節(jié)點必須周期性地喚醒并偵聽,這種方式的代價是相當大的。
在傳感器網(wǎng)絡的拓撲控制算法中,除了傳統(tǒng)EPM7256AFC256-12的功率控制和層次型拓撲控制兩個方面之外也提供了啟發(fā)式的節(jié)點喚醒和休眠機制。該機制能夠使節(jié)點在沒有事件發(fā)生時設置通信模塊為睡眠狀態(tài),而在有事件發(fā)生時自動醒來并喚醒鄰居節(jié)點,形成數(shù)據(jù)轉(zhuǎn)發(fā)的拓撲結(jié)構(gòu)。這種機制的引入,使得無線通信模塊大部分時間都處于關閉狀態(tài),只有傳感器模塊處于工作狀態(tài)。由于無線通信模塊消耗的能量遠大于傳感器模塊,所以這進一步節(jié)省了能量開銷。這種機制的重點在于解決節(jié)點在睡眠狀態(tài)和話動狀態(tài)之間的切換問題,不能獨立成為一種拓撲結(jié)構(gòu)控制機制,需要與其他拓撲控制算法結(jié)合使用。目前基于啟發(fā)機制的算法有STEM (SparseTopology and Energy Management) [39]算法和ASCENTI[401 (Adaptive Self-Configuring SensorNetworks Topologies)算法、CCP (Coverage Configuration Protocol) [41]和SPAN[42].
1.STEM
STEM算法是較早提出的節(jié)點喚醒算法,其包含兩種不同的機制:STEM-B (STEM-Beacon)和STEM-T (STEM-Tone)。在STEM-B算法中每個睡眠節(jié)點可以周期性地醒來偵聽信道。如果某個節(jié)點想要建立通信,它會作為主動節(jié)點先發(fā)送一連串Beacon包。目標節(jié)點在收到Beacon包后,發(fā)送應答信號,并自動進入數(shù)據(jù)接收狀態(tài)。主動節(jié)點在收到應答信號后,進入數(shù)據(jù)發(fā)送階段。為了避免喚醒信號和數(shù)據(jù)通信的沖突,使用偵聽信道和數(shù)據(jù)傳輸信道兩個分離信道。如果沒有數(shù)據(jù)通信,節(jié)點大部分時間只保持在偵聽信道上的周期性偵聽,從而在很大程度上節(jié)省了能量消耗。
STEM-T算法比STEM-B算法簡單。其節(jié)點周期性地進入偵聽階段,探測是否有鄰居節(jié)點要發(fā)送數(shù)據(jù)。當一個節(jié)點想與某個鄰居節(jié)點進行通信時,它首先發(fā)送一連串的喚醒包,發(fā)送喚醒包的時間長度必須大于偵聽的時間間隔,以確保鄰居節(jié)點能夠接收到喚醒包,然后該節(jié)點直接發(fā)送數(shù)據(jù)包。所有鄰居節(jié)點都能夠接收到喚醒包并進入接收狀態(tài),如果在一定時間內(nèi)沒有收到發(fā)送給自己的數(shù)據(jù)包,就自動進入睡眠狀態(tài)。可見STEM-T算法與STEM-B箅法相比省略了請求應答過程,但增加了節(jié)點喚醒次數(shù)。
STEM算法使節(jié)點在整個生命周期中的多數(shù)時間內(nèi)處于睡眠狀態(tài),適用于類似環(huán)境監(jiān)測或者突發(fā)事件監(jiān)測等應用。這類應用均由事件觸發(fā),不要求節(jié)點時刻保持在活動狀態(tài)。值得注意的是,在STEM算法中,節(jié)點的睡眠周期、部署密度及網(wǎng)絡的傳輸延遲之間有著密切的關系,所以要針對具體的應用要求進行相應的調(diào)整。
2. ASCENT
ASCENT(Adaptive Self-Configuring sEnsor Networks Topologies)算法是另一種節(jié)點喚醒機制,其重點在于均衡網(wǎng)絡中骨干節(jié)點的數(shù)量,并保證數(shù)據(jù)通路的暢通。節(jié)點接收數(shù)據(jù)時若發(fā)現(xiàn)丟包嚴重就向數(shù)據(jù)源方向的鄰居節(jié)點發(fā)出求助消息;當節(jié)點探測到周圍的通信節(jié)點丟包率很高或者收到鄰居節(jié)點發(fā)出的幫助請求時,它醒來后主動成為活動節(jié)點,幫助鄰居節(jié)點轉(zhuǎn)
發(fā)數(shù)據(jù)包。該算法運行包括觸發(fā)、建立和穩(wěn)定3個主要階段。
節(jié)點可以處于4種狀態(tài):①休眠狀態(tài),節(jié)點關閉通信模塊;②偵聽狀態(tài),只對信息進行偵聽,不進行數(shù)據(jù)包的轉(zhuǎn)發(fā);③測試狀態(tài),這是一個暫態(tài),參與數(shù)據(jù)包的轉(zhuǎn)發(fā),并且進行一定的運算,判斷自己是否需要變?yōu)榛顒訝顟B(tài);④活動狀態(tài),節(jié)點負責數(shù)據(jù)色的轉(zhuǎn)發(fā),能量消耗最大。從本質(zhì)上說,ASCENT是一個從匯聚節(jié)點向數(shù)據(jù)源節(jié)點回溯建立路由的過程。通過SCENT算法,節(jié)點能夠根據(jù)網(wǎng)絡情況動態(tài)地改變自身狀態(tài),從而動態(tài)地改變網(wǎng)絡拓撲結(jié)構(gòu),并且節(jié)點只根據(jù)本地信息進行計算,不依賴于無線通信模型、節(jié)點的地理分布和路由協(xié)議。但是ASCENT算法需要完善的地方還很多,如應該針對更大規(guī)模的節(jié)點分布進行改進,并加入負載平衡技術。另外,對于多個數(shù)據(jù)源節(jié)點的應用場景也需加以改進。
3.CCP
用CCP( Coverage Configuration Protocol)來達到網(wǎng)絡睡眠節(jié)點數(shù)最大化的休眠調(diào)度效果。CCP中節(jié)點有3個基本狀態(tài):工作狀態(tài)、偵聽狀態(tài)和睡眠狀態(tài)。此外,為了避免由于每個節(jié)點根據(jù)局部信息獨立進行調(diào)度而引起的沖突,CCP引入了加入和退出兩個過渡狀態(tài)。初始時,網(wǎng)絡中節(jié)點都處于工作狀態(tài)。當處于工作狀態(tài)的節(jié)點如果收到一個HELLO消息,它就檢查自己是否符合睡眠的條件,如果符合條件,就進入退出狀態(tài)并啟動退出計時器。在退出狀態(tài),如果計時器溢出,就廣播一個WITHDRAW消息,進入睡眠狀態(tài),并啟動睡眠計時器;如果在計時器溢出之前收到來自鄰居節(jié)點的WITHDRAW或HELLO消息,就撤銷計時器并返回活動狀態(tài)。在睡眠狀態(tài),如果計時器溢出,就進入偵聽狀態(tài),并啟動偵聽計時器。在偵聽狀態(tài),如果計時器溢出,就返回睡眠狀態(tài),同時啟動睡眠計時器;如果在計時器溢出之前收到HELLO、WITHDRAW或JOIN消息,就檢查自己是否應該工作,如果是,就進入加入狀態(tài),同時啟動加入計時器。在加入狀態(tài),如果計時器溢出,就進入工作狀態(tài)并廣播JOrN消息;在計時器溢出之前,如果收到JorN消息并判斷出沒有工作的必要,則該節(jié)點就進入睡眠狀態(tài)。同時,CCP能夠根據(jù)不同的應用和環(huán)境將網(wǎng)絡配置到指定的覆蓋度與連通度。
4. SPAN
SPAN算法的基本思想是在不破壞網(wǎng)絡原有連遁性的前提下,根據(jù)節(jié)點的剩余能量、鄰居節(jié)點的個數(shù)、節(jié)點的效用等多種因素,自適應地決定是成為骨干節(jié)點還是進入睡眠狀態(tài)。睡眠節(jié)點周期性地喚醒,以判斷自己是否應該成為骨干節(jié)點;骨干節(jié)點周期性地判斷自己是否應該退出。SPAN算法對傳感器節(jié)點沒有特殊的要求,這是它的優(yōu)點。但是,隨著節(jié)點密度的增加,SPAN的節(jié)能效果表現(xiàn)減弱。這主要是因為SPAN采用了IEEE 802.11的節(jié)能特性:睡眠節(jié)點必須周期性地喚醒并偵聽,這種方式的代價是相當大的。
1.STEM
STEM算法是較早提出的節(jié)點喚醒算法,其包含兩種不同的機制:STEM-B (STEM-Beacon)和STEM-T (STEM-Tone)。在STEM-B算法中每個睡眠節(jié)點可以周期性地醒來偵聽信道。如果某個節(jié)點想要建立通信,它會作為主動節(jié)點先發(fā)送一連串Beacon包。目標節(jié)點在收到Beacon包后,發(fā)送應答信號,并自動進入數(shù)據(jù)接收狀態(tài)。主動節(jié)點在收到應答信號后,進入數(shù)據(jù)發(fā)送階段。為了避免喚醒信號和數(shù)據(jù)通信的沖突,使用偵聽信道和數(shù)據(jù)傳輸信道兩個分離信道。如果沒有數(shù)據(jù)通信,節(jié)點大部分時間只保持在偵聽信道上的周期性偵聽,從而在很大程度上節(jié)省了能量消耗。
STEM-T算法比STEM-B算法簡單。其節(jié)點周期性地進入偵聽階段,探測是否有鄰居節(jié)點要發(fā)送數(shù)據(jù)。當一個節(jié)點想與某個鄰居節(jié)點進行通信時,它首先發(fā)送一連串的喚醒包,發(fā)送喚醒包的時間長度必須大于偵聽的時間間隔,以確保鄰居節(jié)點能夠接收到喚醒包,然后該節(jié)點直接發(fā)送數(shù)據(jù)包。所有鄰居節(jié)點都能夠接收到喚醒包并進入接收狀態(tài),如果在一定時間內(nèi)沒有收到發(fā)送給自己的數(shù)據(jù)包,就自動進入睡眠狀態(tài)。可見STEM-T算法與STEM-B箅法相比省略了請求應答過程,但增加了節(jié)點喚醒次數(shù)。
STEM算法使節(jié)點在整個生命周期中的多數(shù)時間內(nèi)處于睡眠狀態(tài),適用于類似環(huán)境監(jiān)測或者突發(fā)事件監(jiān)測等應用。這類應用均由事件觸發(fā),不要求節(jié)點時刻保持在活動狀態(tài)。值得注意的是,在STEM算法中,節(jié)點的睡眠周期、部署密度及網(wǎng)絡的傳輸延遲之間有著密切的關系,所以要針對具體的應用要求進行相應的調(diào)整。
2. ASCENT
ASCENT(Adaptive Self-Configuring sEnsor Networks Topologies)算法是另一種節(jié)點喚醒機制,其重點在于均衡網(wǎng)絡中骨干節(jié)點的數(shù)量,并保證數(shù)據(jù)通路的暢通。節(jié)點接收數(shù)據(jù)時若發(fā)現(xiàn)丟包嚴重就向數(shù)據(jù)源方向的鄰居節(jié)點發(fā)出求助消息;當節(jié)點探測到周圍的通信節(jié)點丟包率很高或者收到鄰居節(jié)點發(fā)出的幫助請求時,它醒來后主動成為活動節(jié)點,幫助鄰居節(jié)點轉(zhuǎn)
發(fā)數(shù)據(jù)包。該算法運行包括觸發(fā)、建立和穩(wěn)定3個主要階段。
節(jié)點可以處于4種狀態(tài):①休眠狀態(tài),節(jié)點關閉通信模塊;②偵聽狀態(tài),只對信息進行偵聽,不進行數(shù)據(jù)包的轉(zhuǎn)發(fā);③測試狀態(tài),這是一個暫態(tài),參與數(shù)據(jù)包的轉(zhuǎn)發(fā),并且進行一定的運算,判斷自己是否需要變?yōu)榛顒訝顟B(tài);④活動狀態(tài),節(jié)點負責數(shù)據(jù)色的轉(zhuǎn)發(fā),能量消耗最大。從本質(zhì)上說,ASCENT是一個從匯聚節(jié)點向數(shù)據(jù)源節(jié)點回溯建立路由的過程。通過SCENT算法,節(jié)點能夠根據(jù)網(wǎng)絡情況動態(tài)地改變自身狀態(tài),從而動態(tài)地改變網(wǎng)絡拓撲結(jié)構(gòu),并且節(jié)點只根據(jù)本地信息進行計算,不依賴于無線通信模型、節(jié)點的地理分布和路由協(xié)議。但是ASCENT算法需要完善的地方還很多,如應該針對更大規(guī)模的節(jié)點分布進行改進,并加入負載平衡技術。另外,對于多個數(shù)據(jù)源節(jié)點的應用場景也需加以改進。
3.CCP
用CCP( Coverage Configuration Protocol)來達到網(wǎng)絡睡眠節(jié)點數(shù)最大化的休眠調(diào)度效果。CCP中節(jié)點有3個基本狀態(tài):工作狀態(tài)、偵聽狀態(tài)和睡眠狀態(tài)。此外,為了避免由于每個節(jié)點根據(jù)局部信息獨立進行調(diào)度而引起的沖突,CCP引入了加入和退出兩個過渡狀態(tài)。初始時,網(wǎng)絡中節(jié)點都處于工作狀態(tài)。當處于工作狀態(tài)的節(jié)點如果收到一個HELLO消息,它就檢查自己是否符合睡眠的條件,如果符合條件,就進入退出狀態(tài)并啟動退出計時器。在退出狀態(tài),如果計時器溢出,就廣播一個WITHDRAW消息,進入睡眠狀態(tài),并啟動睡眠計時器;如果在計時器溢出之前收到來自鄰居節(jié)點的WITHDRAW或HELLO消息,就撤銷計時器并返回活動狀態(tài)。在睡眠狀態(tài),如果計時器溢出,就進入偵聽狀態(tài),并啟動偵聽計時器。在偵聽狀態(tài),如果計時器溢出,就返回睡眠狀態(tài),同時啟動睡眠計時器;如果在計時器溢出之前收到HELLO、WITHDRAW或JOIN消息,就檢查自己是否應該工作,如果是,就進入加入狀態(tài),同時啟動加入計時器。在加入狀態(tài),如果計時器溢出,就進入工作狀態(tài)并廣播JOrN消息;在計時器溢出之前,如果收到JorN消息并判斷出沒有工作的必要,則該節(jié)點就進入睡眠狀態(tài)。同時,CCP能夠根據(jù)不同的應用和環(huán)境將網(wǎng)絡配置到指定的覆蓋度與連通度。
4. SPAN
SPAN算法的基本思想是在不破壞網(wǎng)絡原有連遁性的前提下,根據(jù)節(jié)點的剩余能量、鄰居節(jié)點的個數(shù)、節(jié)點的效用等多種因素,自適應地決定是成為骨干節(jié)點還是進入睡眠狀態(tài)。睡眠節(jié)點周期性地喚醒,以判斷自己是否應該成為骨干節(jié)點;骨干節(jié)點周期性地判斷自己是否應該退出。SPAN算法對傳感器節(jié)點沒有特殊的要求,這是它的優(yōu)點。但是,隨著節(jié)點密度的增加,SPAN的節(jié)能效果表現(xiàn)減弱。這主要是因為SPAN采用了IEEE 802.11的節(jié)能特性:睡眠節(jié)點必須周期性地喚醒并偵聽,這種方式的代價是相當大的。
上一篇:GAFT和TopDisc