亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于健壯的傳感器網(wǎng)絡(luò)的分布式規(guī)則引擎的制作方法

文檔序號:12512641閱讀:254來源:國知局
用于健壯的傳感器網(wǎng)絡(luò)的分布式規(guī)則引擎的制作方法與工藝

本申請援引35U.S.C.§119(e)要求于2014年4月2日提交且標題為“Wireless Sensor Network”的臨時美國專利申請61/973,962、于2014年2月28日提交且標題為“Wireless Sensor Network”的臨時美國專利申請61/946,054以及于2014年8月20日提交且標題為“Distributed Rules Engines for Robust Sensor Networks”的實用美國專利申請14/464,070的優(yōu)先權(quán),這些申請的全部內(nèi)容通過引用被結(jié)合于此。



背景技術(shù):

本描述涉及傳感器網(wǎng)絡(luò)的操作,該傳感器系統(tǒng)諸如用于安裝在商業(yè)或住宅處所上的安全、入侵和警報系統(tǒng)的那些。

對于企業(yè)和房主來說,具有用于檢測在其處所的警報狀況并且用于向安全系統(tǒng)的監(jiān)控站或者被授權(quán)用戶發(fā)信號通知這種狀況的安全系統(tǒng)是常見的。安全系統(tǒng)常常包括被電或無線地連接到各種傳感器的入侵檢測面板。那些傳感器類型通常包括運動檢測器、攝像機和接近傳感器(用來確定門或窗是否已經(jīng)被打開)。通常,這種系統(tǒng)從這些傳感器當中的一個或多個接收非常簡單的信號(電氣開或關(guān)),以指示被監(jiān)控的特定狀況已經(jīng)改變或變得不安全。

政府實體、公司、學術(shù)機構(gòu)等向員工、承包商、學生等發(fā)放憑證,以控制對建筑物及室內(nèi)和室外設(shè)施的訪問。無論是有意還是無意,繞過安全系統(tǒng)獲得訪問的個人都難以識別和定位。

許多設(shè)備使用規(guī)則引擎作為用于處理控制和監(jiān)控過程或設(shè)備的規(guī)則的子部件。規(guī)則的執(zhí)行可以不產(chǎn)生輸出,就像當監(jiān)控設(shè)備更新內(nèi)部值和過程時,或者規(guī)則的執(zhí)行可以是規(guī)則已被觸發(fā)(執(zhí)行)的指示。作為子部件,規(guī)則和數(shù)據(jù)更新被發(fā)送到規(guī)則引擎并且規(guī)則或者觸發(fā)或者不觸發(fā)。在典型的系統(tǒng)中,另一個部件評估規(guī)則引擎的輸出并確定要采取的動作,諸如在其中結(jié)果應(yīng)當被發(fā)送或者如果需要附加的過程或者如果規(guī)則被鏈接到其它規(guī)則或在一般意義上如何路由來自規(guī)則觸發(fā)的輸出。



技術(shù)實現(xiàn)要素:

數(shù)據(jù)搜集系統(tǒng)的細節(jié)包括收集數(shù)據(jù)的多個傳感器的網(wǎng)絡(luò)以及從傳感器數(shù)據(jù)確定監(jiān)控事件和事件的位置的系統(tǒng)。到指示器的連接可以是有線和帶電的網(wǎng)絡(luò),或者可以是無線的。檢測傳感器包括火和煙霧以及有毒氣體或化學檢測器、警報盒、音頻檢測器、結(jié)構(gòu)變化檢測器、人計數(shù)器和運動傳感器當中的一些或全部。這些檢測器/傳感器報告位置數(shù)據(jù)以及原始傳感器數(shù)據(jù)。

當權(quán)利要求被最后定下來時由代理人完成

一個或多個優(yōu)點可以從上述方面的一個或多個提供。

類似地,到規(guī)則引擎的數(shù)據(jù)輸入和規(guī)則更新通常來自控制規(guī)則引擎、然后與系統(tǒng)的其余部分接口的單個源。這些典型的實現(xiàn)需要大量附加的軟件和配置來正確地執(zhí)行和路由規(guī)則、數(shù)據(jù)和動作。依賴于復(fù)雜性,對于這種系統(tǒng)會非常難以管理和維護適當?shù)呐渲谩S捎诟郊庸δ艿膱?zhí)行時間和穩(wěn)定性干擾規(guī)則引擎的及時執(zhí)行,利用附加功能增強復(fù)雜規(guī)則是有問題的。在復(fù)雜的控制系統(tǒng)中,從規(guī)則引擎路由決定和動作會是工作的主要部分。

本發(fā)明的一個或多個實施例的細節(jié)在附圖和以下描述中闡述。根據(jù)描述和附圖以及根據(jù)權(quán)利要求書,本發(fā)明的其它特征、目的以及優(yōu)點是顯而易見的。

附圖說明

圖1是示例性聯(lián)網(wǎng)安全系統(tǒng)的示意圖。

圖2是通用應(yīng)用層管理器的框圖。

圖3是示出應(yīng)用層管理器上的示例過程的框圖。

圖4是應(yīng)用層管理器上的示例性狀態(tài)過渡的圖。

圖5-7是繪出跨分布式規(guī)則引擎的處理的流程圖。

圖8是示例聯(lián)網(wǎng)安全系統(tǒng)的部件的框圖。

具體實施方式

本文所描述的是可以在各種背景中使用的網(wǎng)絡(luò)特征的例子,該背景包括但不限于安全/入侵和警報系統(tǒng)。示例安全系統(tǒng)可以包括被電或無線地連接到各種傳感器的入侵檢測面板。那些傳感器類型可以包括運動檢測器、攝像機和接近傳感器(例如,用來確定門或窗是否已經(jīng)被打開)。通常,這種系統(tǒng)從這些傳感器當中的一個或多個接收相對簡單的信號(電氣開或關(guān)),以指示被監(jiān)控的特定狀況已經(jīng)改變或變得不安全。

例如,典型的入侵系統(tǒng)可被設(shè)置為監(jiān)控建筑物中的入口門。當門被禁固時,接近傳感器感測到磁性接觸并產(chǎn)生電關(guān)閉電路。當門被打開時,接近傳感器打開電路,并向面板發(fā)送指示警報狀況已發(fā)生(例如,打開的入口門)的信號。

