專利名稱:無線ad hoc網(wǎng)絡的制作方法
技術(shù)領域:
本發(fā)明涉及一種ad hoc網(wǎng)絡,更具體地說,涉及一種操作ad hoc網(wǎng)絡的方法,在該方法中,具有有限處理能力和通信帶寬的多個小型設備在對等的基礎上相互合作,而沒有任何中央控制機制來許可在構(gòu)成該adhoc網(wǎng)絡的設備之間發(fā)送數(shù)據(jù)。
背景技術(shù):
本發(fā)明人以前已經(jīng)在菌落進化以適應變化環(huán)境的方式的啟發(fā)下開發(fā)出一種協(xié)議。該協(xié)議最初被設計成用于有源網(wǎng)絡,其中網(wǎng)絡的切換節(jié)點能夠執(zhí)行比簡單切換功能(該簡單切換功能是傳統(tǒng)上賦予數(shù)據(jù)或通信網(wǎng)絡中的切換節(jié)點的功能)更多的功能。在以下公開的國際專利申請中詳細描述了該協(xié)議WO 01/59991、WO 02/23817、WO 02/073889,在此通過引用并入它們的內(nèi)容。
在上述申請中更加詳細地描述了該協(xié)議,簡而言之,該協(xié)議使得有效節(jié)點能夠在彼此之間交換軟件塊(通常稱為節(jié)點策略),從而相應地修改每個節(jié)點的功能,這些軟件塊中的每一個都控制節(jié)點的對應功能塊。這類似于群落中的細菌在彼此之間交換小段遺傳物質(zhì)來改變各細菌的功能的方式。簡單地通過允許“成功”的細菌將遺傳物質(zhì)塊分布到群落上,然后由較不“成功”的相鄰細菌獲取所述遺傳物質(zhì)塊,來控制該交換。在菌落的自然情況下,由代謝營養(yǎng)以產(chǎn)生能量的量和速度來確定是否成功。在本發(fā)明人設計的該類似協(xié)議中,通過節(jié)點進行服務的量和速度來確定各節(jié)點是否成功。
本發(fā)明人預期該協(xié)議可成功地應用于由大量具有有限處理和通信能力的簡單設備形成的ad hoc網(wǎng)絡。然而,發(fā)明人還沒有實際嘗試這樣做,從而還不清楚該技術(shù)是否能夠很好地移植到這種環(huán)境中。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的第一方面,提供了一種操作ad hoc網(wǎng)絡的方法,該adhoc網(wǎng)絡包括多個設備,在操作環(huán)境允許的情況下,所述多個設備中的每一個設備都可以在該設備和所述多個設備中的其他設備位于彼此的范圍內(nèi)時與所述其他設備進行通信,所述方法包括每個設備都存儲一個或更多個節(jié)點策略,并根據(jù)所述存儲的節(jié)點策略運行;每個設備都存儲適應性參數(shù),并通過在節(jié)點的有效時段期間增大所述適應性參數(shù)而在無效時段期間減小所述適應性參數(shù),來更新所述適應性參數(shù);以及每個節(jié)點都根據(jù)其適應性參數(shù)的值向相鄰節(jié)點發(fā)送其存儲的節(jié)點策略中的一個或更多個,并且每個節(jié)點都根據(jù)其適應性參數(shù)存儲所接收到的節(jié)點策略,其中每個設備都在所存儲的節(jié)點策略表示該節(jié)點應該同時向一個或更多個相鄰設備發(fā)送數(shù)據(jù)的情況下,抑制節(jié)點策略的發(fā)送。
發(fā)明人已經(jīng)發(fā)現(xiàn),通過這種方式操作該ad hoc網(wǎng)絡導致性能優(yōu)異的網(wǎng)絡。具體地說,通過使用相同的通信信道來發(fā)送數(shù)據(jù)和策略,只要有可能就充分利用典型ad hoc網(wǎng)絡中緊缺的帶寬資源來發(fā)送數(shù)據(jù)。然而,在ad hoc網(wǎng)絡中,即使最成功的節(jié)點也仍然會存在無效的時段,并且這種自然的中斷時間提供了足夠的帶寬來發(fā)送策略信息,以使得網(wǎng)絡能夠進化從而適應變化的環(huán)境等。
優(yōu)選的是,所述適應性參數(shù)響應于有效時段的增大量根據(jù)在其范圍內(nèi)具有的相鄰設備的數(shù)量而相反地變化。這樣,設法保持有效但僅與幾個相鄰設備(假設這些設備的拓撲結(jié)構(gòu)不受單個設備的控制)通信的設備被認為比僅同樣有效但具有進行交互的更多相鄰設備的那些設備更具有適應性。
在一個優(yōu)選實施例中,采用所述方法來形成傳感器網(wǎng)絡,該傳感器網(wǎng)絡包括多個感測設備,所述多個感測設備可自主運行,從而使得所述設備能夠從適度惡劣的環(huán)境采集感測數(shù)據(jù),并向處理中心無線發(fā)送回該感測數(shù)據(jù)。在以這種方式利用一個或更多個節(jié)點策略時,該一個或更多個節(jié)點策略可以指定設備可以在某種特定條件下使用其處理資源中的一些資源來壓縮其存儲用來隨后前向發(fā)送的感測數(shù)據(jù)。優(yōu)選的是,所述設備可以執(zhí)行的一種類型的壓縮是將目標存儲測量值與在不同時刻取得的對應基準存儲測量值進行比較,確定所述目標存儲測量值是否在可根據(jù)預定公式從所述基準測量值導出的估計測量值的預定可接受誤差范圍內(nèi),如果在該范圍內(nèi),則刪除所述目標測量值。隨后,在所述處理中心處,利用與所述壓縮設備首先用來確定是否刪除所述目標測量值相同的公式來產(chǎn)生估計測量值,從而“恢復”(具有可接受的誤差)所述刪除的測量值。作為示例,所述基準測量值可以是在時間上正好在所述目標測量值之前和之后的測量值,并且所述預定公式可取所述基準測量值的平均值。
根據(jù)本發(fā)明的第二方面,提供了一種設備,該設備用于在與其它相容設備進行通信時形成ad hoc網(wǎng)絡,所述設備包括通信裝置,其用于與形成所述ad hoc網(wǎng)絡一部分的其它裝置進行通信;存儲裝置,其用于存儲節(jié)點策略;處理裝置,其用于處理所述存儲的節(jié)點策略,并相應地運行,并且還用于確定與所述設備相關(guān)的適應性級別;其中,所述設備可操作用來在檢測到其適應性水平高于預定閾值并且其沒有利用所述通信裝置根據(jù)所存儲的節(jié)點策略來發(fā)送數(shù)據(jù)時,通過所述通信裝置向相鄰設備發(fā)送其節(jié)點策略中的一個或更多個。
所述通信裝置優(yōu)選地(但不是必須地)是無線電收發(fā)機。然而,另選的通信裝置或收發(fā)機例如可以使用聲納或光學發(fā)送方法。
根據(jù)本發(fā)明的第三方面,提供了一種ad hoc網(wǎng)絡,該ad hoc網(wǎng)絡包括根據(jù)本發(fā)明第二方面的多個設備。
本發(fā)明的其它方面涉及對應的計算機程序和攜帶有這種計算機程序的載體介質(zhì)。用于該目的的載體介質(zhì)的示例為磁盤或光盤、固態(tài)存儲器或適于調(diào)制的載波信號或一系列底層數(shù)據(jù)分組,從而使得例如能夠通過模擬或數(shù)字網(wǎng)絡將程序或多個程序下載到這種存儲器上。
為了更好地理解本發(fā)明,下面將參照附圖僅以示例的方式描述其實施例,在附圖中
圖1至圖6為表示根據(jù)本發(fā)明第一實施例的ad hoc網(wǎng)絡中的各個移動設備在一系列六個連續(xù)時間段(epoch)中的每個時間段的位置和狀態(tài)的示意圖;圖7為表示在圖1至圖6所示的六個時間段期間內(nèi)通過這些設備之間的消息序列的時序表;以及圖8、9、10和11為表示本發(fā)明另一實施例的模擬結(jié)果的曲線圖。
具體實施例方式
一般而言,本發(fā)明的ad hoc網(wǎng)絡假定形成該ad hoc網(wǎng)絡(的各個節(jié)點)的設備只具有進行數(shù)據(jù)(下文中,數(shù)據(jù)被用來表示除了遺傳物質(zhì)(即節(jié)點策略)以外在設備之間傳送的任何事物)通信的有限帶寬量。第二個假設是應該將數(shù)據(jù)視為具有時間重要性,以便使網(wǎng)絡高效運行,然而,由于受到菌落啟發(fā)的用于提高網(wǎng)絡整體效率的遺傳算法的特性,可以以較低的速度分發(fā)遺傳信息。最后,假設網(wǎng)絡的特性將使得存在節(jié)點不發(fā)送數(shù)據(jù)的時段,并且在這些時段內(nèi),可以采用相同的通信信道來在節(jié)點之間發(fā)送時間重要性較低的遺傳信息。
因此,以下將描述實現(xiàn)了以上假設的兩種不同的實施例。第一實施例清楚地闡明了實現(xiàn)以上假設的示例設置。對第二實施例進行了模擬和性能分析,并發(fā)現(xiàn)第二實施例性能良好。
第一實施例第一實施例涉及一種由多臺個人數(shù)字助理類型的設備形成的ad hoc網(wǎng)絡,每一個設備都具有通過有限帶寬的無線通信信道與其它的這種設備進行通信的機制,只要這些設備在彼此的范圍之內(nèi),且是打開的并且沒有受到屏蔽(例如在電梯中,等等)。
在本實施例中,每一個設備都具有使得位于彼此范圍內(nèi)的設備能夠以有效的方式彼此進行通信的功能。這涉及到在被稱為時間段的預定時間間隔內(nèi)使得每個設備都能夠向多達預定最大數(shù)量的設備進行廣播,或被多達預定最大數(shù)量的設備接收。這種功能需要解決諸如沖突、噪音、干擾等的問題。這些問題被認為是底層(low-level)問題,本發(fā)明不涉及這些問題。具體地說,本發(fā)明不涉及與根據(jù)7層OSI基準模型的2個最底層(即,物理層和鏈路層)相關(guān)的問題。
底層功能與本發(fā)明相關(guān)的唯一方式是假設這些通信是廣播式的而不是點對點式的。然而,對讀者顯而易見的是,本發(fā)明能夠容易地適用于點對點式的通信方法,而無需進行太多修改。目前已經(jīng)進行了大量工作、并且還在進行大量工作來改進這種類型的用于ad hoc網(wǎng)絡的通信協(xié)議,而且本發(fā)明可以采用任何合適的這種協(xié)議。在“Ad Hoc networking”,Charles E.Perkins,Pub.Addison Wesley,Dec.2001以及其中引用的參考文獻或在“The Handbook of Ad Hoc Wireless Network”Mohammad llyas(編者)中給出了目前可用的這種協(xié)議的示例。
在本實施例中,每個設備都是可編程的,并且能夠根據(jù)用戶的偏好執(zhí)行多種不同的功能。這些功能中的在本實施例中提供的一個功能是通信層的功能,即接收用于發(fā)送到ad hoc網(wǎng)絡中的相鄰設備的數(shù)據(jù)作為輸入,并輸出從ad hoc網(wǎng)絡中的相鄰設備接收到的數(shù)據(jù)(在本說明書全文中,采用術(shù)語相鄰設備來表示網(wǎng)絡中的那些其它設備,任何給定的設備都能夠直接通過空氣界面(air interface)與其進行通信)。在本實施例中,其被構(gòu)成為在下文中被稱為一個時間段的一個時間周期內(nèi)進行一次這樣的通信,該時間周期可以根據(jù)用戶的偏好、相鄰設備的數(shù)量等改變。
基于以上概念,該通信層(在ISO七層數(shù)據(jù)通信模型的意義上)為細菌算法層,該細菌算法層控制以下將要詳細描述的存儲策略、根據(jù)這些策略控制設備的操作并執(zhí)行使得細菌算法能夠正確運行所需的一般功能的功能。
除了使得能夠進行通信的底層功能以及根據(jù)細菌進化算法對設備的操作進行控制的功能之外,本實施例中的各個設備還運行這樣的應用程序,該應用程序可操作用來接受來自用戶的請求從而顯示特定的文檔,而且在發(fā)現(xiàn)所請求的文檔沒有存儲在本地時,啟動在ad hoc網(wǎng)絡中對該文檔的搜索。
示例現(xiàn)在參照圖1至圖6以及圖7,該示例按照六個設備11、12、13、14、15和16中的每個設備在6個連續(xù)時間段中所執(zhí)行的步驟。在本實施例中,每個時間段都包括在圖1至圖7中的任何一個圖中沒有明確示出的第一部分,在該第一部分中,設備可以向其相鄰設備發(fā)送接收數(shù)據(jù)的請求,并且已經(jīng)接收到這一請求的節(jié)點可在相同的時間段中對這一請求(但僅是這類請求)進行響應。
在圖1中,使用包括x,y/z格式的三個整數(shù)的矩形來表示設備11至16中的每一個設備,其中x和y表示每個設備當前存儲并有效使用的小代理程序(proxylet)。這里,術(shù)語小代理程序用來指一種小程序,其通過類似于小應用程序(applet)為網(wǎng)絡瀏覽器添加功能的方式,為用作ad hoc網(wǎng)絡中的節(jié)點的設備的性能添加功能。整數(shù)z表示設備的適應性等級參數(shù)。
在本實施例中,設備是非常簡單的概念驗證設備,其中上述底層通信功能之上的所有功能都是通過上述小代理程序提供的,而且各個設備在任何時刻都只能存儲和使用兩個小代理程序。當然,在另選的更加復雜的系統(tǒng)中,各個設備另選地可以存儲許多不同的小代理程序,或者,除此之外,更加復雜的設備能夠運行采用復雜操作系統(tǒng)的多種應用程序,從而小代理程序執(zhí)行環(huán)境將僅代表一種這樣的應用程序,而且數(shù)據(jù)可以容易地在該設備上運行的不同應用程序之間傳遞。
因此,在該簡單的實施例中只存在標號為1至6的如下6個小代理程序1收費(這是使用戶能夠從ad hoc網(wǎng)絡接收數(shù)據(jù)并對用戶進行適當收費以使用戶能以這樣的方式從網(wǎng)絡獲取數(shù)據(jù)所必須的);2安全(該小代理程序允許節(jié)點對數(shù)據(jù)進行加密和解密);3壓縮(該小代理程序允許節(jié)點在發(fā)送數(shù)據(jù)之前對數(shù)據(jù)進行壓縮);4查看(該小代理程序使得設備的用戶能夠查看接收到的數(shù)據(jù)-其包括用于發(fā)送從網(wǎng)絡獲取指定數(shù)據(jù)(在本地不能獲取該數(shù)據(jù)的情況下)的請求的裝置,而且在本實施例中,其還請求以壓縮格式發(fā)送該數(shù)據(jù)并且在PDA屏幕上向用戶顯示該數(shù)據(jù)之前進行必要的解壓縮);5路由(該小代理程序使得能夠朝向能夠滿足該請求的節(jié)點路由數(shù)據(jù)請求,并且朝向原始請求節(jié)點路由來自遠程節(jié)點的數(shù)據(jù));以及6數(shù)據(jù)庫(該小代理程序使得設備能夠存儲數(shù)據(jù),并響應于來自另一節(jié)點的數(shù)據(jù)請求朝向請求節(jié)點傳送回數(shù)據(jù))。
如果設備接收到其能成功響應的請求(因為其包含合適的小代理程序或多個小代理程序),則它將發(fā)送合適的響應信號。如果設備不發(fā)送也不接收與請求相關(guān)的信號(即,不僅僅是遺傳物質(zhì)信號),則它根據(jù)其適應性是低于下限閾值還是高于上限閾值,來尋求接收遺傳物質(zhì)信號或者發(fā)送遺傳物質(zhì)信號(如果該適應性位于這些閾值之間,則該設備將不發(fā)送也不接收任何gm信號)。設備通過接收或發(fā)送與請求相關(guān)的信號而增加適應性,并通過不進行任何操作而失去適應性。在人口稀疏的環(huán)境中,節(jié)點有時可能毫無選擇而只能不進行任何操作,可以將這種情況與不進行任何類型的無線通信的情況區(qū)分開。在非必要的情況下不進行任何操作不會受到懲罰。發(fā)送或接收gm信號傾向于使得設備能夠保持其當前的適應性級別。
在圖1至圖7所示的本示例中,一些設備(11、12、14和15)的通信范圍由虛線圓(11a、12a、14a、15a)表示。因此,可以從圖1看到以下多對節(jié)點在彼此的范圍之內(nèi)12&13;13&14和14&16。節(jié)點11和15沒有相鄰節(jié)點。
在圖1所示的時間段之前,節(jié)點16已經(jīng)請求(作為用戶對設備的控制的結(jié)果)發(fā)送某一條指定的數(shù)據(jù)以供用戶查看。而且在圖1所示的時間段之前,包含路由小代理程序的節(jié)點14現(xiàn)在已經(jīng)接收到該請求,并因此試圖前向路由該請求。
因此,在時間段1中,節(jié)點14發(fā)送(廣播的)數(shù)據(jù)請求,節(jié)點16忽略該請求(因為其是原始的請求者),而該請求使得節(jié)點13(因為其具有數(shù)據(jù)庫小代理程序6以及壓縮小代理程序3,而且其還正好儲存有所請求的數(shù)據(jù)項)通過將數(shù)據(jù)信號22路由至相鄰節(jié)點14對來自節(jié)點14的請求進行響應。注意,因為在本實施例中通過廣播的方式將所有的通信發(fā)送到所有相鄰的節(jié)點,所以節(jié)點13還向其另一相鄰節(jié)點12發(fā)送信號20,但是因為該節(jié)點沒有請求該數(shù)據(jù),所以它只是忽略該信號,如圖1中的由“禁止進入”符號所示的那樣。
注意,圖7也示出了節(jié)點13在時間段1中分別向節(jié)點12和14發(fā)送信號20和22。在圖7中,接收節(jié)點忽略信號20的事實由表示信號20的虛線箭頭示出,而實線箭頭用于表示由節(jié)點14接收和處理的信號22。兩個信號都是數(shù)據(jù)信號的事實由寫在表示信號20和22的箭頭上方的單詞“數(shù)據(jù)”表示。
如上所述,每個節(jié)點都保持一適應性參數(shù)。在每個時間段結(jié)束時,根據(jù)一組規(guī)則來改變該適應性參數(shù)。在本實施例中,采用以下規(guī)則1)如果設備在該時間段中沒有相鄰設備(即,其在該時間段中位于范圍之外或受到妨礙而不能與任何其它設備通信),則適應性參數(shù)保持不變;2)如果設備發(fā)送或接收遺傳物質(zhì)信號(從而不是數(shù)據(jù)信號),則該參數(shù)保持不變;3)如果設備發(fā)送或接收數(shù)據(jù)信號,則該參數(shù)值增加10點;4)如果即使設備具有一個或更多個相鄰設備可以交換信號,但該設備不通過相鄰設備發(fā)送或接收任何信號,則其適應性參數(shù)減少5點。
因此,通過比較圖1和圖2(圖1和圖2分別示出了節(jié)點在時間段1和時間段2開始時的適應性參數(shù)的值)可以看到,該六個節(jié)點的適應性參數(shù)值在時間段1開始和結(jié)束之間如下變化節(jié)點11保持其適應性參數(shù)為50,因為其在第一時間段期間沒有相鄰設備;節(jié)點12的適應性從50減小到45,因為盡管其可以與節(jié)點13進行通信,但它沒有(因為其對包含節(jié)點16所請求的數(shù)據(jù)的接收信號20沒有興趣);節(jié)點13的適應性從50增加到60,因為其發(fā)送數(shù)據(jù)信號22(和20);節(jié)點14的適應性從50增加到60,因為其接收信號22;節(jié)點15的適應性保持不變?yōu)?0,因為其在時間段1期間沒有相鄰設備;而節(jié)點16的適應性從50降至45,因為盡管其在時間段1期間能與節(jié)點14通信,但它沒有進行任何通信。
在時間段2中,主要的動作是從節(jié)點14向節(jié)點16發(fā)送攜帶有所請求數(shù)據(jù)(最初來自節(jié)點13)的信號36。除此之外,(如圖7所示)該信號也被廣播到相鄰節(jié)點13(作為不想要的信號34)。
然而,在本實施例中,如果滿足以下條件,則各個設備可操作用來將其小代理程序中的所選擇的一個小代理程序(與指定應在何種狀況下使用該小代理程序的任何伴隨的使用信息一起)作為遺傳物質(zhì)(gm)信號發(fā)送到相鄰設備,這些條件為
1)該設備具有大于50的適應性參數(shù)值;以及2)該設備不主動地向相鄰設備發(fā)送數(shù)據(jù)或從相鄰設備接收數(shù)據(jù)。
此外,在滿足以下條件時,各個設備還可另外操作用來接受從相鄰設備廣播給它的任何gm信號,并使用通過這種方式接收的新的小代理程序來替代它自己存儲的小代理程序中的一個小代理程序,這些條件為1)該設備具有小于50的適應性參數(shù);而且2)該設備不主動地向相鄰設備發(fā)送數(shù)據(jù)或從相鄰設備接收數(shù)據(jù)。
因此,在時間段2中,設備13(其適應性參數(shù)值為60,而且不發(fā)送或接收任何數(shù)據(jù)信號)向節(jié)點12和14發(fā)送由節(jié)點12接受的gm信號(分別為信號30和32),該節(jié)點12的適應性參數(shù)為45,并且不發(fā)送或接收任何數(shù)據(jù)信號,從而用接收到的小代理程序3替代其自己以前存儲的小代理程序1(參見圖3)。(注意,在本實施例中,小代理程序是在先進先出的基礎上進行交換的;然而,在另選實施例中,可以在隨機的基礎上或者在后進先出的基礎上選擇將要與新的小代理程序進行交換的當前小代理程序)。然而,節(jié)點14不接收廣播信號,因為其適應性參數(shù)為60,并且因為其正在發(fā)送數(shù)據(jù)信號(其中任何一個原因本身就足以阻礙gm信號的接收)。
現(xiàn)在參照圖2和圖3,在時間段2結(jié)束時(或者,相當于在時間段3開始時),每個節(jié)點的適應性如下變化(在時間段2期間)節(jié)點11保持其適應性參數(shù)為50,因為其在時間段2期間沒有相鄰節(jié)點;節(jié)點12的適應性保持恒定為45,因為其接收來自節(jié)點13的gm(遺傳物質(zhì))信號30;節(jié)點13的適應性保持恒定為60,因為其發(fā)送gm信號30;節(jié)點14的適應性從60增加到70,因為其發(fā)送數(shù)據(jù)信號36(和34);節(jié)點15的適應性保持不變?yōu)?0,因為其在時間段2期間沒有相鄰設備;而節(jié)點16的適應性從45增加到55,因為其在時間段2期間接收數(shù)據(jù)信號36。
在時間段3開始時,節(jié)點11在節(jié)點13的范圍內(nèi)。盡管沒有明確示出,但作為該時間段的第一部分,節(jié)點11向節(jié)點13發(fā)送數(shù)據(jù)請求,該節(jié)點13正好具有相關(guān)的請求數(shù)據(jù)(并具有所需的小代理程序3和6)。因此,在時間段3內(nèi)的主要數(shù)據(jù)傳送信號是節(jié)點13通過數(shù)據(jù)信號40向節(jié)點11發(fā)送所請求的數(shù)據(jù)(此外,還通過不想要的信號42和44分別向節(jié)點12和14廣播該數(shù)據(jù))。
此外,在時間段3中,節(jié)點14是空閑的(即,其不接收或發(fā)送任何數(shù)據(jù)信號)并具有大于50的適應性參數(shù)值(其為70),從而它將gm信號46、48、49發(fā)送到其所有的相鄰設備(即,節(jié)點13、15和16)。節(jié)點13和16拒絕該gm信號(因為它們具有太高的適應性分值-而且還因為節(jié)點13忙于發(fā)送數(shù)據(jù)信號),但節(jié)點15是空閑的,并且還具有低于50的適應性值(其為40),所以節(jié)點15接受該gm信號(其在此情形下其包含小代理程序5)并存儲新接收到的路由小代理程序5以替代查看小代理程序4(參見圖4)。節(jié)點16在時間段13期間也是空閑的,從而它也試圖分別使用信號43和45向它的兩個相鄰設備(節(jié)點14和15)發(fā)送它的一些遺傳物質(zhì)(小代理程序1)。然而,節(jié)點14拒絕該信號,因為其適應性參數(shù)太高(不低于50);節(jié)點15拒絕該信號,因為其優(yōu)先從節(jié)點14接收信號48,因為節(jié)點14的適應性參數(shù)高于節(jié)點16的適應性參數(shù)(注意,這使得在本實施例中,需要發(fā)送遺傳物質(zhì)的節(jié)點也將其適應性級別通知給接收節(jié)點,從而使得接收節(jié)點(多個接收節(jié)點)在存在競爭信號的情形下確定接受哪個信號;在另選實施例中,可以隨機地進行確定,或者在帶寬允許的情況下同時接收一個以上的這種信號,等等)。
現(xiàn)在參照圖3和圖4,在時間段3結(jié)束時(或者等效地說,在時間段4開始時),各個節(jié)點的適應性如下節(jié)點11的適應性參數(shù)從50增加到60,因為其在時間段3期間接收數(shù)據(jù)信號40;節(jié)點12的適應性從45減小到40,因為其在時間段3期間沒有發(fā)送也沒有接收任何信號;節(jié)點13的適應性從60增加到70,因為其發(fā)送數(shù)據(jù)信號40;節(jié)點14的適應性保持不變?yōu)?0,因為其發(fā)送gm信號48;節(jié)點15的適應性保持不變?yōu)?0,因為其在時間段3期間接收gm信號48;而節(jié)點16的適應性從55降低至50,因為其在時間段3期間沒有(成功地)發(fā)送或接收任何信號。
在時間段4中,節(jié)點13失去與其所有周圍節(jié)點的通信(例如因為其進入了屏蔽通信的區(qū)域(例如電梯)或者因為其暫時沒電,等等)。節(jié)點11想要繼續(xù)接收更多的數(shù)據(jù);由于節(jié)點13已經(jīng)失去了與節(jié)點11的連接,所以節(jié)點12(其此時包含用于對該請求進行響應的正確小代理程序,即,小代理程序6(數(shù)據(jù)庫)和3(壓縮))替代節(jié)點13并通過信號50向節(jié)點11提供所需的數(shù)據(jù)。還將數(shù)據(jù)廣播(通過信號52)至節(jié)點12的其它相鄰節(jié)點15;然而,因為節(jié)點15沒有請求該數(shù)據(jù),所以其忽略信號52。節(jié)點14在時間段4期間是空閑的,因為它已經(jīng)移動到所有其它節(jié)點的范圍之外,從而它沒有進行通信的相鄰節(jié)點。節(jié)點15已經(jīng)從其用戶(未示出)接收到對一些數(shù)據(jù)的請求,并因此已經(jīng)發(fā)出了由節(jié)點15(節(jié)點16的唯一相鄰節(jié)點)已經(jīng)接收到的對所述數(shù)據(jù)的(廣播的)請求信號(未示出)。節(jié)點15沒有合適的數(shù)據(jù)或小代理程序來使用所需的數(shù)據(jù)對該請求直接進行響應,而是發(fā)送表示它將前向路由該請求的返回信號54;如同本實施例中的所有信號一樣,該返回信號被廣播,使得還產(chǎn)生了信號56,而且節(jié)點12接收該信號56。然而,在本實施例中,由于返回消息僅尋址到節(jié)點16,所以節(jié)點12忽略信號56。
現(xiàn)在參照圖4和圖5,節(jié)點的適應性級別因此在時間段4期間如下變化節(jié)點11的適應性參數(shù)從60增加到70,因為其在時間段4期間接收數(shù)據(jù)信號50;節(jié)點12的適應性從40增加到50,因為其在時間段4期間發(fā)送數(shù)據(jù)信號50;節(jié)點13的適應性保持不變?yōu)?0,因為其在時間段4期間沒有相鄰節(jié)點;節(jié)點14的適應性保持不變?yōu)?0,因為其在時間段4期間也沒有相鄰節(jié)點;節(jié)點15的適應性從40至50增加了10,因為其在時間段4期間向節(jié)點16發(fā)送了返回路由消息信號54;而且,類似地,節(jié)點1 6的適應性從50至60增加了10,因為其在時間段4期間接收信號54。
在時間段5(參見圖5和圖7)中,節(jié)點15發(fā)出(廣播的)數(shù)據(jù)請求,節(jié)點12(因為它具有數(shù)據(jù)庫小代理程序6以及壓縮小代理程序3,而且因為它正好存儲有所請求的數(shù)據(jù)項)使用數(shù)據(jù)信號60對該數(shù)據(jù)請求進行響應,以路由至相鄰節(jié)點15。在時間段5內(nèi),節(jié)點11、13和14都是空閑的,因為它們沒有相鄰節(jié)點。節(jié)點16試圖向其唯一的相鄰節(jié)點15發(fā)送gm信號62,因為在時間段5期間它沒有涉及任何與請求相關(guān)的信號,而且因為其適應性參數(shù)大于上限閾值(適應性參數(shù)(60)>上限閾值(50));然而,由于節(jié)點15接收來自節(jié)點12的與請求相關(guān)的數(shù)據(jù)信號60,所以其忽略信號62。
現(xiàn)在參照圖5和圖6,節(jié)點的適應性級別因此在時間段5內(nèi)如下變化節(jié)點11的適應性參數(shù)保持不變?yōu)?0,因為其在時間段5期間沒有相鄰節(jié)點;節(jié)點12的適應性從50增加到60,因為其在時間段5期間發(fā)送數(shù)據(jù)信號60;節(jié)點13的適應性保持不變?yōu)?0,因為其在時間段5期間沒有相鄰節(jié)點;節(jié)點14的適應性保持不變?yōu)?0,因為其在時間段5期間也沒有相鄰節(jié)點;節(jié)點15的適應性從40至50增加了10,因為其在時間段5期間接收來自節(jié)點12的數(shù)據(jù)信號60;而節(jié)點16的適應性從60至55降低了5,因為其在時間段5期間沒有接收和(成功地)發(fā)送任何信號。
現(xiàn)在參照圖6,在時間段6期間,節(jié)點15通過數(shù)據(jù)信號70再次向原始請求節(jié)點16發(fā)送節(jié)點15在以前時間段從節(jié)點12接收的數(shù)據(jù)。節(jié)點11和14現(xiàn)在已經(jīng)完全移動到視圖(view)之外,從而保持為空閑狀態(tài),因為它們在時間段6期間沒有相鄰節(jié)點。節(jié)點12和13(其在時間段6內(nèi)已經(jīng)“恢復在線”)由于它們的適應性級別高于上限閾值,并且它們沒有涉及任何與請求相關(guān)的數(shù)據(jù)信號,所以都(不成功地)嘗試向相鄰節(jié)點發(fā)送一些它們的遺傳物質(zhì);然而,其它節(jié)點都不處于可接收gm信號的位置,從而在時間段6內(nèi)gm信號沒有被成功發(fā)送和接收。節(jié)點12的不成功的gm信號為發(fā)送給節(jié)點15的信號76以及發(fā)送給節(jié)點13的信號78,而節(jié)點13的不成功信號為發(fā)送給節(jié)點12的gm信號79以及發(fā)送給節(jié)點15的gm信號80。節(jié)點12忽略從節(jié)點15向節(jié)點12返回的信號72,因為節(jié)點12剛好向節(jié)點15發(fā)送了該數(shù)據(jù),而且其對接收回該數(shù)據(jù)沒有興趣,同樣地,發(fā)送給節(jié)點13的也含有相同數(shù)據(jù)的信號74也被忽略,因為節(jié)點13沒有請求該數(shù)據(jù),而且節(jié)點13不包含前向路由該數(shù)據(jù)的相關(guān)小代理程序。
對于讀者顯而易見的是,在時間段6結(jié)束時,節(jié)點將具有以下適應性級別節(jié)點11的適應性=70,節(jié)點12的適應性=55,節(jié)點13的適應性=65,節(jié)點14的適應性=70,節(jié)點15的適應性=70,節(jié)點16的適應性=65。為了以盡可能少的步驟展示運行狀態(tài),所使用的適應性獎勵可以較粗糙并且較大。實際實施將具有精細得多的懲罰/獎勵結(jié)構(gòu),其中獎勵基于費用和服務質(zhì)量,而懲罰基于丟失率(drop rate)、等待時間和費用。
第一實施例的另選方案對于讀者顯而易見的是,可以對第一實施例進行多種改變。例如,可以采用更加精細的一組規(guī)則以更加復雜的方式來改變適應性級別。例如,適應性級別的變化量可在一定的程度上取決于實際的適應性級別,以避免太快達到或完全達到0或100%的極限值。此外,適應性的變化量還以更加復雜的方式(在以上示例中,存在兩個類別,即,沒有最近的相鄰節(jié)點(在此情況下,適應性保持恒定)以及一個或更多個最近的相鄰節(jié)點(在此情況下,改變適應性))取決于最近的相鄰節(jié)點的數(shù)量,例如,與最近相鄰節(jié)點的數(shù)量成正比地、或者通過具有三個或更多的獨立類別(例如,零個相鄰節(jié)點、一個或兩個相鄰節(jié)點以及三個或更多個相鄰節(jié)點)等來改變適應性的變化量。
第二實施例如在介紹中所提到的,本發(fā)明人以前開發(fā)了一種用于在有源網(wǎng)絡中發(fā)布軟件的算法??梢酝茰y到,可以采用類似的方法來在ad hoc網(wǎng)絡中提供服務。在進行了專門修改以在ad hoc網(wǎng)絡中使用該算法的情況下以及在沒有進行專門修改的情況下對這里描述的第二實施例進行模擬。結(jié)果表明,盡管直接將該方法從有源網(wǎng)絡直接移植到ad hoc網(wǎng)絡表現(xiàn)出了良好的性能圖,但通過專門的修改對該算法進行改進以考慮ad hoc網(wǎng)絡的一些特性可以給出特別優(yōu)異的一組性能圖。令人吃驚的是,該算法實際上似乎更加適用于ad hoc網(wǎng)絡,而不是固定的有源網(wǎng)絡。移動設備的較低(與固定設備相比)的硬件標準意味著在需要時應更加注意將何種軟件安裝到移動設備上以及下載什么軟件,以在正確的時間在正確的節(jié)點上安裝正確的軟件。
為了證明基于細菌的自適應算法的適用性,設計了一組模擬試驗來測試各種網(wǎng)絡化設備的情形。
該試驗分為3個部分1.在有源網(wǎng)絡情形(如以前所描述的)中測試(即模擬)沒有改進的“細菌”算法,其中,設備之間的帶寬是“無限的”,設備100%可靠并且保持固定的相鄰結(jié)構(gòu);2.然后在更加Ad-Hoc式的環(huán)境中測試(即模擬)相同的沒有改進的算法,其中,設備較不可靠,具有較小的帶寬連接,并且不保持固定的結(jié)構(gòu);3.最后,對算法進行改進以包括某些專門的修改,從而使其更加適用于Ad-Hoc網(wǎng)絡,然后在Ad-Hoc式的環(huán)境中重新測試和重新模擬。
所有的三個模擬都涉及到使用四個節(jié)點,這些節(jié)點中的每一個節(jié)點都轉(zhuǎn)發(fā)其自身不能滿足的請求。未滿足的請求所轉(zhuǎn)發(fā)的節(jié)點取決于所考慮的節(jié)點,如下所示節(jié)點0向節(jié)點1和3轉(zhuǎn)發(fā),節(jié)點1向節(jié)點2和0轉(zhuǎn)發(fā),節(jié)點2向節(jié)點3和1轉(zhuǎn)發(fā),以及節(jié)點3向節(jié)點0和2轉(zhuǎn)發(fā)。
為了使節(jié)點在第二和第三模擬中的“Ad-Hoc”式環(huán)境中較不可靠,隨機地使每個節(jié)點在X%的時間內(nèi)無效,并且每個連接隨機地在Y%的時間內(nèi)斷開。通過在任何一個時間段內(nèi)都只允許Z個請求通過(對任何未通過的請求進行排隊,并且如果它們超時則丟棄它們),從而使連接的帶寬實際上較小。通過以隨機的間隔改變兩個轉(zhuǎn)發(fā)接收者來模擬固定網(wǎng)絡的缺陷(lack)。提高Ad-Hoc網(wǎng)絡的適合性(aptitude)的修改如下1.僅在存在多余帶寬時才使遺傳數(shù)據(jù)通過-設備之間存在用于使數(shù)據(jù)和控制變量通過的固定帶寬,也以這種方式使遺傳特性通過。在無線ad-hoc網(wǎng)絡中,這由所使用的頻率、范圍和功率輸出(瓦)來確定。對控制變量的需求是間歇性的,從而其與更節(jié)省地使用帶寬的Ad-Hoc網(wǎng)絡所需的新的帶寬限制一起提供了非常大的優(yōu)點。在寧靜期(quiet period)發(fā)送沒有時間重要性的通信是優(yōu)化該算法的非常有利的手段。“寧靜期”是節(jié)點在最近的發(fā)送和接收窗口期間不發(fā)送也不接收數(shù)據(jù)或請求的時間。
2.向所有的相鄰節(jié)點廣播結(jié)構(gòu)數(shù)據(jù)—在無線環(huán)境中,在一個節(jié)點向多個接收者廣播方面具有固有的效率。一些節(jié)點可能繁忙,從而不能進行接收,但是與單播方式相比,發(fā)送節(jié)點在以廣播模式發(fā)送其結(jié)構(gòu)數(shù)據(jù)時不會承擔額外的負載。盡管某些無線發(fā)送是定向的(定向發(fā)送機和接收機),但是存在無線發(fā)送是非定向的大量網(wǎng)絡,在這些情況下,該優(yōu)點顯著。
在所有情況下,將性能量度(丟失數(shù)據(jù)分組的比例,接收器接收數(shù)據(jù)分組的總數(shù))與隨機方法(stochastic approach)和緩存方法(cachingapproach)的性能進行比較。
初始結(jié)果表明a)對于所有算法,進行“Ad-Hoc”模擬顯著增加了等待時間和丟失率;這是可以預期的,因為節(jié)點在一部分時間內(nèi)離線或者不可達,而且?guī)捰邢?;b)遺傳/細菌方法繼續(xù)提供最自適應的解決方案;而且c)通過針對特定Ad-Hoc的改進來改善遺傳/細菌方法算法進一步顯著提高了性能。
根據(jù)本實施例的用于進行設備決策的算法與國際專利申請WO01/59991、WO 02/23817和WO 02/073889中描述的方法不同,以下對該算法和模擬環(huán)境進行概述所設計的模型是簡單Ad-Hoc傳感器網(wǎng)絡的模型,該設備網(wǎng)絡具有在從一站點收集數(shù)據(jù)的同時還對它們的電池使用進行優(yōu)化的任務。該模擬設置可以通過以下陳述來描述使網(wǎng)絡中的每個設備都具有在地理上按照有界的隨機線路移動的能力。
每個設備在每個時間步(時間段)都可以是有效或無效的。
每個設備都具有被使用和監(jiān)控的電池,并且在無效期間對該電池進行充電。
該任務是將在節(jié)點處感測到的數(shù)據(jù)路由到某些中央數(shù)據(jù)“接收器(sink)”。
存在要感測的三種質(zhì)量的數(shù)據(jù),即,高質(zhì)量、中等質(zhì)量和低質(zhì)量。
每個設備都通過轉(zhuǎn)發(fā)將所感測或接收到的每個數(shù)據(jù)項放入到FIFO隊列中。然后對該數(shù)據(jù)進行操作(刪除、組合或轉(zhuǎn)發(fā))。最初將該隊列的長度設置為50,如果該隊列在任意時刻超過50,則簡單地丟棄任何新感測的數(shù)據(jù),而不對其進行存儲。
通過以下陳述來描述新的任務分配算法節(jié)點能夠在每個時間段內(nèi)執(zhí)行一個任務。感測、轉(zhuǎn)發(fā)、刪除、壓縮或無效(以下將描述這些任務)。
每個節(jié)點根據(jù)一組值和隨機數(shù)來確定在每個時間段期間處于何種狀態(tài)。例如,節(jié)點可以具有以下行為值感測20%轉(zhuǎn)發(fā)50%刪除2%壓縮3%無效25%因此,它將在20%的時間內(nèi)進行感測,在50%的時間內(nèi)進行轉(zhuǎn)發(fā)等。
通過兩種方式(即本地規(guī)則和基于進化、適應性的規(guī)則)來改變這些值。
本地規(guī)則根據(jù)電池電平的內(nèi)部值以及隊列長度而作用于這些值。
1.如果隊列大于(隨機數(shù)(0-1)*15),則中繼*1.05感測*0.95組合*1.01如果隊列小于(隨機數(shù)(0-1)*15),則中繼*0.95感測*1.05組合*0.992.如果隊列>45,則node_plasmid(i).sense=0
3.如果隊列>30,則中繼+0.02感測-0.03刪除+0.01組合+0.01如果隊列<30,則中繼-0.02感測+0.03刪除=0組合-0.014.如果電池<100,則中繼*0.95感測*0.95基于適應性的規(guī)則采用適應性指示器來確定是隨機地還是通過復制來自相鄰節(jié)點的值來改變該節(jié)點的值。這類似于上述國際專利申請中的相同細菌進化方法,而且是長期的學習方法。對于感測數(shù)據(jù)和轉(zhuǎn)發(fā)數(shù)據(jù)給予節(jié)點適應性獎勵。節(jié)點的初始設置是隨機確定的。
不同的可能任務為感測這涉及進行測量,以及存儲所得到的數(shù)據(jù)以用于隨后的轉(zhuǎn)發(fā),或者,如果隊列太長,則簡單地丟棄所感測到的數(shù)據(jù)。在本實施例中,該設備能夠進行的所有可能類型的測量都是在單個感測周期期間進行的,然而,在另選實施例中,可以在任何一個時間段期間只進行一次測量、或者只進行可能測量的子集(可以按照系統(tǒng)的方式或通過節(jié)點策略等來確定該子集)之間變化。
轉(zhuǎn)發(fā)這僅涉及對下一條數(shù)據(jù)進行廣播,以進行前向轉(zhuǎn)發(fā)。在只有一個隊列的情況下,可以直接確定下一條數(shù)據(jù)。在存在兩個獨立隊列(一個用于自感測的數(shù)據(jù),一個用于從相鄰節(jié)點接收的數(shù)據(jù))的情況下,可以按照系統(tǒng)的方式(例如,總是優(yōu)先從一個隊列選取,或總是輪流選取,等等)或通過節(jié)點策略來確定下一條數(shù)據(jù)。在一些實施例中,可以選擇用于前向發(fā)送的優(yōu)選節(jié)點,并且廣播可以只尋址到該節(jié)點,另選的是,可以向范圍內(nèi)的所有節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù),并且每個接收節(jié)點都可以確定它是否比發(fā)送節(jié)點更接近接收器,從而確定是否接收數(shù)據(jù)等。已知多種用于處理這類情形的ad-hoc路由方案,并且在本實施例中可采用任何合適的這種方案。
刪除這涉及選擇要刪除的一條數(shù)據(jù),然后將其刪除??梢园凑障到y(tǒng)的方法(例如,尋找最早、優(yōu)先級最低的、自感測的一條數(shù)據(jù)并將其刪除,如果存在一個以上的同樣值得刪除的數(shù)據(jù)項,則隨機選擇一個,等等)或通過節(jié)點策略來進行刪除。
壓縮在本實施例中,可以進行兩種不同類型的壓縮,以下分別稱為概率壓縮和滑動窗口壓縮。在概率壓縮中,通過取兩個測量值(優(yōu)選在時間上彼此相鄰,即,沒有居間的測量值)的加權(quán)平均值,并對它們的權(quán)值求和以形成新的平均測量值,從而根據(jù)這兩個測量值來形成新的組合測量值(例如,如果有兩個測量值(t=10min,temp=8C,weight=1)和(t=20min,temp=10C,weight=1),則可以組合這兩個測量值從而形成(t=15min,temp=9,weight=2),隨后,這可以進一步與測量值(t=30min,temp=12C,weight=1)進行組合以形成(t=20min,temp=10C,weight=3))。在滑動窗口壓縮中,將目標測量值與所計算的估計值相比較,在本實施例中,采用根據(jù)諸如簡單平均的預定公式的兩個基準測量值,并且如果估計值在可接受的誤差范圍內(nèi),則刪除目標值(例如,在目標測量值為(t=20min,temp=10C),而基準測量值為(t=10min,temp=8C)和(t=30min,temp=12C)的情況下,估計測量值將為(t=10min,temp=12C),這等于目標測量值,從而將目標測量值刪除)。可以采用系統(tǒng)的方法(例如,如果可獲得足夠的數(shù)據(jù),則總是進行滑動窗口,或者交替進行,等等)來確定進行哪種類型的壓縮,或通過節(jié)點策略來設定進行哪種類型的壓縮,其可以根據(jù)局部觀察來改變其決策,等等。
無效如上所述,在本實施例中,每個設備都具有對其電池進行充電的機制,并且在無效期間,該設備可以(如果環(huán)境條件允許)將其電池電平充電到一定程度。
注意,在本實施例中,將每個測量值作為單獨的數(shù)據(jù)分組進行存儲、處理和轉(zhuǎn)發(fā),該單獨的數(shù)據(jù)分組包括進行該測量的設備的標識、進行該測量的時間以及測量的類型的指示(例如,溫度)。在進行統(tǒng)計壓縮的情況下,每個數(shù)據(jù)分組還包括測量值的權(quán)值的指示。其不利方面在于每個數(shù)據(jù)分組都包含較大比例的開銷,但它的確意味著,與具有較高優(yōu)先級的測量值相比,該節(jié)點對優(yōu)先級較低的測量值具有進行更大程度的壓縮的最大靈活性,等等。在特定環(huán)境下降低開銷的一種可能性是在發(fā)送之前將多個測量值處理成單個表格類型的格式,從而在發(fā)送前減少開銷量。
在本實施例中,針對4種不同的情形進行Ad-Hoc網(wǎng)絡模擬靜態(tài)/打開—節(jié)點不移動,并且100%可靠靜態(tài)/關(guān)閉—節(jié)點不移動,但只在95%的時間內(nèi)有效移動/打開—節(jié)點以隨機路線的方式四處移動,并且在所有時間內(nèi)保持打開移動/關(guān)閉—節(jié)點以隨機路線的方式四處移動,但只在95%的時間內(nèi)有效。
由于初始高度充電的電池狀態(tài)而使得最初的2000個時間段表現(xiàn)出低丟失率,在1000個時間段之后,每個節(jié)點必須更仔細地確定如何使用其有限的電池資源。對四個測試情形中的三個測試情形,1000至2000時間段期間的丟失率與9000至10000時間段期間的丟失率相似,而只是在移動/關(guān)閉測試環(huán)境中性能有所改善。盡管移動的節(jié)點以及不可靠性的確使丟失率有所增加,但這完全是可理解的,這是因為在發(fā)送范圍有限的情況下,移動和不可靠性都使一些節(jié)點完全被隔離。性能在10,000個時間步長內(nèi)都穩(wěn)定的事實是重要成果,并且在大多數(shù)動態(tài)環(huán)境中看到大部分知識的事實表明通過修改(尤其是僅在寧靜期發(fā)送遺傳物質(zhì)的修改)而獲得的成功的程度。
對發(fā)送率(向接收器返回的數(shù)據(jù)量)也表現(xiàn)出了類似的結(jié)果。這也是令人鼓舞的,因為這表明穩(wěn)定或降低的丟失率不是由于數(shù)據(jù)發(fā)送的任何降低而導致的。
圖8涉及其中存在被指定給不同類型的數(shù)據(jù)分組的三種不同的優(yōu)先級的情況。其示出了通過專門改編的細菌算法,設備可以發(fā)送數(shù)據(jù)的速率的降低如何以不同的量影響三種不同數(shù)據(jù)類型的成功率。性能的降低顯然取決于三種數(shù)據(jù)類型的重要性。在帶寬從最大值(其中每個時間段可發(fā)送多達20個數(shù)據(jù)分組)減小到最小測試帶寬(其中每個時間段內(nèi)每個節(jié)點只能發(fā)送一個數(shù)據(jù)分組)時,高優(yōu)先級從100%降低到90%,中等優(yōu)先級從97%降低到63%,低優(yōu)先級從95%降低到46%。這是理想的特征,因為在網(wǎng)絡更“擁擠(stressed)”時,優(yōu)先丟棄比較不重要的數(shù)據(jù)。
圖9示出了這樣一種問題,即,當每個時間段內(nèi)可發(fā)送的數(shù)據(jù)分組的數(shù)量降低時,被丟失數(shù)據(jù)分組的數(shù)量也增加。問題在于,是否僅僅是被丟失數(shù)據(jù)分組的數(shù)量對發(fā)送率的降低有影響?圖9中明顯看到,增加的丟失率對分組的減少沒有很大影響(虛線是在沒有丟失任何分組的情況下應該已接收到的分組的數(shù)量)。相反地,好像響應于分組在比較靠近接收器的節(jié)點處的累積而在網(wǎng)絡中的感測點處產(chǎn)生一些補償(back off),這也是理想的行為。
圖10示出了節(jié)點在網(wǎng)絡中的位置的影響。對每個節(jié)點在10,000個時間段的運行期間進行的感測時間段的數(shù)量進行測量,并相對于靜態(tài)網(wǎng)絡和移動網(wǎng)絡的每個節(jié)點的順序進行繪圖,結(jié)果在圖10中示出。可以明顯看到,一些節(jié)點進行的感測多于其它節(jié)點,從而進行第二測試來找到其原因(參見以下對圖11的討論)。
圖11示出了在作為管道(conduit)的節(jié)點的節(jié)點數(shù)量增加時,每10,000個時間段中的感測時間段的數(shù)量減小,但在所涉及的節(jié)點與接收器相鄰時例外,此時感測時間段的數(shù)量稍有增加。在圖11中,每個繪出的點都表示由所有節(jié)點進行的感測的平均數(shù),該所有節(jié)點具有用作管道的指定數(shù)量的其它節(jié)點;因為采用了5種不同的試驗來產(chǎn)生圖11的數(shù)據(jù),從而對每個有效的節(jié)點數(shù)量(對這些節(jié)點,有一個或更多個節(jié)點用作管道),存在5個不同的點。每組5個點上方的百分數(shù)表示與接收器節(jié)點(接收器節(jié)點本身不進行感測讀數(shù),從而不包括在圖11內(nèi))相鄰的節(jié)點(其具有指定數(shù)量的“管道”節(jié)點)的百分比。因此,在第二測試中(其結(jié)果匯總在圖11中),每個節(jié)點都是到0至12個之間的其它節(jié)點的管道,并且,例如存在作為用于2個節(jié)點的管道的3個節(jié)點,在這3個節(jié)點中,只有一個節(jié)點與接收器相鄰,則“2個管道”節(jié)點的33%(三個節(jié)點中的一個)與接收器相鄰。只有一個節(jié)點用作到12個其它節(jié)點的管道,并且該節(jié)點與接收器相鄰,從而“12個管道”節(jié)點的100%與接收器相鄰。如上所述,圖11表示對于5次重復運行(每次都使用不同的隨機數(shù)種子)的管道數(shù)相對于感測率的結(jié)果。
因此,圖11示出了所進行的傳感器讀數(shù)的數(shù)量隨著節(jié)點連接度(connected-ness)的增加而降低。在網(wǎng)絡末端(extremity)處并因此沒有用作到其它節(jié)點的管道的節(jié)點在每10000個時間段的試驗中收集了2500至3000個讀數(shù)。連接度越高的節(jié)點進行的讀數(shù)越少(例如,用于3個節(jié)點的管道收集了1900至2100個讀數(shù),而用于7個節(jié)點的管道收集了1400至1650個讀數(shù))。與接收器相鄰的節(jié)點(例如8個、10個和12管道節(jié)點)偏離該曲線,因為它們具有比預期更高的值。
這兩個發(fā)現(xiàn)可以通過以下事實來解釋,即,用作管道的節(jié)點需要在“中繼”模式下花費更多的時間來處理增加的數(shù)據(jù)分組率。而且與接收器相鄰的節(jié)點具有恒定打開的節(jié)點(可以向其發(fā)送數(shù)據(jù)分組)的益處。接收器不會象其它節(jié)點一樣受到電池耗盡的影響,從而總是可用作數(shù)據(jù)接收機。
第二實施例的另選方案為了增加讀者對第二實施例的總體理解,以下簡要說明已被編程來實現(xiàn)第二實施例的一些特征的試驗設備。該設備已經(jīng)作為自組織社團傳感器(SECOAS,Self-Organising Collegiate Sensor)網(wǎng)絡工程的一部分進行了制造和測試。
在該試驗設備中采用的‘算法’實際上是多種決策和數(shù)據(jù)處理系統(tǒng)的混合。出于該討論的目的,假設正被處理的數(shù)據(jù)已經(jīng)進行了某些初始的預處理。例如,可以通過在時間上對大量的傾斜讀數(shù)進行平均來測量潮汐流。與需要在一時間周期內(nèi)收集的傾斜讀數(shù)的數(shù)量有關(guān)的傳統(tǒng)測量標準將“傾斜讀數(shù)”轉(zhuǎn)換為單個“流”測量值。因此存在3個決策組成部分1.滑動窗口平均-可以查看讀數(shù)的時間“滑動窗口”,以找到充分的刪除條件。給定t0、t1、t2處的傳感器讀數(shù)的時間序列,對t1的讀數(shù)的簡單分析可以確定其有用程度。如果t1的讀數(shù)為t0和t2的讀數(shù)的平均值,則將其刪除不會對時間序列的特征產(chǎn)生任何影響,這是因為其值可以根據(jù)t0和t2的讀數(shù)進行插值而得到。如果需要提高壓縮率,則相對于該平均值的較小量的偏離也是可接受的。必須在信息的損失和壓縮之間進行平衡。如果擔心丟失太多的序列值,則可保留被刪除值后面的任何值,但這顯然將使壓縮率降低至最大50%。
2.本地規(guī)則—對影響某些動作的頻度的內(nèi)部狀態(tài)進行監(jiān)測,采用負反饋來實現(xiàn)自我平衡行為。在特定的時間周期內(nèi),節(jié)點可以不執(zhí)行動作,或者可以執(zhí)行一個或多個動作。這些動作例如為感測、轉(zhuǎn)發(fā)和隊列管理。每個動作都在隊列占用、電池使用和帶寬使用方面存在開銷。通過對這些資源的狀態(tài)的監(jiān)測,可以改變執(zhí)行這些動作的概率。例如,如果隊列長接近其最大值,則明智的是,進行較少的讀數(shù)和/或進行更多的轉(zhuǎn)發(fā),或者,如果正以不可承受的速率使用電池,則應該減少較高的電池使用行為,而增加較低的電池使用行為。這被稱為“本地學習”。
3.參數(shù)進化—內(nèi)部參數(shù)的遺傳式移植和基于適應性的進化使得運行良好的節(jié)點能夠與運行較差的節(jié)點共享其配置。方法1和方法2都涉及影響性能的多個參數(shù)、值(例如,如果T1的讀數(shù)比T0、T2的讀數(shù)的平均值大或小Z%,則刪除T1的讀數(shù)。如果隊列超過Y,則將感測的概率降低X)。利用對模擬環(huán)境的多參數(shù)優(yōu)化來預先找到這些參數(shù)的有效值。但這只可能與模擬環(huán)境一樣好。通過以遺傳方式對這些參數(shù)進行編碼,可以評估節(jié)點的性能,并且“最適應”節(jié)點的遺傳物質(zhì)可擴散,而構(gòu)成較不適應節(jié)點的遺傳物質(zhì)被修改或消除。
可以獨立地或組合地使用這些方法。以下進一步討論真實數(shù)據(jù)集的結(jié)果。
為了獲得該數(shù)據(jù)集,設置單個浮標,該浮標以10分鐘的間隔收集6個通道的7天的數(shù)據(jù)。這6個通道為電傳導率(mS)、溫度(℃)、水深(m)、混濁度(g/l)、傾斜1(mV)和傾斜2(mV)。由于硬件的限制,只利用該方法對前三個值進行處理,并在下面進行說明,其他三個值直接存儲到記錄器中??梢詮钠渌胤絒參見M.Shackleton,F(xiàn). Saffre,R.Tateson,E.Bonsma and C.Roadknight“Autonomic computing for pervasiveICT-a whole system approach”BTTJ Vol 22,No3,2004;以及C.Roadknight,“Sensor Network of Intelligent Devices”,1st European Workshop onWireless Sensor Networks(EWSN ′04),Berlin,2004]獲得硬件和軟件設置的其他細節(jié)。
重要的是,評估算法的各個步驟具有多大的影響,從而在考察元素在組合時如何起作用之前獨立地評估每個元素。
如果考察滑動窗口刪除方法,則其表明在增加認為中值可插值的范圍時,壓縮率增加,但這隨著各個數(shù)據(jù)集而變化。存在更加復雜的算法來確定是否刪除3個值中的中值(例如,使用較長時間序列的標準偏差),但作為簡單的首選方法,這是足夠的。簡化是重要的,不僅是因為明了,而且還因為用于該配置的PIC微控制器[PIC18FXX2 Data Sheet,Microchip Technology Inc,Document DS39564B,2002]并不是強有力的數(shù)字計算器,并且進行高級的浮點統(tǒng)計遠遠超出了它們的能力。溫度是變化最少的讀數(shù),其具有被經(jīng)常記錄的類似值。水深變化很大,而且不可預測,從而滑動窗口方法不能安全地去除很多水深讀數(shù)。
通過取先前和后續(xù)點的平均值來重新合成被刪除的值,然后通過參照原始被刪除的值來計算實際誤差。例如,在10分鐘的間隔內(nèi)可能具有三個連續(xù)的深度讀數(shù)8.35、8.525、8.75米。由于“相對于平均值的差”值為50%(即,任何一個外部讀數(shù)與平均值的差為8.75-8.55=8.55-8.35=0.2,0.2的50%為0.1,從而如果實際讀數(shù)位于8.45到8.65之間),則認為中值可刪除,而且在通過對先前和后續(xù)值進行平均而重新合成系列中所產(chǎn)生的間隔時,產(chǎn)生8.55的插值,從而該刪除帶來0.025米的誤差。這是估計丟失值的簡單方法,更復雜的方法可給出更好的近似。對于1008個測量值,50%的“許可差值”使得將刪除38.4%的讀數(shù),并引入13.45米的誤差,而1%的“許可差值”使得將刪除13.5%的讀數(shù),并引入4.32米的誤差(當平均讀數(shù)為9.13米時,約0.043厘米每個讀數(shù))。
算法的本地學習部分更具有自適應性,而且對不同信息起作用,對值本身沒有興趣,而對進行讀數(shù)和轉(zhuǎn)發(fā)讀數(shù)對節(jié)點狀態(tài)的影響感興趣。分析表明,4個動作(感測、轉(zhuǎn)發(fā)、壓縮、刪除)的概率是如何隨著時間而改變和穩(wěn)定的。例如,具有充足電池和帶寬的節(jié)點可以“承受”感測幾乎每個可能的讀數(shù),并以較高的速率轉(zhuǎn)發(fā)其隊列中的元素。刪除或壓縮了少于百分之一的讀數(shù)。然而,承受更大壓力的節(jié)點具有不充足的電池來感測和轉(zhuǎn)發(fā)每個可能的讀數(shù)。這里,發(fā)送低于30%的可能數(shù)量的讀數(shù),并且這些數(shù)據(jù)中的許多數(shù)據(jù)是由2個或更多個讀數(shù)的平均值構(gòu)成的壓縮值。本地學習方法在傳感器網(wǎng)絡環(huán)境中的優(yōu)點在于,在試驗之前不需要電池使用和帶寬可用性的具體信息,并且因為這些因素受到環(huán)境狀況的極大影響,從而任何估計通常必須是保守的。如果試驗條件異常的好,則非自適應性方法將不能利用資源中沒有預見的超出量,相反地,如果條件異常的壞,則非自適應性方法可以在試驗的初始階段不受限制地使用不足的資源,從而沒有留下資源以用于最終階段。自適應方法(例如所提出的自適應方法)通過相應地改變其行為而很好地處理這兩種情形。
權(quán)利要求
1.一種操作ad hoc網(wǎng)絡的方法,該網(wǎng)絡包括多個設備,所述多個設備中的每個設備都包括通信裝置,該通信裝置用于在所述多個設備中的其他設備位于范圍內(nèi)時與它們進行通信,所述方法包括在每個設備中存儲一個或更多個節(jié)點策略,所述節(jié)點策略規(guī)定了用來確定設備應該如何響應于各種常見環(huán)境而運行的規(guī)則;控制每個設備以根據(jù)所述存儲的節(jié)點策略中的一個或更多個來進行操作;在每個設備上存儲適應性參數(shù);每個設備都根據(jù)該相應設備的與其存儲的策略相一致的有效性級別來調(diào)整存儲在其上的所述適應性參數(shù)的值;每個設備都監(jiān)測其存儲的適應性參數(shù)的值以及其通信裝置的活動性;以及每個設備都在其適應性參數(shù)超過閾值并且其通信裝置不需用于其他目的時,向位于其范圍內(nèi)的其他設備發(fā)送其存儲的節(jié)點策略中的一個或更多個。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述適應性參數(shù)的變化率在任何時刻都取決于位于相應設備的范圍內(nèi)的其他設備的數(shù)量。
3.根據(jù)上述權(quán)利要求中的任意一項所述的方法,其中,采用廣播機制來進行所存儲的節(jié)點策略的發(fā)送,以使在范圍內(nèi)的所有其他設備可以接收到所述廣播發(fā)送。
4.根據(jù)上述權(quán)利要求中的任意一項所述的方法,其中,所述設備為感測設備,并且所述ad hoc網(wǎng)絡形成傳感器網(wǎng)絡,并且其中,所述方法包括在朝向接收器節(jié)點轉(zhuǎn)發(fā)所存儲的感測數(shù)據(jù)之前對該感測數(shù)據(jù)進行預處理,在所述接收器節(jié)點處對來自多個設備的數(shù)據(jù)進行整理,所述預處理包括選擇性地刪除一個或更多個感測讀數(shù),從而減少需要前向發(fā)送的數(shù)據(jù)量。
5.根據(jù)權(quán)利要求4所述的方法,其中,選擇要刪除的感測讀數(shù)的步驟包括對目標感測讀數(shù)和兩個其他感測讀數(shù)進行處理,從而根據(jù)所述兩個其他感測讀數(shù)產(chǎn)生估計感測讀數(shù),并將該估計感測讀數(shù)與所述目標感測讀數(shù)進行比較,如果該比較指示所述目標感測讀數(shù)和所述估計感測讀數(shù)在彼此可接受的誤差限度內(nèi),則刪除所述目標感測讀數(shù),否則不刪除。
6.根據(jù)權(quán)利要求5所述的方法,該方法還包括隨后在遠離取得所述目標感測讀數(shù)的設備的位置處,重新生成所述估計感測讀數(shù),作為所刪除的目標感測讀數(shù)的估計值。
7.一種用于形成ad hoc網(wǎng)絡的設備,所述網(wǎng)絡包括多個類似的設備,所述設備包括通信裝置,其用于在所述多個設備中的其他設備位于范圍內(nèi)時與它們進行通信;數(shù)據(jù)存儲裝置,其用于存儲一個或更多個節(jié)點策略,并用于存儲適應性參數(shù),所述節(jié)點策略規(guī)定了用來確定所述設備在不同環(huán)境中應該如何運行的規(guī)則;以及處理裝置,其用于控制所述設備以根據(jù)所述存儲的節(jié)點策略中的一個或更多個進行操作,用于根據(jù)所述設備的與所存儲的策略相一致的活動性級別而調(diào)整所存儲的適應性參數(shù)的值,用于對所存儲的適應性參數(shù)的值以及所述通信裝置的活動性進行監(jiān)測,并用于使所述通信裝置在所述適應性參數(shù)超過閾值并且所述通信裝置不需用于其他目的時,發(fā)送所存儲的節(jié)點策略中的一個或更多個。
8.根據(jù)權(quán)利要求7所述的設備,其中,所述處理裝置可操作用來根據(jù)預定的函數(shù)調(diào)節(jié)所存儲的適應性參數(shù)的值,該函數(shù)取決于所述設備的與所存儲的策略相一致的活動性級別,并且還取決于位于范圍內(nèi)的其他設備的數(shù)量。
9.根據(jù)權(quán)利要求7或8所述的設備,該設備包括至少一個傳感器,而且其中,所述處理裝置還可操作用來在朝向接收器節(jié)點轉(zhuǎn)發(fā)所述傳感器收集到的所存儲的感測數(shù)據(jù)之前對該數(shù)據(jù)進行預處理,在所述接收器節(jié)點處對來自多個設備的數(shù)據(jù)進行整理,所述預處理包括選擇性地刪除一個或更多個感測讀數(shù),從而減少需要前向發(fā)送的數(shù)據(jù)量。
10.根據(jù)權(quán)利要求9所述的設備,其中,所述處理裝置可操作用來通過對目標感測讀數(shù)和兩個其他感測讀數(shù)進行處理來選擇要刪除的感測讀數(shù),所述處理包括根據(jù)所述兩個其他感測讀數(shù)生成估計感測讀數(shù),將該估計感測讀數(shù)與所述目標感測讀數(shù)進行比較,如果該比較指示所述目標感測讀數(shù)和所述估計感測讀數(shù)在彼此可接受的誤差限度內(nèi),則刪除所述目標感測讀數(shù),否則不刪除。
11.一種用于形成ad hoc網(wǎng)絡的設備,所述設備包括收發(fā)機,其用于與其他類似設備進行通信;數(shù)據(jù)存儲器,其存儲一個或更多個節(jié)點策略,并存儲適應性參數(shù),所述節(jié)點策略規(guī)定了用來確定所述設備在不同環(huán)境中應該如何運行的規(guī)則;以及電子數(shù)字處理器,其可操作用來控制所述設備以根據(jù)所存儲的節(jié)點策略中的一個或更多個來進行操作;根據(jù)所述設備的與所存儲的策略相一致的活動性級別來調(diào)整所存儲的適應性參數(shù)的值;對所存儲的適應性參數(shù)的值以及所述通信裝置的活動性進行監(jiān)測;并使所述收發(fā)機在所述適應性參數(shù)超過閾值并且所述收發(fā)機不需用于其他目的時,發(fā)送所存儲的節(jié)點策略中的一個或更多個。
12.一種ad hoc網(wǎng)絡,該ad hoc網(wǎng)絡包括多個根據(jù)權(quán)利要求7至11中的任意一項所述的設備。
13.一種操作ad hoc網(wǎng)絡的方法,所述網(wǎng)絡包括多個設備,所述多個設備中的每個設備都包括通信裝置,該通信裝置用于在所述多個設備中的其他設備位于范圍內(nèi)時與它們進行通信,所述方法包括在每個設備中存儲一個或更多個節(jié)點策略,所述節(jié)點策略規(guī)定了用來確定設備應該如何響應于各種常見環(huán)境而運行的規(guī)則;控制每個設備以根據(jù)所述存儲的節(jié)點策略中的一個或更多個來進行操作;在每個設備上存儲適應性參數(shù);每個設備都根據(jù)該相應設備的與其存儲的策略相一致的活動性級別來調(diào)整存儲在其上的所述適應性參數(shù)的值;每個設備都監(jiān)測其存儲的適應性參數(shù)的值以及其通信裝置的活動性;以及每個設備都在其適應性參數(shù)超過閾值時,向位于范圍內(nèi)的其他設備發(fā)送其存儲的節(jié)點策略中的一個或更多個,其中所述適應性參數(shù)的變化率在任何時刻都取決于位于所述相應設備的范圍內(nèi)的其他設備的數(shù)量。
14.一種從要被監(jiān)測的區(qū)域收集環(huán)境數(shù)據(jù)以用于后續(xù)處理的方法,該方法包括在要被監(jiān)測的區(qū)域周圍分布多個傳感器設備;在每個傳感器設備處有規(guī)律地或間歇地測量環(huán)境的一個或更多個特性;對測量數(shù)據(jù)進行處理;以及通過包括所述傳感器設備的無線ad hoc網(wǎng)絡向中央處理裝置轉(zhuǎn)發(fā)來自每個傳感器設備的測量數(shù)據(jù),以進行后續(xù)處理;其中,所述處理步驟包括刪除所選擇的測量值。
15.根據(jù)權(quán)利要求14所述的方法,其中,刪除所選擇的測量值的步驟包括對目標測量值和至少兩個其他測量值進行處理,所述處理步驟包括根據(jù)所述至少兩個其他測量值生成估計測量值,并將該估計測量值與所述目標測量值進行比較,如果該比較指示所述目標測量值和所述估計測量值在彼此可接受的誤差限度內(nèi),則刪除所述目標測量值,否則不刪除。
16.一種計算機程序或多個計算機程序,所述計算機程序用于執(zhí)行根據(jù)權(quán)利要求1至6或13至15所述的方法。
17.一種載體介質(zhì),該載體介質(zhì)攜帶有權(quán)利要求16所述的計算機程序或多個計算機程序。
全文摘要
本發(fā)明提供了無線ad hoc網(wǎng)絡。一種操作包括多個設備(11-16)的ad hoc網(wǎng)絡的方法。每個設備都包括用于在多個設備中的其他設備位于范圍內(nèi)時與它們進行通信的通信裝置。該方法包括在每個設備中存儲一個或更多個節(jié)點策略(1-6),節(jié)點策略規(guī)定了用來確定設備應該如何響應于各種常見環(huán)境而運行的規(guī)則,并控制每個設備以根據(jù)所存儲的節(jié)點策略中的一個或更多個進行操作。此外,在每個設備上存儲適應性參數(shù),并根據(jù)設備的活動性(具體地說,與其存儲的策略一致的活動性)級別來調(diào)整所述適應性參數(shù)的值。此外,每個設備都監(jiān)測其存儲的適應性參數(shù)的值以及其通信裝置的活動性,并且在其適應性參數(shù)超過閾值并且其通信裝置不需用于其他目的時,向范圍內(nèi)的其他設備(13、15、16)發(fā)送(46、48、49)其存儲的節(jié)點策略(5)中的一個或更多個。
文檔編號H04L12/24GK1973490SQ200580020627
公開日2007年5月30日 申請日期2005年6月13日 優(yōu)先權(quán)日2004年6月22日
發(fā)明者克里斯托弗·馬克·羅德奈特 申請人:英國電訊有限公司