用于使事件同步的设备和方法

文档序号:7978491阅读:204来源:国知局
用于使事件同步的设备和方法
【专利摘要】实施方式涉及用于使第一事件(202)和第二事件(204)同步的方法和设备(200),其中,所述第一事件(202)具有基于公共时钟信号与所述第一事件(202)相关联的第一原始事件定时值,所述第二事件(204)具有基于所述公共时钟信号与所述第二事件(204)相关联的第二原始事件定时值,所述第一事件和所述第二事件(202;204)行进通过分布式计算系统(300;700)的不同路径,并且经历不同的延迟,并且其中,至少一个输出事件(206)将由事件检测器(208)基于所述第一事件和所述第二事件(202;204)来确定。所述设备(200)包括:与所述事件检测器(208)相关联的延迟补偿器(210),所述延迟补偿器(210)具有用于接收所述第一事件和所述第二事件(202;204)的输入端(212)并且具有用于将所接收到的所述第一事件和所述第二事件的中继版本(202’;204’)转发到相关联的事件检测器(208)的输出端(214),其中,所述延迟补偿器(210)可操作以基于所经历的延迟并且基于相关联的第一和第二原始事件定时值将所述第一事件和所述第二事件(202;204)中继到相关联的事件检测器(208)。
【专利说明】用于使事件同步的设备和方法
[0001]本发明的实施方式一般地涉及数据网络,并且特别地,涉及用于使经由不同的网络路径到达事件检测器的事件同步的设备和方法。
【背景技术】
[0002]传感器网络(诸如,例如无线传感器网络)具有广泛的应用。例如,各种技术的无线传感器网络可以被用于定位目的,诸如定位人类和/或其它对象。在这里,“定位”意指地理定位或位置的检测或确定。一些专门的定位或位置跟踪系统可以被用于在体育事件中定位选手和其它对象(例如球),所述体育事件诸如例如英式足球、美式足球、橄榄球、网球
坐寸ο
[0003]在使用收集到的选手和/或球的地理位置或定位数据情况下,可得到与整个体育事件(例如英式足球比赛)相关的或与各个队伍或选手相关的统计信息。这样得到的统计信息可能因各种原因而是有趣的。一方面,存在各种商业利益,因为特定统计量和它们的分析对于在露天大型体育场中和/或在家里的电视机前面的观众来说可以是特别相关的。从而,提供特定统计量可以提高对体育事件的更大兴趣。另一方面,从原始定位数据得到的统计数据也可以被用于训练目的。在这里,可以分析自己的队伍的对手和/或行为以及各个选手的表现和/或健康条件。
[0004]前述的定位或位置跟踪系统可以是基于各种技术的。例如,可以基于无线无线电信号和/或磁场的评估来确定位置信息。出于这种目的,一般地还被表不为传感器的发射器和/或接收器可以被放置在要被系统定位的各个对象(例如选手、球等)处。对应的接收和/或发射装置还可以被安装到在感兴趣的地理区域(如例如,英式足球场)附近的预定位置。信号强度、信号传播时间和/或信号相位的评估几个可能的技术替代方案然后可以导致指示各个选手或对象在不同时刻的地理位置的传感器数据流。典型地,地理位置数据样本与指示在哪一个时刻对象位于在哪一个地理位置处的时间戳相关联。采用这种组合的信息,除包括例如X坐标、I坐标以及Z坐标的位置数据之外,也可以提供运动数据(例如速率(速度)、加速度等)。在本说明书的续篇中,由定位传感器系统所传送的位置和运动数据还将被称为(原始)传感器数据。
[0005]在无线跟踪系统的特定示例中,人或对象可以装配有微型发射器,所述微型发射器可以被嵌入在鞋袜、制服以及球中并且其信号被放置在观测下的区域附近的许多天线拾取。接收器单元处理所收集到的信号并且确定它们的到达时间(ToA)。基于传播延迟差的计算,每个发射器的位置然后被连续地确定。此外,与无线跟踪系统一起集成的计算机网络可以分析位置或传感器数据以便检测特定事件。在2.4GHz波段下操作,跟踪系统是全世界免授权的。
[0006]基于从定位或位置跟踪系统输出的原始传感器数据流,可以检测到所谓的“事件”。从而事件可以被定义为在一时间点感兴趣的瞬时发生。通常,事件与能够被感测到的相关量的分布中的改变相关联。事件可以是本原事件,其是直接地基于跟踪系统的传感器数据(运动数据)的,或复合事件,其是替代地基于先前检测到的其它事件的。也就是说,复合事件不直接地取决于原始传感器数据而是取决于其它事件。在球赛应用中,事件例如可以是“选手X击中球”或“选手X占有球”。更复杂的事件例如可以是“越位”或“犯规”。
[0007]在过去几年里,基于底层传感器数据流的事件的检测已经增加了在数据库和分布式系统群体中的兴趣。现今广泛且数目日益增长的应用(包括如网络监控、电子商务、保健、金融分析以及安全或前述的体育事件监视的应用)依赖处理对理想地采取事件的时间排序系列的形式的数据流的查询的能力。如在大量供应的传感器数据和/或事件不再能够被人类捕获或者处理的许多应用一样,事件检测表示原始传感器数据和/或事件在无需人为干预的情况下的完全自动化的处理。例如,如果选手和体育对象(例如,球)的高速变化被预期到,则原始传感器(定位或位置跟踪)数据必须由底层(无线)传感器网络以足够高的数据速率来确定。附加地,如果存在大量的选手和/或对象(例如,在存在22个选手和一球的英式足球中)要被跟踪,则特别地相对于实时事件处理要求,每秒总的地理位置和运动数据样本的数量能够变得过高。
[0008]从而,即使原始传感器和/或事件数据流被完全自动化地分析并且用信号发送,也可能仍然存在多得太多的信息,其全面可能甚至不是任何感兴趣的。在将来这个问题将甚至变坏,因为越来越多的装置将装配有传感器以及将它们确定的传感器数据(例如,由像智能电话这样的无线装置所确定的天气或温度数据)提供给诸如因特网的公用网络的可能性。由于这个原因,要被进一步处理成感兴趣的特定事件的传感器数据的数量将迅速地增长。自动化事件检测可以通过设法逐条地聚合原始传感器数据并且设法确定更抽象的且相互依赖的事件来为此提供补救,这可以传送比原始传感器数据它本身多得多的信息。例如,除前述的英式足球相关示例之外,这样确定的事件能够包括“汽车X位于路口 Y处”或“交通在道路X上堵塞”。
[0009]在自动化事件检测中出现的问题是用于对可能整体地并行的传感器和/或事件数据流执行事件检测所要求的计算能力-并且这一切都在至少几乎实时的处理要求下。这个问题可以由事件检测器的并行化来解决,所述事件检测器例如可以在计算机网络的不同的网络节点(其例如可以经由以太网进行通信)上运行。从而事件检测器根据用户的事件规范自动地从事件或传感器数据流中提取感兴趣的特定事件。各个事件检测器可以分布在数据网络的不同的网络节点,其中不同的事件检测器使用事件和/或传感器数据进行通信从而使用不同的网络路线和分支而行进通过网络。从而,可以根据像例如UDP(用户数据报协议)、TCP (传输控制协议)/IP (网际协议)等这样的一些传输协议在数据分组中传输原始传感器数据和/或事件。然而,这个构思引起与网络内事件数据流的同步相关的新的问题。在没有适合的对策的情况下,在网络中的各个传感器和/或事件数据流对于彼此而言不是时间同步的,这意味着各个事件可以在它们的原始时间顺序之外到达事件检测器并且由此导致假检测结果。
[0010]让我们考察示例性英式足球场景,其中多个并行自动地操作的事件检测器被假定检测从选手A到选手B的传球。为了检测所述“传球”事件,以下前面的事件序列是要求的:
[0011]1.“选手A占有球”,
[0012]2.“选手A踢球”,
[0013]3.“球离开选手A”,
[0014]4.“球来到选手B附近”,[0015]5.“选手B击中球”
[0016]对于事件“选手X踢球”的事件检测可以是基于事件序列“选手X靠近球”和检测到的球的加速度峰值的。存在用于为所述事件“选手X踢球”建立自动化事件检测器的以下替代方案。
[0017]我们可以等待各个要求的事件,一个接着一个。如果我们已按正确的(时间)顺序看到所有所要求的事件(在这里,为了简单起见任何中止准则被忽视),则我们能够说我们已看到或者经历了传球。然而,对于复杂的应用,所有所要求的事件的检测由于事件检测器的并行化而未必发生在单个网络节点或CPU(中央处理单元)上。由于这个原因,未必保证各个要求的事件按正确要求的顺序到达事件检测器。这例如可以是由于网络抖动、变化的CPU负荷或增加的网络负荷而导致的。
[0018]因此,我们能够设法缓冲事件并且然后搜索缓冲器以得到正确的事件模式。但应该使用哪一个缓冲器尺寸呢?如果我们说传球必须在最大5秒钟内发生,则我们将必须考虑在第一相关事件之后在最大5秒钟的时间段内的事件,直到我们已检测到传球为止或者直到我们中止为止。然而,同样有可能最后一个相关事件是计算上相当复杂的,这要求小规模的附加的缓冲器。但这个附加的缓冲器的尺寸是什么呢?并且与要求“传球”事件作为输入事件的复合事件检测器相关的缓冲器尺寸是什么呢?事件信令延迟取决于整个最终的系统/网络配置(即,事件检测器的分布)以及网络负荷和CPU负荷。最后的系统配置和负荷场景均不可以在编译时被预见到。
[0019]大多数现有的事件检测系统不考虑前述的事件信令延迟问题,因为在许多情况下,事件处理或传播延迟不是相关的。然而,特别对于诸如在金融或位置跟踪场景中的高度复杂的实时事件检测系统来说,情况不是这样的。
[0020]以下英式足球相关的示例在频繁地要求的“越位”事件检测场景的基础上例示了事件延迟问题,其在图1中被示意性地图示。
[0021]选手100将球110向前传给他的队友120。在传球的实际(真实)时间,S卩,球110经历加速度摆动或峰值(见图1,左边)所在的时间,选手120位于越位位置中差几厘米。因此,将必须中断比赛。
[0022]然而,为了能够区分第一选手100的直接传球或控球,仅当球120实际上离开第一选手100时可以检测从第一选手100到第二选手120的传球。由于传感器数据的有限数据速率,这个区分判定可以花费至少几个毫秒的附加的“自然”延迟。然而,在这个自然延迟之后,第二选手120可以不再处于越位位置中(见图1,右边)。
[0023]在这里,只考虑参与的自动地生成的事件的时间顺序不足以做出越位判定。而且,它们必须被排序。不仅计算时间或网络传播延迟是相关的,而且必须考虑有原因的实时变化。所检测到的传球事件的时间戳必须被重置到过去,即其中球经历加速度峰值的时刻。
[0024]由于事件的时间顺序对于正确的跟随判定或事件的重要性,期望确保要被事件检测器处理的事件的原始时间顺序。

