(57)【特許請求の範囲】
【請求項１】
通信装置間のネットワークトポロジの管理を行う装置と、前記ネットワークトポロジの管理を行う装置から受信した制御データにしたがって他の通信装置との間にＶＰＮトンネルを確立する複数の通信装置と、を備え、
前記ネットワークトポロジの管理を行う装置は、
前記複数の通信装置の各々との通信によりその稼動監視を行い、他の通信装置へのデータの中継を行う中間ノードの役割を割り当てた通信装置が稼動していないことを検出した場合には、前記稼動していない通信装置との間にＶＰＮトンネルを確立することを指示する旨の制御データを与えた通信装置に対して、前記稼動していない通信装置とは異なる他の通信装置との間にＶＰＮトンネルを確立することを指示する旨の新たな制御データを算出して与え、前記稼動していない通信装置が中間ノードとならないようにネットワークトポロジを組み換える
ことを特徴とする通信システム。
【請求項２】
前記複数の通信装置の各々は、配下の通信端末と他の通信端末との間のデータ通信を中継する中継装置であり、
前記ネットワークトポロジの管理を行う装置は、
前記複数の通信装置の各々の配下の通信端末と通信してデータ通信の実行状況を監視し、配下の全ての通信端末がデータ通信を行っていない中継装置については稼動していないものとして扱ってネットワークトポロジの組み換えを行う
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記複数の通信装置の各々は、稼動開始を契機として前記ネットワークトポロジの管理を行う装置にその旨を通知し、
前記ネットワークトポロジの管理を行う装置には、予め定められたネットワークトポロジを表す初期トポロジデータが予め記憶されており、
前記ネットワークトポロジの管理を行う装置は、稼動開始を通知してきた通信装置の各々を前記初期トポロジデータの表すネットワークトポロジの各ノードに１つずつ当てはめてＶＰＮトンネルの接続先を決定し、その接続先との間にＶＰＮトンネルを確立することを指示する旨の制御データを算出する
ことを特徴とする請求項１〜２の何れか１に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信網を介して複数の通信装置間で行われるデータ通信に関し、特に、第三者によるデータの改竄や盗聴の防止などの信頼性確保を実現する技術に関する。
【背景技術】
【０００２】
従来、企業などにおいて複数の拠点（例えば各支店）に敷設されている拠点内ＬＡＮ（Local Area Network）を相互に接続して通信システムを構築する場合、信頼性確保の観点から、各拠点内ＬＡＮを専用通信回線（以下、専用線）で接続することが一般的であった。しかし、専用線の敷設には多大な投資が必要であり、また、その運用管理にも多大な費用を要する。そこで、例えばインターネットのように不特定多数の者によって共用される一般公衆回線を利用してデータ通信を行いつつ、そのデータ通信の信頼性確保を実現することが望まれている。このようなニーズに応える技術の一例として、ＶＰＮ（Virtual Private Network）が挙げられる。ＶＰＮとは、一般公衆回線を利用して、仮想的に専用線のようなポイント・ツー・ポイントの接続を可能にする技術である。ＶＰＮでは、データ通信の両端となる通信装置間に暗号化や相手側認証に対応した通信路（以下、ＶＰＮトンネル）を確立し、このＶＰＮトンネルを介したデータ通信を行うことにより信頼性確保が実現される。
【０００３】
ＶＰＮを利用するためには、ＶＰＮトンネルの両端に位置する通信装置に暗号化や相手側認証についての各種設定（例えば、暗号化キーや認証キーを予め記憶させておくなど）を行っておかねばならず、また、両通信装置の設定内容は相互に矛盾するものであってはならない。従来、この種の設定作業は、通信システムの運用管理者の手作業で行われることが一般的であった。しかし、企業内の通信システムのように、設定を要する通信装置が多数ある場合には、その設定作業には多大な手間を要し、また、設定ミスなどによりＶＰＮトンネルの確立に支障が生じるといった問題があった。そこで、ＶＰＮを利用するための設定作業の労力を削減する技術が従来より種々提案されており、その一例としては特許文献１に開示された技術が挙げられる。特許文献１には、暗号化や相手側認証についての各種設定内容が記載された拠点内ネットワーク設定情報統合ファイル（以下、「設定情報ファイル」）を予め格納した設定サーバを設け、ＶＰＮトンネルの両端となる通信装置（特許文献１では、ＬＡＮ間接続装置）の各々に上記設定情報ファイルをダウンロードさせ、そのファイル内容にしたがって暗号化や相手側認証についての設定を行わせることが開示されている。
【特許文献１】特開２００４−３２８６８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示された技術によれば、通信装置毎にＶＰＮトンネルの接続先を予め定めておき、その接続先に応じた設定情報ファイルを作成して設定サーバに記憶させておくことで、常に一定の接続形態（以下、ネットワークトポロジ）でそれら通信装置を相互にＶＰＮトンネルで接続することができる。例えば、図９（Ａ）に示すように通信網に通信装置８０Ａから通信装置８０Ｄまでの４台の通信装置が接続されており、これら４台の通信装置に図９（Ｂ）に示すネットワークトポロジを形成させるには、以下の内容の設定情報ファイルを設定サーバ９０に記憶させておけば良い。すなわち、通信装置８０Ａ、８０Ｃおよび８０Ｄについての設定情報ファイルには、ＶＰＮトンネルの接続先が通信装置８０Ｂであることを、通信装置８０Ｂについての設定情報ファイルには、ＶＰＮトンネルの接続先が通信装置８０Ａ、８０Ｃおよび８０Ｄであることを各々書き込でおけば良い。また、上記各設定情報ファイルには、ＶＰＮトンネルを確立する際に使用する各種パラメータ（暗号化キーや相手側認証キー）も書き込んでおく必要がある。
【０００５】
ところで、図９（Ｂ）に示すネットワークトポロジでは、受信したデータを他のノードへ転送する中間ノードの役割を果たす通信装置（図９では、通信装置８０Ｂ）に障害が発生すると、その中間ノードを間に挟むノード間の通信が不能になる。ネットワークトポロジにて中間ノードの役割を割り当てられた通信装置に障害が発生した場合は、例えば、ネットワークトポロジを組み換える（図９（Ｂ）点線参照）などの障害対策を行う必要があるが、特許文献１に開示された技術では、各通信装置についてのＶＰＮトンネルの接続先が予め定められている（換言すれば、各通信装置についてネットワークトポロジのどのノードの役割を果たすかが予め定められている）ことが前提であるため、このようなことを実現することはできない。また、テレビ会議システムのように各通信装置が常時稼動されているとは限らない通信システムでは、中間ノードの役割を割り当てた通信装置が常時稼動しているとは限らないため同様の問題が生じ得る。
本発明は上記課題に鑑みて為されたものであり、複数の通信装置間のＶＰＮトンネルの確立を簡便に行うことを可能にするとともに、各通信装置の稼動状況に応じてネットワークトポロジの最適化を行うことを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明は、複数の子機と、前記複数の子機の各々と通信する親機と、を備え、前記複数の子機の各々は、前記親機から与えられる制御データにしたがって他の子機との間にＶＰＮトンネルを確立し、前記親機は、前記複数の子機の各々との通信によりその稼動監視を行い、他の子機へのデータの中継を行う中間ノードの役割を割り当てた子機が稼動していないことを検出した場合には、前記稼動していない子機との間にＶＰＮトンネルを確立することを指示する旨の制御データを与えた子機に対して、前記稼動していない子機とは異なる他の子機との間にＶＰＮトンネルを確立することを指示する旨の新たな制御データを算出して与え、前記稼動していない子機が中間ノードとならないようにネットワークトポロジを組み換えることを特徴とする通信システム、を提供する。
【０００７】
より好ましい態様においては、前記通信システムに含まれる複数の子機の各々は、配下の通信端末と他の通信端末との間のデータ通信を中継する中継装置であり、前記親機は、前記複数の子機の各々の配下の通信端末と通信してデータ通信の実行状況を監視し、配下の全ての通信端末がデータ通信を行っていない子機については稼動していないものとして扱ってネットワークトポロジの組み換えを行うことを特徴とする。
【０００８】
さらに好ましい態様においては、前記通信システムに含まれる複数の子機の各々は、稼動開始を契機として前記親機にその旨を通知し、前記親機には、予め定められたネットワークトポロジを表す初期トポロジデータが予め記憶されており、前記親機は、稼動開始を通知してきた子機の各々を前記初期トポロジデータの表すネットワークトポロジの各ノードに１つずつ当てはめてＶＰＮトンネルの接続先を決定し、その接続先との間にＶＰＮトンネルを確立することを示す制御データを算出することを特徴とする。
【発明を実施するための最良の形態】
【０００９】
以下、本発明を実施するための最良の形態について図面を参照しつつ説明する。
図１（Ａ）は、本発明の一実施形態に係る通信システム１の構成例を示す図である。この通信システム１は、地理的に離れた複数の拠点（例えば、企業の各支店）の各々に居る利用者にテレビ会議通信サービスを提供するためのものである。図１（Ａ）に示す例では、通信システム１は、７箇所の拠点の各々に敷設される拠点内ＬＡＮ３０−ｋ（ｋ＝１〜７）を中継装置２０−ｋ（ｋ＝１〜７）を介して通信網１０に接続し、さらに、この通信網１０にネットワークトポロジ管理装置４０を接続して構成されている。なお、本実施形態では、７個の拠点内ＬＡＮ３０−ｋが各々中継装置２０−ｋを介して通信網１０に接続されている場合について説明するが、通信網１０に接続される拠点内ＬＡＮ３０−ｋの数は２〜６であっても良く、また、８以上であっても良い。
【００１０】
通信網１０は、例えばインターネットなど不特定多数の者に共用される一般公衆回線である。通信網１０は、自網に収容される通信装置間で所定の通信プロトコルにしたがって行われるデータ通信を仲介する。上記通信プロトコルとしては、プロトコル階層毎に種々のものを用いることができる。例えば、ネットワーク層についてはＩＰ（Internet Protocol）を、トランスポート層についてはＴＣＰ（Transmission Control Protocol）やＵＤＰ（User Datagram Protocol）を用い、アプリケーション層についてはＲＴＰ（Real-time Transport Protocol）を用いるといった具合である。また、通信網１０を介したデータ通信では、前述したＶＰＮを利用して第三者によるデータの改竄や盗聴を防止することもできる。
【００１１】
図１（Ｂ）は、拠点内ＬＡＮ３０−ｋの構成例を示す図である。図１（Ｂ）に示す例では、拠点内ＬＡＮ３０−ｋには、音声通信端末３１−ｋおよび画像通信端末３２−ｋが含まれている。図１（Ｂ）の音声通信端末３１−ｋは、利用者の音声を収音しその音声を表す音声データを多地点接続装置（図１では、図示を省略したが、拠点内ＬＡＮ３０−ｋの何れか１つに接続されている）へ送信する一方、多地点接続装置から送信されてくる音声データを受信しその音声データの表す音声を出力する電子機器である。ここで、多地点接続装置とは、複数の音声通信端末３１−ｋの各々から送信されてくる音声データを受信し、各音声通信端末３１−ｋに対して他の音声通信端末３１−ｋから受信した音声データをミキシングして得られる音声データを送信する電子機器である。一方、画像通信端末３２−ｋは、利用者の姿を撮像して得られる画像データを他の画像通信端末３２−ｋへマルチキャスト送信する一方、他の画像通信端末３２−ｋの各々からマルチキャスト送信されてくる画像データを受信し各画像データの表す画像を表示する電子機器である。つまり、音声通信端末３１−ｋと画像通信端末３２−ｋは、利用者にテレビ会議サービスを利用させる会議通信端末の役割を果たすのである。
【００１２】
図１（Ａ）の中継装置２０−ｋはＶＰＮ対応のルータであり、配下の通信装置（例えば、中継装置２０−ｋに接続されている拠点内ＬＡＮ３０−ｋに含まれる音声通信端末３１−ｋや画像通信端末３２−ｋ）と、他の中継装置２０−ｋの配下の通信装置との間のデータ通信を仲介する。本実施形態では、中継装置２０−ｋは、ネットワークトポロジ管理装置４０による制御の下、他の中継装置２０−ｋとの間にＶＰＮトンネルを確立し、このＶＰＮトンネルを介してデータの送受信を行う。これにより、第３者によるデータの改竄や盗聴を防止しつつ、拠点内ＬＡＮ間のデータ通信を一般公衆網である通信網１０を介して行うことができるのである。
【００１３】
図１（Ａ）のネットワークトポロジ管理装置４０は、子機として機能する中継装置２０−ｋの各々と通信網１０を介して通信し、ネットワークトポロジの構築制御を行う親機として機能する電子機器である。より詳細に説明すると、ネットワークトポロジ管理装置４０は、中継装置２０−ｋの稼動開始を検知してＶＰＮトンネルの接続先を指示し、例えば図１（Ｃ）に示すツリー型のネットワークトポロジを構築させる。そして、ネットワークトポロジ管理装置４０は、通信網１０を介して各中継装置２０−ｋの稼動監視を行い、中間ノードの役割を割り当てた中継装置２０−ｋについて稼動していない旨が検出された場合に、その中継装置２０−ｋとの間にＶＰＮトンネルを確立することを指示した他の中継装置２０−ｋに対して、ＶＰＮトンネルの接続先の変更を指示し、稼動していない中継装置２０−ｋが中間ノードとならないようにネットワークトポロジを組み換える処理も実行する。
以下、本実施形態の特徴を顕著に示す中継装置２０−ｋおよびネットワークトポロジ管理装置４０を中心に説明する。
【００１４】
図２は、中継装置２０−ｋの構成例を示すブロック図である。
図２に示すように中継装置２０−ｋは、制御部３１０、第１通信インターフェイス（以下、Ｉ／Ｆ）部３２０ａ、第２通信Ｉ／Ｆ部３２０ｂ、記憶部３３０、および、これら各構成要素間のデータ授受を仲介するバス３４０を含んでいる。
【００１５】
制御部３１０は、例えばＣＰＵ（Central Processing Unit）である。この制御部３１０は、記憶部３３０に予め記憶されている子機側制御プログラム３３２ｂにしたがって、本実施形態に係る子機に特徴的な処理を実行する。制御部３１０が子機側制御プログラム３３２ｂにしたがって実行する処理については後に明らかにする。第１通信Ｉ／Ｆ部３２０ａと第２通信Ｉ／Ｆ部３２０ｂは、例えばＮＩＣ（Network Interface Card）であり、各々異なる通信網に接続されている。具体的には、第１通信Ｉ／Ｆ部３２０ａは通信網１０に接続されており、第２通信Ｉ／Ｆ部３２０ｂは拠点内ＬＡＮ３０−ｋに接続されている。第１通信Ｉ／Ｆ部３２０ａと第２通信Ｉ／Ｆ部３２０ｂは、各々の接続先である通信網から送信されてくるデータを受信し制御部３１０へ引渡す一方、制御部３１０から引渡されるデータを各々の接続先の通信網へと送出する。
【００１６】
記憶部３３０は、図２に示すように、揮発性記憶部３３１と不揮発性記憶部３３２とを含んでいる。揮発性記憶部３３１は、例えばＲＡＭ（Random Access Memory）であり、不揮発性記憶部３３２は、例えばハードディスクやＦｌａｓｈＲＯＭ（Read Only Memory）である。揮発性記憶部３３１は、子機側制御プログラム３３２ｂを実行する際のワークエリアとして利用される。また、揮発性記憶部３３１には、ネットワークトポロジ管理装置４０から送信されてくる通信制御データ３３１ａが格納される。通信制御データ３３１ａには、ＶＰＮトンネルの確立に関するデータと、そのＶＰＮトンネルを介したデータ通信に関するデータとが含まれている。この通信制御データ３３１ａは、ＶＰＮトンネルの確立およびそのＶＰＮトンネルを介したデータ通信の際に利用される。ここで、ＶＰＮトンネルの確立に関するデータとしては、ＶＰＮトンネルの接続先となる他の中継装置２０−ｋを一意に示す接続先識別子（例えば、接続先のＩＰアドレスやＭＡＣ（Media Access Control）アドレスなどの通信アドレス）や、そのＶＰＮトンネルの確立の際に使用するパラメータ（例えば、暗号化キーや相手側認証キーなどを）が挙げられる。また、ＶＰＮトンネルを介したデータ通信に関するデータとしては、ルーティングテーブルや、画像データのマルチキャスト通信に関するデータ（例えば、マルチキャストアドレスや画像データの転送先となる中継装置２０−ｋの通信アドレス）が挙げられる。
【００１７】
不揮発性記憶部３３２には、親機識別子３３２ａと子機側制御プログラム３３２ｂとが予め格納されている。親機識別子３３２ａは、中継装置２０−ｋに対してＶＰＮトンネルの接続先やその確立の際に使用する各種パラメータを与える親機（本実施形態では、ネットワークトポロジ管理装置４０）を一意に識別する識別子である。本実施形態では、各中継装置２０−ｋの不揮発性記憶部３３２に、ネットワークトポロジ管理装置４０の通信アドレスが親機識別子３３２ａとして予め書き込まれている。一方、子機側制御プログラム３３２ｂは、制御部３１０に本実施形態に係る子機の特徴を顕著に示す処理（図２に示す状態通知処理、データ更新処理および通信制御処理）を実行させるプログラムである。
【００１８】
図２の状態通知処理は、中継装置２０−ｋの電源（図示省略）投入時およびその後一定の時間間隔で実行される処理である。電源投入時に実行される状態通知処理では、制御部３１０は、中継装置２０−ｋの稼動開始を通知する旨の通信メッセージ（以下、稼動開始通知）を親機識別子３３２ａ（すなわち、ネットワークトポロジ管理装置４０の通信アドレス）を送信先アドレスとして送信する。一方、電源投入後一定の時間間隔で実行される状態通知処理では、制御部３１０は、自装置が稼動中であることを通知する旨の通信メッセージ（以下、稼動通知）を、親機識別子３３２ａを送信先アドレスとして送信する。詳細については後述するが、このようにして中継装置２０−ｋから送信される稼動開始通知を受信することによって、ネットワークトポロジ管理装置４０は、その送信元である中継装置２０−ｋの稼動開始を検知し、その後一定の時間間隔で送信されてくる稼動通知を受信することによって、その送信元である中継装置２０−ｋの稼動状況の監視を行うことができるのである。
【００１９】
図２のデータ更新処理は、揮発性記憶部３３１への通信制御データ３３１ａの書き込みおよびその更新を行う処理である。このデータ更新処理は、親機識別子３３２ａにより示される通信装置（本実施形態では、ネットワークトポロジ管理装置４０）から送信されてくる通信制御データを受信したことを契機として実行される。例えば、稼動開始通知に対する応答として返信されてくる通信制御データを受信したことを契機としてその通信制御データを揮発性記憶部３３１に書き込む処理が実行され、以後、通信制御データを受信する度に当該受信した通信制御データで、揮発性記憶部３３１に格納されている通信制御データ３３１ａを更新する処理（すなわち、上書きする処理）が実行される。
【００２０】
図２の通信制御処理は、揮発性記憶部３３１に格納されている通信制御データ３３１ａにしたがってＶＰＮトンネルを確立し、そのＶＰＮトンネルを介して送受信するデータのルーティング等を通信制御データ３３１ａにしたがって実行する処理である。
以上が中継装置２０−ｋの構成である。
【００２１】
次いで、ネットワークトポロジ管理装置４０の構成について図３を参照しつつ説明する。
図３は、ネットワークトポロジ管理装置４０の構成例を示すブロック図である。図３では、図２と同一の構成要素には同一の符号が付されている。図２と図３とを対比すれば明らかように、ネットワークトポロジ管理装置４０の構成は、以下の３つの点で中継装置２０−ｋの構成と異なる。第１に、第２通信Ｉ／Ｆ部３２０ｂを有さない点である。このネットワークトポロジ管理装置４０は、他の通信網を通信網１０に接続する中継装置ではないからである。第２に、通信制御データ３３１ａが揮発性記憶部３３１に格納されていない点である。ネットワークトポロジ管理装置４０の揮発性記憶部３３１に通信制御データ３３１ａが格納されていないのは、他の通信装置との間にＶＰＮトンネルを確立する必要がないからである。そして、第３に、親機識別子３３２ａおよび子機側制御プログラム３３２ｂに代えて初期トポロジデータ３３２ｃと親機側制御プログラム３３２ｄが不揮発性記憶部３３２に格納されている点である。この親機側制御プログラム３３２ｄにしたがって制御部３１０が実行する処理については後に明らかにする。
【００２２】
初期トポロジデータ３３２ｃは、通信システム１に含まれる中継装置２０−ｋの各々の間にＶＰＮトンネルを確立させることにより実現されるネットワークトポロジを表すデータである。図４（Ａ）は、初期トポロジデータ３３２ｃの一例を表す図である。図４（Ａ）に示す初期トポロジデータ３３２ｃは、ノード０１からノード０７までの７つのノードを有するツリー型のネットワークトポロジ（図４（Ｂ）参照）を表すデータである。図４（Ａ）に示すように、初期トポロジデータ３３２ｃには、ネットワークトポロジを形成する各ノードを一意に示すノード識別子に対応付けて、ＶＰＮトンネルの接続先となる他のノードのノード識別子が格納されている。この初期トポロジデータ３３２ｃは、通信システム１にて各中継装置２０−ｋの稼動が開始された時点でのＶＰＮトンネルの接続先を決定する際に利用される。なお、本実施形態では、初期トポロジデータとして、ツリー型のネットワークトポロジを表すデータを用いたが、バス型やリング型、スター型などの他の形態のネットワークトポロジを表すデータを用いても勿論良い。
【００２３】
図５は、ネットワークトポロジ管理装置４０が、親機側制御プログラム３３２ｄにしたがって実行する処理の一例を示す図である。図５に示すように、親機側制御プログラム３３２ｄにしたがって作動する制御部３１０は、初期トポロジ形成処理ＳＡ０１、稼動監視処理ＳＡ０２、および、トポロジ組み換え処理ＳＡ０３の３つの処理を実行する。
【００２４】
図５の初期トポロジ形成処理ＳＡ０１は、稼動開始通知を受信したことを契機として実行される処理である。この初期トポロジ形成処理ＳＡ０１は、稼動開始通知の受信順にその送信元である中継装置２０−ｋを、初期トポロジデータ３３２ｃの表すネットワークトポロジの各ノードに当てはめてＶＰＮトンネルの接続先を決定する処理である。より詳細に説明すると、この初期トポロジ形成処理ＳＡ０１では、制御部３１０は、まず、初期トポロジデータのコピーである接続形態データを揮発性記憶部３３１に書き込み、以降、稼動開始通知を受信する度に、以下の処理を実行する。すなわち、制御部３１０は、接続形態データに含まれるノード識別子をそのノード識別子が若いものから順に１つずつ稼動開始通知の送信元である中継装置２０−ｋの通信アドレスで置換して接続形態データを更新する。このようにして更新された接続形態データにおいては、ＶＰＮ接続先として各ノードに対応付けられている各通信アドレスを有する中継装置２０−ｋが、そのノードに当てはめられた中継装置２０−ｋにとってのＶＰＮトンネルの接続先となるのである。そして、制御部３１０は、各中継装置２０−ｋについてＶＰＮトンネルの接続先が決定すると、ＶＰＮトンネルの確立に必要となる暗号化キーや相手側認証キーの算出およびルーティングテーブルの生成などを行って、通信制御データを生成し、各中継装置２０−ｋへ送信する。
【００２５】
例えば、中継装置２０−１から２０−７までの７台が、中継装置２０−４、中継装置２０−３、中継装置２０−５、中継装置２０−１、中継装置２０−２、中継装置２０−６、および中継装置２０−７の順に稼動開始通知を送信し、ネットワーク管理装置４０がこの順に稼動開始通知を受信すると、その受信順に各中継装置２０−ｋをノード０１からノード０７の各ノードに１つずつ当てはめる処理が実行される。そして、その当てはめの結果生成される通信制御データにしたがって各中継装置２０−ｋにＶＰＮトンネンルを確立させることによって、図１（Ｃ）に示すネットワークトポロジが実現されるのである。
【００２６】
稼動監視処理ＳＡ０２は、通信制御データを与えた中継装置２０−ｋの各々から送信されてくる稼動通知の受信状況から、各中継装置２０−ｋの稼働状況を監視する処理である。前述したように、中継装置２０−ｋの各々は一定の時間間隔で稼動通知を送信するのであるから、各中継装置２０−ｋが正常に稼動しているのであれば、制御部３１０は各中継装置２０−ｋから送信されてくる稼動通知を略その時間間隔で受信する。このため、制御部３１０は、何れかの中継装置２０−ｋからの稼動通知の受信が途絶えると、その中継装置２０−ｋは正常に稼動していないと判定する。そして、制御部３１０は、稼動していないと判定した中継装置２０−ｋが、中間ノードの役割を割り当てたものである場合に、トポロジ組み換え処理ＳＡ０３を実行する。なお、稼動していないと判定された中継装置２０−ｋが中間ノードの役割を担うものであるか否かについては、揮発性記憶部３３１に格納されている接続形態データを参照し、ＶＰＮトンネルの接続先が複数であるか否かを調べることによって判定することができる。中間ノードの役割を割り当てた中継装置２０−ｋはＶＰＮトンネルの接続先を少なくとも２つ有するからである。
【００２７】
トポロジ組み換え処理ＳＡ０３は、稼動していないと判定された中継装置２０−ｋが中間ノードとならないようにネットワークトポロジを組み換える処理である。ネットワークトポロジの組み換えは、稼動していないと判定された中継装置２０−ｋをＶＰＮトンネルの接続先として指示した他の中継装置２０−ｋ（以下、制御対象装置）に新たなＶＰＮトンネルの接続先を指示する旨の通信制御データを与えることで実現される。制御部３１０は、制御対象装置のうちの１つを選択し、稼動していないと判定された中継装置２０−ｋに対応するノードに当該選択した中継装置２０−ｋを当てはめて各制御対象装置についての新たなＶＰＮトンネルの接続先を決定し、新たなＶＰＮトンネルの接続先を表す通信制御データを生成して各制御対象装置に与える処理を実行する。例えば、図６（Ａ）に示すネットワークトポロジにて中継装置２０−３が稼動していないことが検出された場合、図６（Ｂ）に示すように中継装置２０−１を上記中継装置２０−３に対応するノードに当てはめてネットワークトポロジを組み換えるのである。なお、稼動していないと判定された中継装置２０−ｋに対応するノードに当てはめる中継装置２０−ｋの選択方法としては種々の態様が考えられる。例えば、組み換え前のネットワークトポロジにて中間ノードではなかった制御対象装置のうちで通信アドレスが最も若いものを選択するなどである。
以上がネットワークトポロジ管理装置４０の構成である。
【００２８】
以上説明したように、本実施形態では、各中継装置２０−ｋには親機として機能するネットワークトポロジ管理装置４０の通信アドレスのみを記憶させておけば良く、各中継装置２０−ｋに与える通信制御データはネットワークトポロジ管理装置４０によって算出される。このため、通信システム１の運用管理者が手作業で各種設定を行う必要はなく、中継装置２０−ｋ間にＶＰＮトンネルを確立させるための労力が削減される。また、本実施形態によれば、初期トポロジデータ３３２ｃにしたがって中間ノードの役割を割り当てた中継装置２０−ｋが稼動していない場合には、その中継装置２０−ｋに換えて他の中継装置２０−ｋに中間ノードの役割を割り当てるネットワークトポロジの組み換えが行われ、データ通信に支障が生じることはない。つまり、本実施形態によれば、中継装置２０−ｋの稼動状況に応じてネットワークトポロジを最適化することが可能になる。
【００２９】
以上、本発明の一実施形態について説明したが、かかる実施形態に以下に述べる変形を加えても良いことは勿論である。
（１）上述した実施形態では、各拠点内ＬＡＮ３０−ｋとは別個にネットワークトポロジ管理装置４０を通信網１０に接続したが、これら拠点内ＬＡＮ３０−ｋの何れかを介してネットワークトポロジ管理装置４０を通信網１０に接続しても勿論良い。このように何れかの拠点内ＬＡＮ３０−ｋにネットワークトポロジ管理装置４０を接続する態様においては、このネットワークトポロジ管理装置４０に多地点接続装置の機能を付与しても良い。また、上述した実施形態では、テレビ会議通信システムに本発明を適用したが、本発明の適用対象はテレビ会議通信システムに限定されるものではない。要は、互いにＶＰＮトンネルを確立して所定のネットワークトポロジを構成する複数の中継装置を含む通信システムであれば、どのような通信システムであっても本発明を適用してネットワークトポロジの確立制御を行うことが可能である。また、上述した実施形態では、親機（ネットワークトポロジ管理装置４０）の制御下でＶＰＮトンネルの確立を行い、一定のネットワークトポロジを形成する子機が、配下の通信端末（音声通信端末３１−ｋや画像通信端末３２−ｋ）と他の子機の配下の通信端末とのデータ通信を制御する中継装置２０−ｋである場合について説明したが、データ通信の両端に位置する通信端末を上記子機としても良いことは勿論である。
【００３０】
（２）上述した実施形態では、初期トポロジデータの表すネットワークトポロジにて中間ノードの役割を割り当てた中継装置２０−ｋが稼動していないことを検出したことを契機として、当該稼動していない中継装置２０−ｋをＶＰＮトンネルの接続先として指示した他の中継装置２０−ｋに対して新たなＶＰＮトンネルの接続先を指示し、ネットワークトポロジを組み替えさせる処理をネットワークトポロジ管理装置４０に実行させた。しかし、図７に示すように、予めバックアップ用のＶＰＮトンネル（図７では、一点鎖線の双方向矢印で標記）を各中継装置２０−ｋ間に確立しておき、中間ノードの役割を割り当てた中継装置２０−ｋが稼動していないことを検出した場合に、その中継装置２０−ｋをＶＰＮトンネルの接続先として指示した他の中継装置２０−ｋの各々に対してバックアップ用のＶＰＮトンネルを用いてデータ通信を行うよう設定変更を促すようにしても良い。このような態様によれば、中間ノードの役割を割り当てた中継装置２０−ｋが稼動していない場合であっても、ＶＰＮトンネルを確立し直すといった手間を省くことが可能になる。
【００３１】
（３）上述した実施形態では、稼動していない中継装置２０−ｋが中間ノードとならないようにネットワークトポロジを組み換えた。しかし、配下の通信装置がデータ通信を行っていない中継装置２０−ｋ（配下の音声通信端末３１−ｋや画像通信端末３２−ｋがテレビ会議に参加していない中継装置２０−ｋ）が中間ノードとならないようにネットワークトポロジを組み換えても勿論良い。データの伝送経路が無駄に長くなることを回避するためである。なお、このようなことは、各中継装置２０−ｋの配下の通信端末に対してデータ通信を行っているか否かを問い合わせる処理をネットワークトポロジ管理装置４０に実行させ、配下の通信端末がデータ通信を行っていない中継装置２０−ｋについては稼動していないものとしてトポロジ組み換え処理をネットワークトポロジ管理装置４０に実行させることで実現することができる。また、通信制御データ３３１ａに含まれているデータのうち、ＶＰＮトンネルを介したデータ通信に関するデータ（ルーティングテーブルやマルチキャスト通信に関するデータ）については、例えばテレビ会議の終了時に削除する処理を各中継装置２０−ｋやネットワークトポロジ管理装置４０に実行させるようにしても良い。
【００３２】
（４）上述した実施形態では、各中継装置２０−ｋをネットワークトポロジの各ノードへ当てはめる際に、稼動開始通知を早く送信したものほど、若いノード番号を有するノードに当てはめた。しかし、各中継装置２０−ｋのハードウェア性能が異なっているなどそのデータ処理能力に優劣がある場合には、データ処理能力（或いはデータ処理能力に応じてネットワーク管理者によって予め定められた重み）が高い中継装置２０−ｋほど中間ノード（図６のノード０２やノード０３）に割り当てられるようにしても良い。ここで、中継装置２０−ｋのデータ処理能力とは、例えば、制御部３１０を構成するＣＰＵの動作クロックや揮発性記憶部３３１の記憶容量などの所謂カタログスペックにより定まる静的なデータ処理能力（すなわち、中継装置２０−ｋが発揮し得る最大限のデータ処理能力）であっても良いし、時々刻々変化するデータ通信量や遅延、利用帯域幅などのネットワーク利用状況に応じて定まる動的なデータ処理能力であっても良い。このようなことは、各中継装置２０−ｋにそのデータ処理能力に応じた優先順位（例えば、データ処理能力が高いものほど優先順位が高い）を示す優先順位データを付与した稼動開始通知や稼動通知を各中継装置２０−ｋに送信させる一方、ネットワークトポロジ管理装置４０には、優先順位が高い中継装置２０−ｋほど中間ノードとなるように、初期トポロジデータの表すネットワークトポロジへの当てはめ、およびネットワークトポロジの組み換えを実行させることで実現される。また、上述した実施形態では、中間ノードの役割を割り当てた中継装置２０−ｋが稼動していないことの検出を契機としてネットワークトポロジを組み換えたが、ネットワークの利用状況の変化（例えば、利用可能帯域幅や遅延、データ通信量の変化）や、アプリケーションの稼動状況や個々の拠点におけるアプリケーションの利用状況、そのアプリケーションの利用に必要な機器（例えば、アプリケーションがテレビ会議通信である場合には、中継装置２０−ｋや音声通信端末３１−ｋ、画像通信端末３２−ｋ）の稼動状況に応じてネットワークトポロジを組み換えても良い。
【００３３】
（５）上述した実施形態では、各中継装置２０−ｋに通信制御データを与えて所定のネットワークトポロジを形成させる処理をネットワークトポロジ管理装置４０に実行させたが、ネットワークトポロジ管理装置４０に液晶ディスプレイなどの表示部を設け、各中継装置２０−ｋに形成させたネットワークトポロジを表す画像をその表示部に表示させるようにしても良い。このような態様によれば、通信システム１にて形成されているネットワークトポロジをその通信システム１の運用管理者に視覚的に把握させることが可能になる。
【００３４】
（６）上述した実施形態では、図４（Ａ）に示す初期トポロジデータ３３２ｃをネットワークトポロジ管理装置４０の不揮発性記憶部３３２に予め格納しておき、この初期トポロジデータ３３２ｃのコピーである接続形態データを揮発性記憶部３３１に書き込み、この接続形態データに含まれるノード識別子を稼動開始通知の送信元の通信アドレスで更新することで、各中継装置２０−ｋについてのＶＰＮトンネンルの接続先を決定し、初期トポロジを形成させた。しかし、図８（Ａ）に示すように、ノード識別子（各ノードに割り振った一連番号（図８（Ａ）ではIndex））とは別に、そのノード識別子で識別されるノードに当てはめる中継装置２０−ｋを一意に識別する個体識別子格納領域（初期値は、NULL（0x00））を有する初期トポロジデータを用い、稼動開始通知を受信する度にその送信元のＭＡＣアドレス（例えば、図８（Ｂ）の“0x0027a8”など）を個体識別子格納領域に格納して各中継装置２０−ｋについてのＶＰＮトンネルの接続先を決定し、初期トポロジを形成させても勿論良い（図８（Ｂ）参照）。なお、ＭＡＣアドレスとは、その上位２４ビットで製造元メーカー等を表し、下位２４ビットで個々の機器を表す合計４８ビットの通信アドレスであるが、図８では、図面が繁雑になることを避けるため、ＭＡＣアドレスの下位２４ビットのみが個体識別子として例示されている。そして、図８（Ｂ）に示すように初期トポロジが形成されている状況下で、中間ノード（ノード識別子が“＃２”であるノード）の役割を割り当てた中継装置（例えば、ＭＡＣアドレスが“0x007d17”である中継装置）に障害が発生した場合には、以下の要領でネットワークトポロジの組み換えを行えば良い。例えば、ＭＡＣアドレスが“0x00992b”である中継装置（ノード識別子が“＃５”であるノードの役割を担わせていた中継装置）に上記中間ノードの役割を担わせる場合には、ノード識別子が“＃２”であるノードの個体識別子格納領域にＭＡＣアドレス“0x00992b”を書き込み、ノード識別子が“＃５”であるノードの個体識別子格納領域にはNULLを書き込む（図８（Ｃ）参照）。そして、ノード識別子が“＃１”または“＃４”であるノードに対応する各中継装置に対して、ＶＰＮトンネルの新たな接続先（すなわち、ＭＡＣアドレス“0x00992b”）を指示してネットワークトポロジを組み換えるのである。
【００３５】
また、図８（Ｄ）および図８（Ｅ）に示すように、各ノード間の接続関係を表すトポロジデータ（図８（Ｄ）参照）と、各ノードと中継装置との対応関係を表す稼動状況管理データ（図８（Ｅ）参照）とを別個に用意し、両データをノード識別子で関連付けるようにしても良い。図８（Ｄ）および図８（Ｅ）に示すように、トポロジデータと稼動状況管理データとを別個に用意する態様においては、トポロジデータについてはネットワークトポロジ管理装置４０の不揮発性記憶部３３２に格納し、稼働状況管理データについては同揮発性記憶部３３１に格納するようにすれば良い。稼動開始通知の受信に応じて順次更新する必要があるのは稼動状況管理データのみであり、トポロジデータについては更新の必要はないからである。
【００３６】
（７）上述した実施形態では、中継装置２０−ｋの制御部３１０に上記実施形態に係る子機に特徴的な処理を実行させるための子機側制御プログラム３３２ｂがその中継装置２０−ｋの不揮発性記憶部３３２に予め格納されていた。しかし、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）などのコンピュータ装置読み取り可能な記録媒体に上記子機側制御プログラム３３２ｂを書き込んで配布しても良く、また、インターネットなどの電気通信回線経由のダウンロードにより配布しても良い。このようにして配布される子機側制御プログラム３３２ｂを、パーソナルコンピュータなどの一般的なコンピュータ装置の制御部（ＣＰＵ）に実行させることによって、そのコンピュータ装置を上記子機として動作させることが可能になる。なお、子機として動作させるコンピュータ装置に上述した中継装置２０−ｋの役割を担わせる場合には、各々異なる通信網に接続される２つのＮＩＣをそのコンピュータ装置に実装する必要がある。また、親機側制御プログラム３３２ｄについても、同様に、コンピュータ装置読み取り可能な記録媒体に書き込んで配布しても良く、電気通信回線経由のダウンロードにより配布しても良い。
【図面の簡単な説明】
【００３７】
【図１】本発明の実施形態に係る通信システム１の構成例および同通信システム１におけるネットワークトポロジの一例を示す図である。
【図２】同通信システム１に含まれる中継装置２０−ｋの構成例を示す図である。
【図３】同通信システム１に含まれるネットワークトポロジ管理装置４０の構成例を示す図である。
【図４】同ネットワークトポロジ管理装置４０に記憶されている初期トポロジデータ３３２ｃの一例および初期トポロジデータ３３２ｃの表すネットワークトポロジの一例を示す図である。
【図５】同ネットワークトポロジ管理装置４０の制御部３１０が親機側制御プログラム３３２ｄにしたがって実行する処理を説明するための図である。
【図６】通信システム１にて実行されるネットワークトポロジ組み換え処理を説明するための図である。
【図７】変形例（２）にかかるネットワークトポロジの一例を示す図である。
【図８】変形例（６）に係るトポロジデータの一例を示す図である。
【図９】従来の問題点を説明するための図である。
【符号の説明】
【００３８】
１…通信システム、１０…通信網、２０−ｋ（ｋ＝１〜７）…中継装置、３０−ｋ（ｋ＝１〜７）…拠点内ＬＡＮ、３１−ｋ（ｋ＝１〜７）…音声通信端末、３２−ｋ（ｋ＝１〜７）…画像通信端末、４０…ネットワークトポロジ管理装置、３１０…制御部、３２０ａ…第１通信Ｉ／Ｆ部、３２０ｂ…第２通信Ｉ／Ｆ部、３３０…記憶部、３３１…揮発性記憶部、３３２…不揮発性記憶部、３３２ａ…親機識別子、３３２ｂ…子機側制御プログラム、３３２ｃ…初期トポロジデータ、３３２ｄ…親機側制御プログラム、３４０…バス。
【図１】
0004692570.tif 000002
【図２】
0004692570.tif 000003
【図３】
0004692570.tif 000004
【図４】
0004692570.tif 000005
【図５】
0004692570.tif 000006
【図６】
0004692570.tif 000007
【図７】
0004692570.tif 000008
【図８】
0004692570.tif 000009
【図９】
0004692570.tif 000010