(57)【特許請求の範囲】
【請求項１】
イベントに関する警告を配信するためのシステムであって、
1つまたは複数の機械可読ポリシーを生成するためのポリシー規定サブシステムであって、各ポリシーが、少なくとも1つの規則、および前記少なくとも1つの規則に関連する少なくとも1つのアクションを含み、各規則が、複数のイベントパラメータおよび関連する複数の所定のイベントパラメータの確率を含む、ポリシー規定サブシステムと、
センサーシステムからのデータを受信し、監視するための変化検出サブシステムであって、前記データが、予測されるイベントパラメータの値および関連する偏差の評価基準を含む、変化検出サブシステムと、
前記予測されるイベントパラメータの値および前記関連する偏差の評価基準を、前記少なくとも1つの規則の前記イベントパラメータおよび前記関連する所定のイベントパラメータの確率と比較することに基づいて、前記少なくとも1つの規則を実行し、前記少なくとも1つのアクションをトリガーするためのポリシー実行サブシステムであって、前記変化検出サブシステムからの命令を受信した後に前記少なくとも1つの規則の処理を開始し、前記変化検出サブシステムが、前記予測されるイベントパラメータの値のうちの少なくとも1つの所定の変化を検出すると前記ポリシー実行サブシステムに命令を送信する、ポリシー実行サブシステムと、
前記ポリシー実行サブシステムによってトリガーされる前記少なくとも1つのアクションを実行するための出力を生成するためのアクション処理サブシステムと、
を含むシステム。
【請求項２】
イベントの後に評価するために、各サブシステムの動作を固定媒体に記録するトレースバックサブシステムをさらに含む請求項1に記載のシステム。
【請求項３】
前記ポリシー規定サブシステムが、エンドユーザ、または第3者、または前記エンドユーザと前記第3者との組み合わせから入力を受け入れて、前記機械可読ポリシーを生成することができる請求項1または2に記載のシステム。
【請求項４】
前記少なくとも1つの規則がブール述語を含む請求項1から3のいずれかに記載のシステム。
【請求項５】
前記少なくとも1つの規則がファジー規則を含み、前記少なくとも1つのアクションが連続アクション関数を含む請求項1から3のいずれかに記載のシステム。
【請求項６】
前記少なくとも1つの規則が、前記複数のイベントパラメータのうちの1つの所定の値を超える確率として表される請求項4または5に記載のシステム。
【請求項７】
所定の値を超える前記確率が、所定の予測される値および偏差を有するガウス分布に基づいて計算される請求項6に記載のシステム。
【請求項８】
前記ポリシー実行サブシステムが、前記少なくとも1つの規則を順番に実行し、矛盾を解決し、解決された規則に基づいてアクションをトリガーする請求項1から7のいずれかに記載のシステム。
【請求項９】
前記アクション処理サブシステムが、トリガーされたアクションの実行を監視して、前記アクションが最後まで実行されたことを確認する請求項1から8のいずれかに記載のシステム。
【請求項１０】
前記警告が、前記イベントのパラメータで表されたサマリを含む請求項1から9のいずれかに記載のシステム。
【請求項１１】
前記パラメータで表されたサマリが、確率分布、または確率分布の計算のための情報を含む請求項10に記載のシステム。
【請求項１２】
前記出力が、前記予測されるイベントパラメータの値のうちの少なくとも1つの所定の変化を検出することに基づいて周期的に生成される請求項1から11のいずれかに記載のシステム。
【請求項１３】
前記ポリシーが、述語およびアクション、または入力パラメータの連続関数、および連続的に変化する制御出力を含む請求項1から12のいずれかに記載のシステム。
【請求項１４】
前記ポリシー規定サブシステムが、前記アクション処理サブシステムの出力を受信するデバイスの状態に関する情報を受信し、前記デバイスの状態に基づいて前記ポリシーを修正する請求項1から13のいずれかに記載のシステム。
【請求項１５】
前記ポリシー規定サブシステムが、過去のデータに基づいて前記規則を調整する請求項1から14のいずれかに記載のシステム。
【請求項１６】
前記規則がリアルタイムで更新される請求項1から15のいずれかに記載のシステム。
【請求項１７】
前記ポリシー規定サブシステムが、ユーザが前記規則をカスタマイズすることを可能にする、前記ユーザの専門知識のレベルに合わせた複数のユーザインターフェースを含む請求項1から16のいずれかに記載のシステム。
【請求項１８】
前記確率分布が、前記イベントの深刻度を表す請求項11に記載のシステム。
【請求項１９】
前記出力が、警告メッセージを生成するためのスピーカまたはディスプレイに送信される請求項1から18のいずれかに記載のシステム。
【請求項２０】
前記出力が、中継器を作動させるか、またはモーター、エンジン、もしくはタービンの動作を制御する請求項1から18のいずれかに記載のシステム。
【請求項２１】
前記イベントが地震であり、前記イベントパラメータが、地表面最大躍度、地表面最大加速度、地表面最大速度、地表面最大変位、改正メルカリ震度、危険な揺れの推定される到達時間、およびS波の実際の到達時間のうちの1つまたは複数を含む請求項1から20のいずれかに記載のシステム。
【請求項２２】
各ポリシーが優先度を割り振られる請求項1から21のいずれかに記載のシステム。
【請求項２３】
前記優先度が、定義順によって規定されるか、ユーザによって手動で割り振られるか、またはポリシーのアクションによって変更される請求項22に記載のシステム。
【請求項２４】
前記規則が、アクションの状態および外部システム変数を参照することができる請求項1から23のいずれかに記載のシステム。
【請求項２５】
イベントに関する警告を配信するためのコンピュータによって実装される方法であって、
1つまたは複数の機械可読ポリシーを生成するステップを有し、各ポリシーが、少なくとも1つの規則、および前記少なくとも1つの規則に関連する少なくとも1つのアクションを含み、各規則が複数のイベントパラメータおよび関連する複数の所定のイベントパラメータの確率を含み、
センサーシステムからのデータを受信し、監視するステップを有し、前記データが、予測されるイベントパラメータの値および関連する偏差の評価基準を含み、
前記予測されるイベントパラメータの値のうちの少なくとも1つの所定の変化を検出すると、前記少なくとも1つの規則の処理を開始するステップを有し、
前記予測されるイベントパラメータの値および前記関連する偏差の評価基準を、前記少なくとも1つの規則の前記イベントパラメータおよび前記関連する所定のイベントパラメータの確率と比較することに基づいて、前記少なくとも1つの規則を実行し、前記少なくとも1つのアクションをトリガーするステップを有し、
ポリシー実行サブシステムによってトリガーされる前記少なくとも1つのアクションを実行するための出力を生成するステップを有する、方法。
【請求項２６】
イベントの後に評価するために、各サブシステムの動作を固定媒体に記録するステップをさらに含む請求項25に記載の方法。
【請求項２７】
エンドユーザ、または第3者、または前記エンドユーザと前記第3者との組み合わせから入力を受け入れて、前記機械可読ポリシーを生成するステップをさらに含む請求項25または26に記載の方法。
【請求項２８】
前記少なくとも1つの規則がブール述語を含む請求項25から27のいずれかに記載の方法。
【請求項２９】
前記少なくとも1つの規則がファジー規則を含み、前記少なくとも1つのアクションが連続アクション関数を含む請求項25から27のいずれかに記載の方法。
【請求項３０】
前記少なくとも1つの規則が、前記複数のイベントパラメータのうちの1つの所定の値を超える確率として表される請求項28または29に記載の方法。
【請求項３１】
前記所定の値を超える確率が、所定の予測される値および偏差を有するガウス分布に基づいて計算される請求項30に記載の方法。
【請求項３２】
前記少なくとも1つの規則を順番に実行し、矛盾を解決し、解決された規則に基づいてアクションをトリガーするステップをさらに含む請求項25から31のいずれかに記載の方法。
【請求項３３】
トリガーされたアクションの実行を監視して、前記アクションが最後まで実行されたことを確認するステップをさらに含む請求項25から32のいずれかに記載の方法。
【請求項３４】
前記警告が、前記イベントのパラメータで表されたサマリを含む請求項25から33のいずれかに記載の方法。
【請求項３５】
前記パラメータで表されたサマリが、確率分布、または確率分布の計算のための情報を含む請求項34に記載の方法。
【請求項３６】
前記出力が、前記予測されるイベントパラメータの値のうちの少なくとも1つの所定の変化を検出することに基づいて周期的に生成される請求項25から35のいずれかに記載の方法。
【請求項３７】
前記ポリシーが、述語ならびにアクション、または入力パラメータの連続関数、および連続的に変化する制御出力を含む請求項25から36のいずれかに記載の方法。
【請求項３８】
アクション処理サブシステムの前記出力を受信するデバイスの状態に関する情報を受信し、前記デバイスの前記状態に基づいて前記ポリシーを修正するステップをさらに含む請求項25から37のいずれかに記載の方法。
【請求項３９】
過去のデータに基づいて前記規則を調整するステップをさらに含む請求項25から38のいずれかに記載の方法。
【請求項４０】
前記規則をリアルタイムで更新するステップをさらに含む請求項25から39のいずれかに記載の方法。
【請求項４１】
ユーザの専門知識のレベルに合わせた複数のユーザインターフェースを用いて前記規則をカスタマイズするステップをさらに含む請求項25から40のいずれかに記載の方法。
【請求項４２】
前記確率分布が、前記イベントの深刻度を表す請求項35に記載の方法。
【請求項４３】
警告メッセージを生成するためのスピーカまたはディスプレイに前記出力を送信するステップをさらに含む請求項25から42のいずれかに記載の方法。
【請求項４４】
前記出力を送信して、中継器を作動させるか、またはモーター、エンジン、もしくはタービンの動作を制御するステップをさらに含む請求項25から42のいずれかに記載の方法。
【請求項４５】
前記イベントが地震であり、前記イベントパラメータが、地表面最大躍度、地表面最大加速度、地表面最大速度、地表面最大変位、改正メルカリ震度、危険な揺れの推定される到達時間、およびS波の実際の到達時間のうちの1つまたは複数を含む請求項25から44のいずれかに記載の方法。
【請求項４６】
各ポリシーに優先度を割り振るステップをさらに含む請求項25から45のいずれかに記載の方法。
【請求項４７】
前記優先度が、定義順によって規定されるか、ユーザによって手動で割り振られるか、またはポリシーのアクションによって変更される請求項46に記載の方法。
【請求項４８】
前記規則が、アクションの状態および外部システム変数を参照することができる請求項25から47のいずれかに記載の方法。
【請求項４９】
イベントに関する警告を配信するためのデバイスであって、
プロセッサおよび前記プロセッサによって実行されるときに、前記プロセッサに
1つまたは複数の機械可読ポリシーを生成させ、各ポリシーが、少なくとも1つの規則、および前記少なくとも1つの規則に関連する少なくとも1つのアクションを含み、各規則が、複数のイベントパラメータおよび関連する複数の所定のイベントパラメータの確率を含み、
センサーシステムからのデータを受信し、監視させ、前記データが予測されるイベントパラメータの値および関連する偏差の評価基準を含み、
前記予測されるイベントパラメータの値のうちの少なくとも1つの所定の変化を検出すると、前記少なくとも1つの規則の処理を開始させ、
前記予測されるイベントパラメータの値および前記関連する偏差の評価基準を、前記少なくとも1つの規則の前記イベントパラメータおよび前記関連する所定のイベントパラメータの確率と比較することに基づいて前記少なくとも1つの規則を実行させ、前記少なくとも1つのアクションをトリガーさせ、
ポリシー実行サブシステムによってトリガーされる前記少なくとも1つのアクションを実行するための出力を生成させる
命令を記憶するためのメモリを備えるデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、2011年2月26日に出願した「Customizable Policy Engine」と題した米国仮出願第61/447,025号の優先権を主張するものである。
【０００２】
（参照による組み込み）
本明細書に記載のすべての出版物および特許出願は、それぞれの個々の出版物または特許出願が個々にはっきりと参照により組み込まれることが示されているのと同じように参照により本明細書に組み込まれる。
【０００３】
本出願は、概して、危険を知らせるデータを処理するためのシステムおよび方法に関する。より詳細には、本出願は、危険を知らせるデータおよび確率データを処理して、危険に対する対応を開始するために使用され得る警告を生成するためのシステムおよび方法に関する。
【背景技術】
【０００４】
地震警告システム(EWS: Earthquake Warning System)は、危険な揺れが到来する前に警報を出すために、地震地動(ground motion)を迅速に検出すること、およびその特性解析に依拠する。EWSによって許容される警告の時間は短い(数秒程度)ので、予め計画されていなかったアクション(action)は、イベント(event)の前にほんのわずかしか実行できない。これらのアクションは、概して2つのカテゴリー、すなわち、自動化されたもの、つまり電子信号に応答して電子的もしくは電気機械的に駆動されるものか、または人が介在するもの、つまり聴覚的もしくは視覚的信号を受け取った人の反応として駆動されるものに分かれる。概して、後者の聴覚的/視覚的信号は、それ自体は、電子的な警告に応答して開始された自動化されたアクションである。
【０００５】
通常、既存のEWSは、2値の警告(「危険あり」または「危険なし」)を発する。しかし、どのアクションを行うコストも0ではないので、個々の資産毎および別々のアクション毎に、予測される地動の所与のレベル(震度)およびそのレベルの所与の推定される不確実性でアクションを行うことにより得られる潜在的なメリットについて考慮することが重要である。この分析は、任意の所望のレベルの緻密さで実行され得るが、EWSによって発せされる電子的な警告が、予測される地動のレベルとそのレベルの推定される不確実性との両方を符号化することを必要とする。時間が極めて重要であるので、この情報は、できる限り小さくまとまった形式でEWSによって伝達されなければならない。
【０００６】
EWSの警告に対する応答は、人が介在するアクションと自動化されたアクションとの両方を含み得る。自動化されたアクションは、どの警告の条件の下で何をすべきかを符号化する所定のポリシーに基づかなければならない。最も単純なポリシーでは、2値の警告が存在するかどうかが唯一の条件であり、開始すべきアクションは警告のたびに変化しない。より緻密なポリシーは、推定される地動のレベルおよび確実性のレベルのさまざまな条件の下で開始されるべき多くの異なるアクションを符号化する可能性がある。そのような緻密なシステムにおいては、人が介在する応答さえも、どの警告の条件が介在する人への通知をトリガーするのかについての決定が前もってなされなければならないという点で結局のところは自動化されている。
【０００７】
通常、地震の警告に応答してアクションを行うことによるコストが存在する。このコストは、警報に対応する人員の生産性への影響、またはシャットダウンされる機器の可用性が失われることである可能性がある。シャットダウンされた機器またはプロセスのための巨額の再起動コストが生じる可能性がある。人および資産を守るためのアクションを行わないことに関連するコストも存在する。多くの場合、地震の警告に対する応答を開始するという決定は、予測される被害のコストと、シャットダウンのコストとの間の釣り合いである。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
異なるユーザは開始すべきアクションと、それらのアクションを開始する条件とに関して異なる要件を有するので、ユーザの所望のポリシーを符号化し、EWSから警告があった場合にそれらのポリシーを実施するための緻密なポリシーエンジンが必要とされる。
【課題を解決するための手段】
【０００９】
本発明の実施形態は、地震の警告の消費者が、地震が発生した場合にその消費者が考慮することを望むアクション毎に独立に閾値の不確実性のレベルおよび地動のレベルを設定することを可能にするカスタマイズ可能なポリシーエンジンを含むシステム、方法、およびデバイスに関する。ポリシーエンジンは、消費者が実行することを選択する任意の分析にしたがって、消費者が、超えるとアクションが行われるべき震度のレベルと確実性のレベルとの両方を設定することを可能にする。異なるアクションが異なる震度のレベルおよび確実性のレベルに割り振られる可能性があり、複数の震度のレベルおよび確実性のレベルが同じアクションに割り振られる可能性がある(例えば、震度が比較的小さいが、確実性が比較的高い場合は、震度が比較的大きく確実性が比較的低い場合と同じアクションがトリガーされる可能性がある)。
【００１０】
このポリシーエンジンの下では、予測される地動のレベルおよびそのレベルの不確実性に応じて、イベント中に任意のアクションが開始されるか、すべてのアクションが開始されるか、またはいかなるアクションも開始されない可能性がある。これらの量のうちのどちらかの値がイベントの持続中に変化する場合、開始のためのそれらの量の所定の閾値をまたぐとき、その時々に異なるアクションが開始される可能性がある。イベントについて生じた情報が閾値の地動の確実性のレベルを低下させる場合、既に開始されたアクションが、所定の条件のポリシーにしたがって停止または継続される可能性がある。
【００１１】
ポリシーエンジンは、EWSによって与えられる危険な地動の推定される開始時間についての情報を、所与の閾値の地動においてアクションを開始すべきかどうか、またはどのアクションを開始すべきかを決定する際に織り込むこともできる。
【００１２】
さらに、エンジンは、ポリシーの決定に織り込むことが望ましい追加の入力データを受け入れる。例えば、エンジンは、ネットワーク接続性の情報をポリシーの決定に織り込むため、またはポリシーの判定基準としての符号化された警告データ、例えば、符号化されたパラメータの変化率のメタ分析(meta-analysis)のために、予測される地動ではなく、その場所で実際に観測された危険な地動に基づいてアクションを開始することを可能にする可能性がある。ポリシーエンジンは、主たるイベントの後の資産の分かっているまたは推定される健全性の状態に基づく条件付きの閾値も受け入れることができ、例えば、損害を与える地震の後の余震に対して閾値の地動を小さくする。
【００１３】
加えて、ポリシーエンジンに対するすべての記録された入力と、ポリシーエンジンによって開始されたアクションとは、イベント中にメモリに記録され、監査のために、イベントの後、実用に耐え得るだけ速やかに安定的な媒体に書き込まれる。
【００１４】
一部の実施形態において、イベントに関する警告を配信するためのシステムが提供される。システムは、1つまたは複数の機械可読ポリシーを生成するためのポリシー規定サブシステムであって、各ポリシーが、少なくとも1つの規則、およびその少なくとも1つの規則に関連する少なくとも1つのアクションを含み、各規則が、複数のイベントパラメータおよび関連する複数の所定のイベントパラメータの確率を含む、ポリシー規定サブシステムと、センサーシステムからのデータを受信し、監視するための変化検出サブシステムであって、データが、予測されるイベントパラメータの値および関連する偏差の評価基準(metric)を含む、変化検出サブシステムと、予測されるイベントパラメータの値および関連する偏差の評価基準を、少なくとも1つの規則のイベントパラメータおよび関連する所定のイベントパラメータの確率と比較することに基づいて、少なくとも1つの規則を実行し、少なくとも1つのアクションをトリガーするためのポリシー実行サブシステムであって、変化検出サブシステムからの命令を受信した後に少なくとも1つの規則の処理を開始し、変化検出サブシステムが、予測されるイベントパラメータの値のうちの少なくとも1つの所定の変化を検出するとポリシー実行サブシステムに命令を送信する、ポリシー実行サブシステムと、ポリシー実行サブシステムによってトリガーされる少なくとも1つのアクションを実行するための出力を生成するためのアクション処理サブシステムとを含む。
【００１５】
一部の実施形態においては、システムが、イベントの後に評価するために、各サブシステムの動作を固定媒体に記録するトレースバックサブシステムをさらに含む。
【００１６】
一部の実施形態においては、ポリシー規定サブシステムが、エンドユーザ、または第3者、またはエンドユーザと第3者との組み合わせから入力を受け入れて、機械可読ポリシーを生成することができる。
【００１７】
一部の実施形態においては、少なくとも1つの規則がブール述語(Boolean predicate)を含む。
【００１８】
一部の実施形態においては、少なくとも1つの規則がファジー規則(fuzzy rule)を含み、少なくとも1つのアクションが連続アクション関数(continuous action function)を含む。
【００１９】
一部の実施形態においては、少なくとも1つの規則が、複数のイベントパラメータのうちの1つの所定の値を超える確率として表される。
【００２０】
一部の実施形態においては、所定の値を超える確率が、所定の予測される値および偏差を有するガウス分布に基づいて計算される。
【００２１】
一部の実施形態においては、ポリシー実行サブシステムが、少なくとも1つの規則を順番に実行し、矛盾を解決し、解決された規則に基づいてアクションをトリガーする。
【００２２】
一部の実施形態においては、アクション処理サブシステムが、トリガーされたアクションの実行を監視して、アクションが最後まで実行されたことを確認する。
【００２３】
一部の実施形態においては、警告が、イベントのパラメータで表された(parameterized)サマリ(summary)を含む。
【００２４】
一部の実施形態においては、パラメータで表されたサマリが、確率分布、または確率分布の計算のための情報を含む。
【００２５】
一部の実施形態においては、出力が、予測されるイベントパラメータの値のうちの少なくとも1つの所定の変化を検出することに基づいて周期的に生成される。
【００２６】
一部の実施形態においては、ポリシーが、述語およびアクション、または入力パラメータの連続関数、および連続的に変化する制御出力を含む。
【００２７】
一部の実施形態においては、ポリシー規定サブシステムが、アクション処理サブシステムの出力を受信するデバイスの状態に関する情報を受信し、デバイスの状態に基づいてポリシーを修正する。
【００２８】
一部の実施形態においては、ポリシー規定サブシステムが、過去のデータに基づいて規則を調整する。
【００２９】
一部の実施形態においては、規則がリアルタイムで更新される。
【００３０】
一部の実施形態においては、ポリシー規定サブシステムが、ユーザが規則をカスタマイズすることを可能にする、ユーザの専門知識のレベルに合わせた複数のユーザインターフェースを含む。
【００３１】
一部の実施形態においては、確率分布がイベントの深刻度を表す。
【００３２】
一部の実施形態においては、出力が、警告メッセージを生成するためのスピーカまたはディスプレイに送信される。
【００３３】
一部の実施形態においては、出力が、中継器(relay)を作動させるか、またはモーター、エンジン、もしくはタービンの動作を制御する。
【００３４】
一部の実施形態においては、イベントが地震であり、イベントパラメータが、地表面最大躍度(peak ground jerk)、地表面最大加速度(peak ground acceleration)、地表面最大速度(peak ground velocity)、地表面最大変位(peak ground displacement)、改正メルカリ震度、危険な揺れの推定される到達時間、およびS波の実際の到達時間のうちの1つまたは複数を含む。これらのパラメータは、ある特定の場所の予測される揺れを記述し、局所的な影響(土地の状態など)を含むか、または含まない可能性がある。パラメータは、ある離れた場所またはローカルの場所の地表の揺れの実際の測定値を記述する可能性もある。揺れの震度の予報と揺れの震度の測定値との差は、震度推定の確実性で表される(測定値に基づく推定は、予測される値と標準偏差との両方について確実性が高い)が、離れた場所の測定値に基づいてローカルの震度を推定することをやはり伴う。ローカルの測定値が利用できるならば、これらは、ポリシーの定義においてより高い重要性を与えられ得る。
【００３５】
一部の実施形態において、各ポリシーには優先度が割り振られる。
【００３６】
一部の実施形態においては、優先度が、定義順によって規定されるか、ユーザによって手動で割り振られるか、またはポリシーのアクションによって変更される。
【００３７】
一部の実施形態においては、規則が、アクションの状態および外部システム変数を参照することができる。
【００３８】
一部の実施形態において、イベントに関する警告を配信するためのコンピュータによって実装される方法が提供される。方法は、1つまたは複数の機械可読ポリシーを生成するステップであって、各ポリシーが、少なくとも1つの規則、およびその少なくとも1つの規則に関連する少なくとも1つのアクションを含み、各規則が、複数のイベントパラメータおよび関連する複数の所定のイベントパラメータの確率を含む、ステップと、センサーシステムからのデータを受信し、監視するステップであって、データが、予測されるイベントパラメータの値および関連する偏差の評価基準を含む、ステップと、予測されるイベントパラメータの値のうちの少なくとも1つの所定の変化を検出すると、少なくとも1つの規則の処理を開始するステップと、予測されるイベントパラメータの値および関連する偏差の評価基準を、少なくとも1つの規則のイベントパラメータおよび関連する所定のイベントパラメータの確率と比較することに基づいて、少なくとも1つの規則を実行し、少なくとも1つのアクションをトリガーするステップと、ポリシー実行サブシステムによってトリガーされる少なくとも1つのアクションを実行するための出力を生成するステップとを含む。
【００３９】
一部の実施形態においては、方法が、イベントの後に評価するために、各サブシステムの動作を固定媒体に記録するステップをさらに含む。
【００４０】
一部の実施形態においては、方法が、エンドユーザ、または第3者、またはエンドユーザと第3者との組み合わせから入力を受け入れて、機械可読ポリシーを生成するステップをさらに含む。
【００４１】
一部の実施形態においては、少なくとも1つの規則がブール述語を含む。
【００４２】
一部の実施形態においては、少なくとも1つの規則がファジー規則を含み、少なくとも1つのアクションが連続アクション関数を含む。
【００４３】
一部の実施形態においては、少なくとも1つの規則が、複数のイベントパラメータのうちの1つの所定の値を超える確率として表される。
【００４４】
一部の実施形態においては、所定の値を超える確率が、所定の予測される値および偏差を有するガウス分布に基づいて計算される。
【００４５】
一部の実施形態においては、方法が、少なくとも1つの規則を順番に実行し、矛盾を解決し、解決された規則に基づいてアクションをトリガーするステップをさらに含む。
【００４６】
一部の実施形態においては、方法が、トリガーされたアクションの実行を監視して、アクションが最後まで実行されたことを確認するステップをさらに含む。
【００４７】
一部の実施形態においては、警告が、イベントのパラメータで表されたサマリを含む。
【００４８】
一部の実施形態においては、パラメータで表されたサマリが、確率分布、または確率分布の計算のための情報を含む。
【００４９】
一部の実施形態においては、出力が、予測されるイベントパラメータの値のうちの少なくとも1つの所定の変化を検出することに基づいて周期的に生成される。
【００５０】
一部の実施形態においては、ポリシーが、述語およびアクション、または入力パラメータの連続関数、および連続的に変化する制御出力を含む。
【００５１】
一部の実施形態においては、方法が、アクション処理サブシステムの出力を受信するデバイスの状態に関する情報を受信し、デバイスの状態に基づいてポリシーを修正するステップをさらに含む。
【００５２】
一部の実施形態においては、方法が、過去のデータに基づいて規則を調整するステップをさらに含む。
【００５３】
一部の実施形態においては、方法が、規則をリアルタイムで更新するステップをさらに含む。
【００５４】
一部の実施形態においては、方法が、ユーザの専門知識のレベルに合わせた複数のユーザインターフェースを用いて規則をカスタマイズするステップをさらに含む。
【００５５】
一部の実施形態においては、確率分布がイベントの深刻度を表す。
【００５６】
一部の実施形態においては、方法が、警告メッセージを生成するためのスピーカまたはディスプレイに出力を送信するステップをさらに含む。
【００５７】
一部の実施形態においては、方法が、出力を送信して、中継器を作動させるか、またはモーター、エンジン、もしくはタービンの動作を制御するステップをさらに含む。
【００５８】
一部の実施形態においては、イベントが地震であり、イベントパラメータが、地表面最大躍度、地表面最大加速度、地表面最大速度、地表面最大変位、改正メルカリ震度、危険な揺れの推定される到達時間、およびS波の実際の到達時間のうちの1つまたは複数を含む。
【００５９】
一部の実施形態においては、方法が、各ポリシーに優先度を割り振るステップをさらに含む。
【００６０】
一部の実施形態においては、優先度が、定義順によって規定されるか、ユーザによって手動で割り振られるか、またはポリシーのアクションによって変更される。
【００６１】
一部の実施形態においては、規則が、アクションの状態および外部システム変数を参照することができる。
【００６２】
一部の実施形態において、イベントに関する警告を配信するためのデバイスが提供される。デバイスは、プロセッサ、およびプロセッサによって実行されるときに、プロセッサに、1つまたは複数の機械可読ポリシーを生成することであって、各ポリシーが、少なくとも1つの規則、およびその少なくとも1つの規則に関連する少なくとも1つのアクションを含み、各規則が、複数のイベントパラメータおよび関連する複数の所定のイベントパラメータの確率を含む、生成することと、センサーシステムからのデータを受信し、監視することであって、データが、予測されるイベントパラメータの値および関連する偏差の評価基準を含む、受信し、監視することと、予測されるイベントパラメータの値のうちの少なくとも1つの所定の変化を検出すると、少なくとも1つの規則の処理を開始することと、予測されるイベントパラメータの値および関連する偏差の評価基準を、少なくとも1つの規則のイベントパラメータおよび関連する所定のイベントパラメータの確率と比較することに基づいて少なくとも1つの規則を実行し、少なくとも1つのアクションをトリガーすることと、ポリシー実行サブシステムによってトリガーされる少なくとも1つのアクションを実行するための出力を生成することを実行させる命令を記憶するためのメモリを含む。一部の実施形態においては、デバイスが、1つまたは複数のコンピュータまたはサーバである可能性がある。
【００６３】
その他の実施形態においては、上述の本明細書の命令の一部またはすべてが、特定用途向け集積回路などのハードウェアに実装される可能性がある。
【００６４】
本発明の新規な特徴は、後の特許請求の範囲に詳細に記載されている。本発明の特徴および利点は、本発明の原理が利用されている例示的な実施形態を記載する以下の詳細な説明と、それらの例示的な実施形態の添付の図面とを参照することによってより深く理解されるであろう。
【図面の簡単な説明】
【００６５】
【図１】入力の処理および警報出力の生成を示すデータフロー図である。
【図２】仮定のポリシーのグラフィカルな図である。
【図３】推定の平均および標準偏差を示す、例示的なイベントの際の推定される地動の確率分布の図である。
【図４】例示的な確率曲線に基づいて開始されるアクションおよび開始されないアクションを示す、図2からの仮定のポリシーの上に重ね合わされた任意の地動を超える確率の図である。
【図５】特定の応用のために定義され得るさまざまな入力、ポリシー、および制御アクションを示す、ポリシーエンジンを通るデータフローの例の図である。
【図６】ファンの速度を地震の予測される震度の関数として示すグラフである。
【発明を実施するための形態】
【００６６】
一部の実施形態において、ポリシーエンジンは、5つの機能サブシステム、すなわち、ポリシー規定サブシステム1、ポリシー実行サブシステム4、変化検出サブシステム3、アクション処理サブシステム5、およびトレースバックサブシステム6を含む。図1の構成図を参照する。変化検出サブシステム3は、例えば、参照により本明細書に組み込まれている、2011年12月19日に出願した「Earthquake Warning System」と題した国際特許出願PCT/US2011/065733に記載されているように地震センサー29からデータを受信し、処理する地震警告システム30からリアルタイムのイベントデータを受信することができる。変化検出サブシステムは、ローカルの状態および入力データ31も受信することができる。その他の地震センサーおよびその他の危険センサーも、好適である可能性がある。アクション処理サブシステム5は、以下でさらに説明されるようにさまざまなデバイスおよびシステムに送信され得る出力32を生成する。
【００６７】
一部の実施形態において、ポリシー規定サブシステム1は、警報デバイス内またはサーバ上に実装され得る。一部の実施形態においては、(テキストに基づいてポリシーを規定するための) UIおよびファイルインポートを備えたアプリケーションが、ウェブサーバもしくはその他のアプリケーション環境(例えば、モバイル)またはコンピュータ(デスクトップ)上で実行され、直接(USB)、またはインターネット接続を通じて警報デバイスと通信する。警報デバイスまたはサーバによって必要とされる内部形式へのポリシーのコンパイルは、(ユーザに迅速にフィードバックを与えるために)アプリケーションで行われる。ポリシー(およびそれらのポリシーの内部表現)は、警報デバイス内またはサーバ上のデータベース、ファイル、または任意のその他の好適なデータストレージ構造に記憶され得る。
【００６８】
一部の実施形態においては、ポリシー実行サブシステム4も、警報デバイス内またはサーバ上に存在する可能性がある。一部の実施形態において、警報デバイスは、制御出力と、通信のための情報セキュリティ機能とを含むスタンドアロンのハードウェアデバイスである。警報デバイスは、ポリシーエンジンソフトウェアを実行する工業用コントローラまたはコンピュータなどの何らかのその他の専用ハードウェアデバイスである可能性もある。制御出力が(SNMPトラップメッセージと同様)ソフトウェアのプロトコルである場合を除いて、警報デバイスは、以下でさらに説明されるように、例えば、その他のデバイスに警報を伝達してそれらのデバイスを保護する応答を開始するために使用される音声端子および/またはリレー端子(relay contact)などの物理的な出力を有する。
【００６９】
一部の実施形態においては、更新された制御出力および警報出力をもたらすポリシーの再コンパイルを開始するために、変化検出サブシステム3も警報デバイスに存在する可能性がある。このサブシステムは、(例えば、インターネットもしくはその他のデータ通信システムを介して)地震警告システムからのメッセージを受信するか、または出力もしくは状態がポリシーで参照されるその他の情報源からのメッセージを受信する。このサブシステムは、ポリシーで参照される状態または値(これには、例えば、以下で説明されるファンの速度などの制御されるべきマシンの実行状態も含まれる可能性がある)を監視するために使用される物理的な入力(デジタル信号(digital)、電圧、または電流など)も有する可能性がある。
【００７０】
一部の実施形態において、アクション処理サブシステム5は、以下でさらに説明されるように、ポリシーのアクションを実行し、警報出力および制御出力を直接管理する、警報デバイスで実行されるソフトウェアである可能性がある。このソフトウェアは、警報デバイスに接続された機器またはシステムで所望の制御応答を生じるように出力を操作する役割を担う。
【００７１】
一部の実施形態において、トレースバックサブシステム6は、その他のサブシステムの動作を監視するための、警報デバイスで実行されるソフトウェアである可能性がある。また、トレースバックサブシステム6は、地震の警告期間中の刺激(stimulus)および応答の完全な記録が記録され得るように、入力(メッセージまたはポーリング(poll)された入力)のすべてまたは一部にアクセスすることができる。トレースデータは、警報デバイス内の(フラッシュなどの)不揮発性ストレージに書き込まれ、オフサイトアーカイブ(off-site archive)のための遠隔のシステム（サーバと同様なもの）に送信される可能性がある。データベースまたはログファイルは、トレースデータが記憶され得る方法の例であり、データベースはサーバ上にある可能性があり、ログファイルはフラッシュに書き込まれる可能性がある。
【００７２】
（ポリシー）
ポリシーは、特定の条件の下で行われるべきアクションを定義する。各ポリシーは、規則および関連するアクションを含み得る。規則は、ブール述語または(ファジー規則と呼ばれる)連続関数として記述され得る。アクションは、いくつかの形式のうちの1つを取る可能性があり、すなわち、内部状態変数を割り振るか、(中継器を作動させる、音声警報のストリーミングを開始する、もしくはメッセージを送信するなど)外部プロセスを開始するか、(デバイスの動作パラメータを変更するなど)内部プロセスを開始するか、または(ポリシーが異なる可能性があるより高い警戒状態に遷移するなど)ポリシーエンジン自体を修正するか、またはこれらの任意の組み合わせを行う。
【００７３】
述語はブール規則(Boolean rule)であり、ブール規則は、その値が変わるときに、何らかの規定された1つのアクションまたは複数のアクションの実行を引き起こす。述語は、入力および状態変数の任意の式である。ファジー規則は、あり得る応答の範囲を表すために使用される。例えば、回転機械の速度が、小さなイベントに対しては小さくされ、大きなイベントに対しては最終的に停止される可能性がある。名前空間(namespace)は、規則のための利用可能な入力と、アクションのための出力とを定義する。
【００７４】
（ポリシーの規定）
ポリシー規定サブシステム1は、人が読むことができる形式のポリシーの定義を受け入れ、それらの定義を、ポリシー実行サブシステム4によって使用される内部形式に変換する。ポリシーは、形式言語のステートメント、XMLドキュメント、グラフィカルな図、またはその他の形式を含むいくつかの異なる表現で取り込まれ得る。
【００７５】
いくつかの典型的な例は、以下を含む。
if (predicate_specification) then action_specification
continuous_function (fuzzy_specification)
<policy>
<predicate>predicate_specification</predicate>
<action>action_specification</action>
</policy>
<policy>
<fuzzy>fuzzy_specification</fuzzy>
<action>action_specification</action>
</policy>
【００７６】
上で与えられた例において、「predicate_specification」は論理式(Boolean expression)である。好ましい実施形態は、以下の全体的な表現文法を使用する。
expression           ::= simpleExpression ( relationalOp simpleExpression )?
relationalOp         ::= '<' | '<=' | '==' | '!=' | '>=' | '>'
simpleExpression    ::= term ( addOperator simpleExpression )?
addOperator         ::= '+' | '-' | 'or' | '||'
term                ::= factor ( factor mulOperator term )?
mulOperator        ::= '*' | '/' | 'div' | 'mod' | 'and' | '&&'
factor               ::= literalConstant | variable | function |
unaryOperator factor | '(' expression ')'
unaryOperator      ::= '+' | '-' | 'not'
literalConstant      ::= integerLiteral | realLiteral | stringLiteral
integerLiteral       ::= [0-9]+
realLiteral          ::= integerLiteral '.' integerLiteral |
integerLiteral ( '.' integerLiteral )? 'E' scaleFactor
scaleFactor         ::= [+-]? integerLiteral
stringLiteral        ::= '"' any_printing_character_or_escaped_quote+ '"'
variable            ::= simpleVariable | compoundVariable
simpleVariable      ::= identifier
identifier           ::= [a-zA-Z] [a-zA-Z0-9_]*
compoundVariable   ::= simpleVariable ( '.' propertyOrFunction )+
propertyOrFunction  ::= identifier ( '(' expression ( ',' expression )? ')' )?
【００７７】
（規則の名前空間）
規則の名前空間は、EWSによってレポートされるか、またはローカルでの測定を通じて得られるすべてのイベントパラメータを含むオブジェクトeventを含む。eventオブジェクトは、以下の子オブジェクトを有する。
event.jerk - (広帯域(broadband)、または指定された周波数帯域における)地表面最大躍度
event.acceleration - (広帯域、または指定された周波数帯域における)地表面最大加速度
event.velocity - (広帯域、または指定された周波数帯域における)地表面最大速度
event.displacement - (広帯域、または指定された周波数帯域における)地表面最大変位
event.mmi - 改正メルカリ震度、またはevent.jerk、event.acceleration、event.velocity、およびevent.displacementの関数として内部的に定義された計測震度
event.eta - 危険な揺れが到達するまでの秒で表した推定される時間
event.toa - S波が到達した実際の(検出された)時間
【００７８】
物理オブジェクト(mmi、jerk、acceleration、velocity、およびdisplacement)のそれぞれは、以下のメソッドを有する。
poe (level, [band]) - 指定された帯域または広帯域で指定されたレベルを超える確率を返す
roc ([band]) - 指定された帯域または広帯域における属性の変化率を返す
【００７９】
etaオブジェクトもroc()メソッドを有する。
【００８０】
eventの子オブジェクトのそれぞれは、警告更新メッセージでEWSによって送信されたデータからポリシーエンジンによって組み立てられたベクトルである以下のデータ系列オブジェクトを有する。
ev - 一連の更新でEWSによってレポートされた予測される値の時系列
dev - 一連の更新でEWSによってレポートされた標準偏差の時系列
obs - evおよびdevの観測時間の時系列
【００８１】
これらのデータ系列オブジェクトは、以下の属性およびメソッドを有する。
num - 時系列内の要素数
latest - EWSの更新で受信された最新の値
mean - 受信された値の平均値
roc() - データの変化率
一部の実施形態において、num、latest、mean、およびroc()のデータは、ローカルの履歴から導出されるのではなく遠隔のサーバによって提供される可能性がある(すなわち、サーバにオフロードされる)。
【００８２】
述語式(predicate expression)でこれらのオブジェクトを使用するいくつかの例
/* PGVが70cm/sを超える確率が50%よりも高い */
event.velocity.poe (70) > 0.5
/* 3.0Hzの帯域でPGAが0.7cm/s/sを超える確率が65%以上である */
event.acceleration.poe (0.7, 3.0) >= 0.65
/* PGAが120cm/s/sを超える確率、または速度が450cm/sを超える確率> 50% */
event.acceleration.poe (120) > 0.5 or event.velocity.poe (450) > 0.5
【００８３】
これらの式を表現するその他の等価な方法も、ユーザがそれらのユーザの意図を表現するのを支援するために必要に応じて提供され得る。
【００８４】
図2は、仮定のポリシーのグラフィカルな図を示す。ポリシーは3つの規則からなる。
1. if event.acceleration.poe (3.16) >= 0.8 then action_A      (7)参照
2. if event.acceleration.poe (31.6) >= 0.6 then action_B      (8)参照
3. if event.acceleration.poe (100) >= 0.1 then action_C       (9)参照
【００８５】
いずれのイベントにおいても、推定される揺れの震度とその推定の不確実性との組み合わせに応じて任意の数のこれらのアクションが開始され得る。
【００８６】
任意の変数または入力に対して変化率(rate-of-change)が適用され得る。演算子は、入力のすべてのクラス(class)に対して機能する。
【００８７】
ポリシーの優先度が、定義順によって明確に規定される。手動の優先度も割り振られ得る。優先度は、ポリシーのアクションによって変更され得る(前のポリシーがトリガーされることに基づいて一部のポリシーを昇格させる可能性がある)。
【００８８】
規則は、(例えば、大きなイベントが発生したときに、損傷が脆弱性を増大したと仮定して、アクションの閾値を引き下げるために役立つ)過去の履歴を参照することができる。過去のデータおよび履歴データを含む過去の履歴は、ポリシー規定サブシステムまたは任意のその他のサブシステムによってアクセスされ得るデータベースに記憶される可能性がある。加えて、データベースが最新であるようにデータベースにリアルタイムのデータが追加される可能性がある。
【００８９】
規則は、ポリシーエンジンを実装するシステムのシステム変数を参照する可能性がある。この名前空間は、アクセス機能および監視機能に同調してその他の名前空間から名前を追加することによって拡張され得る。
【００９０】
規則は、アクションの状態(何が既に開始されているか)ならびに外部システム変数(スイッチ(switch)およびインポートされたデータなど)を参照する可能性がある。
【００９１】
ポリシーは、ファジー規則を使用して連続関数を記述することもできる。この規則は、(ファンの速度と同様)出力制御変数と予測される揺れの震度との間の関係を定義する。1つのそのような規則が図6に示される。この例においては、予測される震度がMMI IXに近づくにつれて、ファンの速度が0まで次第に小さくされる。このアプローチは、被害のリスクと動作を継続することによるメリットとの釣り合いを取る。これに関するポリシーの定義は以下の通りである可能性がある。
if (expected_mmi < 6 then fan_speed = normal;
if (expected_mmi > 9 then fan_speed = off;
if (expected_mmi >= 6 then fan_speed = normal*(9-expected_value)/3
【００９２】
これらは、式「expected_mmi < 6」の真偽が2値ではなく、超過の確率として与えられるのでファジーになる。
【００９３】
（変化検出サブシステム）
変化検出サブシステム3は、ローカルのセンサー分析システムまたは遠隔のシステムからメッセージが受信されるときにすべての変数の変化を監視する。新しいデータが到着するとき、値のうちのいずれかが変化する場合、規則実行サブシステムが、そのサブシステムの規則を処理するように通知される。これは、アクションが速やかに開始され得るように、条件が変わるとすぐに規則が更新されることを可能にする。変化検出サブシステムは、既存の規則によって参照されるすべての変数を監視し、それらの変数に関してのみ、変化が発生したことを規則実行サブシステムに知らせる。既存のルールに影響を与えない変数の変化は、規則実行サブシステムを呼び出さない。一部の実施形態において、変化検出サブシステムは、変化の程度について知ることができないが、各規則は、特定の変化のレベルだけを対応すべきであるほど重大であると見なすように記述され得る。
【００９４】
例えば、一部の実施形態において、新しいデータは、メッセージまたは入力の監視によって変化検出サブシステムに到着する。更新メッセージなどのある種のメッセージまたはイベントの場合、変化は、メッセージの性質によって時間的に量子化される可能性があり、それによって、何らかの離散的な時間の入力のサンプルを与える。新しいメッセージが到着するとき、入力の値が前に受信された値と異なる場合、その値を使用するポリシーが更新および/または再計算される。
【００９５】
監視またはポーリングされた入力の場合、入力は雑音を含む可能性がある。一部の実施形態においては、ポーリング間隔が、上述の入力メッセージとほぼ同じ方法で変化の影響を(時間的に)量子化するために使用される可能性がある。一部の実施形態においては、レート制限(rate-limiting)アプローチを使用するポーリングが、所定の時間間隔または所定の時点でデータをサンプリングすることによって実現される。通常、入力のサンプリングは、1秒に1回、または1秒に2回以上、または1秒に1回未満など、周期的であり、この周期性が、データがどれだけ雑音を含むかに無関係に、入力がどれだけ頻繁に影響を与え得るかを制限する。追加的または代替的に、(低域通過フィルタのような)入力のフィルタリングと、変更を開始するための最小閾値とが、さらに使用され得る。一部の実施形態においては、低域通過フィルタリングまたは帯域通過フィルタリングが、入力の雑音を減らすために使用され得る。例えば、入力が1秒に1回よりも頻繁に変化しないと予測される場合、1Hz低域通過フィルタが、より頻繁に発生するすべての変化を低減またはフィルタリングする。一部の実施形態においては、雑音を含む入力の影響を減らし、誤った変化の検出を防止するために、ヒステリシス(hysteresis)も指定され得る。この文脈では、ヒステリシスは、入力が増加していくときにより高くなり、入力が減少していくときにはより低くなり、それによって、小さな変化が出力の変化を生じることを回避する2つの閾値の間の不感帯(dead-band)をもたらす閾値を指す。一部の実施形態においては、レート制限とヒステリシスとの両方が使用される可能性がある。その他の実施形態においては、雑音を含むデータを処理する上述の技術の異なる組み合わせが使用される可能性がある。
【００９６】
図3は、例示的なイベントに関する推定される震度の確率分布を示す。これは、時間的なスナップショットを示しており、推定は、時間の経過とともに変化し、更新される。変化検出サブシステムは、これらの変化を特定する。図3において、曲線は、所与のレベルの地表面最大加速度の可能性(likelihood)を示しており、ガウス(正規)分布の形にしたがう。これは、確率分布の好ましい実施形態であるが、その他の確率分布もあり得る。地動の予測される値は、好ましい実施形態の確率分布の平均10によって示される。好ましい実施形態において、推定される地動の不確実性は、確率分布の標準偏差11によって示される。半値全幅12または95%信頼区間13などのその他の評価基準があり得る。EWSは、予測される値の評価基準および偏差の評価基準をポリシーエンジンにリアルタイムで伝達し、これらの評価基準の値が変化検出サブシステムによって監視される。予測される値または偏差が変化するとき、規則実行サブシステムが、そのサブシステムの規則を処理するように通知される。
【００９７】
（ポリシー実行サブシステム）
ポリシー実行サブシステム4は、次に述べるように、ポリシーを処理し、アクションをトリガーする。ポリシーは、矛盾するアクションをトリガーする可能性がある。これを検出するために、すべてのアクションが集約され、アクションイベントをアクション処理サブシステム5に渡す前に矛盾が解決される。
【００９８】
いずれかのポリシーによって参照されるいずれかの入力に変化があるときには必ずポリシーの処理が行われる。これは、レート制限の指定によってのみ影響を受ける。ファジー制御の更新が、変化が何らかの閾値を超えるときにのみ変わるようにさらに制限される可能性がある。一部の実施形態において、これは、入力を時間的に量子化する(レート制限)か、または(変化の閾値もしくはフィルタリングによって)値を量子化するかのどちらかによって変化サブシステムで処理される可能性がある。同様に上述したヒステリシスも、ポリシーの入力の小さな変化が状態を変える制御を引き起こすことを防止するために、任意の制御出力に関してポリシー実行サブシステムで指定され得る。
【００９９】
（規則の規定）
各規則は、「ポリシーの規定」で概略を述べた事前に定義されたメソッドを評価し、それを述語式(predicate expression)の閾値と比較することによって処理される。好ましい実施形態の関数形式の組み込みメソッドは以下の通りである。
real prob = poe(real level, optional real band) {
(real ev, real dev, real time) = get_metrics(1, band);
prob = probability_function(ev, dev, level);
}
real rate = roc(int W, optional real band) {
/* W = レート計算のための所望の窓(window)の長さ */
(real* ev, real* dev, real* time) = get_metrics(W, band);
rate = rate_function(ev, dev, time);
}
(real* ev, real* dev, real* time) = get_metrics(int window, real band) {
for int J=1:window {
int sample = [most recent sample] - J + 1;
if (band == 0) {
(ev(J), real maxband) = max([expected value](sample));
dev(J) = [deviation](sample)(maxband);
} else {
ev(J) = [expected value](sample)(band);
dev(J) = [deviation](sample)(band);
}
time(J) = [observation time](sample);
}
}
【０１００】
関数probability_functionは3つの引数を取る。
expected value: EWSによって決定されたオブジェクトの最も確実性の高い値。好ましい実施形態においては、相加平均として表される。その他の表し方があり得る。
deviation: EWSによって決定された測定の不確実性を表すもの。好ましい実施形態においては、標準偏差として表される。分散、半値全幅、または95%信頼区間として表される可能性もある。その他の表し方があり得る。
level: 超過の確率が計算されるオブジェクトの所望の閾値。
【０１０１】
関数は、以下の手法のうちの1つを使用して超過の確率を返す。
function: levelのすべてのあり得る値にわたって定義される累積分布関数などの任意の連続関数。好ましい実施形態においては、正規分布の累積分布関数:
【０１０２】
【数１】
0005819446.tif 000002
【０１０３】
ここで、levelは線形形式かまたは対数形式かのどちらかで表される。その他の関数もあり得る。コーシー分布は、形式
【０１０４】
【数２】
0005819446.tif 000003
【０１０５】
にしたがい、一方、ラプラス分布は、形式
【０１０６】
【数３】
0005819446.tif 000004
【０１０７】
にしたがう。
table: levelのすべてのあり得る値にわたって定義された確率およびレベルのルックアップテーブル。例:
【０１０８】
【表１】
0005819446.tif 000005
【０１０９】
この例は、予測される値が誤差がない(すなわち、dev = 0)と見なされる縮退した場合に等しい。より一般的な例は、以下のようになりうる。
【０１１０】
【表２】
0005819446.tif 000006
【０１１１】
これは、平均3.5および標準偏差1である正規分布の近似である。
interpolated table: テーブルの値の間のlevelの値が補間されることを除いてtableの技術と同様である。例:
【０１１２】
【表３】
0005819446.tif 000007
【０１１３】
その他の技術があり得る。
【０１１４】
関数rate_functionは3つの配列の引数を取る。
expected value array: EWSからの最後のW個の予測される値の評価基準の配列。
deviation array: EWSからの最後のW個の偏差の評価基準の配列。
time array: EWSが上述の評価基準を生成した時間の配列。
【０１１５】
関数は、引数の値に基づいてオブジェクトの変化率を返す。
【０１１６】
図4は、図3に示された例示的なイベントに関する超過の確率の関数を示す。曲線は、図3のガウス分布の累積分布関数であり、図2からの仮定のポリシーが、この曲線の上に重ね合わされている。曲線は、x軸に沿った入力値に対するevent.acceleration.poeのy軸上の戻り値を表す。この表現において、曲線の左側に入るすべての規則が実行され、円としてプロットされている一方、曲線の右側に入る規則は実行されず、菱形としてプロットされている。図2からの仮定のポリシーの例を用いると、
1. event.acceleration.poe (3.16) = 0.97、したがってaction_Aは開始される(14参照)
2. event.acceleration.poe (31.6) = 0.5、したがってaction_Bは開始されない(15参照)
3. event.acceleration.poe (100) = 0.15、したがってaction_Cは開始される(16参照)
【０１１７】
予測される値および偏差の評価基準が更新されるとき、これらの規則が再評価される。図4で開始されないアクションは、後で、新しい情報が利用可能になるときに開始される可能性がある。同様に、図4で開始されるアクションは、アクションの定義によって、後で終了される可能性があり、または続行することを許される可能性がある（下記参照）。
【０１１８】
（アクション処理サブシステム）
アクション処理サブシステム5は、ポリシー実行サブシステム4によってトリガーされたアクションを実行する役割を負う。これらのアクションの多くは、音声警報メッセージをストリーミングすること、または多段階インターフェースを必要とする機器を制御することなど、持続的な監視を必要とする。アクション処理サブシステムは、すべての開始されたアクションが完了することを保証する役割を負う。規則実行サブシステムは、前のアクションをキャンセルする後のアクションを開始する可能性がある。1つのそのような例は、推定される揺れが大幅に増加する場合により緊急性の高いメッセージによって置き換えられる可能性があるストリーミング音声警報メッセージである。アクション処理サブシステムは、前のメッセージのストリーミングを終了し、新しいメッセージを開始する役割を負う。
【０１１９】
アクションは、入力パラメータの連続関数となりうる。
【０１２０】
連続的なアクションの例は、MMI VI未満の推定される震度に対してモーターの速度を維持する。MMI VIにおいて、モーターの速度を下げ始め、MMI VIIIにおいてモーターが半分の速度で動作するまで速度を下げていく。震度がMMI VIIIを超える場合、モーターをシャットダウンする。モーターは、できる限り長く動作を維持されるべきであるが、大きな震度の揺れの間に動作する場合、損傷する可能性がある換気ファン内にある可能性がある。
【０１２１】
アクションは、入力が急速に変化している場合にそれらのアクションをめまぐるしく開始することを避けるためにレート制限され得る。
【０１２２】
ヒステリシスが指定される可能性がある。
【０１２３】
アクションは、双安定である可能性があり、一旦トリガーされると、明示的にリセットしない限り再トリガーできない。
【０１２４】
アクションは、開始、一時停止、再トリガー、および停止操作を有する可能性がある。
【０１２５】
アクションは、ローカルのスクリプトを実行することができる。
【０１２６】
アクションは、その他のポリシーによって使用されるべきローカルの変数を設定することができる。
【０１２７】
アクションは、遠隔のデバイスにデータを送信することができる。
【０１２８】
各アクションは、タスクを開始および完了するために何が行われるべきかを記述する。いくつかの例:
/* 中継器を1秒間オンにし、それから中継器をオフにする */
set relay on for 1 second then off
/* クラクションの音および音声メッセージを含む音声警報をストリーミングし、停止されるまで繰り返す */
loop ( play ( klaxon_sound ); play ( voice_message ) ) until reset
【０１２９】
また、各アクションの定義は、そのアクションを再トリガーまたは終了するために何が行われなければならないかを含む。ドアを開ける例示的なアクションは、以下のように定義されうる。
open_door {
start: set relay_1 on for 1 second then off;
retrigger: set relay_1 on for 1 second then off;
stop: set relay_1 off;
}
一部の実施形態において、これは、スイッチをオン/オフ/オンする制御を引き起こす可能性がある入力の変化の結果を処理する別の方法である。アクションは、一旦開始されると、それをオフにするための方法が(手動入力またはタイマーのような)別のリセット条件のみであるように定義され得る。これは、雑音を含む入力の結果をやはり抑制する。例えば、閾値を超えると、アクションが開始される可能性があり、所定の期間待機するなど、リセット条件が満たされるまで入力が無視される可能性がある。
【０１３０】
音声警報メッセージをストリーミングするアクションは、以下のように定義されうる。
audio_alert {
start: loop ( play ( klaxon_sound ); play ( voice_message ) ) until stop;
retrigger: ;
stop: ;
}
【０１３１】
これらの定義は、形式言語、XMLフォーマット、またはその他の表現で与えられ得る。好ましい実施形態は、以下の構文(EBNF)を使用する。
action_definitions    ::= action_name ( '(' ( parameter )+ ')' )? '{' ( action_spec )+ '}'
action_name         ::= identifier
parameter           ::= identifier
action_spec          ::= start_spec | retrigger_spec | stop_spec
start_spec           ::= 'start' ':' compound_statement ';'
retrigger_spec        ::= 'retrigger' ':' compound_statement ';'
stop_spec            ::= 'stop' ':' compound_statement ';'
compound_statement ::= statement | statement_block
statement_block     ::= '{' ( statement )+ '}'
statement           ::= set_statement | loop_statement | function_statement
set_statement       ::= 'set' variable '=' value ( 'for' duration ( 'then' value )? )?
value               ::= boolean | integer | real | string
boolean             ::= 'on' | 'off' | 'true' | 'false'
duration            ::= float
loop_statement      ::= 'loop' statement_block 'until' condition
condition           ::= expression
function_statement  ::= function_name '(' ( parameter )* ')'
function_name      ::= identifier
【０１３２】
関数は、ポリシーエンジンで定義される可能性があり、またはローカル環境でプログラムを実行するか、リモートプロシージャコールを使用するか、もしくは何らかのその他の同様の方法によるかのいずれかで外部プロシージャを参照することができる。例えば:
script ( bash, "snmptrap server -p alert 0 0 6" )
は、bashシェルを使用してコマンド「snmptrap server -p 0 0 6」を実行する。
【０１３３】
（トレースバックサブシステム）
ポリシーエンジンのすべての動作は、システムの性能を評価し、行われた制御アクションに関する監査証跡を提供するためにシステムの挙動が後で調べられ得るように、トレースバックサブシステム6を使用して記録される。この情報は、規則の更新およびシステムの動作の確認のために役立つ。
【０１３４】
一部の実施形態において、上述のサブシステムのすべてまたは一部は、単一のアプリケーションに統合される。その他の実施形態においては、上述のサブシステムの一部またはすべては、独立したプロセスまたはスレッドとして実行される。すべてのそのようなシステムの分割は、本開示に含まれる。
【０１３５】
（ポリシーの入力）
ポリシーは、イベントオブジェクトで表される(上記参照)、EWSによって与えられたパラメータ情報に基づいて機能することができる。また、ポリシーは、その他のポリシーによって使用され得るローカルの状態を生成することができる。ポリシーは、リアルタイムの機器の状態などの外部変数も監視する可能性がある。これらが図5に示されている。
【０１３６】
（複数のポリシー）
図5は、ポリシーエンジンを通るデータフローの一例を示す。入力(17〜19)が、さまざまな条件に対していくつかの制御アクション(26〜28)を開始するポリシー(20〜25)に与えられる。いくつかのポリシーは同じアクションの応答を開始する可能性があることに留意されたい。例えば:
if event.mmi.poe (9) >= 0.8 then initiate_action_1
-- policy 1
if event.mmi.poe (9) >= 0.5 and unsafe_condition == true then initiate_action_1
-- policy 2
if event.mmi.poe (7) >= 0.8 and vulnerable_condition == true then initiate_action_1
-- policy 3
【０１３７】
通常動作中、機器は、損傷を受けずに非常に強い揺れを乗り切ることができ、したがって、極度の揺れが高い確実性をもって予測されない限り、シャットダウンは開始されない(ポリシー1)。しかし、機器が(オペレータとインタラクションしているなど)何らかの安全でない状態にある場合、故障が、危険にさらされている人員のけがを引き起こす可能性が高く、関連するコストがより高くなるので、より低い確実性のレベルでシャットダウンが開始される(ポリシー2)。機器が(自己較正のような何らかの動作モードにあるなど)脆弱性が高まった状態にある場合、より低いレベルの予測される揺れでシャットダウンが開始される(ポリシー3)。
【０１３８】
（ポリシーの矛盾の解決）
複数のポリシーが同じアクションを制御するとき、制御の矛盾が生じる可能性がある。上述の例において、ポリシーは、アクションを開始するための異なる閾値を定義している。規則の出力の単なるORを取れば十分である。より複雑な場合、より緻密なアプローチが必要とされる。通勤電車を例に取る。通常の減速は電車の速度を3.5km/hr/s落とすことができ、緊急の減速は電車の速度を5km/hr/s落とすことができる。目標は、脱線を避けるのに十分なだけ電車の速度を落とすことである。電車の緊急の減速は、乗客のけがの可能性を高めるので、通常の減速がデフォルトの選択肢である。しかし、電車を減速するのに必要とされる時間が衝撃波の到達までの時間よりも長い場合、緊急の減速が許される。ポリシーは、以下のようになる可能性がある。
if event.mmi.poe (7) >= 0.5 then decelerate(normal)
-- policy 1
if event.mmi.eta () < ( current_velocity - safe_velocity ) / 3.5 then decelerate(emergency)
-- policy 2
【０１３９】
規則で使用される変数は、制御されるべきシステムからのリアルタイムのパラメータ(current_velocity)であるか、または事前に定義された制約(safe_velocity)であるかのどちらかである。これらの2つのポリシーは、異なる割合で減速するように電車に命じているので矛盾している。適切な応答を指示する優先ポリシー(precedence policy)が定義され得る。
precedence: decelerate(emergency > normal)
【０１４０】
あるいは、優先順位(precedence)は、ポリシーが指定されている順序から推測されうる。あるいは、各ポリシーが、明示的な優先順位を付けられうる。
【０１４１】
（ユーザポリシーの取り込み）
上述した詳細な言語および仕様は、専門家(expert)が警報ポリシーのための柔軟で緻密な規則を表すことを可能にする。これほどの詳細なレベルは、すべてのユーザに必要とされない。エンドユーザにより単純な1組の選択肢を提供する、ポリシーを取り込む任意の数のより簡素なメソッド(method)が実施され得る。これらは、基礎となる規則の規定に自動的にマッピングされる。そのようなメソッドに含まれるのは、以下である。
特定の用途に合わせて作られた事前に定義されたテンプレートから選択すること。
ポリシーを規定するためのグラフィカルなメソッドを提供すること。
ポリシーを改良することを可能にするためにポリシーエンジンの応答のシミュレーションを示すこと。
【０１４２】
本明細書において開示されたデバイスおよび方法の変更および修正は、当業者にとり直ちに明白であろう。したがって、上述の詳細な説明および添付の図面は、明瞭にし、理解を助ける目的で作成されており、本明細書に添付の特許請求の範囲によって定義される本発明の範囲を限定するように意図されていないことを理解されたい。本明細書に記載のいずれか1つの実施形態で説明された任意の特徴は、好ましいか否かによらずその他の実施形態のいずれかの任意のその他の特徴と組み合わされ得る。
【０１４３】
本明細書に記載の例および実施形態は、例示のみを目的としており、それらの例および実施形態を踏まえたさまざまな修正または変更が、当業者に示唆され、本出願の精神および範囲、ならびに添付の特許請求の範囲の範囲内に含まれることが理解される。本明細書に引用されたすべての出版物、特許、および特許出願は、あらゆる目的で参照により本明細書に組み込まれる。
【符号の説明】
【０１４４】
1  ポリシー規定サブシステム
3  変化検出サブシステム
4  ポリシー実行サブシステム
5  アクション処理サブシステム
6  トレースバックサブシステム
29  地震センサー
30  地震警告システム
31  ローカルの状態および入力データ
32  出力
【図１】
0005819446.tif 000008
【図２】
0005819446.tif 000009
【図３】
0005819446.tif 000010
【図４】
0005819446.tif 000011
【図５】
0005819446.tif 000012
【図６】
0005819446.tif 000013