【发明内容】

[0025]本发明的实施方式可以基于如下的发现,即,经由不同的网络路径到达事件检测器并且因此经历不同的处理和/或传输延迟的事件的原始时间顺序的恢复可以通过在将事件转发或中继到后续的事件检测器之前适当地延迟事件来实现。事件被中继到后续的事件检测器的时间可以是基于相应事件的原始时间戳以及由后续事件检测器为了确定其输出事件所要求的所有输入事件的处理和/或传播延迟的。
[0026]出于这种目的,本发明的实施方式提供了一种用于使第一事件和第二事件同步的设备。所述第一事件具有基于公共时钟信号与所述第一事件相关联的第一事件定时值,所述第二事件具有基于所述公共时钟信号与所述第二事件相关联的第二事件定时值。所述第一事件和所述第二事件行进通过分布式计算系统的不同路径,并且分别经历不同的延迟。至少一个输出事件将由事件检测器基于所述第一事件和所述第二事件来确定。根据实施方式,用于同步的所述设备包括:与所述事件检测器相关联的延迟补偿器,所述延迟补偿器包括用于接收所述第一事件和所述第二事件的输入端并且具有用于将所接收到的所述第一事件和所述第二事件的中继版本转发到相关联的事件检测器的输出端。所述延迟补偿器可操作以基于所经历的延迟并且基于相关联的第一和第二事件定时值将所述第一事件和所述第二事件中继到相关联的事件检测器,所述第一和第二事件定时值分别还可以被称为反映原始事件发生时间的事件时间戳。
[0027]用于同步的所述设备还可以被称为同步设备,可以实现在分布式计算系统的节点上或节点内,分布式系统可以是例如分布式计算机网络以及多核处理器。在计算机网络情况下,节点(即,网络节点)可以是例如经由以太网与其它节点进行通信的计算机装置或其处理单元(例如CPU)。而且,同步设备与可以优选地在相同的硬件节点上运行或实现的事件检测器相关联。因此,同步设备还可以被理解为用于将输入事件以正确的顺序转发到相关联的事件检测器的调度器。在分布式计算系统的节点上执行的所有系统或网络节点和/或事件检测器具有相同的公共时基,该公共时基可以从公共时钟信号导出。事件的发生或检测时间,即,相应的事件定时值或时间戳,从对于分布式计算系统的所有节点有效的公共时钟信号导出。
[0028]事件可以是仅基于(原始)传感器数据或从(原始)传感器数据导出的本原事件或基于本原事件的复合事件。由此,根据一些实施方式,传感器数据可以源于耦合到分布式系统的传感器网络,其中,传感器网络可以特别地是无线位置跟踪网络或系统。在该情形中,传感器数据可以包括运动数据,运动数据包括地理位置数据样本、速度数据样本、和/或加速度数据样本,其中,各个数据样本分别对应于预定的样本时间间隔。因此,根据一些实施方式,第一和第二事件可以基于源于地理定位系统的并行传感器数据流。而且,第一和第二事件可以已经发生或已经在分布式计算系统的不同的计算节点上检测到,使得它们必须沿着不同的系统路径传播以到达延迟补偿器的节点(延迟补偿器正在其上运行或实现在其中的计算节点)。
[0029]根据一些实施方式,延迟补偿器可以包括缓冲器存储器,用于在将第一和第二事件中的至少一个事件中继或转发到其相关联的事件检测器以用于进一步处理之前缓存和延迟该至少一个事件。在第一和第二事件以与第一和第二事件的原始时间发生或检测顺序(可以从它们的相关联的原始事件时间戳导出)不对应的时间接收顺序到达延迟补偿器的输入端的情况下,延迟补偿器可操作以将第一和第二事件两者中继到相关联的事件检测器,使得经中继的第一和第二事件的时间顺序对应于它们的原始时间发生顺序。由此,该原始时间发生顺序涉及其中第一和第二事件在到达同步设备的延迟补偿器之前已经原始地发生或已经被检测到的顺序。
[0030]为了恢复可能已经无序地到达延迟补偿器的输入端的第一和第二事件的原始时间顺序,延迟补偿器可操作以分别地中继第一和第二事件,使得接收到的第一和第二事件的中继版本之间的相对时间差对应于第一和第二事件之间的原始相对时间差。这可以通过基于第一和第二原始事件定时值,即,基于第一和第二原始事件时间戳,以及针对相关联的后续事件检测器的所有事件被延迟的公共延迟值而确定用于将第一和第二事件中继或转发到相关联的事件检测器的输出时间实例来实现。
[0031]为了保证最小的要求的公共延迟值,即,为了实现(至少)两个事件的尽可能快的延迟,延迟补偿器可操作以基于第一和第二事件定时值并且基于第一和第二事件的最大延迟而确定用于将第一和第二事件中继到相关联的事件检测器的输出时间。由此,事件的延迟可能是由于若干个原因引起的。例如,在分布式计算系统内的事件的延迟可能是由于在不同的网络路径上的不同的抖动条件、或由于不同的处理持续时间和/或不同的网络延迟引起的。换句话说,由于不同的抖动条件、不同的处理持续时间和/或不同的网络延迟,第一事件和第二事件在延迟补偿器的输入端处的接收顺序可以与第一事件和第二事件的原始发生顺序不同。
[0032]根据本发明的一些实施方式,延迟补偿器可操作以基于第一事件和第二事件在延迟补偿器的接收事件并且基于反映事件发生的它们的各自的相关联的事件定时值而分别测量或确定第一事件和第二事件的事件延迟。当利用Λ (.)表示事件ej(i = 1,2,...)的从其发生或检测时间= I, 2,…)到延迟补偿器的输入端的传播或信令延迟时,根据一些实施方式,延迟补偿器可操作以基于如下的等式而确定用于中继第一事件和第二事件到后续事件检测器 的输出时间实例Uui (i = 1,2,…),
[0033]tout,el,e2 = t 事件,el,e2+max(A (e!),Λ (e2)), (I)
[0034]其中,max(.)表示最大值运算符。即,延迟补偿器可操作以确定从与第一事件和第二事件相关联的事件延迟的集获得的最大延迟值。在存在多于两个的要由延迟补偿器的实施方式中继的事件的情形中,当然,延迟补偿器可以通过从与该多于两个的事件相关联的事件延迟的集中获取最大的延迟值而确定公共延迟值。
[0035]在具有改变的系统负荷情形、在各个节点处的改变的处理能力、以及可能动态地改变的网络路径的动态分布式计算系统中,到达延迟补偿器的第一事件和第二事件的传播或处理延迟也将随着时间改变而不是静态的。本发明的实施方式可适配为对此进行说明。延迟补偿器因此可以适配为或可操作以基于当前的或多个之前测量的或确定的事件延迟而确定事件j的事件延迟Λ (ej)。由此,与它们的之前的事件延迟相比,更多的新近的事件延迟可以被加权。在具体的实施方式中,延迟补偿器可以适配为基于如下的等式来确定事件j的事件延迟Λ (ej),
[0036]A(eZ) = 4Σ〔Δβ/(ζ.)^Τ^ + θ.G(eZ)(2)

