專利名稱:操作傳感器網(wǎng)絡(luò)的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于測量和處理來自多個遠(yuǎn)程傳感器的數(shù)據(jù)的系統(tǒng)和方法。
背景技術(shù):
在嵌入式實時環(huán)境下基于代理的處理和推理依靠精確的當(dāng)前數(shù)據(jù)進行響應(yīng)。然而,由于能源成本或帶寬成本、射頻干擾、隱形要求或其他原因,頻繁的傳感器讀取或?qū)?shù)據(jù)的網(wǎng)絡(luò)請求是不可取的。一個要解決的問題是如何在代理/應(yīng)用程序?qū)崟r響應(yīng)的需求與為了滿足其他系統(tǒng)要求而進行不頻繁的傳感器讀取或網(wǎng)絡(luò)請求的需求之間進行權(quán)衡。一個監(jiān)測和控制嵌入式環(huán)境下能量使用的典型現(xiàn)有解決方案的例子是LEAP(低 功率能量感知處理)。LEAP使應(yīng)用程序能夠監(jiān)測和控制單個節(jié)點上的能量使用。然而,其并未解決實時狀況下的代理/節(jié)點響應(yīng)性問題。LEAP類解決方案的另一個問題是它們在數(shù)據(jù)太舊或不可用時的時間關(guān)鍵的狀況下變得無響應(yīng),并且它們允許代理在不考慮能量/帶寬成本或其他問題的情況下進行傳感器觀測或做出網(wǎng)絡(luò)請求。所需要的是一種用于提供傳感器網(wǎng)絡(luò)的增強操作的系統(tǒng)和方法。
發(fā)明內(nèi)容
在本發(fā)明的一個方面,提供了一種系統(tǒng),包括多個傳感器節(jié)點,每個傳感器節(jié)點包括至少一個傳感器,該傳感器配置為進行測量,其中所述多個傳感器節(jié)點中的至少第一傳感器節(jié)點配置為將指示第一傳感器節(jié)點的傳感器的測量結(jié)果的數(shù)據(jù)傳輸?shù)街辽僖粋€第二傳感器節(jié)點。該系統(tǒng)進一步包括至少一個處理節(jié)點,該處理節(jié)點配置為從多個傳感器節(jié)點接收數(shù)據(jù),包括指示第一傳感器節(jié)點的傳感器的測量結(jié)果的數(shù)據(jù),并且利用接收的數(shù)據(jù)進行計算。處理節(jié)點還可配置為確定是否可從第一傳感器節(jié)點獲得實時數(shù)據(jù),若否則取回第一傳感器節(jié)點的緩存數(shù)據(jù)并利用該緩存數(shù)據(jù)進行計算。在本發(fā)明的一個方面,提供了一種用于在傳感器節(jié)點的網(wǎng)絡(luò)上處理數(shù)據(jù)的方法。該方法包括在至少一個第一傳感器節(jié)點上建立處理模式和非處理模式;記錄來自第一傳感器節(jié)點的至少一個傳感器的數(shù)據(jù)測量;確定第一傳感器節(jié)點的處理模式;若第一傳感器節(jié)點處于處理模式,則在第一傳感器節(jié)點處理所述至少一個數(shù)據(jù)測量以產(chǎn)生結(jié)果;并且若第一傳感器節(jié)點處于非處理模式,則將對所述至少一個數(shù)據(jù)測量的處理轉(zhuǎn)移到第二傳感器節(jié)點,并在第二傳感器節(jié)點處理所述至少一個數(shù)據(jù)測量以在第二傳感器節(jié)點產(chǎn)生結(jié)果。在本發(fā)明的一個方面,提供了一種計算機可讀介質(zhì),包括供第一傳感器節(jié)點的處理器執(zhí)行的計算機可執(zhí)行指令,所述指令當(dāng)被執(zhí)行時使處理器從傳感器接收至少一個數(shù)據(jù)測量;將所述至少一個數(shù)據(jù)測量存儲在存儲器中,該存儲器與該處理器操作地相關(guān)聯(lián);生成包括所述至少一個數(shù)據(jù)測量的數(shù)據(jù)消息;并且將所述數(shù)據(jù)消息傳送到遠(yuǎn)離第一傳感器節(jié)點的至少一個第二傳感器節(jié)點的第二傳感器節(jié)點處理器。
以下將僅通 過舉例的方式參照具體實施例和附圖,在附圖中圖I示出了傳感器節(jié)點網(wǎng)絡(luò)、處理節(jié)點和外部系統(tǒng)。圖2示出了用于在傳感器節(jié)點網(wǎng)絡(luò)上處理數(shù)據(jù)的方法;圖3示出了包括處理代理和傳感器節(jié)點管理器的處理節(jié)點。圖4示出了在處理節(jié)點上處理數(shù)據(jù)的第一方法;圖5示出了在處理節(jié)點上處理數(shù)據(jù)的第二方法;圖6示出了傳感器節(jié)點;圖7示出了代理存檔包的轉(zhuǎn)移;圖8示出了節(jié)點操作控制器的操作;圖9示出了用于在傳感器節(jié)點中處理節(jié)點命令的過程;圖10示出了用于處理來自傳感器節(jié)點中的數(shù)據(jù)采集模塊的數(shù)據(jù)事件的過程;圖11示出了用于處理來自外部傳感器節(jié)點的數(shù)據(jù)事件的過程;圖12示出了用于處理來自傳感器節(jié)點中的傳感器代理的結(jié)果事件的過程;圖13示出了用于處理來自外部傳感器節(jié)點的結(jié)果事件的過程;圖14示出了第一傳感器節(jié)點和第二傳感器節(jié)點的處理器和存儲器;圖15示出了在圖14的第一傳感器節(jié)點的處理器上可執(zhí)行的指令集;并且圖16示出了用于處理來自數(shù)據(jù)事件的結(jié)果事件的過程。
具體實施例方式圖I示出了根據(jù)本發(fā)明的一個實施例的系統(tǒng)或網(wǎng)絡(luò)10。系統(tǒng)10提供了分布式基于代理的處理環(huán)境,該處理環(huán)境由聯(lián)網(wǎng)傳感器節(jié)點12和至少一個處理節(jié)點14構(gòu)成。每個傳感器節(jié)點12通過直接觀測(傳感器讀數(shù)/網(wǎng)絡(luò)請求)或通過從鄰近節(jié)點接收數(shù)據(jù)來獲取用于代理16的數(shù)據(jù)。代理可根據(jù)需要被托管在傳感器節(jié)點12或處理節(jié)點14上。此外,并且如下面將更詳細(xì)說明的,代理16可在傳感器節(jié)點12之間以及傳感器節(jié)點12與處理節(jié)點14之間遷移。處理節(jié)點14可與外部系統(tǒng)18進行通信以接收結(jié)果請求,處理節(jié)點14將響應(yīng)于結(jié)果請求而發(fā)布計算結(jié)果。在上述問題的一個解決方案中,代理被配置為能夠考慮來自鄰近傳感器/節(jié)點的可能已經(jīng)可用的信息。該系統(tǒng)還被配置為支持分布式處理,以減少能量/網(wǎng)絡(luò)使用,特別是能量敏感的節(jié)點上的能量/網(wǎng)絡(luò)使用。圖2的流程圖100描繪了一種用于在網(wǎng)絡(luò)10上處理數(shù)據(jù)的方法。在步驟101,可對傳感器節(jié)點建立處理模式和非處理模式。處理模式可以是其中傳感器節(jié)點的傳感器代理能夠處理傳感器測量數(shù)據(jù)的任何模式,例如全功率模式。非處理模式可以是低功率、睡眠或隱形模式,在這種模式下傳感器節(jié)點不能處理傳感器測量數(shù)據(jù)。當(dāng)傳感器測量數(shù)據(jù)記錄在第一傳感器節(jié)點(步驟102)時,確定該傳感器節(jié)點處于處理模式還是非處理模式(步驟103)。若該傳感器節(jié)點處于處理模式,則可由該傳感器節(jié)點中的傳感器代理對數(shù)據(jù)進行處理而生成結(jié)果(步驟104)。若該傳感器節(jié)點處于非處理模式,則可將對測量數(shù)據(jù)的處理轉(zhuǎn)移到第二傳感器節(jié)點(步驟105),從而在第二傳感器節(jié)點生成結(jié)果(步驟106)。在各實施例中,系統(tǒng)10可按以下方式進行配置-在傳感器節(jié)點12處通過直接觀測獲取的數(shù)據(jù)可被傳送到鄰近節(jié)點;
-傳感器節(jié)點上的傳感器代理處理能夠處理過期數(shù)據(jù);-在不能從傳感器節(jié)點獲取所有數(shù)據(jù)時,處理節(jié)點上的處理代理處理能夠能夠產(chǎn)生結(jié)果;-即使數(shù)據(jù)過期也能通過處理節(jié)點保證實時響應(yīng);-傳感器節(jié)點通過來自鄰近節(jié)點的查詢/更新間接地更新數(shù)據(jù);-傳感器節(jié)點通過本地傳感器觀測或網(wǎng)絡(luò)請求直接地更新數(shù)據(jù);-關(guān)于何時通過直接觀測/請求來更新數(shù)據(jù),是基于能量/效率關(guān)心與代理對最新 的精確數(shù)據(jù)的需求之間的權(quán)衡而確定的;-傳感器節(jié)點可將代理的結(jié)果復(fù)制到鄰近節(jié)點;-傳感器代理在必要時可以在傳感器節(jié)點之間移動,從而能夠繼續(xù)進行處理。為了提高能量和網(wǎng)絡(luò)效率,傳感器節(jié)點12或處理節(jié)點14上的代理可被配置為即使在不精確的數(shù)據(jù)或過期數(shù)據(jù)的情況下也繼續(xù)進行計算。關(guān)于何時進行傳感器讀取/網(wǎng)絡(luò)請求,是基于各種因素進行計算而確定的,這些因素例如是傳感器密度、觀測頻率、傳感器讀數(shù)隨時間的變化、觸發(fā)的操作狀態(tài)或階段、傳感器可靠性、進行觀測的能量成本、以及廣播通過網(wǎng)絡(luò)請求接收的觀測結(jié)果或數(shù)據(jù)的帶寬/能量成本。傳感器節(jié)點上的代理進行計算的結(jié)果可被傳送到其他傳感器節(jié)點和/或一個或多個處理節(jié)點,其中處理代理將進行諸如數(shù)據(jù)聚合/融合、高級推理和最終分析的計算。處理節(jié)點基于整體系統(tǒng)狀態(tài)和系統(tǒng)要求來控制傳感器節(jié)點的行為,以最優(yōu)地實現(xiàn)響應(yīng)性、隱形、電池壽命等目標(biāo)。在一個實施例中,傳感器節(jié)點12上的代理16可被移動到不同的傳感器節(jié)點來執(zhí)行處理,或可被緩存在處理節(jié)點處并且稍后被重新激活。例如,若節(jié)點A目前在低功率模式下操作并接收需要處理的傳感器/網(wǎng)絡(luò)數(shù)據(jù),節(jié)點A上的代理則可獲得該數(shù)據(jù)并移動到已處于高功率模式的節(jié)點B。或者,若節(jié)點A功率不足,系統(tǒng)則可將傳感器讀數(shù)從節(jié)點A傳輸?shù)酱韺⒃谄渖喜僮鲾?shù)據(jù)的節(jié)點B。處理節(jié)點的操作圖3示出了處理節(jié)點14的一個實施例。處理節(jié)點14負(fù)責(zé)管理一組傳感器節(jié)點,圖3示出了其中的一個傳感器節(jié)點12。處理節(jié)點14中的傳感器節(jié)點管理器31基于確定的系統(tǒng)目標(biāo),即響應(yīng)性、功率效率、代理結(jié)果的精確性/可靠性或其他要求,來控制傳感器節(jié)點12。它發(fā)送命令到傳感器節(jié)點12上的(下面描述的)節(jié)點操作控制器63以控制所有行為,例如啟用/禁用傳感器、傳送數(shù)據(jù)和處理代理結(jié)果(通信規(guī)則)、以及操作狀態(tài)(睡眠、戒備、廣播、高度警戒)。處理節(jié)點14還操作處理代理32。來自傳感器節(jié)點代理的結(jié)果由處理代理32操作。處理代理32對從傳感器節(jié)點接收的傳感器結(jié)果事件36進行計算,例如數(shù)據(jù)聚合、數(shù)據(jù)融合以及高級推理,從而產(chǎn)生可實時遵照的實時知識。由處理代理32產(chǎn)生的結(jié)果37被傳送到傳感器節(jié)點管理器31,傳感器節(jié)點管理器31利用該信息來動態(tài)地管理傳感器節(jié)點。如上所述,處理節(jié)點,特別是處理代理,被配置為處理外部實時結(jié)果請求。圖4的流程圖200描繪了處理代理的處理的實施例。流程圖200涉及以實時方式向處理節(jié)點14查詢結(jié)果。在步驟201,處理代理接收對計算結(jié)果的外部實時請求。處理代理檢查計算結(jié)果是否可用202。若計算結(jié)果可用,則發(fā)布計算結(jié)果作為對結(jié)果請求的響應(yīng)(步驟210)。若在步驟202無可用計算結(jié)果,處理代理則例如通過向每個相關(guān)傳感器節(jié)點輪詢實時數(shù)據(jù)來檢查結(jié)果數(shù)據(jù)是否可用203。若可用數(shù)據(jù)不足,例如若一個或多個傳感器節(jié)點處于低功率模式、隱形模式、無法聯(lián)系等,處理代理則檢驗緩存數(shù)據(jù)204以補充可用的實時數(shù)據(jù)。若找到緩存數(shù)據(jù)并且緩存數(shù)據(jù)可以使用205,則用緩存數(shù)據(jù)補充可用的實時數(shù)據(jù)206。若無可用的緩存數(shù)據(jù),處理代理則向鄰近傳感器節(jié)點或其他處理節(jié)點輪詢緩存數(shù)據(jù)或?qū)崟r數(shù)據(jù)207,該緩存數(shù)據(jù)或?qū)崟r數(shù)據(jù)在步驟208被添加到任何實時數(shù)據(jù)。因此,所有所需數(shù)據(jù)都可從來自傳感器的當(dāng)前更新、處理節(jié)點的緩存或鄰近節(jié)點的實時數(shù)據(jù)獲得。一旦所有所需數(shù)據(jù)都可獲得,就對數(shù)據(jù)進行處理209,并發(fā)布結(jié)果210,例如通過將處理結(jié)果事件作為響應(yīng)于外部系統(tǒng)對計算結(jié)果的請求的消息進行傳輸。如上述實例所述,在來自傳感器節(jié)點的實時數(shù)據(jù)不可用時,處理代理能夠利 用過期數(shù)據(jù)發(fā)揮功能。圖5提供了例示處理代理32如何被配置為緩存來自傳感器節(jié)點的數(shù)據(jù)的流程圖300。在步驟301,處理節(jié)點從傳感器節(jié)點接收結(jié)果事件。處理代理確定結(jié)果事件是否有效302。若結(jié)果無效,則該結(jié)果事件308被丟棄。若結(jié)果有效,則該結(jié)果事件303被保存。結(jié)果事件的數(shù)據(jù)被處理304并保存305。處理結(jié)果可被遞送到相關(guān)傳感器節(jié)點管理器306。然后,處理代理清除失效或過期的結(jié)果事件307。處理300通常將連續(xù)操作直到被關(guān)閉為止。處理的結(jié)果可被發(fā)送到⑶I、大容量存儲器等。數(shù)據(jù)處理將取決于系統(tǒng)10的具體應(yīng)用與實現(xiàn)方式,并且可包括數(shù)據(jù)聚合、數(shù)據(jù)融合、復(fù)雜事件處理等。處理中使用的數(shù)據(jù)并不限于從傳感器節(jié)點獲得的數(shù)據(jù),而是還可包括來自其他源的數(shù)據(jù)。傳感器節(jié)點的操作圖6示出了傳感器節(jié)點12的一個實施例。每個傳感器節(jié)點12包含至少一個傳感器61并支持一個或多個傳感器代理62的操作,傳感器代理62被編程為對由該節(jié)點的一個或多個傳感器61產(chǎn)生的數(shù)據(jù)進行操作。傳感器61檢測或測量物理刺激或信號,例如熱、光、加速度、聲音、化學(xué)品的存在等,并將其轉(zhuǎn)換成測量數(shù)據(jù)。每個傳感器節(jié)點12被配置為能夠與至少一個其他傳感器節(jié)點和/或處理節(jié)點進行通信。節(jié)點操作控制器63控制每個傳感器節(jié)點的功能。其啟用/禁用傳感器61,發(fā)送/接收數(shù)據(jù),并以其他方式管理該節(jié)點的操作的所有方面,包括何時以諸如低功率或睡眠模式之類的非處理模式進行操作。圖16進一步示出了傳感器節(jié)點的各元素之間的關(guān)系。傳感器節(jié)點12上的傳感器代理62從數(shù)據(jù)采集模塊64接收數(shù)據(jù)41。數(shù)據(jù)采集模塊64從傳感器讀數(shù)61、“鄰近”節(jié)點、和/或從外部數(shù)據(jù)源164獲得的網(wǎng)絡(luò)請求163接收數(shù)據(jù)。術(shù)語“鄰近”通常從地理角度進行定義,但也可從距離其他節(jié)點的網(wǎng)絡(luò)跳數(shù)、與其他節(jié)點進行通信的能量成本等方面進行定義。數(shù)據(jù)采集模塊64通過發(fā)送數(shù)據(jù)事件41到傳感器代理62而通知該代理新數(shù)據(jù)何時可用。代理也可直接向數(shù)據(jù)采集模塊64輪詢或查詢167當(dāng)前數(shù)據(jù)。數(shù)據(jù)事件41還可被傳送到鄰近節(jié)點或處理節(jié)點。當(dāng)傳感器代理62從數(shù)據(jù)采集模塊64接收數(shù)據(jù)時,傳感器代理處理該數(shù)據(jù)并產(chǎn)生結(jié)果事件42。傳感器代理62將結(jié)果事件42發(fā)送到該代理的節(jié)點上的結(jié)果事件緩存65。結(jié)果事件42還可被傳送到鄰近傳感器節(jié)點161或處理節(jié)點14。如上所述,每個節(jié)點具有節(jié)點操作控制器63,該節(jié)點操作控制器控制該節(jié)點的操作,包括傳感器、處理過程、代理行為和通信。節(jié)點操作控制器63可將數(shù)據(jù)事件41和結(jié)果事件42傳送到鄰近節(jié)點以供駐留傳感器代理進行緩存或處理。其還可基于能源節(jié)約需求、操作階段或由處理節(jié)點的傳感器節(jié)點管理器31做出的其他指示將該節(jié)點的傳感器代理62移動到另一個節(jié)點。
當(dāng)傳感器代理62接收要移動的通知時,其停止處理并創(chuàng)建代理存檔包43,該代理存檔包表示該代理的當(dāng)前處理狀態(tài)的“快照”。代理存檔包43包含該代理在另一個節(jié)點上重新開始處理過程所必需的所有數(shù)據(jù)。節(jié)點操作控制器63然后將代理存檔包43發(fā)送到目的節(jié)點。代理存檔包43提供了,例如在傳感器代理不能在當(dāng)前的節(jié)點上操作的情況下,一種將處理過程轉(zhuǎn)移到另一個節(jié)點的方式。傳感器代理可因若干原因而移動,這些原因例如是當(dāng)前傳感器節(jié)點被切換為非處理(功率節(jié)省)模式;或者傳感器代理需要廣域網(wǎng)絡(luò)接入以發(fā)送結(jié)果而當(dāng)前傳感器節(jié)點沒有廣域網(wǎng)絡(luò)接入。傳感器節(jié)點之間以及傳感器節(jié)點與處理節(jié)點之間的所有通信是利用每個節(jié)點中的消息路由模塊66執(zhí)行的。消息路由模塊66用于與代理和節(jié)點進行通信。網(wǎng)絡(luò)10中的每個代理具有唯一標(biāo)識符。網(wǎng)絡(luò)10中的每個節(jié)點也具有唯一標(biāo)識符。每個代理知曉其“主(home) ”節(jié)點及其當(dāng)前節(jié)點的身份。每個節(jié)點保持與鄰近節(jié)點的連通狀態(tài)。消息路由模塊66利用該信息建立消息路由表67。其利用消息路由表67確定如何發(fā)送數(shù)據(jù)到代理或節(jié)點。消息路由模塊66可用于以下情況等-發(fā)送數(shù)據(jù)事件41到另一節(jié)點/從另一節(jié)點接收數(shù)據(jù)事件41; -發(fā)送結(jié)果事件42到另一節(jié)點/從另一節(jié)點接收結(jié)果事件42;-發(fā)送代理存檔包43到另一節(jié)點/從另一節(jié)點接收代理存檔包43;-接收節(jié)點命令44;-轉(zhuǎn)發(fā)消息到消息路線中的下一個節(jié)點。從一個傳感器節(jié)點轉(zhuǎn)移到另一個傳感器節(jié)點的數(shù)據(jù)通常是衍生自或指示來自傳感器節(jié)點的傳感器的傳感器測量數(shù)據(jù)的數(shù)據(jù)。轉(zhuǎn)移的數(shù)據(jù)可以是原始測量數(shù)據(jù),或者可經(jīng)歷例如傳感器代理進行的一定程度的處理,因此可包括結(jié)果數(shù)據(jù)。消息路由模塊66利用通信模塊68發(fā)送數(shù)據(jù)到一個或多個相連節(jié)點的通信模塊68。通信模塊68被配置為發(fā)送和接收消息。其可利用點對點或廣播通信來使用任何適當(dāng)?shù)耐ㄐ艆f(xié)議發(fā)送數(shù)據(jù),通信協(xié)議的示例包括TCP/IP、UDP、HTTP、SOAP等。消息路由模塊66在發(fā)送數(shù)據(jù)(數(shù)據(jù)事件41、結(jié)果事件42或代理存檔包43)時建立具有以下信息的消息45 -由節(jié)點標(biāo)識符序列組成的消息路線。該路線是利用消息路由模塊66計算的,消息路由模塊66被配置為存儲距離為到相隔一個或更多跳的節(jié)點的路由;-消息類型(數(shù)據(jù)事件、結(jié)果事件、代理存檔包、數(shù)據(jù)事件請求、結(jié)果事件請求);-消息的目的節(jié)點;-消息的源節(jié)點;-消息的節(jié)點唯一標(biāo)識符;-距離目的節(jié)點多少“跳”,或者表明跳數(shù)未知的預(yù)定值;-消息內(nèi)容;-完整消息的字節(jié)大小。本領(lǐng)域的技術(shù)人員將意識到消息中也可提供其他信息。節(jié)點的通信模塊68在接收消息時確定該消息是否以該節(jié)點為目的地。若是,則其分派消息到消息處理器69。若否,則其分派消息到消息路由模塊66,消息路由模塊將確定是否或如何轉(zhuǎn)發(fā)消息。
圖7的流程圖400示出了傳感器代理的轉(zhuǎn)移過程。在步驟401,傳感器節(jié)點12的節(jié)點操作控制器63從鄰近傳感器節(jié)點接收代理存檔包43。若節(jié)點操作控制器63在步驟402確定目前駐留在該傳感器節(jié)點的傳感器代理是活動的,則該駐留傳感器代理被停止405。然后,新的傳感器代理在該傳感器節(jié)點被初始化(步驟403)并在步驟404被啟動。新的傳感器代理一旦已被啟動,就可對代理存檔包43繼續(xù)進行任何處理操作。此外,傳感器代理可繼續(xù)操作并根據(jù)來自其“主”傳感器節(jié)點的傳感器的實時傳感器數(shù)據(jù)或根據(jù)例如存儲在傳感器代理已轉(zhuǎn)移到的傳感器節(jié)點的緩存中的緩存數(shù)據(jù)產(chǎn)生結(jié)果事件。圖8的流程圖500描繪了處理節(jié)點14的傳感器節(jié)點管理器31的詳細(xì)過程。在步驟501,傳感器節(jié)點管理器31從傳感器節(jié)點12接收結(jié)果事件42。傳感器節(jié)點管理器31利用結(jié)果事件確定新的系統(tǒng)狀態(tài)502。若如在503處確定新的系統(tǒng)狀態(tài)不需要狀況變化,過程則返回步驟501等待下一個結(jié)果事件42。否則,若如在504處確定狀況變化表示增加的活動,傳感器節(jié)點管理器31則發(fā)送節(jié)點命令44以激活睡眠傳感器節(jié)點。然后,過程返回步驟 501等待下一個結(jié)果事件。當(dāng)節(jié)點操作控制器63從處理節(jié)點14接收節(jié)點命令44時,節(jié)點命令可根據(jù)圖9所示的流程圖600的方法被處理。在步驟601,節(jié)點操作控制器63接收節(jié)點命令44。節(jié)點操作控制器63確定節(jié)點命令44是否為傳感器命令(步驟602),若是則相應(yīng)地改變傳感器61的狀態(tài)(步驟603)。節(jié)點操作控制器63確定節(jié)點命令44是否為傳感器代理命令(步驟604),若是則相應(yīng)地啟動、停止、移動傳感器代理或以其他方式改變其狀態(tài)(步驟605)。節(jié)點操作控制器63確定節(jié)點命令44是否為通信規(guī)則命令(步驟606),若是則更新數(shù)據(jù)事件和/或結(jié)果事件的通信規(guī)則(步驟607)。如上所述,節(jié)點操作控制器被配置為處理傳感器節(jié)點12上的各種事件。圖10的流程圖700示出了一種用于處理數(shù)據(jù)事件的方法。在步驟701,節(jié)點操作控制器63從數(shù)據(jù)采集模塊64接收數(shù)據(jù)事件41。節(jié)點操作控制器63確定傳感器代理62是否為活動的(步驟702),若是則將數(shù)據(jù)事件傳遞到傳感器代理62 (步驟703)。若數(shù)據(jù)事件將被發(fā)布給一個或多個其他節(jié)點(步驟704),則數(shù)據(jù)事件消息被創(chuàng)建705并被傳遞到消息路由表67。圖11示出了當(dāng)由節(jié)點操作控制器63從通信模塊68接收例如在過程700中創(chuàng)建的消息的數(shù)據(jù)事件消息時的過程800的實施例。在步驟801,從通信模塊68接收數(shù)據(jù)事件消息。若在步驟802確定該節(jié)點的傳感器代理62是活動的,則將數(shù)據(jù)事件傳遞到傳感器代理62進行處理,然后該過程停止804。節(jié)點操作控制器還可被配置為從傳感器代理接收結(jié)果事件,其實施例在圖12的過程900中示出。在步驟901,節(jié)點操作控制器63接收由該節(jié)點的傳感器代理62生成的結(jié)果事件42。在步驟902,結(jié)果事件42被存儲在結(jié)果事件緩存65中。若步驟903確定結(jié)果事件將被發(fā)布給其他節(jié)點以使得該結(jié)果事件在當(dāng)前節(jié)點處于低功率、睡眠或隱形模式時可用,則結(jié)果事件消息被創(chuàng)建904并被傳遞到消息路由表905。若節(jié)點操作控制器通過通信模塊68從另一個節(jié)點接收結(jié)果事件消息,如圖13的過程1000的步驟1001所示,節(jié)點操作控制器則可繼續(xù)將該結(jié)果事件存儲在結(jié)果事件緩存65中(步驟1002)。在很多上述過程中,數(shù)據(jù)事件41和結(jié)果事件42被發(fā)布給其他節(jié)點以被存儲在相應(yīng)節(jié)點的結(jié)果事件緩存65中。也就是說,結(jié)果事件緩存65可存儲駐留節(jié)點的數(shù)據(jù)事件41和結(jié)果事件42以及從鄰近節(jié)點傳遞的數(shù)據(jù)事件和結(jié)果事件。因此,若節(jié)點例如由于處于低功率模式、睡眠模式、隱形模式或由于通信錯誤而不可用,則可以通過從鄰近節(jié)點的結(jié)果事件緩存取回較舊數(shù)據(jù),即“過期”數(shù)據(jù),來補充對該節(jié)點的數(shù)據(jù)請求。上述系統(tǒng)可部署在很多場合,例如工業(yè)廠房監(jiān)測與控制、戰(zhàn)場監(jiān)視、交通監(jiān)視與控制、以及可能用到遠(yuǎn)程傳感器的其他環(huán)境。一個具體的例子是部署“智能”地雷的戰(zhàn)場環(huán)境。每個地雷用作一個“傳感器節(jié)點”,裝配有一個或多個無源傳感器,用于檢測人員或車輛的存在。每個地雷被配置為以功率節(jié)省模式操作,在這種模式下其傳感器周期性地活動。還將處理節(jié)點部署為雷區(qū)的一部分。當(dāng)活動的地雷傳感器檢測到車輛或人員的存在,地雷就廣播消息到鄰近地雷,并通過鄰近地雷廣播到處理節(jié)點。處理節(jié)點從地雷接收消息,若有必要則遠(yuǎn)程激活當(dāng)前不活動的地雷上的傳感器,以獲取對于計算進入雷區(qū)的車輛/人員的數(shù)量、密度、前進方向和速度所必需的信息。若傳感器之一未響應(yīng),處理節(jié)點則可檢驗傳感器的緩存數(shù)據(jù),以查看其是否可用(例如數(shù)據(jù)是否是最近緩存的或者是否在正常范圍內(nèi)等)。若緩存數(shù)據(jù)可用,則使用該緩存數(shù)據(jù)繼續(xù)處理。否則基于鄰近傳感器的數(shù)據(jù)計算結(jié)果。處理節(jié)點基于計算的信息向地雷發(fā)出信號引爆地雷。該系統(tǒng)的實施例既解決了對代理響應(yīng)性的需求,也解決了對控制執(zhí)行傳感器讀取 或網(wǎng)絡(luò)請求的時間和頻率的需求。所述系統(tǒng)10包括以下具體優(yōu)點-其允許代理使用“過期”數(shù)據(jù)發(fā)揮功能,使代理能夠?qū)崟r響應(yīng);-其支持在必要時將代理移動到不同節(jié)點,以允許代理繼續(xù)操作;-其跨越節(jié)點復(fù)制輸入數(shù)據(jù)和代理結(jié)果,以保證系統(tǒng)的響應(yīng)性和恢復(fù)力;以及-該系統(tǒng)優(yōu)化了整個節(jié)點網(wǎng)絡(luò)而不止一個節(jié)點的效率。在一個實施例中,傳感器節(jié)點可各自包括處理器,例如圖14所示的與存儲器162操作地相關(guān)聯(lián)的第一傳感器節(jié)點處理器161。存儲器162可存儲在處理器161上可執(zhí)行的指令。此外,存儲器162可提供傳感器節(jié)點緩存的元素。第一傳感器節(jié)點處理器161可與第二傳感器節(jié)點的處理器171進行通信,第二傳感器節(jié)點的處理器還可與其自身的存儲器172操作地相關(guān)聯(lián)。第一傳感器節(jié)點處理器161與第二傳感器節(jié)點處理器171通常彼此為遠(yuǎn)程,并且可通過適當(dāng)?shù)耐ㄐ沛溌?65進行通信。此處使用的“遠(yuǎn)程”一詞是用于說明遠(yuǎn)程處理器位于遠(yuǎn)離獲取傳感器讀數(shù)的傳感器節(jié)點的某個傳感器節(jié)點處,因此數(shù)據(jù)消息和/或結(jié)果消息的轉(zhuǎn)移需要通過媒體,例如無線、紅外或固定線路媒體進行通信。圖15的流程圖描繪了可在第一傳感器節(jié)點處理器161上執(zhí)行的指令集1100。確切地說,指令集1100當(dāng)被執(zhí)行時允許第一傳感器節(jié)點處理器從一傳感器接收至少一個數(shù)據(jù)測量(步驟1101)并將該數(shù)據(jù)測量存儲在存儲器162中(步驟1102)。然后,處理器161可生成包括該數(shù)據(jù)測量的數(shù)據(jù)消息(步驟1103),并將該數(shù)據(jù)信息傳送到第二傳感器節(jié)點處理器171。指令集1100還可包括執(zhí)行代理的指令,該代理處理該測量數(shù)據(jù)并發(fā)送結(jié)果到第二傳感器節(jié)點處理器171。可替代地或另外地,指令集1100可包括用于將包括該代理的代理存檔包傳輸?shù)降诙鞲衅鞴?jié)點處理器171以使得第二傳感器節(jié)點處理器171可以執(zhí)行該代理的指令??商娲鼗蛄硗獾?,指令集1100可包括用于從第二傳感器節(jié)點處理器171或替代傳感器節(jié)點接收代理存檔包、以及用于在第一傳感器節(jié)點處理器161上執(zhí)行代理存檔包中接收的代理的指令。雖然本發(fā)明的實施例已在附圖中示出并在上述說明書中進行了說明,將明白本發(fā)明并不限于所公開的實施例,在不脫離隨附權(quán)利要求書所闡明和限定的本發(fā)明的精神的情況下,還可對其做出很多重排、修改和替換。例如,通過方框、模塊、處理器或存儲器中的一個或多個可完全和/或部分地執(zhí)行本發(fā)明的能力。而且,按現(xiàn)有方式或分布式方式,可以在能夠提供和/或接收信息的任何設(shè)備上或通過該設(shè)備實現(xiàn)這些能力。此外,雖然各模塊和 方框以具體方式進行了描繪,但在不脫離本發(fā)明的范圍的情況下可以改變其位置。另外,雖然以具體方式進行了描繪,本發(fā)明還可使用更多或更少的模塊和連接,以實現(xiàn)本發(fā)明,為本發(fā)明提供更多已知特征,和/或使本發(fā)明更加高效。而且,在各模塊之間發(fā)送的信息可通過數(shù)據(jù)網(wǎng)絡(luò)、因特網(wǎng)、因特網(wǎng)協(xié)議網(wǎng)絡(luò)、無線源和有限源中的至少一種并通過多種協(xié)議在這些模塊之間發(fā)送。
權(quán)利要求
1.一種系統(tǒng),包括 多個傳感器節(jié)點,每個傳感器節(jié)點包括至少一個傳感器,所述傳感器被配置為執(zhí)行測量; 其中所述多個傳感器節(jié)點中的至少第一傳感器節(jié)點被配置為將指示所述第一傳感器節(jié)點的傳感器的測量結(jié)果的數(shù)據(jù)傳輸?shù)街辽僖粋€第二傳感器節(jié)點; 至少一個處理節(jié)點,其被配置為 從多個傳感器節(jié)點接收包括指示所述第一傳感器節(jié)點的傳感器的測量結(jié)果的數(shù)據(jù)在內(nèi)的數(shù)據(jù), 利用所接收的數(shù)據(jù)執(zhí)行計算; 其中,所述處理節(jié)點被配置為 確定是否能從所述第一傳感器節(jié)點獲得實時數(shù)據(jù), 若不能從所述第一傳感器節(jié)點獲得實時數(shù)據(jù),則取回所述第一傳感器節(jié)點的緩存數(shù)據(jù)并利用所述緩存數(shù)據(jù)執(zhí)行所述計算。
2.根據(jù)權(quán)利要求I所述的系統(tǒng),其中所述處理節(jié)點包括緩存,并且其中所述處理節(jié)點被配置為緩存來自所述第一傳感器節(jié)點的數(shù)據(jù)并從所述緩存取回第一傳感器節(jié)點數(shù)據(jù)。
3.根據(jù)權(quán)利要求I所述的系統(tǒng),其中所述處理節(jié)點被配置為從所述至少一個第二傳感器節(jié)點的緩存取回所述第一傳感器節(jié)點的數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其中所述處理節(jié)點包括傳感器節(jié)點管理器,所述傳感器節(jié)點管理器確定所述第一傳感器節(jié)點將指示所述第一傳感器節(jié)點的傳感器的測量結(jié)果的數(shù)據(jù)發(fā)送到的一個或多個傳感器節(jié)點。
5.根據(jù)權(quán)利要求I所述的系統(tǒng),其中多個傳感器節(jié)點被配置為將其相應(yīng)的傳感器測量數(shù)據(jù)轉(zhuǎn)移到至少一個其他傳感器節(jié)點。
6.根據(jù)權(quán)利要求I所述的系統(tǒng),其中所述第一傳感器節(jié)點包括傳感器代理,所述傳感器代理處理其相應(yīng)的傳感器的測量數(shù)據(jù)以產(chǎn)生結(jié)果,并且其中指示所述第一傳感器節(jié)點的傳感器的測量結(jié)果的數(shù)據(jù)包括所述結(jié)果。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其中所述處理節(jié)點被配置為 確定至少一個傳感器節(jié)點的操作狀態(tài); 指示所述至少一個傳感器節(jié)點將其相應(yīng)的傳感器代理和數(shù)據(jù)轉(zhuǎn)移到替代的傳感器節(jié)點,以便由該傳感器代理處理該數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其中若所述操作狀態(tài)被確定為低功率模式、睡眠模式或隱形模式中的至少一種,所述處理節(jié)點則指示所述傳感器節(jié)點轉(zhuǎn)移所述傳感器代理和數(shù)據(jù)。
9.根據(jù)權(quán)利要求I所述的系統(tǒng),其中指示所述第一傳感器節(jié)點的傳感器的測量結(jié)果的數(shù)據(jù)包括傳感器數(shù)據(jù)。
10.一種用于在傳感器節(jié)點的網(wǎng)絡(luò)上處理數(shù)據(jù)的方法,所述方法包括 建立至少第一傳感器節(jié)點上的處理模式和非處理模式; 記錄來自所述第一傳感器節(jié)點的至少一個傳感器的數(shù)據(jù)測量; 確定所述第一傳感器節(jié)點的處理模式; 若所述第一傳感器節(jié)點處于處理模式,則在所述第一傳感器節(jié)點處理所述至少一個數(shù)據(jù)測量以產(chǎn)生結(jié)果;并且 若所述第一傳感器節(jié)點處于非處理模式,則將對所述至少一個數(shù)據(jù)測量的處理轉(zhuǎn)移到第二傳感器節(jié)點并且在所述第二傳感器節(jié)點處理所述至少一個數(shù)據(jù)測量以在所述第二傳感器節(jié)點產(chǎn)生所述結(jié)果。
11.根據(jù)權(quán)利要求10所述的方法,其中在所述第一傳感器節(jié)點處理所述至少一個數(shù)據(jù)測量包括執(zhí)行傳感器代理,所述傳感器代理處理所述至少一個數(shù)據(jù)測量。
12.根據(jù)權(quán)利要求11所述的方法,其中將對所述至少一個數(shù)據(jù)測量的處理轉(zhuǎn)移到所述第二傳感器節(jié)點包括將所述傳感器代理和所述至少一個數(shù)據(jù)測量轉(zhuǎn)移到所述第二傳感器節(jié)點。
13.根據(jù)權(quán)利要求12所述的方法,包括 確定所述第二傳感器節(jié)點的駐留傳感器代理在所述第二傳感器節(jié)點上是否為活動的;并且 若所述駐留傳感器代理是活動的,則停止所述駐留傳感器代理。
14.根據(jù)權(quán)利要求10所述的方法,其中轉(zhuǎn)移對所述至少一個數(shù)據(jù)測量的處理是響應(yīng)于來自管理所述第一傳感器節(jié)點的處理節(jié)點的命令而發(fā)生的。
15.根據(jù)權(quán)利要求14所述的方法,包括將在所述第二傳感器節(jié)點生成的結(jié)果傳輸?shù)剿鎏幚砉?jié)點。
16.根據(jù)權(quán)利要求10所述的方法,包括 將所述至少一個數(shù)據(jù)測量傳輸?shù)剿龅诙鎯?jié)點;以及 將所述至少一個數(shù)據(jù)測量存儲在所述第二傳感器節(jié)點的緩存中。
17.一種計算機可讀介質(zhì),包括供第一傳感器節(jié)點的處理器執(zhí)行的計算機可執(zhí)行指令,所述指令當(dāng)被執(zhí)行時使所述處理器 從傳感器接收至少一個數(shù)據(jù)測量; 將所述至少一個數(shù)據(jù)測量存儲在存儲器中,所述存儲器與所述處理器操作地相關(guān)聯(lián); 生成包括所述至少一個數(shù)據(jù)測量的數(shù)據(jù)消息;以及 將所述數(shù)據(jù)消息傳送到遠(yuǎn)離所述第一傳感器節(jié)點的至少一個第二傳感器節(jié)點的第二傳感器節(jié)點處理器。
18.根據(jù)權(quán)利要求17所述的計算機可讀介質(zhì),包括供所述第一傳感器節(jié)點的所述處理器執(zhí)行的計算機可執(zhí)行指令,所述指令當(dāng)被執(zhí)行時使所述處理器 執(zhí)行代理來處理所述至少一個數(shù)據(jù)測量以產(chǎn)生結(jié)果; 生成結(jié)果消息; 將所述結(jié)果消息傳輸?shù)剿龅诙鞲衅鞴?jié)點處理器。
19.根據(jù)權(quán)利要求18所述的計算機可讀介質(zhì),包括供所述第一傳感器節(jié)點的所述處理器執(zhí)行的計算機可執(zhí)行指令,所述指令當(dāng)被執(zhí)行時使所述處理器 生成代理存檔包,所述代理存檔包包括所述代理和所述至少一個數(shù)據(jù)測量; 將所述代理存檔包傳輸?shù)剿龅诙鞲衅鞴?jié)點處理器。
20.根據(jù)權(quán)利要求17所述的計算機可讀介質(zhì),包括供所述處理器執(zhí)行的計算機可執(zhí)行指令,所述指令當(dāng)被執(zhí)行時使所述處理器 從第二處理器接收代理存檔包,所述代理存檔包包括至少一個可由所述處理器執(zhí)行的代理以及至少一個數(shù)據(jù)測量; 執(zhí)行所述至少一個代理以對所述代理存檔包的所述至少一個數(shù)據(jù)測量進行處理。
全文摘要
在傳感器節(jié)點網(wǎng)絡(luò)中,通過配置傳感器節(jié)點使得例如在主傳感器節(jié)點處于低功率模式時傳感器代理可被轉(zhuǎn)移到替代傳感器節(jié)點以處理傳感器節(jié)點數(shù)據(jù),可以提高操作效率。該網(wǎng)絡(luò)的處理節(jié)點可配置為從傳感器節(jié)點取回實時數(shù)據(jù),但若實時數(shù)據(jù)不可用,該處理節(jié)點則可對從處理器節(jié)點緩存取回的緩存數(shù)據(jù)或鄰近傳感器節(jié)點的數(shù)據(jù)執(zhí)行計算。
文檔編號H04L29/08GK102640476SQ201080055129
公開日2012年8月15日 申請日期2010年11月5日 優(yōu)先權(quán)日2009年12月3日
發(fā)明者托馬斯·T·惠勒, 沁·葉, 羅伯特·W·彼得森 申請人:歐搜卡德遠(yuǎn)程有限責(zé)任公司