用于使事件同步的設(shè)備和方法
【專利摘要】實施方式涉及用于使第一事件(202)和第二事件(204)同步的方法和設(shè)備(200),其中,所述第一事件(202)具有基于公共時鐘信號與所述第一事件(202)相關(guān)聯(lián)的第一原始事件定時值,所述第二事件(204)具有基于所述公共時鐘信號與所述第二事件(204)相關(guān)聯(lián)的第二原始事件定時值,所述第一事件和所述第二事件(202;204)行進通過分布式計算系統(tǒng)(300;700)的不同路徑,并且經(jīng)歷不同的延遲,并且其中,至少一個輸出事件(206)將由事件檢測器(208)基于所述第一事件和所述第二事件(202;204)來確定。所述設(shè)備(200)包括:與所述事件檢測器(208)相關(guān)聯(lián)的延遲補償器(210),所述延遲補償器(210)具有用于接收所述第一事件和所述第二事件(202;204)的輸入端(212)并且具有用于將所接收到的所述第一事件和所述第二事件的中繼版本(202’;204’)轉(zhuǎn)發(fā)到相關(guān)聯(lián)的事件檢測器(208)的輸出端(214),其中,所述延遲補償器(210)可操作以基于所經(jīng)歷的延遲并且基于相關(guān)聯(lián)的第一和第二原始事件定時值將所述第一事件和所述第二事件(202;204)中繼到相關(guān)聯(lián)的事件檢測器(208)。
【專利說明】用于使事件同步的設(shè)備和方法
[0001]本發(fā)明的實施方式一般地涉及數(shù)據(jù)網(wǎng)絡(luò),并且特別地,涉及用于使經(jīng)由不同的網(wǎng)絡(luò)路徑到達事件檢測器的事件同步的設(shè)備和方法。
【背景技術(shù)】
[0002]傳感器網(wǎng)絡(luò)(諸如,例如無線傳感器網(wǎng)絡(luò))具有廣泛的應(yīng)用。例如,各種技術(shù)的無線傳感器網(wǎng)絡(luò)可以被用于定位目的,諸如定位人類和/或其它對象。在這里,“定位”意指地理定位或位置的檢測或確定。一些專門的定位或位置跟蹤系統(tǒng)可以被用于在體育事件中定位選手和其它對象(例如球),所述體育事件諸如例如英式足球、美式足球、橄欖球、網(wǎng)球
坐寸ο
[0003]在使用收集到的選手和/或球的地理位置或定位數(shù)據(jù)情況下,可得到與整個體育事件(例如英式足球比賽)相關(guān)的或與各個隊伍或選手相關(guān)的統(tǒng)計信息。這樣得到的統(tǒng)計信息可能因各種原因而是有趣的。一方面,存在各種商業(yè)利益,因為特定統(tǒng)計量和它們的分析對于在露天大型體育場中和/或在家里的電視機前面的觀眾來說可以是特別相關(guān)的。從而,提供特定統(tǒng)計量可以提高對體育事件的更大興趣。另一方面,從原始定位數(shù)據(jù)得到的統(tǒng)計數(shù)據(jù)也可以被用于訓練目的。在這里,可以分析自己的隊伍的對手和/或行為以及各個選手的表現(xiàn)和/或健康條件。
[0004]前述的定位或位置跟蹤系統(tǒng)可以是基于各種技術(shù)的。例如,可以基于無線無線電信號和/或磁場的評估來確定位置信息。出于這種目的,一般地還被表不為傳感器的發(fā)射器和/或接收器可以被放置在要被系統(tǒng)定位的各個對象(例如選手、球等)處。對應(yīng)的接收和/或發(fā)射裝置還可以被安裝到在感興趣的地理區(qū)域(如例如,英式足球場)附近的預定位置。信號強度、信號傳播時間和/或信號相位的評估幾個可能的技術(shù)替代方案然后可以導致指示各個選手或?qū)ο笤诓煌瑫r刻的地理位置的傳感器數(shù)據(jù)流。典型地,地理位置數(shù)據(jù)樣本與指示在哪一個時刻對象位于在哪一個地理位置處的時間戳相關(guān)聯(lián)。采用這種組合的信息,除包括例如X坐標、I坐標以及Z坐標的位置數(shù)據(jù)之外,也可以提供運動數(shù)據(jù)(例如速率(速度)、加速度等)。在本說明書的續(xù)篇中,由定位傳感器系統(tǒng)所傳送的位置和運動數(shù)據(jù)還將被稱為(原始)傳感器數(shù)據(jù)。
[0005]在無線跟蹤系統(tǒng)的特定示例中,人或?qū)ο罂梢匝b配有微型發(fā)射器,所述微型發(fā)射器可以被嵌入在鞋襪、制服以及球中并且其信號被放置在觀測下的區(qū)域附近的許多天線拾取。接收器單元處理所收集到的信號并且確定它們的到達時間(ToA)?;趥鞑パ舆t差的計算,每個發(fā)射器的位置然后被連續(xù)地確定。此外,與無線跟蹤系統(tǒng)一起集成的計算機網(wǎng)絡(luò)可以分析位置或傳感器數(shù)據(jù)以便檢測特定事件。在2.4GHz波段下操作,跟蹤系統(tǒng)是全世界免授權(quán)的。
[0006]基于從定位或位置跟蹤系統(tǒng)輸出的原始傳感器數(shù)據(jù)流,可以檢測到所謂的“事件”。從而事件可以被定義為在一時間點感興趣的瞬時發(fā)生。通常,事件與能夠被感測到的相關(guān)量的分布中的改變相關(guān)聯(lián)。事件可以是本原事件,其是直接地基于跟蹤系統(tǒng)的傳感器數(shù)據(jù)(運動數(shù)據(jù))的,或復合事件,其是替代地基于先前檢測到的其它事件的。也就是說,復合事件不直接地取決于原始傳感器數(shù)據(jù)而是取決于其它事件。在球賽應(yīng)用中,事件例如可以是“選手X擊中球”或“選手X占有球”。更復雜的事件例如可以是“越位”或“犯規(guī)”。
[0007]在過去幾年里,基于底層傳感器數(shù)據(jù)流的事件的檢測已經(jīng)增加了在數(shù)據(jù)庫和分布式系統(tǒng)群體中的興趣。現(xiàn)今廣泛且數(shù)目日益增長的應(yīng)用(包括如網(wǎng)絡(luò)監(jiān)控、電子商務(wù)、保健、金融分析以及安全或前述的體育事件監(jiān)視的應(yīng)用)依賴處理對理想地采取事件的時間排序系列的形式的數(shù)據(jù)流的查詢的能力。如在大量供應(yīng)的傳感器數(shù)據(jù)和/或事件不再能夠被人類捕獲或者處理的許多應(yīng)用一樣,事件檢測表示原始傳感器數(shù)據(jù)和/或事件在無需人為干預的情況下的完全自動化的處理。例如,如果選手和體育對象(例如,球)的高速變化被預期到,則原始傳感器(定位或位置跟蹤)數(shù)據(jù)必須由底層(無線)傳感器網(wǎng)絡(luò)以足夠高的數(shù)據(jù)速率來確定。附加地,如果存在大量的選手和/或?qū)ο?例如,在存在22個選手和一球的英式足球中)要被跟蹤,則特別地相對于實時事件處理要求,每秒總的地理位置和運動數(shù)據(jù)樣本的數(shù)量能夠變得過高。
[0008]從而,即使原始傳感器和/或事件數(shù)據(jù)流被完全自動化地分析并且用信號發(fā)送,也可能仍然存在多得太多的信息,其全面可能甚至不是任何感興趣的。在將來這個問題將甚至變壞,因為越來越多的裝置將裝配有傳感器以及將它們確定的傳感器數(shù)據(jù)(例如,由像智能電話這樣的無線裝置所確定的天氣或溫度數(shù)據(jù))提供給諸如因特網(wǎng)的公用網(wǎng)絡(luò)的可能性。由于這個原因,要被進一步處理成感興趣的特定事件的傳感器數(shù)據(jù)的數(shù)量將迅速地增長。自動化事件檢測可以通過設(shè)法逐條地聚合原始傳感器數(shù)據(jù)并且設(shè)法確定更抽象的且相互依賴的事件來為此提供補救,這可以傳送比原始傳感器數(shù)據(jù)它本身多得多的信息。例如,除前述的英式足球相關(guān)示例之外,這樣確定的事件能夠包括“汽車X位于路口 Y處”或“交通在道路X上堵塞”。
[0009]在自動化事件檢測中出現(xiàn)的問題是用于對可能整體地并行的傳感器和/或事件數(shù)據(jù)流執(zhí)行事件檢測所要求的計算能力-并且這一切都在至少幾乎實時的處理要求下。這個問題可以由事件檢測器的并行化來解決,所述事件檢測器例如可以在計算機網(wǎng)絡(luò)的不同的網(wǎng)絡(luò)節(jié)點(其例如可以經(jīng)由以太網(wǎng)進行通信)上運行。從而事件檢測器根據(jù)用戶的事件規(guī)范自動地從事件或傳感器數(shù)據(jù)流中提取感興趣的特定事件。各個事件檢測器可以分布在數(shù)據(jù)網(wǎng)絡(luò)的不同的網(wǎng)絡(luò)節(jié)點,其中不同的事件檢測器使用事件和/或傳感器數(shù)據(jù)進行通信從而使用不同的網(wǎng)絡(luò)路線和分支而行進通過網(wǎng)絡(luò)。從而,可以根據(jù)像例如UDP(用戶數(shù)據(jù)報協(xié)議)、TCP (傳輸控制協(xié)議)/IP (網(wǎng)際協(xié)議)等這樣的一些傳輸協(xié)議在數(shù)據(jù)分組中傳輸原始傳感器數(shù)據(jù)和/或事件。然而,這個構(gòu)思引起與網(wǎng)絡(luò)內(nèi)事件數(shù)據(jù)流的同步相關(guān)的新的問題。在沒有適合的對策的情況下,在網(wǎng)絡(luò)中的各個傳感器和/或事件數(shù)據(jù)流對于彼此而言不是時間同步的,這意味著各個事件可以在它們的原始時間順序之外到達事件檢測器并且由此導致假檢測結(jié)果。
[0010]讓我們考察示例性英式足球場景,其中多個并行自動地操作的事件檢測器被假定檢測從選手A到選手B的傳球。為了檢測所述“傳球”事件,以下前面的事件序列是要求的:
[0011]1.“選手A占有球”,
[0012]2.“選手A踢球”,
[0013]3.“球離開選手A”,
[0014]4.“球來到選手B附近”,[0015]5.“選手B擊中球”
[0016]對于事件“選手X踢球”的事件檢測可以是基于事件序列“選手X靠近球”和檢測到的球的加速度峰值的。存在用于為所述事件“選手X踢球”建立自動化事件檢測器的以下替代方案。
[0017]我們可以等待各個要求的事件,一個接著一個。如果我們已按正確的(時間)順序看到所有所要求的事件(在這里,為了簡單起見任何中止準則被忽視),則我們能夠說我們已看到或者經(jīng)歷了傳球。然而,對于復雜的應(yīng)用,所有所要求的事件的檢測由于事件檢測器的并行化而未必發(fā)生在單個網(wǎng)絡(luò)節(jié)點或CPU(中央處理單元)上。由于這個原因,未必保證各個要求的事件按正確要求的順序到達事件檢測器。這例如可以是由于網(wǎng)絡(luò)抖動、變化的CPU負荷或增加的網(wǎng)絡(luò)負荷而導致的。
[0018]因此,我們能夠設(shè)法緩沖事件并且然后搜索緩沖器以得到正確的事件模式。但應(yīng)該使用哪一個緩沖器尺寸呢?如果我們說傳球必須在最大5秒鐘內(nèi)發(fā)生,則我們將必須考慮在第一相關(guān)事件之后在最大5秒鐘的時間段內(nèi)的事件,直到我們已檢測到傳球為止或者直到我們中止為止。然而,同樣有可能最后一個相關(guān)事件是計算上相當復雜的,這要求小規(guī)模的附加的緩沖器。但這個附加的緩沖器的尺寸是什么呢?并且與要求“傳球”事件作為輸入事件的復合事件檢測器相關(guān)的緩沖器尺寸是什么呢?事件信令延遲取決于整個最終的系統(tǒng)/網(wǎng)絡(luò)配置(即,事件檢測器的分布)以及網(wǎng)絡(luò)負荷和CPU負荷。最后的系統(tǒng)配置和負荷場景均不可以在編譯時被預見到。
[0019]大多數(shù)現(xiàn)有的事件檢測系統(tǒng)不考慮前述的事件信令延遲問題,因為在許多情況下,事件處理或傳播延遲不是相關(guān)的。然而,特別對于諸如在金融或位置跟蹤場景中的高度復雜的實時事件檢測系統(tǒng)來說,情況不是這樣的。
[0020]以下英式足球相關(guān)的示例在頻繁地要求的“越位”事件檢測場景的基礎(chǔ)上例示了事件延遲問題,其在圖1中被示意性地圖示。
[0021]選手100將球110向前傳給他的隊友120。在傳球的實際(真實)時間,S卩,球110經(jīng)歷加速度擺動或峰值(見圖1,左邊)所在的時間,選手120位于越位位置中差幾厘米。因此,將必須中斷比賽。
[0022]然而,為了能夠區(qū)分第一選手100的直接傳球或控球,僅當球120實際上離開第一選手100時可以檢測從第一選手100到第二選手120的傳球。由于傳感器數(shù)據(jù)的有限數(shù)據(jù)速率,這個區(qū)分判定可以花費至少幾個毫秒的附加的“自然”延遲。然而,在這個自然延遲之后,第二選手120可以不再處于越位位置中(見圖1,右邊)。
[0023]在這里,只考慮參與的自動地生成的事件的時間順序不足以做出越位判定。而且,它們必須被排序。不僅計算時間或網(wǎng)絡(luò)傳播延遲是相關(guān)的,而且必須考慮有原因的實時變化。所檢測到的傳球事件的時間戳必須被重置到過去,即其中球經(jīng)歷加速度峰值的時刻。
[0024]由于事件的時間順序?qū)τ谡_的跟隨判定或事件的重要性,期望確保要被事件檢測器處理的事件的原始時間順序。
【發(fā)明內(nèi)容】
[0025]本發(fā)明的實施方式可以基于如下的發(fā)現(xiàn),即,經(jīng)由不同的網(wǎng)絡(luò)路徑到達事件檢測器并且因此經(jīng)歷不同的處理和/或傳輸延遲的事件的原始時間順序的恢復可以通過在將事件轉(zhuǎn)發(fā)或中繼到后續(xù)的事件檢測器之前適當?shù)匮舆t事件來實現(xiàn)。事件被中繼到后續(xù)的事件檢測器的時間可以是基于相應(yīng)事件的原始時間戳以及由后續(xù)事件檢測器為了確定其輸出事件所要求的所有輸入事件的處理和/或傳播延遲的。
[0026]出于這種目的,本發(fā)明的實施方式提供了一種用于使第一事件和第二事件同步的設(shè)備。所述第一事件具有基于公共時鐘信號與所述第一事件相關(guān)聯(lián)的第一事件定時值,所述第二事件具有基于所述公共時鐘信號與所述第二事件相關(guān)聯(lián)的第二事件定時值。所述第一事件和所述第二事件行進通過分布式計算系統(tǒng)的不同路徑,并且分別經(jīng)歷不同的延遲。至少一個輸出事件將由事件檢測器基于所述第一事件和所述第二事件來確定。根據(jù)實施方式,用于同步的所述設(shè)備包括:與所述事件檢測器相關(guān)聯(lián)的延遲補償器,所述延遲補償器包括用于接收所述第一事件和所述第二事件的輸入端并且具有用于將所接收到的所述第一事件和所述第二事件的中繼版本轉(zhuǎn)發(fā)到相關(guān)聯(lián)的事件檢測器的輸出端。所述延遲補償器可操作以基于所經(jīng)歷的延遲并且基于相關(guān)聯(lián)的第一和第二事件定時值將所述第一事件和所述第二事件中繼到相關(guān)聯(lián)的事件檢測器,所述第一和第二事件定時值分別還可以被稱為反映原始事件發(fā)生時間的事件時間戳。
[0027]用于同步的所述設(shè)備還可以被稱為同步設(shè)備,可以實現(xiàn)在分布式計算系統(tǒng)的節(jié)點上或節(jié)點內(nèi),分布式系統(tǒng)可以是例如分布式計算機網(wǎng)絡(luò)以及多核處理器。在計算機網(wǎng)絡(luò)情況下,節(jié)點(即,網(wǎng)絡(luò)節(jié)點)可以是例如經(jīng)由以太網(wǎng)與其它節(jié)點進行通信的計算機裝置或其處理單元(例如CPU)。而且,同步設(shè)備與可以優(yōu)選地在相同的硬件節(jié)點上運行或?qū)崿F(xiàn)的事件檢測器相關(guān)聯(lián)。因此,同步設(shè)備還可以被理解為用于將輸入事件以正確的順序轉(zhuǎn)發(fā)到相關(guān)聯(lián)的事件檢測器的調(diào)度器。在分布式計算系統(tǒng)的節(jié)點上執(zhí)行的所有系統(tǒng)或網(wǎng)絡(luò)節(jié)點和/或事件檢測器具有相同的公共時基,該公共時基可以從公共時鐘信號導出。事件的發(fā)生或檢測時間,即,相應(yīng)的事件定時值或時間戳,從對于分布式計算系統(tǒng)的所有節(jié)點有效的公共時鐘信號導出。
[0028]事件可以是僅基于(原始)傳感器數(shù)據(jù)或從(原始)傳感器數(shù)據(jù)導出的本原事件或基于本原事件的復合事件。由此,根據(jù)一些實施方式,傳感器數(shù)據(jù)可以源于耦合到分布式系統(tǒng)的傳感器網(wǎng)絡(luò),其中,傳感器網(wǎng)絡(luò)可以特別地是無線位置跟蹤網(wǎng)絡(luò)或系統(tǒng)。在該情形中,傳感器數(shù)據(jù)可以包括運動數(shù)據(jù),運動數(shù)據(jù)包括地理位置數(shù)據(jù)樣本、速度數(shù)據(jù)樣本、和/或加速度數(shù)據(jù)樣本,其中,各個數(shù)據(jù)樣本分別對應(yīng)于預定的樣本時間間隔。因此,根據(jù)一些實施方式,第一和第二事件可以基于源于地理定位系統(tǒng)的并行傳感器數(shù)據(jù)流。而且,第一和第二事件可以已經(jīng)發(fā)生或已經(jīng)在分布式計算系統(tǒng)的不同的計算節(jié)點上檢測到,使得它們必須沿著不同的系統(tǒng)路徑傳播以到達延遲補償器的節(jié)點(延遲補償器正在其上運行或?qū)崿F(xiàn)在其中的計算節(jié)點)。
[0029]根據(jù)一些實施方式,延遲補償器可以包括緩沖器存儲器,用于在將第一和第二事件中的至少一個事件中繼或轉(zhuǎn)發(fā)到其相關(guān)聯(lián)的事件檢測器以用于進一步處理之前緩存和延遲該至少一個事件。在第一和第二事件以與第一和第二事件的原始時間發(fā)生或檢測順序(可以從它們的相關(guān)聯(lián)的原始事件時間戳導出)不對應(yīng)的時間接收順序到達延遲補償器的輸入端的情況下,延遲補償器可操作以將第一和第二事件兩者中繼到相關(guān)聯(lián)的事件檢測器,使得經(jīng)中繼的第一和第二事件的時間順序?qū)?yīng)于它們的原始時間發(fā)生順序。由此,該原始時間發(fā)生順序涉及其中第一和第二事件在到達同步設(shè)備的延遲補償器之前已經(jīng)原始地發(fā)生或已經(jīng)被檢測到的順序。
[0030]為了恢復可能已經(jīng)無序地到達延遲補償器的輸入端的第一和第二事件的原始時間順序,延遲補償器可操作以分別地中繼第一和第二事件,使得接收到的第一和第二事件的中繼版本之間的相對時間差對應(yīng)于第一和第二事件之間的原始相對時間差。這可以通過基于第一和第二原始事件定時值,即,基于第一和第二原始事件時間戳,以及針對相關(guān)聯(lián)的后續(xù)事件檢測器的所有事件被延遲的公共延遲值而確定用于將第一和第二事件中繼或轉(zhuǎn)發(fā)到相關(guān)聯(lián)的事件檢測器的輸出時間實例來實現(xiàn)。
[0031]為了保證最小的要求的公共延遲值,即,為了實現(xiàn)(至少)兩個事件的盡可能快的延遲,延遲補償器可操作以基于第一和第二事件定時值并且基于第一和第二事件的最大延遲而確定用于將第一和第二事件中繼到相關(guān)聯(lián)的事件檢測器的輸出時間。由此,事件的延遲可能是由于若干個原因引起的。例如,在分布式計算系統(tǒng)內(nèi)的事件的延遲可能是由于在不同的網(wǎng)絡(luò)路徑上的不同的抖動條件、或由于不同的處理持續(xù)時間和/或不同的網(wǎng)絡(luò)延遲引起的。換句話說,由于不同的抖動條件、不同的處理持續(xù)時間和/或不同的網(wǎng)絡(luò)延遲,第一事件和第二事件在延遲補償器的輸入端處的接收順序可以與第一事件和第二事件的原始發(fā)生順序不同。
[0032]根據(jù)本發(fā)明的一些實施方式,延遲補償器可操作以基于第一事件和第二事件在延遲補償器的接收事件并且基于反映事件發(fā)生的它們的各自的相關(guān)聯(lián)的事件定時值而分別測量或確定第一事件和第二事件的事件延遲。當利用Λ (.)表示事件ej(i = 1,2,...)的從其發(fā)生或檢測時間= I, 2,…)到延遲補償器的輸入端的傳播或信令延遲時,根據(jù)一些實施方式,延遲補償器可操作以基于如下的等式而確定用于中繼第一事件和第二事件到后續(xù)事件檢測器 的輸出時間實例Uui (i = 1,2,…),
[0033]tout,el,e2 = t 事件,el,e2+max(A (e!),Λ (e2)), (I)
[0034]其中,max(.)表示最大值運算符。即,延遲補償器可操作以確定從與第一事件和第二事件相關(guān)聯(lián)的事件延遲的集獲得的最大延遲值。在存在多于兩個的要由延遲補償器的實施方式中繼的事件的情形中,當然,延遲補償器可以通過從與該多于兩個的事件相關(guān)聯(lián)的事件延遲的集中獲取最大的延遲值而確定公共延遲值。
[0035]在具有改變的系統(tǒng)負荷情形、在各個節(jié)點處的改變的處理能力、以及可能動態(tài)地改變的網(wǎng)絡(luò)路徑的動態(tài)分布式計算系統(tǒng)中,到達延遲補償器的第一事件和第二事件的傳播或處理延遲也將隨著時間改變而不是靜態(tài)的。本發(fā)明的實施方式可適配為對此進行說明。延遲補償器因此可以適配為或可操作以基于當前的或多個之前測量的或確定的事件延遲而確定事件j的事件延遲Λ (ej)。由此,與它們的之前的事件延遲相比,更多的新近的事件延遲可以被加權(quán)。在具體的實施方式中,延遲補償器可以適配為基于如下的等式來確定事件j的事件延遲Λ (ej),
[0036]A(eZ) = 4Σ〔Δβ/(ζ.)^Τ^ + θ.G(eZ)(2)
2 f-1 V
[0037]其中,k表示一組k個已經(jīng)確定的事件延遲,Δ ej (i)表示事件e」的第i個確定的延遲,其中i = I對應(yīng)于最遲確定的延遲,σ (ej)表示最遲確定的延遲Λ (ej)的標準方差,并且其中Θ表示安全因子。在一些實施方式中,為了事件j的事件延遲Λ (ej)的較容易的且不太復雜的計算,因子Θ還可以被設(shè)置為零。等式(2)的各個被加項根據(jù)幾何行被加權(quán)。因子1/2用作歸一化因子,因為對于足夠大的“k”,幾何行朝2收斂??紤]最遲測量值的標準方差,項θ.σ (ej)可以用作安全緩沖。例如,在Θ = 3情況下,它可以起99.975%安全的作用。從而,99.975%安全意味著根據(jù)等式(2)而計算或者預測的延遲在99.975%的概率情況下不小于對應(yīng)的實際的或真實的網(wǎng)絡(luò)延遲。例如,安全緩沖θ.σ (ej)可以被適配為網(wǎng)絡(luò)相對于延遲變化的穩(wěn)定性。
[0038]用于同步的設(shè)備,并且因此,延遲補償器可以優(yōu)選地實現(xiàn)在與相關(guān)聯(lián)的事件檢測器相同的分布式計算系統(tǒng)的節(jié)點(例如,網(wǎng)絡(luò)節(jié)點、處理器核等)上,從而不會對經(jīng)延遲的或轉(zhuǎn)發(fā)的第一事件和第二事件進一步引入不同的和不可預見的信號延遲。由此,延遲補償器和/或相關(guān)聯(lián)的事件檢測器可以以硬件,例如,以ASIC(專用集成電路),或以軟件,例如,通過在計算節(jié)點上作為進程而執(zhí)行的計算機程序的實例,而實現(xiàn)。進程包括程序代碼及其當前活動。根據(jù)操作系統(tǒng)(OS),進程可以由同時地執(zhí)行指令的多線程執(zhí)行而構(gòu)成。例如,延遲補償器可以實現(xiàn)為將相關(guān)聯(lián)的事件檢測器連接到在網(wǎng)絡(luò)或分布式系統(tǒng)的不同網(wǎng)絡(luò)節(jié)點之間分布的事件的中間件軟件部件。
[0039]延遲補償器接收目的地為事件檢測器的事件信號。接收到的事件可能不按照它們的原始時間順序被傳送到延遲補償器,因為在不同的路徑上傳播通過分布式計算系統(tǒng)的事件可能經(jīng)歷不同的延遲。例如,盡管第一事件原始地在第二事件之前發(fā)生,但是由于例如更高的傳播延遲,第一事件可能比第二事件更晚第到達延遲補償器。如之前已經(jīng)描述的,延遲補償器可基于事件的發(fā)生時間戳和它們在延遲補償器處的接收時間而確定事件的延遲?;诟信d趣的所有事件的延遲,可以確定最大的延遲值。為了恢復事件的原始時間順序并且同時僅引入最小的可能的公共延遲,每一個感興趣的事件在基于該事件的發(fā)生時間戳加上感興趣的所有事件的最大延遲值而確定的輸出時間實例處被轉(zhuǎn)發(fā)到相關(guān)聯(lián)的事件檢測器。給定到事件檢測器的事件流,該事件流包括第一或第二事件,延遲補償器可以布置在相關(guān)聯(lián)的事件檢測器的上游(即,之前)以能夠緩存針對其相關(guān)聯(lián)的事件檢測器的感興趣的事件。因此,事件檢測器可以布置在其相關(guān)聯(lián)的延遲補償器的下游(即,之后)。
[0040]根據(jù)本發(fā)明的又一方面,提出了用于基于至少一個(原始)傳感器數(shù)據(jù)流來確定事件的分布式計算系統(tǒng)??梢允怯嬎銠C網(wǎng)絡(luò)的所提出的分布式計算系統(tǒng)包括多個分布式節(jié)點,其中,所述多個分布式節(jié)點中的每一個都包括事件檢測器和根據(jù)本發(fā)明的實施方式的相關(guān)聯(lián)的用于同步的設(shè)備。
[0041]在一些實施方式中,分布式計算系統(tǒng)可以被耦合到用于定位和/或跟蹤在預定地理區(qū)域內(nèi)的對象的定位系統(tǒng),其中,所述定位系統(tǒng)將至少一個傳感器數(shù)據(jù)流提供到所述分布式計算系統(tǒng),所述傳感器數(shù)據(jù)流承載指示被定位對象的地理位置的數(shù)據(jù)。所述定位系統(tǒng)可以基于已經(jīng)在該說明書的導言部分中描述的無線傳感器網(wǎng)絡(luò)。
[0042]為了檢測諸如本原事件和/或復合事件的事件,各種事件檢測器在分布式計算系統(tǒng)的不同的節(jié)點上運行。根據(jù)系統(tǒng)的狀態(tài)和/或根據(jù)要分析的數(shù)據(jù)或事件檢測器的復雜性,如此的事件檢測器可以導致在它們各自的節(jié)點和/或整個分布式計算系統(tǒng)上的不同的負荷。因此,在原始系統(tǒng)配置的改變的前提或條件的場景中,事件檢測器在各個網(wǎng)絡(luò)節(jié)點上的原始分布能夠證明相對于負荷平衡是次優(yōu)的或者能夠甚至導致分布式計算系統(tǒng)的崩潰。
[0043]這樣不合需要的負荷不均衡可以被同步設(shè)備或其延遲補償器的實例檢測到。如果至少一個事件延遲達到過高的值,則這可以指示始發(fā)事件檢測器進程(對應(yīng)事件從該始發(fā)事件檢測器進程到達延遲補償器)是過載的或者經(jīng)歷一些其它問題。在這樣的場景中,可能期望將惡意的始發(fā)事件檢測器進程轉(zhuǎn)移或者再定位到分布式計算系統(tǒng)的一些其它硬件資源。例如,惡意的事件檢測器進程可以被從其當前節(jié)點轉(zhuǎn)移到分布式計算系統(tǒng)的具有更多可用的硬件資源的另一物理上分離且不同的節(jié)點。
[0044]為此目的,根據(jù)本發(fā)明的又一方面,還提出了用于將分布式計算系統(tǒng)的第一節(jié)點的第一事件檢測器進程轉(zhuǎn)移到分布式計算系統(tǒng)的與所述第一節(jié)點不同的第二節(jié)點的第二事件檢測器進程的設(shè)備,用于轉(zhuǎn)移的所述設(shè)備包括:用于將所述第一事件檢測器進程的進程內(nèi)容拷貝到所述第二事件檢測器進程的裝置。而且,所述設(shè)備包括用于協(xié)調(diào)所述第一事件檢測器進程的輸入事件使得在所述第一事件檢測器進程和所述第二事件檢測器進程兩者處并行地處理所述第一事件檢測器進程的輸入事件的裝置。進一步提出了用于驗證所述第一事件檢測器進程的所述輸入事件是否在所述第一事件檢測器進程和所述第二事件檢測器進程兩者處導致相同的輸出事件的裝置,所述第一事件檢測器進程的所述輸入事件在所述第一事件檢測器進程和所述第二事件檢測器進程兩者處被并行地處理。
[0045]根據(jù)一些實施方式,用于驗證的裝置可操作以在在第一事件檢測器進程和第二事件檢測器進程兩者處的輸出事件是相同的情況下關(guān)閉第一事件檢測器進程,或者,可操作以在在第一事件檢測器進程和第二事件檢測器進程兩者處的輸出事件不是相同的情況下關(guān)閉第二事件檢測器進程。
[0046]根據(jù)本發(fā)明的又一個方面,用于轉(zhuǎn)移第一事件檢測器進程的設(shè)備可以被優(yōu)選地但非排他地與用于使第一和第二事件同步的設(shè)備相結(jié)合地集成到分布式計算系統(tǒng)中。因此,這樣的分布式計算系統(tǒng)可以包括多個分布式節(jié)點,其中所述多個分布式節(jié)點中的每一個都包括用于根據(jù)本發(fā)明的實施方式同步的設(shè)備,以及用于將分布式計算系統(tǒng)的第一節(jié)點的第一事件檢測器進程轉(zhuǎn)移到分布式計算系統(tǒng)的第二節(jié)點的第二事件檢測器進程的設(shè)備,其中用于轉(zhuǎn)移的設(shè)備包括前述特征。
[0047]用于使事件同步的設(shè)備和用于轉(zhuǎn)移事件檢測器進程的設(shè)備由此可以以所描述的方式協(xié)作。也就是說,用于同步的設(shè)備可以檢測延遲,以及因此檢測分布式計算系統(tǒng)內(nèi)的負荷異常,而用于轉(zhuǎn)移的設(shè)備可以轉(zhuǎn)移事件檢測器進程以便更好地使事件檢測器的分布均衡,導致較小的總體延遲和較低的負荷。事件檢測器的分布可以基于多種事件檢測器進程分布準則而完成。根據(jù)本發(fā)明的不同的方面,最優(yōu)的事件檢測器進程分布準則可以導致分布式計算系統(tǒng)中的所有事件的最小總體延遲、分布式計算系統(tǒng)中的最小數(shù)目的安全事件訂閱、分布式計算系統(tǒng)的給定節(jié)點的負荷的最小變化、或最小總體分布式計算系統(tǒng)負荷中的一個。從而,事件檢測器或與其相關(guān)聯(lián)的事件調(diào)度器可以訂閱由事件檢測器所要求的事件。如果特定事件對于事件檢測器來說是絕對地強制的,則它可以“安全地訂閱”所述輸入事件。在這種情況下,所討論的事件可以經(jīng)由錯誤受控傳輸構(gòu)思(例如自動重復請求(ARQ))而被傳輸?shù)绞录z測器/調(diào)度器。
[0048]本發(fā)明的又一個方面還提出了用于使第一事件和第二事件同步的方法,其中,所述第一事件具有基于公共時鐘信號與所述第一事件相關(guān)聯(lián)的第一(原始)事件定時值,所述第二事件具有基于所述公共時鐘信號與所述第二事件相關(guān)聯(lián)的第二(原始)事件定時值,所述第一事件和所述第二事件行進通過分布式計算系統(tǒng)的不同路徑,并且經(jīng)歷不同的延遲。所述方法包括在延遲補償器處將所述第一事件和所述第二事件中繼到相關(guān)聯(lián)的事件檢測器的步驟,其中,所述第一事件和所述第二事件基于所經(jīng)歷的延遲并且基于相關(guān)聯(lián)的第一和第二原始事件定時值而被中繼到所述事件檢測器。用于同步的所述方法還包括在與所述延遲補償器相關(guān)聯(lián)的所述事件檢測器處基于經(jīng)中繼的第一輸入事件和經(jīng)中繼的第二輸入事件來檢測至少一個輸出事件的步驟。
[0049]一些實施方式包括安裝在用于執(zhí)行用于使第一事件和第二事件同步的方法的設(shè)備內(nèi)的數(shù)字控制電路。這樣的數(shù)字控制電路(例如,數(shù)字信號處理器(DSP))需要被相應(yīng)地編程。因此,更進一步的實施方式還提供了一種計算機程序,所述計算機程序具有用于在計算機程序在計算機或數(shù)字處理器上被執(zhí)行時執(zhí)行所述方法的實施方式的程序代碼。
[0050]本發(fā)明的實施方式的一個有益效果是,事件可以被識別/檢測并且僅以最小延遲轉(zhuǎn)發(fā)到后續(xù)事件檢測器。本發(fā)明的實施方式可以被實現(xiàn)使得以較低延遲轉(zhuǎn)發(fā)事件在不用冒錯誤的后續(xù)事件檢測的危險的情況下不是容易地可能的。并且,采用本發(fā)明的實施方式,事件檢測器的開發(fā)者不需要關(guān)于特定事件延遲的任何特殊知識,因為該分布式系統(tǒng)的實施方式可以自動地測量和管理那些事件延遲。
[0051]可以在根據(jù)本發(fā)明的實施方式的分布式計算系統(tǒng)的自我組織中看到另一有益效果。這樣的分布式計算系統(tǒng)可以通過在網(wǎng)絡(luò)節(jié)點之間轉(zhuǎn)移事件檢測器進程而起作用于改變系統(tǒng)條件,使得該分布式系統(tǒng)或網(wǎng)絡(luò)總是能夠執(zhí)行魯棒且高效的事件信號處理。
【專利附圖】
【附圖說明】
[0052]將僅通過示例并且參考附圖在下文中對設(shè)備和/或方法的一些實施方式進行描述,在附圖中
[0053]圖1圖示了英式足球特定的越位事件檢測場景;
[0054]圖2示意性地示出了根據(jù)本發(fā)明的實施方式、用于使第一事件與第二事件同步的設(shè)備的框圖;
[0055]圖3示意性地示出了本發(fā)明的實施方式,其中用于使第一事件與第二事件同步的設(shè)備被實現(xiàn)為分布式網(wǎng)絡(luò)與關(guān)聯(lián)的事件檢測器軟件之間的中間件;
[0056]圖4示出了由事件檢測器所要求的四個事件A、B、C以及D的定時表;
[0057]圖5示意性地圖示了根據(jù)本發(fā)明的實施方式的事件調(diào)度;
[0058]圖6示意地示出了用于使第一事件與第二事件同步的示例性方法的流程圖;
[0059]圖7示出了用于基于至少一個傳感器數(shù)據(jù)流來確定事件的分布式計算系統(tǒng)的實施方式,其中分布式計算系統(tǒng)包括多個分布式計算節(jié)點,其中所述多個分布式計算節(jié)點中的每一個都包括用于使事件同步的設(shè)備的實施方式;
[0060]圖8示意性地圖示了用于將分布式計算系統(tǒng)的第一節(jié)點的第一事件檢測器進程轉(zhuǎn)移到分布式計算系統(tǒng)的第二節(jié)點的第二事件檢測器進程的設(shè)備的實施方式;以及
[0061]圖9示意性地圖示了用于將分布式計算系統(tǒng)的第一節(jié)點的第一事件檢測器進程轉(zhuǎn)移到分布式計算系統(tǒng)的第二節(jié)點的第二事件檢測器進程的方法的實施方式的流程圖。
【具體實施方式】
[0062]現(xiàn)將參考附圖更全面地描述各種示例實施方式,在附圖中一些示例實施方式被圖示。在圖中,為了清楚,層和/或區(qū)的厚度可以被放大。[0063]因此,雖然示例實施方式能夠各種修改和替代形式,但是其實施方式在圖中通過示例來示出并且將在本文中被詳細地描述。然而,應(yīng)該理解的是,沒有將示例實施方式限制于所公開的特定形式的意圖,而是相反,示例實施方式將涵蓋落入本發(fā)明的范圍內(nèi)的所有修改、等同物以及替代方案。同樣的附圖標記在圖的所有描述中指的是同樣的或類似的元素。
[0064]將理解的是,當元件被稱為被“連接”或者“耦合”到另一元件時,它能夠被直接地連接或者耦合到另一個元件或者可以存在中間元件。相比之下,當元件被稱為被“直接地連接”或者“直接地耦合”到另一元件時,沒有中間元件存在。應(yīng)該以同樣的方式來解釋用來描述元件之間的關(guān)系的其它詞語(例如,“在...之間”對“直接地在...之間”、“相鄰”對“直接地相鄰”等等)。
[0065]本文中所用的術(shù)語僅用于描述特定實施方式的目的并且不旨在限制示例實施方式。如本文中所用的那樣,除非上下文另外清楚地指示,否則單數(shù)形式“一”、“一個”以及“該”均旨在也包括復數(shù)形式。將進一步理解的是,術(shù)語“含”、“含有”、“包含”和/或“包括有”當被用在本文中時,指定陳述的特征、整體、步驟、操作、元件和/或組件的存在,但不排除一個或更多個其它特征、整體、步驟、操作、元件、組件和/或它們的組合的存在或添加。
[0066]除非另外定義,否則本文中所用的所有術(shù)語(包括技術(shù)術(shù)語和科學術(shù)語)都具有與由示例實施方式所屬于的領(lǐng)域內(nèi)的普通技術(shù)人員所通常理解的相同的意義。將進一步理解的是,術(shù)語(例如,在通常使用的詞典中所定義的那些)應(yīng)該被解釋為具有與它們在相關(guān)技術(shù)的上下文中的意義一致的意義,并且除非在本文中明確地如此定義,否則將不在理想化的或太正式的意義上被解釋。
[0067]圖2示意地圖示了用于使第一事件202與第二事件204同步的設(shè)備200的實施方式。
[0068]第一事件202具有基于公共時鐘參考信號與其相關(guān)聯(lián)的第一原始事件定時值或時間戳。第二事件204也具有基于公共時鐘信號與其相關(guān)聯(lián)的第二原始事件定時值或時間戳。第一和第二原始事件定時值表示原始事件發(fā)生時刻。公共時鐘信號產(chǎn)生總體系統(tǒng)時間,其對于分布式計算系統(tǒng)中的所有不同的節(jié)點都是有效的。在到達用于使事件同步的設(shè)備200之前,第一事件202和第二事件204行進通過分布式計算系統(tǒng)(未在圖2中示出)的不同的路徑或路線,并且經(jīng)歷不同的延遲。基于兩個事件202、204,至少一個輸出事件206可以由事件檢測器208來確定,所述事件檢測器208可以被布置在用于使事件202、204同步的設(shè)備200之后(接連)或下游。
[0069]在一些實施方式中,還可以被認為是用于事件檢測器208的事件調(diào)度器的同步設(shè)備200包括還被稱為延遲補償設(shè)備的延遲補償器210,其與后續(xù)事件檢測器208相關(guān)聯(lián)或相關(guān)。延遲補償器210具有用于從分布式網(wǎng)絡(luò)接收第一事件202和第二事件204的輸入端212-1、212-2。進一步地,延遲補償器具有用于將所接收到的第一事件202和第二事件204的中繼版本中繼或者轉(zhuǎn)發(fā)到所關(guān)聯(lián)的事件檢測器208的輸出端214-1、214-2,所述關(guān)聯(lián)的事件檢測器208可以被布置在延遲補償器210之后或下游。延遲補償器210可操作以基于事件202、204的所經(jīng)歷的延遲并且基于所關(guān)聯(lián)的第一和第二原始事件定時值或鏈接到兩個事件202、204的時間戳將第一事件202和第二事件204中繼到所關(guān)聯(lián)的事件檢測器208。
[0070]在圖3中示意性地描繪了分布式計算系統(tǒng)300 (具有網(wǎng)絡(luò)的形式)、各種事件檢測器208以及用于使多個事件同步的設(shè)備200的實施方式的示例性布置。
[0071]圖3示意性地圖示了分布式網(wǎng)絡(luò)300,事件302和原始傳感器數(shù)據(jù)304從該分布式網(wǎng)絡(luò)300到達同步設(shè)備200,所述同步設(shè)備200在圖3中被示例性地表示為“事件核(EventCore) ”。同步設(shè)備200可以一方面通過從底層網(wǎng)絡(luò)300接收事件302和/或原始傳感器數(shù)據(jù)304、以及另一方面通過在特定要求的輸出端或中繼時間實例處將它們轉(zhuǎn)發(fā)到耦合至同步設(shè)備200的多個事件檢測器208來作為事件調(diào)度器。同步設(shè)備200被適配成使由后續(xù)的事件檢測器208所要求的不同事件302和/或傳感器數(shù)據(jù)304同步。從而,可以以分布式方式實現(xiàn)同步設(shè)備200,使得它能夠各自地使由后續(xù)的事件檢測器208中的每一個所要求的事件302或304同步。也就是說,事件核設(shè)備200可以包括多個延遲補償器210或其實例,其中所述多個延遲補償器210中的每一個都與所述多個后續(xù)的事件檢測器208中的一個相關(guān)聯(lián)。從而,延遲補償器實例210和關(guān)聯(lián)的事件檢測器208可以優(yōu)選地被實現(xiàn)在一個公共網(wǎng)絡(luò)節(jié)點上。根據(jù)一些實施方式,同步設(shè)備200及其延遲補償器實例210可以被實現(xiàn)為網(wǎng)絡(luò)300與事件檢測器208之間的中間件。
[0072]公共時鐘信號306被提供給同步設(shè)備200或者提供給其不同的實例,從而使能圖3中所描繪的分布式系統(tǒng)架構(gòu)的所有延遲補償器和/或事件檢測器實例210、208的時間同步。因此,每個延遲補償器210都能夠訪問相同的公共時基。換句話說,所有(分布式)同步設(shè)備或延遲補償器實例200、210都可以在任何給定時間檢索相同的系統(tǒng)時間戳。在延遲補償器實例210接收到事件302或304情況下,它可以緩沖針對關(guān)聯(lián)的后續(xù)事件檢測器實例208的所述事件持續(xù)要求量的時間,其對應(yīng)于沒有由事件檢測器實例208所要求的并且承載較早時間戳的其它事件將被接收到的足夠高的概率。
[0073]為得到更多細 節(jié),讓我們考察以下示例:任意事件檢測器208要求輸入事件A、B、C以及D以便能夠基于所述輸入事件來正確地確定或者檢測復合輸出事件E。因為每個網(wǎng)絡(luò)實例都被全局公共時鐘信號306同步,所以可使檢測時間與每個事件相關(guān)聯(lián)(見圖4,中間列)。從而,事件的檢測時刻由于有限的處理速度而必定比事件的實際發(fā)生時刻(見圖4,左列)要晚。
[0074]在這個示例中,事件A的發(fā)生時間1?#』是10,然而,它僅被事件檢測器在檢測時間t_lhA = 14處檢測到。用于檢測復合事件E的后續(xù)事件檢測器在接收時間tED,A = 16處接收到所要求的事件A。類似地,事件B實際上發(fā)生在12處并且得以被一些事件檢測器在t_lhB = 13處檢測到。用于檢測復合事件E的后續(xù)復合事件檢測器在時刻tED,A=15處檢索到事件B。也就是說,用于事件E的復合事件檢測器在它接收到事件A之前接收到B,然而事件A實際上比事件B發(fā)生更早。由于處理和網(wǎng)絡(luò)傳播延遲,事件C (其實際上比事件A出現(xiàn)得晚)也被比后續(xù)的復合事件檢測器更早地接收。
[0075]從這個示例,在不使用本發(fā)明的實施方式的情況下,可以看到,用于事件E的后續(xù)的復合事件檢測器按時間順序(見圖4,最右列)接收所要求的事件A、B、C以及D,所述時間順序不同于所述事件的原始原因或時間順序(見圖4,最左列)。因此,本發(fā)明的實施方式的任務(wù)是適當?shù)貙λ蟮氖录嗀、B、C以及D進行排序,以便在將所要求的事件A、B、C以及D轉(zhuǎn)發(fā)到后續(xù)的復合事件檢測器之前恢復對應(yīng)于原始時間順序的時間順序。出于那種目的,同步設(shè)備200的實例可以連同關(guān)聯(lián)的事件檢測器208 —起被實現(xiàn)在每個網(wǎng)絡(luò)節(jié)點上。
[0076]根據(jù)實施方式,(可能分布式)同步設(shè)備200的延遲補償器210可操作以將多個要求的事件中繼到關(guān)聯(lián)的事件檢測器,使得所要求的事件A、B、C以及D (其在延遲補償器210處已被接收到)的中繼版本的時間順序?qū)?yīng)于多個要求的事件A、B、C以及D的原始時間順序。出于該目的,延遲補償器210可以中繼多個事件A、B、C以及D中的每一個,使得各個中繼的事件之間的相對時間差分別對應(yīng)于各個事件A、B、C以及D之間的原始相對時間差。為了恢復原始時間事件順序,延遲補償器210可以為所述多個事件A、B、C以及D中的每一個確定輸出時間實例。從而事件在其對應(yīng)的輸出時間實例處被中繼到所關(guān)聯(lián)的事件檢測器210??梢曰谑录嗀、B、C以及D的公共延遲值和原始發(fā)生時間實例來確定事件的輸出時間實例。
[0077]以上述示例為例,同步設(shè)備實例200以及因此包括在其中的延遲補償器實例210可以基于它們相應(yīng)的接收時間和反映它們的實際發(fā)生的它們相應(yīng)關(guān)聯(lián)的原始事件定時值來測量或者確定以下事件延遲:
[0078]事件A:16-10 = 6
[0079]事件B:15-12 = 3
[0080]事件C:15-14= I
[0081]事件D:18-15 = 3
[0082]顯然,事件A在延遲補償器210處的接收與由后續(xù)的復合事件檢測器所要求的其它事件B、 C以及D相比基本上費時更長。例如,這可能是由于在導致通過網(wǎng)絡(luò)300的長傳播時間的遙遠的計算節(jié)點上的事件A的檢測而導致的,或者是由于事件A通過具有更長計算時間的計算更復雜的算法檢測而導致的。在示例性情況下,事件A的長延遲可能是由于花費四個時鐘周期或時間間隔的事件檢測而導致的。
[0083]讓我們假定我們已足夠頻繁地測量或者確定了感興趣的所有事件的所有延遲并且我們是在以下位置處:在時刻tDQC= 1000處事件C到達包括延遲補償器210的用于同步的設(shè)備200。事件C攜帶事件定時值= 999,其指示事件C在時刻999處已發(fā)生了。延遲補償器210考察感興趣的所有事件(即,由所關(guān)聯(lián)的后續(xù)復合事件檢測器208所要求的所有事件A、B、C以及D)的延遲,并且確定事件C直到它可以被轉(zhuǎn)發(fā)到所關(guān)聯(lián)的后續(xù)事件檢測器208為止必須被延遲有多久。注意的是,延遲補償器210僅知道事件A、B、C以及D是所關(guān)聯(lián)的后續(xù)事件檢測器208要求的,但不知道按哪一個順序以及用于哪一個目的。
[0084]用于將事件C中繼到所關(guān)聯(lián)的后續(xù)事件檢測器208的輸出時間實例可以根據(jù)如下等式來確定。
[0085]tout;c = t事件,c+max(A (A), Δ (B), Δ (C), Δ (D))
[0086]= 999+max (6, 3,I, 3) = 999+6 = 1005 (3)
[0087]在等式(3)中,A、B、C以及D分別表示第一事件至第四事件,Δ (.)表示事件從其發(fā)生到與所關(guān)聯(lián)的后續(xù)事件檢測器208相關(guān)聯(lián)的延遲補償器210的輸入端的延遲,max(.)表示最大值運算符,以及t。#。表示經(jīng)延遲的事件C的輸出時間實例。
[0088]通常,延遲補償器210可操作以基于如下等式來確定用于中繼來自一組K個要求事件的事件h的輸出時間實例。
[0089]tout’ej = t 事件,ej+max ( Δ (e^,Δ (e2),...,Δ (e」),...,Δ (eK)) (4)
[0090]在具有網(wǎng)絡(luò)300的改變的負荷情形的動態(tài)分布式計算系統(tǒng)中,各個節(jié)點的可能改變的處理能力和/或可能動態(tài)地改變的網(wǎng)絡(luò)路徑、到達延遲補償器實例210的事件的傳播或處理延遲很可能隨著時間的推移而改變,而不是靜態(tài)的。延遲補償器210可以通過基于針對來自一組K個事件的事件&的當前的和多個先前測量的或確定的事件延遲確定所述事件ej的事件延遲值Λ (ej)來說明這個。從而,更近的事件延遲可以比它們前面的時間延遲被加權(quán)更多。在特定實施方式中,延遲補償器可以被適配成基于前述的等式(2)的變型而確定事件e」的事件延遲Λ (ej)。
[0091]回到上述簡單的示例,事件C可以在輸出時間實例= 1005處被轉(zhuǎn)發(fā)到所關(guān)聯(lián)的后續(xù)事件檢測器208。這確切地是我們可以說事件A、B以及D不在事件C之前有原因地發(fā)生的時刻。在我們的示例中,所關(guān)聯(lián)的后續(xù)事件檢測器208在以下表中所指示的中繼
或輸出時間實例處獲得轉(zhuǎn)發(fā)的以下事件:
[0092]
【權(quán)利要求】
1.一種用于使第一事件(202)和第二事件(204)同步的設(shè)備(200),其中,所述第一事件(202)具有基于公共時鐘信號與所述第一事件(202)相關(guān)聯(lián)的第一事件定時值,所述第二事件(204)具有基于所述公共時鐘信號與所述第二事件(204)相關(guān)聯(lián)的第二事件定時值,所述第一事件和所述第二事件(202 ;204)行進通過分布式計算系統(tǒng)(300 ;700)的不同路徑,并且經(jīng)歷不同的延遲,并且其中,至少一個輸出事件(206)將由事件檢測器(208)基于所述第一事件和所述第二事件(202 ;204)來確定,所述設(shè)備(200)包括: 與所述事件檢測器(208)相關(guān)聯(lián)的延遲補償器(210),所述延遲補償器(210)具有用于接收所述第一事件和所述第二事件(202 ;204)的輸入端(212)并且具有用于將所接收到的所述第一事件和所述第二事件的中繼版本(202’;204’)轉(zhuǎn)發(fā)到相關(guān)聯(lián)的事件檢測器(208)的輸出端(214), 其中,所述延遲補償器(210)可操作以基于所經(jīng)歷的延遲并且基于相關(guān)聯(lián)的第一和第二事件定時值將所述第一事件和所述第二事件(202 ;204)中繼到相關(guān)聯(lián)的事件檢測器(208)。
2.根據(jù)權(quán)利要求1所述的設(shè)備(200),其中,所述延遲補償器(210)可操作以將所述第一事件和所述第二事件(202 ;204 ;302 ;304)中繼到相關(guān)聯(lián)的事件檢測器(208),使得所接收到的所述第一事件和所述第二事件的所述中繼版本(202’ ;204’ )的時間順序?qū)?yīng)于所述第一事件和所述第二事件的原始時間順序(202 ;204 ;302 ;304)。
3.根據(jù)權(quán)利要求1或2所述的設(shè)備(200),其中,所述延遲補償器(210)可操作以分別中繼所述第一事件和所述第二事件(202 ;204 ;302 ;304),使得所接收到的所述第一事件和所述第二事件的中繼版本(202’ ;204’ )之間的相對時間差對應(yīng)于所述第一事件和所述第二事件(202 ;204 ;302 ;304)之間的原始相對時間差。
4.根據(jù)前述權(quán)利要求中一項所述的設(shè)備(200),其中,所述延遲補償器可操作以基于所述第一事件定時值和所述第二事件定時值以及公共延遲值而確定用于將所述第一事件和所述第二事件中繼到相關(guān)聯(lián)的事件檢測器的輸出時間實例。
5.根據(jù)前述權(quán)利要求中一項所述的設(shè)備(200),其中,所述延遲補償器(210)可操作以基于所述第一事件定時值和所述第二定時值以及所述第一事件和所述第二事件的最大事件延遲而確定用于將所述第一事件和所述第二事件(202 ;204 ;302 ;304)中繼到相關(guān)聯(lián)的事件檢測器的輸出時間。
6.根據(jù)前述權(quán)利要求中一項所述的設(shè)備(200),其中,所述延遲補償器(210)可操作以基于所述第一事件或所述第二事件(202 ;204 ;302 ;304)在所述延遲補償器(210)處的接收時間以及所述第一事件和所述第二事件各自的相關(guān)聯(lián)的事件定時值而分別測量所述第一事件和所述第二事件(202 ;204 ;302 ;304)的事件延遲。
7.根據(jù)前述權(quán)利要求中一項所述的設(shè)備(200),其中,所述延遲補償器(210)可操作以基于如下的等式而確定用于中繼所述第一事件和所述第二事件(202 ;204 ;302 ;304)的輸出時間實例,
tout = t 事件 1; 2+max ( Δ (ej), Δ (e2)), 其中,el, e2分別表示所述第一事件和所述第二事件,△(.)表示事件從該事件的發(fā)生到與所述事件檢測器相關(guān)聯(lián)的所述延遲補償器的所述輸入端的延遲,max(.)表示最大值運算符,以及Iut表示經(jīng)延遲的所述第一事件或所述第二事件的輸出時間實例。
8.根據(jù)前述權(quán)利要求中一項所述的設(shè)備(200),其中,所述延遲補償器(210)可操作以基于如下的等式而確定事件j的事件延遲Λ (ej), Δ(β/)=^Σ?Δβ;(ζ')^τ]+θ T(eJ)
L /-1 VL ), 其中,k表示一組k個已經(jīng)確定的事件延遲,Aej (i)表示事件e」的第i個確定的延遲,其中i = I對應(yīng)于最遲確定的延遲,σ (ej)表示最遲確定的延遲Λ (ej)的標準方差,并且其中Θ表示安全因子。
9.根據(jù)前述權(quán)利要求中一項所述的設(shè)備(200),其中,在包括所述第一事件和所述第二事件(202 ;204 ;302 ;304)的事件流中,所述延遲補償器(210)被布置在相關(guān)聯(lián)的事件檢測器(208)的上游。
10.根據(jù)前述權(quán)利要求中一項所述的設(shè)備(200),其中,由于不同的抖動條件、不同的處理持續(xù)時間和/或不同的網(wǎng)絡(luò)延遲,所述第一事件和所述第二事件在所述延遲補償器的所述輸入端處的接收順序與所述第一事件和所述第二事件(202 ;204 ;302 ;304)的原始發(fā)生順序不同。
11.根據(jù)前述權(quán)利要求中一項所述的設(shè)備(200),其中,事件定時值對應(yīng)于原始事件檢測時間或原始事件發(fā)生時間之一。
12.根據(jù)前述權(quán)利要求中一項所述的設(shè)備(200),其中,事件(202;204 ;302 ;304)是直接地基于傳感器數(shù)據(jù)的 本原事件或基于本原事件的復合事件。
13.根據(jù)前述權(quán)利要求中一項所述的設(shè)備(200),其中,所述第一事件和所述第二事件(202 ;204 ;302 ;304)被原始地在所述分布式計算系統(tǒng)(300 ;700)的分布式節(jié)點(704)上檢測到,并且其中,所述第一事件和所述第二事件(202 ;204 ;302 ;304)是基于地理定位系統(tǒng)的并行傳感器數(shù)據(jù)流的。
14.一種用于基于至少一個傳感器數(shù)據(jù)流(702)來確定事件的分布式計算系統(tǒng)(700),所述分布式計算系統(tǒng)(700)包括: 多個分布式計算節(jié)點(704),其中,所述多個分布式計算節(jié)點中的每一個都包括根據(jù)前述權(quán)利要求中一項所述的用于同步的設(shè)備(200)。
15.根據(jù)權(quán)利要求14所述的分布式計算系統(tǒng)(700),其中,所述分布式計算系統(tǒng)(700)被耦合到用于定位和/或跟蹤在預定地理區(qū)域內(nèi)的對象的定位系統(tǒng),并且其中,所述定位系統(tǒng)將傳感器數(shù)據(jù)流(702)輸入到所述分布式計算系統(tǒng)(700),所述傳感器數(shù)據(jù)流(700)承載指示被定位對象的地理位置的數(shù)據(jù)。
16.根據(jù)權(quán)利要求14或15中一項所述的分布式計算系統(tǒng)(700),所述分布式計算系統(tǒng)(700)進一步包括: 用于將所述分布式計算系統(tǒng)(700)的第一節(jié)點(704-1)的第一事件檢測器進程轉(zhuǎn)移到所述分布式計算系統(tǒng)的與所述第一節(jié)點不同的第二節(jié)點(704-1)的第二事件檢測器進程的設(shè)備(800),所述設(shè)備(800)包括: 用于將所述第一事件檢測器進程的數(shù)據(jù)范圍拷貝到所述第二事件檢測器進程的裝置(802); 用于在所述第一事件檢測器進程和所述第二事件檢測器進程兩者處并行地處理所述第一事件檢測器進程的輸入事件的裝置(804);以及用于驗證所述第一事件檢測器進程的所述輸入事件是否在所述第一事件檢測器進程和所述第二事件檢測器進程兩者處導致相同的輸出事件的裝置(806),所述第一事件檢測器進程的所述輸入事件在所述第一事件檢測器進程和所述第二事件檢測器進程兩者處被并行地處理。
17.一種用于使第一事件(202)和第二事件(204)同步的方法(600),其中,所述第一事件(202)具有基于公共時鐘信號與所述第一事件(202)相關(guān)聯(lián)的第一事件定時值,所述第二事件(204)具有基于所述公共時鐘信號與所述第二事件(204)相關(guān)聯(lián)的第二事件定時值,所述第一事件和所述第二事件(202 ;204)行進通過分布式計算系統(tǒng)(300 ;700)的不同路徑,并且經(jīng)歷不同的延遲,所述方法(600)包括以下步驟: 在延遲補償器(210)處將所述第一事件和所述第二事件(202 ;204)中繼(602)到相關(guān)聯(lián)的事件檢測器(208),其中,所述第一事件和所述第二事件(202 ;204)基于所經(jīng)歷的延遲并且基于相關(guān)聯(lián)的第一和第二原始事件定時值而被中繼到所述事件檢測器(208);以及 在與所述延遲補償器(210)相關(guān)聯(lián)的所述事件檢測器(208)處基于經(jīng)中繼的第一輸入事件和經(jīng)中繼的第二輸入事件來檢測(604)至少一個輸出事件(206)。
18.一種計算機程序,所述計算機程序具有用于在所述計算機程序在計算機或處理器上被執(zhí)行時執(zhí)行權(quán)利要 求17的方法的程序代碼。
【文檔編號】H04L29/08GK104025554SQ201180074531
【公開日】2014年9月3日 申請日期:2011年10月31日 優(yōu)先權(quán)日:2011年10月31日
【發(fā)明者】C·穆奇勒, N·威特, M·菲利普森, S·奧托 申請人:德國弗勞恩霍夫應(yīng)用研究促進協(xié)會