數(shù)據(jù)收集系統(tǒng)在一些應(yīng)用(諸如家庭安全監(jiān)控)當中變得越來越普遍。數(shù)據(jù)收集系統(tǒng)采用無線傳感器網(wǎng)絡(luò)和無線設(shè)備,并且可以包括基于遠程服務(wù)器的監(jiān)控和報告生成。如下面更詳細描述的,無線傳感器網(wǎng)絡(luò)一般使用計算設(shè)備之間的有線和無線鏈路的組合,無線鏈路通常用于最低級的連接(例如,端節(jié)點設(shè)備到集線器/網(wǎng)關(guān))。在示例網(wǎng)絡(luò)中,網(wǎng)絡(luò)的邊緣(無線連接的)層由具有特定功能的資源受限設(shè)備組成。這些設(shè)備可以具有小至中等的量的處理能力和存儲器,并且可以是電池供電的,因此要求它們通過在睡眠模式下花費大量時間來節(jié)省能源。典型的模型是在其中樞紐輻射式(hub-and-spoke-style)體系架構(gòu)(也稱為星形拓撲)中邊緣設(shè)備一般形成單個無線網(wǎng)絡(luò),其中每個端節(jié)點直接與其父節(jié)點通信。父節(jié)點可以是例如網(wǎng)關(guān)上的接入點或子協(xié)調(diào)器,其又連接到接入點或另一個子協(xié)調(diào)器。

現(xiàn)在參考圖1,示出了用于無線傳感器網(wǎng)絡(luò)(WSN)的示例性(全局)分布式網(wǎng)絡(luò)拓撲。在圖1中,分布式網(wǎng)絡(luò)10拓撲被邏輯地劃分成層或分層級別的集合12a-12c。

用于傳感器網(wǎng)絡(luò)的全局分布式網(wǎng)絡(luò)拓撲包括在個別節(jié)點或節(jié)點的集合處由圓圈元素“R”標示的分布式規(guī)則引擎。在網(wǎng)絡(luò)的上層或分層級別12a中部署若干服務(wù)器和/或運行“云計算”范例的虛擬服務(wù)器14,這些服務(wù)器利用良好建立的聯(lián)網(wǎng)技術(shù)(諸如因特網(wǎng)協(xié)議)聯(lián)網(wǎng)到一起,或者其可以是不使用因特網(wǎng)或使用因特網(wǎng)的部分的私有網(wǎng)絡(luò)。在那些服務(wù)器14上運行的應(yīng)用利用各種協(xié)議通信,這些協(xié)議諸如對于web因特網(wǎng)網(wǎng)絡(luò)的XML/SOAP、REST風格的網(wǎng)絡(luò)服務(wù),以及諸如HTTP和ATOM之類的其它應(yīng)用層技術(shù)。分布式網(wǎng)絡(luò)10在設(shè)備(節(jié)點)之間具有直接鏈路,如以下示出和討論的。

分布式網(wǎng)絡(luò)10包括第二邏輯劃分層或分層級別12b,在這里被稱為涉及定位于各個建筑物和結(jié)構(gòu)內(nèi)部的中心、方便位置的網(wǎng)關(guān)16的中間層。這些網(wǎng)關(guān)16利用網(wǎng)絡(luò)編程技術(shù)與上層中的服務(wù)器14通信,不管服務(wù)器是獨立專用服務(wù)器和/或運行云應(yīng)用的基于云的服務(wù)器。中間層網(wǎng)關(guān)16還被示為既具有局域網(wǎng)17a(例如,以太網(wǎng)或802.11)又具有蜂窩網(wǎng)絡(luò)接口17b。

分布式網(wǎng)絡(luò)拓撲還包括下層(邊緣層)12c設(shè)備集合,其涉及全功能傳感器節(jié)點18(例如,包括無線設(shè)備的傳感器節(jié)點,例如收發(fā)器或者至少發(fā)送器,這在圖1中標記為“F”)以及受限的無線傳感器節(jié)點或傳感器端節(jié)點20(在圖1中標記為“C”)。在一些實施例中,在分布式網(wǎng)絡(luò)10的各方面中,有線傳感器(未示出)可以被包括。

如本文中所使用的,受限的計算設(shè)備20是比檢測系統(tǒng)中的其它計算設(shè)備、傳感器具有基本上更少持久性和易失性存儲器的設(shè)備。目前受限的設(shè)備的例子將是那些具有小于大約一兆字節(jié)的閃存/持久性存儲器以及小于10-20千字節(jié)(kbyte)的RAM/易失性存儲器的設(shè)備。這些受限的設(shè)備20以這種方式進行配置;一般是由于成本/物理配置的考慮。

在典型的網(wǎng)絡(luò)中,網(wǎng)絡(luò)的邊緣(無線連接的)層由具有特殊功能的高度資源受限的設(shè)備組成。這些設(shè)備具有小至中等的量的處理能力和存儲器,并且常常是電池供電的,因此要求它們通過在睡眠模式下花費大量時間來節(jié)省能源。典型的模式是在其中樞紐輻射式(hub-and-spoke-style)式體系架構(gòu)中邊緣設(shè)備一般形成單個無線網(wǎng)絡(luò),其中每個端節(jié)點直接與其父節(jié)點通信。父節(jié)點可以是例如網(wǎng)關(guān)上的接入點或子協(xié)調(diào)器,其又連接到接入點或另一個子協(xié)調(diào)器。

每個網(wǎng)關(guān)配備有接入點(全功能節(jié)點或“F”節(jié)點),該接入點物理地附連到那個網(wǎng)關(guān)并且提供到無線網(wǎng)絡(luò)中的其它節(jié)點的無線連接點。圖1中所示的鏈路(由未編號的線示出)表示設(shè)備之間的直接(單跳網(wǎng)絡(luò)層)連接。(在圖1中所示的三層中每一層起作用的)正式聯(lián)網(wǎng)層使用一系列這些直接鏈路,連同路由設(shè)備一起,經(jīng)網(wǎng)絡(luò)從一個設(shè)備向另一個設(shè)備發(fā)送消息(分段或不分段的)。

