(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023086674
(43)【公開日】2023-06-22
(54)【発明の名称】安全計装システムにおけるリスクを検出して報告するためのソフトエラー集計方法
(51)【国際特許分類】
G06F 11/07 20060101AFI20230615BHJP
G06F 11/34 20060101ALI20230615BHJP
G05B 19/05 20060101ALI20230615BHJP
【FI】
G06F11/07 190
G06F11/07 140Q
G06F11/34 152
G05B19/05 N
【審査請求】未請求
【請求項の数】16
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022173780
(22)【出願日】2022-10-28
(31)【優先権主張番号】17/547,523
(32)【優先日】2021-12-10
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】517399000
【氏名又は名称】シュナイダー エレクトリック システムズ ユーエスエー インコーポレイテッド
(74)【代理人】
【識別番号】100118256
【弁理士】
【氏名又は名称】小野寺 隆
(74)【代理人】
【識別番号】100166338
【弁理士】
【氏名又は名称】関口 正夫
(72)【発明者】
【氏名】ミシュラ アジャイ
(72)【発明者】
【氏名】ムスラマリンガム ムルガナンス
(72)【発明者】
【氏名】イヴァノフ ダイアナ
(72)【発明者】
【氏名】バンチック エルナ
【テーマコード(参考)】
5B042
5H220
【Fターム(参考)】
5B042JJ29
5B042MA08
5B042MA14
5B042MC30
5H220AA01
5H220AA04
5H220BB09
5H220CC06
5H220CX01
5H220HH01
5H220JJ12
5H220JJ28
(57)【要約】 (修正有)
【課題】1つ以上の安全プログラマブルロジックコントローラ(PLC)に関連するソフトエラーを管理する方法及びアグリゲータを提供する。
【解決手段】方法は、入力/出力(I/O)モジュールのタイプについて、経時的に期待ソフトエラー率を受信するステップと、それぞれの安全PLCが集計し、それぞれの安全PLCに結合されたI/Oモジュールが検出したソフトエラーに基づくそれぞれのエラーデータを受信するステップと、受信したソフトエラーデータに基づいて、I/Oモジュールのタイプ毎に実ソフトエラー率を決定するステップと、ソフトエラー率をその安全PLC毎に予測し、実ソフトエラー率及び/又は予測ソフトエラー率を、I/Oモジュールのタイプ毎に期待ソフトエラー率と比較するステップと、実ソフトエラー率及び/又は予測ソフトエラー率の間の閾値逸脱に応答して、1つ以上のアクションを講じるステップと、を含む。
【選択図】
図3
【特許請求の範囲】
【請求項1】
1つ以上の安全プログラマブルロジックコントローラ(PLC)に関連するソフトエラーを管理するための方法であって、
入力/出力(I/O)モジュールの1つ以上のタイプについて、経時的に期待ソフトエラー率を受信するステップと、
前記1つ以上の安全PLCのうちのそれぞれの安全PLCによって集計され、前記それぞれの安全PLCに結合されたI/Oモジュールによって検出されたソフトエラーに基づくそれぞれのソフトエラーデータを受信するステップと、
受信した前記ソフトエラーデータに基づいて、I/Oモジュールのタイプごとに実ソフトエラー率を決定するステップと、
I/Oモジュールのタイプごとに前記1つ以上の安全PLCのソフトエラー率を予測するステップと、
前記実ソフトエラー率及び/又は予測ソフトエラー率を、I/Oモジュールのタイプごとに前記期待ソフトエラー率と比較するステップと、
対応するI/Oモジュールのタイプの前記期待ソフトエラー率に対する前記実ソフトエラー率及び/又は予測ソフトエラー率の間の閾値逸脱に応答して、1つ以上のアクションを講じるステップと、
を含む、方法。
【請求項2】
講じられる前記1つ以上のアクションは、検出されたソフトエラーの量を減らすための少なくとも1つのアクションを含む、請求項1に記載の方法。
【請求項3】
前記実ソフトエラー率及び/又は予測ソフトエラー率、並びに閾値逸脱に達したときを決定するための逸脱の1つ以上の範囲の視覚表示を出力するステップをさらに含む、請求項1に記載の方法。
【請求項4】
前記1つ以上の範囲は、同じタイプのI/Oモジュールの期待寿命時間にわたるI/Oモジュールタイプごとのソフトエラーの集計量に基づく、請求項3に記載の方法。
【請求項5】
前記1つ以上の範囲は、何もアクションが講じられない正常ソフトエラー範囲、第一の逸脱量に関連し、前記1つ以上のアクションが第一のタイプのアクションであるアラートソフトエラー範囲、及び前記第一の逸脱量とは異なる第二の逸脱量に関連し、前記1つ以上のアクションが第二のタイプのアクションである警告ソフトエラー範囲を含む、請求項4に記載の方法。
【請求項6】
前記1つ以上の安全PLCのうちの安全PLCのグループに対する前記実ソフトエラー率及び/又予測ソフトエラー率の間に閾値逸脱があると決定することに応答して、前記安全PLCのグループのサブグループ又は前記安全PLCのグループの個別の安全PLCに対する前記実ソフトエラー率及び/又は予測ソフトエラー率の間に閾値逸脱があるかどうかを決定するステップと、
前記安全PLCの前記サブグループ又は前記個別の安全PLCについて閾値逸脱があるかどうかを決定した結果に基づいて、前記閾値逸脱の原因がどのサブグループ又はどの個別の安全PLCであるかを特定するステップと、
をさらに含む、請求項1に記載の方法。
【請求項7】
前記閾値逸脱の原因である個別の安全PLCを特定することに応答して、前記安全PLCのI/Oモジュールごと及び/又は前記安全PLCの前記I/Oモジュールのうち選択されたI/Oモジュールの半導体コンポーネントごとのソフトエラー率を、I/Oモジュールごと及び/又は半導体コンポーネントごとの期待ソフトエラー率と比較するステップと、
I/Oモジュールごと及び/又は半導体コンポーネントごとの前記期待ソフトエラー率との前記比較に基づいて、前記閾値逸脱の原因である前記安全PLCの前記I/Oモジュールのうちの1つ以上のI/Oモジュール、及び/又は前記閾値逸脱の原因である前記選択されたI/Oモジュールのうちの1つ以上の半導体コンポーネントを特定するステップと、
をさらに含む、請求項1に記載の方法。
【請求項8】
安全PLCのプロセッサによって実行される方法であって、
前記安全PLCの1つ以上のI/Oモジュールによって検出されたソフトエラーのタイムスタンプ付きレポートを受信するステップと、
I/Oモジュールのタイプごとにソフトエラーを集計するステップと、
集計されたタイムスタンプ付き前記ソフトエラーを、前記安全PLCの外部にあるアグリゲータに報告するステップと、
を含む、方法。
【請求項9】
集計されたタイムスタンプ付き前記ソフトエラーは、前記ソフトエラーを検出した1つ以上のI/OモジュールのそれぞれのI/Oモジュールのタイプの特定と共に報告される、請求項8に記載の方法。
【請求項10】
1つ以上の安全PLCと通信するアグリゲータであって、
命令を格納するように構成されたメモリと、
前記メモリと通信するように配置されたプロセッサと、
を備え、前記プロセッサは、前記命令の実行時に、
入力/出力(I/O)モジュールの1つ以上のタイプについて、経時的に期待ソフトエラー率を受信するステップと、
それぞれの1つ以上の安全PLCによって集計され、前記それぞれの1つ以上の安全PLCに結合されたI/Oモジュールによって検出されたソフトエラーに基づくそれぞれのソフトエラーデータを受信するステップと、
受信した前記ソフトエラーデータに基づいて、I/Oモジュールのタイプごとに実ソフトエラー率を決定するステップと、
I/Oモジュールのタイプごとに前記1つ以上の安全PLCのソフトエラー率を予測するステップと、
前記実ソフトエラー率及び/又は予測ソフトエラー率を、I/Oモジュールのタイプごとに前記期待ソフトエラー率と比較するステップと、
対応するI/Oモジュールのタイプの前記期待ソフトエラー率に対する前記実ソフトエラー率及び/又は予測ソフトエラー率の間の閾値逸脱に応答して、1つ以上のアクションを講じるステップと、
を行うように構成される、アグリゲータ。
【請求項11】
講じられる前記1つ以上のアクションは、検出されたソフトエラーの量を減らすための少なくとも1つのアクションを含む、請求項10に記載のアグリゲータ。
【請求項12】
前記プロセッサは、前記命令の実行時に、前記実ソフトエラー率及び/又は予測ソフトエラー率、並びに前記閾値逸脱に達したときを決定するための逸脱の1つ以上の範囲の視覚表示を出力するステップをさらに行うように構成される、請求項10記載のアグリゲータ。
【請求項13】
前記1つ以上の範囲は、同じタイプのI/Oモジュールの期待寿命時間にわたるI/Oモジュールのタイプごとのソフトエラーの集計量に基づく、請求項12に記載のアグリゲータ。
【請求項14】
前記1つ以上の範囲は、何もアクションが講じられない正常ソフトエラー範囲、第一の逸脱量に関連し、前記1つ以上のアクションが第一のタイプのアクションであるアラートソフトエラー範囲、及び前記第一の逸脱量とは異なる第二の逸脱量に関連し、前記1つ以上のアクションが第二のタイプのアクションである警告ソフトエラー範囲を含む、請求項13に記載のアグリゲータ。
【請求項15】
前記プロセッサは、前記命令の実行時に、
前記1つ以上の安全PLCのうちの安全PLCのグループに対する前記実ソフトエラー率及び/又予測ソフトエラー率の間に閾値逸脱があると決定することに応答して、前記安全PLCのグループのサブグループ又は前記安全PLCのグループの個別の安全PLCに対する前記実ソフトエラー率及び/又は予測ソフトエラー率の間に閾値逸脱があるかどうかを決定するステップと、
前記安全PLCの前記サブグループ又は前記個別の安全PLCについて閾値逸脱があるかどうかを決定した結果に基づいて、前記閾値逸脱の原因がどのサブグループ又はどの個別の安全PLCであるかを特定するステップと、
をさらに行うように構成される、請求項10に記載のアグリゲータ。
【請求項16】
前記プロセッサは、前記命令の実行時に、
前記閾値逸脱の原因である個別の安全PLCを特定することに応答して、前記安全PLCのI/Oモジュールごと及び/又は前記安全PLCの前記I/Oモジュールのうち選択されたI/Oモジュールの半導体コンポーネントごとのソフトエラー率を、I/Oモジュールごと及び/又は半導体コンポーネントごとの期待ソフトエラー率と比較するステップと、
I/Oモジュールごと及び/又は半導体コンポーネントごとの前記期待ソフトエラー率との前記比較に基づいて、前記閾値逸脱の原因である前記安全PLCの前記I/Oモジュールのうちの1つ以上のI/Oモジュール、及び/又は前記閾値逸脱の原因である前記選択されたI/Oモジュールのうちの1つ以上の半導体コンポーネントを特定するステップと、
をさらに行うように構成される、請求項10に記載のアグリゲータ。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、安全計装システムに関し、より具体的には、安全計装システムにおけるリスクを検出して報告するためのソフトエラー集計方法に関する。
【背景技術】
【0002】
安全計装システム(SIS)は、工場、製造業者、精製所、石油生産現場等の産業プラント(操作ユニットとも呼ばれる)において危険な状態を監視するために設計されたシステムである。SISは、危険な状態が発生した場合、例えば、何もアクションを講じなければ危険が生じる場合に、アクションを起こすように構成されている。
【0003】
SISは、1つ以上の安全プログラマブルロジックコントローラを含むことができ、そのそれぞれが1つ以上の入力/出力(I/O)モジュールからの入力を監視する。各I/Oモジュールは、異なるそれぞれのソースから多くの入力を受信するように構成することができる。このように、モジュール構成は、拡張可能な数の入力を監視するために提供される。
【0004】
SISによって検出されるエラーは、ハードエラーとソフトエラーを含むことができる。ハードエラーは、ハードウェアの誤動作によって引き起こされ、一般的には、データ伝送及びストレージデバイスが原因である。ハードエラーは、コンピュータを再起動しても修正されない。それに対して、ソフトエラーは、ハードウェアの誤動作とは無関係であり、コンピュータが再起動されると修正される。
【0005】
ソフトエラーがハードエラーと区別されない場合、SISは、それをハードウェア故障であると誤って解釈し、SISによる不要なアクションをトリガする可能性がある。
【0006】
操作ユニットにおける危険な状態を監視するための従来の方法及びシステムは、一般に、その意図された目的に対して満足のいくものと考えられてきたが、改善の必要性が残されている。
【発明の概要】
【0007】
以下に説明する図示された実施形態の目的及び利点は、以下の説明に記載され、そこから明らかになるであろう。例示された実施形態の追加の利点は、本明細書及び特許請求の範囲において、また添付の図面で、特に指摘されたデバイス、システム及び方法によって、実現され、達成される。
【0008】
これらの利点及び他の利点を達成するために、また図示された実施形態の目的に従って、一態様では、1つ以上の安全プログラマブルロジックコントローラ(PLC)に関連するソフトエラーを管理するための方法が開示される。本方法は、入力/出力(I/O)モジュールの1つ以上のタイプについて、経時的に期待ソフトエラー率を受信するステップと、前記1つ以上の安全PLCのうちのそれぞれの安全PLCによって集計され、前記それぞれの安全PLCに結合されたI/Oモジュールによって検出されたソフトエラーに基づくそれぞれのソフトエラーデータを受信するステップと、を含む。実ソフトエラー率は、受信した前記ソフトエラーデータに基づいて、I/Oモジュールのタイプごとに決定し、ソフトエラー率は、I/Oモジュールのタイプごとの前記1つ以上の安全PLCについて予測する。前記実ソフトエラー率及び/又は予測ソフトエラー率は、I/Oモジュールのタイプごとに前記期待ソフトエラー率と比較される。本方法は、対応するI/Oモジュールのタイプの前記期待ソフトエラー率に対する前記実ソフトエラー率及び/又は予測ソフトエラー率の間の閾値逸脱に応答して、1つ以上のアクションを講じるステップさらに含む。
【0009】
1つ以上の実施形態において、講じられる1つ以上のアクションは、検出されたソフトエラーの量を減らすための少なくとも1つのアクションを含むことができる。
【0010】
1つ以上の実施形態において、本方法は、前記実ソフトエラー率及び/又は予測ソフトエラー率、並びに閾値逸脱に達したときを決定するための逸脱の1つ以上の範囲の視覚表示を出力するステップをさらに含むことができる。
【0011】
1つ以上の実施形態において、前記1つ以上の範囲は、同じタイプのI/Oモジュールの期待寿命時間にわたるI/Oモジュールのタイプごとのソフトエラーの集計量に基づくことができる。
【0012】
1つ以上の実施形態において、前記1つ以上の範囲は、何もアクションが講じられない正常ソフトエラー範囲、第一の逸脱量に関連し、前記1つ以上のアクションが第一のタイプのアクションであるアラートソフトエラー範囲、及び前記第一の逸脱量とは異なる第二の逸脱量に関連し、前記1つ以上のアクションが第二のタイプのアクションである警告ソフトエラー範囲を含むことができる。
【0013】
1つ以上の実施形態において、本方法は、前記1つ以上の安全PLCのうちの安全PLCのグループに対する前記実ソフトエラー率及び/又予測ソフトエラー率の間に閾値逸脱があると決定することに応答して、前記安全PLCのグループのサブグループ又は前記安全PLCのグループの個別の安全PLCに対する前記実ソフトエラー率及び/又は予測ソフトエラー率の間に閾値逸脱があるかどうかを決定するステップをさらに含むことができる。本方法は、前記安全PLCの前記サブグループ又は前記個別の安全PLCについて閾値逸脱があるかどうかを決定した結果に基づいて、前記閾値逸脱の原因がどのサブグループ又はどの個別の安全PLCであるかを特定するステップをさらに含むことができる。
【0014】
1つ以上の実施形態において、本方法は、前記閾値逸脱の原因である個別の安全PLCを特定することに応答して、前記安全PLCのI/Oモジュールごと及び/又は前記安全PLCの前記I/Oモジュールのうち選択されたI/Oモジュールの半導体コンポーネントごとのソフトエラー率を、I/Oモジュールごと及び/又は半導体コンポーネントごとの期待ソフトエラー率と比較するステップをさらに含むことができる。I/Oモジュールごと及び/又は半導体コンポーネントごとの前記期待ソフトエラー率との前記比較に基づいて、前記閾値逸脱の原因である前記安全PLCの前記I/Oモジュールのうちの1つ以上のI/Oモジュール、及び/又は前記閾値逸脱の原因である前記選択されたI/Oモジュールのうちの1つ以上の半導体コンポーネントを特定するステップをさらに含むことができる。
【0015】
別の態様によれば、安全PLCのプロセッサによって実行される方法が開示される。本方法は、前記安全PLCの1つ以上のI/Oモジュールによって検出されたソフトエラーのタイムスタンプ付きレポートを受信するステップと、I/Oモジュールのタイプごとにソフトエラーを集計するステップと、集計されたタイムスタンプ付き前記ソフトエラーを、前記安全PLCの外部にあるアグリゲータに報告するステップと、を含む。
【0016】
1つ以上の実施形態において、集計されたタイムスタンプ付き前記ソフトエラーは、前記ソフトエラーを検出した1つ以上のI/OモジュールのそれぞれのI/Oモジュールのタイプの特定と共に報告される。
【0017】
さらに別の態様によれば、1つ以上の安全PLCと通信するアグリゲータが開示される。前記アグリゲータは、命令を格納するように構成されたメモリと、前記メモリと通信するように配置されたプロセッサと、を含む。前記プロセッサは、前記命令の実行時に、入力/出力(I/O)モジュールの1つ以上のタイプについて、経時的に期待ソフトエラー率を受信するステップと、それぞれの1つ以上の安全PLCによって集計され、前記それぞれの1つ以上の安全PLCに結合されたI/Oモジュールによって検出されたソフトエラーに基づくそれぞれのソフトエラーデータを受信するステップと、受信した前記ソフトエラーデータに基づいて、I/Oモジュールのタイプごとに実ソフトエラー率を決定するステップと、を行うように構成されている。前記プロセッサは、前記命令の実行時に、I/Oモジュールのタイプごとの前記1つ以上の安全PLCのソフトエラー率を予測するステップと、前記実ソフトエラー率及び/又は予測ソフトエラー率を、I/Oモジュールのタイプごとに前記期待ソフトエラー率と比較するステップと、対応するI/Oモジュールのタイプの前記期待ソフトエラー率に対する前記実ソフトエラー率及び/又は予測ソフトエラー率の間の閾値逸脱に応答して、1つ以上のアクションを講じるステップと、をさらに行うように構成されている。
【0018】
1つ以上の実施形態において、本方法は、講じられる1つ以上のアクションをさらに含むことができ、1つ以上のアクションには、検出されたソフトエラーの量を減らすための少なくとも1つのアクションを含むことができる。
【0019】
1つ以上の実施形態において、プロセッサは、命令の実行時に、前記実ソフトエラー率及び/又は予測ソフトエラー率、並びに閾値逸脱に達したときを決定するための逸脱の1つ以上の範囲の視覚表示を出力するステップをさらに行うように構成することができる。
【0020】
1つ以上の実施形態において、前記1つ以上の範囲は、同じタイプのI/Oモジュールの期待寿命時間にわたるI/Oモジュールのタイプごとのソフトエラーの集計量に基づくことができる。
【0021】
1つ以上の実施形態において、前記1つ以上の範囲は、何もアクションが講じられない正常ソフトエラー範囲、第一の逸脱量に関連し、前記1つ以上のアクションが第一のタイプのアクションであるアラートソフトエラー範囲、及び前記第一の逸脱量とは異なる第二の逸脱量に関連し、前記1つ以上のアクションが第二のタイプのアクションである警告ソフトエラー範囲を含むことができる。
【0022】
1つ以上の実施形態において、前記プロセッサは、前記命令の実行時に、前記1つ以上の安全PLCのうちの安全PLCのグループに対する前記実ソフトエラー率及び/又予測ソフトエラー率の間に閾値逸脱があると決定することに応答して、前記安全PLCのグループのサブグループ又は前記安全PLCのグループの個別の安全PLCに対する前記実ソフトエラー率及び/又は予測ソフトエラー率の間に閾値逸脱があるかどうかを決定するステップと、前記安全PLCの前記サブグループ又は前記個別の安全PLCについて閾値逸脱があるかどうかを決定した結果に基づいて、前記閾値逸脱の原因がどのサブグループ又はどの個別の安全PLCであるかを特定するステップと、をさらに行うように構成されることができる。
【0023】
1つ以上の実施形態において、前記プロセッサは、前記命令の実行時に、前記閾値逸脱の原因である個別の安全PLCを特定することに応答して、前記安全PLCのI/Oモジュールごと及び/又は前記安全PLCの前記I/Oモジュールのうち選択されたI/Oモジュールの半導体コンポーネントごとのソフトエラー率を、I/Oモジュールごと及び/又は半導体コンポーネントごとの期待ソフトエラー率と比較するステップと、I/Oモジュールごと及び/又は半導体コンポーネントごとの前記期待ソフトエラー率との前記比較に基づいて、前記閾値逸脱の原因である前記安全PLCの前記I/Oモジュールのうちの1つ以上のI/Oモジュール、及び/又は前記閾値逸脱の原因である前記選択されたI/Oモジュールのうちの1つ以上の半導体コンポーネントを特定するステップと、をさらに行うように構成されることができる。
【0024】
本主題の開示のシステム及び方法のこれら等の特徴は、図面と組み合わせて取られる好ましい実施形態の以下の詳細な説明から、当業者により容易に明らかになるであろう。
【図面の簡単な説明】
【0025】
上記で簡単に概要を述べた本開示のより詳細な説明は、様々な実施形態を参照することによって有することができ、そのいくつかは添付の図面に例示されている。添付の図面は、本開示の選択された実施形態を例示しているが、本開示が他の同様に有効な実施形態を認め得るので、これらの図面は、その範囲を限定するものと見なされない。
【0026】
【
図1】本開示の一態様に従って、1つ以上の安全プログラマブルロジックコントローラ(PLC)に関連するソフトエラーを管理するためのアグリゲータを有する例示的な安全計装システム(SIS)を例示するブロック図である。
【
図2】本開示の態様に従って、ソフトエラーを集計するために安全PLC内で実行される例示的な方法を示すフローチャートである。
【
図3】本開示の態様に従って、SISにわたるエラーを集計しソフトエラー率を決定するためにSISのアグリゲータによって実行される例示的な方法を示すフローチャートである。
【
図4】本開示の態様に従って、SISのソフトエラー率をより詳細に調査する際にアグリゲータによって実行される例示的な方法を示すフローチャートである。
【
図5】本開示の態様に従って、異なる操作範囲に対する様々な閾値に対する期待ソフトエラー率、実ソフトエラー率、及び予測ソフトエラー率の曲線を有する例示的なグラフを示す。
【
図6】本開示の実施形態に従って、SISの安全PLC及びアグリゲータによって使用される例示的なコンピュータシステムのブロック図である。
【0027】
図に共通する同一の要素を指定するために、可能な限り、同一の参照数字が使用されている。しかしながら、ある実施形態で開示された要素は、特定の説明なしに、他の実施形態で有益に利用されることがある。
【発明を実施するための形態】
【0028】
ここで図面を参照すると、説明及び図示のためであり、限定するものではないが、本開示による安全計装システム(SIS)の例示的な実施形態のブロック図が
図1に示されており、SISは、参照文字100によって一般に指定されている。本開示に従うSIS100による1つ以上の操作ユニットの監視に関連する方法、又はその側面は、これから説明するように、
図2~
図6に提供される。
【0029】
ここで
図1を参照すると、SIS100は、アグリゲータ102と、通信リンク140を介してアグリゲータ102と通信する1つ以上の安全PLC104(1)~104(X)(一般に安全PLC104と呼ばれ、ここでXは特定の数に限定されない正の整数である)とを含んでいる。通信リンク140は、有線又は無線であり得、ローカルエリアネットワーク又はワイドエリアネットワーク(例えば、インターネット)のようなネットワークを介した通信をサポートすることができる。
【0030】
アグリゲータ102及び安全PLC104は、コンピューティングデバイスであり、そのそれぞれがパーソナルコンピュータ、スマートモバイルデバイス、ラップトップコンピュータ、サーバ等の1つ以上の処理ユニットと通信するメモリを有し、処理ユニットは、対応するメモリによって格納された実行可能命令を実行するように構成される。アグリゲータ102及び安全PLC104は、そのそれぞれが、データ及び処理結果(例えば、集計データ、ソフトエラー率、及び期待エラー率)を格納するための(
図6に示すストレージ604又は外部コンポーネント608に含まれるような)1つ以上のストレージデバイスをさらに含み、及び/又はアクセスする。ストレージデバイスは、ランダムアクセスメモリ(RAM)、キャッシュメモリ、磁気ディスク、光ディスク等の揮発性又は不揮発性のメモリ又はストレージ媒体の形態のコンピュータシステム可読媒体を含むことができる。
【0031】
SIS100は、制御室のような単一のサイトに配置することができ、あるいは数十キロメートル間隔で配置されるような広い地域に分散したPLC104を有する産業プラント全体に分散させることもできる。資産の所有者等のエンドユーザは、産業プラントの操作を監視するためにSISを長年にわたって運用し、維持することができる。
【0032】
安全PLC104は、コンピューティングデバイスであり、そのそれぞれが1つ以上のI/Oモジュール110(1)~110(N)(一般にI/Oモジュール110といい、Nは特定の数に限定されない正の整数)、通信(COM)モジュール112、及びメインプロセッサ(MP)モジュール114を含む。I/Oモジュール110は、検出されたソフトエラーを報告するために、内部通信リンク118を介してMPモジュール114と通信する。内部通信リンク118は、典型的には、シグナルインテグリティの目的のためにハードワイヤード・リンクである。
【0033】
I/Oモジュール110は、安全のために監視されている様々なソースから入力信号を受信するように構成されたハードウェア及び/又はソフトウェアを含む。入力信号は、アナログ信号及び/又はデジタル信号であり得る。各I/Oモジュール110は、別個のシャーシに設けることができる。内部SE診断エンジン122は、入力信号を処理するための診断を行い、ソフトエラーを検出し、検出されたソフトエラーをMPモジュール114に報告するように構成されたハードウェア及び/又はソフトウェアを含む。内部SE診断エンジン122は、さらに、ソフトエラーから回復するためのアクションを実行することができる。I/Oモジュール110は、デジタル入力、デジタル出力、デジタルログイン、及びデジタルログアウト等の異なるタイプを有することができる。各I/Oモジュールは、例えば、マイクロコントローラ、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)等の組み込みプロセッサを含むことができるインテリジェントデバイスである。
【0034】
COMモジュール112は、アグリゲータ102等の外部処理デバイスと通信リンク140を有する1つ以上のネットワークを介して通信するためのハードウェア及び/又はソフトウェアを含む。MPモジュール114は、報告されたソフトエラーを受信して集計し、集計されたソフトエラーをアグリゲータ102に報告するように構成されたハードウェア及び/又はソフトウェアを含む。MPモジュール114は、安全システムの制御を可能にする統合安全機能を提供するように構成されたハードウェア及び/又はソフトウェアを更に含む。COMモジュール112、及びMPモジュール114は、I/Oモジュール110に提供されるシャーシとは別の1つ以上のシャーシに提供することができる。
【0035】
アグリゲータ102は、通信インターフェース132、SE集計エンジン134、及びユーザインターフェース136を含むコンピューティングデバイスである。通信インターフェース132は、それぞれの安全PLC104によって集計されたソフトエラーデータを受信するために、安全PLC104と通信リンク140を有する1つ以上のネットワークを介して通信するように構成されたハードウェア及び/又はソフトウェアを含む。SE集計エンジン134は、安全PLC104から受信したソフトエラーデータを集計するように構成されたハードウェア及び/又はソフトウェアを含む。ユーザインターフェース136は、ユーザによるデータ入力(例えば、入力又は選択)を受信し、解析結果を出力するように構成されたハードウェア及び/又はソフトウェアを含む。例えば、ユーザインターフェース136は、グラフィカルユーザインターフェース(GUI)を提供することができ、GUIによって、ユーザがデータを入力でき、及び/又は、データをユーザに、例えば、ディスプレイデバイスに表示できる。解析結果は、例えば、ダッシュボードを介して表示され、あるいは、そうでなければ、ユーザ及び/又は外部処理デバイスに出力され得る。
【0036】
ソフトエラーの多くは、フリップフロップ、メモリセル等の揮発性半導体素子の状態に影響を与える。ソフトエラーによって、制御プログラムの実行順序が変化し、システムの挙動が不正確になったり、変化しないはずの定数が変化したりすることがある。ソフトエラーは、典型的には、回路そのものを破壊することはないが、格納されているデータ又は影響を受けた回路の状態を破壊する。ソフトエラーの中には、対応するコンピュータを再起動することで改善されるものもあるが、正しいデータを復元するための是正アクションが必要なものもある。
【0037】
ソフトエラーは、地上環境で自然に発生するランダムな放射線イベント、又は宇宙線による単一イベントのアップセットによって引き起こされる。ソフトエラーの別の原因は、アルファ粒子を放出する初期のデバイスからの少量の放射性汚染物質によるものである。
【0038】
アグリゲータ102は、SIS100の全ての安全PLC104からソフトエラーを収集し、データを集計する。ある程度のソフトエラーは期待されるが、SIS100全体のソフトエラーを収集して集計することによって、ソフトエラーが、安全度水準(SIL)に対して決定されるような期待ソフトエラー率を超えているかどうかを判断することが可能になる。さらに、期待ソフトエラー率を超えるソフトエラーのパターンは、1つ以上の特定の安全PLC104又は安全PLC102の1つのI/Oモジュールが、SILの設計された仮定に従って動作していないことをユーザに警告することができる。その後、ユーザは、プロセス安全ハザード分析を行うか、安全計装機能設計を評価する等して再評価することができ、その結果、安全PLCの動作又は設計を変更するためのアクションを講じること、及び/又はSILの再計算を行うことができる。
【0039】
集計されたソフトエラーのアグリゲータ102による解析結果は、特定の場所の安全PLC104に対する環境リスクがSILによって想定されるレベルを超えており、それらの安全PLC104に関連する上昇したソフトエラー率の原因であると想定されることを示すことができる。アグリゲータ102は、この評価に基づいて、安全PLC104を再配置すること及び/又は影響を受ける安全PLC104に保護ハウジングを追加すること等のアクションを取らせることができる。
【0040】
ソフトエラー率の上昇で、例えば、I/Oモジュール110のソフトエラーに起因するものは、半導体コンポーネントが将来的にハード故障の危険性があることを示す指標となり得る。例えば、I/Oモジュール110に関連するソフトエラー率の上昇は、I/Oモジュールの予測ソフトエラー率を超える。予測ソフトエラー率は、I/Oモジュールの寿命にわたる期待ソフトエラーに基づくことができる。ソフトエラー率が上昇すると、対応する安全PLC104及び/又はI/Oモジュール110は、関連するハードウェアを安全でない状態に置く障害を引き起こすことができる意図しない論理動作の実行を起こしやすくなる可能性がある。アグリゲータ102は、ハード障害の発生前に、この評価に基づいて講じるべきアクション、例えば、特定のI/Oモジュール110又は特定の安全PLC104の交換又は修理を引き起こすことが可能である。
【0041】
アグリゲータ102を使用すると、SIS100に含まれる安全PLC104の数は、許容できないソフトエラー率の検出を構成することなく、スケールアップすることができる。スケールアップした場合でも、評価は、ソフトエラー率の上昇が傾向であるか、1つ以上の安全PLC104の特定の場所に関連しているか、又は特定のI/Mモジュール110に関連しているかを判断することができる。解析においてさらにドリルダウンすることによって、アグリゲータ102は、上昇したソフトエラーを有するI/Mモジュール110の特定の半導体コンポーネントを特定でき、これは、関連するI/Mモジュール110の製造業者にとって特に興味深いものになり得る。
【0042】
ソフトエラー率を監視するためにSIS100によって実行される方法は、安全PLC104ごとのそれぞれのモジュールI/Oモジュール110の診断エンジン122が、ソフトエラーデータとして、タイムスタンプ、及びオプションとして関連半導体コンポーネントの識別(コンポーネントID)を有する各検出ソフトエラーをログすることを含み得る。対応するMPモジュール114の内部ソフトエラー集計エンジン126は、その安全PLC104の全てのI/Mモジュールについてソフトエラーデータを集計する。例えば、各安全PLC104のMPモジュール114は、タイムスタンプ付きソフトエラーを収集するために、結合された内部ソフトエラー集計エンジン126をポーリングすることが可能である。他の実施形態では、内部ソフトエラー集計エンジン126は、タイムスタンプ付きソフトエラーを(任意に、半導体コンポーネントごとに)一定の間隔で、又はイベントに応答して提供すること等によって、異なる通信方式を使用することが可能である。
【0043】
アグリゲータ102は、それぞれのCOMモジュール112を介して安全PLC104と通信し、全ての安全PLC104からソフトエラーデータを取得することができる。例えば、アグリゲータ102は、各安全PLC104に要求を送信することができ、安全PLC104は、その特定の集計されたソフトエラーデータと、特定の安全PLC204を識別する関連PLC IDで要求に応答することができる。他の実施形態では、アグリゲータ102及び安全PLC104は、異なる通信方式を使用することができる。
【0044】
アグリゲータ102は、ソフトエラー率を計算するために、日、月、年ごと等の選択された解像度でスライディングウィンドウにわたって発生したソフトエラーを数えることによって、ソフトエラーデータを集計することができる。ソフトエラー率は、選択されたパラメータごとに決定することができる。パラメータは、事前に構成することも、ユーザが選択することも、あるいは、例えば、以前の異常な結果に基づいて、自動的に選択することもできる。例えば、ソフトエラー率は、全ての安全PLC104に対して、安全PLC104ごとに、安全PLC104の選択されたグループ(例えば、選択された地理的地域内、又は期待率を超えた関連するソフトエラー率を有する特定の安全PLC104に対して)に対して、I/Oモジュール110ごとに、I/Oモジュール110の選択されたグループ(例えば、I/Oモジュールの製造業者又はモデルに基づいて、タイプに基づいて、又は期待率を超えた関連するソフトエラー率を有するI/Oモジュールに対して、等)ごとに、半導体コンポーネントごとに、及び/又は半導体コンポーネントの選択されたグループ(例えば、半導体コンポーネントの製造業者又はモデルに基づいて、又は期待される率を超えた関連するソフトエラー率を有する特定の半導体コンポーネントに対して)ごとに、選択できる。
【0045】
アグリゲータ102は、計算されたソフトエラーデータ率に基づいて、安全PLC104又は安全PLC104のグループ(例えば、SILの全ての安全PLC又は選択されたPLC104(例えば、地理的位置ごと))に対する環境リスクを低、中、高リスクとして定義するアルゴリズムをさらに実行することできる。リスクレベルの指定は、安全PLC104の製造業者によって定義された率(例えば、最大率)から導かれる。
【0046】
1つ以上の実施形態において、SIS100の安全PLCのグループ(例えば、選択された安全PLC104又はSISの全ての安全PLC104)のリスクレベルを評価するために、アグリゲータ102は、製造業者等によって定義される1つの安全PLCの寿命にわたる期待ソフトエラー率(例えば、2年間に1000のソフトエラー)を受信する。データの受信に関する「受信」という用語は、広義に解釈されることを意図しており、例えば、送信による受信、検索、要求してからの受信、メモリ内の場所へのアクセス、読み取り、又はその他の取得を含むことができる。
【0047】
アグリゲータ102は、製造業者及び/又は資産所有者(等)が定義した1つの安全PLCの耐用年数にわたるソフトエラー率の集計値を計算し、線形グラフ上に期待ソフトエラー率の曲線を描く。
【0048】
アグリゲータ102は、安全PLC104のグループに対して、(例えば、初期起動から)一定期間のソフトエラー率の統計値(例えば、アベレージ、平均、高)を集計し、直線グラフ上に予測ソフトエラー率の曲線を描いて、安全PLC104の耐用年数終了時のソフトエラー率を予測する。
【0049】
期待ソフトエラー率の曲線に対する実ソフトエラー率及び/又は予測ソフトエラー率の曲線間のトレンドライン逸脱に基づいて、アグリゲータ102は、予測レベルに基づいて、警告又はアラートを生成する。これらの警告及びアラートは、さらに、アクションを講じることができる。
【0050】
ソフトエラー率の実曲線及び予測曲線は、SIS100内の安全PLCの任意の選択されたグループに対して決定して、プロットすることができ、次に、期待ソフトエラー率の曲線と比較することができる。
【0051】
同様に、I/Oモジュール110の特定のタイプについての期待ソフトエラー率は、製造業者提供データの関数として、I/Oモジュールのタイプの耐用年数について決定することができ、これは、I/Oモジュールタイプに対する期待ソフトエラー率の曲線として、線形グラフ上にプロットすることが可能である。ソフトエラー率の実曲線及び予測曲線は、1つ以上の選択された安全PLC104又はSIS100内のI/Oモジュール110のタイプの任意の選択されたグループに対して決定し、プロットすることができる。I/Oモジュールのタイプについての期待ソフトエラー率の曲線に対する実ソフトエラー率及び/又は予測ソフトエラー率の曲線間のトレンドライン逸脱に基づいて、アラート又は警告を生成し、アクションを講じることができる。
【0052】
ここで
図2~
図4を参照すると、様々な例示的な実施形態の実装を示すフローチャートが示されている。
図2~
図4に示されるブロックの順序は必須ではなく、原理的には、様々なブロックは図示された順序から外れて実行されてもよいことに留意されたい。また、特定のブロックがスキップされてもよく、異なるブロックが追加又は置換されてもよく、いくつかのブロックが厳密に順次ではなく並行して実行されてもよく、又は選択されたブロック又はブロックのグループが、本明細書に記載される実施形態に従って、別のアプリケーションで実行されてもよい。
【0053】
情報の交換に言及する言語は、限定することを意図していない。例えば、本明細書で使用される「受信」という用語は、取得、得ること、アクセス、検索、読み取り、又は伝送を得ることを意味している。これらの用語のいずれかを使用することは、他の用語を除外することを意味するものではない。モジュール間で交換されるデータは、モジュール間の伝送によって交換され得るか、又は一方のモジュールが他方のモジュールによってアクセスされ得る場所にデータを格納することを含み得る。
【0054】
図2は、I/Oモジュールによって、例えば、
図1に示す安全PLC104、メインプロセッサモジュール114、及びI/Oモジュール110によって検出されたソフトエラーを集計するために、安全PLC及びそのメインプロセッサモジュールによって実行されるブロックのフローチャートを示す。ブロック202で、安全PLCのI/Oモジュールによって検出されたソフトエラーのレポートを受信する。レポートは、検出時刻のタイムスタンプを含むことができる。ブロック204で、ソフトエラーを、I/Oモジュールのタイプごとに集計する。ブロック206で、集計されたタイムスタンプ付きソフトエラーを、安全PLCの外部にあるアグリゲータに、例えば、
図1に示すアグリゲータ102に集計されたソフトエラーデータとして報告する。
【0055】
図3は、アグリゲータによって、例えば、
図1に示すアグリゲータ102によって実行されるブロックのフローチャートを示す。ブロック302で、経時的にI/Oモジュールのタイプに対する期待ソフトエラー率を受信する。ブロック304で、それぞれの集計されたソフトエラーデータを安全PLCから受信する。ブロック306で、受信したソフトエラーデータに基づいて、I/Oモジュールのタイプごとに実ソフトエラー率を決定する。ブロック308で、安全PLCの将来のソフトエラー率を、I/Oモジュールのタイプごとに予測する。ソフトエラー率の決定及び予測は、アグリゲータに報告する全ての安全PLCについて、又は安全PLCの選択されたグループもしくは個別の安全PLCについて行うことができる。ブロック310で、実ソフトエラー率及び/又は予測ソフトエラー率を、I/Oモジュールのタイプごとに期待ソフトエラー率と比較する。ブロック312で、対応するI/Oモジュールのタイプの期待ソフトエラー率に対する実ソフトエラー率又は予測ソフトエラー率の間の閾値逸脱に応答して、1つ以上のアクションを講じる。
【0056】
図4は、閾値逸脱の原因を特定するためにドリルダウンするときに、アグリゲータによって実行されるブロックのフローチャートである。ブロック402で、1つ以上の安全PLCのうちの安全PLCのグループに対する実ソフトエラー率及び/又は予測ソフトエラー率の間に閾値逸脱があると決定することに応答して、安全PLCのグループのサブグループ又は安全PLCのグループの個別の安全PLCに対する実ソフトエラー率及び/又は予測ソフトエラー率の間に閾値逸脱があるかどうかを決定する。
【0057】
ブロック404で、安全PLCのサブグループ又は個別の安全PLCについて閾値逸脱があるかどうかを決定した結果に基づいて、どのサブグループ又は個別の安全PLCが閾値逸脱の原因であるかに関する識別を行う。
【0058】
ブロック406で、個別の安全PLC内をドリルダウンすることによってさらに詳細な情報が必要な場合、閾値逸脱の原因である個別の安全PLCを特定することに応答して、安全PLCのI/Oモジュールごと、及び/又は安全PLCのI/Oモジュールのうちの選択したI/Oモジュールの半導体コンポーネントごとのソフトエラー率を、I/Oモジュールごと及び/又は半導体コンポーネントごとの期待ソフトエラー率と比較する。
【0059】
ブロック408で、I/Oモジュールごと及び/又は半導体コンポーネントごとの期待ソフトエラー率との比較に基づいて、安全PLCのI/Oモジュールのうちの1つ以上のI/Oモジュールが閾値逸脱の原因であることを特定し、及び/又は選択されたI/Oモジュールの半導体コンポーネントのうちの1つ以上の半導体コンポーネントが閾値逸脱の原因であることを特定する。
【0060】
図5を参照すると、グラフは、I/Oモジュールの期待寿命にわたって決定されたI/Oモジュールのタイプに対する期待ソフトエラー率の曲線502を示す。また、経時的に、例えば、現在に至るまでのような時間にわたって、安全PLCによって集計されたソフトエラーデータに基づく実ソフトエラー率の曲線504も示している。曲線506は、曲線504に示す実ソフトエラー率を未来に予想することに基づくソフトエラー率の線形予測である。曲線506は、線形回帰、移動平均モデル等の手法を用いて決定することができる。グラフは、例えば、
図1に示すアグリゲータ102のユーザインターフェース136によって提供されるダッシュボードとして表示することができる。
【0061】
点508は、実ソフトエラー曲線504(又は予測ソフトエラー曲線506)が期待ソフトエラー曲線502を横切ることによって示されるように、実ソフトエラー(又は予測ソフトエラー)の量が予測ソフトエラーを超える点である。実ソフトエラー率又は予測されたソフトエラー率の傾向が、期待ソフトエラー率から離れ始めたことを示すために、アラートを出力することができる。
【0062】
関連する曲線(実ソフトエラー曲線504、予測ソフトエラー曲線506、又は期待ソフトエラー曲線502)がアラート閾値518を越えるまで、ソフトエラー率は、正常範囲内にあるとみなすことができ、アラート閾値518を越えると、ソフトエラー率はアラート範囲にあるとみなされる。同様に、ソフトエラー率は、関連する曲線(実ソフトエラー曲線504、予測ソフトエラー曲線506、又は期待ソフトエラー曲線502)が警告閾値520を越えるまで、アラート範囲内にあるとみなすことができ、警告閾値520を越えると、ソフトエラー率は警告範囲内にあるとみなされる。
【0063】
ソフトエラー率は、安全PLCとそのI/Oモジュールの寿命が進むにつれて増加することがある。期待ソフトエラー曲線502は、ソフトエラー率が警告範囲又は正常範囲に入ることが期待されるタイムラインを示す。実ソフトエラー曲線504又は予測ソフトエラー曲線506が期待ソフトエラー曲線502から逸脱し、期待よりも早くアラート範囲又は正常範囲に入る場合、懸念すべき理由がある可能性がある。アグリゲータは、逸脱の量が閾値を超えた場合に、アクションを講じることを決定することができる。例えば、アラート閾値518は、点510で期待ソフトエラー率曲線によって、また点512で予測ソフトエラー率曲線506によって越される。点510と点512の間の距離(時間で測定される)は、第一の閾値と比較される。第一の閾値を超えた場合、アグリゲータは、第一のタイプのアクションを講じることができる。警告閾値520は、点514で期待ソフトエラー率曲線502によって、また点516で予測ソフトエラー率曲線506によって越される。点514と点516との間の距離(時間で測定される)は、第二の閾値と比較される。第二の閾値を超えた場合、アグリゲータは、第二のタイプのアクションを講じることができ、第一のアクションと第二のアクションとは、互いに異なることができる。第一及び第二のアクションのいくつかの例には、放射性活動を嗅ぎ分けるスニッファーを配置することによって、問題を局所的に調査すること、宇宙線からプラントの影響を受ける部分を保護するバリアを構築すること、宇宙線を避けるためにプラントの影響を受ける部分の配置をより低い高度に変更すること等が含まれる。
【0064】
図6を参照すると、例示的なコンピューティングシステム600のブロック図が示され、例示的な処理システムを使用して実装されたデバイスA1 601の例示的な構成を提供している。デバイスA1 601は、
図1に示すように、I/Oモジュール110、MPモジュール114、及びアグリゲータ102等、SIS100に含まれる任意のスマート要素であり得る。コンピューティングシステム600は、好適なシステムの一例に過ぎず、本明細書に記載される開示の実施形態の使用範囲又は機能性に関するいかなる限定も示唆することを意図していない。コンピューティングシステム600は、ハードウェア、ソフトウェア、及び/又はファームウェアを使用して実装することができる。それにもかかわらず、コンピューティングシステム600は、本開示に記載したような機能性を実装及び/又は実行することが可能である。
【0065】
コンピューティングシステム600は、汎用コンピューティングデバイスの形態で示されている。コンピューティングシステム600は、処理デバイス602と、メモリ604と、ユーザインターフェース610等の内部コンポーネントと通信できる入出力(I/O)インターフェース(I/F)606と、任意選択で外部コンポーネント608と、を含む。
【0066】
処理デバイス602は、例えば、プログラマブルロジックデバイス(PLD)、マイクロプロセッサ、DSP、マイクロコントローラ、FPGA、ASIC、及び/又は同様の処理能力を有する他のディスクリート又は集積論理回路を含むことができる。
【0067】
処理デバイス602及びメモリ604は、例えば、FPGA、ASIC、マイクロコントローラ、又はマイクロプロセッサに設けられたコンポーネントに含まれ得る。メモリ604は、例えば、データを一時的又は長期的に格納するために、また処理デバイス602によって実行可能なプログラマブル命令を格納するために、揮発性及び不揮発性のメモリを含むことができる。メモリ604は、プログラム命令を格納するために、取り外し可能な(例えば、携帯可能な)メモリとすることができる。I/O I/F606は、1つ以上の内部コンポーネント610及び/又は外部コンポーネント608に結合するために、インターフェース及び/又は導線を含むことができる。
【0068】
これらのコンピュータプログラム命令は、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイスが特定の方法で機能するように指示できるコンピュータ可読媒体に格納することもでき、コンピュータ可読媒体に格納された命令が、フロー図及び/又はブロック図の1つ又は複数のブロックに指定された機能/行為を実装する命令を含む製造物品を作製するようにすることが可能である。
【0069】
また、コンピュータプログラム命令を、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイスにロードして、一連の操作をそのコンピュータ、他のプログラマブル装置、又は他のデバイス上で実行させ、コンピュータ実装プロセスを生成して、そのコンピュータ又は他のプログラマブル装置上で実行される命令が、ブロック図の1つ又は複数のブロックに指定された機能/行為を実装するためのプロセスを提供するようにしてもよい。
【0070】
デバイスA1の実施形態は、マイクロプロセッサ等の1つ以上のコンピュータシステムによって実装又は実行してもよい。各コンピュータシステム600は、デバイスA1内に含むことも、あるいはその複数のインスタンスに含むこともできる。図示の例では、コンピュータシステムは、デバイスA1内に組み込まれている。様々な実施形態において、コンピュータシステム600は、マイクロプロセッサ、FPGA、特定用途向け集積回路(ASIC)、マイクロコントローラのうちの1つ以上を含むことができる。コンピュータシステム600は、組み込みデバイスとして提供することができる。コンピュータシステム600の一部は、集中型コンピュータ等によって、外部によって提供することができる。
【0071】
コンピュータシステム600は、好適なシステムの一例に過ぎず、本明細書に記載の開示の実施形態の使用範囲又は機能性に関する制限を示唆することを意図するものではない。それにもかかわらず、コンピュータシステム600は、本明細書で上述した機能性のいずれかを実装及び/又は実行することが可能である。
【0072】
コンピュータシステム600は、プログラムモジュール等のコンピュータシステム実行可能な命令がコンピュータシステムによって実行されるという一般的な文脈で説明されることがある。一般に、プログラムモジュールは、特定のタスクを実行する、又は特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造等を含むことができる。
【0073】
前述において、様々な実施形態に言及した。しかしながら、本開示の範囲は、特定の説明された実施形態に限定されない。その代わりに、異なる実施形態に関連するか否かにかかわらず、記載された特徴及び要素の任意の組合せが、企図された実施形態を実装及び実施するために企図される。さらに、実施形態は、他の可能な解決策又は先行技術を超える利点を達成し得るが、特定の利点が所与の実施形態によって達成されるか否かは、本開示の範囲を限定するものではない。したがって、先行する態様、特徴、実施形態、及び利点は、単に例示であり、請求項に明示的に記載されている場合を除き、添付の請求項の要素又は制限とは見なされない。
【0074】
本明細書に開示された様々な実施形態は、システム、方法、又はコンピュータプログラム製品として実装されてもよい。したがって、態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)、又はソフトウェア及びハードウェアの態様を組み合わせた実施形態の形態をとることができ、これらは全て、本明細書において、一般に「回路」、「モジュール」、「システム」として言及されることがある。さらに、態様は、具現化されたコンピュータ可読プログラムコードを有する1つ以上のコンピュータ可読媒体に具現化されたコンピュータプログラム製品の形態をとることができる。
【0075】
1つ以上のコンピュータ可読媒体の任意の組合せを利用してもよい。コンピュータ可読媒体は、非一過性のコンピュータ可読媒体であってもよい。非一過性のコンピュータ可読媒体は、例えば、電子、磁気、光学、電磁、赤外線、又は半導体システム、装置、又はデバイス、あるいは前記の任意の適切な組み合わせであってもよいが、これらに限定されない。非一過性のコンピュータ可読媒体のより具体的な例(非網羅的なリスト)には、1つ以上のワイヤを有する電気接続、携帯用コンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、携帯用コンパクトディスク読み取り専用メモリ(CD-ROM)、光ストレージデバイス、磁気ストレージデバイス、又はこれらの任意の適切な組合せ等を含むことができる。コンピュータ可読媒体に具現化されたプログラムコードは、任意の適切な媒体を用いて伝送することができ、任意の適切な媒体には、無線、有線、光ファイバケーブル、RF等、又はこれらの任意の適切な組合せを含むが、これらに限定されない。
【0076】
本開示の態様のための動作を実行するためのコンピュータプログラムコードは、1つ以上のプログラミング言語の任意の組合せで記述され得る。さらに、そのようなコンピュータプログラムコードは、単一のコンピュータシステムを使用して、あるいは互いに通信する複数のコンピュータシステムによって(例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット等を使用して)実行することができる。上述における様々な特徴は、フローチャート図及び/又はブロック図を参照して説明されているが、当業者であれば、フローチャート図及び/又はブロック図の各ブロックも、フローチャート図及び/又はブロック図のブロックの組合せも、コンピュータ論理(例えば、コンピュータプログラム命令、ハードウェア論理、その組合せ等)によって実装できることを理解するであろう。一般に、コンピュータプログラム命令は、汎用コンピュータ、特殊用途コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに提供されてもよい。さらに、プロセッサを使用してそのようなコンピュータプログラム命令を実行すると、フローチャート及び/又はブロック図の1つ又は複数のブロックに指定された機能又は行為を実行できるマシンが生成される。
【0077】
図中のフローチャート及びブロック図は、本開示の様々な実施形態の可能な実装のアーキテクチャ、機能性、及び/又は動作を示す。この点に関して、フローチャート又はブロック図の各ブロックは、指定された論理機能を実装するための1つ以上の実行可能な命令を構成する、コードのモジュール、セグメント、又は部分を表すことができる。また、いくつかの代替的な実装では、ブロックに記された機能は、図に記された順序とは異なる場合があることに留意されたい。例えば、連続して示された2つのブロックは、実際には、実質的に同時に実行されることも、あるいはブロックは、関係する機能性に応じて、時々、逆の順序で実行されることもある。また、ブロック図及び/又はフローチャート図の各ブロックと、ブロック図及び/又はフローチャート図のブロックの組合せとは、指定された機能又は行為を実行する特別目的のハードウェアベースのシステムによって、あるいは特別目的のハードウェアとコンピュータ命令との組合せによって実装できることにも留意されたい。
【0078】
上記の説明は、例示を意図したものであり、制限することを意図していないことを理解されたい。多くの他の実装例は、上記の説明を読み、理解すれば、明らかである。本開示は特定の実施例を説明しているが、本開示のシステム及び方法は、本明細書に記載された実施例に限定されず、添付の特許請求の範囲内で変更を加えて実施され得ることが認識される。したがって、明細書及び図面は、制限的な意味ではなく、例示的な意味で見なされる。それゆえ、本開示の範囲は、添付の請求項を参照して、そのような請求項が権利を有する完全な均等物の範囲とともに決定されるべきである。
【外国語明細書】