(57)【要約】【課題】    本発明によれば、複数の通信装置とユニキャストで通信する通信制御装置を備えるネットワークシステムにおいて、通信制御装置が各通信装置と通信する際の輻輳を抑制し、かつ通信装置間の通信に要する時間を短縮することができる。【解決手段】  本発明は、ネットワークを構成する複数の通信装置を管理する通信制御装置において、ネットワークが輻輳状態にあるか否かを判定する輻輳有無判断手段と、判断結果に応じて、当該通信制御装置で同時に接続する通信装置の同時接続数を決定する同時接続台数決定手段と、決定した同時接続数を上限として、接続する通信装置を選択する通信装置選択部と、選択した上記通信装置と通信する通信処理手段とを有することを特徴とする。【選択図】      図１
2016105561.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを構成する複数の通信装置を管理する通信制御装置において、
上記ネットワークが輻輳状態にあるか否かを判定する輻輳有無判断手段と、
上記輻輳有無判断手段の判断結果に応じて、当該通信制御装置で同時に接続する通信装置の同時接続数を決定する同時接続台数決定手段と、
上記同時接続台数決定手段で決定した同時接続数を上限として、接続する上記通信装置を選択する通信装置選択部と、
上記通信装置選択部で選択した上記通信装置と通信する通信処理手段と
を有することを特徴とする通信制御装置。
【請求項２】
上記輻輳有無判断手段は、上記通信装置との間の通信に係るデータ紛失率に基づいて輻輳の有無を判断することを特徴とする請求項１に記載の通信制御装置。
【請求項３】
上記輻輳判断手段は、上記通信装置との間の通信に係るターンアラウンド時間に基づいて輻輳の有無を判断することを特徴とする請求項１に記載の通信制御装置。
【請求項４】
上記同時接続台数決定手段は、上記輻輳有無判断手段で上記ネットワークが輻輳状態でないと判断する間、同時接続数を増加させていき、上記輻輳有無判断手段で上記ネットワークが輻輳状態でないと判断する間、同時接続数を減少させていくことを特徴とする請求項１に記載の通信制御装置。
【請求項５】
上記通信処理手段で処理されるデータには、セキュリティ情報の管理のためのメッセージが含まれることを特徴とする請求項１に記載の通信制御装置。
【請求項６】
上記通信処理手段で処理されるデータには、当該通信制御装置に対する上記通信装置との間の参加認証処理のメッセージが含まれることを特徴とする請求項１に記載の通信制御装置。
【請求項７】
上記通信処理手段で処理されるデータは、上記通信制御装置から上記通信装置に送られる制御情報メッセージが含まれることを特徴とする請求項１に記載の通信制御装置
【請求項８】
上記通信装置選択部は、ソースルーティングで用いる経路情報をもとに、上記ネットワークにおける負荷を分散するように上記通信装置を選択することを特徴とする請求項１に記載の通信制御装置。
【請求項９】
上記通信装置選択部は、上記ネットワークの輻輳状態に応じて変化する最大中継負荷を超えないように選択することを特徴とする請求項１に記載の通信制御装置
【請求項１０】
上記通信装置選択部は、当該通信制御装置と上記通信装置の間のホップ数をもとに、相互にホップ数が異なる上記通信装置を選択することを特徴とする請求項１に記載の通信制御装置
【請求項１１】
上記通信装置選択部は、ネットワークの輻輳状態に応じて変化するホップ数の閾値により、ホップ数が閾値以上離れた上記通信装置を選択することを特徴とする請求項１に記載の通信制御装置
【請求項１２】
ネットワークを構成する複数の通信装置を管理する通信制御装置において、
事前設定された通信装置数を上限として、接続する上記通信装置を選択する通信装置選択部と、
上記通信装置選択部で選択した上記通信装置と通信する通信処理手段と
を有することを特徴とする通信制御装置
【請求項１３】
複数の通信装置と、上記通信装置の通信を制御する通信制御装置とを備えるネットワークシステムにおいて、上記通信制御装置として請求項１〜１２のいずれかに記載の通信制御装置を適用したことを特徴とするネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、通信制御装置及びネットワークシステムに関し、例えば、多数の無線ノードで構成される無線メッシュネットワーク等のネットワークシステムに適用し得る。
【背景技術】
【０００２】
近年、複数の無線ノードで構成される無線メッシュネットワークを活用するサービスとして、家庭やオフィスにおけるエネルギーマネージメント、構造物のヘルスモニタリング、環境モニタリング等が提案されている。無線メッシュネットワークは、通信装置同士の情報交換に基づいて、常に最適な通信経路が自律的に選択されるネットワークであり、近年は、より多数の通信装置によって形成される無線メッシュネットワークの実用化が期待されている。
【０００３】
ここで、現在世に広く普及する無線ＬＡＮや携帯電話網と同様に、無線メッシュネットワークにおいても、セキュリティの確保が重要になる。例えば、ネットワーク内に権限のない第３者装置を接続させないためのネットワーク参加認証機能、ネットワーク内外の第３者による通信内容の盗聴・改竄・なりすましを防ぐ通信の暗号化と認証機能、そして、これらのセキュリティ機能を提供する上で土台となる鍵管理（登録、更新、無効化等）機能である。
【０００４】
無線ネットワークにおいて、ネットワークに参加している通信装置を認証するためには、通信装置と認証サーバ聞で認証メッセージを交換する必要がある。例えば、従来の無線ネットワークにおける認証方法として、ＥＡＰ−ＴＬＳ（Ｅｘｔｅｎｓｉｂｌｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ−Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）を利用する場合、選択する暗号スイートに応じて、証明書等の認証情報が交換されることになる。無線メッシュネットワークでは、各通信装置が中継端末となり、通信装置と認証サーバ間での認証処理に必要なメッセージが中継端末を介して何往復も交換されることになる。そのため、このようなメッセージの交換が多数の通信装置により一斉に実施されるような状況では、認証サーバ近辺で通信トラフィックが集中し、ネットワークの輻輳が生じる可能性がある。
【０００５】
また、暗号鍵のようなセキュリティ情報を更新する場合、セキュリティ情報を管理する管理サーバは、受信する必要のある全ての通信装置に確実に新しいセキュリティ情報を配送する必要がある。このような場合、各通信装置はセキュリティ情報を受信したことを管理サーバに知らせるために、受信応答メッセージを送信する。そして管理サーバは受信応答メッセージの受信をもって、その通信装置への配送が成功したことを知る。また管理サーバは、受信応答を受信できなかった通信装置に対しては、再度先ほどのセキュリティ情報の配送処理を行う。このような手続きを、非常に多くの通信装置が存在する大規模ネットワークで行う場合を考える。まず管理サーバが、全ての通信装置に一斉にセキュリティ情報の配送を試みるとする。この場合、多くの通信装置がほぼ同時にセキュリティ情報を受信し、同時に管理サーバに受信応答を送信するため、管理サーバ近辺で、通信トラフィックが集中し、ネットワークの輻輳が生じる可能性がある。逆に、管理サーバが一台ずつ順番にセキュリティ情報の配送を試みることを考える。この場合、受信応答も一つずつ管理サーバに送られることになるため、輻輳の問題は回避できるが、通信装置数に比例して配送時間は増加していく。そして、無線メッシュネットワーク各通信装置において、セキュリティ情報は、場合によっては迅速な配送が求められる場合がある。例えば、いずれかの通信装置のセキュリティ情報が外部に漏洩してしまった場合、同じ情報を共有する他の全ての通信装置も同様に危険にさらされている状態にあるため、いち早く新しいセキュリティ情報に更新する必要がある。
【０００６】
以上のように、無線メッシュネットワークでは、輻輳を抑制し、かつ迅速なデータ配送を行うことが求められる。上述のような課題を解決する従来技術としては、ＴＣＰウインドウ制御におけるスロー・スタートアルゴリズム（非特許文献１参照）が知られている。スロー・スタートアルゴリズムは、通信装置間でのデータ送受信に際して、連続で送信できるデータ数を調整することで輻輳を抑制する方式である。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Ｗ．Ｒｉｃｈａｒｄ  Ｓｔｅｖｅｎｓ、橘康雄、井上尚司、１９９７、詳解ＴＣＰ／ＩＰ〈Ｖｏｌ．１〉プロトコル、ピアソンエデュケーション、ＰＰ．３２３−３２５、ＰＰ．３４９−３５１
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、従来のスロー・スタートアルゴリズムは、一つの通信装置に対するデータの送信量を調整するための技術であるため、複数の通信装置へ同時接続を行うことによって発生する輻輳を抑制するものではない。また、従来のスロー・スタートアルゴリズムは、エンド・エンドの通信結果のみによって輻輳を制御するため、中継区間での輻輳を抑制するような通信制御は行えない。大規模な無線メッシュネットワークは、マルチホップで実現されることが多いため、管理サーバと通信装置の間には複数の中継装置が存在することになる。そのため、このようなネットワークでは中継装置での輻輳も考慮した通信制御方式が必要である。
【０００９】
そのため、複数の通信装置とユニキャストで通信する通信制御装置を備えるネットワークシステムにおいて、通信制御装置が各通信装置と通信する際の輻輳を抑制し、かつ通信装置間の通信に要する時間を短縮することが望まれている。
【課題を解決するための手段】
【００１０】
第１の本発明は、ネットワークを構成する複数の通信装置を管理する通信制御装置において、（１）上記ネットワークが輻輳状態にあるか否かを判定する輻輳有無判断手段と、（２）上記輻輳有無判断手段の判断結果に応じて、当該通信制御装置で同時に接続する通信装置の同時接続数を決定する同時接続台数決定手段と、（３）上記同時接続台数決定手段で決定した同時接続数を上限として、接続する上記通信装置を選択する通信装置選択部と、（４）上記通信装置選択部で選択した上記通信装置と通信する通信処理手段とを有することを特徴とする。
【００１１】
第２の本発明は、ネットワークを構成する複数の通信装置を管理する通信制御装置において、（１）事前設定された通信装置数を上限として、接続する上記通信装置を選択する通信装置選択部と、（２）上記通信装置選択部で選択した上記通信装置と通信する通信処理手段とを有することを特徴とする。
【００１２】
第３の本発明は、複数の通信装置と、上記通信装置の通信を制御する通信制御装置とを備えるネットワークシステムにおいて、上記通信制御装置として第１又は第２の本発明の通信制御装置を適用したことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、複数の通信装置とユニキャストで通信する通信制御装置を備えるネットワークシステムにおいて、通信制御装置が各通信装置と通信する際の輻輳を抑制し、かつ通信装置間の通信に要する時間を短縮することができる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施形態に係る管理サーバの機能的構成について示したブロック図である。
【図２】第１の実施形態に係るネットワークシステムの全体構成例について示したブロック図である。
【図３】第１の実施形態に係る通信装置の構成例について示したブロック図である。
【図４】第１の実施形態に係る管理サーバで、ソースルーティング処理の結果得られる論理的なトポロジ（ソースルーティングトポロジ）の例について示した説明図である。
【図５】第１の実施形態に係るネットワークシステムの動作例について示したフローチャートである。
【図６】第２の実施形態に係る管理サーバの機能的構成について示したブロック図である。
【図７】第１の実施形態の変形実施例に係る管理サーバの機能的構成について示した構成例のブロック図（その１）である。
【図８】第２の実施形態の変形実施例に係る管理サーバの機能的構成について示した構成例のブロック図（その１）である。
【図９】第１の実施形態の変形実施例に係る管理サーバの機能的構成について示した構成例のブロック図（その２）である。
【図１０】第２の実施形態の変形実施例に係る管理サーバの機能的構成について示した構成例のブロック図（その２）である。
【発明を実施するための形態】
【００１５】
（Ａ）第１の実施形態
以下、本発明による通信制御装置及びネットワークシステムの第１の実施形態を、図面を参照しながら詳述する。なお、以下では、本発明の通信制御装置を管理サーバに適用した例について説明する。
【００１６】
（Ａ−１）第１の実施形態の構成
図２は、この実施形態のネットワークシステム１の全体構成を示すブロック図である。なお、図２において括弧内の符号は後述する第２の実施形態でのみ用いられる符号である。
【００１７】
この実施形態において、ネットワークシステム１には、ネットワーク４０を構成している複数の通信装置１０と、管理サーバ２０とが配置されているものとして説明する。なお、通信システム１に配置される通信装置１０及び管理サーバ２０の数は限定されないものである。この実施形態では、ネットワークシステム１には、８つの通信装置１０（１０−１〜１０−８）が配置されているものとして説明する。ネットワーク４０としては、例えば、無線メッシュネットワーク等の種々の無線ネットワーク構成を適用することができる。図２に示す各通信装置１０は、ネットワーク４０を構成するノードである。ネットワークシステム１では、管理サーバ２０により、ネットワーク４０に参加している通信装置１０（ノード）が管理されているものとする。
【００１８】
各通信装置１０に搭載される上位機能（アプリケーション）については限定されないものであり、例えば、センサノード等の無線通信を行うノード（例えば、種々の無線ＬＡＮのインタフェース仕様に基づいて無線通信を行う無線ノード）を適用することができる。
【００１９】
管理サーバ２０は、各通信装置１０の認証（ネットワーク４０への参加に際しての認証処理）を実行する。管理サーバ２０が対応する認証方式については限定されないものであるが、例えば、ＥＡＰ−ＴＬＳ等を適用することができる。管理サーバ２０と、各通信装置１０との間では、認証処理に当たって、証明書や認証情報等の認証処理に必要なメッセージのデータが交換される。言い換えると、管理サーバ２０と、各通信装置１０との間では、認証処理に係るメッセージがユニキャストの通信により交換される。そのため、管理サーバ２０では、ネットワーク４０上の全ての通信装置１０と認証処理を行う必要があるため、多数の通信装置１０に係る認証処理が同時期に発生した場合、当該管理サーバ２０の近辺では、大量のトラヒックが発生して輻輳するおそれがある。以下では、管理サーバ２０及び通信装置１０では、上述のメッセージ以外のデータについても送受信されるが、以下では、輻輳の原因となる可能性がある上述のメッセージの処理を中心として説明する。また、ネットワークシステム１上のノード間で送受信されるメッセージの具体的な形式については限定されないものであるが、以下では例として、ＩＰパケット（イーサネット（登録商標）フレーム）が用いられるものとして説明する。
【００２０】
次に、管理サーバ２０の内部構成について図１のブロック図を用いて説明する。
【００２１】
管理サーバ２０は、管理サーバ２０、輻輳有無判断部２１、同時接続台数決定部２２、ルーティング制御部２３、通信装置割当選択部２４、メッセージ処理部２５、受信部２６及び送信部２７を有している。
【００２２】
受信部２６は、無線通信によりデータ受信するものであり、例えば、通信装置１０から受信したメッセージを、メッセージ処理部２５に与える処理等を行う。
【００２３】
送信部２７は、無線通信によりデータ送信するものであり、例えば、メッセージ処理部２５で作成されたメッセージを、通信装置１０に向けて送信する処理等を行う。
【００２４】
管理サーバ２０では、受信部２６及び送信部２７により無線通信インタフェースが構成されている。受信部２６及び送信部２７に適用する無線ＬＡＮの仕様等については限定されないものであるが例えば、ＩＥＥＥ８０２．１１シリーズ等の無線ＬＡＮインタフェースを適用することができる。
【００２５】
輻輳有無判断部２１は、メッセージ処理部２５から与えられた受信メッセージおよび、送信メッセージより、ネットワーク４０の輻輳有無（ネットワーク４０の混雑の状況）を判断する処理を行う。この実施形態では、輻輳有無判断部２１は、所定よりもネットワーク４０の混雑の度合い（負荷）が大きいか否かを判断するものとする。そして、輻輳有無判断部２１は、所定よりもネットワーク４０の混雑の度合いが大きい場合にネットワーク４０が輻輳状態であると判断し、そうでない場合にネットワーク４０が輻輳状態でない（非輻輳状態）と判断するものとする。
【００２６】
輻輳有無判断部２１は、例えば、接続中の各通信装置１０（例えば、ＴＣＰコネクションを接続中の通信装置１０）について、送信メッセージ数（管理サーバ２０が送信したメッセージの数）に対する受信メッセージの数（例えば、メッセージ送信後に受信確認ができた数）等から求まるデータ紛失率（例えば、パケットのドロップ率）を求め、求めたデータ紛失率に基づいてネットワーク４０の混雑度合いを判断するようにしてもよい。この場合、輻輳有無判断部２１は、例えば、接続中の通信装置１０に係る過去の所定期間のデータ紛失率の平均値を求め、そのデータ紛失率の平均値が所定の閾値以上の場合ネットワーク４０の混雑度合いが所定より大きい（すなわち、輻輳状態）と判断し、そうでない場合ネットワーク４０の混雑度合いが所定よりも小さい（すなわち、非輻輳状態）と判断するようにしてもよい。
【００２７】
また、輻輳有無判断部２１は、例えば、送信メッセージの送信時間と対応する受信メッセージの受信時間（例えば、当該送信メッセージの確認応答のメッセージの受信タイミング）から求まるターンアラウンド時間に基づいてネットワーク４０の輻輳有無（混雑度合い）を判断するようにしてもよい。この場合、輻輳有無判断部２１は、例えば、接続中の通信装置１０に係る過去の所定期間のターンアラウンド時間の平均値を求め、そのターンアラウンド時間の平均値が、所定の閾値以上の場合、ネットワーク４０の混雑度合いが所定より大きいと判断（輻輳状態と判断）し、そうでない場合ネットワーク４０の混雑度合いが所定よりも小さい（輻輳状態でない）と判断するようにしてもよい。この場合、管理サーバ２０から見て、通信装置１０ごとにホップ数が異なる場合があるため、輻輳有無判断部２１は、例えば、ホップ数に比例した閾値を設定して、ネットワーク４０の輻輳有無（混雑度合い）を判断するようにしてもよい。具体的には、例えば、輻輳有無判断部２１は、接続中の通信装置１０ごとに、（１ホップで通信可能な通信装置１０との最大ターンアラウンド時間）×（通信装置１０までのホップ数）を求めて閾値を設定するようにしてもよい。
【００２８】
さらに、輻輳有無判断部２１は、上述のデータ紛失率とターンアラウンド時間の組み合わせに基づいて、ネットワーク４０の輻輳有無を判断（例えば、データ紛失率とターンアラウンド時間を重みづけ加算して所定の閾値と比較して判断）するようにしてもよい。この場合、輻輳有無判断部２１は、輻輳状態を判定するために必要な情報（例えば送信メッセージ、受信メッセージ、閾値となるデータ紛失率、ターンアラウンド時間など）を記憶しておくためのメモリを内部で保持してもよい。輻輳有無判断部２１は、輻輳の判断結果を同時接続台数決定部２２に与える。
【００２９】
同時接続台数決定部２２は、輻輳有無判断部２１から与えられたネットワークの混雑状態の判断結果に基づいて、当該管理サーバ２０が同時に接続可能な通信装置１０の上限数（以下「同時接続台数」とも呼ぶ）を判断する。同時接続台数決定部２２は、例えば、ネットワーク４０が輻輳状態とならない範囲で、当該管理サーバ２０が同時に接続可能な通信装置１０の上限数を同時接続可能台数として求める。
【００３０】
この実施形態では、同時接続台数決定部２２は、輻輳有無判断部２１で輻輳状態にあると判断されるまで、徐々に同時接続台数を増やしていき、輻輳状態にあると判断されたときに、輻輳状態が解消されるまで、同時接続台数を減らすものとする。言い換えると、同時接続台数決定部２２は、輻輳有無判断部２１で輻輳状態でないと判断されている間同時接続台数を増加させてゆき、輻輳状態であると判断されている間、同時接続台数を減少させてゆくフィードバック処理を行う。
【００３１】
例えば、同時接続台数決定部２２は、当初同時接続台数を１（１台の通信装置１０とだけ通信を行う状態）とし、その結果輻輳有無判断部２１で輻輳無しと判定された場合は、同時接続台数を１増やし、２台に対して同時に通信を行う。そして、ここでも輻輳有無判断部２１で輻輳無しと判定された場合、同時接続台数決定部２２は、さらに同時接続台数を増やしていく。同時接続台数の増やし方は、１台ずつ増やしていってもよいし、１、２、４、１６、・・・といったように幾何級数的に増やしていってもよい。
【００３２】
また、上述の通り、同時接続台数決定部２２は、輻輳有無判断部２１で輻輳状態にあると判断された場合、同時接続台数を減らす。例えば、輻輳有無判断部２１は、輻輳状態になかった直前の同時接続台数に戻してもよいし、現在の同時接続台数の半分にするといったように、何らかの規則に従って減少させてもよい。この場合、同時接続台数を減らしても輻輳状態にあると判断された場合、接続台数決定部２２は、さらに接続台数を減らしていく。また、この場合、輻輳状態が解消された場合、接続台数決定部２２は、再度同時接続台数を増やしていってもよいし、しばらくは同じ接続台数に固定して運用してもよい。さらに、この場合同時接続台数決定部２２は、導出された同時接続台数を通信装置割当選択部２４に与える。以下では、同時接続台数決定部２２が決定した同時接続台数を「Ｎ」とも表すものとする。
【００３３】
ルーティング制御部２３は、管理サーバ２０各通信装置１０に対する経路を決定（メッセージを伝送する中継経路のノードを選択する決定）をする。ルーティング制御部２３が行うルーティング方式は限定されないものであるが、この実施形態のルーティング制御部２３は、ソースルーティングにより、管理サーバ２０と通信装置１０との間の経路決定（ルーティング）を行うもとする。すなわち、ルーティング制御部２３は、ソースルーティングを行うための各通信装置１０の経路情報を保持・管理する手段を有している。ルーティング制御部２３が、各通信装置１０に対する経路を決定し、経路情報を生成する処理については限定されないものであり、例えば、種々のソースルーティングに対応したルータ等と同様の構成を適用することができる。また、ルーティング制御部２３では、予め各通信装置に係る経路を設定可能な構成としてもよい。
【００３４】
ソースルーティングとは、メッセージ送信者（ここでは管理サーバ２０）があて先となる通信装置１０までの経路情報（中継装置情報）を保持していて、その情報をもとに中継を行うルーティング方式である。したがって、この実施形態の各通信装置１０は、ソースルーティングに係る経路設定が行われたパケットを処理（ヘッダで指定されたルートでのパケット転送）を行うことが可能な構成となっているものとして説明する。
【００３５】
通信装置割当選択部２４は、同時接続台数決定部２２から与えられた同時接続台数を、どの通信装置１０に割り当てるかを判定する。この実施形態の通信装置割当選択部２４は、通信装置１０ごとのソースルーティングで決定した経路情報を利用して行うものとして説明する。この実施形態の通信装置割当選択部２４は、ルーティング制御部２３から経路情報を取得し、各通信装置１０までの経路情報（ソースルーティングの結果中継するノードの情報）を参照し、各通信装置１０の中継負荷が偏らないように通信装置１０を割り当てるものとする。中継負荷とは、ある通信装置１０が、同時接続を行う通信装置１０の数に対して、それらの通信装置１０へメッセージを送信する際の中継者となる数である。例えば、３台の通信装置１０と管理サーバ２０との間のメッセージを中継する必要がある通信装置１０（すなわち、３つの通信セッションを中継する通信装置１０）の中継負荷は「３」となる。
【００３６】
次に、通信装置割当選択部２４が同時接続台数Ｎ分の通信装置１０を割当てる処理について説明する。
【００３７】
図４は、ルーティング制御部２３で、通信装置１０−１〜１０−８についてソースリーティングした場合の結果について示した説明図である。図４では、管理サーバ２０から見た通信装置１０−１〜１０−８の論理的なトポロジ（ソースルーティングの結果得られる論理的なトポロジ、以下「ソースルーティングトポロジ」とも呼ぶ）について示した説明図である。図４では、通信装置１０−１〜１０−８のそれぞれの識別子をＴ１〜Ｔ８と図示している。以下では、通信装置１０−１〜１０−８を、それぞれノードＴ１〜Ｔ８とも呼ぶものとする。
【００３８】
例えば、ノード通信装置１０−１〜１０−８（Ｔ１〜Ｔ８）のソースルーティングトポロジが図４のように示される場合を想定する。そして、同時接続台数決定部２２で決定された同時接続数Ｎが「３」である場合を想定する。
【００３９】
図４の例では、管理サーバ２０の子ノードがノードＴ１、Ｔ２となっている。また、図４では、Ｔ１の子ノードがノードＴ３、Ｔ４となっている。さらに図４では、Ｔ３の子ノードがノードＴ６、Ｔ７となっている。さらにまたＴ２のノードの子ノードがノードＴ５となっている。さらに、図４では、Ｔ５の子ノードがノードＴ８となっている。また、図４では、Ｔ５の子ノードがノードＴ６となっている。言い換えると、管理サーバ２０からみて、１ホップ目のノードがノードＴ１、Ｔ２であり、２ホップ目のノードがノードＴ３〜Ｔ５であり、３ホップ目のノードがノードＴ６〜Ｔ８となる。
【００４０】
以下では、ソースルーティング処理の結果ソースルーティングトポロジが図４のような内容になっており、同時接続台数Ｎ＝３であるものとして説明する。
【００４１】
この場合、通信装置割当選択部２４は、管理サーバ２０からみて手前（ソースルーティングトポロジ）の１ホップ目のノードから順に、２ホップ目のノード、３ホップ目のノードと、最終段のホップまで中継負荷を割当てる処理を行う。言い換えると、通信装置割当選択部２４は、管理サーバ２０を最上位のノードとして、段階的に子ノードに対して同時接続台数分の中継負荷を振り分ける処理を行う。また、この実施形態において、通信装置割当選択部２４は、最上位の管理サーバ２０に対して中継負荷として同時接続台数Ｎを適用する。さらに、この実施形態では、通信装置割当選択部２４は、親ノードに割り振られた中継負荷を、子ノードに対して割り振る際、可能な限り各子ノードの中継負荷が均等となるように割当てるものとするが、中継負荷を割り振る方式については限定されないものである。
【００４２】
図４の例では、管理サーバ２０から見て、１ホップ目のノード（管理サーバ２０の直接の子ノード）としてノードＴ１、Ｔ２が配置されている。したがって、通信装置割当選択部２４は、Ｔ１、Ｔ２に係る中継負荷ができるだけ均等となるように中継負荷の割当を決定する。図４の例では、同時接続台数Ｎが「３」であるため、通信装置割当選択部２４は、例えばＴ１の中継負荷が２、Ｔ２の中継負荷が１になるような割り当てを行うと判断する。
【００４３】
次に、通信装置割当選択部２４は、２ホップ目のノード（１ホップ目で中継負荷を割当てたノードの子ノード）について同様の処理を行う。図４に示すように、ノードＴ１の子ノードとしては、ノードＴ３、Ｔ４のノードが存在するため、通信装置割当選択部２４は、ノードＴ１に割当てた中継負荷（２）を、ノードＴ３、Ｔ４に対して、可能な限り均等に割り振る。具体的には、通信装置割当選択部２４は、ノードＴ１の子ノードであるノードＴ２、Ｔ４に対して、均等に１ずつの中継負荷を割り振ったものとする。また、図４に示すように、ノードＴ２の子ノードとしては、Ｔ５のノードが存在するため、通信装置割当選択部２４は、Ｔ５のノードに１の通信負荷を割当てると判断する。
【００４４】
次に、通信装置割当選択部２４は、３ホップ目のノード（２ホップ目で中継負荷を割当てたノードの子ノード）について同様の処理を行う。図４に示すように、ノードＴ３の子ノードとしては、Ｔ６、Ｔ７のノードが存在するため、通信装置割当選択部２４は、ノードＴ３に割り振られた中継負荷（１）を、２つのノードＴ３、Ｔ４のいずれかに割り振ることになる。また、図４に示すように、ノードＴ５の子ノードとしては、ノードＴ８のノードが存在するため、通信装置割当選択部２４は、Ｔ８のノードに１の通信負荷を割当てると判断する。
【００４５】
そして、信装置割当選択部２４は、各ノードの接続負荷が、上述の中継負荷割振処理で割り振った接続負荷の範囲となるような組み合わせで、同時接続台数分のノード（通信装置１０）を、通信対象の通信装置１０として選択する処理を行う。
【００４６】
例えば、今回通信対象のノードとして、４つのノードＴ４、Ｔ６、Ｔ７、Ｔ８が含まれていた場合、通信装置割当選択部２４は、ノードＴ６、Ｔ４、Ｔ８、又は、ノードＴ４、Ｔ７、Ｔ８のいずれかの組み合わせで同時接続台数（Ｎ＝３）分のノード（通信装置１０）を選択することになる。そして、通信装置割当選択部２４は、選択された通信装置１０の情報をメッセージ処理部２５に与える。
【００４７】
メッセージ処理部２５は、通信装置割当選択部２４で選択された通信装置１０と管理サーバ２０がやりとりを行うためのメッセージの作成、および受信部１２から与えられたメッセージの処理を行う。メッセージ処理部２５でやりとりされるメッセージ（メッセージ処理部２５が送受信するメッセージ）は、管理サーバ２０から複数の通信装置１０に対してユニキャストで通信を行うのに適した処理であり、例えば暗号鍵の更新などの鍵管理処理、無線メッシュネットワークへの参加認証処理、制御メッセージの配信などである。メッセージ処理部２５は、受信部１２から与えられたメッセージの処理を行う。このとき、メッセージ処理部２５は、メッセージを受信した旨を受信メッセージとして輻輳有無判断部２１に与える。前記受信メッセージとは、受信メッセージの送信元装置情報や受信時間を含む情報である。また、メッセージ処理部２５は、作成されたメッセージを送信部１３に与える。さらにこのとき、メッセージ処理部２５は、メッセージを送信した旨を送信メッセージとして輻輳有無判断部２１に与える。前記送信メッセージとは、送信メッセージのあて先装置情報や送信時間を含む情報である。メッセージ処理部２５は、メッセージを挿入したパケットを生成する際に、当該パケットに当該メッセージのヘッダに、当該メッセージの宛先に係る経路情報（ソースルーティングにより決定された経路情報）を設定する。
【００４８】
図３は、第１の実施形態における通信装置１０の内部構成図である。図２において、通信装置１０は、メッセージ処理部１１、受信部１２、送信部１３を有している。
【００４９】
通信装置１０では、受信部１２及び送信部１３により無線通信インタフェースが構成されている。受信部１２及び送信部１３に適用する無線ＬＡＮの仕様等については限定されないものであるが例えば、ＩＥＥＥ８０２．１１シリーズ等の無線ＬＡＮインタフェースを適用することができる。
【００５０】
受信部１２は、無線通信によりデータ受信するものであり、例えば、管理サーバ２０、もしくは通信装置１０から受信したメッセージを、メッセージ処理部１１に与える処理を行う。
【００５１】
送信部１３は、無線通信によりデータ送信するものであり、メッセージ処理部１１で作成されたメッセージを、管理サーバ２０、もしくは他の通信装置１０に向けて送信する処理を行う。
【００５２】
メッセージ処理部１１は、管理サーバ２０、もしくは他の通信装置１０から受信したメッセージの処理と、受信したメッセージに対する返信メッセージの作成を行う。メッセージ処理部１１は、作成された送信部１３に与える。メッセージ処理部１１は、他の通信装置１０を宛先とするメッセージが挿入されたパケットを受信した場合には、当該パケットのヘッダに記述されたソースルールーティングの経路情報に従った転送先（ネクストホップ）に当該パケットを転送する。メッセージ処理部１１は、管理サーバ２０にメッセージを送信する際、管理サーバ２０からメッセージ受信の際に添付された経路情報（パケットのヘッダに挿入されたソースルーティングの経路情報）と逆の経路となる経路情報を用いて送信（メッセージを送信するパケットのヘッダに当該経路情報を設定して送信）するようにしてもよい。また、メッセージ処理部１１は、管理サーバにメッセージを送信する際、ネットワーク４０に参加した際の親ノード（通信装置１０）に向けてメッセージを送信し、そのメッセージを受信した通信装置１０のメッセージ処理部１１がさらに自身の親ノード（通信装置１０）に向けて送信する。この処理を管理サーバ２０まで続けることでメッセージを届けてもよい。
【００５３】
（Ａ−２）第１の実施形態の動作
次に、以上のような構成を有する第１の実施形態のネットワークシステム１の動作を説明する。
【００５４】
以下では、管理サーバ２０の動作を中心として説明する。
【００５５】
図５が、管理サーバ２０の内部の動作の例について示したフローチャートである。
【００５６】
まず、同時接続台数決定部２２は、同時接続台数の初期値Ｎとして１を適用して、通信装置割当選択部２４に供給する（Ｓ１００−１）。
【００５７】
次に、管理サーバ２０は、通信が完了（例えば、メッセージ送信が完了）していない通信装置１０の有無を確認する（Ｓ１００−２）。そして、管理サーバ２０は、通信が完了していない通信装置１０があった場合には、後述するステップＳ１０１〜Ｓ１０４の処理に移行し、そうでない場合は処理を中止する。そして、管理サーバ２０は、その後通信対象の通信装置１０が発生した場合には、同様にステップＳ１０１の処理から動作する。
【００５８】
[ステップＳ１０１：同時接続台数分の通信装置選択]
通信が完了していない通信装置１０が残っている場合、通信装置割当選択部２４は、同時接続台数決定部２２から最新に供給された同時接続台数Ｎ（Ｎの初期値は「１」）と、ルーティング制御部２３で更新された最新のソースルーティングの経路情報とを保持する。そして、通信装置割当選択部２４は、保持した同時接続数Ｎとソースルーティングの経路情報に基づいて、同時接続台数Ｎをどの通信装置１０（通信が完了していない通信装置１０）に割り当てるかを選択する。通信装置割当選択部２４は、上述の通り、中継を行う通信装置１０の中継負荷が分散されるように行う。選択された通信装置１０の情報は、通信装置割当選択部２４からメッセージ処理部２５に与えられる。
【００５９】
［ステップＳ１０２：メッセージ処理］
メッセージ処理部２５は、通信装置割当選択部２４から、通信を行う通信装置１０の情報が与えられると、通信を行う通信装置１０それぞれに対して、通信の種類に応じたメッセージを作成し、ユニキャスト通信を開始する。通信の種類とは、暗号鍵の更新などの鍵管理処理、無線メッシュネットワークへの参加認証処理、制御メッセージの配信などである。また、管理サーバ２０のメッセージ処理部２５は、通信中の通信装置１０から受信したメッセージの処理を行う。一方、通信装置１０側のメッセージ処理部２５は、管理サーバ２０、もしくは他の通信装置１０から受信したメッセージの処理を行う。そして、送信部２７からメッセージが送信されるとき、当該メッセージのデータが輻輳有無判断部２１に与えられる。また、受信部２６がメッセージを受信するとき、受信メッセージが輻輳有無判断部２１に与えられる。通信装置１０は、メッセージが自装置宛てのものでなければ、当該メッセージの内容（ソースルーティングの経路情報）に従ってメッセージの中継処理を行う。
【００６０】
［ステップＳ１０３：輻輳有無の判断］
輻輳有無判断部２１は、メッセージ処理部２５から供給されたデータ（送信メッセージ、及び受信メッセージに係るデータ等）に基づいて、輻輳有無に必要なパラメータ（例えば、データ紛失率やターンアラウンド時間等）を算出しなおす。そして、輻輳有無判断部２１は、算出したパラメータ（例えば、データ紛失率やターンアラウンド時間等）に基づいて、ネットワーク４０が輻輳状態にあるかを判定する。輻輳有無判断部２１は、輻輳状態の判定結果を同時接続台数決定部２２に供給する。
【００６１】
［ステップＳ１０４：同時接続台数の更新］
同時接続台数決定部２２は、輻輳有無判断部２１から供給された輻輳有無の判断結果に基づいて、同時接続台数を更新する。ここでは、同時接続台数決定部２２は、判断結果が輻輳無しの場合は、同時接続台数Ｎを所定の規則に従って増加させる更新を行い、判断結果が輻輳有りの場合は同時接続台数Ｎを所定の規則に従って減少させる更新を行う。そして、同時接続台数決定部２２は、更新後の同時接続台数Ｎを、通信装置割当選択部２４に供給する。
【００６２】
そして、ステップＳ１０４の処理の後、管理サーバ２０は、上述のステップ１００−２に戻り、通信を行う必要のある通信装置１０がなくなるまで、上述のステップＳ１０１〜Ｓ１０４の処理を繰り返すことになる。
【００６３】
（Ａ−３）第１の実施形態の効果
第１の実施形態によれば、以下のような効果を奏することができる。
【００６４】
第１の実施形態によれば、ネットワークの管理サーバ２０が、ネットワーク４０の混雑状態を調べ、輻輳有無（混雑状態）に応じて同時接続台数Ｎを変化させている。また、管理サーバ２０は、同時接続台数Ｎを通信装置１０に割当てる際に、ソースルーティングで利用される経路情報をもとに、メッセージの中継を行う通信装置１０の中継負荷が分散するように決定している。第１の実施形態の管理サーバ２０では、ネットワーク４０の輻輳有無（混雑状態）に応じて同時接続台数Ｎを変化させることで、管理サーバ２０近辺での輻輳制御と、全ての通信装置１０との通信を完了するまでの処理時間の両方を加味した通信制御が可能になる。また、管理サーバ２０では、ネットワーク４０の輻輳状態を判定するための閾値を設定することで、通信負荷に重きをおいた制御、処理時間に重きをおいた制御のいずれかを選択することもできる。さらに、管理サーバ２０では、ソースルーティングの経路情報を用いて、各通信装置１０の中継負荷を分散させるように、同時接続台数Ｎを通信装置１０に割当てるため、メッセージをやりとりする中継区間での輻輳を考慮した通信制御が可能になる。管理サーバ２０では、上記二つの通信制御を一つのネットワークシステム上で実施することによって、ネットワーク全体（管理サーバ２０と中継区間）の輻輳を考慮した通信制御が可能になる。
【００６５】
（Ｂ）第２の実施形態
以下、本発明による通信制御装置及びネットワークシステムの第２の実施形態を、図面を参照しながら詳述する。なお、以下では、本発明の通信制御装置を管理サーバに適用した例について説明する。
【００６６】
（Ｂ−１）第２の実施形態の構成
図２に示すように、第２の実施形態のネットワークシステム１Ａでは、管理サーバ２０が、管理サーバ２０Ａに置き換わっている点で第１の実施形態と異なっている。
【００６７】
第２の実施形態の管理サーバ２０Ａでは、ルーティング制御部２３が省略され、ホップ数情報管理部２８が追加されている点で第１の実施形態と異なっている。また、第２の実施形態では、通信装置割当選択部２４による割当て方式が異なっている。第２の実施形態の通信装置割当選択部２４は、ホップ数情報管理部２８から供給される情報が利用される点で第１の実施形態と異なっている。
【００６８】
ホップ数情報管理部２８は、管理サーバ２０と各通信装置１０の間のホップ数を保持・管理する。ホップ数情報管理部２８は、例えば、第１の実施形態におけるソースルーティングの経路情報を利用して、各通信装置１０へメッセージを届けるまでに経由するホップ数（通信装置１０数）をカウントするようにしてもよい。また、ホップ数情報管理部２８は、通信装置１０の情報を管理する外部装置からホップ数を取得するようにしてもよい。また、ホップ数情報管理部２８は、各通信装置１０と通信して各通信装置１０のホップ数を確認するようにしてもよい。
【００６９】
通信装置割当選択部２４は、各通信装置１０までのホップ数（ホップ数情報管理部２８から供給される情報）に基づいて、お互いにホップ数が所定の閾値以上離れている通信装置１０を選択するものとする。以下では、通信装置割当選択部２４は、上述のホップ数に係る閾値として「２」を適用するものとして説明する。この場合、例えば、同時接続台数Ｎが３で、各通信装置１０−１〜１０−６のホップ数が、それぞれ１、２、２、３、５、６であったとき、ホップ数がお互いに所定の閾値以上（２以上）離れている通信装置１０−１、１０−４、１０−６を選択する等の処理が挙げられる。
【００７０】
第２の実施形態の通信装置割当選択部２４では、管理サーバ２０から各通信装置１０までのホップ数をもとに、通信装置１０を選択する。これにより、第２の実施形態の通信装置割当選択部２４では、ターンアラウンドタイムが異なる通信装置１０を、通信対象の通信装置１０として選択することができる。
【００７１】
（Ｂ−２）第２の実施形態の動作
次に、以上のような構成を有する第２の実施形態のネットワークシステム１Ａの動作を説明する。
【００７２】
以下では、第２の実施形態のネットワークシステム１Ａの動作を中心として、第１の実施形態との差異部分の動作のみを説明する。第２の実施形態のネットワークシステム１Ａの動作についても上述の図５を用いて説明することができる。以下では、図５を用いて、第２の実施形態のネットワークシステム１Ａの動作のうち、第１の実施形態との差異部分のみを説明する。
【００７３】
第２の実施形態のネットワークシステム１Ａでは、管理サーバ２０ＡがＮ台の通信装置１０を選択する処理（上述のステップＳ１０１の処理）のみが第１の実施形態と異なっている。
【００７４】
第２の実施形態の管理サーバ２０Ａは、同時接続台数決定部２２から、同時接続台数Ｎが供給されると、ステップＳ１０１において、管理サーバ２０から各通信装置１０までのホップ数を、ホップ数情報管理部２８から取得する。第２の実施形態の同時接続台数決定部２２は、各通信装置１０までのホップ数を利用して、通信装置割当選択部２４が同時接続台数Ｎをどの通信装置１０に割り当てるかを選択する。具体的には、第２の実施形態の同時接続台数決定部２２は、各通信装置１０までのホップ数に基づいて、ホップ数がお互いに所定以上離れた（ホップ数が異なる）通信装置１０を選択する。
【００７５】
（Ｂ−３）第２の実施形態の効果
第２の実施形態によれば、以下のような効果を奏することができる。
【００７６】
第２の実施形態では、管理サーバ２０Ａ（通信装置割当選択部２４）が、管理サーバ２０から通信装置１０までのホップ数の情報を用いて同時接続台数Ｎを通信装置１０に割当てる処理を行う。そのため、第２の実施形態の管理サーバ２０Ａでは、ホップ数の情報をもとに、ターンアラウンド時間が異なる通信装置１０を選択することで、管理サーバ２０から通信装置１０に送信されたメッセージに対する返信メッセージが、管理サーバ２０付近で衝突する可能性が低くなるため、管理サーバ２０付近での輻輳を軽減することができる。
【００７７】
また、管理サーバ２０Ａでは、上述の通信制御を、同時接続数を動的に変化させることによる通信制御と併用して運用することで、管理サーバ２０近辺の輻輳をさらに軽減できることができる。
【００７８】
（Ｃ）他の実施形態
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【００７９】
（Ｃ−１）第２の実施形態において、管理サーバ２０Ａは、ホップ数を用いて、間接的に各通信装置１０に係るおおよそのターンアラウンド時間を把握していたが、それ以外の方式で各通信に係るターンアラウンド時間を把握するようにしてもよい。例えば、管理サーバ２０Ａは、過去の通信での各通信装置１０とのターンアラウンド時間を記憶しておき、その情報を用いて、ターンアラウンド時間が異なる通信装置１０を選択（例えば、お互いにターンアラウンド時間が所定時間以上離れた通信装置１０の組合せを選択）するようにしてもよい。
【００８０】
（Ｃ−２）上記の各実施形態の管理サーバ２０、２０Ａでは、輻輳有無判断部２１で輻輳を判定し、同時接続台数決定部２２で同時接続台数を動的に変化させていたが、これらの処理を省略した構成としてもよい。例えば、図７は、第１の実施形態の管理サーバ２０から輻輳有無判断部２１及び同時接続台数決定部２２を省略した構成となっている。また、例えば、図８は、第１の実施形態の管理サーバ２０Ａから輻輳有無判断部２１及び同時接続台数決定部２２を省略した構成となっている。図７、図８に示す管理サーバ２０、２０Ａ（輻輳有無判断部２１及び同時接続台数決定部２２を省略した構成）では、例えば、同時接続台数として予め設定された定数を通信装置割当選択部２４に適用する（すなわち同時接続台数Ｎを静的な値とする）ようにしてもよい。このような構成にすることで、図７、図８に示す管理サーバ２０、２０Ａでは、同時接続台数の調整による管理サーバ２０、２０Ａ近辺での輻輳制御は行えないが、各通信装置１０の中継負荷を平均化し、中継区間での輻輳を軽減することができる。
【００８１】
（Ｃ−３）第１の実施形態の管理サーバ２０で、輻輳有無の判定結果は、同時接続台数決定部２２でのみ利用していたが、図９に示すように輻輳有無の判定結果を通信装置割当選択部２４の処理で利用するようにしてもよい。例えば、管理サーバ２０で、輻輳の判定結果によって、各通信装置１０の最大中継負荷を動的に変化させるようにしてもよい。ここでの最大中継負荷とは、通信装置１０が、管理サーバ２０から他の通信装置１０へのメッセージ中継者として許容できるコネクション（セッション）の最大数である。言い換えると、最大中継負荷とは、ネットワークシステム１全体ではなく、通信装置１０の個体の性能に基づいた中継負荷の最大値を示している。例えば、各通信装置１０の最大中継負荷が３であったとすると、各通信装置１０は、３台の他の通信装置１０に係るコネクション（メッセージ送受信のコネクション）に対しては中継処理を行うことができる。同時接続台数決定部２２で導出された同時接続台数をｋとし、ｋに対して、最大中継負荷の制約を満たすような割当てが存在しない場合は、最大中継負荷で割当てることができる接続台数の最大値（ｍとする）を、同時接続台数としてもよいし、最大中継負荷を上げてｋ台分を確保してもよい。逆に、ｋよりもｍが多かったならば、ｍを同時接続台数としてもよいし、ｍ台の中からｋ台を選択してもよい。この構成により、通信装置割当選択部２４では、同時接続台数決定部２２で導出された同時接続数と最大中継負荷両方を加味して通信装置１０が割り当てられることになるため、管理サーバ２０近辺での輻輳をネットワーク４０全体の輻輳制御に反映させるような通信制御が可能になる。
【００８２】
また、第２の実施形態の管理サーバ２０Ａにおいても、図１０に示すように、輻輳有無判断部２１における輻輳の判定結果を、通信装置割当選択部２４に利用するようにしてもよい。例えば、第２の実施形態の輻輳有無判断部２１において、輻輳の判定結果によって、ホップ数の閾値を動的に変化させるようにしてもよい。ホップ数の閾値が３であったとすると、お互いにホップ数が３以上離れた通信装置１０が同時接続される通信装置１０として選択される。同時接続台数決定部２２で導出された同時接続台数をｋとし、ｋに対して、ホップ数の制約を満たすような割当てが存在しない場合は、ホップ数の制約を満たす接続台数の最大値ｍを、同時接続台数としてもよいし、ホップ数の閾値を上げてｋ台分を確保してもよい。逆に、ｋよりもｍが多かったならば、ｍを同時接続台数としてもよいし、ｍ台の中からｋ台を選択してもよい。この構成により、通信装置割当選択部２４では、ホップ数の制約も加味した通信制御が行えるため、管理サーバ２０Ａ近辺での輻輳を、第２の実施形態よりも細かく制御できる。
【符号の説明】
【００８３】
１…ネットワークシステム、１０…通信装置、１１…メッセージ処理部、１２…受信部、１３…送信部、２０…管理サーバ、２１…輻輳有無判断部、２２…同時接続台数決定部、２３…ルーティング制御部、２４…通信装置割当選択部、２５…メッセージ処理部、２６…受信部、２７…送信部、２８…ホップ情報管理部、４０…ネットワーク。
【図１】
2016105561.tif 000003
【図２】
2016105561.tif 000004
【図３】
2016105561.tif 000005
【図４】
2016105561.tif 000006
【図５】
2016105561.tif 000007
【図６】
2016105561.tif 000008
【図７】
2016105561.tif 000009
【図８】
2016105561.tif 000010
【図９】
2016105561.tif 000011
【図１０】
2016105561.tif 000012