(57)【要約】【課題】セキュリティ対策が十分な運行管理システムを提供する。【解決手段】運行管理システム１は、軌道上の複数の車両の運行管理を行う運行管理システム１であって、前記車両Ａの各々に搭載された演算装置の各々をノードＢとする分散型記録システム２と、前記軌道上の複数の車両Ａの各々の走行情報を取得する走行情報取得部３と、取得した前記走行情報を、前記分散型記録システム２に記録するための記録要求を出力する記録要求部４と、他の車両Ａに自らの走行情報を通信する情報通信部５と、を備え、前記分散型記録システム２に含まれる前記ノードＢの各々は、前記記録要求が出力された場合に、当該記録要求が、各ノードＢで共有することについての所定の合意条件を満たしているか否かを判定する合意判定部と、前記合意条件が満たされた場合に、前記記録要求の共有を行う共有処理部と、を有することを特徴とする。【選択図】図１
2018172019.tif 000002
【特許請求の範囲】
【請求項１】
軌道上の複数の車両の運行管理を行う運行管理システムであって、
前記車両の各々に搭載された演算装置の各々をノードとする分散型記録システムと、
前記軌道上の複数の車両の各々の走行情報を取得する走行情報取得部と、
取得した前記走行情報を、前記分散型記録システムに記録するための記録要求を出力する記録要求部と、
他の車両に自らの走行情報を通信する情報通信部と、を備え、
前記分散型記録システムに含まれる前記ノードの各々は、
前記記録要求が出力された場合に、当該記録要求が、各ノードで共有することについての所定の合意条件を満たしているか否かを判定する合意判定部と、
前記合意条件が満たされた場合に、前記記録要求の共有を行う共有処理部と、
を有することを特徴とする運行管理システム。
【請求項２】
前記共有処理部によって行われた共有された情報に基づいて、自車両の制御条件を決定する制御処理部を有することを特徴とする請求項１に記載の運行管理システム。
【請求項３】
前記共有処理部によって行う記録要求の共有が、当該記録要求そのものであることを特徴とする請求項１又は請求項２に記載の運行管理システム。
【請求項４】
前記共有処理部によって行う記録要求の共有が、当該記録要求をもとに形成したハッシュ値であることを特徴とする請求項１又は請求項２に記載の運行管理システム。
【請求項５】
軌道上に車両の有無を検知するチェックセンサが設けられていることを特徴とする請求項１ないし請求項４のいずれか１項に記載の運行管理システム。
【請求項６】
軌道上の複数の車両の各々に搭載された演算装置の各々をノードとする分散型記録システムと、前記軌道上の複数の車両の各々の走行情報を取得する走行情報取得部と、取得した前記走行情報を、前記分散型記録システムに記録するための記録要求を出力する記録要求部と、他の車両に自らの走行情報を通信する情報通信部と、を備えた運行管理システムを用いた運行管理方法であって、
記録要求が出力された場合に、当該記録要求が、各ノードで共有することについての所定の合意条件を満たしているか否かを判定する合意判定ステップと、
前記合意条件が満たされた場合に、前記記録要求の共有を行う共有処理ステップと、
を有することを特徴とする運行管理方法。
【請求項７】
軌道上の複数の車両の各々に搭載された演算装置の各々をノードとする分散型記録システムと、前記軌道上の複数の車両の各々の走行情報を取得する走行情報取得部と、取得した前記走行情報を、前記分散型記録システムに記録するための記録要求を出力する記録要求部と、他の車両に自らの走行情報を通信する情報通信部と、を備えた運行管理システムのコンピュータを、
記録要求が出力された場合に、当該記録要求が、各ノードで共有することについての所定の合意条件を満たしているか否かを判定する合意判定手段と、
前記合意条件が満たされた場合に、前記記録要求の共有を行う共有処理手段として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、運行管理システム、運行管理方法、及びプログラムに関する発明である。
【背景技術】
【０００２】
一般に、所定の軌道（路線）に沿って走行する車両（列車等）による輸送サービスを提供する運行管理システムにおいては、予め規定されたダイヤ（時刻表）に基づいて各車両の運行が管理されている。
【０００３】
具体的には、地上のコントロールセンターに設けられた運行管理装置が、車両ごとに定められている到着時刻、出発時刻等に基づいて指示を出し、各車両は当該指示に従って運行している。
このようなダイヤに基づく運行制御においては、運行が乱れた際に、ダイヤを変更し、その変更後のダイヤに従って車両を運行することで、運行の乱れを解消するようにしている。
【０００４】
また、運行管理にあたっては、地上に設けられた種々の機器（例えば、車両の通過を検知する検知センサ等）によって測定された情報をも併せて、現在の車両の運行状況を把握し、運行を管理することが行われている。
【０００５】
近年では、このような運行管理システムにおいて、地上の運行管理装置によって運行を管理するのではなく、車両同士の通信により、車両間で運行管理を実現することも考えられてきている（特許文献１）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−２３３９８９号公報
【特許文献２】特表２０１６−５０２６９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、地上に設けられた種々の機器と、運行管理装置との通信は、専用ケーブルによって行われてきたが、近年、無線通信によって通信を行うことが増えてきている。
その結果、無線信号の傍受、改ざんなどの危険性が高まっており、従来の暗号方式だけではセキュリティ面での不安が生じている。特に、車両の位置情報について改ざんされてしまうと、大事故に結びつきかねないという問題があった。
【０００８】
特許文献１に記載の技術では、車両間での通信については言及されているが、セキュリティ対策については何ら言及されていない。
また、特許文献２には、輸送手段に対する攻撃を検知する技術について記載されているが、機械学習が進まないと攻撃されるリスクが高く、セキュリティ対策としては十分ではない。
【０００９】
本発明は、上記課題に鑑みてなされた発明であり、セキュリティ対策が十分な運行管理システムを提供することを目的としている。
【課題を解決するための手段】
【００１０】
そこで、上記課題を解決するため、本発明は以下の構成を採用した。
本発明の運行管理システムは、
軌道上の複数の車両の運行管理を行う運行管理システムであって、
前記車両の各々に搭載された演算装置の各々をノードとする分散型記録システムと、
前記軌道上の複数の車両の各々の走行情報を取得する走行情報取得部と、
取得した前記走行情報を、前記分散型記録システムに記録するための記録要求を出力する記録要求部と、
他の車両に自らの走行情報を通信する情報通信部と、を備え、
前記分散型記録システムに含まれる前記ノードの各々は、
前記記録要求が出力された場合に、当該記録要求が、各ノードで共有することについての所定の合意条件を満たしているか否かを判定する合意判定部と、
前記合意条件が満たされた場合に、前記記録要求の共有を行う共有処理部と、
を有することを特徴とする。
【００１１】
また、本発明の運行管理システムは、
前記共有処理部によって行われた共有された情報に基づいて、自車両の制御条件を決定する制御処理部を有することを特徴とする。
【００１２】
また、本発明の運行管理システムは、
前記共有処理部によって行う記録要求の共有が、当該記録要求そのものであることを特徴とする。
【００１３】
また、本発明の運行管理システムは、
前記共有処理部によって行う記録要求の共有が、当該記録要求をもとに形成したハッシュ値であることを特徴とする。
【００１４】
また、本発明の運行管理システムは、
軌道上に車両の有無を検知するチェックセンサが設けられていることを特徴とする。
【００１５】
また、本発明の運行管理方法は、
軌道上の複数の車両の各々に搭載された演算装置の各々をノードとする分散型記録システムと、前記軌道上の複数の車両の各々の走行情報を取得する走行情報取得部と、取得した前記走行情報を、前記分散型記録システムに記録するための記録要求を出力する記録要求部と、他の車両に自らの走行情報を通信する情報通信部と、を備えた運行管理システムを用いた運行管理方法であって、
記録要求が出力された場合に、当該記録要求が、各ノードで共有することについての所定の合意条件を満たしているか否かを判定する合意判定ステップと、
前記合意条件が満たされた場合に、前記記録要求の共有を行う共有処理ステップと、
を有することを特徴とする。
【００１６】
また、本発明のプログラムは、
軌道上の複数の車両の各々に搭載された演算装置の各々をノードとする分散型記録システムと、前記軌道上の複数の車両の各々の走行情報を取得する走行情報取得部と、取得した前記走行情報を、前記分散型記録システムに記録するための記録要求を出力する記録要求部と、他の車両に自らの走行情報を通信する情報通信部と、を備えた運行管理システムのコンピュータを、
記録要求が出力された場合に、当該記録要求が、各ノードで共有することについての所定の合意条件を満たしているか否かを判定する合意判定手段と、
前記合意条件が満たされた場合に、前記記録要求の共有を行う共有処理手段として機能させるプログラム。
【発明の効果】
【００１７】
本発明の運行管理システムによれば、セキュリティ対策が十分な運行管理システムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】図１は、本発明の第１の実施形態の運行管理システムを示す図である。
【図２】図２は、本発明の第１の実施形態の運行管理システムの一部を示す図である。
【図３】図３は、本発明の第１の実施形態の運行管理方法を示すフローチャートである。
【図４】図４は、本発明の第１の実施形態の分散型記憶システムによる記憶の一例を示す図である。
【図５】図５は、本発明の第１の実施形態の運行管理方法の一部を示すフローチャートである。
【図６】図６は、本発明の第２の実施形態の運行管理システムを示す図である。
【図７】図７は、本発明の第２の実施形態の分散型記憶システムによる記憶の一例である。
【図８】図８は、本発明の第２の実施形態の分散型記憶システムによる記憶の一例である。
【図９】図９は、本発明の第２の実施形態の運行管理方法を示すフローチャートである。
【図１０】図１０は、本発明の第２の実施形態の運行管理方法の一部を示すフローチャートである。
【図１１】図１１は、本発明の第３の実施形態の運行管理システムを示す図である。
【図１２】図１２は、本発明の第３の実施形態の運行管理システムの一部を示す図である。
【図１３】図１３は、本発明の第３の実施形態の分散型記憶システムによる記憶の一例である。
【図１４】図１４は、本発明の第３の実施形態の運行管理方法を示すフローチャートである。
【図１５】図１５は、本発明の第３の実施形態の運行管理方法の一部を示すフローチャートである。
【図１６】図１６は、本発明の第４の実施形態の運行管理システムを示す図である。
【図１７】図１７は、本発明の第４の実施形態の運行管理方法を示すフローチャートである。
【発明を実施するための形態】
【００１９】
［第１の実施形態］
以下、本発明に係る運行管理システム及び運行管理方法の第１の実施形態について、図１〜図５を参照して説明を行う。
【００２０】
＜運行管理システム＞
本実施形態の運行管理システム１は、図１に示すように、分散管理型記憶システム２と、各車両Ａに設けられた走行情報取得部３と、記録要求部４と、情報通信部５と、制御処理部６とを備えている。
【００２１】
分散管理型記憶システム２は、各車両Ａに搭載された演算装置の各々をノードＢとした記憶システムである。例えば、軌道上に車両Ａ１、Ａ２，・・・Ａｎのｎ台があったとすると、この車両Ａ１，Ａ２，・・・Ａｎに搭載された演算装置が、それぞれ本実施形態の分散管理型記憶システムのノードＢ１、Ｂ２，・・・Ｂｎとなっている。
【００２２】
また、この車両の演算装置であるノードＢには、図２に示すように、データベース７が設けられている。データベース７には、自車両Ａだけでなく、他の車両Ａも含めて車両Ａの走行情報が記憶されている。走行情報は、具体的には位置情報、速度、加減速度、進行方向、ヘルス状態に関する情報等であり、これら全てであっても、これらのいずれかであっても構わない。
なお、ヘルス状態とは、正常状態か異常状態かを識別する指標で、例えば車両Ａが駅で停車している際に、特に問題のない停車であればヘルス状態は正常となるが、何らかの機器の故障で停車しているのであればヘルス状態は異常となる。
【００２３】
また、データベース７には、複数の走行情報を一つにまとめたブロックごとに、情報が記憶されている。詳しくは、後述する。
また、同じ情報からなるデータベース７が、各車両Ａに記憶されている。
【００２４】
走行情報取得部３は、自車両Ａの走行情報を取得する機能部であり、各種の検出手段を備えている。これらの検出手段は、所望の走行情報を検出することができるものであれば、どのようなものであっても構わないが、例えば、位置情報、速度、加速度に関する情報を取得するためであれば、車輪の回転数を検出する検出手段を用いればよい。進行方向に関しては、運転手からの操作入力を受け付けるようにしてもよく、またヘルス状態については各種機器の異常を検出するようにしても構わない。
【００２５】
また、車両Ａにおいては自分の位置を正確に把握することが重要であることから、走行情報取得部３に、別途、列車位置特定部（図示略）を設けても構わない。この列車位置特定部は、自車両Ａの位置情報を正確に把握する機能部であり、例えば、地図情報とタコジェネレータ、更にはＧＰＳ（Ｇｌｏｂａｌ Ｐｏｓｉｔｉｏｎｉｎｇ Ｓｙｓｔｅｍ）によって特定することが考えられる。
【００２６】
記録要求部４は、走行情報を、分散型記録システムに記録するための仮ブロック（記録要求）を出力する機能部である。仮ブロックの具体的内容については、後述する。
情報通信部５は、他の車両Ａに対して、走行情報を通信する機能部である。
【００２７】
また、図２に示すように、各ノードＢには、合意判定部８と、共有処理部９も設けられている。
合意判定部８は、仮ブロックに示される走行情報を各ノードＢで共有することについて、所定の条件を満たしているか否かを判定する機能部である。
共有処理部９は、仮ブロックに示される走行情報の共有を行う機能部である。
合意判定部８及び共有処理部９の詳細については、後述する。
また、各ノードＢは、自車両Ａに固有の秘密鍵を保有しているとともに、全車両Ａの各ノードＢが保有する秘密鍵に対応する公開鍵を保有している。
【００２８】
＜運行管理方法＞
次に、本実施形態の運行管理システム１を用いた運行管理方法について説明する。なお、以下の説明では、軌道上に車両Ａ１、Ａ２、Ａ３，・・・Ａｎがｎ台、この順で並んで走行している場合を例にし、車両Ａ２が新たに走行情報を更新する場合について説明する。
【００２９】
（ステップＳ１）
まず、図３に示すように、車両Ａ２に供えられた走行情報取得部３が、更新すべき走行情報を取得する。
自車両Ａ２の走行情報は運行状況に応じて、時々刻々と変化していることから、高頻度に、たとえば１ミリ秒毎に走行情報を取得するのが一般的である。
具体的には、走行情報取得部３を構成する各検出手段が、位置情報、速度、加減速度、進行方向、ヘルス状態等といった走行情報を検出することによって、取得する。
なお、取得した走行情報は、そのハッシュ値に対して車両Ａ１のノードＢ１が持つ秘密鍵により暗号化して電子署名が行われる。
【００３０】
（ステップＳ２）
次に、車両Ａ２は、情報通信部５を介して、他の車両Ａの走行情報を取得する。
車両Ａ２の運行は、自車両Ａ２の走行情報に基づいてのみ運行しているのではなく、前後の車両Ａの走行情報も併せて確認して運行することから、前後の車両Ａ１、Ａ３の走行情報についても取得する必要がある。
例えば、前を走る車両Ａ１との距離が広がれば、速度を上げる必要があり、逆に後ろを走る車両Ａ３との距離が広がれば、速度を落とす必要があるというように、前後の車両Ａ１，Ａ３の走行情報は、自車両Ａ２の運行を決める上で重要な情報となる。
但し、自車両Ａ２は、どの車両が前後の車両か特定する情報を持っていないので、このステップでは、全車両Ａの走行情報を取得するか、自車両Ａ２と直接通信できる範囲の車両Ａ全ての走行情報を取得する。
なお、本ステップで他車両Ａから取得する情報は、走行情報そのもの及び当該走行情報のハッシュ値を秘密鍵によって暗号化した電子署名である。
【００３１】
（ステップＳ３）
次に、車両Ａ２の記録要求部４が、仮ブロック（記録要求）を生成し、各車両ＡのノードＢに対して出力する。
具体的には、ステップＳ２にて取得した他の車両の走行情報（特に位置情報）から、自車両Ａ２の前後の車両Ａ１及びＡ３を特定する。そして、車両Ａ２が記録を希望する自車両Ａ２の走行情報、前後の車両Ａ１，Ａ３の走行情報、これらの走行情報を取得した時刻、及び仮ブロックを生成し出力した車両が車両Ａ２であるという情報をまとめて一つのブロックを形成し、このブロックを車両Ａ１〜ＡｎのノードＢ１〜Ｂｎの全てに出力する。
この仮ブロックは、各車両Ａの演算装置であるノードＢに記憶されているデータベース７に、追加すべき情報の集合体である。
【００３２】
図４は、仮ブロックとデータベース７に記憶されているブロックの関係を示す図である。この図において、右下の破線で囲われた部分が仮ブロックであり、実線で囲われた５つのブロックが、既にデータベース７に記録されているブロックである。
この図の例では、データベース７には、走行情報（Ａ６〜Ａ８）のブロックが記憶された後、走行情報（Ａ４〜Ａ６）のブロック、走行情報（Ａ２〜Ａ４）のブロック、走行情報（Ａ５〜Ａ７）のブロック、及び走行情報（Ａ３〜Ａ５）のブロックが順次記憶されたことが分かる。
【００３３】
また、仮ブロックには、直前にデータベース７に登録されたブロックのハッシュ値も併せて含ませるようにする。例えば、今回の仮ブロックであれば、直前の走行情報（Ａ３〜Ａ５）のブロックをもとに生成れるハッシュ値が、含まれることになる。
ハッシュ値とは、元になるデータから一定の計算手順によって求められた、規則性のない値であり、同じデータからは必ず同じハッシュ値が得られるが、異なるデータからは必ず異なるハッシュ値が得られるという特性がある。
【００３４】
このように、各ブロックにハッシュ値を含ませることで、改ざんを有効に検知することができる。例えば、図４の例において、走行情報（Ａ４〜Ａ６）のブロックが改ざんされたとしても、改ざん後の走行情報（Ａ４〜Ａ６）のブロックについてハッシュ値を求めると、走行情報（Ａ２〜Ａ４）のブロックに記憶されているハッシュ値と異なることになり、改ざんがなされたことを検知することができる。
【００３５】
また、本ステップにおいて、仮ブロックを生成する際には、他車両Ａから受信した走行情報が正しいことを確認した上で生成する。
例えば、車両Ａ２は、車両Ａ１から、走行情報だけでなく、電子署名も受信している。したがって、車両Ａ２のノードＢ２は、車両Ａ１から受信した電子署名を、保有している車両Ａ１の公開鍵をもとに復号化して走行情報のハッシュ値を得るとともに、受信した走行情報のハッシュ値を演算し、両者が一致するかを確認する。
【００３６】
また、車両Ａ２の記録要求部４が、生成した仮ブロックを各車両ＡのノードＢに対して出力する際には、併せて、車両Ａ２の記録要求部４が出力していることが分かるような識別情報も併せて出力することが好ましく、仮ブロック自体に電子署名を付して出力することが好ましい。
なお、本実施形態では、走行情報を他車両Ａに送信する際に電子署名し、かつ、仮ブロックを出力する際にも電子署名をする方法について説明しているが、どちらか片方のみに電子署名をする方法でも構わない。  
【００３７】
（ステップＳ４）
次に、各車両ＡのノードＢに含まれる合意判定部８は、車両Ａ２の記録要求部４から受け付けた仮ブロックが、共有することについて所定の合意条件を満たしているか否かについて判定をする。
合意条件としては、例えば、仮ブロック又は走行情報が電子署名されていた場合に、公開鍵を用いて電子署名を複合化して得られるハッシュ値と、受信した仮ブロック又は走行情報から演算したハッシュ値が一致するかといった条件や、仮ブロックに走行情報やハッシュ値が含まれているか否か、仮ブロックには余計な情報が含まれているか否かといったデータフォーマットに関する条件や、仮ブロックに含まれる直前のブロックのハッシュ値が正しいかといった条件を例示することができる。
判定の結果、合意条件を満たしていると判断した場合、合意判定部８は、全ノードＢに対して、仮ブロックを承認する旨の承認結果を出力する。
【００３８】
（ステップＳ５）
次に、ステップＳ４にて各ノードＢから出力された仮ブロックを承認する旨の出力数が、全ノードＢの３分の２以上の数に達したか否かを判定する。
３分の２以上を要求するのは、改ざんを防止するためである。例えば、害意ある外部の者により、車両Ａ１の記録要求部４を装って仮ブロックが出力されたとしても、同時に３分の２以上のノードＢが汚染されなければ、当該仮ブロックを承認することはなく、その仮ブロックがデータベース７に追加されることはない。
なお、ステップＳ４での各車両Ａの出力は、全ノードＢに向けてなされるので、各ノードＢにて３分の２以上の承認がなされたか判別することができる。
本ステップにおいて３分の２以上に達しない場合は、不正が行われた可能性があり、本システムでは解決できないため、全列車を緊急停止させ、本運行管理方法を終了し、仮ブロックはデータベース７に記録されることはない。
【００３９】
（ステップＳ６）
次に、ステップＳ５にて判定の結果、全ノードＢの３分の２以上の数に達した場合は、各ノードＢの共有処理部９が仮ブロックを、登録時刻とともに、それぞれデータベース７に追加する。
なお、ステップＳ５の判定の結果が全ノードＢの３分の２以上の数に達している場合において、承認しない旨の出力をしたノードＢについては、当該ノードＢが受け付けた仮ブロックはデータベース７に保存されずに消去され、代わりにステップＳ５にて他のノードＢにおいて承認された仮ブロックがデータベース７に追加される。これは、定期的な周期でデータベース７の整合性チェックと同期（書換え）を行うことによって達成することができる。
【００４０】
（ステップＳ７）
次に、車両Ａ２の制御処理部６は、登録された仮ブロックの内容に基づき、自車両Ａ２の制御条件を適宜決定する。制御条件としては、速度、加減速度、進行方向などを例示することができる。
具体的には、図５に示すように、まず制御処理部６は、どの車両が車両Ａ２の前後の車両なのかを特定する（ステップＳ１１）。次に、制御処理部６は、最新のブロックの中身をチェックする（ステップＳ１２）。そして、そのブロックに前後の車両Ａ１、Ａ３の走行情報が含まれているかを確認する（ステップＳ１３）。車両Ａ１及びＡ３の情報を含まれていれば、その情報を使用して制御条件を決定する（ステップＳ１４）。含まれていなければ、一つ前の（一つ古い）ブロックの中身をチェックし（ステップＳ１５）、ステップＳ１３に戻る。
【００４１】
本実施形態の運行管理システム１及び運行管理方法によれば、各ノードＢのデータベース７に、同じ内容の走行情報が記録されている。
したがって、仮にノードＢのうちの一つが害意ある外部の者によって改ざんされたとしても、データの消失等の事態を免れることができる。
また、データベース７の走行情報は、ブロックごとに記憶されているところ、前後のブロックはハッシュ値によって連続性が担保されている。これにより、途中のブロックについて改ざんがなされたとしても、それ以降のブロック全てを改ざんしない限り、ハッシュ値を根拠に改ざんを検出することができる。  
【００４２】
なお、上記実施形態においては、仮ブロックの生成について、自車両Ａの走行情報だけでなく前後の車両Ａの走行情報も含めたブロックを生成する場合について説明したが、必ずしもこれに限られない。自車両Ａの走行情報のみで仮ブロックを生成しても構わないし、全車両Ａの走行情報をもとに仮ブロックを生成しても構わない。
【００４３】
［第２の実施形態］
次に、本発明の第２の実施形態の運行管理システム２１及び運行管理方法について説明する。
本実施形態の運行管理システム２１は、各ノードＢのデータベース７には、走行情報そのものではなく、走行情報に基づいて形成されたハッシュ値が記憶されている点で、第１の実施形態と異なり、同様の部分については適宜説明を省略する。
【００４４】
＜運行管理システム＞
本実施形態の運行管理システム２１は、図６に示すように、第１の実施形態に加えて、管理装置１０が設けられている。
管理装置１０は、通信部１１と、走行情報データベース１２と、ハッシュ値形成部１３と、制御部１４とを有している。この管理装置１０は、各車両Ａに設けられているのではなく、例えば地上のコントロールセンター等に設けられている。
【００４５】
通信部１１は、各車両Ａと通信を行う機能部であり、各車両Ａから出力された走行情報、記録要求部４が出力した仮ブロック、及び合意判定部８が出力する承認結果を受け付けるとともに、各車両Ａに対してハッシュ値形成部１３が生成したハッシュ値及び走行情報データベース１２上の位置であるアドレス値を出力する。
走行情報データベース１２には、第１の実施形態のデータベース７と同様に、ブロックごとに各車両Ａの走行情報が記録されているが、図７に示すように、ブロックごとにアドレス値も記憶されている。
【００４６】
ハッシュ値形成部１３は、ブロックに含まれる走行情報に基づいてハッシュ値を形成する機能部である。
制御部１４は、通信部１１が受信した仮ブロックの情報を走行情報データベース１２に記憶させる等の各種の制御を行う機能部である。
【００４７】
また、本実施形態の分散型記憶システム２２は、各車両Ａの演算装置であるノードＢだけでなく、管理装置１０を含めて形成されている。
また、各ノードＢに含まれるデータベース７には、図８に示すように、走行情報そのものは記憶されておらず、走行情報データベース１２に保存する走行情報に対応するハッシュ値と、ブロックのアドレス値と、ブロックが登録された時刻と、ブロックを出力した車両Ａに関する情報が、ブロックごとに記憶されている。
【００４８】
＜運行管理方法＞
次に、本実施形態の運行管理システム２１を用いた運行管理方法について説明する。
本実施形態では、図９に示すように、第１の実施形態と同様にステップＳ１及びステップＳ２を行う。
また、ステップＳ３についても第１の実施形態と略同様に行うが、仮ブロックを各車両Ａだけでなく、管理装置１０に対しても出力する。
また、同様に、ステップＳ４についても第１の実施形態と略同様に行うが、承認結果を各車両Ａだけでなく、管理装置１０に対しても出力する。
【００４９】
（ステップＳ５）
次に、ステップＳ５について第１の実施形態と同様に、各ノードＢから出力された仮ブロックを承認する旨の出力が、全ノードＢの３分の２以上に達したか否かを判定する。
本ステップにおいて３分の２以上に達しない場合は、不正が行われた可能性があり、本システムでは解決できないため、全列車を緊急停止させ、本運行管理方法を終了し、仮ブロックは走行情報データベース１２には記録されない。
【００５０】
（ステップＳ２１）
次に、ステップＳ５にて各ノードＢから出力された仮ブロックを承認する旨の出力が、３分の２以上に達した場合は、ハッシュ値形成部１３は、仮ブロックの各走行情報についてハッシュ値を形成する。
また、制御部１４は、仮ブロックを走行情報データベース１２に記録する。
【００５１】
（ステップＳ２２）
次に、制御部１４は、ステップＳ２１で記録された仮ブロックの走行情報データベース１２上の位置であるアドレス値を読み出し、図８に示すように、これとステップＳ２１で形成されたハッシュ値と、ハッシュ値に対応する走行情報が取得された時刻及びその車両Ａを特定する情報と、仮ブロックを出力した車両に関する情報を、通信部１１を介して各ノードＢに対して出力する。
【００５２】
（ステップＳ２３）
各ノードＢの共有処理部９は、ステップＳ２２で受け付けたアドレス値と、ハッシュ値と、ハッシュ値に対応する走行情報が取得された時刻及びその車両Ａを特定する情報と、仮ブロックを出力した車両に関する情報を、登録時刻と合わせてデータベース７に追加する。
【００５３】
（ステップＳ２４）
次に、車両Ａ２の制御処理部６は、管理装置１０の走行情報データベース１２に登録された内容に基づき、自車両Ａ２の制御条件を適宜決定する。制御条件としては、速度、加減速度、進行方向などを例示することができる。
具体的には、図１０に示すように、まずどの車両が車両Ａ２の前後の車両なのかを特定する（ステップＳ３１）。次に、制御処理部６は、最新のブロックの中身をチェックする（ステップＳ３２）。そして、そのブロックに前後の車両Ａ１、Ａ３の走行情報が含まれているかを確認する（ステップＳ３３）。
【００５４】
車両Ａ１及びＡ３の情報を含まれていれば、そのアドレス値をもとに、管理装置１０の走行情報データベース１２に記憶されている当該アドレス値と一致するブロックから、車両Ａ１及び車両Ａ３の走行情報を取得して、制御条件を決定する（ステップＳ３４）。
【００５５】
ステップＳ３３において、車両Ａ１及び車両Ａ３の走行情報が含まれていなければ、一つ前の（一つ古い）ブロックの中身をチェックし（ステップＳ３５）、ステップＳ３３に戻る。
【００５６】
本実施形態の運行管理システム２１及び運行管理方法によれば、各ノードＢのデータベース７には、キャッシュ値とアドレス値しか記憶されていないので、各ノードＢのデータベース７に記憶される情報量を少なくすることができ、処理速度を向上させることができる。
【００５７】
また、本実施形態によっても、走行情報データベース１２に登録された内容につき、害意ある外部の者によって改ざんされたとしても、改ざんを検知することができる。
すなわち、走行情報データベース１２のあるブロックが改ざんされた場合、当該ブロックのハッシュ値は変化することから、当該ブロックに対応する各ノードＢに記憶されたハッシュ値と異なることになり、改ざんを検知できる。なお、ブロックの対応は、アドレス値によって行うことができる。
【００５８】
また、第１の実施形態と同様に、走行情報データベース１２に記憶されている走行情報は、ブロックごとに記憶されているところ、前後のブロックはハッシュ値によって連続性が担保されているので、ハッシュ値を根拠に改ざんを検出することができる。
【００５９】
なお、上記実施形態では、仮ブロックの走行情報に対応するハッシュ値の形成を管理装置１０側のみで行う場合について説明したが、各車両Ａ側でも同時に行っても構わず、管理装置１０側からはアドレス値のみを出力するようにしても構わない。
【００６０】
［第３の実施形態］
次に、本発明の第３の実施形態の運行管理システム３１及び運行管理方法について説明する。
本実施形態の運行管理システム３１も第２の実施形態と同様に、各ノードＢのデータベース７には、走行情報そのものではなく、走行情報に基づいて形成されたハッシュ値が記憶されているが、第２の実施形態と異なり、管理装置は設けられず、各車両Ａに別途データベース１５が設けられている。以下では、上述した第１の実施形態及び第２の実施形態と同様の部分については適宜説明を省略する。
【００６１】
＜運行管理システム＞
本実施形態の運行管理システム３１は、図１１に示すように、第２の実施形態の運行管理システム２１と略同様な構成となっているが、管理装置が設けられておらず、各車両ＡにノードＢに含まれるデータベース７とは別に、データベース１５が備えられている。
データベース１５には、図１２に示すように、自車両Ａの走行情報に関する情報がその走行情報の取得時刻とともに記録されている。
【００６２】
各ノードＢに含まれるデータベース７には、図１３に示すように、第２の実施形態と略同様に、走行情報そのものは記憶されておらず、特定の車両Ａと対応付けられた走行情報のハッシュ値と、ブロックが登録された時刻と、ブロックを出力（登録）した車両に関する情報が、ブロックごとに記憶されている。
なお、第２の実施形態のデータベースとは異なり、本実施形態には管理装置１０が設けられていないことから、アドレス値は記録されていない。
【００６３】
＜運行管理方法＞
次に、本実施形態の運行管理システム３１を用いた運行管理方法について説明する。なお、以下の説明では、第１の実施形態と同様に、車両Ａ２が新たに走行情報を更新する場合について説明する。
【００６４】
（ステップＳ４１）
まず、本実施形態では、図１４に示すように、第１の実施形態と略同様に自車両の更新すべき走行情報を取得する。
但し、第１の実施形態と異なり、本実施形態では、取得した走行情報についてハッシュ値を演算し、このハッシュ値を秘密鍵で暗号化した情報を、当該走行情報を取得した時刻とともに各車両Ａに対して出力する。
また、データベース１５に、走行情報と、当該走行情報を取得した時刻を記憶させる。
【００６５】
（ステップＳ４２）
次に、車両Ａ２は、情報通信部５を介して、ステップＳ４１で暗号化された他の車両Ａの走行情報のハッシュ値と、当該走行情報を取得した時刻を取得する。なお、第１の実施形態と同様に、取得するのは、全車両Ａの走行情報でも、自車両Ａ２と直接通信できる範囲の車両Ａ全ての走行情報のハッシュ値でも構わない。
【００６６】
（ステップＳ４３）
次に、車両Ａ２の記録要求部４が、仮ブロック（記録要求）を生成し、各車両ＡのノードＢに対して出力する。
具体的には、仮ブロックには、図１３に示すように、車両Ａ２が記録を希望する自車両Ａ２及び前後の車両Ａ１及びＡ３の走行情報のハッシュ値と、走行情報を取得した時刻とを、各車両Ａ１〜Ａ３と対応付けた情報が含まれるようにする。また、仮ブロックには、直前のブロックのハッシュ値と、ブロックを生成した車両が車両Ａ２であるという情報も含まれるようにする。そして、この仮ブロックを車両Ａ１〜ＡｎのノードＢ１〜Ｂｎの全てに出力する。
仮ブロックを出力する際は、電子署名を付していることが好ましい。
【００６７】
なお、仮ブロックを生成する際には、他車両Ａ１及びＡ３から受領した暗号化されたハッシュ値について、公開鍵をもとに復元化できるか試み、復元できることを確認してからブロックを生成するのが好ましい。
【００６８】
（ステップＳ４４）
次に、各車両ＡのノードＢに含まれる合意判定部８は、車両Ａ２の記録要求部４から受け付けた仮ブロックが、共有することについて所定の合意条件を満たしているか否かについて判定する。
合意条件としては、例えば、仮ブロックに電子署名が付されている場合には、公開鍵を用いて電子署名を複合化して得られるハッシュ値と、受信した仮ブロックから演算したハッシュ値が一致するかといった条件や、仮ブロックに含まれる暗号化されたハッシュ値について公開鍵をもとに復元できるかといった条件や、データフォーマットは正しいかといった条件や、仮ブロックに含まれる直前ブロックのハッシュ値が正しいか否かといった条件を挙げることができる。
【００６９】
（ステップＳ４５）
次に、ステップＳ４４において各ノードＢから出力された仮ブロックを承認する旨の出力が、全ノードＢの３分の２以上に達したか否かを判定する。
本ステップにおいて３分の２以上に達しない場合は、不正が行われた可能性があり、本システムでは解決できないため、全列車を緊急停止させ、本運行管理方法を終了し、仮ブロックはデータベース７には記録されない。
【００７０】
（ステップＳ４６）
次に、ステップＳ４５にて判定の結果、全ノードＢの３分の２以上の数に達した場合は、各ノードＢの共有処理部９が仮ブロックを、登録時刻とともに、それぞれデータベース７に追加する。
【００７１】
（ステップＳ４７）
次に、車両Ａ２の制御処理部６は、自車両Ａ２の制御条件を適宜決定する。制御条件としては、速度、加減速度、進行方向などを例示することができる。
【００７２】
具体的には、図１５に示すように、まずどの車両Ａが車両Ａ２の前後の車両Ａなのかを特定する（ステップＳ５１）。次に、制御処理部６は、最新のブロックの中身をチェックする（ステップＳ５２）。そして、そのブロックに前後の車両Ａ１、Ａ３の走行情報が含まれているかを確認する（ステップＳ５３）。
【００７３】
ステップＳ５３での確認の結果、ブロックに車両Ａ１及びＡ３の情報が含まれていれば、車両Ａ２の制御処理部６は、そのブロックに含まれる車両Ａ１及びＡ３の走行情報のハッシュ値、及びこれらの走行情報を取得した時刻を取得する（ステップＳ５４）。なお、ステップＳ５３での確認の結果、ブロックに車両Ａ１及びＡ３の情報が含まれていなければ、一つ前のブロックをチェックし（ステップＳ５５）、ステップＳ５３に戻る。
【００７４】
（ステップＳ５６）
次に、ステップＳ５４で取得した時刻をもとに、車両Ａ２の情報通信部５を介して、車両Ａ１及び車両Ａ３のデータベース１５に記憶されている走行情報を問い合わせる。
そして、問合せを受けた車両Ａ１及び車両Ａ３の制御処理部６が、データベース１５に記録されている走行情報のうち、問合せを受けた時刻に対応するものを車両Ａ２に出力する。
【００７５】
（ステップＳ５７）
車両Ａ２の制御処理部６は、ステップＳ５６で受け付けた走行情報について、ハッシュ値を演算し、ステップＳ５４で取得したハッシュ値と比較する。
比較の結果、一致していれば、ステップＳ５６で取得した車両Ａ１及び車両Ａ３の走行情報をもとに、制御条件を決定する。
比較の結果、一致しなければ、車両Ａ１又は車両Ａ３の走行情報が改ざんされた可能性があるため、本システムでは解決できないことから、全列車を緊急停止させ、本運行管理方法を終了する。
【００７６】
本実施形態の運行管理システム３１及び運行管理方法によれば、第２の実施形態と同様に、各ノードＢのデータベース７には、走行情報自体は記録されておらず、走行情報のハッシュ値しか記憶されていないので、各ノードＢのデータベース７に記憶される情報量を少なくすることができる。
加えて、本実施形態では、ブロックを登録するプロセスにおいて、各車両ＡのノードＢから出力される情報は、走行情報のハッシュ値のみであり、走行情報そのものを出力しないで済むことから、通信負荷を下げることができ、処理速度を向上させることができる。
【００７７】
また、本実施形態によっても、データベース７に登録された内容につき、害意ある外部の者によって改ざんされたとしても、改ざんを検知することができる。
また、データベース７に記憶されている走行情報は、ブロックごとに記憶されているところ、前後のブロックはハッシュ値によって連続性が担保されているので、ハッシュ値を根拠に改ざんを検出することができる。
【００７８】
［第４の実施形態］
次に、本発明の第４の実施形態の運行管理システム４１及び運行管理方法について説明する。
本実施形態の運行管理システム４１は、図１６に示すように、第１の実施形態の運行管理システム１に加えて、地上側に複数のチェックセンサ１６を設けた点に特徴があり、第１の実施形態と同様な部分については説明を省略する。
各チェックセンサ１６は、軌道上の特定地点に設けられたセンサ、カメラ、アクセルカウンタ等を備えており、当該地点に車両Ａが存在するか否かを検出し、この検出結果を各車両Ａに通知する。
また、本実施形態の運行管理方法は、常時、各チェックセンサ１６によって、車両Ａの有無を検出し、この検出結果を各車両Ａに通知する。
【００７９】
本実施形態では、常時、チェックセンサ１６によって車両Ａの有無を検出しているので、各ノードＢのデータベース７に記憶された走行情報が正しいか否かを確認することができ、より安全性を向上させることができる。
【００８０】
［第５の実施形態］
次に、本発明の第５の実施形態の運行管理システム及び運行管理方法について説明する。
本実施形態の運行管理システムは、第４の実施形態と同様に、地上側に複数のチェックセンサ１６を設けているが、運行管理方法が第４の実施形態と異なる。以下の説明では、上述の実施形態と同様の部分については適宜説明を省略する。
【００８１】
（ステップＳ６１）
本実施形態では、まず、図１７に示すように、任意の車両Ａからの交信が遮断していないかを、各車両Ａの制御処理部６が確認する。交信が途絶していない場合は、遮断するまで本ステップを繰り返す。
【００８２】
（ステップＳ６２）
ステップＳ６１での結果、交信が遮断した車両Ａが存在した場合、データベース７に保存されている最新の走行情報から、交信が遮断した車両Ａの位置を特定する。例えば、車両Ａ２との交信が遮断したのであれば、最新の走行情報には遮断直前の車両Ａの位置情報が記憶されていることから、この情報をもとに車両Ａ２の位置情報を特定する。
【００８３】
（ステップＳ６３）
次に、ステップＳ６２で特定された位置情報をもとに、付近のチェックセンサ１６によって、車両Ａの有無を検出する。
【００８４】
（ステップＳ６４）
ステップＳ６３にて車両を検知した場合、チェックセンサ１６は、車両Ａを検知した旨を各車両ＡのノードＢに出力する。ここで、車両Ｂを検知した旨の情報は、チェックセンサ１６の置かれている位置に車両Ａが存在することを知らせる情報であり、車両Ａの位置情報に該当するので、走行情報に該当する。
【００８５】
（ステップＳ６５）
次に、各車両ＡのノードＢに含まれる合意判定部８は、ステップＳ６４によって出力されたチェックセンサ１６からの走行情報について、共有するための所定の合意条件を満たしているか否かを判定する。
合意条件としては、例えば、真正にチェックセンサ１６から出力した走行情報か否かといった条件を例示することができる。
判定の結果、合意条件を満たしていると判断した場合は、合意判定部８は、各ノードＢに対して、ステップＳ６４で出力された走行情報を承認する旨の出力をする。
【００８６】
（ステップＳ６６）
次に、ステップＳ６５にて、各ノードＢから出力された走行情報を承認する旨の出力が、３分の２以上に達したか否かを確認する。
達していない場合は、車両Ａとは交信が遮断したが、車両Ａの位置は検出できない場合に該当するとして、後述するステップＳ６９に移行する。
【００８７】
（ステップＳ６７）
ステップＳ６６において、承認する旨の出力が３分の２以上に達した場合は、共有処理部９が当該走行情報をデータベース７に追加する。
また、各車両Ａの制御処理部６は、直ちに各車両Ａに対して、緊急アラートを発信するとともに、チェックセンサ１６の前後一定距離について、電気的に封鎖するように封鎖情報を発信する。一定距離としては、例えば１００ｍ程度を例示できる。
【００８８】
封鎖の仕方としては、適宜の方法が考えられるが、例えばチェックセンサ１６の後方で一定距離以内にある車両Ａについては直ちに停止し、前方で一定距離以内にある車両Ａについては、直ちに一定距離以上離れるよう前方に進行させることが考えられる。
【００８９】
（ステップＳ６８）
次に、ステップＳ６７での封鎖情報をもとに、各車両Ａの制御処理部６は、自車両Ａの制御条件や運行区間を適宜決定する。
例えば、チェックセンサ１６よりも一定距離以上後方にある車両Ａについては、その範囲内で折り返し輸送をし、一定距離以上前方にある車両Ａについては、その範囲内において折り返し輸送をすることが考えられる。
【００９０】
（ステップＳ６９）
ステップＳ６３にて、車両Ａを検知しない場合は、チェックセンサ１６は検知しない旨を各ノードＢに出力する。
これを受けて、各車両Ａの制御処理部６は、直ちに全車両Ａに対して、緊急アラートを発信するとともに、チェックセンサ１６の前後一定距離について、電気的に封鎖するように発信する。一定距離としては、ステップＳ６７にて定める距離よりも長くすることが好ましく、例えば５００ｍ程度を例示することができる。封鎖の仕方としては、ステップＳ３７と同様である。
【００９１】
（ステップＳ７０）
次に、ステップＳ６９での封鎖情報をもとに、各車両Ａの制御処理部６は、自車両Ａの制御条件や運行区間を適宜決定する。具体的にはステップＳ６８の場合と同様な方法で制御すればよい。
【００９２】
本実施形態によれば、故障等により通信が遮断される車両Ａがあった場合に、人によるチェックを排除し、自動的に緊急アラートを発信することができ、安全性を向上させることができる。また、残りの車両Ａについて、安全な範囲において自動的に運転を継続することができる。
【００９３】
なお、上述した運行管理システム１，２１，３１，４１における各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
【００９４】
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組
み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【産業上の利用可能性】
【００９５】
本発明は、車両の運行を管理するシステム全般について適用可能である。
【符号の説明】
【００９６】
１、２１、３１、４１・・・運行管理システム、２、２２・・・分散型記録システム、３、１５・・・走行情報取得部、４・・・記録要求部、５・・・情報通信部、６・・・制御処理部、７・・・データベース、８・・・合意判定部、９・・・共有処理部、１０・・・管理装置、１１・・・通信部、１２・・・走行情報データベース、１３・・・ハッシュ値形成部、１４・・・制御部、１６・・・チェックセンサ
【図１】
2018172019.tif 000003
【図２】
2018172019.tif 000004
【図３】
2018172019.tif 000005
【図４】
2018172019.tif 000006
【図５】
2018172019.tif 000007
【図６】
2018172019.tif 000008
【図７】
2018172019.tif 000009
【図８】
2018172019.tif 000010
【図９】
2018172019.tif 000011
【図１０】
2018172019.tif 000012
【図１１】
2018172019.tif 000013
【図１２】
2018172019.tif 000014
【図１３】
2018172019.tif 000015
【図１４】
2018172019.tif 000016
【図１５】
2018172019.tif 000017
【図１６】
2018172019.tif 000018
【図１７】
2018172019.tif 000019