(57)【特許請求の範囲】
【請求項１】
複数の制御局がそれぞれ異なるネットワークを統括し、各ネットワークに属する複数のノードがデータの冗長伝送を行う通信システムであって、
制御局は、
統括するネットワークに属する各ノード間の通信リンクの品質が閾値以上の通信パスの数を各ネットワークに属する各ノードの有効パス数として算出する算出手段と、
前記算出手段によって算出された各ネットワークにおける各ノードの有効パス数が予め定められた冗長度Ｎ（Ｎは２以上）以上か否かを判定する判定手段と、
を有し、
前記判定手段によって前記有効パス数が予め定められた冗長度Ｎ未満と判定されたノードが存在する場合、当該ノードが存在するネットワークと他のネットワークとの間でノードを移動させる移動手段と、
を有することを特徴とする通信システム。
【請求項２】
複数の制御局がそれぞれ異なるネットワークを統括し、各ネットワークに属する複数のノードがデータの冗長伝送を行う通信システムの制御局であって、
統括するネットワークに属する各ノード間の通信リンクの品質が閾値以上の通信パスの数を各ネットワークに属する各ノードの有効パス数として算出する算出手段と、
前記算出手段によって算出された各ネットワークにおける各ノードの有効パス数が予め定められた冗長度Ｎ（Ｎは２以上）以上か否かを判定する判定手段と、
前記判定手段によって前記有効パス数が予め定められた冗長度Ｎ未満と判定されたノードが存在する場合、当該ノードが存在するネットワークと他のネットワークとの間でノードを移動させる移動手段と、
を有することを特徴とする制御局。
【請求項３】
前記移動手段は、前記他のネットワークに属する複数のノードから、少なくとも１つのノードを制御局が統括するネットワークに移動させることを特徴とする請求項２に記載の制御局。
【請求項４】
前記ネットワークを移動させるノードの選択は、前記他のネットワークにおける有効パス数が最も少ないノードを選択することを特徴とする請求項３に記載の制御局。
【請求項５】
前記移動手段は、前記判定手段によって前記有効パス数が予め定められた冗長度Ｎ未満と判定されたノードが各ネットワークに存在する場合、各ネットワークにおいて前記ノードの総数と前記有効パス数が予め定められた冗長度Ｎ以上のノードの数との比に応じて、ノードを移動させることを特徴とする請求項２に記載の制御局。
【請求項６】
前記移動手段は、前記比が大きいネットワークから前記比が小さいネットワークへノードを移動させることを特徴とする請求項５に記載の制御局。
【請求項７】
前記移動手段は、前記比が等しい場合、各ネットワークにおける有効パスの総数の多いネットワークから前記有効パスの総数の少ないネットワークへノードを移動させることを特徴とする請求項５に記載の制御局。
【請求項８】
前記移動手段は、前記ノードを移動させるネットワークで当該ノードの使用する通信帯域がない場合、ネットワークの間でノードを入れ替えることを特徴とする請求項２に記載の制御局。
【請求項９】
複数の制御局がそれぞれ異なるネットワークを統括し、各ネットワークに属する複数のノードがデータの冗長伝送を行う通信システムの制御局における通信方法であって、
算出手段が、統括するネットワークに属する各ノード間の通信リンクの品質が閾値以上の通信パスの数を各ネットワークに属する各ノードの有効パス数として算出する算出工程と、
判定手段が、前記算出工程において算出された各ネットワークにおける各ノードの有効パス数が予め定められた冗長度Ｎ（Ｎは２以上）以上か否かを判定する判定工程と、
移動させる手段が、前記判定工程において前記有効パス数が予め定められた冗長度Ｎ未満と判定されたノードが存在する場合、当該ノードが存在するネットワークと他のネットワークとの間でノードを移動させる工程と、
を有することを特徴とする通信方法。
【請求項１０】
請求項９に記載の通信方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長伝送を行う通信システム及びその制御局並びに通信方法に関する。
【背景技術】
【０００２】
映像や音響データの伝送技術として、広い帯域幅が利用でき高速無線伝送が可能である６０ＧＨｚ帯を使用したミリ波無線技術が注目されている。しかしながら、ミリ波は直進性が強いという特徴から、人間等の遮蔽物が通信パスを横切った際に簡単に通信が途切れてしまうという問題がある。
【０００３】
これに対して、データ生成元のノードが送信するデータを、中継ノードを介した複数の通信パスを用いて宛先ノードへ冗長伝送する技術（例えば、特許文献１、２参照）が考案されている。これにより、１つの通信パスが途切れても他の通信パスからの受信データを使用することにより、通信の信頼性を向上させることができる。
【０００４】
上述の技術を拡張した更にハイエンドなユースケースとして、4K2Kや３Ｄ映像データ等の大容量データをリアルタイムに無線伝送することが考えられ、冗長伝送を行い信頼性の向上を図るには広域な通信帯域を必要とする。そのため、情報量が増大化し、１つのＰＡＮ（パーソナルエリアネットワーク）で実現することが困難となる。従って、周波数帯域の異なる複数のＰＡＮを利用した冗長伝送が必要となる。
【０００５】
複数のＰＡＮで大容量データをリアルタイムに冗長伝送する場合、一台のノードが伝送するデータ量は大きくなり、更にデータに有効期間が生じる。このため、１つのＰＡＮで通信するノードの数は減少する傾向にある。即ち、各ＰＡＮで冗長伝送する際の各ノードの中継伝送回数が減少するため、得られる信頼性は低下し、通信パスの途切れへの耐性が脆弱となる。従って、各ＰＡＮにおける冗長伝送の質を向上するには品質の良い通信パスを確実に確保可能なノード配置を行うことが必要不可欠である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１３１５１７号公報
【特許文献２】特開２００９−０４９９３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来の冗長伝送システムを複数のＰＡＮに拡張した場合、各ノードが品質の良い通信パスを所望の数以上、形成できるようにノードのグルーピングを行う必要がある。各ＰＡＮに割り当てられるノードの組み合わせが悪い場合には、他ノードとの通信パスが少ないノードが存在し、通信パスの途切れへの耐性が脆弱となる可能性がある。
【０００８】
本発明は、制御局が統括するネットワークに属する複数のノードがデータの冗長伝送を行う通信システムにおいて通信パスの途切れの少ない信頼性の高い通信が行えるようにする。
【課題を解決するための手段】
【０００９】
本発明は、複数の制御局がそれぞれ異なるネットワークを統括し、各ネットワークに属する複数のノードがデータの冗長伝送を行う通信システムであって、
制御局は、
統括するネットワークに属する各ノード間の通信リンクの品質が閾値以上の通信パスの数を各ネットワークに属する各ノードの有効パス数として算出する算出手段と、
前記算出手段によって算出された各ネットワークにおける各ノードの有効パス数が予め定められた冗長度Ｎ（Ｎは２以上）以上か否かを判定する判定手段と、
を有し、
前記判定手段によって前記有効パス数が予め定められた冗長度Ｎ未満と判定されたノードが存在する場合、当該ノードが存在するネットワークと他のネットワークとの間でノードを移動させる移動手段と、
を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、制御局が統括するネットワークに属する複数のノードがデータの冗長伝送を行う通信システムにおいて通信パスの途切れの少ない信頼性の高い通信を実現することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態における無線通信システムのネットワーク構成の一例を表す図。
【図２】複数のＰＡＮで冗長伝送を行う際の通信フレームの構成を示す図。
【図３】主制御局の内部構成を示す概略ブロック図。
【図４】ノード１０２の内部構成を示す概略ブロック図。
【図５】制御局及びノードの動作シーケンスを表す図。
【図６】周波数１、周波数２を用いてトレーニングを行った結果の一例を示す図。
【図７】初期トポロジ及び有効パスと各ノードの経由状況、有効パス数を示す図。
【図８】Ｓ５０６における初期トポロジを表す図。
【図９】Ｓ５０７におけるノード割り当てアルゴリズムのフローチャート。
【図１０】処理Ａを示すフローチャート。
【図１１】処理Ｂを示すフローチャート。
【図１２】処理Ｃを示すフローチャート。
【図１３】本実施形態の処理結果から算出された指標テーブルを示す図。
【図１４】処理Ｃの初期トポロジを表す図。
【図１５】障害物が発生した場合の処理を説明するための図。
【図１６】変形例における処理Ａ’を示すフローチャート。
【図１７】処理Ａ’により算出された指標テーブルを示す図。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら発明を実施するための形態について詳細に説明する。以下では、複数の周波数チャネルを使用する複数のＰＡＮ（パーソナルエリアネットワーク）に属するノード群がメッシュ状にデータを冗長伝送する通信システムを例に説明する。
【００１３】
図１は、本実施形態における無線通信システムのネットワーク構成の一例を表す図である。無線通信システムにおいて、制御局１００は主制御局として機能し、ＰＡＮ１０８を制御し、制御局１０１は従制御局として機能し、ＰＡＮ１０９を制御する。
【００１４】
ここで、制御局１００（主制御局と称す）は、自局の統括するＰＡＮ１０８と他の制御局、即ち、図１に示す例では制御局１０１（従制御局と称す）の統括するＰＡＮ１０９のトポロジを決定する。尚、主制御局及び従制御局は、データソース１１０が検出した順に割り当てるか、若しくは主制御局と従制御局との間で通信を行い、ランダムに決定されても良い。
【００１５】
データソース１１０は主制御局及び従制御局に接続され、映像及び音響のデータ（ＡＶコンテンツ）が、主制御局及び従制御局が夫々制御するＰＡＮ１０８、１０９の各ノードに無線伝送される。
【００１６】
但し、主制御局及び従制御局は、必ずしもデータソース１１０と直接、接続されている必要は無い。例えば、主制御局及び従制御局は相互に確実にデータ通信が行えるように、ケーブル接続や、高信頼な変調方式、高い誤り訂正符号化率を使用する無線で接続されていればよい。
【００１７】
更に、データソース１１０は、ＰＡＮ１０８に属するノード群へのコンテンツとＰＡＮ１０９に属するノード群へのコンテンツとを分割し、主制御局及び従制御局へ配信する。そして、各ＰＡＮの間でノードが移動した場合に、各ＰＡＮの制御局からの制御データに基づき、主制御局へのコンテンツと従制御局へのコンテンツとの振り分けを変更する。
【００１８】
ノード１０４、１０７は映像データの宛先ノードであり、無線リンクを介して受信した映像データをディスプレイ１１５、１２０に出力する。また、ノード１０２〜１０７には、スピーカー１１１〜１１４、１１６〜１１９が接続されており、異なる音響チャネルが割り当てられている。ノード１０２〜ノード１０７は、無線リンクを介して受信した音響チャネルデータから自機の音響チャネルのデータを抽出し、スピーカー１１１〜１１４、１１６〜１１９で再生する。更に、ノード１０２〜１０７は、受信した全てのチャネルの音響データを各ＰＡＮ内で中継伝送する中継機能を備えている。
【００１９】
ここで、各ＰＡＮ内でＴＤＭＡ（時分割多元接続）通信方式を使用し、冗長伝送を行う際の通信フレームの構成と各ＰＡＮでリアルタイム性を確保可能な通信帯域、各ノードの使用する通信帯域に関して説明を行う。尚、冗長伝送に関しては、特開２００８−１３１５１７号公報に記載されているため、その説明は割愛する。以下では簡単のため、変調方式、誤り訂正符号化率等を一定とし、各ノードの使用する通信帯域をＴＤＭＡ通信フレームにおける固定長のタイムスロット数で示す。
【００２０】
また、各ＰＡＮでリアルタイム性を確保可能な通信帯域をスーパーフレームと定義し、複数のタイムスロットで構成される固定長の通信フレームとする。各ＰＡＮで、この音響データと映像データの有効期間の繰り返し周期であるスーパーフレームを一定周期として通信を行う。
【００２１】
図２は、各ＰＡＮで冗長伝送を行う際の通信フレームの構成を示す図である。また、各ＰＡＮにおけるスーパーフレーム長、制御局、ノードの通信帯域（タイムスロット数）を示している。
【００２２】
図２において、ＰＡＮ１０８、１０９における制御局と各ノードとがスーパーフレーム２００単位で同期して通信を行う。また、各スーパーフレーム２００では各ＰＡＮの制御局が送信したデータと同じデータをノードが中継伝送する。つまり、ＰＡＮ１０８では、スーパーフレームのタイムスロット２０１〜２０４を用い、ＰＡＮ１０９では、スーパーフレームのタイムスロット２０７〜２１０を用いて冗長伝送を行う。図２に示すように、各ノードの通信帯域を表すタイムスロット数は全て“１”とし、またスーパーフレーム長は“６”とする（２１２、２１３）。
【００２３】
本実施形態においては、各ノードの使用する通信帯域を“１”として説明する。図２に示す例では、各ＰＡＮにおいてスーパーフレーム毎に制御局とノードとを割り当てた場合、スーパーフレームの残りの通信帯域（無効帯域：空タイムスロット２０５、２１１）は“２”であり、２台までノードを移動させることが可能である。また、主制御局と従制御局の通信情報（冗長度）がＰＡＮ間通信領域２０６を用いて交換される。
【００２４】
図３は、主制御局の内部構成を示す概略ブロック図である。尚、従制御局の内部構成も主制御局の内部構成と同様である。ＣＰＵ３０３は、メモリに格納されているプログラムを実行し、主制御局全体の制御を司る。メモリ３０２は、主制御局で用いられるデータやコンピュータプログラム、主制御局の制御するＰＡＮを評価するための指標テーブル等を記憶する。主制御局又は従制御局が実行する各種動作のためのプログラムはメモリ３０２の記憶され、後述の各種動作はＣＰＵ３０３がメモリ３０２に記憶されたプログラムを実行することにより行われる。
【００２５】
無線通信部３０１は、送信するデータを無線信号に変調して、アンテナ３００を介して各ノードに送信する。また、アンテナ３００を介して受信された無線信号を受信データに復調する。入出力インタフェース３０５は、外部装置であるデータソース１１０から出力されたストリームデータ３１１を入力してフォーマット変換を行い、各ノードへのデータを生成する。
【００２６】
タイミング制御部３０４は、ＰＡＮ１０８に含まれる複数のノードのタイミング制御部と協働して、各タイムスロットのタイミング同期をとる。また、ＰＡＮ１０９を統括する従制御局と協働して、スーパーフレームのタイミング同期をとる。
【００２７】
品質測定部３０９は、主制御局（従制御局）が統括するＰＡＮ１０８（ＰＡＮ１０９）に含まれる複数のノードの品質測定部と協働して、各ノード間の通信リンクの品質を測定する。冗長度算出部３０６は、品質測定部３０９が測定した品質と主制御局（従制御局）が統括するＰＡＮ１０８（ＰＡＮ１０９）内の各ノードが測定した品質とから有効パス数を算出し、後述するアルゴリズムに基づきＰＡＮ１０８、１０９内の冗長性を評価する。ここで、主制御局が無線通信部３０１を通じてＰＡＮ１０９の従制御局と冗長度を交換し、有効パス数が予め定められた閾値より低下していれば、冗長性が保たれていないと判断する。そして、冗長性を回復するためにＰＡＮを移動させるノードをＰＡＮ１０８又は１０９から選出してノードの再配置を従制御局に通知する。
【００２８】
タイムスロット割り当て部３０７は、冗長度算出部３０６で選出されたノードをＰＡＮ内のタイムスロットに割り当てる。更に、入出力インタフェース３０５にＰＡＮ１０９より選出されたノードを通知し、各ノードへのデータに選出ノードのデータを追加する。
【００２９】
図４は、ノード１０２の内部構成を示す概略ブロック図である。尚、他のノード１０３〜１０７の内部構成もノード１０２の内部構成と同様である。ＣＰＵ４０３は、メモリに格納されているプログラムを実行し、ノード１０２全体の制御を司る。メモリ４０２は、ノード１０２で用いられるデータやコンピュータプログラムなどを記憶する。各ノードが実行する各種動作のためのプログラムはメモリ４０２の記憶され、後述の各種動作はＣＰＵ４０３がメモリ４０２に記憶されたプログラムを実行することにより行われる。
【００３０】
無線通信部４０１は、アンテナ４００を介して自ノードの属するＰＡＮの制御局及び、各ノードへのデータを変調して送信、若しくは受信して復調する。入出力インタフェース４０５は、復調した受信データから自ノードのデータを抽出して外部機器にあわせて信号のフォーマット変換を行う。
【００３１】
タイミング制御部４０４は、各ＰＡＮ内に含まれる制御局と協働してタイムスロットのタイミングの同期をとる。品質測定部４０９は、ＰＡＮに含まれる他のノード及び各制御局と協働して通信リンクの品質を測定する。
【００３２】
図５は、制御局及びノードの動作シーケンスを表す図である。図５では、説明を簡略化するために、主制御局、従制御局、ノード１０２のシーケンスのみを示しているが、通信システムの構成は図１に示す通りである。他のノードはＰＡＮ１０８、１０９の何れかに割り当てられ、各ＰＡＮにおいて冗長伝送するものとする。
【００３３】
まず、主制御局が周波数１、周波数２でＰＡＮ１０８、１０９内のノードの検出を行い（Ｓ５００）、従制御局も同様に周波数１、周波数２でノードの検出を行う（Ｓ５０１）。ノードの検出が終了すると、各制御局で検出できたノード情報を主制御局と従制御局で共有する（Ｓ５０２、Ｓ５０３）。
【００３４】
次に、主制御局は自局が統括し周波数１を使用して冗長伝送を行うＰＡＮ１０８に検出できたノードを割り当てる。一方、従制御局も自局が統括し周波数２を利用して冗長伝送を行うＰＡＮ１０９に検出できたノードを割り当てる。これにより、最初のＰＡＮ構成（初期トポロジ）が形成される（Ｓ５０４）。尚、この初期トポロジの形成処理の詳細は、図６、図７を使用して更に後述する。
【００３５】
ここで、主制御局は各ノードが使用する通信帯域を算出し、各ＰＡＮの通信帯域の上限を超過することがないようにノードを検出順に割り当てる。また、従制御局のみが検出できたノードはＰＡＮ１０９に割り当て、また同様に主制御局のみが検出可できたノードはＰＡＮ１０８に割り当てられる。
【００３６】
次に、ノード１０２は、図１に示す通信システムのＰＡＮ１０８に割り当てられているものとし、初期トポロジの形成後における各制御局及び全ノードの動作シーケンスを詳述する。
【００３７】
まず、主制御局及び従制御局と通信システム内の全ノード１０２〜１０７は周波数１、周波数２を使用してトレーニングを行い、周波数１、周波数２における全ての通信パスを検出する（Ｓ５０５）。ここで、トレーニングとは、ネットワーク内の全ノード間の通信パスを検出し、各通信パス間でのデータ送受信を行う際のアンテナ方向等、通信に必要な情報を決定することである。
【００３８】
その後、トレーニングが終了すると、トレーニングの結果を各制御局及び全てのノードで共有する（Ｓ５０６）。そして、各ＰＡＮにおける有効ノード数に基づいて各ＰＡＮにおける冗長性を評価し、各ＰＡＮにおける最適なノード割り当てを決定する（Ｓ５０７）。このノード割り当てアルゴリズムの詳細は、フローチャート及びノード割り当ての動作例を用いて後述する。
【００３９】
ノード割り当てアルゴリズムを実行した結果、選出されたノードへＰＡＮ間移動を通知し（Ｓ５０８）、選択されたノードが他のＰＡＮに移動する。ここでは、ノード１０２がＰＡＮ１０９の冗長性を達成するために選択され、ＰＡＮ１０８からＰＡＮ１０９へ移動するものとする。尚、ここでの移動とは、物理的な位置の移動ではなく、所属するＰＡＮを変更することを意味する。
【００４０】
次に、各制御局は、データソース１１０からストリームデータを受信し（Ｓ５０９、Ｓ５１０）、各ＰＡＮに属するノードのデータを受信したストリームデータから抽出する（Ｓ５１１、Ｓ５１２）。そして、各制御局では異なる周波数１、周波数２を利用してデータ送信を行う（Ｓ５１３、Ｓ５１４）。ここで、ノード１０２は、従制御局からの受信データから自局に必要なデータを抽出し、ＰＡＮ１０９に属する他のノードに対して受信データを中継伝送する（Ｓ５１５）。その後も、ＰＡＮ１０９内のノードは自局に必要なデータを抽出し、受信したデータを中継伝送する。また、ＰＡＮ１０８内においても同様の冗長伝送を行う。
【００４１】
ここで、図６、図７を使用して初期トポロジの形成方法に関して詳細に説明する。図６は、周波数１、周波数２を用いてトレーニングを行った結果の一例を示す図である。図６に示す通信パス６０３〜６１８は周波数１と周波数２で通信品質が閾値以上の通信パスである。また、通信パス６２０は周波数１のみ通信可能であり、通信パス６１９は周波数２でのみ通信可能である。ここで、通信パスには反射物６００〜６０２で反射されたパスも含まれる。
【００４２】
図６に示す表６２１は周波数１を使用した場合の主制御局までの各ノードの有効パスで、例えばＦ１経路１はノード１０２からノード１０３を経由して主制御局へ到達する通信パスを表す。また、ノード毎に有効パス数を合計したものが有効パス数として、９行目に示されている。また同様に、図６に示す表６２２は周波数２を使用した場合の従制御局への有効パスを表している。
【００４３】
ここで、周波数１と周波数２では何れかの周波数のみ通信可能なパス６２０、６１９が存在する。そのため、有効パスの表６２１、６２２を作成する際は、主制御局、従制御局への有効パス数が最大になるように各々の統括するＰＡＮで使用する周波数を決定する。尚、主制御局、従制御局への有効パス数に差が無い場合には、周波数の割り当ては各有効パスの品質から決定するか、ランダムに決定してもよいものとする。
【００４４】
主制御局は、表６２１、６２２の情報に基づき、通信システム内の複数ノードのネットワーク割り当てを決定する。まず主制御局は表６２１において最も経由頻度が高く、検出順の早いノード１０２をＰＡＮ１０８のノードとして選択する。
【００４５】
次に、表６２２においてノード１０２を経由する通信パス（表６２２の７、８行目）を除外し、従制御局への有効パスの内で最も経由頻度の高いノード１０７をＰＡＮ１０９のノードとして選択する。このとき、除外した有効パスに応じて各ノードの有効パス数を減算する。このようにして表６２１、６２２から交互にノードを選択して各ＰＡＮのノードの割り当てを決定し、初期トポロジを形成する。
【００４６】
図７に初期トポロジ及び有効パスと各ノードの経由状況、有効パス数を示す。表７１３、７１４において、グレーアウトされた有効パスはノード選択時に除外された有効パスである。表７１３、７１４より、主制御局が周波数１を使用して統括するＰＡＮ１０８にはノード１０２〜１０４が割り当てられる。また、従制御局が周波数２を使用して統括するＰＡＮ１０９にはノード１０５〜１０７が割り当てられる。以上が初期トポロジを形成する方法の一例であるが、初期トポロジを形成する際に、各ＰＡＮに検出順に交互にノードを割り当ててもよい。
【００４７】
次に、ＰＡＮ１０８、１０９におけるノード割り当てアルゴリズムを、図８〜図１２を用いて説明する。尚、図７に示す初期トポロジでは、予め各ＰＡＮで所望の冗長性が達成されるようにノードが割り当てられるため、ノード割り当てアルゴリズムを説明するために図８に示す状態を初期トポロジとして説明する。また、図８に示す通信トポロジは初期トポロジを形成する際に各ＰＡＮに検出順に交互にノードを割り当てるか、初期トポロジ形成後の通信状況の変化で形成されたものとする。
【００４８】
図８はＳ５０４における初期トポロジを表す図であり、ＰＡＮ１０８、１０９は図８に示す受信信号強度が所定の閾値RSSI_th以上の通信パス８０３〜８１４を形成する。また、図８に示す表は以下で説明するノード割り当てアルゴリズムで使用する各ＰＡＮにおける指標の算出例であり、各ノードにおける有効パス数、予め定めた冗長度と有効パス数との比較及び有効ノード数により構成される。
【００４９】
図９は、Ｓ５０７におけるノード割り当てアルゴリズムのフローチャートである。この処理は、主制御局のＣＰＵ３０３がメモリ３０２に書き込まれたコンピュータプログラム（ノード割り当てアルゴリズム）を実行することにより開始される。
【００５０】
まず、主制御局はＰＡＮ１０８、１０９における有効ノード数を算出する（Ｓ９０１）。尚、この有効ノード数の算出は、Ｓ５０５におけるトレーニング情報により各ノードにおける制御局までの通信パスのうち有効なパスを全て選出してカウントする。その結果、各ノードの有効パス数８１６、８１８はそれぞれ図８に示す値となる。
【００５１】
次に、各ノードにおける有効パスの数と予め定められた冗長度R_thとを比較し、比較の結果８１７、８１９に基づき、有効ノード数８２０、８２１を決定する。ここで、冗長度R_thを“２”とした場合、ＰＡＮ１０８の有効ノード数８２０は“３”、ＰＡＮ１０９の有効ノード数８２１は“２”となる。
【００５２】
次に、先に算出したＰＡＮ１０８の有効ノード数８２０とＰＡＮ１０８内の全ノード数とを比較する（Ｓ９０２）。比較の結果、等しい場合は更にＰＡＮ１０９の有効ノード数とＰＡＮ１０９内の全ノード数とを比較する（Ｓ９０３）。比較の結果が等しい場合にはＰＡＮ１０８及びＰＡＮ１０９内の全ノードが冗長度以上の有効パス数を確保できており、各ＰＡＮで所望の冗長性が達成されていると判定できるため、ノード割り当てアルゴリズムを終了する。
【００５３】
また、ＰＡＮ１０８及びＰＡＮ１０９における有効ノード数の比較結果が、上述の終了条件以外の場合、他の３つの条件で分岐し、各分岐により処理が異なる（処理Ａ〜Ｃ）。３つの分岐における条件式を順に示し、各分岐に対する処理１〜３をフローチャート及び動作例を挙げて説明する。
【００５４】
＜処理Ａ＞
Ｓ９０２での判定結果が“Ｙ”かつＳ９０３での判定結果が“Ｎ”の場合、式（１）、（２）の条件となり、主制御局は処理Ａを実行する。この条件の場合、ＰＡＮ１０８では所望の冗長性を達成しているが、ＰＡＮ１０９ではノード１０６が冗長度以上の有効パス数を確保できず、所望の冗長性が達成されていない。
【００５５】
（ＰＡＮ１０８の有効ノード数）＝（ＰＡＮ１０８のノード数）…式（１）
（ＰＡＮ１０９の有効ノード数）≠（ＰＡＮ１０９のノード数）…式（２）。
【００５６】
この処理Ａのフローチャートを図１０に示す。また、通信システムの動作例として初期トポロジを図８とし、ノード割り当てアルゴリズムを適用後のトポロジを図１３に示して説明を行う。また、これ以降説明するノード割り当てアルゴリズムの動作例は全て冗長度R_thを“２”とした場合のものとする。
【００５７】
この処理Ａでは、まずＰＡＮ１０８における有効パス数が最も少ないノード（以下ノードＡ）を選出する（Ｓ１０００）。ここで、ノードＡを選択する際にＰＡＮ１０９の残りの通信帯域を考慮する必要がある。即ち、ノードＡをＰＡＮ１０８より選択しＰＡＮ１０９に移動した場合にＰＡＮ１０９のリアルタイム性が損なわれないようにノードＡを選出する必要がある。各々のノードの使用する通信帯域に関しては上述した図２を用いて説明した通りである。
【００５８】
図８に示すＰＡＮ１０８の初期トポロジにおいて、有効パス数８１６のうち有効パス数が最も少ないノード１０２がノードＡとして選出される。図２において、ノード１０２の使用する通信帯域は“１”であり、ＰＡＮ１０９に移動した場合に、スーパーフレームにおける無効帯域“２”を超過しないため、移動可能であると判断できる。
【００５９】
次に、主制御局はノードＡとして選出したノード１０２がＰＡＮ１０９に加入した場合の有効ノード数を算出する（Ｓ１００２）。更に、主制御局はこのノード１０２がＰＡＮ１０８より抜けた場合の有効ノード数を算出する（Ｓ１００３）。これは、ＰＡＮ１０８よりノード１０２をＰＡＮ１０９に移動したことによるＰＡＮ１０８の冗長性への影響を調べるためである。
【００６０】
図１３に、Ｓ１００２、Ｓ１００３での処理結果から算出された指標テーブルを示す。図１３において、ノード１０２がＰＡＮ１０９に加入することによりノード１０６の有効パス数は“２”となり、ＰＡＮ１０９の有効ノード数は“４”となる。尚、ノード１０２がＰＡＮ１０８より移動することによりノード１０４の有効パス数は減少する。しかし、それぞれの有効パス数は、冗長度R_thが２以上を維持し、ＰＡＮ１０８の有効ノード数は“２”となり、ＰＡＮ１０８、１０９で共に冗長性が達成される。
【００６１】
次に、算出した各ＰＡＮの有効ノード数と各ＰＡＮにおける全ノード数とを比較する（Ｓ１００４、Ｓ１００５）。図１３の指標テーブルにおいてＰＡＮ１０９の有効ノード数は“４”であり、移動させるノード１０２を含めたＰＡＮ１０９内の全ノード数“４”と一致するのでＰＡＮ１０９においては所望の冗長性が達成できる。一方、ＰＡＮ１０８の有効ノード数は“２”となり、ノード１０２を除いたＰＡＮ１０８内の全ノード数と一致するため、所望の冗長度を維持することができる。そこで、ノード１０２をＰＡＮ１０８からＰＡＮ１０９に割り当て直し（Ｓ１００８）、この処理を終了する。
【００６２】
また、ノードＡをＰＡＮ１０９に移動した際に、各ＰＡＮの有効ノード数が各ＰＡＮのノード数と一致しない場合にはＰＡＮ１０８内の次に有効パス数の少ないノードをノードＡとして各ＰＡＮにおける有効ノード数を再計算して比較する（Ｓ１００６）。この処理を各ＰＡＮの有効ノード数と各ＰＡＮのノード数が等しくなるか、或いはＰＡＮ１０８内の全ノードに関して実行するまで繰り返し行う（Ｓ１００１〜Ｓ１００７）。尚、ＰＡＮ１０８内の全ノードについて有効パス数の算出及び比較処理を試行し、ＰＡＮ１０８及びＰＡＮ１０９の有効ノード数が各ＰＡＮ内の全ノード数と一致しない場合、ＰＡＮ１０９へノードを移動させずに、この処理を終了する。
【００６３】
＜処理Ｂ＞
図１１に処理Ｂにおけるフローチャートを示す。この処理Ｂは処理Ａと所望の冗長性を達成できていないＰＡＮが逆となる場合の処理であり、詳細な動作に関しては割愛する。下記条件式（３）、（４）で示すように、この処理ＢはＰＡＮ１０８の冗長性が保たれていない場合の処理となる。
【００６４】
（ＰＡＮ１０８の有効ノード数）≠（ＰＡＮ１０８のノード数）  …式（３）
（ＰＡＮ１０９の有効ノード数）＝（ＰＡＮ１０９のノード数）  …式（４）。
【００６５】
＜処理Ｃ＞
次に、処理Ｃに関して図１２のフローチャートと図１４に示す初期トポロジを使用して説明を行う。また、各ＰＡＮの初期トポロジに関する指標テーブルを図１４に示す。この処理Ｃでは、下記条件式（５）、（６）で示すように、ＰＡＮ１０８及びＰＡＮ１０９の双方で所望の冗長性が達成されていない場合の処理となる。
【００６６】
（ＰＡＮ１０８の有効ノード数）≠（ＰＡＮ１０８のノード数）  …式（５）
（ＰＡＮ１０９の有効ノード数）≠（ＰＡＮ１０９のノード数）  …式（６）。
【００６７】
まず、ＰＡＮ１０８の有効ノード比とＰＡＮ１０９の有効ノード比とを各々算出し（Ｓ１２００）、各ＰＡＮの有効ノード比を比較する（Ｓ１２０１）。ここで、有効ノード比とは、ＰＡＮ内の全ノードに対する有効ノード数の比であり、以下の式で定義する。
【００６８】
（有効ノード比）＝（有効ノード数）／（ＰＡＮ内のノード数）  …式（７）。
【００６９】
図１４に示す初期トポロジにおいて各ＰＡＮにおける有効ノード比１４０１、１４０２は等しく、双方とも“２／３”となる。Ｓ１２０１における判定の結果が“Ｎ”の場合はＳ１２０３へ進み、ＰＡＮ１０８の有効ノード比とＰＡＮ１０９の有効ノード比とを比較し、比較結果に応じて、上述した処理Ａ又は処理Ｂを行う。即ち、有効ノード比が大きい（有効ノード数が多い）ＰＡＮから有効ノード比の小さい（有効ノード数が少ない）ＰＡＮへノードを移動して所望の冗長度を達成する処理が行われる。
【００７０】
また、Ｓ１２０１における判定の結果が“Ｙ”の場合はＳ１２０２へ進み、更にＰＡＮ１０８及びＰＡＮ１０９の有効パス総数を算出する。ここで、有効パス総数は各ＰＡＮ内の有効パスを足し合わせたものである。
【００７１】
そして、ＰＡＮ１０８の有効パス総数とＰＡＮ１０９の有効パス総数とを比較し、比較結果に応じて、上述した処理Ａ又は処理Ｂを実行する。即ち、有効パス総数の多いＰＡＮからノードを選出して他のＰＡＮに移動する処理を行う。
【００７２】
図１４に示す初期トポロジでは、ＰＡＮ１０８における有効パス総数１４０３は“９”となりＰＡＮ１０９における有効パス総数１４０４は“７”となる。ＰＡＮ１０９に比べてＰＡＮ１０８の有効パス総数が多いため、処理Ａが実行され、図１４と同じトポロジが形成される。
【００７３】
上述した処理Ａ〜Ｃにおいて、有効ノード数が各ＰＡＮ内のノード数と一致しない場合、ノード割り当てアルゴリズムを終了する。しかし、冗長度R_thを下げてノード割り当てアルゴリズムを繰り返し実行することで通信システムにおける冗長性を最適化することができる。
【００７４】
尚、上述のノード割り当てアルゴリズムでは、冗長性が保たれていないＰＡＮにおいて有効パス数が冗長度未満のノードの有効パス数を増やすために、他のＰＡＮからノードを移動した。他の方法として、有効パス数が冗長度未満のノードを他のＰＡＮに移動させて所望の冗長性を達成してもよい。
【００７５】
また、ノード割り当てアルゴリズムは、図１５に示すように、通信システム内に障害物が発生した際のＰＡＮ１０９の冗長性を回復する場合にも適用できる。図１５において、ＰＡＮ１０９内に障害物１５００が発生した場合に、ノード１０６はノード１０５からの受信データが途切れたことを検出する。ノード１０６は、受信データの連続エラー回数をカウントし、予め定めた回数以上のエラーが継続する場合に通信パスの途切れを従制御局に通知する。
【００７６】
更に、従制御局は主制御局に通信パスの途切れを通知し、主制御局はＰＡＮ１０９内の有効ノード数を再計算し、ノード割り当てアルゴリズムを実行する。尚、図１５においてもノード１０６の有効通信パス数を回復するために、ノード１０２をＰＡＮ１０９に移動し、図１４と同じトポロジが形成される。
【００７７】
［変形例］
上述した実施形態では、図２に示すように、移動ノードの使用する通信帯域が各ＰＡＮにおける無効帯域以下の場合を説明した。変形例では、各ＰＡＮの無効帯域がない場合、若しくは移動ノードの使用する通信帯域が移動先のＰＡＮの無効帯域を超える場合を説明する。
【００７８】
各ＰＡＮの無効帯域がない場合には、ノードを他のＰＡＮから移動することができないため、ＰＡＮ間でノードの入れ替えを行う。以下では、各ＰＡＮ間でノードを入れ替える場合のノード割り当てアルゴリズムに関して説明する。
【００７９】
変形例のアルゴリズムは、本実施形態の図１０、図１１に示す処理Ａ、Ｂの箇所のみが異なるため、ここでは処理Ａ’、Ｂ’として、異なる部分のみを説明する。
【００８０】
＜処理Ａ’＞
図１６に処理Ａ’のフローチャートを示す。また、動作例として、初期トポロジと指標テーブルは図８を用い、アルゴリズム適用後のトポロジと指標テーブルは図１７を用いて説明する。
【００８１】
まず、ＰＡＮ１０９において有効パス数が冗長度未満のノードＡ’を選出する（Ｓ１６００）。図８ではＰＡＮ１０９における有効パス数８１８より、ノード１０６の有効パス数が“１”であり、ノード１０６がノードＡ’として選出される。但し、初期トポロジにおいて有効パス数が冗長度未満のノードが複数台存在する場合は有効パス数が最も少ないノードをノードＡ’とする。
【００８２】
次に、ＰＡＮ１０８において有効パス数が最も少ないノードＢ’を選出する。図８ではＰＡＮ１０８の有効パス数８１６より、ノード１０２がノードＢ’として選出される。そして、主制御局がノードＡ’とノードＢ’を各ＰＡＮで入れ替えた場合の有効ノード数を算出する（Ｓ１６０３、Ｓ１６０４）。
【００８３】
図１７は処理Ａ’により算出された指標テーブルであり、ノード１０２がＰＡＮ１０９に移動し、ノード１０６がＰＡＮ１０８に移動することにより、異なる通信パス１７００〜１７０３が形成される。
【００８４】
次に、算出した各ＰＡＮの有効ノード数と各ＰＡＮの全ノード数とを比較する（Ｓ１６０５、Ｓ１６０６）。図１７に示すように、ＰＡＮ１０９の有効ノード数は“３”となり、ノード１０２を含むＰＡＮ１０９内の全ノード数と一致するので、所望の冗長性が達成される。また、ＰＡＮ１０８の有効ノード数も“３”となり、ノード１０６を含む全ノード数と一致するので、所望の冗長度が達成される。即ち、ノードＢ’をＰＡＮ１０８からＰＡＮ１０９に割り当て直し、ノードＡ’をＰＡＮ１０９からＰＡＮ１０８に割り当て直して（Ｓ１６０９）、この処理を終了する。
【００８５】
また、Ｓ１６０５、Ｓ１６０６で各ＰＡＮの冗長性が達成されない場合にＰＡＮ１０９において次に有効パス数の少ないノードをノードＢ’として本実施形態と同様に繰り返し実行する。
【００８６】
＜処理Ｂ’＞
処理Ｂ’は、ＰＡＮ１０８とＰＡＮ１０９の関係が逆になる場合の処理であり、基本的なアルゴリズムは処理Ａ’と同じとなるため、ここでは説明を割愛する。
【００８７】
尚、ノード割り当てアルゴリズムにおいて、移動するノード若しくは入れ替えるノードは一台として説明を行ったが、これらのノードの通信帯域が各ＰＡＮの無効帯域を超過しない限り複数台選択してもよいものとする。
【００８８】
［他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005588306.tif 000002
【図２】
0005588306.tif 000003
【図３】
0005588306.tif 000004
【図４】
0005588306.tif 000005
【図５】
0005588306.tif 000006
【図６】
0005588306.tif 000007
【図７】
0005588306.tif 000008
【図８】
0005588306.tif 000009
【図９】
0005588306.tif 000010
【図１０】
0005588306.tif 000011
【図１１】
0005588306.tif 000012
【図１２】
0005588306.tif 000013
【図１３】
0005588306.tif 000014
【図１４】
0005588306.tif 000015
【図１５】
0005588306.tif 000016
【図１６】
0005588306.tif 000017
【図１７】
0005588306.tif 000018