WSN 10對在下層設(shè)備18和20上運行的應(yīng)用層實現(xiàn)狀態(tài)機方法。以下討論的是這種方法的特定實現(xiàn)的例子。狀態(tài)機中的狀態(tài)由協(xié)調(diào)執(zhí)行的函數(shù)集合組成,并且這些函數(shù)可以被個別刪除或替代或添加,以便更改特定下層設(shè)備的狀態(tài)機中的狀態(tài)。

基于WSN狀態(tài)函數(shù)的應(yīng)用層使用允許各個函數(shù)的加載和執(zhí)行(在設(shè)備的引導(dǎo)之后)的邊緣設(shè)備操作系統(tǒng)(未示出,但諸如在上面提到的臨時申請中所公開的),而無需重新引導(dǎo)該設(shè)備(所謂的“動態(tài)編程”)。在其它實現(xiàn)中,邊緣設(shè)備可以使用其它操作系統(tǒng),假定這種系統(tǒng)允許優(yōu)選地無需邊緣設(shè)備的重新引導(dǎo)就進行各個函數(shù)的加載和執(zhí)行(在設(shè)備引導(dǎo)之后)。

現(xiàn)在參考圖2,示出了應(yīng)用層管理器30的實施例。應(yīng)用層管理器30在應(yīng)用層管理器30不依賴于被更新的設(shè)備(例如設(shè)備18、20(圖1的下層12c))中的“業(yè)務(wù)”邏輯細節(jié)或特定應(yīng)用解決方案的意義上是通用的。應(yīng)用層管理器30在例如節(jié)點,例如設(shè)備18、20上處理從函數(shù)到函數(shù)的“傳遞取舍(pass-off)”(目前操作的函數(shù)的變化)。這些傳遞取舍是由在節(jié)點或設(shè)備18、20中執(zhí)行的實際狀態(tài)函數(shù)請求的。

應(yīng)用層管理器30利用過渡表(圖4)來完成這種“傳遞取舍”(目前操作的函數(shù)的變化),其中過渡表充當用于狀態(tài)函數(shù)的中央描述符。到應(yīng)用層管理器30的輸入包括經(jīng)由接口32來自網(wǎng)絡(luò)層的解析的消息。應(yīng)用層管理器30包括經(jīng)由來自中斷接口34的處理器外設(shè)中斷和經(jīng)由接口36的輪詢傳感器/外設(shè)輸入的基于中斷和輪詢的輸入。

應(yīng)用層管理器30涉及充分表征輸入,以應(yīng)用規(guī)則38,該規(guī)則38規(guī)定配置中的改變、所存儲的數(shù)據(jù)和/或突如其來的消息生成。應(yīng)用層管理器30具有規(guī)則38和配置管理器40,以及消息生成器/解析器42。應(yīng)用層管理器30使用網(wǎng)絡(luò)消息和基于傳感器/處理器外設(shè)的輸入、本地數(shù)據(jù)存儲器44(用于過渡表)和列表、配置管理功能、規(guī)則集以及報告生成能力,如圖所示。

邊緣應(yīng)用層體系架構(gòu)

參考圖3,示出了應(yīng)用模塊集合50,其包括用于邊緣設(shè)備18和20(圖1)的應(yīng)用層50。應(yīng)用模塊集合50包括由應(yīng)用層管理器(圖4)管理的層52和不由應(yīng)用層管理器管理的層54。在這個實施例中,應(yīng)用層管理器與在WSN的邊緣使用的這些其它固件模塊(例如,無線網(wǎng)絡(luò)模塊等等,未示出)分開,例如與其隔離,以便在應(yīng)用層代碼中應(yīng)用變化而不需要對這些其它模塊中的代碼的改變。此外,如圖所示,運動ISR和運動過濾器的實時處理不由應(yīng)用層管理器處理,而是運動報告生成器和心跳生成器由應(yīng)用層管理器處理。

在圖3的例子中繪出的應(yīng)用模塊集合50包括由應(yīng)用層管理的功能,例如,與堆棧56通信的運動報告生成器53a和心跳生成器53b。通過理解應(yīng)用層52的工作的細節(jié)而無需完全理解這些其它隔離的模塊的全部細節(jié),對應(yīng)用層52的改變是可能的。這是期望的,因為不同組的個人和/或系統(tǒng)可以具有相應(yīng)模塊的編碼和維護的任務(wù)。而且,應(yīng)用層52以支持應(yīng)用層的部分(例如,個別業(yè)務(wù)規(guī)則、報告、過濾器,以及其它功能)的升級而無需整個應(yīng)用層升級的通用方式被配置。

此外,圖3繪出了在應(yīng)用模塊集合中運行并與如下闡述的過渡表交互的各種過程間的狀態(tài)圖。

現(xiàn)在參考圖4,示出了涉及應(yīng)用層管理器50(App_Mgr())的示例性情形,其中存在兩個狀態(tài)(具有函數(shù)A、B和C的狀態(tài)1,及具有函數(shù)D和E的狀態(tài)2)。過渡表支配狀態(tài)過渡。

過渡表示出,基于機器的當前狀態(tài)以及其它輸入,有限半自動機或有限狀態(tài)機將移動到什么狀態(tài)(或者在非確定有限自動的情況下是多個什么狀態(tài))。狀態(tài)表實質(zhì)上是真值表,其中一些輸入是當前狀態(tài)并且輸出包括下一個狀態(tài)連同其它輸出。狀態(tài)表是指定狀態(tài)機的幾種途徑之一,其它途徑是狀態(tài)圖和特征方程。

