交通管制プログラム、該プログラムを記録した記録媒体、ノード、および交通管制方法
【課題】障害発生時における交通管制システムの迅速な障害復旧を図ること。
【解決手段】自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断して、その結果、通信不能と判断された場合、第1のノードによって直接管理されている各ノードと対応付けられている管轄エリアの交通を管理する制御信号の送信要求を、前記第1のノードを管理する第2のノードに送信する。この結果、第2のノードから制御信号を受信することができるため、交通管制システム100を適切に維持することができる。
【解決手段】自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断して、その結果、通信不能と判断された場合、第1のノードによって直接管理されている各ノードと対応付けられている管轄エリアの交通を管理する制御信号の送信要求を、前記第1のノードを管理する第2のノードに送信する。この結果、第2のノードから制御信号を受信することができるため、交通管制システム100を適切に維持することができる。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、交通管制システムの障害復旧をおこなう交通管制プログラム、該プログラムを記録した記録媒体、ノード、および交通管制方法に関する。特に、広域にわたって信号灯器が制御不能となった場合に、障害発生から完全復旧までの交通管制をおこなう交通管制プログラム、該プログラムを記録した記録媒体、ノード、および交通管制方法に関する。
【背景技術】
【0002】
一般に、交通管制システムは、交通管制センターを頂点とする階層化構造を有している。具体的には、たとえば、交通管制システムは、交通管制センターに設置される情報処理装置と、当該情報処理装置から配信される制御信号を中継する複数のノードと、各所に点在する端末装置(たとえば、信号灯器、ビーコン、超音波式車両感知装置、交通情報表示装置など)と、から構成されている。
【0003】
交通管制システム内のあるノードが故障すると、そのノードの管理下にある端末装置が制御不能となってしまう。この状況が継続すると、時間の経過とともに交通障害(交通渋滞、交通事故など)が拡大してしまうため、迅速な障害復旧をおこなう技術が必要とされている。
【0004】
従来より、交通管制システム内の一部で何らかの障害が発生した場合に、代替用の迂回経路を確保する技術が提供されている(たとえば、下記特許文献1参照。)。具体的には、交通管制システム内のノードは、代替用の迂回経路に関する情報を記憶する迂回用回線DBを備えており、常用の回線の遮断を検知すると、迂回用回線DBを参照して、代替用の迂回経路を探索し、その迂回経路を使用して通信をおこなう。
【0005】
また、ノードを稼働系と待機系とからなる冗長構成にし、稼働系のいずれかのノードにおいて障害が発生した場合に、待機系のノードに系を切り替えて運用の引き継ぎをおこなう技術が提供されている(たとえば、下記特許文献2参照。)。
【0006】
【特許文献1】特開2002−222489号公報
【特許文献2】特開2001−243587号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した従来技術の特許文献1によれば、何らかの原因によって交通管制システム内のあるノードが故障してしまった場合などに、そのノードの管理下にある複数の端末装置(信号灯器など)が制御不能となる状況からの障害復旧については考慮されていなかった。
【0008】
このため、災害時などに、交通管制システムから複数の信号灯器が孤立するなどの広域にわたる障害が発生すると、障害復旧までに多大な時間を要してしまい、その結果、交通障害が拡大してしまうという問題があった。
【0009】
また、迂回用回線DBを破損した場合には、代替用の迂回経路を探索することができないため、迂回用回線DBの交換、あるいは補修などの修復作業が必要となる。このため、上記同様に、障害復旧までに多大な時間を要してしまい、その結果、交通障害が拡大してしまうという問題があった。
【0010】
また、上述した従来技術の特許文献2によれば、交通管制システム内のノードを稼働系と待機系とからなる冗長構成とするため、ノードの製造コストが増加してしまい、ひいては交通管制システムの保守運用コストの増加を招いてしまうという問題があった。
【0011】
この発明は、上述した従来技術による問題点を解消するため、障害発生時に、迅速な障害復旧をおこなうことにより、適切な交通管制システムを提供することができる交通管制プログラム、該プログラムを記録した記録媒体、ノード、および交通管制方法を提供することを目的とする。
【課題を解決するための手段】
【0012】
上述した課題を解決し、目的を達成するため、この発明にかかる交通管制プログラム、該プログラムを記録した記録媒体、ノード、および交通管制方法は、複数の管轄エリアからなる広域エリアの交通を管理する交通管制システムを構成する階層構造化されたノードに、当該ノードが対応づけられた管轄エリアの交通を管理する交通管制プログラム、該プログラムを記録した記録媒体、ノード、および交通管制方法であって、自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断し、通信不能と判断された場合、前記第1のノードによって直接管理されている各ノードが対応づけられている管轄エリアの交通を管理する制御信号の送信要求を、前記第1のノードを管理する第2のノードに送信し、前記送信要求が送信された結果、前記第2のノードから前記制御信号を受信し、受信された制御信号を、前記第1のノードによって直接管理されているノード群のうち前記自ノードとは異なる他ノードに転送することを特徴とする。
【0013】
この発明によれば、第1のノードとの通信が不能となると、第1のノードによって直接管理されているノード群によって暫定的なグループを形成し、そのグループ内のいずれかのノードが第1のノードの機能を代替することにより、自律的な交通管制をおこなうことができる。
【0014】
また、上記発明において、前記第1のノードとの通信が不能と判断された場合、前記第1のノードの代わりに前記ノード群を直接管理するマスタノードを当該ノード群の中から決定し、前記自ノードがマスタノードに決定された場合、前記送信要求を前記第1のノードを管理する第2のノードに送信することとしてもよい。
【0015】
また、上記発明において、前記第1のノードとの通信が不能と判断された時刻に基づいて、前記ノード群の中から前記マスタノードを決定することとしてもよい。
【0016】
これらの発明によれば、マスタノードに決定されたノードがゲートウェイとなって第1のノードの機能を代替することにより、グループを管理するノードが無秩序に存在してしまうことを防ぐことができ、円滑かつ効率的な交通管制をおこなうことができる。
【0017】
また、上記発明において、前記第1のノードとの通信が不能と判断された場合、前記ノード群のうち前記第1のノードとの通信が不能となったノードを検出し、検出されたノードと対応付けられている管轄エリアの交通を管理する制御信号の送信要求を、前記第1のノードを管理する第2のノードに送信することとしてもよい。
【0018】
また、上記発明において、前記第1のノードとの通信が不能と判断された場合、前記ノード群のうち前記自ノードと直接接続されたノード(以下、「隣接ノード」という)に、前記第1のノードとの通信が不能となったノードの探索要求を送信し、前記探索要求が送信された結果、前記第1のノードとの通信が不能となったノードを特定するノード情報を含む探索応答を前記隣接ノードから受信し、そのノード情報によって特定されるノードを検出することとしてもよい。
【0019】
これらの発明によれば、第1のノードによって直接管理されているノード群のうち、第1のノードとの通信が不能となったノードからなるグループを形成し、そのグループによる自律的な交通管制をおこなうことができる。
【0020】
また、この発明にかかる交通管制プログラム、該プログラムを記録した記録媒体、ノード、および交通管制方法は、複数の管轄エリアからなる広域エリアの交通を管理する交通管制システムを構成する階層構造化されたノードに、当該ノードが対応付けられている管轄エリアの交通を管理する交通管制プログラム、該プログラムを記録した記録媒体、ノード、および交通管制方法であって、自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断し、前記第1のノードによって直接管理されているノード群のうち、前記自ノードと直接接続されたノード(以下、「隣接ノード」という)から、前記第1のノードとの通信が不能となったノードの探索要求を受信し、前記探索要求を受信した場合、前記判断結果に基づいて、前記第1のノードとの通信が不能となったノードを特定するノード情報を含む探索応答を前記隣接ノードに送信し、前記探索応答が送信された結果、前記自ノードと対応付けられている管轄エリアの交通を管理する制御信号を前記隣接ノードから受信することを特徴とする。
【0021】
この発明によれば、第1のノードとの通信が不能となった場合に、第1のノードによって直接管理されているノード群によって暫定的なグループを形成し、そのグループ内のマスタノードから転送される制御信号を隣接ノードから受信することができる。
【0022】
また、上記発明において、前記探索要求を受信した場合、前記隣接ノードとは異なる他の隣接ノードの存否を判定し、存在すると判定された場合、前記他の隣接ノードに前記探索要求を送信し、前記探索要求が送信された結果、前記他の隣接ノードから前記ノード情報を含む探索応答を受信し、前記判断結果に基づいて、受信されたノード情報を含む探索応答を前記隣接ノードに送信することとしてもよい。
【0023】
また、上記発明において、存在しないと判定された場合、前記判断結果に基づいて、前記ノード情報を含む探索応答を前記隣接ノードに送信することとしてもよい。
【0024】
これらの発明によれば、第1のノードとの通信が不能となったノードの探索要求を第1のノードによって直接管理されているノード間で伝播させることができる。
【発明の効果】
【0025】
本発明にかかる交通管制プログラム、該プログラムを記録した記録媒体、ノード、および交通管制方法によれば、障害発生時に、迅速な障害復旧をおこなうことにより、適切な交通管制システムを提供することができるという効果を奏する。
【発明を実施するための最良の形態】
【0026】
以下に添付図面を参照して、この発明にかかる交通管制プログラム、該プログラムを記録した記録媒体、ノード、および交通管制方法の好適な実施の形態を詳細に説明する。
【0027】
(交通管制システムのシステム構成)
まず、この発明の実施の形態にかかる交通管制システムのシステム構成について説明する。図1は、この発明の実施の形態にかかる交通管制システム100のシステム構成図である。図1において、交通管制システム100は、情報処理装置101と、複数のノード(図1では9台)102−1〜102−9と、複数の信号灯器(図1では5台)103−1〜103−5とがインターネット、LAN、WANなどのネットワーク110を介して相互に交信可能に接続されている。
【0028】
交通管制システム100は、道路交通に関する情報の収集、伝達などを一元的におこない、広域エリアの交通の安全および円滑化、環境の保護などを実現するシステムである。具体的には、交通管制システム100は、階層構造化されたノード102−1〜102−9により、各ノードが設置されたまたは各ノードが対応づけられた管轄エリアの交通を管理させる。
【0029】
情報処理装置101は、交通管制センターに設置されるコンピュータ装置であり、各管轄エリア内に設置された信号灯器103などの端末装置を制御する機能を有している。情報処理装置101は、たとえば、各管轄エリア内の交通状況に応じて、道路交通に関する制御信号を決定し、その制御信号を信号灯器103に配信して、各管轄エリア内の信号灯器103をコントロールしている。
【0030】
ノード102−1〜102−9は、自ノードよりも下位層に属するノードを管理する機能を有するコンピュータ装置であり、ルータやサーバなどである。具体的には、各ノードに記憶された配信表に基づいて、上位ノードから送信されてきた制御信号を自ノードの管理下にある下位ノードに配信する機能(ダウンリンク)を有している。また、下位ノードから送信されてきた各種信号を自ノードを直接管理する上位ノードに送信する機能(アップリンク)を有している。
【0031】
各ノードは、何らかの原因によって上位ノードとの通信が途絶した場合、同一階層に属するノード群によってグループを形成する機能を有している。また、各ノードは、グループの管理をおこなうマスタノードとして稼働することができ、マスタノードとして決定された場合にはマスタノードとして稼働する。一方、自ノード以外の他ノードがマスタノードに決定された場合には、マスタノードとして稼働しているノードによって管理される。
【0032】
信号灯器103−1〜103−5は、交差点などの道路上に設置されるコンピュータ装置であり、交通の安全を確保するため、進行停止などの信号を示す機能を有している。
ここでは、各管轄エリア内に設置された端末装置として、信号灯器103−1〜103−5を例に挙げて説明したが、交通情報表示装置、可変標識、光ビーコン、および超音波検出器などであってもよい。
【0033】
(コンピュータ装置のハードウェア構成)
つぎに、図1に示す情報処理装置101、ノード102−1〜102−9および信号灯器103−1〜103−5(以下、「情報処理装置101など」という)のハードウェア構成について説明する。図2は、この発明の実施の形態にかかる情報処理装置101などのハードウェア構成を示す説明図である。
【0034】
図2において、情報処理装置101などは、コンピュータ本体210と、入力装置220と、出力装置230と、から構成されており、不図示のルータやモデムを介してLAN、WANやインターネットなどのネットワーク110に接続可能である。
【0035】
コンピュータ本体210は、CPU、メモリ、インタフェースを有する。CPUは、情報処理装置101などのハードウェア構成の全体の制御を司る。メモリは、ROM、RAM、HD、光ディスク211、フラッシュメモリから構成される。メモリはCPUのワークエリアとして使用される。
【0036】
また、メモリには各種プログラムが格納されており、CPUからの命令に応じてロードされる。HDおよび光ディスク211はディスクドライブによりデータのリード/ライトが制御される。また、光ディスク211およびフラッシュメモリはコンピュータ本体210に対し着脱自在である。インタフェースは、入力装置220からの入力、出力装置230への出力、ネットワーク110に対する送受信の制御をおこなう。
【0037】
また、入力装置220としては、キーボード221、マウス222、スキャナ223などがある。キーボード221は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式であってもよい。マウス222は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。スキャナ223は、画像を光学的に読み取る。読み取られた画像は画像データとして取り込まれ、コンピュータ本体210内のメモリに格納される。なお、スキャナ223にOCR機能を持たせてもよい。
【0038】
また、出力装置230としては、ディスプレイ231、スピーカ232、プリンタ233などがある。ディスプレイ231は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。また、スピーカ232は、効果音や読み上げ音などの音声を出力する。また、プリンタ233は、画像データや文書データを印刷する。
【0039】
(メモリテーブルの記憶内容)
つぎに、図1に示すノード102−1〜102−9が保持しているメモリテーブル300について説明する。以下、上位ノードとの通信が途絶した場合に形成されるグループ内の各ノードが保持しているメモリテーブル300の記憶内容について説明する。図3は、メモリテーブルの記憶内容を示す説明図(その1)である。
【0040】
図3において、メモリテーブル300は、各ノード102−1〜102−9が備えるインタフェースごとに、インタフェースID、伝送方向、終端、隣接ノードIDおよび登録状態に関する情報を格納している。インタフェースIDは、各ノード102−1〜102−9が備えるインタフェースを識別する識別情報である。
【0041】
伝送方向は、後述するグループ化を促すメッセージデータの伝送方向を示している。たとえば、自ノードにメッセージデータが送信されてきた場合の伝送方向は「in」、自ノードからメッセージデータを送信した場合の伝送方向は「out」となる。終端は、メッセージデータの伝送先のノードの存否を示す情報である。たとえば、メッセージデータの伝送先が存在する場合は「none」、伝送先が存在しない場合は「yes」となる。
【0042】
隣接ノードIDは、自ノードと直接接続されている隣接ノードを識別する識別情報である。各ノード102−1〜102−9が備えるインタフェースを介して、直接接続されている隣接ノードが存在する場合は、その隣接ノードのノードID(たとえば、「00243」)、隣接ノードが存在しない場合は「none」となる。
【0043】
登録状態は、グループを形成する場合における各ノードの登録状態を示す情報である。たとえば、グループに仮登録された場合は「仮」、グループに本登録された場合は「完了」となる。なお、登録状態についての詳細な説明は後述する。
【0044】
つぎに、上位ノードとの通信が途絶した場合に形成されるグループ内のマスタノードが保持しているメモリテーブル400のデータ構造について説明する。図4は、メモリテーブルの記憶内容を示す説明図(その2)である。図4において、メモリテーブル400は、マスタノードが備えるインタフェースごとに、インタフェースID、グループID、隣接ノードIDおよび登録状態に関する情報を格納している。
【0045】
インタフェースIDは、マスタノードが備えるインタフェースを識別する識別情報である。グループIDは、マスタノードが直接管理しているグループを識別する識別情報である。隣接ノードIDは、自ノードと直接接続されている隣接ノードを識別する識別情報である。登録状態は、グループを形成する場合における各ノードの登録状態を示す情報である。
【0046】
また、メモリテーブル400は、各グループを構成するノード群を特定するノードリストを保持している。図5は、ノードリストの一例を示す説明図である。図5において、ノードリスト500は、マスタノードが直接管理しているグループごとに、各グループを構成するノードを識別するノードIDを記憶している。
【0047】
ここで、グループID「001」によって特定されるグループを例に挙げると、このグループを構成する各ノードのノードID「00434」,「00824」,「00920」および「00921」を記憶している。なお、ノードリスト500内の未使用の項目は「未使用」と表記され、グループを構成するノードが新たに追加された場合などに、この未使用の項目を使用して追加されたノードのノードIDが登録されることとなる。
【0048】
(ノード102−1〜102−9の機能的構成)
つぎに、この発明の実施の形態にかかるノード102−1〜102−9(以下、「ノード102」という)の機能的構成について説明する。図6は、この発明の実施の形態にかかるノード102の機能的構成を示すブロック図である。
【0049】
ノード102は、複数の管轄エリアからなる広域エリアの交通を管理する交通管制システム100を構成し、階層構造化され、自ノードと対応付けられている管轄エリアの交通を管理する機能を有する。
【0050】
図6において、ノード102は、メモリテーブル(300,400)と、判断部601と、送信部602と、受信部603と、転送部604と、決定部605と、検出部606と、判定部607と、を備えている。
【0051】
これら各機能601〜607は、メモリに格納された当該機能に関するプログラムをCPUに実行させることにより、当該機能を実現することができる。また、各機能601〜607からの出力データはメモリに保持される。また、図6中矢印で示した接続先の機能的構成は、接続元の機能からの出力データをメモリから読み込んで、当該機能に関するプログラムをCPUに実行させる。
【0052】
図6において、まず、判断部601は、自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断する機能を有する。自ノードと第1のノードとの通信が不能となる原因としては、たとえば、第1のノードの故障や、第1のノードと当該第1のノードを直接管理するノードとの間の物理的な通信網の断線などがある。
【0053】
判断部601は、たとえば、一定時間、自ノードが設置された(または、自ノードと対応付けられている)管轄エリアの交通を管理する制御信号が第1のノードから送信されてこなかった場合に、第1のノードとの通信が不能となったと判断することとしてもよい。
【0054】
具体的には、ノード102内部に搭載されたタイマをセットし、第1のノードからの制御信号を受信してからの経過時間を計測する。このあと、新たな制御信号が所定時間内に送信されてきた場合、通信が不能となっていないと判断する。一方、新たな制御信号が所定時間内に送信されてこなかった場合、通信が不能となっていると判断する。
【0055】
ここで、制御信号とは、管理下にある信号灯器103−1〜103−5の挙動を制御するサイクル、スプリット、オフセットなどの信号(信号機を制御するパラメータ)であってもよく、また、交通渋滞、交通事故、旅行時間などの道路交通に関する各種情報であってもよい。
【0056】
図1に示す交通管制システム100を例に挙げると、たとえば、自ノードをノード102−6とすると、第1のノードはノード102−3となり、また、自ノードの管理下にある信号灯器は信号灯器103−2となる。なお、判断部601によって判断された判断結果はメモリに記憶される。
【0057】
送信部602は、判断部601によって通信不能と判断された場合、第1のノードによって直接管理されている各ノードが設置された管轄エリアの交通を管理する制御信号の送信要求を、第1のノードを管理する第2のノードに送信する機能を有する。このとき使用される回線は、交通管制システム100を構成する通常の回線種別とは、物理的、論理的に異なる非常用回線である。なお、この非常用回線は、制御信号を疎通させるプロトコルスタックを持つこととする。
【0058】
具体的には、送信部602は、メモリから判断部601による判断結果を読み出して、その判断結果が通信不能であった場合に、制御信号の送信要求を第2のノードに送信する。第2のノードとは、第1のノードを管理下におくノードであればよく、たとえば、第1のノードを直接管理するノードであってもよく、また、交通管制センターに設置される情報処理装置101であってもよい。
【0059】
たとえば、自ノードをノード102−6とすると、ノード102−3によって直接管理されているノード群を構成するノード102−5,102−6,102−7が設置された管轄エリアの交通を管理する制御信号の送信要求を、ノード102−1に送信する。
【0060】
なお、第1のノードによって直接管理されているノード群を構成する各ノードを識別するノードIDは、各ノードのメモリに予め記憶されていてもよい。この場合、送信部602は、メモリから判断部601による判断結果とともに、ノード群を構成する各ノードのノードIDを読み出して、制御信号の送信要求を第2のノードに送信する。
【0061】
また、送信部602は、後述する検出部606による検出結果を参照することにより、第1のノードによって直接管理されているノード群を構成する各ノードを特定することとしてもよい。
【0062】
受信部603は、送信部602によって送信要求が送信された結果、第2のノードから制御信号を受信する機能を有する。たとえば、送信要求が送信された結果、ノード102−5,102−6,102−7が設置された管轄エリアの交通を管理する制御信号をノード102−1から受信する。なお、受信部603によって受信された制御信号はメモリに記憶される。
【0063】
転送部604は、受信部603によって受信された制御信号を、ノード群を構成するノードのうち自ノードとは異なる他ノードに転送する機能を有する。具体的には、転送部604は、メモリから受信部603によって受信された制御信号、および当該制御信号の分配先が記述された分配表を読み出して、その分配表に基づいて制御信号を他ノードに転送する。
【0064】
たとえば、自ノードをノード102−6とすると、分配表に基づいて、ノード102−3によって直接管理されているノード群を構成するノード102−5,102−7に制御信号を分配して転送する。また、分配先のノードと直接接続されていない場合には、自ノードと直接接続されたノードを介して制御信号を分配先のノードに転送することとしてもよい。
【0065】
たとえば、ノード102−5からノード102−7に制御信号を転送する場合には、ノード102−6を介して転送することとなる(ノード102−5→ノード102−6→ノード102−7の順に転送される)。なお、分配表は、メモリに予め記憶されていてもよく、また、受信部603によって制御信号とともに第2のノードから受信して、メモリに記憶することとしてもよい。
【0066】
決定部605は、判断部601によって通信不能と判断された場合、第1のノードの代わりにノード群を直接管理するマスタノードを当該ノード群の中から決定する機能を有する。ここでは、ノード群のうちいずれかのノードがマスタノードとして稼働し、ゲートウェイの役割を果たすことにより、第1のノードに替わってノード群を管理する。
【0067】
具体的には、決定部605は、メモリから判断部601による判断結果を読み出して、その判断結果が通信不能であった場合に、ノード群の中からマスタノードを決定する。決定部605によるマスタノードの決定手法は、第1のノードによって直接管理されているノード群においてマスタノードが一意的に決定される手法であればよい。
【0068】
たとえば、決定部605は、判断部601によって通信不能と判断された時刻に基づいてマスタノードを決定することとしてもよい。具体的には、自ノードと第1のノードとの通信が不能となった時刻と、他ノードと第1のノードとの通信が不能となった時刻と、を比較して、その比較結果に基づいてマスタノードを決定する。
【0069】
第1のノードと通信不能となった時刻を特定するタイムスタンプは、たとえば、後述する探索要求(グループ化を促すメッセージデータ)に付加される。決定部605は、そのタイムスタンプを用いて、各ノードと第1のノードとの通信が不能となった時刻を判断し、その時刻が最も早いノードを特定して、そのノードをマスタノードに決定する。なお、各ノード102における時刻は同期が取られていることとする。
【0070】
また、決定部605は、第1のノードとの通信が不能となった各ノードを識別する識別情報に基づいてマスタノードを決定することとしてもよい。たとえば、各ノードを識別する識別情報として各ノードに付与されるノードIDのID番号が、最も小さい(または、大きい)ノードをマスタノードに決定する。
【0071】
また、送信部602は、決定部605によってマスタノードに決定された場合、第1のノードによって直接管理されている各ノードが設置された管轄エリアの交通を管理する制御信号の送信要求を、第1のノードを管理する第2のノードに送信することとしてもよい。
【0072】
検出部606は、判断部601によって通信不能と判断された場合、ノード群のうち第1のノードとの通信が不能となったノードを検出する機能を有する。具体的には、検出部606は、メモリから判断部601による判断結果を読み出して、その判断結果が通信不能であった場合に、ノード群のうち第1のノードとの通信が不能となったノードを検出する。
【0073】
ここで、検出部606による検出手法の一例について説明する。まず、送信部602により、判断部601によって通信不能と判断された場合、ノード群のうち自ノードと直接接続されたノード(以下、「隣接ノード」という)に、第1のノードとの通信が不能となったノードの探索要求を送信する。
【0074】
具体的には、たとえば、送信部602は、第1のノードとの通信が不能となったノードの探索要求とともに、グループ化を促すメッセージデータを隣接ノードに送信する。すなわち、第1のノードとの通信が不能となったことにより、交通管制システム100内で孤立しているノードに対して、グループ化を促すメッセージデータを送信する。
【0075】
探索要求(メッセージデータ)には、第1のノードとの通信が不能となったノードを識別するノードIDを記述するノード情報(たとえば、図5に示したノードリスト500)が含まれている。送信部602は、自ノードを識別するノードIDが記述されたノード情報を、第1のノードとの通信が不能となったノードの探索要求として隣接ノードに送信する。
【0076】
つぎに、受信部603により、送信部602によって探索要求が送信された結果、第1のノードとの通信が不能となったノードを特定するノード情報を含む探索応答を隣接ノードから受信する。このノード情報には、第1のノードとの通信が不能となったノードを識別するノードIDが記述されている。なお、受信部603によって受信された探索応答はメモリに記憶される。
【0077】
そして、検出部606により、メモリから受信部603によって受信された探索応答を読み出して、その探索応答に含まれるノード情報によって特定されるノードを、第1のノードとの通信が不能となったノードとして検出する。
【0078】
つぎに、上述した第1のノードとの通信が不能となったノードの探索要求を自ノードが受信する場合について説明する。まず、受信部603は、第1のノードによって直接管理されているノード群のうち、自ノードと直接接続されたノード(以下、「隣接ノード」という)から、第1のノードとの通信が不能となったノードの探索要求を受信する機能を有する。受信部603によって受信された探索要求はメモリに記憶される。
【0079】
送信部602は、受信部603によって探索要求を受信した場合、判断部601によって判断された判断結果に基づいて、第1のノードとの通信が不能となったノードを特定するノード情報を含む探索応答を隣接ノードに送信する機能を有する。具体的には、送信部602は、メモリから受信部603によって受信された探索要求、および判断部601によって判断された判断結果を読み出して、その判断結果に基づいて、ノード情報を含む探索応答を隣接ノードに送信する。
【0080】
より具体的には、送信部602は、判断部601によって第1のノードとの通信が不能と判断された場合、自ノードを識別するノードIDが付加されたノード情報を含む探索応答を隣接ノードに送信する。また、判断部601によって第1のノードとの通信が不能と判断されなかった場合、探索応答を隣接ノードに送信しなくてもよく、また、自ノードを識別するノードIDが付加されていないノード情報を含む探索応答を隣接ノードに送信することとしてもよい。
【0081】
また、受信部603は、送信部602によって探索応答が送信された結果、自ノードが設置された管轄エリアの交通を管理する制御信号を隣接ノードから受信する機能を有する。具体的には、受信部603は、第1のノードとの通信が不能となった場合に、自ノードが設置された管轄エリアの交通を管理する制御信号を隣接ノードから受信する。
【0082】
判定部607は、受信部603によって探索要求を受信した場合、隣接ノードとは異なる他の隣接ノードの存否を判定する機能を有する。具体的には、たとえば、判定部607は、図3に示したメモリテーブル300を参照することにより、自ノードと直接接続され、探索要求の送信元の隣接ノードとは異なる他の隣接ノードが存在するか否かを判定する。
【0083】
より具体的には、たとえば、自ノードに備えられているインタフェースを認識し、探索要求の送信元の隣接ノードが接続されているインタフェースとは異なるインタフェースと接続された他の隣接ノードが存在するか否かを判定する。判定部607によって判定された判定結果はメモリに記憶される。
【0084】
また、送信部602は、判定部607によって他の隣接ノードが存在すると判定された場合、他の隣接ノードに探索要求を送信する機能を有する。具体的には、送信部602は、メモリから判定部607によって判定された判定結果を読み出して、他の隣接ノードが存在する判定結果であった場合、メモリテーブル300によって特定される他の隣接ノードに探索要求を送信する。
【0085】
また、受信部603は、送信部602によって探索要求が送信された結果、他の隣接ノードからノード情報を含む探索応答を受信する機能を有する。また、送信部602は、判断部601によって判断された判断結果に基づいて、受信部603によって受信されたノード情報を含む探索応答を隣接ノードに送信する機能を有する。
【0086】
具体的には、たとえば、送信部602は、第1のノードとの通信が不能と判断された場合には、他の隣接ノードから送信されてきたノード情報に自ノードを識別するノードIDを付加して、そのノード情報を含む探索応答を隣接ノードに送信する。一方、第1のノードとの通信が不能と判断されなかった場合には、他の隣接ノードから送信されてきたノード情報を含む探索応答を隣接ノードに送信することとしてもよい。
【0087】
また、送信部602は、判定部607によって存在しないと判定された場合、判断部601によって判断された判断結果に基づいて、ノード情報を含む探索応答を隣接ノードに送信することとしてもよい。
【0088】
(グループ形成の具体例)
つぎに、第1のノードとの通信が不能となった場合に、第1のノードによって直接管理されているノード群によって暫定的なグループを形成する具体例について説明する。このグループは、マスタノードを起点として、第1のノードとの通信が不能となったノードの探索要求を隣接するノードに伝播させていくことにより形成される。
【0089】
図7は、グループ形成の一例を示す説明図(その1)である。図7において、何らかの原因によって上位ノードとの通信が途絶したため、交通管制システム100(図1参照)内でノード102−a〜ノード102−iが孤立した状態となっている。ここで、ノード102−a〜ノード102−iのうち、ノード102−aはマスタノードとして稼働しており、グループ700の管理をおこなっている。
【0090】
以下、グループ700を形成する場合の各ノード102−a〜ノード102−iにおいて実行される処理の概要について説明する。グループ700を形成するために、まず、マスタノードであるノード102−aは、自ノードに直接接続されている隣接ノードにグループ化を促すメッセージデータを送信する。
【0091】
このメッセージデータは、図6に示した送信部602によって送信される第1のノードとの通信が不能となったノードの探索要求に相当する。ここでは、ノード102−aの送信部602により、隣接ノードであるノード102−bおよびノード102−fにグループ化を促すメッセージデータが送信される。
【0092】
ノード102−bは、メッセージデータを受信すると、ノード102−aとは異なる他の隣接ノードであるノード102−cの存在を判定し、メッセージデータをノード102−cに送信する。このとき、ノード102−bは、メッセージデータに自ノードを識別するノードIDを付加して、そのメッセージデータをノード102−cに送信する。
【0093】
また、ノード102−bは、メッセージデータの送受信にともなって、メモリテーブル300の記憶内容を更新する。具体的には、ノード102−aからメッセージデータを受信すると、ノード102−aが接続されているインタフェースの欄の記憶内容を更新する。
【0094】
ここでは、外部からの入力のため、伝送方向を「in」とし、登録状態を「仮」とする。また、メッセージデータをノード102−cに送信すると、ノード102−cが接続されているインタフェースの欄の記憶内容を更新する。ここでは、装置からの信号出力のため、伝送方向を「out」とし、登録状態を「仮」とする。
【0095】
同様に、ノード102−c、ノード102−d、ノード102−eにおいても、メッセージデータの送受信、およびそれにともなうメモリテーブル300の更新がおこなわれる。なお、ノード102−eは、ノード102−dとは異なる他の隣接ノードが存在しないため、自ノードを識別するノードIDが付加されたメッセージデータをノード102−dに送信することとなる。
【0096】
ここで、ノード102−eが保持するメモリテーブル300の記憶内容について説明する。図8は、メモリテーブルの記憶内容を示す説明図(その3)である。図8において、ノード102−eからノード102−dにメッセージデータが送信された結果、ノード102−eが保持するメモリテーブル800が示されている。
【0097】
具体的には、メッセージデータをノード102−dに送信すると、ノード102−dが接続されているインタフェースの欄の伝送方向を「out」とし、登録状態を「完了」とする。登録状態が「完了」となると、グループに本登録されたこととなる。また、ノード102−dとは異なる他の隣接ノードが存在しないため、もう一方のインタフェースの欄の伝送方向を「none」とし、終端を「yes」とし、隣接ノードを「none」とし、登録状態を「完了」とする。
【0098】
図7の説明に戻り、ノード102−dは、ノード102−eからメッセージデータを受信すると、メモリテーブル800の記憶内容を更新(登録状態を「完了」とする)し、そのメッセージデータをノード102−cに送信する。ノード102−cおよびノード102−bにおいても同様の処理を繰り返し、その結果、ノード102−aから送信されたメッセージデータが再びノード102−aに戻ってくることとなる。
【0099】
これにより、ノード102−a〜ノード102−eから構成されるサブグループ710が形成される。また、ノード102−aからノード102−fにメッセージデータを送信することにより、ノード102−aおよびノード102−f〜ノード102−iから構成されるサブグループ720が形成される。
【0100】
この結果、ノード102−aをマスタノードとする、サブグループ710およびサブグループ720からなるグループ700が形成される。マスタノードであるノード102−aは、通信不能となった上位ノードの機能を代替して、各ノード102−a〜ノード102−iが設置された管轄エリアの交通を管理する制御信号を受信して、各ノード102−a〜ノード102−iに配信する。
【0101】
このように、上位ノードとの通信が不能となると、その上位ノードによって直接管理されているノード群(ノード102−a〜ノード102−i)によって暫定的なグループ700を形成し、ノード102−aが上位ノードの機能を代替することにより、自律的な交通管制をおこなうことができる。
【0102】
なお、上述した例では、グループ700に対してマスタノードが1台存在することとしたが、必要に応じて2台以上のマスタノードを同一グループ内に存在させることも可能とする。なぜなら、障害発生時には、たとえば、図1に示す情報処理装置101とノード102−1〜102−9とを接続する通信経路の信頼性が不安定となっている可能性が高いため、通信状況に応じて複数の代替経路を確保することが望ましいからである。
【0103】
図9は、グループ形成の一例を示す説明図(その2)である。図9において、ノード102−a〜ノード102−iのうち、ノード102−aおよびノード102−jはマスタノードとして稼働しており、グループ900の管理をおこなっている。グループ900は、サブグループ910,920,930および940から構成されている。
【0104】
具体的には、ノード102−aは、サブグループ910およびサブグループ920からなるグループ900を管理している。また、ノード102−jは、サブグループ930およびサブグループ940からなるグループ900を管理している。このような場合、各ノード102−a〜ノード102−iが設置された管轄エリアの交通を管理する制御信号は、2台のマスタノード(ノード102−aおよびノード102−j)を経由して、各ノード102−a〜ノード102−iに複数回配信されることとなる。
【0105】
通常、各ノード102−a〜ノード102−iが複数経路から制御信号を重複して受信することはないが、障害発生時には、同一内容の制御信号を複数回受信することとなる。このような状況では、各ノード102−a〜ノード102−iは、既に受信した内容と同一内容の制御信号を受信した場合、その制御信号を無視することで、平常時と同様の動作をおこなうことができる。
【0106】
なお、複数のマスタノードが存在している状況下において、上位ノードとの通信が不能となったノードの探索要求を伝播させてサブグループを形成する場合、以下のような処理を実行することとしてもよい。たとえば、第1のマスタノードから送信された探索要求を、第2のマスタノードが受信すると、第2のマスタノードがサブグループの終端であると判断し、探索応答を隣接ノードに送信することとなる。
【0107】
具体的には、たとえば、サブグループ930を形成する場合、マスタノードであるノード102−aは、もう一つのマスタノードであるノード102−jからの探索要求を隣接するノード102−bから受信すると、自ノードを終端と判断し、自ノードを識別するノードIDを付加した探索応答をノード102−bに送信する。
【0108】
(交通管制システム100の障害復旧処理の概要)
つぎに、この発明の実施の形態にかかる交通管制システム100の障害復旧処理の概要について説明する。図10は、この発明の実施の形態にかかる交通管制システム100の障害復旧処理の概要を示す説明図である。図10において、交通管制センター(図1に示す情報処理装置101)からの制御信号が複数のノード102−1〜102−9を介して、信号灯器103−1〜103−5に配信されている。
【0109】
ここでは、ノード102−3(階層B)が故障したことにより、ノード102−5,102−6,102−7(階層C)によって管理されている管轄エリア(2)が交通管制システム100から孤立してしまい、交差点3,4,5に設置されている信号灯器103−1,103−2,103−3が制御不能となっている。このため、ノード102−5〜102−7によって暫定的なグループを形成し、ノード102−5をマスタノードとした障害復旧処理を実行する。
【0110】
まず、ノード102−3との通信が不能となったノード102−5,102−6,102−7の中からマスタノードを決定する。ここでは、ノード102−5がマスタノードに決定されている。そして、ノード102−5からのグループ化を促すメッセージデータを各ノード102−5,102−6,102−7に伝播させることにより、ノード102−5,102−6,102−7からなるグループ1000を形成する。
【0111】
つぎに、マスタノードであるノード102−5は、非常用回線を使用して、ノード102−3を直接管理しているノード102−1(階層A)に、管轄エリア(2)の交通を管理する制御信号の送信要求を送信する。その結果、ノード102−5は、管轄エリア(2)の交通を管理する制御信号をノード102−1から受信する。
【0112】
そして、ノード102−5は、制御信号に関する配信表を参照することにより、ノード102−6,102−7が設置された管轄エリア(2)の信号灯器103−2,103−3を管理する制御信号をノード102−6,102−7に配信する。
【0113】
この結果、各ノード102−5,102−6,102−7は、それぞれに管理下にある信号灯器103−1,103−2,103−3を制御するための制御信号を受信することができる。
【0114】
このように、自ノード(ノード102−5)を直接管理するノード102−3との通信が不能となった場合であっても、ノード102−5,102−6,102−7によって暫定的なグループを形成し、マスタノードであるノード102−5がゲートウェイとなってノード102−3の機能を代替することにより、管轄エリア(2)の交通を適切に管理することができる。
【0115】
(交通管制処理手順)
つぎに、この発明の実施の形態にかかる各ノード102−1〜102−9において実行される交通管制処理手順について説明する。まず、第1のノードによって直接管理されているノード群によって暫定的なグループを形成するグループ形成処理手順について説明する。図11は、図10に示したノード102−5〜102−7において実行されるグループ形成処理手順を示すシーケンス図である。
【0116】
図11に示す例は、図10に示したノード102−5〜102−7がノード102−3との通信不能により、ノード102−5〜102−7からなるグループを形成する動作シーケンスである。図11において、まず、ノード102−5の送信部602により、ノード102−3との通信が不能となったノードの探索要求をノード102−6に送信する(1)。この探索要求には、ノード102−5を識別するノードIDが付加されている。
【0117】
このあと、ノード102−6の判定部607により、探索要求の中継先となる隣接ノードがあるか否かを判定する(2)。ここでは中継先が存在するため、ノード102−6の送信部602により、探索要求をノード102−7に送信し(3)、メモリテーブル300の記憶内容を更新する(4)。この探索要求には、ノード102−5およびノード102−6を識別するノードIDが付加されている。
【0118】
つぎに、ノード102−7の判定部607により、探索要求の中継先となる隣接ノードがあるか否かを判定する(5)。ここでは中継先が存在しないため、ノード102−7の送信部602により、探索応答をノード102−6に送信し(6)、メモリテーブル300の記憶内容を更新する(7)。この探索応答には、ノード102−5,ノード102−6およびノード102−7を識別するノードIDが付加されている。
【0119】
このあと、ノード102−6の送信部602により、探索応答をノード102−5に送信し(8)、メモリテーブル300の記憶内容を更新する(9)。これにより、ノード102−5〜102−7からなるグループが形成され、最後に、ノード102−5の送信部602により、各ノード102−5〜102−7が設置された管轄エリアの交通を管理する制御信号の送信要求をノード102−1に送信する(10)。なお、各ノード102−5〜102−7の受信部603による処理の説明は省略している。
【0120】
つぎに、マスタノードに決定された各ノード102−1〜102−9において実行される交通管制処理手順について説明する。図12は、マスタノードにおいて実行される交通管制処理手順を示すフローチャートである。図12のフローチャートにおいて、まず、判断部601により、自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断する(ステップS1201)。
【0121】
ここで、第1のノードとの通信が不能と判断されるのを待って(ステップS1201:No)、通信不能と判断された場合(ステップS1201:Yes)、検出部606により、第1のノードによって直接管理されているノード群のうち第1のノードとの通信が不能となったノードの検出処理を実行する(ステップS1202)。
【0122】
このあと、送信部602により、検出部606によって検出されたノードが設置された管轄エリアの交通を管理する制御信号の送信要求を、第1のノードを管理する第2のノードに送信する(ステップS1203)。つぎに、受信部603により、送信部602によって送信要求が送信された結果、第2のノードから制御信号を受信する(ステップS1204)。
【0123】
最後に、転送部604により、制御信号の配信表に基づいて、受信部603によって受信された制御信号を、ノード群を構成するノードのうち自ノードとは異なる他ノード(隣接ノード)に転送して(ステップS1205)、本フローチャートによる一連の処理を終了する。
【0124】
ここで、図12に示したステップS1202における検出処理手順について説明する。図13は、ステップS1202における検出処理手順を示すフローチャートである。図13のフローチャートにおいて、まず、送信部602により、第1のノードによって直接管理されているノード群のうち自ノードと直接接続されたノード(以下、「隣接ノード」という)に、第1のノードとの通信が不能となったノードの探索要求を送信する(ステップS1301)。
【0125】
このあと、受信部603により、送信部602によって探索要求が送信された結果、第1のノードとの通信が不能となったノードを特定するノード情報を含む探索応答を隣接ノードから受信する(ステップS1302)。つぎに、検出部606により、受信部603によって受信された探索応答に含まれるノード情報によって特定されるノードを検出し(ステップS1303)、図12に示すステップS1203に移行する。
【0126】
このように、この発明の実施の形態にかかるノード102によれば、自ノードを直接管理する第1のノードとの通信が不能となると、第1のノードによって直接管理されているノード群によって暫定的なグループを形成し、そのグループ内のいずれかのノードがゲートウェイとなって第1のノードの機能を代替することにより、各管轄エリアの交通管制を適切に維持することができる。
【0127】
また、第1のノードとの通信が不能となったノード群の中から当該ノード群を管理するマスタノードを一意的に決定するため、ノード群を管理するノードが無秩序に存在してしまうことを防ぐことができ、円滑かつ効率的な交通管制をおこなうことができる。
【0128】
さらに、[背景技術]で示した従来技術のような、障害発生時に、まず、迂回用回線DBにアクセスして迂回経路を決定し、このあと、決定された迂回経路を使用して各ノードにアクセスする処理が不要となる。これにより、障害復旧に際して使用される通信資源の削減を実現することができる。
【0129】
また、障害発生時に、暫定的にグループを形成するため、障害復旧にかかる負荷を一極集中させることができ、障害対応時における動作管理が容易となる。
【0130】
なお、障害復旧が完了すると、通常の通信経路による制御信号(第1のノードからの制御信号)の配信が再開される。この場合、グループを構成する各ノードは、第1のノードからの制御信号と、マスタノードからの制御信号とを受信する状況に遭遇することとなる。このとき、各ノードは、第1のノードから送信されてくる制御信号を優先的に採用し、かつ、これを契機としてグループからの離脱を示す信号を隣接ノードに送信してグループから離脱することとしてもよい。
【0131】
以上説明したように、交通管制プログラム、該プログラムを記録した記録媒体、ノード、および交通管制方法によれば障害発生時に、迅速な障害復旧をおこなうことにより、適切な交通管制システムを提供することができる。
【0132】
なお、本実施の形態で説明した交通管制方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【0133】
また、本実施の形態で説明したノード102は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述したノード102の機能的構成(601〜607)をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、ノード102を製造することができる。
【0134】
(付記1)複数の管轄エリアからなる広域エリアの交通を管理する交通管制システムを構成する階層構造化されたノードに、当該ノードが対応付けられている管轄エリアの交通を管理させる交通管制プログラムであって、
自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断させる判断工程と、
前記判断工程によって通信不能と判断された場合、前記第1のノードによって直接管理されている各ノードと対応付けられている管轄エリアの交通を管理する制御信号の送信要求を、前記第1のノードを管理する第2のノードに送信させる送信工程と、
前記送信工程によって前記送信要求が送信された結果、前記第2のノードから前記制御信号を受信させる受信工程と、
前記受信工程によって受信された制御信号を、前記第1のノードによって直接管理されているノード群を構成するノードのうち前記自ノードとは異なる他ノードに転送させる転送工程と、
をコンピュータに実行させることを特徴とする交通管制プログラム。
【0135】
(付記2)前記判断工程によって通信不能と判断された場合、前記第1のノードの代わりに前記ノード群を直接管理するマスタノードを当該ノード群の中から決定させる決定工程を前記コンピュータに実行させ、
前記送信工程は、
前記決定工程によって前記自ノードがマスタノードに決定された場合、前記送信要求を前記第1のノードを管理する第2のノードに送信させることを特徴とする付記1に記載の交通管制プログラム。
【0136】
(付記3)前記決定工程は、
前記判断工程によって通信不能と判断された時刻に基づいて、前記ノード群の中から前記マスタノードを決定させることを特徴とする付記2に記載の交通管制プログラム。
【0137】
(付記4)前記決定工程は、
前記第1のノードによって直接管理されている各ノードに付与されるノードIDに基づいて、前記ノード群の中から前記マスタノードを決定させることを特徴とする付記2に記載の交通管制プログラム。
【0138】
(付記5)前記判断工程によって通信不能と判断された場合、前記ノード群のうち前記第1のノードとの通信が不能となったノードを検出させる検出工程を前記コンピュータに実行させ、
前記送信工程は、
前記検出工程によって検出されたノードと対応付けられている管轄エリアの交通を管理する制御信号の送信要求を、前記第1のノードを管理する第2のノードに送信させることを特徴とする付記1〜4のいずれか一つに記載の交通管制プログラム。
【0139】
(付記6)前記判断工程によって通信不能と判断された場合、前記ノード群のうち前記自ノードと直接接続されたノード(以下、「隣接ノード」という)に、前記第1のノードとの通信が不能となったノードの探索要求を送信させる探索要求送信工程と、
前記探索要求送信工程によって前記探索要求が送信された結果、前記第1のノードとの通信が不能となったノードを特定するノード情報を含む探索応答を前記隣接ノードから受信させる探索応答受信工程と、を前記コンピュータに実行させ、
前記検出工程は、
前記探索応答受信工程によって受信された探索応答に含まれるノード情報によって特定されるノードを検出させることを特徴とする付記5に記載の交通管制プログラム。
【0140】
(付記7)複数の管轄エリアからなる広域エリアの交通を管理する交通管制システムを構成する階層構造化されたノードに、当該ノードが対応付けられた管轄エリアの交通を管理させる交通管制プログラムであって、
自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断させる判断工程と、
前記第1のノードによって直接管理されているノード群のうち、前記自ノードと直接接続されたノード(以下、「隣接ノード」という)から、前記第1のノードとの通信が不能となったノードの探索要求を受信させる第1の受信工程と、
前記第1の受信工程によって前記探索要求を受信した場合、前記判断工程によって判断された判断結果に基づいて、前記第1のノードとの通信が不能となったノードを特定するノード情報を含む探索応答を前記隣接ノードに送信させる送信工程と、
前記送信工程によって前記探索応答が送信された結果、前記自ノードが対応付けられた管轄エリアの交通を管理する制御信号を前記隣接ノードから受信させる第2の受信工程と、
をコンピュータに実行させることを特徴とする交通管制プログラム。
【0141】
(付記8)前記第1の受信工程によって前記探索要求を受信した場合、前記隣接ノードとは異なる他の隣接ノードの存否を判定させる判定工程と、
前記判定工程によって存在すると判定された場合、前記他の隣接ノードに前記探索要求を送信させる探索要求送信工程と、
前記探索要求送信工程によって前記探索要求が送信された結果、前記他の隣接ノードから前記ノード情報を含む探索応答を受信させる探索応答受信工程と、を前記コンピュータに実行させ、
前記送信工程は、
前記判断工程によって判断された判断結果に基づいて、前記探索応答受信工程によって受信されたノード情報を含む探索応答を前記隣接ノードに送信させることを特徴とする付記7に記載の交通管制プログラム。
【0142】
(付記9)前記送信工程は、
前記判定工程によって存在しないと判定された場合、前記判断工程によって判断された判断結果に基づいて、前記ノード情報を含む探索応答を前記隣接ノードに送信させることを特徴とする付記8に記載の交通管制プログラム。
【0143】
(付記10)付記1〜9のいずれか一つに記載の交通管制プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
【0144】
(付記11)複数の管轄エリアからなる広域エリアの交通を管理する交通管制システムを構成し、階層構造化され、自ノードと対応付けられている管轄エリアの交通を管理するノードであって、
前記自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断する判断手段と、
前記判断手段によって通信不能と判断された場合、前記第1のノードによって直接管理されている各ノードと対応付けられている管轄エリアの交通を管理する制御信号の送信要求を、前記第1のノードを管理する第2のノードに送信する送信手段と、
前記送信手段によって前記送信要求が送信された結果、前記第2のノードから前記制御信号を受信する受信手段と、
前記受信手段によって受信された制御信号を、前記第1のノードによって直接管理されているノード群のうち前記自ノードとは異なる他ノードに転送する転送手段と、
を備えることを特徴とするノード。
【0145】
(付記12)複数の管轄エリアからなる広域エリアの交通を管理する交通管制システムを構成し、階層構造化され、自ノードと対応付けられている管轄エリアの交通を管理するノードであって、
前記自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断する判断手段と、
前記第1のノードによって直接管理されているノード群のうち、前記自ノードと直接接続されたノード(以下、「隣接ノード」という)から、前記第1のノードとの通信が不能となったノードの探索要求を受信する受信手段と、
前記受信手段によって前記探索要求を受信した場合、前記判断手段によって判断された判断結果に基づいて、前記第1のノードとの通信が不能となったノードを特定するノード情報を含む探索応答を前記隣接ノードに送信する送信手段と、を備え、
前記受信手段は、
前記送信手段によって前記探索応答が送信された結果、前記自ノードと対応付けられている管轄エリアの交通を管理する制御信号を前記隣接ノードから受信することを特徴とするノード。
【0146】
(付記13)複数の管轄エリアからなる広域エリアの交通を管理する交通管制システムを構成する階層構造化されたノードに、当該ノードと対応付けられている管轄エリアの交通を管理させる交通管制方法であって、
自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断する判断工程と、
前記判断工程によって通信不能と判断された場合、前記第1のノードによって直接管理されている各ノードと対応付けられている管轄エリアの交通を管理する制御信号の送信要求を、前記第1のノードを管理する第2のノードに送信する送信工程と、
前記送信工程によって前記送信要求が送信された結果、前記第2のノードから前記制御信号を受信する受信工程と、
前記受信工程によって受信された制御信号を、前記第1のノードによって直接管理されているノード群のうち前記自ノードとは異なる他ノードに転送する転送工程と、
を含んだことを特徴とする交通管制方法。
【0147】
(付記14)複数の管轄エリアからなる広域エリアの交通を管理する交通管制システムを構成する階層構造化されたノードに、当該ノードと対応付けられている管轄エリアの交通を管理させる交通管制方法であって、
自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断する判断工程と、
前記第1のノードによって直接管理されているノード群のうち、前記自ノードと直接接続されたノード(以下、「隣接ノード」という)から、前記第1のノードとの通信が不能となったノードの探索要求を受信する第1の受信工程と、
前記第1の受信工程によって前記探索要求を受信した場合、前記判断工程によって判断された判断結果に基づいて、前記第1のノードとの通信が不能となったノードを特定するノード情報を含む探索応答を前記隣接ノードに送信する送信工程と、
前記送信工程によって前記探索応答が送信された結果、前記自ノードと対応付けられている管轄エリアの交通を管理する制御信号を前記隣接ノードから受信する第2の受信工程と、
を含んだことを特徴とする交通管制方法。
【産業上の利用可能性】
【0148】
以上のように、本発明にかかる交通管制プログラム、該プログラムを記録した記録媒体、ノード、および交通管制方法は、公共性の高い交通管制システムに有用であり、特に、災害時など広域にわたって信号灯器が制御不能となった状況からの障害復旧に適している。
【図面の簡単な説明】
【0149】
【図1】この発明の実施の形態にかかる交通管制システム100のシステム構成図である。
【図2】この発明の実施の形態にかかる情報処理装置101などのハードウェア構成を示す説明図である。
【図3】メモリテーブルの記憶内容を示す説明図(その1)である。
【図4】メモリテーブルの記憶内容を示す説明図(その2)である。
【図5】ノードリストの一例を示す説明図である。
【図6】この発明の実施の形態にかかるノード102の機能的構成を示すブロック図である。
【図7】グループ形成の一例を示す説明図(その1)である。
【図8】メモリテーブルの記憶内容を示す説明図(その3)である。
【図9】グループ形成の一例を示す説明図(その2)である。
【図10】この発明の実施の形態にかかる交通管制システム100の障害復旧処理の概要を示す説明図である。
【図11】図10に示したノード102−5〜102−7において実行されるグループ形成処理手順を示すシーケンス図である。
【図12】マスタノードにおいて実行される交通管制処理手順を示すフローチャートである。
【図13】ステップS1202における検出処理手順を示すフローチャートである。
【符号の説明】
【0150】
100 交通管制システム
101 情報処理装置
102−1〜102−9 ノード
103−1〜103−5 信号灯器
300,400,800 メモリテーブル
500 ノードリスト
601 判断部
602 送信部
603 受信部
604 転送部
605 決定部
606 検出部
607 判定部
【技術分野】
【0001】
この発明は、交通管制システムの障害復旧をおこなう交通管制プログラム、該プログラムを記録した記録媒体、ノード、および交通管制方法に関する。特に、広域にわたって信号灯器が制御不能となった場合に、障害発生から完全復旧までの交通管制をおこなう交通管制プログラム、該プログラムを記録した記録媒体、ノード、および交通管制方法に関する。
【背景技術】
【0002】
一般に、交通管制システムは、交通管制センターを頂点とする階層化構造を有している。具体的には、たとえば、交通管制システムは、交通管制センターに設置される情報処理装置と、当該情報処理装置から配信される制御信号を中継する複数のノードと、各所に点在する端末装置(たとえば、信号灯器、ビーコン、超音波式車両感知装置、交通情報表示装置など)と、から構成されている。
【0003】
交通管制システム内のあるノードが故障すると、そのノードの管理下にある端末装置が制御不能となってしまう。この状況が継続すると、時間の経過とともに交通障害(交通渋滞、交通事故など)が拡大してしまうため、迅速な障害復旧をおこなう技術が必要とされている。
【0004】
従来より、交通管制システム内の一部で何らかの障害が発生した場合に、代替用の迂回経路を確保する技術が提供されている(たとえば、下記特許文献1参照。)。具体的には、交通管制システム内のノードは、代替用の迂回経路に関する情報を記憶する迂回用回線DBを備えており、常用の回線の遮断を検知すると、迂回用回線DBを参照して、代替用の迂回経路を探索し、その迂回経路を使用して通信をおこなう。
【0005】
また、ノードを稼働系と待機系とからなる冗長構成にし、稼働系のいずれかのノードにおいて障害が発生した場合に、待機系のノードに系を切り替えて運用の引き継ぎをおこなう技術が提供されている(たとえば、下記特許文献2参照。)。
【0006】
【特許文献1】特開2002−222489号公報
【特許文献2】特開2001−243587号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した従来技術の特許文献1によれば、何らかの原因によって交通管制システム内のあるノードが故障してしまった場合などに、そのノードの管理下にある複数の端末装置(信号灯器など)が制御不能となる状況からの障害復旧については考慮されていなかった。
【0008】
このため、災害時などに、交通管制システムから複数の信号灯器が孤立するなどの広域にわたる障害が発生すると、障害復旧までに多大な時間を要してしまい、その結果、交通障害が拡大してしまうという問題があった。
【0009】
また、迂回用回線DBを破損した場合には、代替用の迂回経路を探索することができないため、迂回用回線DBの交換、あるいは補修などの修復作業が必要となる。このため、上記同様に、障害復旧までに多大な時間を要してしまい、その結果、交通障害が拡大してしまうという問題があった。
【0010】
また、上述した従来技術の特許文献2によれば、交通管制システム内のノードを稼働系と待機系とからなる冗長構成とするため、ノードの製造コストが増加してしまい、ひいては交通管制システムの保守運用コストの増加を招いてしまうという問題があった。
【0011】
この発明は、上述した従来技術による問題点を解消するため、障害発生時に、迅速な障害復旧をおこなうことにより、適切な交通管制システムを提供することができる交通管制プログラム、該プログラムを記録した記録媒体、ノード、および交通管制方法を提供することを目的とする。
【課題を解決するための手段】
【0012】
上述した課題を解決し、目的を達成するため、この発明にかかる交通管制プログラム、該プログラムを記録した記録媒体、ノード、および交通管制方法は、複数の管轄エリアからなる広域エリアの交通を管理する交通管制システムを構成する階層構造化されたノードに、当該ノードが対応づけられた管轄エリアの交通を管理する交通管制プログラム、該プログラムを記録した記録媒体、ノード、および交通管制方法であって、自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断し、通信不能と判断された場合、前記第1のノードによって直接管理されている各ノードが対応づけられている管轄エリアの交通を管理する制御信号の送信要求を、前記第1のノードを管理する第2のノードに送信し、前記送信要求が送信された結果、前記第2のノードから前記制御信号を受信し、受信された制御信号を、前記第1のノードによって直接管理されているノード群のうち前記自ノードとは異なる他ノードに転送することを特徴とする。
【0013】
この発明によれば、第1のノードとの通信が不能となると、第1のノードによって直接管理されているノード群によって暫定的なグループを形成し、そのグループ内のいずれかのノードが第1のノードの機能を代替することにより、自律的な交通管制をおこなうことができる。
【0014】
また、上記発明において、前記第1のノードとの通信が不能と判断された場合、前記第1のノードの代わりに前記ノード群を直接管理するマスタノードを当該ノード群の中から決定し、前記自ノードがマスタノードに決定された場合、前記送信要求を前記第1のノードを管理する第2のノードに送信することとしてもよい。
【0015】
また、上記発明において、前記第1のノードとの通信が不能と判断された時刻に基づいて、前記ノード群の中から前記マスタノードを決定することとしてもよい。
【0016】
これらの発明によれば、マスタノードに決定されたノードがゲートウェイとなって第1のノードの機能を代替することにより、グループを管理するノードが無秩序に存在してしまうことを防ぐことができ、円滑かつ効率的な交通管制をおこなうことができる。
【0017】
また、上記発明において、前記第1のノードとの通信が不能と判断された場合、前記ノード群のうち前記第1のノードとの通信が不能となったノードを検出し、検出されたノードと対応付けられている管轄エリアの交通を管理する制御信号の送信要求を、前記第1のノードを管理する第2のノードに送信することとしてもよい。
【0018】
また、上記発明において、前記第1のノードとの通信が不能と判断された場合、前記ノード群のうち前記自ノードと直接接続されたノード(以下、「隣接ノード」という)に、前記第1のノードとの通信が不能となったノードの探索要求を送信し、前記探索要求が送信された結果、前記第1のノードとの通信が不能となったノードを特定するノード情報を含む探索応答を前記隣接ノードから受信し、そのノード情報によって特定されるノードを検出することとしてもよい。
【0019】
これらの発明によれば、第1のノードによって直接管理されているノード群のうち、第1のノードとの通信が不能となったノードからなるグループを形成し、そのグループによる自律的な交通管制をおこなうことができる。
【0020】
また、この発明にかかる交通管制プログラム、該プログラムを記録した記録媒体、ノード、および交通管制方法は、複数の管轄エリアからなる広域エリアの交通を管理する交通管制システムを構成する階層構造化されたノードに、当該ノードが対応付けられている管轄エリアの交通を管理する交通管制プログラム、該プログラムを記録した記録媒体、ノード、および交通管制方法であって、自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断し、前記第1のノードによって直接管理されているノード群のうち、前記自ノードと直接接続されたノード(以下、「隣接ノード」という)から、前記第1のノードとの通信が不能となったノードの探索要求を受信し、前記探索要求を受信した場合、前記判断結果に基づいて、前記第1のノードとの通信が不能となったノードを特定するノード情報を含む探索応答を前記隣接ノードに送信し、前記探索応答が送信された結果、前記自ノードと対応付けられている管轄エリアの交通を管理する制御信号を前記隣接ノードから受信することを特徴とする。
【0021】
この発明によれば、第1のノードとの通信が不能となった場合に、第1のノードによって直接管理されているノード群によって暫定的なグループを形成し、そのグループ内のマスタノードから転送される制御信号を隣接ノードから受信することができる。
【0022】
また、上記発明において、前記探索要求を受信した場合、前記隣接ノードとは異なる他の隣接ノードの存否を判定し、存在すると判定された場合、前記他の隣接ノードに前記探索要求を送信し、前記探索要求が送信された結果、前記他の隣接ノードから前記ノード情報を含む探索応答を受信し、前記判断結果に基づいて、受信されたノード情報を含む探索応答を前記隣接ノードに送信することとしてもよい。
【0023】
また、上記発明において、存在しないと判定された場合、前記判断結果に基づいて、前記ノード情報を含む探索応答を前記隣接ノードに送信することとしてもよい。
【0024】
これらの発明によれば、第1のノードとの通信が不能となったノードの探索要求を第1のノードによって直接管理されているノード間で伝播させることができる。
【発明の効果】
【0025】
本発明にかかる交通管制プログラム、該プログラムを記録した記録媒体、ノード、および交通管制方法によれば、障害発生時に、迅速な障害復旧をおこなうことにより、適切な交通管制システムを提供することができるという効果を奏する。
【発明を実施するための最良の形態】
【0026】
以下に添付図面を参照して、この発明にかかる交通管制プログラム、該プログラムを記録した記録媒体、ノード、および交通管制方法の好適な実施の形態を詳細に説明する。
【0027】
(交通管制システムのシステム構成)
まず、この発明の実施の形態にかかる交通管制システムのシステム構成について説明する。図1は、この発明の実施の形態にかかる交通管制システム100のシステム構成図である。図1において、交通管制システム100は、情報処理装置101と、複数のノード(図1では9台)102−1〜102−9と、複数の信号灯器(図1では5台)103−1〜103−5とがインターネット、LAN、WANなどのネットワーク110を介して相互に交信可能に接続されている。
【0028】
交通管制システム100は、道路交通に関する情報の収集、伝達などを一元的におこない、広域エリアの交通の安全および円滑化、環境の保護などを実現するシステムである。具体的には、交通管制システム100は、階層構造化されたノード102−1〜102−9により、各ノードが設置されたまたは各ノードが対応づけられた管轄エリアの交通を管理させる。
【0029】
情報処理装置101は、交通管制センターに設置されるコンピュータ装置であり、各管轄エリア内に設置された信号灯器103などの端末装置を制御する機能を有している。情報処理装置101は、たとえば、各管轄エリア内の交通状況に応じて、道路交通に関する制御信号を決定し、その制御信号を信号灯器103に配信して、各管轄エリア内の信号灯器103をコントロールしている。
【0030】
ノード102−1〜102−9は、自ノードよりも下位層に属するノードを管理する機能を有するコンピュータ装置であり、ルータやサーバなどである。具体的には、各ノードに記憶された配信表に基づいて、上位ノードから送信されてきた制御信号を自ノードの管理下にある下位ノードに配信する機能(ダウンリンク)を有している。また、下位ノードから送信されてきた各種信号を自ノードを直接管理する上位ノードに送信する機能(アップリンク)を有している。
【0031】
各ノードは、何らかの原因によって上位ノードとの通信が途絶した場合、同一階層に属するノード群によってグループを形成する機能を有している。また、各ノードは、グループの管理をおこなうマスタノードとして稼働することができ、マスタノードとして決定された場合にはマスタノードとして稼働する。一方、自ノード以外の他ノードがマスタノードに決定された場合には、マスタノードとして稼働しているノードによって管理される。
【0032】
信号灯器103−1〜103−5は、交差点などの道路上に設置されるコンピュータ装置であり、交通の安全を確保するため、進行停止などの信号を示す機能を有している。
ここでは、各管轄エリア内に設置された端末装置として、信号灯器103−1〜103−5を例に挙げて説明したが、交通情報表示装置、可変標識、光ビーコン、および超音波検出器などであってもよい。
【0033】
(コンピュータ装置のハードウェア構成)
つぎに、図1に示す情報処理装置101、ノード102−1〜102−9および信号灯器103−1〜103−5(以下、「情報処理装置101など」という)のハードウェア構成について説明する。図2は、この発明の実施の形態にかかる情報処理装置101などのハードウェア構成を示す説明図である。
【0034】
図2において、情報処理装置101などは、コンピュータ本体210と、入力装置220と、出力装置230と、から構成されており、不図示のルータやモデムを介してLAN、WANやインターネットなどのネットワーク110に接続可能である。
【0035】
コンピュータ本体210は、CPU、メモリ、インタフェースを有する。CPUは、情報処理装置101などのハードウェア構成の全体の制御を司る。メモリは、ROM、RAM、HD、光ディスク211、フラッシュメモリから構成される。メモリはCPUのワークエリアとして使用される。
【0036】
また、メモリには各種プログラムが格納されており、CPUからの命令に応じてロードされる。HDおよび光ディスク211はディスクドライブによりデータのリード/ライトが制御される。また、光ディスク211およびフラッシュメモリはコンピュータ本体210に対し着脱自在である。インタフェースは、入力装置220からの入力、出力装置230への出力、ネットワーク110に対する送受信の制御をおこなう。
【0037】
また、入力装置220としては、キーボード221、マウス222、スキャナ223などがある。キーボード221は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式であってもよい。マウス222は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。スキャナ223は、画像を光学的に読み取る。読み取られた画像は画像データとして取り込まれ、コンピュータ本体210内のメモリに格納される。なお、スキャナ223にOCR機能を持たせてもよい。
【0038】
また、出力装置230としては、ディスプレイ231、スピーカ232、プリンタ233などがある。ディスプレイ231は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。また、スピーカ232は、効果音や読み上げ音などの音声を出力する。また、プリンタ233は、画像データや文書データを印刷する。
【0039】
(メモリテーブルの記憶内容)
つぎに、図1に示すノード102−1〜102−9が保持しているメモリテーブル300について説明する。以下、上位ノードとの通信が途絶した場合に形成されるグループ内の各ノードが保持しているメモリテーブル300の記憶内容について説明する。図3は、メモリテーブルの記憶内容を示す説明図(その1)である。
【0040】
図3において、メモリテーブル300は、各ノード102−1〜102−9が備えるインタフェースごとに、インタフェースID、伝送方向、終端、隣接ノードIDおよび登録状態に関する情報を格納している。インタフェースIDは、各ノード102−1〜102−9が備えるインタフェースを識別する識別情報である。
【0041】
伝送方向は、後述するグループ化を促すメッセージデータの伝送方向を示している。たとえば、自ノードにメッセージデータが送信されてきた場合の伝送方向は「in」、自ノードからメッセージデータを送信した場合の伝送方向は「out」となる。終端は、メッセージデータの伝送先のノードの存否を示す情報である。たとえば、メッセージデータの伝送先が存在する場合は「none」、伝送先が存在しない場合は「yes」となる。
【0042】
隣接ノードIDは、自ノードと直接接続されている隣接ノードを識別する識別情報である。各ノード102−1〜102−9が備えるインタフェースを介して、直接接続されている隣接ノードが存在する場合は、その隣接ノードのノードID(たとえば、「00243」)、隣接ノードが存在しない場合は「none」となる。
【0043】
登録状態は、グループを形成する場合における各ノードの登録状態を示す情報である。たとえば、グループに仮登録された場合は「仮」、グループに本登録された場合は「完了」となる。なお、登録状態についての詳細な説明は後述する。
【0044】
つぎに、上位ノードとの通信が途絶した場合に形成されるグループ内のマスタノードが保持しているメモリテーブル400のデータ構造について説明する。図4は、メモリテーブルの記憶内容を示す説明図(その2)である。図4において、メモリテーブル400は、マスタノードが備えるインタフェースごとに、インタフェースID、グループID、隣接ノードIDおよび登録状態に関する情報を格納している。
【0045】
インタフェースIDは、マスタノードが備えるインタフェースを識別する識別情報である。グループIDは、マスタノードが直接管理しているグループを識別する識別情報である。隣接ノードIDは、自ノードと直接接続されている隣接ノードを識別する識別情報である。登録状態は、グループを形成する場合における各ノードの登録状態を示す情報である。
【0046】
また、メモリテーブル400は、各グループを構成するノード群を特定するノードリストを保持している。図5は、ノードリストの一例を示す説明図である。図5において、ノードリスト500は、マスタノードが直接管理しているグループごとに、各グループを構成するノードを識別するノードIDを記憶している。
【0047】
ここで、グループID「001」によって特定されるグループを例に挙げると、このグループを構成する各ノードのノードID「00434」,「00824」,「00920」および「00921」を記憶している。なお、ノードリスト500内の未使用の項目は「未使用」と表記され、グループを構成するノードが新たに追加された場合などに、この未使用の項目を使用して追加されたノードのノードIDが登録されることとなる。
【0048】
(ノード102−1〜102−9の機能的構成)
つぎに、この発明の実施の形態にかかるノード102−1〜102−9(以下、「ノード102」という)の機能的構成について説明する。図6は、この発明の実施の形態にかかるノード102の機能的構成を示すブロック図である。
【0049】
ノード102は、複数の管轄エリアからなる広域エリアの交通を管理する交通管制システム100を構成し、階層構造化され、自ノードと対応付けられている管轄エリアの交通を管理する機能を有する。
【0050】
図6において、ノード102は、メモリテーブル(300,400)と、判断部601と、送信部602と、受信部603と、転送部604と、決定部605と、検出部606と、判定部607と、を備えている。
【0051】
これら各機能601〜607は、メモリに格納された当該機能に関するプログラムをCPUに実行させることにより、当該機能を実現することができる。また、各機能601〜607からの出力データはメモリに保持される。また、図6中矢印で示した接続先の機能的構成は、接続元の機能からの出力データをメモリから読み込んで、当該機能に関するプログラムをCPUに実行させる。
【0052】
図6において、まず、判断部601は、自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断する機能を有する。自ノードと第1のノードとの通信が不能となる原因としては、たとえば、第1のノードの故障や、第1のノードと当該第1のノードを直接管理するノードとの間の物理的な通信網の断線などがある。
【0053】
判断部601は、たとえば、一定時間、自ノードが設置された(または、自ノードと対応付けられている)管轄エリアの交通を管理する制御信号が第1のノードから送信されてこなかった場合に、第1のノードとの通信が不能となったと判断することとしてもよい。
【0054】
具体的には、ノード102内部に搭載されたタイマをセットし、第1のノードからの制御信号を受信してからの経過時間を計測する。このあと、新たな制御信号が所定時間内に送信されてきた場合、通信が不能となっていないと判断する。一方、新たな制御信号が所定時間内に送信されてこなかった場合、通信が不能となっていると判断する。
【0055】
ここで、制御信号とは、管理下にある信号灯器103−1〜103−5の挙動を制御するサイクル、スプリット、オフセットなどの信号(信号機を制御するパラメータ)であってもよく、また、交通渋滞、交通事故、旅行時間などの道路交通に関する各種情報であってもよい。
【0056】
図1に示す交通管制システム100を例に挙げると、たとえば、自ノードをノード102−6とすると、第1のノードはノード102−3となり、また、自ノードの管理下にある信号灯器は信号灯器103−2となる。なお、判断部601によって判断された判断結果はメモリに記憶される。
【0057】
送信部602は、判断部601によって通信不能と判断された場合、第1のノードによって直接管理されている各ノードが設置された管轄エリアの交通を管理する制御信号の送信要求を、第1のノードを管理する第2のノードに送信する機能を有する。このとき使用される回線は、交通管制システム100を構成する通常の回線種別とは、物理的、論理的に異なる非常用回線である。なお、この非常用回線は、制御信号を疎通させるプロトコルスタックを持つこととする。
【0058】
具体的には、送信部602は、メモリから判断部601による判断結果を読み出して、その判断結果が通信不能であった場合に、制御信号の送信要求を第2のノードに送信する。第2のノードとは、第1のノードを管理下におくノードであればよく、たとえば、第1のノードを直接管理するノードであってもよく、また、交通管制センターに設置される情報処理装置101であってもよい。
【0059】
たとえば、自ノードをノード102−6とすると、ノード102−3によって直接管理されているノード群を構成するノード102−5,102−6,102−7が設置された管轄エリアの交通を管理する制御信号の送信要求を、ノード102−1に送信する。
【0060】
なお、第1のノードによって直接管理されているノード群を構成する各ノードを識別するノードIDは、各ノードのメモリに予め記憶されていてもよい。この場合、送信部602は、メモリから判断部601による判断結果とともに、ノード群を構成する各ノードのノードIDを読み出して、制御信号の送信要求を第2のノードに送信する。
【0061】
また、送信部602は、後述する検出部606による検出結果を参照することにより、第1のノードによって直接管理されているノード群を構成する各ノードを特定することとしてもよい。
【0062】
受信部603は、送信部602によって送信要求が送信された結果、第2のノードから制御信号を受信する機能を有する。たとえば、送信要求が送信された結果、ノード102−5,102−6,102−7が設置された管轄エリアの交通を管理する制御信号をノード102−1から受信する。なお、受信部603によって受信された制御信号はメモリに記憶される。
【0063】
転送部604は、受信部603によって受信された制御信号を、ノード群を構成するノードのうち自ノードとは異なる他ノードに転送する機能を有する。具体的には、転送部604は、メモリから受信部603によって受信された制御信号、および当該制御信号の分配先が記述された分配表を読み出して、その分配表に基づいて制御信号を他ノードに転送する。
【0064】
たとえば、自ノードをノード102−6とすると、分配表に基づいて、ノード102−3によって直接管理されているノード群を構成するノード102−5,102−7に制御信号を分配して転送する。また、分配先のノードと直接接続されていない場合には、自ノードと直接接続されたノードを介して制御信号を分配先のノードに転送することとしてもよい。
【0065】
たとえば、ノード102−5からノード102−7に制御信号を転送する場合には、ノード102−6を介して転送することとなる(ノード102−5→ノード102−6→ノード102−7の順に転送される)。なお、分配表は、メモリに予め記憶されていてもよく、また、受信部603によって制御信号とともに第2のノードから受信して、メモリに記憶することとしてもよい。
【0066】
決定部605は、判断部601によって通信不能と判断された場合、第1のノードの代わりにノード群を直接管理するマスタノードを当該ノード群の中から決定する機能を有する。ここでは、ノード群のうちいずれかのノードがマスタノードとして稼働し、ゲートウェイの役割を果たすことにより、第1のノードに替わってノード群を管理する。
【0067】
具体的には、決定部605は、メモリから判断部601による判断結果を読み出して、その判断結果が通信不能であった場合に、ノード群の中からマスタノードを決定する。決定部605によるマスタノードの決定手法は、第1のノードによって直接管理されているノード群においてマスタノードが一意的に決定される手法であればよい。
【0068】
たとえば、決定部605は、判断部601によって通信不能と判断された時刻に基づいてマスタノードを決定することとしてもよい。具体的には、自ノードと第1のノードとの通信が不能となった時刻と、他ノードと第1のノードとの通信が不能となった時刻と、を比較して、その比較結果に基づいてマスタノードを決定する。
【0069】
第1のノードと通信不能となった時刻を特定するタイムスタンプは、たとえば、後述する探索要求(グループ化を促すメッセージデータ)に付加される。決定部605は、そのタイムスタンプを用いて、各ノードと第1のノードとの通信が不能となった時刻を判断し、その時刻が最も早いノードを特定して、そのノードをマスタノードに決定する。なお、各ノード102における時刻は同期が取られていることとする。
【0070】
また、決定部605は、第1のノードとの通信が不能となった各ノードを識別する識別情報に基づいてマスタノードを決定することとしてもよい。たとえば、各ノードを識別する識別情報として各ノードに付与されるノードIDのID番号が、最も小さい(または、大きい)ノードをマスタノードに決定する。
【0071】
また、送信部602は、決定部605によってマスタノードに決定された場合、第1のノードによって直接管理されている各ノードが設置された管轄エリアの交通を管理する制御信号の送信要求を、第1のノードを管理する第2のノードに送信することとしてもよい。
【0072】
検出部606は、判断部601によって通信不能と判断された場合、ノード群のうち第1のノードとの通信が不能となったノードを検出する機能を有する。具体的には、検出部606は、メモリから判断部601による判断結果を読み出して、その判断結果が通信不能であった場合に、ノード群のうち第1のノードとの通信が不能となったノードを検出する。
【0073】
ここで、検出部606による検出手法の一例について説明する。まず、送信部602により、判断部601によって通信不能と判断された場合、ノード群のうち自ノードと直接接続されたノード(以下、「隣接ノード」という)に、第1のノードとの通信が不能となったノードの探索要求を送信する。
【0074】
具体的には、たとえば、送信部602は、第1のノードとの通信が不能となったノードの探索要求とともに、グループ化を促すメッセージデータを隣接ノードに送信する。すなわち、第1のノードとの通信が不能となったことにより、交通管制システム100内で孤立しているノードに対して、グループ化を促すメッセージデータを送信する。
【0075】
探索要求(メッセージデータ)には、第1のノードとの通信が不能となったノードを識別するノードIDを記述するノード情報(たとえば、図5に示したノードリスト500)が含まれている。送信部602は、自ノードを識別するノードIDが記述されたノード情報を、第1のノードとの通信が不能となったノードの探索要求として隣接ノードに送信する。
【0076】
つぎに、受信部603により、送信部602によって探索要求が送信された結果、第1のノードとの通信が不能となったノードを特定するノード情報を含む探索応答を隣接ノードから受信する。このノード情報には、第1のノードとの通信が不能となったノードを識別するノードIDが記述されている。なお、受信部603によって受信された探索応答はメモリに記憶される。
【0077】
そして、検出部606により、メモリから受信部603によって受信された探索応答を読み出して、その探索応答に含まれるノード情報によって特定されるノードを、第1のノードとの通信が不能となったノードとして検出する。
【0078】
つぎに、上述した第1のノードとの通信が不能となったノードの探索要求を自ノードが受信する場合について説明する。まず、受信部603は、第1のノードによって直接管理されているノード群のうち、自ノードと直接接続されたノード(以下、「隣接ノード」という)から、第1のノードとの通信が不能となったノードの探索要求を受信する機能を有する。受信部603によって受信された探索要求はメモリに記憶される。
【0079】
送信部602は、受信部603によって探索要求を受信した場合、判断部601によって判断された判断結果に基づいて、第1のノードとの通信が不能となったノードを特定するノード情報を含む探索応答を隣接ノードに送信する機能を有する。具体的には、送信部602は、メモリから受信部603によって受信された探索要求、および判断部601によって判断された判断結果を読み出して、その判断結果に基づいて、ノード情報を含む探索応答を隣接ノードに送信する。
【0080】
より具体的には、送信部602は、判断部601によって第1のノードとの通信が不能と判断された場合、自ノードを識別するノードIDが付加されたノード情報を含む探索応答を隣接ノードに送信する。また、判断部601によって第1のノードとの通信が不能と判断されなかった場合、探索応答を隣接ノードに送信しなくてもよく、また、自ノードを識別するノードIDが付加されていないノード情報を含む探索応答を隣接ノードに送信することとしてもよい。
【0081】
また、受信部603は、送信部602によって探索応答が送信された結果、自ノードが設置された管轄エリアの交通を管理する制御信号を隣接ノードから受信する機能を有する。具体的には、受信部603は、第1のノードとの通信が不能となった場合に、自ノードが設置された管轄エリアの交通を管理する制御信号を隣接ノードから受信する。
【0082】
判定部607は、受信部603によって探索要求を受信した場合、隣接ノードとは異なる他の隣接ノードの存否を判定する機能を有する。具体的には、たとえば、判定部607は、図3に示したメモリテーブル300を参照することにより、自ノードと直接接続され、探索要求の送信元の隣接ノードとは異なる他の隣接ノードが存在するか否かを判定する。
【0083】
より具体的には、たとえば、自ノードに備えられているインタフェースを認識し、探索要求の送信元の隣接ノードが接続されているインタフェースとは異なるインタフェースと接続された他の隣接ノードが存在するか否かを判定する。判定部607によって判定された判定結果はメモリに記憶される。
【0084】
また、送信部602は、判定部607によって他の隣接ノードが存在すると判定された場合、他の隣接ノードに探索要求を送信する機能を有する。具体的には、送信部602は、メモリから判定部607によって判定された判定結果を読み出して、他の隣接ノードが存在する判定結果であった場合、メモリテーブル300によって特定される他の隣接ノードに探索要求を送信する。
【0085】
また、受信部603は、送信部602によって探索要求が送信された結果、他の隣接ノードからノード情報を含む探索応答を受信する機能を有する。また、送信部602は、判断部601によって判断された判断結果に基づいて、受信部603によって受信されたノード情報を含む探索応答を隣接ノードに送信する機能を有する。
【0086】
具体的には、たとえば、送信部602は、第1のノードとの通信が不能と判断された場合には、他の隣接ノードから送信されてきたノード情報に自ノードを識別するノードIDを付加して、そのノード情報を含む探索応答を隣接ノードに送信する。一方、第1のノードとの通信が不能と判断されなかった場合には、他の隣接ノードから送信されてきたノード情報を含む探索応答を隣接ノードに送信することとしてもよい。
【0087】
また、送信部602は、判定部607によって存在しないと判定された場合、判断部601によって判断された判断結果に基づいて、ノード情報を含む探索応答を隣接ノードに送信することとしてもよい。
【0088】
(グループ形成の具体例)
つぎに、第1のノードとの通信が不能となった場合に、第1のノードによって直接管理されているノード群によって暫定的なグループを形成する具体例について説明する。このグループは、マスタノードを起点として、第1のノードとの通信が不能となったノードの探索要求を隣接するノードに伝播させていくことにより形成される。
【0089】
図7は、グループ形成の一例を示す説明図(その1)である。図7において、何らかの原因によって上位ノードとの通信が途絶したため、交通管制システム100(図1参照)内でノード102−a〜ノード102−iが孤立した状態となっている。ここで、ノード102−a〜ノード102−iのうち、ノード102−aはマスタノードとして稼働しており、グループ700の管理をおこなっている。
【0090】
以下、グループ700を形成する場合の各ノード102−a〜ノード102−iにおいて実行される処理の概要について説明する。グループ700を形成するために、まず、マスタノードであるノード102−aは、自ノードに直接接続されている隣接ノードにグループ化を促すメッセージデータを送信する。
【0091】
このメッセージデータは、図6に示した送信部602によって送信される第1のノードとの通信が不能となったノードの探索要求に相当する。ここでは、ノード102−aの送信部602により、隣接ノードであるノード102−bおよびノード102−fにグループ化を促すメッセージデータが送信される。
【0092】
ノード102−bは、メッセージデータを受信すると、ノード102−aとは異なる他の隣接ノードであるノード102−cの存在を判定し、メッセージデータをノード102−cに送信する。このとき、ノード102−bは、メッセージデータに自ノードを識別するノードIDを付加して、そのメッセージデータをノード102−cに送信する。
【0093】
また、ノード102−bは、メッセージデータの送受信にともなって、メモリテーブル300の記憶内容を更新する。具体的には、ノード102−aからメッセージデータを受信すると、ノード102−aが接続されているインタフェースの欄の記憶内容を更新する。
【0094】
ここでは、外部からの入力のため、伝送方向を「in」とし、登録状態を「仮」とする。また、メッセージデータをノード102−cに送信すると、ノード102−cが接続されているインタフェースの欄の記憶内容を更新する。ここでは、装置からの信号出力のため、伝送方向を「out」とし、登録状態を「仮」とする。
【0095】
同様に、ノード102−c、ノード102−d、ノード102−eにおいても、メッセージデータの送受信、およびそれにともなうメモリテーブル300の更新がおこなわれる。なお、ノード102−eは、ノード102−dとは異なる他の隣接ノードが存在しないため、自ノードを識別するノードIDが付加されたメッセージデータをノード102−dに送信することとなる。
【0096】
ここで、ノード102−eが保持するメモリテーブル300の記憶内容について説明する。図8は、メモリテーブルの記憶内容を示す説明図(その3)である。図8において、ノード102−eからノード102−dにメッセージデータが送信された結果、ノード102−eが保持するメモリテーブル800が示されている。
【0097】
具体的には、メッセージデータをノード102−dに送信すると、ノード102−dが接続されているインタフェースの欄の伝送方向を「out」とし、登録状態を「完了」とする。登録状態が「完了」となると、グループに本登録されたこととなる。また、ノード102−dとは異なる他の隣接ノードが存在しないため、もう一方のインタフェースの欄の伝送方向を「none」とし、終端を「yes」とし、隣接ノードを「none」とし、登録状態を「完了」とする。
【0098】
図7の説明に戻り、ノード102−dは、ノード102−eからメッセージデータを受信すると、メモリテーブル800の記憶内容を更新(登録状態を「完了」とする)し、そのメッセージデータをノード102−cに送信する。ノード102−cおよびノード102−bにおいても同様の処理を繰り返し、その結果、ノード102−aから送信されたメッセージデータが再びノード102−aに戻ってくることとなる。
【0099】
これにより、ノード102−a〜ノード102−eから構成されるサブグループ710が形成される。また、ノード102−aからノード102−fにメッセージデータを送信することにより、ノード102−aおよびノード102−f〜ノード102−iから構成されるサブグループ720が形成される。
【0100】
この結果、ノード102−aをマスタノードとする、サブグループ710およびサブグループ720からなるグループ700が形成される。マスタノードであるノード102−aは、通信不能となった上位ノードの機能を代替して、各ノード102−a〜ノード102−iが設置された管轄エリアの交通を管理する制御信号を受信して、各ノード102−a〜ノード102−iに配信する。
【0101】
このように、上位ノードとの通信が不能となると、その上位ノードによって直接管理されているノード群(ノード102−a〜ノード102−i)によって暫定的なグループ700を形成し、ノード102−aが上位ノードの機能を代替することにより、自律的な交通管制をおこなうことができる。
【0102】
なお、上述した例では、グループ700に対してマスタノードが1台存在することとしたが、必要に応じて2台以上のマスタノードを同一グループ内に存在させることも可能とする。なぜなら、障害発生時には、たとえば、図1に示す情報処理装置101とノード102−1〜102−9とを接続する通信経路の信頼性が不安定となっている可能性が高いため、通信状況に応じて複数の代替経路を確保することが望ましいからである。
【0103】
図9は、グループ形成の一例を示す説明図(その2)である。図9において、ノード102−a〜ノード102−iのうち、ノード102−aおよびノード102−jはマスタノードとして稼働しており、グループ900の管理をおこなっている。グループ900は、サブグループ910,920,930および940から構成されている。
【0104】
具体的には、ノード102−aは、サブグループ910およびサブグループ920からなるグループ900を管理している。また、ノード102−jは、サブグループ930およびサブグループ940からなるグループ900を管理している。このような場合、各ノード102−a〜ノード102−iが設置された管轄エリアの交通を管理する制御信号は、2台のマスタノード(ノード102−aおよびノード102−j)を経由して、各ノード102−a〜ノード102−iに複数回配信されることとなる。
【0105】
通常、各ノード102−a〜ノード102−iが複数経路から制御信号を重複して受信することはないが、障害発生時には、同一内容の制御信号を複数回受信することとなる。このような状況では、各ノード102−a〜ノード102−iは、既に受信した内容と同一内容の制御信号を受信した場合、その制御信号を無視することで、平常時と同様の動作をおこなうことができる。
【0106】
なお、複数のマスタノードが存在している状況下において、上位ノードとの通信が不能となったノードの探索要求を伝播させてサブグループを形成する場合、以下のような処理を実行することとしてもよい。たとえば、第1のマスタノードから送信された探索要求を、第2のマスタノードが受信すると、第2のマスタノードがサブグループの終端であると判断し、探索応答を隣接ノードに送信することとなる。
【0107】
具体的には、たとえば、サブグループ930を形成する場合、マスタノードであるノード102−aは、もう一つのマスタノードであるノード102−jからの探索要求を隣接するノード102−bから受信すると、自ノードを終端と判断し、自ノードを識別するノードIDを付加した探索応答をノード102−bに送信する。
【0108】
(交通管制システム100の障害復旧処理の概要)
つぎに、この発明の実施の形態にかかる交通管制システム100の障害復旧処理の概要について説明する。図10は、この発明の実施の形態にかかる交通管制システム100の障害復旧処理の概要を示す説明図である。図10において、交通管制センター(図1に示す情報処理装置101)からの制御信号が複数のノード102−1〜102−9を介して、信号灯器103−1〜103−5に配信されている。
【0109】
ここでは、ノード102−3(階層B)が故障したことにより、ノード102−5,102−6,102−7(階層C)によって管理されている管轄エリア(2)が交通管制システム100から孤立してしまい、交差点3,4,5に設置されている信号灯器103−1,103−2,103−3が制御不能となっている。このため、ノード102−5〜102−7によって暫定的なグループを形成し、ノード102−5をマスタノードとした障害復旧処理を実行する。
【0110】
まず、ノード102−3との通信が不能となったノード102−5,102−6,102−7の中からマスタノードを決定する。ここでは、ノード102−5がマスタノードに決定されている。そして、ノード102−5からのグループ化を促すメッセージデータを各ノード102−5,102−6,102−7に伝播させることにより、ノード102−5,102−6,102−7からなるグループ1000を形成する。
【0111】
つぎに、マスタノードであるノード102−5は、非常用回線を使用して、ノード102−3を直接管理しているノード102−1(階層A)に、管轄エリア(2)の交通を管理する制御信号の送信要求を送信する。その結果、ノード102−5は、管轄エリア(2)の交通を管理する制御信号をノード102−1から受信する。
【0112】
そして、ノード102−5は、制御信号に関する配信表を参照することにより、ノード102−6,102−7が設置された管轄エリア(2)の信号灯器103−2,103−3を管理する制御信号をノード102−6,102−7に配信する。
【0113】
この結果、各ノード102−5,102−6,102−7は、それぞれに管理下にある信号灯器103−1,103−2,103−3を制御するための制御信号を受信することができる。
【0114】
このように、自ノード(ノード102−5)を直接管理するノード102−3との通信が不能となった場合であっても、ノード102−5,102−6,102−7によって暫定的なグループを形成し、マスタノードであるノード102−5がゲートウェイとなってノード102−3の機能を代替することにより、管轄エリア(2)の交通を適切に管理することができる。
【0115】
(交通管制処理手順)
つぎに、この発明の実施の形態にかかる各ノード102−1〜102−9において実行される交通管制処理手順について説明する。まず、第1のノードによって直接管理されているノード群によって暫定的なグループを形成するグループ形成処理手順について説明する。図11は、図10に示したノード102−5〜102−7において実行されるグループ形成処理手順を示すシーケンス図である。
【0116】
図11に示す例は、図10に示したノード102−5〜102−7がノード102−3との通信不能により、ノード102−5〜102−7からなるグループを形成する動作シーケンスである。図11において、まず、ノード102−5の送信部602により、ノード102−3との通信が不能となったノードの探索要求をノード102−6に送信する(1)。この探索要求には、ノード102−5を識別するノードIDが付加されている。
【0117】
このあと、ノード102−6の判定部607により、探索要求の中継先となる隣接ノードがあるか否かを判定する(2)。ここでは中継先が存在するため、ノード102−6の送信部602により、探索要求をノード102−7に送信し(3)、メモリテーブル300の記憶内容を更新する(4)。この探索要求には、ノード102−5およびノード102−6を識別するノードIDが付加されている。
【0118】
つぎに、ノード102−7の判定部607により、探索要求の中継先となる隣接ノードがあるか否かを判定する(5)。ここでは中継先が存在しないため、ノード102−7の送信部602により、探索応答をノード102−6に送信し(6)、メモリテーブル300の記憶内容を更新する(7)。この探索応答には、ノード102−5,ノード102−6およびノード102−7を識別するノードIDが付加されている。
【0119】
このあと、ノード102−6の送信部602により、探索応答をノード102−5に送信し(8)、メモリテーブル300の記憶内容を更新する(9)。これにより、ノード102−5〜102−7からなるグループが形成され、最後に、ノード102−5の送信部602により、各ノード102−5〜102−7が設置された管轄エリアの交通を管理する制御信号の送信要求をノード102−1に送信する(10)。なお、各ノード102−5〜102−7の受信部603による処理の説明は省略している。
【0120】
つぎに、マスタノードに決定された各ノード102−1〜102−9において実行される交通管制処理手順について説明する。図12は、マスタノードにおいて実行される交通管制処理手順を示すフローチャートである。図12のフローチャートにおいて、まず、判断部601により、自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断する(ステップS1201)。
【0121】
ここで、第1のノードとの通信が不能と判断されるのを待って(ステップS1201:No)、通信不能と判断された場合(ステップS1201:Yes)、検出部606により、第1のノードによって直接管理されているノード群のうち第1のノードとの通信が不能となったノードの検出処理を実行する(ステップS1202)。
【0122】
このあと、送信部602により、検出部606によって検出されたノードが設置された管轄エリアの交通を管理する制御信号の送信要求を、第1のノードを管理する第2のノードに送信する(ステップS1203)。つぎに、受信部603により、送信部602によって送信要求が送信された結果、第2のノードから制御信号を受信する(ステップS1204)。
【0123】
最後に、転送部604により、制御信号の配信表に基づいて、受信部603によって受信された制御信号を、ノード群を構成するノードのうち自ノードとは異なる他ノード(隣接ノード)に転送して(ステップS1205)、本フローチャートによる一連の処理を終了する。
【0124】
ここで、図12に示したステップS1202における検出処理手順について説明する。図13は、ステップS1202における検出処理手順を示すフローチャートである。図13のフローチャートにおいて、まず、送信部602により、第1のノードによって直接管理されているノード群のうち自ノードと直接接続されたノード(以下、「隣接ノード」という)に、第1のノードとの通信が不能となったノードの探索要求を送信する(ステップS1301)。
【0125】
このあと、受信部603により、送信部602によって探索要求が送信された結果、第1のノードとの通信が不能となったノードを特定するノード情報を含む探索応答を隣接ノードから受信する(ステップS1302)。つぎに、検出部606により、受信部603によって受信された探索応答に含まれるノード情報によって特定されるノードを検出し(ステップS1303)、図12に示すステップS1203に移行する。
【0126】
このように、この発明の実施の形態にかかるノード102によれば、自ノードを直接管理する第1のノードとの通信が不能となると、第1のノードによって直接管理されているノード群によって暫定的なグループを形成し、そのグループ内のいずれかのノードがゲートウェイとなって第1のノードの機能を代替することにより、各管轄エリアの交通管制を適切に維持することができる。
【0127】
また、第1のノードとの通信が不能となったノード群の中から当該ノード群を管理するマスタノードを一意的に決定するため、ノード群を管理するノードが無秩序に存在してしまうことを防ぐことができ、円滑かつ効率的な交通管制をおこなうことができる。
【0128】
さらに、[背景技術]で示した従来技術のような、障害発生時に、まず、迂回用回線DBにアクセスして迂回経路を決定し、このあと、決定された迂回経路を使用して各ノードにアクセスする処理が不要となる。これにより、障害復旧に際して使用される通信資源の削減を実現することができる。
【0129】
また、障害発生時に、暫定的にグループを形成するため、障害復旧にかかる負荷を一極集中させることができ、障害対応時における動作管理が容易となる。
【0130】
なお、障害復旧が完了すると、通常の通信経路による制御信号(第1のノードからの制御信号)の配信が再開される。この場合、グループを構成する各ノードは、第1のノードからの制御信号と、マスタノードからの制御信号とを受信する状況に遭遇することとなる。このとき、各ノードは、第1のノードから送信されてくる制御信号を優先的に採用し、かつ、これを契機としてグループからの離脱を示す信号を隣接ノードに送信してグループから離脱することとしてもよい。
【0131】
以上説明したように、交通管制プログラム、該プログラムを記録した記録媒体、ノード、および交通管制方法によれば障害発生時に、迅速な障害復旧をおこなうことにより、適切な交通管制システムを提供することができる。
【0132】
なお、本実施の形態で説明した交通管制方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【0133】
また、本実施の形態で説明したノード102は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述したノード102の機能的構成(601〜607)をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、ノード102を製造することができる。
【0134】
(付記1)複数の管轄エリアからなる広域エリアの交通を管理する交通管制システムを構成する階層構造化されたノードに、当該ノードが対応付けられている管轄エリアの交通を管理させる交通管制プログラムであって、
自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断させる判断工程と、
前記判断工程によって通信不能と判断された場合、前記第1のノードによって直接管理されている各ノードと対応付けられている管轄エリアの交通を管理する制御信号の送信要求を、前記第1のノードを管理する第2のノードに送信させる送信工程と、
前記送信工程によって前記送信要求が送信された結果、前記第2のノードから前記制御信号を受信させる受信工程と、
前記受信工程によって受信された制御信号を、前記第1のノードによって直接管理されているノード群を構成するノードのうち前記自ノードとは異なる他ノードに転送させる転送工程と、
をコンピュータに実行させることを特徴とする交通管制プログラム。
【0135】
(付記2)前記判断工程によって通信不能と判断された場合、前記第1のノードの代わりに前記ノード群を直接管理するマスタノードを当該ノード群の中から決定させる決定工程を前記コンピュータに実行させ、
前記送信工程は、
前記決定工程によって前記自ノードがマスタノードに決定された場合、前記送信要求を前記第1のノードを管理する第2のノードに送信させることを特徴とする付記1に記載の交通管制プログラム。
【0136】
(付記3)前記決定工程は、
前記判断工程によって通信不能と判断された時刻に基づいて、前記ノード群の中から前記マスタノードを決定させることを特徴とする付記2に記載の交通管制プログラム。
【0137】
(付記4)前記決定工程は、
前記第1のノードによって直接管理されている各ノードに付与されるノードIDに基づいて、前記ノード群の中から前記マスタノードを決定させることを特徴とする付記2に記載の交通管制プログラム。
【0138】
(付記5)前記判断工程によって通信不能と判断された場合、前記ノード群のうち前記第1のノードとの通信が不能となったノードを検出させる検出工程を前記コンピュータに実行させ、
前記送信工程は、
前記検出工程によって検出されたノードと対応付けられている管轄エリアの交通を管理する制御信号の送信要求を、前記第1のノードを管理する第2のノードに送信させることを特徴とする付記1〜4のいずれか一つに記載の交通管制プログラム。
【0139】
(付記6)前記判断工程によって通信不能と判断された場合、前記ノード群のうち前記自ノードと直接接続されたノード(以下、「隣接ノード」という)に、前記第1のノードとの通信が不能となったノードの探索要求を送信させる探索要求送信工程と、
前記探索要求送信工程によって前記探索要求が送信された結果、前記第1のノードとの通信が不能となったノードを特定するノード情報を含む探索応答を前記隣接ノードから受信させる探索応答受信工程と、を前記コンピュータに実行させ、
前記検出工程は、
前記探索応答受信工程によって受信された探索応答に含まれるノード情報によって特定されるノードを検出させることを特徴とする付記5に記載の交通管制プログラム。
【0140】
(付記7)複数の管轄エリアからなる広域エリアの交通を管理する交通管制システムを構成する階層構造化されたノードに、当該ノードが対応付けられた管轄エリアの交通を管理させる交通管制プログラムであって、
自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断させる判断工程と、
前記第1のノードによって直接管理されているノード群のうち、前記自ノードと直接接続されたノード(以下、「隣接ノード」という)から、前記第1のノードとの通信が不能となったノードの探索要求を受信させる第1の受信工程と、
前記第1の受信工程によって前記探索要求を受信した場合、前記判断工程によって判断された判断結果に基づいて、前記第1のノードとの通信が不能となったノードを特定するノード情報を含む探索応答を前記隣接ノードに送信させる送信工程と、
前記送信工程によって前記探索応答が送信された結果、前記自ノードが対応付けられた管轄エリアの交通を管理する制御信号を前記隣接ノードから受信させる第2の受信工程と、
をコンピュータに実行させることを特徴とする交通管制プログラム。
【0141】
(付記8)前記第1の受信工程によって前記探索要求を受信した場合、前記隣接ノードとは異なる他の隣接ノードの存否を判定させる判定工程と、
前記判定工程によって存在すると判定された場合、前記他の隣接ノードに前記探索要求を送信させる探索要求送信工程と、
前記探索要求送信工程によって前記探索要求が送信された結果、前記他の隣接ノードから前記ノード情報を含む探索応答を受信させる探索応答受信工程と、を前記コンピュータに実行させ、
前記送信工程は、
前記判断工程によって判断された判断結果に基づいて、前記探索応答受信工程によって受信されたノード情報を含む探索応答を前記隣接ノードに送信させることを特徴とする付記7に記載の交通管制プログラム。
【0142】
(付記9)前記送信工程は、
前記判定工程によって存在しないと判定された場合、前記判断工程によって判断された判断結果に基づいて、前記ノード情報を含む探索応答を前記隣接ノードに送信させることを特徴とする付記8に記載の交通管制プログラム。
【0143】
(付記10)付記1〜9のいずれか一つに記載の交通管制プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
【0144】
(付記11)複数の管轄エリアからなる広域エリアの交通を管理する交通管制システムを構成し、階層構造化され、自ノードと対応付けられている管轄エリアの交通を管理するノードであって、
前記自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断する判断手段と、
前記判断手段によって通信不能と判断された場合、前記第1のノードによって直接管理されている各ノードと対応付けられている管轄エリアの交通を管理する制御信号の送信要求を、前記第1のノードを管理する第2のノードに送信する送信手段と、
前記送信手段によって前記送信要求が送信された結果、前記第2のノードから前記制御信号を受信する受信手段と、
前記受信手段によって受信された制御信号を、前記第1のノードによって直接管理されているノード群のうち前記自ノードとは異なる他ノードに転送する転送手段と、
を備えることを特徴とするノード。
【0145】
(付記12)複数の管轄エリアからなる広域エリアの交通を管理する交通管制システムを構成し、階層構造化され、自ノードと対応付けられている管轄エリアの交通を管理するノードであって、
前記自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断する判断手段と、
前記第1のノードによって直接管理されているノード群のうち、前記自ノードと直接接続されたノード(以下、「隣接ノード」という)から、前記第1のノードとの通信が不能となったノードの探索要求を受信する受信手段と、
前記受信手段によって前記探索要求を受信した場合、前記判断手段によって判断された判断結果に基づいて、前記第1のノードとの通信が不能となったノードを特定するノード情報を含む探索応答を前記隣接ノードに送信する送信手段と、を備え、
前記受信手段は、
前記送信手段によって前記探索応答が送信された結果、前記自ノードと対応付けられている管轄エリアの交通を管理する制御信号を前記隣接ノードから受信することを特徴とするノード。
【0146】
(付記13)複数の管轄エリアからなる広域エリアの交通を管理する交通管制システムを構成する階層構造化されたノードに、当該ノードと対応付けられている管轄エリアの交通を管理させる交通管制方法であって、
自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断する判断工程と、
前記判断工程によって通信不能と判断された場合、前記第1のノードによって直接管理されている各ノードと対応付けられている管轄エリアの交通を管理する制御信号の送信要求を、前記第1のノードを管理する第2のノードに送信する送信工程と、
前記送信工程によって前記送信要求が送信された結果、前記第2のノードから前記制御信号を受信する受信工程と、
前記受信工程によって受信された制御信号を、前記第1のノードによって直接管理されているノード群のうち前記自ノードとは異なる他ノードに転送する転送工程と、
を含んだことを特徴とする交通管制方法。
【0147】
(付記14)複数の管轄エリアからなる広域エリアの交通を管理する交通管制システムを構成する階層構造化されたノードに、当該ノードと対応付けられている管轄エリアの交通を管理させる交通管制方法であって、
自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断する判断工程と、
前記第1のノードによって直接管理されているノード群のうち、前記自ノードと直接接続されたノード(以下、「隣接ノード」という)から、前記第1のノードとの通信が不能となったノードの探索要求を受信する第1の受信工程と、
前記第1の受信工程によって前記探索要求を受信した場合、前記判断工程によって判断された判断結果に基づいて、前記第1のノードとの通信が不能となったノードを特定するノード情報を含む探索応答を前記隣接ノードに送信する送信工程と、
前記送信工程によって前記探索応答が送信された結果、前記自ノードと対応付けられている管轄エリアの交通を管理する制御信号を前記隣接ノードから受信する第2の受信工程と、
を含んだことを特徴とする交通管制方法。
【産業上の利用可能性】
【0148】
以上のように、本発明にかかる交通管制プログラム、該プログラムを記録した記録媒体、ノード、および交通管制方法は、公共性の高い交通管制システムに有用であり、特に、災害時など広域にわたって信号灯器が制御不能となった状況からの障害復旧に適している。
【図面の簡単な説明】
【0149】
【図1】この発明の実施の形態にかかる交通管制システム100のシステム構成図である。
【図2】この発明の実施の形態にかかる情報処理装置101などのハードウェア構成を示す説明図である。
【図3】メモリテーブルの記憶内容を示す説明図(その1)である。
【図4】メモリテーブルの記憶内容を示す説明図(その2)である。
【図5】ノードリストの一例を示す説明図である。
【図6】この発明の実施の形態にかかるノード102の機能的構成を示すブロック図である。
【図7】グループ形成の一例を示す説明図(その1)である。
【図8】メモリテーブルの記憶内容を示す説明図(その3)である。
【図9】グループ形成の一例を示す説明図(その2)である。
【図10】この発明の実施の形態にかかる交通管制システム100の障害復旧処理の概要を示す説明図である。
【図11】図10に示したノード102−5〜102−7において実行されるグループ形成処理手順を示すシーケンス図である。
【図12】マスタノードにおいて実行される交通管制処理手順を示すフローチャートである。
【図13】ステップS1202における検出処理手順を示すフローチャートである。
【符号の説明】
【0150】
100 交通管制システム
101 情報処理装置
102−1〜102−9 ノード
103−1〜103−5 信号灯器
300,400,800 メモリテーブル
500 ノードリスト
601 判断部
602 送信部
603 受信部
604 転送部
605 決定部
606 検出部
607 判定部
【特許請求の範囲】
【請求項1】
複数の管轄エリアからなる広域エリアの交通を管理する交通管制システムを構成する階層構造化されたノードに、当該ノードが対応付けられている管轄エリアの交通を管理させる交通管制プログラムであって、
自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断させる判断工程と、
前記判断工程によって通信不能と判断された場合、前記第1のノードによって直接管理されている各ノードと対応付けられている管轄エリアの交通を管理する制御信号の送信要求を、前記第1のノードを管理する第2のノードに送信させる送信工程と、
前記送信工程によって前記送信要求が送信された結果、前記第2のノードから前記制御信号を受信させる受信工程と、
前記受信工程によって受信された制御信号を、前記第1のノードによって直接管理されているノード群のうち前記自ノードとは異なる他ノードに転送させる転送工程と、
をコンピュータに実行させることを特徴とする交通管制プログラム。
【請求項2】
前記判断工程によって通信不能と判断された場合、前記第1のノードの代わりに前記ノード群を直接管理するマスタノードを当該ノード群の中から決定させる決定工程を前記コンピュータに実行させ、
前記送信工程は、
前記決定工程によって前記自ノードがマスタノードに決定された場合、前記送信要求を記第1のノードを管理する第2のノードに送信させることを特徴とする請求項1に記載の交通管制プログラム。
【請求項3】
前記決定工程は、
前記判断工程によって通信不能と判断された時刻に基づいて、前記ノード群の中から前記マスタノードを決定させることを特徴とする請求項2に記載の交通管制プログラム。
【請求項4】
前記判断工程によって通信不能と判断された場合、前記ノード群のうち前記第1のノードとの通信が不能となったノードを検出させる検出工程を前記コンピュータに実行させ、
前記送信工程は、
前記検出工程によって検出されたノードと対応付けられている管轄エリアの交通を管理する制御信号の送信要求を、前記第1のノードを管理する第2のノードに送信させることを特徴とする請求項1〜3のいずれか一つに記載の交通管制プログラム。
【請求項5】
前記判断工程によって通信不能と判断された場合、前記ノード群のうち前記自ノードと直接接続されたノード(以下、「隣接ノード」という)に、前記第1のノードとの通信が不能となったノードの探索要求を送信させる探索要求送信工程と、
前記探索要求送信工程によって前記探索要求が送信された結果、前記第1のノードとの通信が不能となったノードを特定するノード情報を含む探索応答を前記隣接ノードから受信させる探索応答受信工程と、を前記コンピュータに実行させ、
前記検出工程は、
前記探索応答受信工程によって受信された探索応答に含まれるノード情報によって特定されるノードを検出させることを特徴とする請求項4に記載の交通管制プログラム。
【請求項6】
請求項1〜5のいずれか一つに記載の交通管制プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
【請求項7】
複数の管轄エリアからなる広域エリアの交通を管理する交通管制システムを構成し、階層構造化され、自ノードと対応付けられている管轄エリアの交通を管理するノードであって、
前記自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断する判断手段と、
前記判断手段によって通信不能と判断された場合、前記第1のノードによって直接管理されている各ノードと対応付けられている管轄エリアの交通を管理する制御信号の送信要求を、前記第1のノードを管理する第2のノードに送信する送信手段と、
前記送信手段によって前記送信要求が送信された結果、前記第2のノードから前記制御信号を受信する受信手段と、
前記受信手段によって受信された制御信号を、前記第1のノードによって直接管理されているノード群のうち前記自ノードとは異なる他ノードに転送する転送手段と、
を備えることを特徴とするノード。
【請求項8】
複数の管轄エリアからなる広域エリアの交通を管理する交通管制システムを構成する階層構造化されたノードに、当該ノードと対応付けられている管轄エリアの交通を管理させる交通管制方法であって、
自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断する判断工程と、
前記判断工程によって通信不能と判断された場合、前記第1のノードによって直接管理されている各ノードと対応付けられている管轄エリアの交通を管理する制御信号の送信要求を、前記第1のノードを管理する第2のノードに送信する送信工程と、
前記送信工程によって前記送信要求が送信された結果、前記第2のノードから前記制御信号を受信する受信工程と、
前記受信工程によって受信された制御信号を、前記第1のノードによって直接管理されているノード群のうち前記自ノードとは異なる他ノードに転送する転送工程と、
を含んだことを特徴とする交通管制方法。
【請求項1】
複数の管轄エリアからなる広域エリアの交通を管理する交通管制システムを構成する階層構造化されたノードに、当該ノードが対応付けられている管轄エリアの交通を管理させる交通管制プログラムであって、
自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断させる判断工程と、
前記判断工程によって通信不能と判断された場合、前記第1のノードによって直接管理されている各ノードと対応付けられている管轄エリアの交通を管理する制御信号の送信要求を、前記第1のノードを管理する第2のノードに送信させる送信工程と、
前記送信工程によって前記送信要求が送信された結果、前記第2のノードから前記制御信号を受信させる受信工程と、
前記受信工程によって受信された制御信号を、前記第1のノードによって直接管理されているノード群のうち前記自ノードとは異なる他ノードに転送させる転送工程と、
をコンピュータに実行させることを特徴とする交通管制プログラム。
【請求項2】
前記判断工程によって通信不能と判断された場合、前記第1のノードの代わりに前記ノード群を直接管理するマスタノードを当該ノード群の中から決定させる決定工程を前記コンピュータに実行させ、
前記送信工程は、
前記決定工程によって前記自ノードがマスタノードに決定された場合、前記送信要求を記第1のノードを管理する第2のノードに送信させることを特徴とする請求項1に記載の交通管制プログラム。
【請求項3】
前記決定工程は、
前記判断工程によって通信不能と判断された時刻に基づいて、前記ノード群の中から前記マスタノードを決定させることを特徴とする請求項2に記載の交通管制プログラム。
【請求項4】
前記判断工程によって通信不能と判断された場合、前記ノード群のうち前記第1のノードとの通信が不能となったノードを検出させる検出工程を前記コンピュータに実行させ、
前記送信工程は、
前記検出工程によって検出されたノードと対応付けられている管轄エリアの交通を管理する制御信号の送信要求を、前記第1のノードを管理する第2のノードに送信させることを特徴とする請求項1〜3のいずれか一つに記載の交通管制プログラム。
【請求項5】
前記判断工程によって通信不能と判断された場合、前記ノード群のうち前記自ノードと直接接続されたノード(以下、「隣接ノード」という)に、前記第1のノードとの通信が不能となったノードの探索要求を送信させる探索要求送信工程と、
前記探索要求送信工程によって前記探索要求が送信された結果、前記第1のノードとの通信が不能となったノードを特定するノード情報を含む探索応答を前記隣接ノードから受信させる探索応答受信工程と、を前記コンピュータに実行させ、
前記検出工程は、
前記探索応答受信工程によって受信された探索応答に含まれるノード情報によって特定されるノードを検出させることを特徴とする請求項4に記載の交通管制プログラム。
【請求項6】
請求項1〜5のいずれか一つに記載の交通管制プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
【請求項7】
複数の管轄エリアからなる広域エリアの交通を管理する交通管制システムを構成し、階層構造化され、自ノードと対応付けられている管轄エリアの交通を管理するノードであって、
前記自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断する判断手段と、
前記判断手段によって通信不能と判断された場合、前記第1のノードによって直接管理されている各ノードと対応付けられている管轄エリアの交通を管理する制御信号の送信要求を、前記第1のノードを管理する第2のノードに送信する送信手段と、
前記送信手段によって前記送信要求が送信された結果、前記第2のノードから前記制御信号を受信する受信手段と、
前記受信手段によって受信された制御信号を、前記第1のノードによって直接管理されているノード群のうち前記自ノードとは異なる他ノードに転送する転送手段と、
を備えることを特徴とするノード。
【請求項8】
複数の管轄エリアからなる広域エリアの交通を管理する交通管制システムを構成する階層構造化されたノードに、当該ノードと対応付けられている管轄エリアの交通を管理させる交通管制方法であって、
自ノードを直接管理する第1のノードとの通信が不能となったか否かを判断する判断工程と、
前記判断工程によって通信不能と判断された場合、前記第1のノードによって直接管理されている各ノードと対応付けられている管轄エリアの交通を管理する制御信号の送信要求を、前記第1のノードを管理する第2のノードに送信する送信工程と、
前記送信工程によって前記送信要求が送信された結果、前記第2のノードから前記制御信号を受信する受信工程と、
前記受信工程によって受信された制御信号を、前記第1のノードによって直接管理されているノード群のうち前記自ノードとは異なる他ノードに転送する転送工程と、
を含んだことを特徴とする交通管制方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2008−234006(P2008−234006A)
【公開日】平成20年10月2日(2008.10.2)
【国際特許分類】
【出願番号】特願2007−68893(P2007−68893)
【出願日】平成19年3月16日(2007.3.16)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成20年10月2日(2008.10.2)
【国際特許分類】
【出願日】平成19年3月16日(2007.3.16)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]