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