狀態(tài)1是正常狀態(tài)并具有入口點,“函數(shù)A”。通常,狀態(tài)1執(zhí)行請求“函數(shù)B”的“函數(shù)A”,“函數(shù)B”請求“函數(shù)C”的執(zhí)行。在該例中,狀況發(fā)生(實際狀況是特定于實現(xiàn)的并且其細節(jié)對于理解下文不是必需的)。在這種發(fā)生狀況的情況下,當“函數(shù)B”請求“函數(shù)D”而不是“函數(shù)C”的執(zhí)行時,狀態(tài)1過渡到狀態(tài)2。狀態(tài)2可以存在僅一個周期(D-E-退出)或許多個周期(D-E-D-E-...-退出)。但是,當在這個例子中退出出現(xiàn)時,它這樣做而不調(diào)用任何函數(shù)。缺省地,然后,AppMgr的Idle函數(shù)運行函數(shù)A,因為它是入口點函數(shù)。

參考圖5,運動傳感器上的“典型”應(yīng)用60利用中斷例程處理運動傳感器的原始數(shù)據(jù),運動傳感器中斷直接調(diào)用維護其自己的狀態(tài)的運動過濾器并且在適當?shù)臅r候聲明“運動事件”62。運動事件由運動報告生成器處理64(在可能一點非確定性等待時間之后),其中運動報告生成器調(diào)用無線程序堆棧來將報告放到那個堆棧的傳出隊列中。運動報告生成器等待66ACK消息并在必要的情況下重新發(fā)送消息,直到接收到ACK。心跳消息被周期性地生成68并放到無線堆棧傳出消息隊列中,并等待ACK。(在輸送失敗后,心跳消息不被重新提交,但是在上次發(fā)送的結(jié)果從無線堆棧獲得之前不發(fā)送新的心跳消息)。

現(xiàn)在參考圖6,應(yīng)用層被配置為通過定義應(yīng)用層的不同部分并將其鏈接到一起來滿足模塊化的需求,使得各個部分經(jīng)無線鏈路可更新而不破壞整體應(yīng)用處理。應(yīng)用層實例化72作為應(yīng)用層“機器”的基本構(gòu)建塊的“對象”。實例化的對象使用函數(shù)指針的陣列。每個函數(shù)指針充當“保持器”,例如,保持對應(yīng)函數(shù)的特定狀態(tài)。實例化的對象還包括跟蹤74哪個函數(shù)在機器中運行(即,哪個陣列索引值有效)的特殊的管理器函數(shù)(應(yīng)用層管理器30或“AppMgr”)。

狀態(tài)過渡是通過當前函數(shù)將函數(shù)控制傳遞到下一個適當函數(shù)來實現(xiàn)的,這是通過改變76這個索引值(或者請求AppMgr改變該索引值)進行的。AppMgr通常具有駐留在各個狀態(tài)函數(shù)中而不是AppMgr中的“硬連線”業(yè)務(wù)邏輯,并且各個狀態(tài)是通過用從諸如服務(wù)器或網(wǎng)關(guān)的外部主機傳送的對應(yīng)函數(shù)的新版本替換那個函數(shù)來改變的。對被允許的狀態(tài)過渡進行改變(或者添加新過渡或者刪除舊過渡)是通過利用新函數(shù)替換參與狀態(tài)的函數(shù)以執(zhí)行狀態(tài)改變來實現(xiàn)的。

在一些實現(xiàn)中,AppMgr被配置78為實際改變用于當前狀態(tài)函數(shù)的當前索引值,而在其它實現(xiàn)中,舊函數(shù)直接激活80新函數(shù),而不使用AppMgr()作為中介。AppMgr()具有被允許的過渡的映射82并且檢查84這種映射的違反(即,如果給定的函數(shù)試圖將控制傳遞到另一個函數(shù)并且在這樣做時進行不允許的狀態(tài)過渡)。AppMgr()將禁止改變并引發(fā)異常。AppMgr()中的這種功能有助于驗證對狀態(tài)機行為的改變是有效的并且對狀態(tài)機行為的改變實際發(fā)生,因為錯誤消息將在錯誤的狀態(tài)改變被函數(shù)請求時由AppMgr()生成86。否則,各個狀態(tài)是通過用對應(yīng)函數(shù)的新版本替換那個函數(shù)來改變的88。

示例應(yīng)用

令p_AppFunc[i]是指向第i個應(yīng)用函數(shù)的指針。令N_i是由AppMgr()維護的“當前索引”值。N_i是全局變量,其從一個通過AppMgr()到下一個保持其值。

AppMgr是由調(diào)度器執(zhí)行的根函數(shù),該調(diào)度器諸如在邊緣設(shè)備上運行的操作系統(tǒng)中。AppMgr每幾毫秒完全運行通過。每次AppMgr()運行時,AppMgr執(zhí)行由p_AppFunc[N_i]指向的函數(shù)。在一些實施例中,狀態(tài)機可被實現(xiàn)為陣列的集合,而在更復(fù)雜的實現(xiàn)中,狀態(tài)機被實現(xiàn)為通過鏈表(linked list)鏈接的函數(shù)的集合,以允許狀態(tài)機中數(shù)目不確定的狀態(tài)。

對于一些狀態(tài),可能只需要一個函數(shù)調(diào)用。即,p_AppFunc[N_i]將運行一次,并且然后N_i將改變?yōu)椴煌闹?,比如N_k,使得在AppMgr()的下次調(diào)用時,將進入不同的狀態(tài)(即,p_AppFunc[N_k]將運行)。對于其它狀態(tài),對應(yīng)的函數(shù)可以在N_i改變之前運行許多次。單次運行函數(shù)的例子將是報告的發(fā)送。多次運行函數(shù)的例子將是傳感器過濾器作用于來自傳感器設(shè)備的原始數(shù)據(jù)的活動。

各種函數(shù)p_AppFunc[i]不僅決定何時它們應(yīng)當請求AppMgr()進行狀態(tài)變化,而且這些函數(shù)還指示AppMgr()應(yīng)當從哪些(一個或多個)新函數(shù)中選擇(例如,AppMgr()應(yīng)當從N_i的哪些(一個或多個)新值中選擇),因為AppMgr()被配置為是相當通用的并且因此所有的業(yè)務(wù)邏輯(包括狀態(tài)之間過渡的描述)都包含在p_AppFunc[]函數(shù)中。

同時動作