2 f-1 V
[0037]其中,k表示一组k个已经确定的事件延迟,Δ ej (i)表示事件e」的第i个确定的延迟,其中i = I对应于最迟确定的延迟,σ (ej)表示最迟确定的延迟Λ (ej)的标准方差,并且其中Θ表示安全因子。在一些实施方式中,为了事件j的事件延迟Λ (ej)的较容易的且不太复杂的计算,因子Θ还可以被设置为零。等式(2)的各个被加项根据几何行被加权。因子1/2用作归一化因子,因为对于足够大的“k”,几何行朝2收敛。考虑最迟测量值的标准方差,项θ.σ (ej)可以用作安全缓冲。例如,在Θ = 3情况下,它可以起99.975%安全的作用。从而,99.975%安全意味着根据等式(2)而计算或者预测的延迟在99.975%的概率情况下不小于对应的实际的或真实的网络延迟。例如,安全缓冲θ.σ (ej)可以被适配为网络相对于延迟变化的稳定性。
[0038]用于同步的设备,并且因此,延迟补偿器可以优选地实现在与相关联的事件检测器相同的分布式计算系统的节点(例如,网络节点、处理器核等)上,从而不会对经延迟的或转发的第一事件和第二事件进一步引入不同的和不可预见的信号延迟。由此,延迟补偿器和/或相关联的事件检测器可以以硬件,例如,以ASIC(专用集成电路),或以软件,例如,通过在计算节点上作为进程而执行的计算机程序的实例,而实现。进程包括程序代码及其当前活动。根据操作系统(OS),进程可以由同时地执行指令的多线程执行而构成。例如,延迟补偿器可以实现为将相关联的事件检测器连接到在网络或分布式系统的不同网络节点之间分布的事件的中间件软件部件。
[0039]延迟补偿器接收目的地为事件检测器的事件信号。接收到的事件可能不按照它们的原始时间顺序被传送到延迟补偿器,因为在不同的路径上传播通过分布式计算系统的事件可能经历不同的延迟。例如,尽管第一事件原始地在第二事件之前发生,但是由于例如更高的传播延迟,第一事件可能比第二事件更晚第到达延迟补偿器。如之前已经描述的,延迟补偿器可基于事件的发生时间戳和它们在延迟补偿器处的接收时间而确定事件的延迟。基于感兴趣的所有事件的延迟,可以确定最大的延迟值。为了恢复事件的原始时间顺序并且同时仅引入最小的可能的公共延迟,每一个感兴趣的事件在基于该事件的发生时间戳加上感兴趣的所有事件的最大延迟值而确定的输出时间实例处被转发到相关联的事件检测器。给定到事件检测器的事件流,该事件流包括第一或第二事件,延迟补偿器可以布置在相关联的事件检测器的上游(即,之前)以能够缓存针对其相关联的事件检测器的感兴趣的事件。因此,事件检测器可以布置在其相关联的延迟补偿器的下游(即,之后)。
[0040]根据本发明的又一方面,提出了用于基于至少一个(原始)传感器数据流来确定事件的分布式计算系统。可以是计算机网络的所提出的分布式计算系统包括多个分布式节点,其中,所述多个分布式节点中的每一个都包括事件检测器和根据本发明的实施方式的相关联的用于同步的设备。
[0041]在一些实施方式中,分布式计算系统可以被耦合到用于定位和/或跟踪在预定地理区域内的对象的定位系统,其中,所述定位系统将至少一个传感器数据流提供到所述分布式计算系统,所述传感器数据流承载指示被定位对象的地理位置的数据。所述定位系统可以基于已经在该说明书的导言部分中描述的无线传感器网络。
[0042]为了检测诸如本原事件和/或复合事件的事件,各种事件检测器在分布式计算系统的不同的节点上运行。根据系统的状态和/或根据要分析的数据或事件检测器的复杂性,如此的事件检测器可以导致在它们各自的节点和/或整个分布式计算系统上的不同的负荷。因此,在原始系统配置的改变的前提或条件的场景中,事件检测器在各个网络节点上的原始分布能够证明相对于负荷平衡是次优的或者能够甚至导致分布式计算系统的崩溃。
[0043]这样不合需要的负荷不均衡可以被同步设备或其延迟补偿器的实例检测到。如果至少一个事件延迟达到过高的值,则这可以指示始发事件检测器进程(对应事件从该始发事件检测器进程到达延迟补偿器)是过载的或者经历一些其它问题。在这样的场景中,可能期望将恶意的始发事件检测器进程转移或者再定位到分布式计算系统的一些其它硬件资源。例如,恶意的事件检测器进程可以被从其当前节点转移到分布式计算系统的具有更多可用的硬件资源的另一物理上分离且不同的节点。
[0044]为此目的,根据本发明的又一方面,还提出了用于将分布式计算系统的第一节点的第一事件检测器进程转移到分布式计算系统的与所述第一节点不同的第二节点的第二事件检测器进程的设备,用于转移的所述设备包括:用于将所述第一事件检测器进程的进程内容拷贝到所述第二事件检测器进程的装置。而且,所述设备包括用于协调所述第一事件检测器进程的输入事件使得在所述第一事件检测器进程和所述第二事件检测器进程两者处并行地处理所述第一事件检测器进程的输入事件的装置。进一步提出了用于验证所述第一事件检测器进程的所述输入事件是否在所述第一事件检测器进程和所述第二事件检测器进程两者处导致相同的输出事件的装置,所述第一事件检测器进程的所述输入事件在所述第一事件检测器进程和所述第二事件检测器进程两者处被并行地处理。
[0045]根据一些实施方式,用于验证的装置可操作以在在第一事件检测器进程和第二事件检测器进程两者处的输出事件是相同的情况下关闭第一事件检测器进程,或者,可操作以在在第一事件检测器进程和第二事件检测器进程两者处的输出事件不是相同的情况下关闭第二事件检测器进程。
[0046]根据本发明的又一个方面,用于转移第一事件检测器进程的设备可以被优选地但非排他地与用于使第一和第二事件同步的设备相结合地集成到分布式计算系统中。因此,这样的分布式计算系统可以包括多个分布式节点,其中所述多个分布式节点中的每一个都包括用于根据本发明的实施方式同步的设备,以及用于将分布式计算系统的第一节点的第一事件检测器进程转移到分布式计算系统的第二节点的第二事件检测器进程的设备,其中用于转移的设备包括前述特征。
[0047]用于使事件同步的设备和用于转移事件检测器进程的设备由此可以以所描述的方式协作。也就是说,用于同步的设备可以检测延迟,以及因此检测分布式计算系统内的负荷异常,而用于转移的设备可以转移事件检测器进程以便更好地使事件检测器的分布均衡,导致较小的总体延迟和较低的负荷。事件检测器的分布可以基于多种事件检测器进程分布准则而完成。根据本发明的不同的方面,最优的事件检测器进程分布准则可以导致分布式计算系统中的所有事件的最小总体延迟、分布式计算系统中的最小数目的安全事件订阅、分布式计算系统的给定节点的负荷的最小变化、或最小总体分布式计算系统负荷中的一个。从而,事件检测器或与其相关联的事件调度器可以订阅由事件检测器所要求的事件。如果特定事件对于事件检测器来说是绝对地强制的,则它可以“安全地订阅”所述输入事件。在这种情况下,所讨论的事件可以经由错误受控传输构思(例如自动重复请求(ARQ))而被传输到事件检测器/调度器。
[0048]本发明的又一个方面还提出了用于使第一事件和第二事件同步的方法,其中,所述第一事件具有基于公共时钟信号与所述第一事件相关联的第一(原始)事件定时值,所述第二事件具有基于所述公共时钟信号与所述第二事件相关联的第二(原始)事件定时值,所述第一事件和所述第二事件行进通过分布式计算系统的不同路径,并且经历不同的延迟。所述方法包括在延迟补偿器处将所述第一事件和所述第二事件中继到相关联的事件检测器的步骤,其中,所述第一事件和所述第二事件基于所经历的延迟并且基于相关联的第一和第二原始事件定时值而被中继到所述事件检测器。用于同步的所述方法还包括在与所述延迟补偿器相关联的所述事件检测器处基于经中继的第一输入事件和经中继的第二输入事件来检测至少一个输出事件的步骤。
[0049]一些实施方式包括安装在用于执行用于使第一事件和第二事件同步的方法的设备内的数字控制电路。这样的数字控制电路(例如,数字信号处理器(DSP))需要被相应地编程。因此,更进一步的实施方式还提供了一种计算机程序,所述计算机程序具有用于在计算机程序在计算机或数字处理器上被执行时执行所述方法的实施方式的程序代码。
[0050]本发明的实施方式的一个有益效果是,事件可以被识别/检测并且仅以最小延迟转发到后续事件检测器。本发明的实施方式可以被实现使得以较低延迟转发事件在不用冒错误的后续事件检测的危险的情况下不是容易地可能的。并且,采用本发明的实施方式,事件检测器的开发者不需要关于特定事件延迟的任何特殊知识,因为该分布式系统的实施方式可以自动地测量和管理那些事件延迟。
[0051]可以在根据本发明的实施方式的分布式计算系统的自我组织中看到另一有益效果。这样的分布式计算系统可以通过在网络节点之间转移事件检测器进程而起作用于改变系统条件,使得该分布式系统或网络总是能够执行鲁棒且高效的事件信号处理。
【专利附图】

