eventCountThreshold エレメント

<eventCountThreshold> エレメントはしきい値ルールに対してのみ有効です。このエレメントは、特定の期間内にイベント選択基準と一致する必要のあるイベント数を定義します。また、<eventCountThreshold> エレメントは、時間枠として指定可能な 2 つの時間間隔モード (固定またはスライディング) のいずれかも指定します。

詳細

固定間隔
固定間隔は、イベント選択基準に一致する最初のイベントを受信したときに始まり、以下のいずれかが発生した時点で終了します。
  • 指定された継続時間内にルールがそのしきい値に達した。
  • 指定された継続時間が経過した。
スライディング間隔
スライディング間隔は、イベント選択基準と一致する最初のイベントを受信したときに始まります。ただし、ルールがしきい値に達することなく指定された継続時間が経過した場合、時間枠の開始時刻は、新規の「最初の」イベント (通常は次に受け入れられるイベント) の受信時刻に調整 (スライド) されます。このようにして、スライディング間隔は、以下のいずれかが発生する時点まで継続して調整されます。
  • 指定された継続時間内にルールがそのしきい値に達した。
  • 時間枠を開始するイベントの受信後、指定された継続時間内に後続のイベントを受信しなかった。
時間枠を開始するイベント (新規の「最初の」イベントとなる) は、「受信時刻をルールの時間間隔の継続時間に追加すると、現行時刻よりも後になる」という基準に一致する受信時刻を持つイベントです。以下に、この基準を式の形式で示します。
イベントの受信時刻 + ルールの時間間隔の継続時間 > 現行時刻
このようなイベントが存在しない場合、スライディング間隔はそれ以上の時間調整が不可能になり、間隔は終了します。
しきい値ルールは、しきい値に達するか、期間が終了するまで、受け入れられた各イベントをカウントします。次に、ルールは必要に応じて <onDetection> エレメントまたは <onTimeOut> エレメント内で定義されているアクションを実行します。
<onDetection> アクション
これらのアクションは、イベント・カウントが、<eventCountThreshold> エレメントのしきい値属性で定義されている値と同じ場合 (しきい値に達したことを示します) に実行されます。
<onTimeOut> アクション
これらのアクションが実行されるタイミングは、時間間隔モードが固定かスライディングかによって異なります。
固定モード
固定モードの場合、これらのアクションは時間枠の有効期限が切れたときに実行されます。
スライディング・モード
スライディング・モードの場合、時間枠を開始するイベントの受信後、指定された継続時間内に後続のイベントが受信されなかった場合に、これらのアクションが実行されます。つまり、ルールの時間間隔の継続時間に追加したときに、現行時刻より後になる受信時刻を持つイベントが受信されなかったことになります。

時間枠の時間間隔モードは、<eventCountThreshold> エレメントの timeIntervalMode 属性で定義されます。 以下のシナリオは、指定可能な 2 つの時間間隔モードの振る舞いと相違点を示します。

固定モードおよびスライディング・モードを示すシナリオ

ルールが、イベント選択基準に一致する 4 つのイベントをそれぞれ 8:00、8:04、8:06、および 8:07 という時間に受信すると想定します。イベント・カウントのしきい値は 3 であり、時間枠の継続時間は 5 分です。
fixed (固定) モードのルールの振る舞い
この時間間隔モードでは、しきい値ルールは 8:00 に処理を開始し、5 分間に 2 つのイベントのみを受信するため、8:05 に <onTimeOut> アクションを実行します。したがって、時間枠内ではしきい値に達しません。しきい値ルールは、3 番目のイベントを 8:06 に受信したときに再度処理を開始し、5 分間に 2 つのイベントのみを受信するため、8:11 に <onTimeOut> アクションを実行します。

固定モードは静的です。

sliding (スライディング) モードのルールの振る舞い
この時間間隔モードでは、しきい値ルールは 8:00 に処理を開始します。時間枠が完了するスケジュールとなっている 8:05 に、ルールは 2 つのイベントのみを受信していることを判別します。この場合、ルールは 8:00 に受信したイベントを破棄し、8:09 に終了する期間を再計算します (最初のイベントが 8:04 に受信したイベントになったため)。ルールが 8:07 にイベントを受信したときに <onDetection> アクションが実行されます。最新の時間枠 (8:04 から 8:09) 内でしきい値 (8:04、8:06、および 8:07 の 3 つのイベント) に達したためです。

スライディング・モードは、時間枠内でしきい値に達することを試行して、開始時刻を継続的に調整 (スライド) するという点において動的です。

ここで、ルールがイベント選択基準に一致する 4 つのイベントをそれぞれ 8:00、8:04、8:06、および 8:10 という時間に受信すると想定します。イベント・カウントのしきい値は 3 であり、時間枠の継続時間は 5 分です。
sliding (スライディング) モードのルールの振る舞い
この場合、しきい値ルールは、8:00 に処理を開始します。時間枠が完了するスケジュールとなっている 8:05 に、ルールは 2 つのイベントのみを受信していることを判別します。この場合、ルールは 8:00 に受信したイベントを破棄し、8:09 に終了する期間を再計算します (最初のイベントが 8:04 に受信したイベントになったため)。

新たに時間枠が完了するスケジュールとなった 8:09 に、ルールは 2 つのイベントのみを受信していることを判別します。この場合、ルールは 8:04 に受信したイベントを破棄し、8:11 に終了する期間を再計算します (最初のイベントが 8:06 に受信したイベントになったため)。

新たに時間枠が完了するスケジュールとなった 8:11 に、ルールは 2 つのイベントのみを受信していることを判別します。この場合、ルールは 8:06 に受信したイベントを破棄し、8:15 に終了する期間を再計算します (最初のイベントが 8:10 に受信したイベントになったため)。

新たに時間枠が完了するスケジュールとなった 8:15 に、ルールは時間枠を開始した 8:10 のイベント以降イベントが受信されていないことを判別します。ルールはここで <onTimeOut> アクションを実行します。

属性

<eventCountThreshold> には以下の属性があります。

表 1. <eventCountThreshold> エレメントの属性
名前 説明 データ・タイプ 必須?
threshold 特定の時間内にイベント選択基準と一致する必要のあるイベント数を定義します。これは、到達すべきイベント・カウントのしきい値です。この値は正の整数でなければなりません。 xsd:positiveInteger はい
timeIntervalMode 時間枠の時間間隔が固定かスライディングかを定義します。この属性の有効値は以下のとおりです。
  • fixed (デフォルト値)
  • sliding
xsd:string いいえ

このエレメントを含むエレメント

<eventCountThreshold> は以下のエレメントに含まれます。

このエレメントに含まれるエレメント

<eventCountThreshold> に含まれるエレメントはありません。