兩個p_AppFunc[]函數(shù)需要在同時完成不同的任務(wù),例如,同時過濾來自兩個傳感器的數(shù)據(jù)(例如,消除開關(guān)的抖動和過濾來自加速度計的運動數(shù)據(jù))。提供AppMgr的一種一般方法是在一個時間運行兩個狀態(tài)函數(shù)(執(zhí)行這二者,每個通過AppMgr)。另一種方法保持AppMgr簡單并且只需要應(yīng)用狀態(tài)具有對彼此進行調(diào)用并且因此調(diào)用(invoke)彼此的代碼。即,當p_AppFunc[N_i]的執(zhí)行終止時,p_AppFunc[N_i]請求p_AppFunc[N_k]的執(zhí)行,反之亦然。實際上,這兩個應(yīng)用函數(shù)分割A(yù)ppMgr的時間和注意力,而無需AppMgr規(guī)劃時間分享。

p_AppFunc[]的各種版本在網(wǎng)關(guān)和云的可執(zhí)行代碼庫中被維護,并且每個這種函數(shù)可以具有被用來區(qū)分函數(shù)的一個版本與另一個的ID號(并且在許多情況下,函數(shù)的代或版本中的區(qū)別可以小但重要,因此得到完全正確的ID號是重要的)。在給定函數(shù)的內(nèi)部,所請求的對不同函數(shù)或狀態(tài)的改變變得相對于代碼版本非常特定,因此由函數(shù)用來請求狀態(tài)改變(函數(shù)改變)的參數(shù)實際是新函數(shù)的ID號是合邏輯的。

管理版本的簡單途徑是給予應(yīng)用層狀態(tài)函數(shù)它們自己的文件類型。文件類型作為在例如閃速存儲器中的文件索引中的字段之一被維護,使得在啟動(bootup)期間AppMgr()的初始化過程在閃速存儲器中搜索那種類型的文件,并且產(chǎn)生函數(shù)指針的陣列,其中索引i從0到最大值i_max運行。

在這個初始化期間,AppMgr()將每個值i映射到函數(shù)p_AppFunc[i]和那個函數(shù)的對應(yīng)函數(shù)ID,并且產(chǎn)生對于每個函數(shù)ID示出對應(yīng)索引值i以及允許的狀態(tài)過渡的表(從當前函數(shù)可到達的函數(shù)的函數(shù)ID)。

例如,在當前函數(shù)的操作過程中,例如,其函數(shù)ID為例如0x31C7的p_AppFunc[N_i],該函數(shù)可以向AppMgr()返回為0x396B的返回值。這個返回值是運行具有函數(shù)ID“0x396B”的函數(shù)p_AppFunc[]的請求。AppMgr()使用狀態(tài)表來確定運行具有函數(shù)ID“0x396B”的p_AppFunc[]的請求是否是對函數(shù)ID 0x31C7允許的過渡,并且如果是的話,確定什么i值對應(yīng)于函數(shù)0x396B。如果它是有效的請求,則AppMgr()將N_i設(shè)置為等于對應(yīng)于函數(shù)ID“0x396B”的i的新值,并且,在AppMgr()下一次執(zhí)行時,新函數(shù)ID“0x396B”將運行。

在AppMgr()初始化和狀態(tài)表的產(chǎn)生期間,簡單的圖形分析算法運行,以確保每個狀態(tài)是可到達的(沒有狀態(tài)是孤立的)并確保所有狀態(tài)都是單個狀態(tài)機的一部分(即,不存在兩個更小的且完全分開的狀態(tài)集)。狀態(tài)表的有效性還要求沒有狀態(tài)過渡可以涉及到不存在的函數(shù)的過渡。

AppMgr()總是具有當索引N_i未定義時運行的主干(stem)狀態(tài)(空閑狀態(tài)),其具有函數(shù)ID 0x0001。狀態(tài)機的初始化在第二狀態(tài)(初始化狀態(tài))中完成,其具有自己的通用函數(shù),具有函數(shù)ID 0x0000。在任何函數(shù)改變的任何時候(例如,通過一個或多個新函數(shù)的無線下載),AppMgr()將重新運行函數(shù)0x0000,然后過渡到狀態(tài)函數(shù)0x0001。進一步的需求是在完整函數(shù)集中用戶提供的函數(shù)中的一個且僅一個被識別為入口狀態(tài)。這是自動被0x0001調(diào)用的狀態(tài)。從那一點開始用戶提供的函數(shù)請求狀態(tài)改變,作為其返回值的一部分。

返回到圖3,在狀態(tài)圖和上面提到的表中,現(xiàn)在示出利用用于上述示例應(yīng)用的狀態(tài)過渡來填充的表。

上面的例子對于概念的說明的目的是簡單的。但是,也可以使用更復(fù)雜的應(yīng)用集合。例如,假設(shè)在節(jié)點中有兩個“狀態(tài)”–第一個狀態(tài)對應(yīng)于函數(shù)A、B和C在連續(xù)循環(huán)中的永久運行,并且第二個狀態(tài)對應(yīng)于函數(shù)D和E在另一個永久循環(huán)中的運行。在第一狀態(tài)(正常狀態(tài))下,函數(shù)A(“入口函數(shù)”)運行至完成并向AppMgr()請求運行函數(shù)B。當函數(shù)B完成后,它請求函數(shù)C,函數(shù)C又請求函數(shù)A。因為函數(shù)A是入口函數(shù)并且循環(huán)A-B-C-A...是閉環(huán),所以函數(shù)D和E通常不會運行。但是,在特殊條件下,假設(shè)函數(shù)B在它退出時請求函數(shù)D而不是C。于是函數(shù)D和E在循環(huán)(D-E-D-E...)中運行,直到其中一個請求在第一個循環(huán)中的函數(shù)。以這種方式,函數(shù)或函數(shù)集對應(yīng)于狀態(tài),并且在每個狀態(tài)中操作的函數(shù)管理狀態(tài)過渡。

當函數(shù)退出而沒有請求新的函數(shù)時,AppMgr空閑(AppMgrIdle)將簡單地再次運行入口點函數(shù)。在一些情況下,對于非常簡單的節(jié)點,可能沒有入口函數(shù),在這種情況下,空閑函數(shù)將僅僅運行其本身,直到事件啟動的函數(shù)被運行。

