以下、本発明の一実施の形態の情報送受信システム、および、情報送受信方法、ならびに、プログラムについて、図1〜図12を参照しながら説明する。
図1を参照して、本発明の一実施例である情報送受信システム1について説明する。
情報送受信システム1は、情報送信システム11、情報受信装置12、および、ネットワーク13を含んで構成されている。情報送信システム11には、非フェールセーフな、汎用のコンピュータを用いることが可能である。また、情報受信装置12には、その出力動作において、特に安全性を担保する必要がない場合においては、非フェールセーフな、汎用のコンピュータを用いることが可能である。なお、図1においては、情報受信装置12を1つだけ図示しているが、必要に応じて、複数の情報受信装置12を用いることが可能である。
情報送信システム11は、複数の情報送信装置21−1〜nで構成されている。情報送信システム11を構成する情報送信装置21−1〜nには、非フェールセーフな、汎用のコンピュータを用いることが可能である。ここでは、情報送信装置21−1〜nとしているが、これ以降、特に区別が必要でない場合、情報送信装置21−1〜nを情報送信装置21と総称する。情報送信装置21は、情報受信装置12に対して送信する情報に、誤り検出符号または電子署名を付与し、秘密分散処理を行い、断片データを生成して、ネットワーク13を介して情報受信装置12に送信する。情報送信装置21の詳細な機能構成については、図2を用いて後述する。
情報送信システム11は、情報送信装置21−1〜nそれぞれについて、異なるメモリ領域を使用するソフトウェアや仮想機械を用いることで、物理的に1台の非フェールセーフコンピュータとしても良い。また、情報送信装置21−1〜nの一部が、物理的に1台の非フェールセーフコンピュータを共用していても良い。これは、コンピュータが誤りを生じる要因の一つに、宇宙線等による偶発的なメモリのビット化け(ソフトエラー)があり、ソフトエラーについては、同一のコンピュータであっても、演算処理に異なるメモリ領域を使用することにより、同じ故障(データ誤り)に至る確率を低下させることができるため、また、ソフトエラー以外の単一障害点となりうる故障の多くは、従来技術により非フェールセーフコンピュータ自身または情報受信装置12で検出できるためである。
情報受信装置12は、ネットワーク13を介して受信した断片データを用いて、データを復元する。情報受信装置12の詳細な機能構成については、図3を用いて後述する。
図2は、情報送信システム11を構成する情報送信装置21が有する機能を示す機能ブロック図である。情報送信装置21は、情報取得部31、演算処理部32、誤り検出符号または電子署名付与処理部33、断片データ生成部34、誤り検出符号付与部35、および、送信制御部36の各機能を含んで構成されている。
情報取得部31は、情報受信装置12に対して送信する情報の生成に必要なデータを取得し、演算処理部32に供給する。複数の情報送信装置21−1〜nの情報取得部31は、共通の情報源からデータを取得しても良いし、異なる情報源からデータを取得しても良いが、演算処理部32に供給するデータは同一または同等である。
演算処理部32は、情報取得部31から供給された情報を基に、所定の演算処理を実行し、生成されたデータを、誤り検出符号または電子署名付与処理部33に供給する。複数の情報送信装置21−1〜nの演算処理部32において実行される演算処理は同一である。したがって、情報送信装置21−1〜nの演算処理部32の全てにおいて、障害なく演算処理が行われた場合、情報送信装置21−1〜nの演算処理部32の演算結果は同一である。
誤り検出符号または電子署名付与処理部33は、演算処理部32から供給されたデータに対して、誤り検出符号または電子署名を付与し、断片データ生成部34に供給する。
断片データ生成部34は、誤り検出符号または電子署名付与処理部33から供給されたデータに、秘密分散処理を行い、断片データを生成し、誤り検出符号付与部35に供給する。情報送信装置21−1〜nのそれぞれの断片データ生成部34において、異なる値の断片データが生成される。
断片データ生成部34により実行される秘密分散法のアルゴリズムに制約はない。秘密分散法のアルゴリズムとしては、例えば、上述した特許文献2に記載されている既存技術が適用可能である。例えば、断片データ生成部34は、ランプ型(L、k、n)しきい値秘密分散法を用いることにより、伝送効率を高めることができ、好適である。すなわち、ランプ型秘密分散法を用いることで、断片データ生成部34により生成される断片データのデータ量は、演算処理部32による演算結果のデータ量以下とすることが可能なため、ネットワーク13に流れるデータ量が増大することを防止することが可能となる。
誤り検出符号付与部35は、断片データ生成部34から供給された断片データに、誤り検出符号を付与し、送信制御部36に供給する。誤り検出符号付与部35により、断片データに誤り検出符号が付与されることにより、例えば、ノイズ等の障害により伝送データが誤る場合など、情報がネットワーク13を介して送信されている間にデータ誤りが発生した場合、後述する情報受信装置12において、誤り検出符号を基に誤りを検出することにより、送信中に誤りが発生したデータを復元処理に用いることがなくなるため、好適である。
送信制御部36は、誤り検出符号付与部35により誤り検出符号が付与された断片データの、ネットワーク13を介した情報受信装置12への送信を制御する。
このように、複数の情報送信装置21−1〜nのそれぞれにおいて、情報受信装置12に送信される演算データに、誤り検出符号または電子署名が付与され、秘密分散処理によって断片データ化されて、情報受信装置12へ送信される。情報送信装置21−1〜nの断片データ生成部34のそれぞれにおいて異なる断片データが生成されることにより、例えば、ソフトエラーや、熱障害などによる演算処理の障害などが、いずれかの情報送信装置21で発生した場合においても、情報受信装置12においては、他の正常に動作している情報送信装置21から供給される断片データに基づいて、データを復元することができる。すなわち、情報送信システム11を構成する情報送信装置21−1〜nには、非フェールセーフな、汎用のコンピュータを用いることが可能であるため、演算動作を高速に実行することが可能となり、システムの構築のためのコストを削減することができ、システムの設計や検証にかかる時間を削減することができる。なお、情報送信装置21−1〜nの数nが大きいほど、情報送受信システム1の信頼性は高まる。情報送信装置21−1〜nの数nや秘密分散において復元可能となる断片データの数は、許されるコストと、求められる信頼性によって決められる。
なお、一般的に、秘密分散法が応用される技術においては、秘密情報は秘匿すべき情報であるため、秘密情報の保持範囲は最小限とされる。すなわち、通常は、秘密情報を保持し、秘密分散により断片データに分散させる主体(コンピュータ)は1つである。一方、情報送受信システム1においては、秘密情報に相当する情報は、秘匿すべき情報ではなく、演算処理結果である。換言すれば、情報送信システム11を構成するいずれの情報送信装置21においても誤動作がない場合、複数台の情報送信装置21において同一の情報が保持されるため、見かけ上、秘密分散処理の対象となる情報(演算結果)を、複数の主体で共有している状態となる。
図3は、情報受信装置12が有する機能構成を示す機能ブロック図である。情報受信装置12は、受信制御部41、誤り検出部42、復元処理部43、および、受信結果出力処理部44の機能を含んで構成されている。
受信制御部41は、ネットワーク13を介して、情報送信システム11の情報送信装置21のそれぞれから送信された断片データの受信を制御し、受信された断片データを、誤り検出部42に供給する。
誤り検出部42は、受信制御部41から供給された断片データの誤り検出符号を検証し、誤りが検出された場合、その断片データを破棄し、誤りが検出されなかった場合、その断片データを、復元処理部43に供給する。
復元処理部43は、誤り検出部42から供給された断片データを復元し、受信結果出力処理部44に供給する。具体的には、復元処理部43は、復元可能となる数以上の断片データが供給された場合、それらの断片データを用いて、復元処理を行い、復元結果の誤り検出符号または電子署名が有効であるか否かを判断する。復元結果の誤り検出符号または電子署名が有効である場合、復元処理部43は、復元されたデータを、受信結果出力処理部44に供給する。また、復元結果の誤り検出符号または電子署名が無効であった場合、ネットワーク13、または、情報送信装置21の何らかの異常により、供給された断片データのうちの少なくとも1つが無効であるので、復元処理部43は、誤り検出部42から、更に異なる断片データの供給を受け、新たに供給された断片データを含めた状態で、改めて復元処理を行う。
復元処理部43は、誤り検出部42から供給された断片データのうち、どの断片データが無効であるかを一般に判断することはできない。このため、復元処理部43は、誤り検出部42から供給された断片データに対して、総当たり的、または、確率(乱択アルゴリズム)的に、復元結果の誤り検出符号または電子署名が有効となる断片データの組を探索する。復元処理部43は、誤り検出部42から供給された断片データの復元処理を、新たな断片データを得ながら繰り返し、最終的に所定の時間内に有効な復元結果が得られない場合、受信されたデータは異常であると判断し、その結果を、受信結果出力処理部44に供給する。
受信結果出力処理部44は、復元処理部43から供給された復元結果の出力を制御する。具体的には、受信結果出力処理部44は、復元処理部43から供給された復元結果に基づいて、例えば、図示しないディスプレイによる表示出力、図示しない印刷装置による印刷出力、図示しないスピーカーによる音声出力、または、図示しないアクチュエータ等の制御装置による動作出力などの各種出力を制御する。
このように、情報受信装置12は、複数の情報送信装置21−1〜nのそれぞれにおいて、秘密分散処理により生成された断片データを受信し、復元することができる。情報受信装置12は、復元結果の誤り検出符号または電子署名が有効である場合、復号結果は正しいと判断し、復元結果の誤り検出符号または電子署名が無効である場合、有効なデータを受信することができなかったとして、これらに基づいた出力処理を実行することができる。情報送信装置21−1〜nの断片データ生成部34のそれぞれにおいて異なる断片データが生成されることにより、例えば、ソフトエラーや、熱障害などによる演算処理の障害などが、いずれかの情報送信装置21で発生した場合においても、情報受信装置12においては、他の正常に動作している情報送信装置21から供給される断片データに基づいて、データを復元することができる。
次に、図4を参照して、情報送信システム11と情報受信装置12において実行される、秘密分散処理による断片データの生成と、その復元について説明する。
情報送信システム11の情報送信装置21は、上述したように、それぞれ固有の条件で、誤り検出符号または電子署名が付与された演算処理結果に対し秘密分散処理を行い、断片データを生成する。すべての情報送信装置21が正常に動作している場合、それらの演算結果は同一のものである。そして、すべての情報送信装置21において秘密分散処理により生成される断片データは、情報送信装置21毎に異なる値となる。
なお、説明を簡略化するために、図4においては、情報送信装置21−1〜3における演算結果をABCで表し、情報送信装置21−1は断片データ1として演算結果Aと演算結果Bに対応する部分を、情報送信装置21−2は断片データ2として演算結果Bと演算結果Cに対応する部分を、情報送信装置21−3は断片データ3として演算結果Aと演算結果Cに対応する部分を、それぞれ、情報受信装置12に送信するものとする。また、ここでは、情報送信装置21−3による演算結果のうち、Cに対応する部分にエラー(誤り)が発生しており、断片データ3として演算結果Aと演算結果Cに対応する部分を送信するため、断片データ3にはエラーが含まれているものとする。
情報受信装置12は、断片データを2つ以上受信した時、情報を復元することができる。ここで、情報受信装置12が、断片データ1と断片データ2の2つの断片データを受信した場合、情報受信装置12は、断片データ1および断片データ2から情報を復元し、復元結果の誤り検出符号または電子署名が有効であることを検出し、正しい演算結果ABCを得ることができる。
しかしながら、情報受信装置12が、断片データ1または2よりも早く、断片データ3を受信した場合、2つの断片データを用いて情報を復元しても、復元結果の誤り検出符号または電子署名は有効ではない。そこで、情報受信装置12は、次の断片データを受信する。そして、情報受信装置12は、断片データ1〜3を用いて、総当たり的、または、確率(乱択アルゴリズム)的に、復元結果の誤り検出符号または電子署名が有効となる断片データの組を探索する。そして、情報受信装置12は、断片データ1および断片データ2から情報を復元し、復元結果の誤り検出符号または電子署名が有効であることを検出し、正しい演算結果ABCを得ることができる。
このように、情報受信装置12は、情報送信装置21−1〜nのうちのいずれかに障害等が発生することなどにより、情報送信装置21−1〜nのうちのいずれかにおける演算結果が正しくない場合においても、正しい演算結果を得ることができる。
例えば、情報送信装置21に代わって、同一の動作を行う物理的または仮想的に複数台の非フェールセーフコンピュータ(汎用コンピュータ)を用意し、情報受信装置12に代わって情報を受信するフェールセーフ装置が、複数台の非フェールセーフコンピュータからネットワーク13を介して受信した複数の同一のデータに対して、比較照合や多数決を行うことによっても、データの送受信の信頼性を向上させることが可能である。
しかしながら、同じ動作を行う汎用コンピュータが同一のデータをそれぞれ送信すると、ネットワークに流れるデータ量が増大してしまう。この対策として、同じ動作を行う複数の非フェールセーフコンピュータにおいて生成されたデータを、それぞれ分割し、それぞれで異なる分割データを分担して送信し、情報を受信する側の装置で結合し、元のデータを復元するという方法が考えられる。この場合、ネットワークに流れるデータ量を低減することは可能であるが、例えば、いずれかの非フェールセーフコンピュータの誤動作により誤った分割データが送信されたり、ネットワークの伝送路上で分割データが失われたりした場合には、たとえそれが1つの分割データであっても、情報を受信する側の装置において、元のデータを復元することができない。元のデータを復元できない場合の対策として、情報を受信する側の装置から非フェールセーフコンピュータに対し分割データの再送信を要求する方法が考えられるが、この対策には処理遅延の問題が伴う。このため、分割による方法を用いる場合、信頼性の高いコンピュータや伝送路を使用する必要があり、コスト面で不利である。また、データの誤りがないという点で信頼性を高める場合には、非フェールセーフコンピュータの台数を増加させることが有効であるが、台数が多いほど、可用性が低下するという問題がある。
これに対して、上述した情報送受信システム1を用いた場合、情報送信システム11を構成する情報送信装置21−1〜nそれぞれにおいて、情報受信装置12に送信される演算データに、誤り検出符号または電子署名が付与され、秘密分散処理によって断片データ化されて、情報受信装置12へ送信される。情報送信装置21−1〜nの断片データ生成部34の秘密分散において復元可能となる断片データの数をn未満とし、断片データ生成部34のそれぞれにおいて異なる断片データが生成されることにより、例えば、ソフトエラーや、熱障害などによる演算処理の障害などが、いずれかの情報送信装置21で発生した場合においても、情報受信装置12においては、他の正常に動作している情報送信装置21から供給される断片データに基づいて、データを復元することができる。また、断片データ生成部34においてランプ型秘密分散法を用いることで、ネットワークに流れるデータ量の増大を抑制することができる。情報送信装置21−1〜nの数nや秘密分散において復元可能となる断片データの数を、求められる信頼性にしたがって決定することで、情報送信システム11を構成する情報送信装置21−1〜nに、非フェールセーフな、汎用のコンピュータを用いても、授受される情報の安全性を担保しつつ、信頼性や可用性を向上させることができる。
次に、図5のフローチャートを参照して、情報送信装置21−1〜nのそれぞれが実行する送信情報生成処理について説明する。
ステップS1において、情報取得部31は、情報受信装置12に対して送信する情報の生成に必要なデータを取得し、演算処理部32に供給する。演算処理部32は、情報取得部31から供給された情報を基に、所定の演算処理を実行し、送信する情報を生成して、誤り検出符号または電子署名付与処理部33に供給する。情報送信装置21−1〜nのそれぞれが正しく動作した場合、演算処理部32による演算結果は同一のものとなる。
ステップS2において、誤り検出符号または電子署名付与処理部33は、演算処理部32から供給された演算結果、すなわち、送信する情報に対して、誤り検出符号または電子署名を付与し、断片データ生成部34に供給する。
ステップS3において、断片データ生成部34は、誤り検出符号または電子署名付与処理部33から供給されたデータに対して、秘密分散処理を実行し、断片データを生成し、誤り検出符号付与部35に供給する。情報送信装置21−1〜nのそれぞれの断片データ生成部34において生成される断片データは、それぞれ、異なる値となる。
ステップS4において、誤り検出符号付与部35は、断片データ生成部34から供給された断片データに、誤り検出符号を付与し、送信制御部36に供給する。
ステップS5において、送信制御部36は、誤り検出符号付与部35により誤り検出符号が付与された断片データを、ネットワーク13を介して、情報受信装置12に送信し、処理が終了する。
このような処理により、情報送信装置21−1〜nのそれぞれの断片データ生成部34において異なる値となる断片データが生成されるので、例えば、ソフトエラーや、熱障害などによる演算処理の障害などが、いずれかの情報送信装置21で発生した場合においても、情報受信装置12においては、他の正常に動作している情報送信装置21から供給される断片データに基づいて、データを復元することができる。
次に、図6のフローチャートを参照して、情報受信装置12が実行する情報復元処理について説明する。
ステップS11において、受信制御部41は、ネットワーク13を介して、情報送信システム11の情報送信装置21のそれぞれから、上述した図5のステップS5の処理により送信された断片データの受信を制御し、受信された断片データを、誤り検出部42に供給する。
ステップS12において、誤り検出部42は、受信制御部41から供給された断片データの誤り検出符号を検証し、受信されたデータに誤りが検出されたか否かを判断する。
ステップS12において、受信されたデータに誤りが検出されたと判断された場合、ステップS13において、誤り検出部42は、誤りが検出されたデータを破棄し、処理は、後述するステップS15に進む。
ステップS12において、受信されたデータに誤りが検出されなかったと判断された場合、誤り検出部42は、そのデータを、復元処理部43に供給するので、ステップS14において、復元処理部43は、復元可能となる数以上の有効な断片データを受信したか否かを判断する。
ステップS13の処理の終了後、または、ステップS14において、復元可能となる数以上の断片データを受信していないと判断された場合、ステップS15において、復元処理部43は、復元処理はタイムアウトとなったか否かを判断する。ステップS15において、タイムアウトになっていないと判断された場合、処理は、ステップS11に戻り、それ以降の処理が繰り返される。ステップS15において、タイムアウトになったと判断された場合、処理は、後述するステップS21に進む。
ステップS14において、復元可能となる数以上の断片データを受信したと判断された場合、ステップS16において、復元処理部43は、誤り検出部42から供給された断片データに対して、復元処理を実行する。
ステップS17において、復元処理部43は、復元されたデータの誤り検出符号または電子署名は有効か否かを判断する。
ステップS17において、復元されたデータの誤り検出符号または電子署名は有効であると判断された場合、ステップS18において、復元処理部43は、復元された情報を受信結果出力処理部44に供給する。受信結果出力処理部44は、復元処理部43から供給された復元結果、すなわち、情報の受信結果の出力を制御し、処理が終了される。具体的には、受信結果出力処理部44は、復元処理部43から供給された復元結果に基づいて、例えば、図示しないディスプレイによる表示出力、図示しないスピーカーによる音声出力、または、図示しないアクチュエータ等の制御装置による動作出力などの各種出力を制御する。
ステップS17において、復元されたデータの誤り検出符号または電子署名は有効ではないと判断された場合、ステップS19において、復元処理部43は、受信された断片データの全ての組み合わせにおける復元処理が終了したか否かを判断する。
ステップS19において、受信された断片データの全ての組み合わせにおける復元処理が終了していないと判断された場合、処理は、ステップS16に戻り、それ以降の処理が繰り返されることにより、復元処理が実行されていない組み合わせの断片データによる復元処理が実行される。
ステップS19において、受信された断片データの全ての組み合わせにおける復元処理が終了したと判断された場合、ステップS20において、復元処理部43は、復元処理はタイムアウトとなったか否かを判断する。ステップS20において、タイムアウトになっていないと判断された場合、処理は、ステップS11に戻り、それ以降の処理が繰り返される。
ステップS15において、タイムアウトになったと判断された場合、または、ステップS20において、タイムアウトになったと判断された場合、復元処理部43は、タイムアウトになったことを受信結果出力処理部44に供給するので、ステップS21において、受信結果出力処理部44は、情報の受信動作がエラーであることを出力し、処理が終了される。
このような処理により、情報受信装置12は、複数の情報送信装置21−1〜nのそれぞれにおいて、秘密分散処理により生成された断片データを受信し、復元することができる。情報送信装置21−1〜nの断片データ生成部34のそれぞれにおいて異なる断片データが生成され、情報受信装置12は、それらの断片データを復元することができるので、情報送信装置21−1〜nのいずれかにおいて、例えば、ソフトエラーや、熱障害などによる演算処理の障害などが発生した場合においても、情報受信装置12においては、他の正常に動作している情報送信装置21から供給される断片データに基づいて、データを復元することができる。
すなわち、情報送信システム11を構成する情報送信装置21−1〜nには、非フェールセーフな、汎用のコンピュータを用いることが可能であるため、演算動作を高速に実行することが可能となり、情報送信システム11の構築のためのコストを削減することができ、情報送信システム11の設計や検証にかかる時間を削減することができる。
また、以上説明した情報送信システム11においては、少なくとも情報送信装置21−1〜nに、非フェールセーフな、汎用のコンピュータを用いるものとして説明したが、情報送信システム11に接続されている他のフェールセーフコンピュータにおいて、情報送信装置21−1〜nが有する機能を含ませ、情報送信装置21−1〜nが実行する処理を実行可能としてもよいことは言うまでもない。
上述した情報送受信システム1は、正確な情報の授受が必要なネットワークシステム全般に適用可能である。具体的には、上述した情報送受信システム1は、例えば、医療情報や個人情報の授受または管理が行われるネットワークシステム、もしくは、鉄道の保安にかかわるネットワークシステムなどに適用可能である。特に、鉄道分野においては、自動列車制御装置(ATC)や電子連動装置が、ネットワークシステムとして実現されている。鉄道の保安にかかわるネットワークシステムにおいて、何らかの障害により、制御情報の演算にエラーが発生したり、ネットワークを物理的に構成する伝送路において、断線等の障害やノイズにより伝送データが誤ることにより、誤った情報に従って制御を行うことは、鉄道保安上、絶対に避けなければならない。
従来の電子連動装置では、電子端末および連動論理部の双方がフェールセーフコンピュータで構成されているため、システムの構築のためにかかる費用が高価となり、システムの設計や検証に時間がかかり、また、大規模な連動論理演算を高速化するのが困難であった。また、自動列車制御装置(ATC)や電子連動装置は、列車ダイヤに基づく自動制御等を実現するための運行管理システムと連携して用いられることが多いが、運行管理システムで要求される演算能力はフェールセーフコンピュータでは実現困難であるため、フェールセーフコンピュータを使用する従来の自動列車制御装置(ATC)や電子連動装置では運行管理システムとの連携を強化し、機能融合を実現することが困難であった。このため、電子連動装置などの鉄道の保安にかかわるネットワークシステムにおいて、上述した情報送受信システム1を適用すると好適である。
次に、図7〜11を参照して、上述した情報送受信システム1が利用される具体例のひとつとして、電子連動装置を含む鉄道保安制御システム51が有する機能および動作について説明する。
図7を参照して、情報送受信システム1が利用される具体例のひとつである、鉄道保安制御システム51について説明する。
鉄道保安制御システム51は、電子連動装置61と、複数の現場機器62−1〜mにより構成されている。現場機器62−1〜mは、具体的には、例えば、信号機や転てつ機等である。
電子連動装置61は、電子端末71−1〜m、連動論理部72、および、それらをつなぐネットワーク73により構成されている。
電子端末71−1〜mは、信号機や転てつ機等の現場機器62−1〜mの状態取得および制御を行う。電子端末71−1〜mは、取得した現場機器62−1〜mの状態に関する情報を、連動論理部72にネットワーク73を介して送信するとともに、連動論理部72から、ネットワーク73を介して、制御情報に対応する複数の断片データの供給を受け、これを復元し、現場機器62−1〜mの動作を制御する。これ以降、電子端末71−1〜mを特に区別する必要のない場合、電子端末71−1〜mを電子端末71と総称する。電子端末71の詳細な機能構成については、図8を用いて後述する。電子端末71−1〜mは、信号機や転てつ機等の現場機器62−1〜mの制御を行うため、フェールセーフコンピュータにより構成されていると好適である。
連動論理部72は、複数の連動論理処理装置81−1〜kにより構成される。複数の連動論理処理装置81−1〜kには、非フェールセーフな、汎用のコンピュータを用いることが可能である。連動論理処理装置81−1〜kは、電子端末71−1〜mから、所定のネットワーク73を介して取得した現場機器62−1〜mの状態を取得する。電子端末71から送信されるデータは、連動論理処理装置81−1〜kに対して同一で構わないため、マルチキャストとして、1つの送信データを連動論理処理装置81−1〜kで共有してもよい。
そして、連動論理処理装置81−1〜kは、連動論理を適用し、現場機器62−1〜mのうちのいずれかに対する制御情報を生成する。連動論理処理装置81−1〜kにおいて生成される制御情報は、いずれも同一のものである。そして、連動論理処理装置81−1〜kは、現場機器62−1〜mのうちのいずれかに対する制御情報に対して、上述した情報送信装置21と同様に、誤り検出符号または電子署名を付与したのち、秘密分散処理を行い、断片データを生成して、ネットワーク73を介して、対応する電子端末71−1〜mのいずれか対応する端末に送信する。これ以降、連動論理処理装置81−1〜kを特に区別する必要のない場合、連動論理処理装置81−1〜kを連動論理処理装置81と総称する。連動論理処理装置81の詳細な機能構成については、図9を用いて後述する。
図8は、図7の電子端末71の機能構成を示す機能ブロック図である。なお、図8においては、図3における場合と同一の機能については、同一の番号を付し、その詳細な説明は省略する。すなわち、図8の電子端末71は、受信結果出力処理部44に代わって、現場機器制御処理部93の機能を有し、新たに、現場機器情報取得部91および現場機器情報送信制御部92を有するほかは、基本的に、図3を用いて説明した情報受信装置12と同様の機能を有する。すなわち、図8の電子端末71において、受信制御部41、誤り検出部42、および、復元処理部43は、図3を用いて説明した情報受信装置12と同様の機能を有する。
現場機器情報取得部91は、現場機器62−1〜mのうち、接続されているものの状態に関する情報を取得し、現場機器情報送信制御部92に供給する。
現場機器情報送信制御部92は、現場機器情報取得部91から供給された、現場機器62−1〜mのうち、接続されているものの状態に関する情報の、ネットワーク73を介した連動論理処理装置81−1〜kへの送信を制御する。
受信制御部41は、ネットワーク73を介して連動論理処理装置81−1〜kから送信された断片データの受信を制御し、誤り検出部42は、断片データの誤り検出符号を検証し、誤りが検出された場合、そのデータを破棄し、誤りが検出されなかった場合、そのデータを、復元処理部43に供給する。復元処理部43は、誤り検出部42から供給された断片データを復元し、現場機器制御処理部93に供給する。
現場機器制御処理部93は、復元処理部43により復元された制御情報に基づいて、現場機器62−1〜mのうち、接続されているものに対する制御を実行する。具体的には、現場機器制御処理部93は、復元処理部43により復元された制御情報に基づいて、自らに接続されている信号機や転てつ機等の現場機器62−1〜mの動作を制御する。このとき、現場機器制御処理部93は、復元処理部43により制御情報が正しく復元できなかった場合、例えば、列車がいてもいなくても「在線(列車あり)」と判断し、信号機に「赤(停止)」を現示させることで衝突を防止するなど、必ず安全となる方法(フェールセーフ)で制御を行う。
このように、電子端末71は、複数の連動論理処理装置81−1〜kのそれぞれにおいて秘密分散処理により生成された断片データを受信し、復元することができる。電子端末71は、復元結果の誤り検出符号または電子署名が有効である場合、復号結果は正しいとして、これに基づいて現場機器62−1〜mの対応する機器の動作制御を実行する。連動論理処理装置81−1〜kの断片データ生成部34のそれぞれにおいては、上述した情報送信装置21−1〜nにおける場合と同様に、異なる断片データが生成されるので、例えば、ソフトエラーや、熱障害などによる演算処理の障害などが、いずれかの連動論理処理装置81で発生した場合においても、電子端末71においては、他の正常に動作している連動論理処理装置81から供給される断片データに基づいて、データを復元することができる。復元処理部43により制御情報が正しく復元できなかった場合、現場機器制御処理部93は、例えば、列車がいてもいなくても「在線(列車あり)」と判断し、信号機に「赤(停止)」を現示させることで衝突を防止するなど、必ず安全となる方法(フェールセーフ)で制御を行う。
図9は、連動論理処理装置81の機能構成を示す機能ブロック図である。なお、図9においては、図2における場合と同一の機能については、同一の番号を付し、その詳細な説明は省略する。すなわち、図9の連動論理処理装置81は、情報取得部31に代わって、現場機器情報受信制御部101が備えられ、演算処理部32に代わって、連動論理演算処理部102が備えられている以外は、基本的に、図2を用いて説明した情報送信装置21と同様の機能を有する。すなわち、図9の連動論理処理装置81において、誤り検出符号または電子署名付与処理部33、断片データ生成部34、誤り検出符号付与部35、および、送信制御部36は、図2を用いて説明した情報送信装置21と同様の機能を有する。
現場機器情報受信制御部101は、電子端末71からネットワーク73を介して送信された、現場機器62−1〜mのいずれかの状態に関する情報の受信を制御し、連動論理演算処理部102に供給する。
連動論理演算処理部102は、現場機器情報受信制御部101から供給された現場機器62−1〜mのいずれかの状態に関する情報に基づいて、連動論理を適用し、現場機器62−1〜mのうちのいずれかに対する制御情報を生成し、誤り検出符号または電子署名付与処理部33に供給する。複数の連動論理処理装置81−1〜kの連動論理演算処理部102において実行される連動論理演算は同一である。したがって、連動論理処理装置81−1〜kの連動論理演算処理部102の全てにおいて、障害なく演算処理が行われた場合、連動論理処理装置81−1〜kの連動論理演算処理部102の演算結果は同一である。
そして、誤り検出符号または電子署名付与処理部33において、制御情報に、誤り検出符号または電子署名が付与され、断片データ生成部34において、秘密分散処理により断片データが生成される。そして、誤り検出符号付与部35において、断片データに誤り検出符号が付与され、送信制御部36により、断片データの、ネットワーク73を介した電子端末71への送信が制御される。
このように、電子連動装置61においては、複数の連動論理処理装置81−1〜kのそれぞれにおいて、電子端末71に送信される制御情報が演算され、誤り検出符号または電子署名が付与され、秘密分散処理によって断片データ化されて、電子端末71へ送信される。連動論理処理装置81−1〜kの断片データ生成部34のそれぞれにおいて異なる断片データが生成されることにより、例えば、ソフトエラーや、熱障害などによる演算処理の障害などが、いずれかの連動論理処理装置81で発生した場合においても、電子端末71においては、他の正常に動作している連動論理処理装置81から供給される断片データに基づいて、制御情報を復元することができる。連動論理処理装置81−1〜kの数kが大きいほど、鉄道保安制御システム51の信頼性は高まる。連動論理処理装置81−1〜kの数kや秘密分散において復元可能となる断片データの数は、許されるコストと、求められる信頼性によって決めることができる。
このような構成を有する電子連動装置61と、複数の現場機器62−1〜mにより構成される鉄道保安制御システム51は、例えば、電子連動装置61を汎用のコンピュータを用いた複数台の連動論理処理装置81を用いて構成することができるため、安価にシステムを構成することができ、かつ、連動論理の演算処理を高速に行うことが可能となる。また、演算処理を高速化に伴い、電子連動装置61と運行管理システムとの連携を強化し、機能融合を実現することが可能となる。さらに、この鉄道保安制御システム51においては、連動論理処理装置81のいずれかに障害が発生したり、ネットワーク73を利用した情報の授受中に障害が発生することにより、一部の断片データに何らかの破損が発生した場合においても、電子端末71においては、正しく動作している連動論理処理装置81から障害を受けることなく送信された他の断片データを用いて、正しい制御情報を復元することができるため、可用性を損なうことなく、信号機や転てつ機等の現場機器62−1〜mを安全に制御することができる。
次に、図10のフローチャートを参照して、電子端末71が実行する処理について説明する。
ステップS31において、現場機器情報取得部91は、現場機器62−1〜mのうち、接続されているものの状態に関する情報を取得し、現場機器情報送信制御部92に供給する。
ステップS32において、現場機器情報送信制御部92は、現場機器情報取得部91から供給された、現場機器62−1〜mのうち、接続されているものの状態に関する情報の、ネットワーク73を介した連動論理処理装置81−1〜kへの送信を制御する。
ステップS33において、受信制御部41は、連動論理処理装置81−1〜kのそれぞれにおいて図11を用いて後述する処理により生成され、ネットワーク73を介して送信された断片データの受信を制御し、受信された断片データを、誤り検出部42に供給する。
ステップS34において、誤り検出部42は、受信制御部41から供給された断片データの誤り検出符号を検証し、受信されたデータに誤りが検出されたか否かを判断する。
ステップS34において、受信されたデータに誤りが検出されたと判断された場合、ステップS35において、誤り検出部42は、誤りが検出されたデータを破棄し、処理は、後述するステップS37に進む。
ステップS34において、受信されたデータに誤りが検出されなかったと判断された場合、誤り検出部42は、そのデータを、復元処理部43に供給するので、ステップS36において、復元処理部43は、復元可能となる数以上の有効な断片データを受信したか否かを判断する。
ステップS35の処理の終了後、または、ステップS36において、復元可能となる数以上の断片データを受信していないと判断された場合、ステップS37において、復元処理部43は、復元処理はタイムアウトとなったか否かを判断する。ステップS37において、タイムアウトになっていないと判断された場合、処理は、ステップS33に戻り、それ以降の処理が繰り返される。ステップS37において、タイムアウトになったと判断された場合、処理は、後述するステップS43に進む。
ステップS36において、復元可能となる数以上の断片データを受信したと判断された場合、ステップS38において、復元処理部43は、誤り検出部42から供給された断片データに対して、復元処理を実行する。
ステップS39において、復元処理部43は、復元されたデータの誤り検出符号または電子署名は有効か否かを判断する。
ステップS39において、復元されたデータの誤り検出符号または電子署名は有効であると判断された場合、ステップS40において、復元処理部43は、復元された情報を現場機器制御処理部93に供給する。現場機器制御処理部93は、復元処理部43から供給された復元結果、すなわち、情報の受信結果に基づいて、現場機器62−1〜mのうち、接続されているものを制御し、処理が終了される。具体的には、現場機器制御処理部93は、復元処理部43から供給された復元結果に基づいて、例えば、信号機や転てつ機等の現場機器62の動作を制御する。
ステップS39において、復元されたデータの誤り検出符号または電子署名は有効ではないと判断された場合、ステップS41において、復元処理部43は、受信された断片データの全ての組み合わせにおける復元処理が終了したか否かを判断する。
ステップS41において、受信された断片データの全ての組み合わせにおける復元処理が終了していないと判断された場合、処理は、ステップS38に戻り、それ以降の処理が繰り返されることにより、復元処理が実行されていない組み合わせの断片データによる復元処理が実行される。
ステップS41において、受信された断片データの全ての組み合わせにおける復元処理が終了したと判断された場合、ステップS42において、復元処理部43は、復元処理はタイムアウトとなったか否かを判断する。ステップS42において、タイムアウトになっていないと判断された場合、処理は、ステップS33に戻り、それ以降の処理が繰り返される。
ステップS37において、タイムアウトになったと判断された場合、または、ステップS42において、タイムアウトになったと判断された場合、復元処理部43は、タイムアウトになったことを現場機器制御処理部93に供給するので、ステップS43において、現場機器制御処理部93は、情報の受信情報がエラーであることに基づいて、現場機器62−1〜mのうち、接続されているものに対して、例えば、列車がいてもいなくても「在線(列車あり)」と判断し、信号機に「赤(停止)」を現示させることで衝突を防止するなど、必ず安全となる方法(フェールセーフ)で制御を実行し、処理が終了される。
このような処理により、電子端末71は、複数の連動論理処理装置81−1〜kのそれぞれにおいて秘密分散処理により生成された断片データを受信し、復元することができる。電子端末71は、復元結果の誤り検出符号または電子署名が有効である場合、復号結果は正しいとして、これに基づいて現場機器62−1〜mの対応する機器の動作制御を実行する。連動論理処理装置81−1〜kの断片データ生成部34のそれぞれにおいては、上述した情報送信装置21−1〜nにおける場合と同様に、異なる断片データが生成されるので、例えば、ソフトエラーや、熱障害などによる演算処理の障害などが、いずれかの連動論理処理装置81で発生した場合においても、電子端末71においては、他の正常に動作している連動論理処理装置81から供給される断片データに基づいて、データを復元することができる。
次に、図11のフローチャートを参照して、連動論理処理装置81−1〜kのそれぞれにおいて実行される処理について説明する。
ステップS51において、現場機器情報受信制御部101は、電子端末71からネットワーク73を介して送信された、現場機器62−1〜mのいずれかの状態に関する情報の取得を制御し、連動論理演算処理部102に供給する。
ステップS52において、連動論理演算処理部102は、現場機器情報受信制御部101から供給された現場機器62−1〜mのいずれかの状態に関する情報に基づいて連動論理を適用し、現場機器62−1〜mのうちのいずれかに対する制御情報を生成し、誤り検出符号または電子署名付与処理部33に供給する。
ステップS53において、誤り検出符号または電子署名付与処理部33は、連動論理演算処理部102から供給された制御情報、すなわち、送信する情報に対して、誤り検出符号または電子署名を付与し、断片データ生成部34に供給する。
ステップS54〜ステップS56において、図11を用いて説明した情報送信装置21における処理と、基本的に同様の処理が実行される。すなわち、断片データ生成部34は、誤り検出符号または電子署名付与処理部33から供給されたデータに対して、秘密分散処理を実行し、誤り検出符号付与部35は、断片データ生成部34から供給された断片データに、誤り検出符号を付与し、送信制御部36は、誤り検出符号付与部35により誤り検出符号が付与された断片データを、ネットワーク73を介して、電子端末71に送信し、処理が終了する。
このような処理により、複数の連動論理処理装置81−1〜kのそれぞれにおいて、電子端末71に送信される制御情報が演算され、誤り検出符号または電子署名が付与され、秘密分散処理によって断片データ化されて、電子端末71へ送信される。連動論理処理装置81−1〜kの断片データ生成部34のそれぞれにおいて異なる断片データが生成されることにより、例えば、ソフトエラーや、熱障害などによる演算処理の障害などが、いずれかの連動論理処理装置81で発生した場合においても、電子端末71においては、他の正常に動作している連動論理処理装置81から供給される断片データに基づいて、制御情報を復元することができる。連動論理処理装置81−1〜kの数kが大きいほど、鉄道保安制御システム51の信頼性は高まる。連動論理処理装置81−1〜kの数kや秘密分散において復元可能となる断片データの数は、許されるコストと、求められる信頼性によって決めることができる。
図12は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェ アの構成例を示すブロック図である。上述した非フェールセーフな汎用コンピュータ、および、フェールセーフコンピュータを構成するコンピュータは、例えば、図12に示されるハードウェア構成を有している。
上述した非フェールセーフな汎用コンピュータ、および、フェールセーフコンピュータを構成するコンピュータにおいて、CPU(Central Processing Unit)1001、ROM(Read Only Memory)1002、RAM(Random Access Memory)1003は、バス1004により相互に接続されている。バス1004には、さらに、入出力インターフェイス1005が接続されている。入出力インターフェイス1005には、入力部1006、出力部1007、記憶部1008、通信部1009、および、ドライブ1010が接続されている。
入力部1006は、キーボード、マウス、マイクロフォンなどよりなる。出力部1007は、ディスプレイ、スピーカーなどよりなる。記憶部1008は、ハードディスクや不揮発性のメモリなどよりなる。通信部1009は、ネットワークインターフェースなどよりなる。ドライブ1010は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア1011を駆動する。
以上のように構成されるコンピュータでは、CPU1001が、例えば、記憶部1008に記憶されているプログラムを、入出力インターフェイス1005及びバス1004を介して、RAM1003にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU1001)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア1011に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった 、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア1011をドライブ1010に装着することにより、入出力インターフェイス1005を介して、記憶部1008にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部1009で受信し、記憶部1008にインストールすることができる。その他、プログラムは、ROM1002や記憶部1008に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。