【附图说明】
[0052]将仅通过示例并且参考附图在下文中对设备和/或方法的一些实施方式进行描述,在附图中
[0053]图1图示了英式足球特定的越位事件检测场景;
[0054]图2示意性地示出了根据本发明的实施方式、用于使第一事件与第二事件同步的设备的框图;
[0055]图3示意性地示出了本发明的实施方式,其中用于使第一事件与第二事件同步的设备被实现为分布式网络与关联的事件检测器软件之间的中间件;
[0056]图4示出了由事件检测器所要求的四个事件A、B、C以及D的定时表;
[0057]图5示意性地图示了根据本发明的实施方式的事件调度;
[0058]图6示意地示出了用于使第一事件与第二事件同步的示例性方法的流程图;
[0059]图7示出了用于基于至少一个传感器数据流来确定事件的分布式计算系统的实施方式,其中分布式计算系统包括多个分布式计算节点,其中所述多个分布式计算节点中的每一个都包括用于使事件同步的设备的实施方式;
[0060]图8示意性地图示了用于将分布式计算系统的第一节点的第一事件检测器进程转移到分布式计算系统的第二节点的第二事件检测器进程的设备的实施方式;以及
[0061]图9示意性地图示了用于将分布式计算系统的第一节点的第一事件检测器进程转移到分布式计算系统的第二节点的第二事件检测器进程的方法的实施方式的流程图。
【具体实施方式】
[0062]现将参考附图更全面地描述各种示例实施方式,在附图中一些示例实施方式被图示。在图中,为了清楚,层和/或区的厚度可以被放大。[0063]因此,虽然示例实施方式能够各种修改和替代形式,但是其实施方式在图中通过示例来示出并且将在本文中被详细地描述。然而,应该理解的是,没有将示例实施方式限制于所公开的特定形式的意图,而是相反,示例实施方式将涵盖落入本发明的范围内的所有修改、等同物以及替代方案。同样的附图标记在图的所有描述中指的是同样的或类似的元素。
[0064]将理解的是,当元件被称为被“连接”或者“耦合”到另一元件时,它能够被直接地连接或者耦合到另一个元件或者可以存在中间元件。相比之下,当元件被称为被“直接地连接”或者“直接地耦合”到另一元件时,没有中间元件存在。应该以同样的方式来解释用来描述元件之间的关系的其它词语(例如,“在...之间”对“直接地在...之间”、“相邻”对“直接地相邻”等等)。
[0065]本文中所用的术语仅用于描述特定实施方式的目的并且不旨在限制示例实施方式。如本文中所用的那样,除非上下文另外清楚地指示,否则单数形式“一”、“一个”以及“该”均旨在也包括复数形式。将进一步理解的是,术语“含”、“含有”、“包含”和/或“包括有”当被用在本文中时,指定陈述的特征、整体、步骤、操作、元件和/或组件的存在,但不排除一个或更多个其它特征、整体、步骤、操作、元件、组件和/或它们的组合的存在或添加。
[0066]除非另外定义,否则本文中所用的所有术语(包括技术术语和科学术语)都具有与由示例实施方式所属于的领域内的普通技术人员所通常理解的相同的意义。将进一步理解的是,术语(例如,在通常使用的词典中所定义的那些)应该被解释为具有与它们在相关技术的上下文中的意义一致的意义,并且除非在本文中明确地如此定义,否则将不在理想化的或太正式的意义上被解释。
[0067]图2示意地图示了用于使第一事件202与第二事件204同步的设备200的实施方式。
[0068]第一事件202具有基于公共时钟参考信号与其相关联的第一原始事件定时值或时间戳。第二事件204也具有基于公共时钟信号与其相关联的第二原始事件定时值或时间戳。第一和第二原始事件定时值表示原始事件发生时刻。公共时钟信号产生总体系统时间,其对于分布式计算系统中的所有不同的节点都是有效的。在到达用于使事件同步的设备200之前,第一事件202和第二事件204行进通过分布式计算系统(未在图2中示出)的不同的路径或路线,并且经历不同的延迟。基于两个事件202、204,至少一个输出事件206可以由事件检测器208来确定,所述事件检测器208可以被布置在用于使事件202、204同步的设备200之后(接连)或下游。
[0069]在一些实施方式中,还可以被认为是用于事件检测器208的事件调度器的同步设备200包括还被称为延迟补偿设备的延迟补偿器210,其与后续事件检测器208相关联或相关。延迟补偿器210具有用于从分布式网络接收第一事件202和第二事件204的输入端212-1、212-2。进一步地,延迟补偿器具有用于将所接收到的第一事件202和第二事件204的中继版本中继或者转发到所关联的事件检测器208的输出端214-1、214-2,所述关联的事件检测器208可以被布置在延迟补偿器210之后或下游。延迟补偿器210可操作以基于事件202、204的所经历的延迟并且基于所关联的第一和第二原始事件定时值或链接到两个事件202、204的时间戳将第一事件202和第二事件204中继到所关联的事件检测器208。
[0070]在图3中示意性地描绘了分布式计算系统300 (具有网络的形式)、各种事件检测器208以及用于使多个事件同步的设备200的实施方式的示例性布置。
[0071]图3示意性地图示了分布式网络300,事件302和原始传感器数据304从该分布式网络300到达同步设备200,所述同步设备200在图3中被示例性地表示为“事件核(EventCore) ”。同步设备200可以一方面通过从底层网络300接收事件302和/或原始传感器数据304、以及另一方面通过在特定要求的输出端或中继时间实例处将它们转发到耦合至同步设备200的多个事件检测器208来作为事件调度器。同步设备200被适配成使由后续的事件检测器208所要求的不同事件302和/或传感器数据304同步。从而,可以以分布式方式实现同步设备200,使得它能够各自地使由后续的事件检测器208中的每一个所要求的事件302或304同步。也就是说,事件核设备200可以包括多个延迟补偿器210或其实例,其中所述多个延迟补偿器210中的每一个都与所述多个后续的事件检测器208中的一个相关联。从而,延迟补偿器实例210和关联的事件检测器208可以优选地被实现在一个公共网络节点上。根据一些实施方式,同步设备200及其延迟补偿器实例210可以被实现为网络300与事件检测器208之间的中间件。
[0072]公共时钟信号306被提供给同步设备200或者提供给其不同的实例,从而使能图3中所描绘的分布式系统架构的所有延迟补偿器和/或事件检测器实例210、208的时间同步。因此,每个延迟补偿器210都能够访问相同的公共时基。换句话说,所有(分布式)同步设备或延迟补偿器实例200、210都可以在任何给定时间检索相同的系统时间戳。在延迟补偿器实例210接收到事件302或304情况下,它可以缓冲针对关联的后续事件检测器实例208的所述事件持续要求量的时间,其对应于没有由事件检测器实例208所要求的并且承载较早时间戳的其它事件将被接收到的足够高的概率。
[0073]为得到更多细 节,让我们考察以下示例:任意事件检测器208要求输入事件A、B、C以及D以便能够基于所述输入事件来正确地确定或者检测复合输出事件E。因为每个网络实例都被全局公共时钟信号306同步,所以可使检测时间与每个事件相关联(见图4,中间列)。从而,事件的检测时刻由于有限的处理速度而必定比事件的实际发生时刻(见图4,左列)要晚。
[0074]在这个示例中,事件A的发生时间1?#』是10,然而,它仅被事件检测器在检测时间t_lhA = 14处检测到。用于检测复合事件E的后续事件检测器在接收时间tED,A = 16处接收到所要求的事件A。类似地,事件B实际上发生在12处并且得以被一些事件检测器在t_lhB = 13处检测到。用于检测复合事件E的后续复合事件检测器在时刻tED,A=15处检索到事件B。也就是说,用于事件E的复合事件检测器在它接收到事件A之前接收到B,然而事件A实际上比事件B发生更早。由于处理和网络传播延迟,事件C (其实际上比事件A出现得晚)也被比后续的复合事件检测器更早地接收。
[0075]从这个示例,在不使用本发明的实施方式的情况下,可以看到,用于事件E的后续的复合事件检测器按时间顺序(见图4,最右列)接收所要求的事件A、B、C以及D,所述时间顺序不同于所述事件的原始原因或时间顺序(见图4,最左列)。因此,本发明的实施方式的任务是适当地对所要求的事件A、B、C以及D进行排序,以便在将所要求的事件A、B、C以及D转发到后续的复合事件检测器之前恢复对应于原始时间顺序的时间顺序。出于那种目的,同步设备200的实例可以连同关联的事件检测器208 —起被实现在每个网络节点上。
[0076]根据实施方式,(可能分布式)同步设备200的延迟补偿器210可操作以将多个要求的事件中继到关联的事件检测器,使得所要求的事件A、B、C以及D (其在延迟补偿器210处已被接收到)的中继版本的时间顺序对应于多个要求的事件A、B、C以及D的原始时间顺序。出于该目的,延迟补偿器210可以中继多个事件A、B、C以及D中的每一个,使得各个中继的事件之间的相对时间差分别对应于各个事件A、B、C以及D之间的原始相对时间差。为了恢复原始时间事件顺序,延迟补偿器210可以为所述多个事件A、B、C以及D中的每一个确定输出时间实例。从而事件在其对应的输出时间实例处被中继到所关联的事件检测器210。可以基于事件A、B、C以及D的公共延迟值和原始发生时间实例来确定事件的输出时间实例。
[0077]以上述示例为例,同步设备实例200以及因此包括在其中的延迟补偿器实例210可以基于它们相应的接收时间和反映它们的实际发生的它们相应关联的原始事件定时值来测量或者确定以下事件延迟:
[0078]事件A:16-10 = 6
[0079]事件B:15-12 = 3
[0080]事件C:15-14= I
[0081]事件D:18-15 = 3
[0082]显然,事件A在延迟补偿器210处的接收与由后续的复合事件检测器所要求的其它事件B、 C以及D相比基本上费时更长。例如,这可能是由于在导致通过网络300的长传播时间的遥远的计算节点上的事件A的检测而导致的,或者是由于事件A通过具有更长计算时间的计算更复杂的算法检测而导致的。在示例性情况下,事件A的长延迟可能是由于花费四个时钟周期或时间间隔的事件检测而导致的。
[0083]让我们假定我们已足够频繁地测量或者确定了感兴趣的所有事件的所有延迟并且我们是在以下位置处:在时刻tDQC= 1000处事件C到达包括延迟补偿器210的用于同步的设备200。事件C携带事件定时值= 999,其指示事件C在时刻999处已发生了。延迟补偿器210考察感兴趣的所有事件(即,由所关联的后续复合事件检测器208所要求的所有事件A、B、C以及D)的延迟,并且确定事件C直到它可以被转发到所关联的后续事件检测器208为止必须被延迟有多久。注意的是,延迟补偿器210仅知道事件A、B、C以及D是所关联的后续事件检测器208要求的,但不知道按哪一个顺序以及用于哪一个目的。
[0084]用于将事件C中继到所关联的后续事件检测器208的输出时间实例可以根据如下等式来确定。
[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分别表示第一事件至第四事件,Δ (.)表示事件从其发生到与所关联的后续事件检测器208相关联的延迟补偿器210的输入端的延迟,max(.)表示最大值运算符,以及t。#。表示经延迟的事件C的输出时间实例。
[0088]通常,延迟补偿器210可操作以基于如下等式来确定用于中继来自一组K个要求事件的事件h的输出时间实例。
[0089]tout’ej = t 事件,ej+max ( Δ (e^,Δ (e2),...,Δ (e」),...,Δ (eK)) (4)
[0090]在具有网络300的改变的负荷情形的动态分布式计算系统中,各个节点的可能改变的处理能力和/或可能动态地改变的网络路径、到达延迟补偿器实例210的事件的传播或处理延迟很可能随着时间的推移而改变,而不是静态的。延迟补偿器210可以通过基于针对来自一组K个事件的事件&的当前的和多个先前测量的或确定的事件延迟确定所述事件ej的事件延迟值Λ (ej)来说明这个。从而,更近的事件延迟可以比它们前面的时间延迟被加权更多。在特定实施方式中,延迟补偿器可以被适配成基于前述的等式(2)的变型而确定事件e」的事件延迟Λ (ej)。
[0091]回到上述简单的示例,事件C可以在输出时间实例= 1005处被转发到所关联的后续事件检测器208。这确切地是我们可以说事件A、B以及D不在事件C之前有原因地发生的时刻。在我们的示例中,所关联的后续事件检测器208在以下表中所指示的中继
或输出时间实例处获得转发的以下事件:
[0092]
【权利要求】
1.一种用于使第一事件(202)和第二事件(204)同步的设备(200),其中,所述第一事件(202)具有基于公共时钟信号与所述第一事件(202)相关联的第一事件定时值,所述第二事件(204)具有基于所述公共时钟信号与所述第二事件(204)相关联的第二事件定时值,所述第一事件和所述第二事件(202 ;204)行进通过分布式计算系统(300 ;700)的不同路径,并且经历不同的延迟,并且其中,至少一个输出事件(206)将由事件检测器(208)基于所述第一事件和所述第二事件(202 ;204)来确定,所述设备(200)包括: 与所述事件检测器(208)相关联的延迟补偿器(210),所述延迟补偿器(210)具有用于接收所述第一事件和所述第二事件(202 ;204)的输入端(212)并且具有用于将所接收到的所述第一事件和所述第二事件的中继版本(202’;204’)转发到相关联的事件检测器(208)的输出端(214), 其中,所述延迟补偿器(210)可操作以基于所经历的延迟并且基于相关联的第一和第二事件定时值将所述第一事件和所述第二事件(202 ;204)中继到相关联的事件检测器(208)。
2.根据权利要求1所述的设备(200),其中,所述延迟补偿器(210)可操作以将所述第一事件和所述第二事件(202 ;204 ;302 ;304)中继到相关联的事件检测器(208),使得所接收到的所述第一事件和所述第二事件的所述中继版本(202’ ;204’ )的时间顺序对应于所述第一事件和所述第二事件的原始时间顺序(202 ;204 ;302 ;304)。
3.根据权利要求1或2所述的设备(200),其中,所述延迟补偿器(210)可操作以分别中继所述第一事件和所述第二事件(202 ;204 ;302 ;304),使得所接收到的所述第一事件和所述第二事件的中继版本(202’ ;204’ )之间的相对时间差对应于所述第一事件和所述第二事件(202 ;204 ;302 ;304)之间的原始相对时间差。
4.根据前述权利要求中一项所述的设备(200),其中,所述延迟补偿器可操作以基于所述第一事件定时值和所述第二事件定时值以及公共延迟值而确定用于将所述第一事件和所述第二事件中继到相关联的事件检测器的输出时间实例。
5.根据前述权利要求中一项所述的设备(200),其中,所述延迟补偿器(210)可操作以基于所述第一事件定时值和所述第二定时值以及所述第一事件和所述第二事件的最大事件延迟而确定用于将所述第一事件和所述第二事件(202 ;204 ;302 ;304)中继到相关联的事件检测器的输出时间。
6.根据前述权利要求中一项所述的设备(200),其中,所述延迟补偿器(210)可操作以基于所述第一事件或所述第二事件(202 ;204 ;302 ;304)在所述延迟补偿器(210)处的接收时间以及所述第一事件和所述第二事件各自的相关联的事件定时值而分别测量所述第一事件和所述第二事件(202 ;204 ;302 ;304)的事件延迟。
7.根据前述权利要求中一项所述的设备(200),其中,所述延迟补偿器(210)可操作以基于如下的等式而确定用于中继所述第一事件和所述第二事件(202 ;204 ;302 ;304)的输出时间实例,
tout = t 事件 1; 2+max ( Δ (ej), Δ (e2)), 其中,el, e2分别表示所述第一事件和所述第二事件,△(.)表示事件从该事件的发生到与所述事件检测器相关联的所述延迟补偿器的所述输入端的延迟,max(.)表示最大值运算符,以及Iut表示经延迟的所述第一事件或所述第二事件的输出时间实例。
8.根据前述权利要求中一项所述的设备(200),其中,所述延迟补偿器(210)可操作以基于如下的等式而确定事件j的事件延迟Λ (ej), Δ(β/)=^Σ?Δβ;(ζ')^τ]+θ T(eJ)
L /-1 VL ), 其中,k表示一组k个已经确定的事件延迟,Aej (i)表示事件e」的第i个确定的延迟,其中i = I对应于最迟确定的延迟,σ (ej)表示最迟确定的延迟Λ (ej)的标准方差,并且其中Θ表示安全因子。
9.根据前述权利要求中一项所述的设备(200),其中,在包括所述第一事件和所述第二事件(202 ;204 ;302 ;304)的事件流中,所述延迟补偿器(210)被布置在相关联的事件检测器(208)的上游。
10.根据前述权利要求中一项所述的设备(200),其中,由于不同的抖动条件、不同的处理持续时间和/或不同的网络延迟,所述第一事件和所述第二事件在所述延迟补偿器的所述输入端处的接收顺序与所述第一事件和所述第二事件(202 ;204 ;302 ;304)的原始发生顺序不同。
11.根据前述权利要求中一项所述的设备(200),其中,事件定时值对应于原始事件检测时间或原始事件发生时间之一。
12.根据前述权利要求中一项所述的设备(200),其中,事件(202;204 ;302 ;304)是直接地基于传感器数据的 本原事件或基于本原事件的复合事件。
13.根据前述权利要求中一项所述的设备(200),其中,所述第一事件和所述第二事件(202 ;204 ;302 ;304)被原始地在所述分布式计算系统(300 ;700)的分布式节点(704)上检测到,并且其中,所述第一事件和所述第二事件(202 ;204 ;302 ;304)是基于地理定位系统的并行传感器数据流的。
14.一种用于基于至少一个传感器数据流(702)来确定事件的分布式计算系统(700),所述分布式计算系统(700)包括: 多个分布式计算节点(704),其中,所述多个分布式计算节点中的每一个都包括根据前述权利要求中一项所述的用于同步的设备(200)。
15.根据权利要求14所述的分布式计算系统(700),其中,所述分布式计算系统(700)被耦合到用于定位和/或跟踪在预定地理区域内的对象的定位系统,并且其中,所述定位系统将传感器数据流(702)输入到所述分布式计算系统(700),所述传感器数据流(700)承载指示被定位对象的地理位置的数据。
16.根据权利要求14或15中一项所述的分布式计算系统(700),所述分布式计算系统(700)进一步包括: 用于将所述分布式计算系统(700)的第一节点(704-1)的第一事件检测器进程转移到所述分布式计算系统的与所述第一节点不同的第二节点(704-1)的第二事件检测器进程的设备(800),所述设备(800)包括: 用于将所述第一事件检测器进程的数据范围拷贝到所述第二事件检测器进程的装置(802); 用于在所述第一事件检测器进程和所述第二事件检测器进程两者处并行地处理所述第一事件检测器进程的输入事件的装置(804);以及用于验证所述第一事件检测器进程的所述输入事件是否在所述第一事件检测器进程和所述第二事件检测器进程两者处导致相同的输出事件的装置(806),所述第一事件检测器进程的所述输入事件在所述第一事件检测器进程和所述第二事件检测器进程两者处被并行地处理。
17.一种用于使第一事件(202)和第二事件(204)同步的方法(600),其中,所述第一事件(202)具有基于公共时钟信号与所述第一事件(202)相关联的第一事件定时值,所述第二事件(204)具有基于所述公共时钟信号与所述第二事件(204)相关联的第二事件定时值,所述第一事件和所述第二事件(202 ;204)行进通过分布式计算系统(300 ;700)的不同路径,并且经历不同的延迟,所述方法(600)包括以下步骤: 在延迟补偿器(210)处将所述第一事件和所述第二事件(202 ;204)中继(602)到相关联的事件检测器(208),其中,所述第一事件和所述第二事件(202 ;204)基于所经历的延迟并且基于相关联的第一和第二原始事件定时值而被中继到所述事件检测器(208);以及 在与所述延迟补偿器(210)相关联的所述事件检测器(208)处基于经中继的第一输入事件和经中继的第二输入事件来检测(604)至少一个输出事件(206)。
18.一种计算机程序,所述计算机程序具有用于在所述计算机程序在计算机或处理器上被执行时执行权利要 求17的方法的程序代码。
【文档编号】H04L29/08GK104025554SQ201180074531
【公开日】2014年9月3日 申请日期:2011年10月31日 优先权日:2011年10月31日
【发明者】C·穆奇勒, N·威特, M·菲利普森, S·奥托 申请人:德国弗劳恩霍夫应用研究促进协会
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1