返回去參考圖4,假想的(通用)情形,其中有兩個狀態(tài)(具有函數(shù)A、B和C的狀態(tài)1,以及具有函數(shù)D和E的狀態(tài)2)。狀態(tài)1是正常狀態(tài)并具有入口點,函數(shù)A。在特殊情況下,當函數(shù)B請求函數(shù)D而不是函數(shù)C的執(zhí)行時,狀態(tài)1過渡到狀態(tài)2。狀態(tài)2可以存在僅一個周期(D-E-退出)或許多個周期(D-E-D-E-...-退出),但是在這個例子中當退出發(fā)生時,它這樣做而不調(diào)用任何函數(shù)。缺省地,AppMgr的空閑函數(shù)運行函數(shù)A,因為它是入口點函數(shù)。

節(jié)點可以利用任何適當類型的計算設(shè)備(諸如大型機工作站、個人計算機、服務(wù)器、便攜式計算設(shè)備或任何其它類型的能夠執(zhí)行指令、連接到網(wǎng)絡(luò)并通過網(wǎng)絡(luò)轉(zhuǎn)發(fā)數(shù)據(jù)分組的智能設(shè)備)來實現(xiàn)。節(jié)點可以執(zhí)行任何適當?shù)挠嬎銠C程序,以生成、接收和傳送數(shù)據(jù)分組以供在網(wǎng)絡(luò)上使用。

用于健壯的全局自動化網(wǎng)絡(luò)的分布式規(guī)則引擎

對于一些設(shè)備(諸如網(wǎng)關(guān)),上面討論的應(yīng)用層靈活性尤其是從形式為獨立軟件代理或規(guī)則實現(xiàn)模塊(檢查輸入條件并相應(yīng)地作出反應(yīng)的獨立運行的函數(shù))的規(guī)則引擎的使用導(dǎo)出的。見例如在上面提到的臨時申請中討論的路由/規(guī)則消息傳送。

對于其它設(shè)備(諸如相對受限的端節(jié)點),應(yīng)用層敏捷性(僅僅作為一個實現(xiàn)例)從具有動態(tài)加載的“根函數(shù)”的新元素的可編程狀態(tài)機方法產(chǎn)生,其中動態(tài)加載的“根函數(shù)”體現(xiàn)特定的規(guī)則(通常每個根函數(shù)一個規(guī)則)并且由端設(shè)備的操作系統(tǒng)根據(jù)為該系統(tǒng)建立的函數(shù)優(yōu)先級運行。這些函數(shù)可以在小消息(即,不包含設(shè)備的整個可執(zhí)行代碼庫的完全重述(re-statement)的消息)中被傳送到端設(shè)備并且快速安裝和運行。因此,結(jié)果得到的邊緣體系架構(gòu)可以支持頻繁的更新。

上面圖2示出了通用的應(yīng)用層,具有網(wǎng)絡(luò)消息和基于傳感器/處理器外設(shè)的輸入、本地數(shù)據(jù)存儲器和列表、配置管理函數(shù)、規(guī)則集以及報告生成能力。在圖1中,分布式規(guī)則引擎由在個別節(jié)點或節(jié)點集合處的圓圈元素“R”標示。圖1中所示的三層當中每一層(例如,云/企業(yè)、網(wǎng)關(guān)和邊緣設(shè)備)具有應(yīng)用層。到應(yīng)用層的輸入包括來自網(wǎng)絡(luò)層的解析的消息和處理器外設(shè)中斷以及輪詢的傳感器/外設(shè)輸入。

應(yīng)用管理過程充分表征輸入,以應(yīng)用規(guī)定配置的改變、所存儲的數(shù)據(jù)和/或突如其來的消息生成的規(guī)則。但是,在一些設(shè)備中,規(guī)則引擎是在個別節(jié)點或節(jié)點集合處的分布式規(guī)則引擎(由圓圈元素“R”標示,上面提到)。這些分布式規(guī)則引擎涉及從一個設(shè)備的輸出傳遞到另一個設(shè)備的輸入的消息的生成(即,動作/延期)或者規(guī)則可以基于輸入的值或幾個輸入的值或者幾個輸入、其它數(shù)據(jù)以及節(jié)點的當前配置的組合來確定動作。

現(xiàn)在參考圖7,在圖1的網(wǎng)絡(luò)中執(zhí)行的某些規(guī)則被分層或列在下級或被分布。規(guī)則可以在上面討論的層的第一層的應(yīng)用層中開始執(zhí)行,并且那個執(zhí)行的結(jié)果產(chǎn)生或?qū)е乱?guī)則在圖1中討論的三層中不同的一層的應(yīng)用層中的執(zhí)行。

在云/企業(yè)層12a中的服務(wù)器14在服務(wù)器應(yīng)用層(未示出)中產(chǎn)生90規(guī)則的重復(fù)件或修改版本。在云/企業(yè)層12a中的這些服務(wù)器14在駐留在中間層12b中的網(wǎng)關(guān)設(shè)備16中的應(yīng)用層(未示出)當中分布92規(guī)則的這些復(fù)制或修改版本。同樣,上層層通過向邊緣層設(shè)備18、20分發(fā)(也以92示出)規(guī)則以執(zhí)行來將工作委托給邊緣應(yīng)用層12c。

在接收層,網(wǎng)關(guān)/邊緣設(shè)備接收這種規(guī)則的重復(fù)或修改版本以便執(zhí)行,這些設(shè)備中的應(yīng)用層通過改變索引(或請求AppMgr()改變索引)將函數(shù)控制94轉(zhuǎn)移到接收到的規(guī)則并驗證過渡,如以上對圖6所討論的。在接收層中,接收到這種規(guī)則的重復(fù)或修改版本的網(wǎng)關(guān)/邊緣設(shè)備在接收層處執(zhí)行規(guī)則的重復(fù)或修改版本并且報告形式的結(jié)果被生成并被返回到由規(guī)則確定的層。邊緣層12c的應(yīng)用層中的規(guī)則可以被刪除或者由從其它層96a分布的規(guī)則的動作暫時抑制。

規(guī)則可以采取各種邏輯形式,包括在下面再現(xiàn)的相對簡單的“如果-則(if-then)”形式96b,其中,如果輸入x被觀察到,則產(chǎn)生特定條目并生成報告的規(guī)則被觸發(fā):

“如果x輸入被觀察到,則產(chǎn)生本地數(shù)據(jù)條目y并生成報告z?!?/p>

此外,一些規(guī)則可能涉及復(fù)合輸入,諸如以下的如果-則規(guī)則,其經(jīng)時間段x對輸入a、b、c進行操作,以觸發(fā)動作,諸如生成報告。

“如果a、b和c在時間x內(nèi)已經(jīng)發(fā)生,則生成報告y”

規(guī)則也可以被級聯(lián),以便通過第一執(zhí)行規(guī)則調(diào)用第二規(guī)則97a-97e,在相同或不同的引擎上連續(xù)執(zhí)行,諸如其中當規(guī)則1在時間段x內(nèi)被滿足時,規(guī)則l(或AppMgr())激活規(guī)則2,以便在規(guī)則2在時間段x中被滿足的情況下生成報告的例子。

“如果規(guī)則1在時間x內(nèi)被滿足,則激活規(guī)則2;如果規(guī)則2在時間x內(nèi)被滿足,則生成報告y”

規(guī)則可以是形式上簡單的但仍涉及相對復(fù)雜的計算,諸如涉及來自神經(jīng)網(wǎng)絡(luò)的運算。

“如果具有給定輸入50的神經(jīng)網(wǎng)絡(luò)的輸出超過閾值x,則生成報告y”。

分布式規(guī)則引擎可以利用任何適當類型的計算設(shè)備(諸如大型機工作站、個人計算機、服務(wù)器、便攜式計算設(shè)備或任何其它類型能夠執(zhí)行指令、連接到網(wǎng)絡(luò)并通過網(wǎng)絡(luò)轉(zhuǎn)發(fā)數(shù)據(jù)分組的智能設(shè)備)來實現(xiàn)。規(guī)則引擎可以執(zhí)行任何適當?shù)挠嬎銠C程序,以生成、接收和傳送數(shù)據(jù)分組以供在網(wǎng)絡(luò)上使用。

圖8示出了具有關(guān)于圖1所述的WSN的特征并且具有本文所述的各種功能的安全系統(tǒng)的例子。如圖8中所示,相關(guān)處理從某些受限節(jié)點接收輸入(但這些節(jié)點也可以是全功能節(jié)點)。這些輸入可以包括憑證信息和視頻信息,并且相關(guān)處理可以產(chǎn)生經(jīng)網(wǎng)絡(luò)發(fā)送的相關(guān)結(jié)果。背景管理處理從某些受限節(jié)點接收輸入(但這些節(jié)點也可以是全功能節(jié)點),例如,憑證信息以及視頻和分組信息,并且對經(jīng)網(wǎng)絡(luò)發(fā)送的結(jié)果執(zhí)行背景處理。網(wǎng)絡(luò)支持緊急出口指示器;緊急攝像頭以及分布式規(guī)則處理和規(guī)則引擎/消息處理的操作。范圍擴展器與例如網(wǎng)關(guān)一起使用,并且,如圖所示,實時位置系統(tǒng)從各種傳感器(例如,受限的類型)接收輸入。服務(wù)器經(jīng)由云計算配置接口到WSN以及一些網(wǎng)絡(luò)的部分可以作為子網(wǎng)運行。

除了在傳感器的范圍之內(nèi)的區(qū)域中檢測到某物的指示,傳感器還提供可被用來評估那個指示可以是什么的詳細附加信息,而無需要求入侵檢測面板執(zhí)行對特定傳感器的輸入的廣泛分析。

例如,運動檢測器可被配置為分析在房間內(nèi)移動的溫暖主體的熱簽名,以確定該主體是否是人或?qū)櫸锏闹黧w。那個分析的結(jié)果將是傳達關(guān)于檢測到的主體的信息的消息或數(shù)據(jù)。因此,各種傳感器被用來以適當?shù)慕M合感測聲音、運動、振動、壓力、熱、圖像,等等,以檢測在入侵檢測面板的真實或通過驗證的警報條件。

辨別軟件可被用來區(qū)分作為人的對象和作為動物的對象;進一步的面部辨別軟件可以內(nèi)置到視頻攝像機中并被用來驗證周邊入侵是辨別出的被授權(quán)的個人的結(jié)果。這種視頻攝像機將包括處理器和存儲器和識別軟件,以處理攝像機(捕獲的圖像)的輸入并產(chǎn)生元數(shù)據(jù),以傳達關(guān)于由視頻攝像機捕獲的個人的辨別或缺乏對其的辨別的信息。處理還可以作為替代地或另外地包括關(guān)于在由視頻攝像機捕獲/監(jiān)控的區(qū)域中的個人的特性的信息。因此,依賴于具體情況,信息將或者是從對傳感器的輸入執(zhí)行給出周邊入侵的特性的增強的分析的增強的運動檢測器和視頻攝像機接收到的元對象或者是從尋求建立對象的辨別的非常復(fù)雜的處理得到的元數(shù)據(jù)。

傳感器設(shè)備可以集成多個傳感器,以生成更復(fù)雜的輸出,使得入侵檢測面板可以利用其處理能力通過建立環(huán)境的虛擬圖像或簽名來執(zhí)行分析環(huán)境的算法,以便作出關(guān)于損害的有效性的智能決定。

存儲器存儲由入侵檢測面板的處理器使用的程序指令和數(shù)據(jù)。存儲器可以是隨機存取存儲器和只讀存儲器的適當組合,并且可以托管合適的程序指令(例如,固件或操作軟件),以及配置和操作數(shù)據(jù)并且可以被組織為文件系統(tǒng)或其他。所存儲的程序指令可以包括用于認證一個或多個用戶的一個或多個認證過程。存儲在面板的存儲器中的程序指令還可以存儲軟件組件,從而允許網(wǎng)絡(luò)通信和到數(shù)據(jù)網(wǎng)絡(luò)的連接的建立。軟件組件可以例如包括因特網(wǎng)協(xié)議(IP)棧,以及用于各種接口的驅(qū)動器組件,包括接口和小鍵盤。適于建立連接并跨網(wǎng)絡(luò)進行通信的其它軟件組件對于普通技術(shù)人員將是顯而易見的。

存儲在存儲器中的程序指令,連同配置數(shù)據(jù)一起,可以控制面板的整體操作。

監(jiān)控服務(wù)器包括一個或多個處理設(shè)備(例如,微處理器)、網(wǎng)絡(luò)接口和存儲器(都未示出)。監(jiān)控服務(wù)器可以物理地采取機架安裝卡的形式并且可以與一個或多個操作者終端(未示出)通信。示例監(jiān)控服務(wù)器是SURGARDTM SG-System III Virtual,或類似的系統(tǒng)。

每個監(jiān)控服務(wù)器的處理器充當用于每個監(jiān)控服務(wù)器的控制器,并且與每個服務(wù)器通信并控制其整體操作。處理器可以包括存儲器,或者與其通信,其中存儲器存儲處理器可執(zhí)行指令,從而控制監(jiān)控服務(wù)器的整體操作。合適的軟件使每個監(jiān)控服務(wù)器能夠接收警報并導(dǎo)致適當?shù)膭幼靼l(fā)生。軟件可以包括合適的因特網(wǎng)協(xié)議(IP)棧和應(yīng)用/客戶端。

中央監(jiān)控站的每個監(jiān)控服務(wù)器可以與IP地址和(一個或多個)端口關(guān)聯(lián),它通過其與控制面板和/或用戶設(shè)備進行通信,以處理警報事件等。監(jiān)控服務(wù)器地址可以是靜態(tài)的,并且因此總是對入侵檢測面板識別監(jiān)控服務(wù)器中特定的一個。作為替代,動態(tài)地址可以被使用,并且與通過域名服務(wù)解析的靜態(tài)域名相關(guān)聯(lián)。

網(wǎng)絡(luò)接口卡與網(wǎng)絡(luò)接口,以接收進入的信號,并且可以例如采取以太網(wǎng)網(wǎng)絡(luò)接口卡(NIC)的形式。服務(wù)器可以是計算機、瘦客戶端,等等,接收到的代表警報事件的數(shù)據(jù)被傳遞到其,用于由人類操作員處理。監(jiān)控站還可以包括或能訪問在數(shù)據(jù)庫引擎的控制下包括數(shù)據(jù)庫的訂戶數(shù)據(jù)庫。數(shù)據(jù)庫可以包含對應(yīng)于到面板(就像由監(jiān)控站提供服務(wù)的面板)的各個訂戶設(shè)備/過程的條目。

本文描述的過程的全部或部分及其各種修改(以下稱為“過程”)可以至少部分地經(jīng)由計算機程序產(chǎn)品(即,有形地體現(xiàn)在一個或多個是機器的有形的物理硬件存儲設(shè)備和/或機器可讀存儲設(shè)備中的計算機程序)來實現(xiàn),用于由數(shù)據(jù)處理裝置(例如可編程處理器、計算機或多個計算機)執(zhí)行,或者控制其操作。計算機程序可以用任何形式的編程語言編寫,該編程語言包括編譯或解釋語言,并且它可以以任何形式部署,包括作為獨立程序或作為模塊、組件、子例程或適合在計算環(huán)境中使用的其它單元。計算機程序可被部署成在一個計算機上或在一個站點或者跨多個站點分布并由網(wǎng)絡(luò)互連的多個計算機上執(zhí)行。

與實現(xiàn)過程相關(guān)聯(lián)的動作可以由執(zhí)行一個或多個計算機程序以執(zhí)行校準過程的功能的一個或多個可編程處理器來執(zhí)行。過程的全部或部分可被實現(xiàn)為專用邏輯電路系統(tǒng),例如FPGA(現(xiàn)場可編程門陣列)和/或ASIC(專用集成電路)。

舉例來說,適于計算機程序的執(zhí)行的處理器包括通用和專用微處理器,以及任何類型的數(shù)字計算機的任何一個或多個處理器。一般而言,處理器將從只讀存儲區(qū)或隨機存取存儲區(qū)域或兩者接收指令和數(shù)據(jù)。計算機(包括服務(wù)器)的元件包括用于執(zhí)行指令的一個或多個處理器和用于存儲指令和數(shù)據(jù)的一個或多個存儲區(qū)域設(shè)備。一般而言,計算機還將包括一個或多個機器可讀存儲介質(zhì),諸如用于存儲數(shù)據(jù)的大容量存儲設(shè)備,例如磁、磁光盤或光盤,或者操作耦合到其以便從其接收數(shù)據(jù),或?qū)?shù)據(jù)傳送到其,或兩者兼有。

適于體現(xiàn)計算機程序指令和數(shù)據(jù)的有形物理硬件存儲設(shè)備包括所有形式的非易失性儲存器,舉例來說,包括半導(dǎo)體存儲區(qū)域設(shè)備,例如EPROM、EEPROM和閃存存儲區(qū)域設(shè)備;磁盤,例如內(nèi)部硬盤或可移除盤;磁-光盤;及CD-ROM和DVD-ROM盤,以及易失性計算機存儲器,例如,諸如靜態(tài)和動態(tài)RAM之類的RAM以及可擦除存儲器,例如閃速存儲器。

此外,附圖中繪出的邏輯流不要求所示出的特定次序或順序次序才能達到期望的結(jié)果。此外,可以提供其它動作,或者動作可以從所描述的流程被去除,并且其它組件可被添加到所描述的系統(tǒng)或從所描述的系統(tǒng)中去除。同樣,附圖中所繪出的動作可以由不同的實體執(zhí)行或者被合并。

本文所述的不同實施例的元素可以組合,以形成未在上面具體闡述的其它實施例。元素可被排除在本文所述的過程、計算機程序、網(wǎng)頁等等之外,而不會不利地影響它們的操作。此外,各種單獨的元素可被組合成一個或多個獨立的元素,以執(zhí)行本文所述的功能。

本文未具體描述的其它實現(xiàn)也在以下權(quán)利要求書的范圍之內(nèi)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1