(57)【要約】【課題】通信するための設定に関する作業負担を軽減させる。【解決手段】通信経路の区間の接続先を示すＩＰアドレスを有し、区間のネットワークサービスの設定と、当該ネットワークサービスの適用条件と、を対応付ける機器設定テーブルを記憶する設定情報記憶部と、区間と該区間の接続先のアドレス情報とを対応付けるネットワーク構成テーブルを記憶するネットワーク構成情報記憶部と、通信経路の確保を要求する通信仕様データの入力を受け付ける入力受付部と、機器設定テーブルより、通信仕様データに含まれる区間毎に、設定が可能か否か判断し、設定が可能と判断した場合、設定に含まれるＩＰアドレスと、ネットワーク構成テーブルで当該区間と対応付けられたアドレス情報に基づいて、通信可能か否か判断する判断部と、通信可能と判断した場合、通信経路を構成する区間毎に、設定が含まれている設定情報リストを生成する生成部と、を備える。【選択図】        図１
2008042820.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信装置と第２の通信装置との通信を中継する複数の中継装置間を結ぶことで通信経路を構成する前記中継装置間の区間の接続先を識別する接続先情報を有し、当該区間において通信を確保するために用いられるネットワークサービスを使用するための設定と、該設定に規定されたネットワークサービスを使用するための適用条件と、を対応付ける通信装置設定情報を記憶する設定情報記憶部と、
前記区間と、該区間と接続された通信装置を識別するアドレス情報とを対応付けるネットワーク構成情報を記憶する構成記憶部と、
所定の通信経路の確保を要求する通信仕様情報の入力を受け付ける入力受付部と、
前記通信装置設定情報に基づいて、前記通信仕様情報に含まれた前記通信経路を構成する区間毎に、当該区間において通信を確保するために用いられるネットワークサービスを使用するための設定が可能か否か判断し、前記設定が可能と判断した場合、当該設定に含まれる前記接続先情報と、前記構成記憶部に記憶されたネットワーク構成情報の当該所定の区間と対応付けられている前記アドレス情報とに基づいて、当該所定の区間において前記接続先情報で識別される中継装置又は通信装置と通信可能か否か判断する判断部と、
通信可能と判断した場合、要求した前記通信経路を構成する前記区間毎に、前記ネットワークサービスを使用するための設定が含まれている設定情報リストを生成する生成部と、
を備えることを特徴とするネットワーク設定装置。
【請求項２】
第１の通信装置と第２の通信装置との通信を中継する複数の中継装置間を結ぶことで通信経路を構成する前記中継装置間の区間において通信を確保するために用いられるネットワークサービスを使用するための設定と、該設定に規定されたネットワークサービスを使用するための適用条件と、を対応付ける通信装置設定情報を記憶する設定情報記憶部と、
所定の通信経路の確保を要求する通信仕様情報の入力を受け付ける入力受付部と、
前記通信装置設定情報に基づいて、前記通信仕様情報に含まれた前記通信経路を構成する区間毎に、当該区間において通信を確保するために用いられる前記ネットワークサービスを使用するための設定が可能か否か判断する判断する判断部と、
設定が可能と判断した場合、前記所定の通信経路を構成する前記中継装置間の区間毎に、前記ネットワークサービスを使用するための設定が含まれている設定情報リストを生成する生成部と、
を備えることを特徴とするネットワーク設定装置。
【請求項３】
前記区間と、該区間と接続された通信装置を識別するアドレス情報とを対応付けるネットワーク構成情報を記憶する構成記憶部を、さらに備え、
前記設定情報記憶部が記憶する前記設定は、前記ネットワークサービスを用いることで通信が確保される前記区間の接続先を識別する接続先情報を有し、
前記判断手段は、前記設定を可能と判断した場合、当該設定に含まれる前記接続先情報と、前記構成記憶部に記憶されたネットワーク構成情報の当該所定の区間と対応付けられている前記アドレス情報とが一致するか否か判断し、一致すると判断した場合に、当該所定の区間において前記接続先情報で識別される中継装置又は通信装置と通信可能か否か判断すること、
を特徴とする請求項２に記載のネットワーク設定装置。
【請求項４】
前記入力受付部は、所定の第１ネットワークシステム上の通信経路と、外部から通信経路の参照が制限されている所定の第２ネットワークシステム内の仮の経路として規定されている仮通信経路との確保を要求する第１の前記通信仕様情報の入力を受け付け、
前記判断部は、前記通信装置設定情報に基づいて、前記通信仕様情報の前記第１ネットワークシステム上の通信経路を構成する前記中継装置間の区間毎に、当該区間において通信を確保するために用いられるネットワークサービスを使用するための設定が可能か否か判断し、
第１の前記通信仕様情報に含まれる前記仮通信経路の確保を要求する第２の通信仕様情報を生成する仕様生成部と、
前記第２ネットワークシステムを管理するネットワーク設定装置に対して、生成された前記第２の通信仕様情報を出力する仕様出力部と、をさらに備えること、
を特徴とする請求項１乃至３のいずれか一つに記載のネットワーク設定装置。
【請求項５】
入力を受け付けた前記通信仕様情報に前記仮通信経路が含まれている場合、前記第２ネットワークシステムの通信経路を参照可能であれば、前記仮通信経路を実際の通信経路に変換する変換部と、をさらに備えること、
を特徴とする請求項４に記載のネットワーク設定装置。
【請求項６】
前記判断部は、前記区間において前記ネットワークサービスを使用するための設定が可能と判断した後、前記設定情報記憶部に記憶される前記通信装置設定情報に基づいて次の区間において前記ネットワークサービスを使用するために可能な設定を全て判断すること、
を特徴とする請求項１乃至５のいずれか一つに記載のネットワーク設定装置。
【請求項７】
前記判断部は、前記所定の通信経路の各区間で使用可能な前記ネットワークサービスを使用するための設定を一通り特定した場合に、他の前記設定が可能か否かの判断を行わずに処理を終了すること、
を特徴とする請求項１乃至６のいずれか一つに記載のネットワーク設定装置。
【請求項８】
生成された前記設定情報リストが複数存在する場合に、通信を確保するために用いる前記設定情報リストを選択する選択部を、
さらに備えることを特徴とする請求項１乃至７のいずれか一つに記載のネットワーク設定装置。
【請求項９】
生成された前記設定情報リストを用いて、前記通信経路上に配置された通信装置又は中継装置に対して、前記ネットワークサービスを使用するための設定を行う動作を制御する動作制御部と、
をさらに備えることを特徴とする請求項１乃至８のいずれか一つに記載のネットワーク設定装置。
【請求項１０】
第１の通信装置と第２の通信装置との通信を中継する複数の中継装置間を結ぶことで通信経路を構成する前記中継装置間の区間の接続先を識別するＩＰアドレスを有し、当該区間において通信を確保するために用いられるネットワークサービスを示す記述子を含む設定と、該設定に規定されたネットワークサービスを使用するための適用条件と、を対応付ける機器設定テーブルを記憶する設定情報記憶部と、
前記区間と、該区間と接続された通信装置を識別するアドレス情報とを対応付けるネットワーク構成テーブルを記憶するネットワーク構成記憶部と、
所定の通信経路の確保を要求する通信仕様データの入力を受け付ける入力受付部と、
前記機器設定テーブルに基づいて、前記通信仕様データに含まれた前記通信経路を構成する区間毎に、前記設定に含まれる前記ネットワークサービスを示す記述子を呼び出して当該ネットワークサービスを使用するための設定が可能か否か判断し、前記設定が可能と判断した場合、第１の引数で指定された所定の区間に第２の引数で指定されたＩＰアドレスで示される接続先が含まれるか否かを判断する記述子を示す比較記述子を呼び出して当該設定に含まれる前記ＩＰアドレスと、前記構成記憶部に記憶されたネットワーク構成テーブルの当該所定の区間と対応付けられている前記アドレス情報とが一致するか否か判断することで、当該所定の区間において前記ＩＰアドレスで識別される中継装置又は通信装置と通信可能か否か判断する判断部と、
通信可能と判断した場合、要求した前記通信経路を構成する前記区間毎に、前記ネットワークサービスを使用するための設定が含まれている設定情報リストを生成する生成部と、
を備えることを特徴とするネットワーク設定装置。
【請求項１１】
第１の通信装置と第２の通信装置との通信を中継する複数の中継装置間を結ぶことで通信経路を構成する前記中継装置間の区間の接続先を識別する接続先情報を有し、当該区間において通信を確保するために用いられるネットワークサービスを使用するための設定と、該設定に規定されたネットワークサービスを使用するための適用条件と、を対応付ける通信装置設定情報を記憶する設定情報記憶部と、
前記区間と、該区間と接続された通信装置を識別するアドレス情報とを対応付けるネットワーク構成情報を記憶する構成記憶部と、
所定の通信経路の確保を要求する通信仕様情報の入力を受け付ける入力受付部と、
前記通信装置設定情報に基づいて、前記通信仕様情報に含まれた前記通信経路を構成する区間毎に、当該区間において通信を確保するために用いられるネットワークサービスを使用するための設定が可能か否か判断し、前記設定が可能と判断した場合、当該設定に含まれる前記接続先情報と、前記構成記憶部に記憶されたネットワーク構成情報の当該所定の区間と対応付けられている前記アドレス情報とに基づいて、当該所定の区間において前記接続先情報で識別される中継装置又は通信装置と通信可能か否か判断する判断部と、
通信可能と判断した場合、要求した前記通信経路を構成する前記区間毎に、前記ネットワークサービスを使用するための設定が含まれている設定情報リストを生成する生成部と、
を備えることを特徴とするゲートウェイサーバ。
【請求項１２】
ネットワークの設定する手段として、コンピュータを機能させるプログラムであって、
所定の通信経路の確保を要求する通信仕様情報の入力を受け付ける入力受付ステップと、
設定情報記憶部に記憶された、第１の通信装置と第２の通信装置との通信を中継する複数の中継装置間を結ぶことで通信経路を構成する前記中継装置間の区間の接続先を識別する接続先情報を有し且つ当該区間において通信を確保するために用いられるネットワークサービスを使用するための設定と、該設定に規定されたネットワークサービスを使用するための適用条件と、を対応付ける通信装置設定情報に基づいて、前記通信仕様情報に含まれた前記通信経路を構成する区間毎に、当該区間において通信を確保するために用いられるネットワークサービスを使用するための設定が可能か否か判断し、前記設定が可能と判断した場合、当該設定に含まれる前記接続先情報と、構成記憶部に記憶された前記区間と該区間と接続された通信装置を識別するアドレス情報とを対応付けるネットワーク構成情報の当該所定の区間と対応付けられている前記アドレス情報と、に基づいて、当該所定の区間において前記接続先情報で識別される中継装置又は通信装置と通信可能か否か判断する判断ステップと、
通信可能と判断した場合、要求した前記通信経路を構成する前記区間毎に、前記ネットワークサービスを使用するための設定が含まれている設定情報リストを生成する生成ステップと、
をコンピュータに実行させるネットワーク設定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報を送受信するためにネットワーク設定を行うネットワーク設定装置、ゲートウェイサーバ及びネットワーク設定プログラムに関するものである。
【背景技術】
【０００２】
従来、ネットワーク設定を自動的におこなうものとしてＲＩＰ（Routing Information Protocol）やＯＳＰＦ（Open Shortest Path First）など、パケットのルーティングに関するものがいくつか知られている。
【０００３】
また、ルーティングテーブルの設定を支援する方法としては、例えば特許文献１に記載された技術などがある。特許文献１に記載された技術では、ネットワーク上の区間間で通信を行なう際に必要なルーティングテーブルを自動的に生成している。これにより、利用者が生成するより、短期間で正確なルーティングテーブルの生成を可能とした。
【０００４】
【特許文献１】特開２００５−１３０１４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のネットワーク設定方式は、例えばルーティングテーブルなど、パケットの送信先に関する経路情報を設定することを対象としている。つまり、経路を設定するのみに留まり、送信先と受信先とを接続するための他のネットワークサービス（例えばＶＰＮ：Virtual Private Network）を使用する等の情報と統合的に扱うことができない。
【０００６】
このため、例えば、遠隔システムとの間にＶＰＮを使用するとともに、遠隔に存在するサーバを自組織に存在するように仮想化する場合、ＶＰＮでネットワークを仮想化する設定に加えて、ルーティングなどの付随する設定を行わなければならない。
【０００７】
本発明は、上記に鑑みてなされたものであって、通信するための設定に関する作業負担を軽減させるネットワーク設定装置、ゲートウェイサーバ及びネットワーク設定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、ネットワーク設定装置において、第１の通信装置と第２の通信装置との通信を中継する複数の中継装置間を結ぶことで通信経路を構成する前記中継装置間の区間の接続先を識別する接続先情報を有し、当該区間において通信を確保するために用いられるネットワークサービスを使用するための設定と、該設定に規定されたネットワークサービスを使用するための適用条件と、を対応付ける通信装置設定情報を記憶する設定情報記憶部と、前記区間と、該区間と接続された通信装置を識別するアドレス情報とを対応付けるネットワーク構成情報を記憶する構成記憶部と、所定の通信経路の確保を要求する通信仕様情報の入力を受け付ける入力受付部と、前記通信装置設定情報に基づいて、前記通信仕様情報に含まれた前記通信経路を構成する区間毎に、当該区間において通信を確保するために用いられるネットワークサービスを使用するための設定が可能か否か判断し、前記設定が可能と判断した場合、当該設定に含まれる前記接続先情報と、前記構成記憶部に記憶されたネットワーク構成情報の当該所定の区間と対応付けられている前記アドレス情報とに基づいて、当該所定の区間において前記接続先情報で識別される中継装置又は通信装置と通信可能か否か判断する判断部と、通信可能と判断した場合、要求した前記通信経路を構成する前記区間毎に、前記ネットワークサービスを使用するための設定が含まれている設定情報リストを生成する生成部と、を備えることを特徴とする。
【０００９】
また、本発明は、ネットワーク設定装置において、第１の通信装置と第２の通信装置との通信を中継する複数の中継装置間を結ぶことで通信経路を構成する前記中継装置間の区間において通信を確保するために用いられるネットワークサービスを使用するための設定と、該設定に規定されたネットワークサービスを使用するための適用条件と、を対応付ける通信装置設定情報を記憶する設定情報記憶部と、所定の通信経路の確保を要求する通信仕様情報の入力を受け付ける入力受付部と、前記通信装置設定情報に基づいて、前記通信仕様情報に含まれた前記通信経路を構成する区間毎に、当該区間において通信を確保するために用いられる前記ネットワークサービスを使用するための設定が可能か否か判断する判断する判断部と、設定が可能と判断した場合、前記所定の通信経路を構成する前記中継装置間の区間毎に、前記ネットワークサービスを使用するための設定が含まれている設定情報リストを生成する生成部と、を備えることを特徴とする。
【００１０】
また、本発明は、ネットワーク設定装置において、第１の通信装置と第２の通信装置との通信を中継する複数の中継装置間を結ぶことで通信経路を構成する前記中継装置間の区間の接続先を識別するＩＰアドレスを有し、当該区間において通信を確保するために用いられるネットワークサービスを示す記述子を含む設定と、該設定に規定されたネットワークサービスを使用するための適用条件と、を対応付ける機器設定テーブルを記憶する設定情報記憶部と、前記区間と、該区間と接続された通信装置を識別するアドレス情報とを対応付けるネットワーク構成テーブルを記憶するネットワーク構成記憶部と、所定の通信経路の確保を要求する通信仕様データの入力を受け付ける入力受付部と、前記機器設定テーブルに基づいて、前記通信仕様データに含まれた前記通信経路を構成する区間毎に、前記設定に含まれる前記ネットワークサービスを示す記述子を呼び出して当該ネットワークサービスを使用するための設定が可能か否か判断し、前記設定が可能と判断した場合、第１の引数で指定された所定の区間に第２の引数で指定されたＩＰアドレスで示される接続先が含まれるか否かを判断する記述子を示す比較記述子を呼び出して当該設定に含まれる前記ＩＰアドレスと、前記構成記憶部に記憶されたネットワーク構成テーブルの当該所定の区間と対応付けられている前記アドレス情報とが一致するか否か判断することで、当該所定の区間において前記ＩＰアドレスで識別される中継装置又は通信装置と通信可能か否か判断する判断部と、通信可能と判断した場合、要求した前記通信経路を構成する前記中継装置間の前記区間毎に、前記ネットワークサービスを使用するための設定が含まれている設定情報リストを生成する生成部と、を備えることを特徴とする。
【００１１】
また、本発明は、ゲートウェイサーバにおいて、第１の通信装置と第２の通信装置との通信を中継する複数の中継装置間を結ぶことで通信経路を構成する前記中継装置間の区間の接続先を識別する接続先情報を有し、当該区間において通信を確保するために用いられるネットワークサービスを使用するための設定と、該設定に規定されたネットワークサービスを使用するための適用条件と、を対応付ける通信装置設定情報を記憶する設定情報記憶部と、前記区間と、該区間と接続された通信装置を識別するアドレス情報とを対応付けるネットワーク構成情報を記憶する構成記憶部と、所定の通信経路の確保を要求する通信仕様情報の入力を受け付ける入力受付部と、前記通信装置設定情報に基づいて、前記通信仕様情報に含まれた前記通信経路を構成する区間毎に、当該区間において通信を確保するために用いられるネットワークサービスを使用するための設定が可能か否か判断し、前記設定が可能と判断した場合、当該設定に含まれる前記接続先情報と、前記構成記憶部に記憶されたネットワーク構成情報の当該所定の区間と対応付けられている前記アドレス情報とに基づいて、当該所定の区間において前記接続先情報で識別される中継装置又は通信装置と通信可能か否か判断する判断部と、通信可能と判断した場合、要求した前記通信経路を構成する前記区間毎に、前記ネットワークサービスを使用するための設定が含まれている設定情報リストを生成する生成部と、を備えることを特徴とする。
【００１２】
また、本発明は、ネットワークの設定する手段として、コンピュータを機能させるプログラムであって、所定の通信経路の確保を要求する通信仕様情報の入力を受け付ける入力受付ステップと、設定情報記憶部に記憶された、第１の通信装置と第２の通信装置との通信を中継する複数の中継装置間を結ぶことで通信経路を構成する前記中継装置間の区間の接続先を識別する接続先情報を有し且つ当該区間において通信を確保するために用いられるネットワークサービスを使用するための設定と、該設定に規定されたネットワークサービスを使用するための適用条件と、を対応付ける通信装置設定情報に基づいて、前記通信仕様情報に含まれた前記通信経路を構成する区間毎に、当該区間において通信を確保するために用いられるネットワークサービスを使用するための設定が可能か否か判断し、前記設定が可能と判断した場合、当該設定に含まれる前記接続先情報と、構成記憶部に記憶された前記区間と該区間と接続された通信装置を識別するアドレス情報とを対応付けるネットワーク構成情報の当該所定の区間と対応付けられている前記アドレス情報と、に基づいて、当該所定の区間において前記接続先情報で識別される中継装置又は通信装置と通信可能か否か判断する判断ステップと、通信可能と判断した場合、要求した前記通信経路を構成する前記区間毎に、前記ネットワークサービスを使用するための設定が含まれている設定情報リストを生成する生成ステップと、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、生成された設定情報リストに含まれる各区間において通信を確保するためのネットワークサービスを使用するための設定を、所定の通信経路の区間毎に通信装置又は中継装置に実行させることで、当該所定の通信経路における通信設定を適切に確保できるので、通信するための設定に関する作業負担を軽減できるという効果を奏する。
【発明を実施するための最良の形態】
【００１４】
以下に添付図面を参照して、この発明にかかるネットワーク設定装置、ゲートウェイサーバ及びネットワーク設定プログラムの最良な実施の形態を詳細に説明する。後述する実施形態においては、ネットワーク設定装置をゲートウェイサーバに適用した例について説明する。なお、ネットワーク設定装置は、送受信の要求を行う端末又はＰＣから参照できれば良く、ゲートウェイサーバ以外の様々な装置に対して適用することができる。
【００１５】
（第１の実施の形態）
図１は第１の実施の形態にかかるネットワークの構成を示すブロック図である。本図に示すように、本実施の形態にかかるネットワークは、組織Ａが使用するネットワーク１００と、組織Ｂが使用するネットワーク１５０と、このネットワーク１００とネットワーク１５０を接続するネットワーク３０とを備える。
【００１６】
また、ネットワーク１００は、外部ネットワークと接続するインタフェースとしてＡ側ゲートウェイサーバ１０を備える。また、ネットワーク１００は、サーバ１２ａ〜ｎまでを保持している。そして、Ａ側ゲートウェイサーバ１０は、ネットワーク設定部１１と、当該Ａ側ゲートウェイサーバ１０の組織内側のインタフェース１０ｂと、外部ネットワーク側のインタフェース１０ａとを備える。なお、ネットワーク設定部１１については後述する。
【００１７】
また、ネットワーク１５０は、外部ネットワークと接続するインタフェースとしてＢ側ゲートウェイサーバ２０を備える。また、ネットワーク１５０は、サーバ２２ａ〜ｎまでを保持している。そして、Ｂ側ゲートウェイサーバ２０は、当該Ｂ側ゲートウェイサーバ２０の組織Ｂ内側のインタフェース２０ｂと、外部ネットワーク側のインタフェース２０ａとを備える。
【００１８】
そして、本実施の形態では、上述するネットワークにおいて、サーバ２２ａをネットワーク１００上に存在するように仮想化して、利用するための設定について述べる。なお、サーバ２２ａがネットワーク１００上に存在するよう仮想化するとは、ネットワーク１００上に存在するサーバ１２ａ〜ｎが、ネットワーク１００のアドレス（'192.168.100.21'など）を用いてサーバ２２ａにアクセスできることを可能にするものとする。
【００１９】
本実施の形態では、サーバ２２ａに仮想ＩＰアドレス‘192.168.100.21’を割り振った場合を仮定し、ネットワーク１００から送信され送信先アドレスが‘192.168.100.21’のパケットが、サーバ２２ａに受信されるために必要な設定を行う場合について説明する。
【００２０】
また、このような設定を必要とする状況としては、例えば組織Ａ上のサーバ１２ａが故障した場合等が考えられる。このようにサーバ１２ａが故障した場合、当該サーバ１２ａで提供されていたサービスを、サーバ２２ａに引き継がせる際に、当該設定が必要となる。また、引き継ぎ先のサーバ２２ａは、ネットワーク１００に含まれておらず、ネットワーク３０を介する必要があるので、情報の漏洩を防ぐためにＶＰＮ化も必要となる。そこで本実施の形態では通信経路に関する設定について説明する。なお、サーバが提供するサービスの引き継ぎ手法は、周知の技術を問わず、どのような技術を用いても良いこととし、説明を省略する。
【００２１】
なお、本実施の形態においては、ＶＰＮの設定は、Ａ側ゲートウェイサーバ１０とサーバ２２ａのみ可能とし、他の区間はＶＰＮを実現するための機能を保持していないことを前提とする。また、ＶＰＮの実現手法は、どのような手法を用いても良いが、本実施の形態においてはIPsecを用いた例とする。また、ＶＰＮで利用する暗号化方式については、Ａ側ゲートウェイサーバ１０とサーバ２２ａとの間で事前に定められているものとする。
【００２２】
本実施の形態においては、上述した前提条件に基づいて、「組織Ａが使用するネットワーク１００（ＩＰアドレスは“192.168.100.0/24”）と、組織Ｂが使用するネットワーク１５０内のサーバ２２ａと間の通信」のために設定を行う場合について説明する。まずは、このような通信を行うために必要な具体的な設定内容について説明する。
【００２３】
まず第１に、Ａ側ゲートウェイサーバ１０のインタフェース１０ｂは、ネットワーク１００内のサーバ１２ａ〜ｎから、宛先“192.168.100.21”(サーバ２２ａに割り振る仮想IPアドレス)のパケットを受信できるよう設定する。具体的には、“arp”コマンドなどによりProxy Arpの設定を行う。
【００２４】
次に、Ａ側ゲートウェイサーバ１０が、ＶＰＮの符号化処理を行うための設定を行う。具体的には、送信元“192.168.100.0/24”と宛先“192.168.100.21”とを示されたパケット（元来のパケット）を符号化した後、送信元“192.168.30.100”と宛先“192.168.200.21”とを示したヘッダを追加するように設定する。このような設定を行うためには、ＶＰＮ設定ファイルを記述することなどが必要となる。
【００２５】
そして、Ａ側ゲートウェイサーバ１０が、自装置が保持するルーティングテーブルに対して、宛先“192.168.200.21”のパケットを、Ｂ側ゲートウェイサーバ２０のインタフェース２０ａに転送するように設定する。具体的にはrouteコマンドなどを実行する。
【００２６】
次に、Ｂ側ゲートウェイサーバ２０が、自装置が保持するルーティングテーブルに対して、宛先“192.168.200.21”のパケットを、サーバ２２ａに転送する設定を行う。
【００２７】
そして、サーバ２２ａは、Ａ側ゲートウェイサーバ１０で符号化されたパケットを、復号化し、複合化したパケットを受信するための設定を行う。具体的には、ＶＰＮ設定ファイルの記述や仮想ＩＰアドレスの設定などを行う。
【００２８】
なお、上述した前提条件及び設定は、説明を容易にするための示したものであり、他のあらゆる条件及び設定を適用しても良い。例えば、Ｂ側ゲートウェイサーバ２０にＶＰＮの機能を持たせて、上述した設定と異なる設定を行い、通信を実現しても良い。
【００２９】
そして、上述したように、通信を実現するための設定は、Arp、ＶＰＮ及びルーティングテーブルなど多岐にわたる。ところが、従来のネットワーク設定手法では、これらのうち特定の項目（例えばルーティングテーブルなど）に特化していた。つまり、これら複数の項目を組み合わせて設定を行うことがでなかった。そこで、本実施の形態においては、Ａ側ゲートウェイサーバ１０が、ネットワーク設定部１１を備えることで、このような設定を行うことを可能としている。
【００３０】
図２は、Ａ側ゲートウェイサーバ１０が備えるネットワーク設定部１１の構成を示すブロック図である。図２に示すように、ネットワーク設定部１１は、入力受付部２０２と、判断部２０３と、選択受付部２０４と、生成部２０５と、選択部２０６と、動作制御部２０７と、ネットワーク構成記憶部２０８と、設定情報記憶部２０９と、機器操作情報記憶部２１０とを備える。
【００３１】
入力受付部２０２は、通信仕様データの入力を受け付ける。また、入力の受付手段としては、利用者がキーボードなどの入力デバイスから入力された通信仕様データを受け付けるものでも良いし、ネットワーク１００に配置されたサーバ１２ａ〜ｎからの通信経路を介して入力を受け付けるものでも良い。
【００３２】
また、通信仕様データは、所定の通信経路の確保を要求するためのデータとし、当該所定の通信経路を構成する中継装置間の各区間を含むデータとする。
【００３３】
図３は、本実施の形態にかかる通信仕様データＳ１の例を示した図である。図３に示すように、本実施の形態に係る通信仕様データＳ１は３行で構成されている。行３０１は、送信前のパケットの初期状態を示し、行３０３は、送信後のパケットの最終状態を示している。これら行３０１の初期状態及び行３０３の最終状態は、中括弧で囲まれている。そして、中括弧内の第１の値がパケットの送信元を、中括弧内の第２の値がパケットの送信先を、中括弧内の第３の値が各状態におけるパケットの存在する場所を示している。
【００３４】
図３に示した通信仕様データＳ１の例では、初期状態のパケットは、送信元が“192.168.100.0/24”（ネットワーク１００）で、宛先が“192.168.100.21”（サーバ２２ａに割り振られる仮想アドレス）で、“192.168.100.0/24”（ネットワーク１００）に存在していることを示している。また、最終状態のパケットは、送信元が“192.168.100.0/24”（ネットワーク１００）で、宛先が“192.168.100.21”（サーバ２２ａに割り振られる仮想アドレス）で、“192.168.200.21”（サーバ２２a）に存在していることを示している。
【００３５】
また、図３に示した通信仕様データＳ１の例では、初期状態と終了状態の間の行３０２には、当該パケットが経由する通信経路が指示されている。そして、通信経路に含まれる“ネットワーク１００”、“Ａ側ＧＷ１０”等が、通信経路を構成する区間とする。
【００３６】
つまり、前記通信仕様は、初期状態において送信元“192.168.100.0/24”、宛先“192.168.100.21”が設定され、“192.168.100.0/24”(ネットワーク１００)に存在しているパケットが、最終状態として送信元“192.168.100.0/24”、宛先“192.168.100.21”が設定され“192.168.200.21”(サーバ２２a)に到着できるように、通信経路としてネットワーク１００、Ａ側ゲートウェイサーバ１０、ネットワーク３０、Ｂ側ゲートウェイサーバ２０、ネットワーク１５０を順に経由する設定を要求するものである。なお、以下において、通信仕様データＳ１を用いた処理について説明する。
【００３７】
設定情報記憶部２０９は、機器設定テーブルを記憶する。図４は、機器設定テーブルのテーブル構造の例を示した図である。図４の機器設定テーブルは、“機器”と、“設定”と、“適用条件”とを対応付けて保持している。“機器”はネットワーク上に配置された通信装置又は中継装置とする。この通信装置又は中継装置が、要求された通信を確保するためにネットワークサービスを使用するための設定を実行する。
【００３８】
ネットワークサービスとは、通信経路で通信を確保するために使用されるサービスをいい、例えば、通信経路を確保するためのルーティングや、当該通信経路の暗号化を行うためのＶＰＮなど、当該通信経路で通信するために利用されるサービスであれば、どのようなサービスも含むものとする。
【００３９】
“設定”は、当該通信装置又は中継装置がネットワークサービスを使用するための設定処理（例えばルーティングやＶＰＮを実現するためのエンコード又はデコード）を識別する情報が規定されている。また、当該識別する情報は、Prologの述語及び述語への引数等で表されている。なお、詳細については後述する。“適用条件”は、当該設定の適用を許可するための条件を示している。
【００４０】
また、図４の設定で示したPrologの述語の種類について説明する。述語“route"は、ルーティングを示し、述語“receive”はパケットの受信を示し、述語“enc”はＶＰＮ使用時のエンコードを示し、述語“dec”は、ＶＰＮ使用時のデコードを示している。なお、引数などの詳細については後述する。
【００４１】
ネットワーク構成記憶部２０８は、ネットワーク構成テーブルを記憶する。図５は、ネットワーク構成テーブルのテーブル構造の例を示した図である。ネットワーク構成テーブルは、通信路と、通信路と直接接続する通信装置又は中継装置のインタフェース（アドレス）とを対応付けて保持している。このネットワーク構成テーブルは、判断部２０３において使用される。なお、詳細な使用手順については後述する。
【００４２】
機器操作情報記憶部２１０は、機器操作テーブルを記憶する。図６は、機器操作テーブルのテーブル構造の例を示した図である。図６の機器操作テーブルは、“設定”と、“機器”と、“操作”とを対応付けて保持している。つまり、“設定”が後述する設定情報リストに記載されていた場合に、“機器”で示された通信装置又は中継装置が、“操作”に示されたコマンド（例えば、ルーティングを行うコマンドや、ＶＰＮサービスを実行するためのスクリプト）を実行する。また、機器操作テーブルは、動作制御部２０７において使用される。なお、詳細な使用手順は後述する。
【００４３】
判断部２０３は、機器設定テーブルに基づいて、通信仕様データに含まれる通信経路を構成する中間装置間の区間毎に、ネットワークサービスを使用するための設定が可能か否か判断する。また、判断部２０３は、任意の区間でネットワークサービスを使用するための可能と判断した場合、ネットワーク構成テーブルに基づいて、当該区間において当該ネットワークサービスを利用可能な接続先と通信可能か否か判断する。なお、具体的な判断処理については後述する。また、判断部２０３は、Prologプログラムなどを用いて実現できる。
【００４４】
図７は、判断部２０３を実現するPrologプログラムの一部である述語“configure”の例を示した図である。図７の一行目において、判断に用いる述語“configure”が定義されている。そして、２行目以降の行７０１〜行７０４に記載された規則が成り立った場合に、この述語“configure”が成立することを示している。なお、本実施の形態にかかる判断部２０３で実現するPrologプログラムでは、述語“configure”は、ネットワークサービス（例えば、ルーティングや、ＶＰＮのエンコード等）を示す設定の種類毎に複数用意されており、図７はそのうちの一つを示したものとする。次に、当該述語“configure”を行毎に説明する。
【００４５】
図７の一行目の述語“configure"の引数は、上述した通信仕様データＳ１等の値が代入される。まず、述語“configure"の第１引数から第３引数は、初期状態を示すパラメータを指定する。より詳細な例としては、第１引数は、初期状態の送信元アドレスが指定される。第２引数は、初期状態の宛先アドレスが指定される。第３引数は、初期状態の現在の存在する場所が指定される。同様に、第４引数から第６引数は、終了状態の送信元アドレス、宛先アドレス及び現在存在する場所が指定される。
【００４６】
第７引数は、付加情報が指定される。付加情報は、例えば暗号化やＶＰＮトンネルを利用する場合のパケットの状態変化の過程等とする。第８は、通信経路が指定される。この通信経路は、最初の段階では通信仕様データＳ１に含まれる通信経路が指定される。第９引数は、判断部２０３が判断する時に使用した設定情報を格納する変数とする。
【００４７】
図８は、図７に示した述語“configure"の引数に対して、図３で示した通信仕様データＳ１の値を指定した例を示した図である。つまり、図３に示した通信仕様データＳ１の入力を受け付けた場合、判断部２０３は、述語“configure”に対して図８に示すように引数を設定する。
【００４８】
図７の行７０１は、述語“receive”が定義されている。そして、判断部２０３は、引数が指定された述語“receive”の規則が、機器設定テーブルに登録されたレコードより成立するか否か判断する。
【００４９】
図８に示した述語“configure"の引数から、図７の行７０１の引数を指定すると「receive (Next, ネットワーク１００, 192.168.100.0/24, 198.168.100.21)」となる。
【００５０】
そして、判断部２０３は、当該述語“receive”が、図４の“設定”と適合するレコードを抽出し、当該抽出された“適用条件”を満たすか否かを判断する。
【００５１】
まず、判断部２０３は、上述した述語“receive”が、レコード４０１の“設定”と適合すると判断する。そして、判断部２０３は、レコード４０１の“適合条件”として、当該述語“receive”の引数である“Dst”が、“192.168.100.0/24（ネットワーク１００）”に含まれるか否か判断する。
【００５２】
例えば、上記に示した述語“receive”では、“Dst”に“198.168.100.21”が指定されている。このため、“192.168.100.0/24（ネットワーク１００）”に含まれていると判断できる。つまり、当該述語“receive”の規則が成立したこととなる。この場合、“設定”に示した“receive(192.168.100.254,ネットワーク１００,$Src,$Dst)”が適用される。つまり、“設定”の述語“receive”で定義された引数から、変数“Next”に“192.168.100.254”が指定される。つまり、“設定”で次の接続先が定義されている。
【００５３】
そして、レコード４０１で示した設定を適用した場合、“192.168.100.254”で識別されるインタフェース（つまり、インタフェース１０ｂ）が、ネットワーク１００から送信され、“192.168.100.21”(サーバ２２ａに割り振られる仮想アドレス)を送信先とするパケットを受信する設定が行われることとなる。
【００５４】
図７の行７０２は、述語“com”が定義されている。そして、判断部２０３は、引数が指定された述語“com”の規則が成立するか否か判断する。また、行７０１の規則が上述した処理で成立していると判断された場合、変数“Next”に“192.168.100.254”が指定されている。行７０２では述語“com”は２個定義されているが、これら２個共に成立している必要がある。
【００５５】
そして、判断部２０３は、変数“Next”＝“192.168.100.254”と、図８に示した述語“configure"の引数とから、図７の行７０２の引数を指定する。その結果、当該行は、「com(ネットワーク１００, 192.168.100.254)、com（Ａ側ゲートウェイサーバ１０, 192.168.100.254）」となる。
【００５６】
また、述語“com”は、第１引数で指定された通信路に、第２引数で指定されたインタフェースが含まれているか否か、つまり第１引数で指定された通信路において第２引数で指定されたインタフェースと通信可能か否かを確認するために用いられる。また、この通信路とインタフェースとの対応関係は、図５で示したようなネットワーク構成テーブルが予め保持している。
【００５７】
これにより、判断部２０３は、当該行の述語“com”が、ネットワーク構成テーブルにおいて対応付けられた通信路とアドレスとに一致するか否か判断する。例えば、図５に示したネットワーク構成テーブルでは、ネットワーク１００と“192.168.100.254”とが対応付けられ、Ａ側ゲートウェイサーバ１０と“192.168.100.254”とが対応付けられている。これにより、判断部２０３は、当該行で示された規則が成立していると判断する。
【００５８】
つまり、判断部２０３は、図７の行７０２において、変数“Next”で指定されたＩＰアドレスが、通信経路上に存在しているか否かを確認している。
【００５９】
図７の行７０３は、変数“CONF”に格納される値を定義している。行７０３の例では、後述する行７０４で格納された変数“TEMPCONF”に[recv,Next,Src,Dst]を加えることを示している。なお、上述した例では、変数“Next”＝“192.168.100.254”で、“Src”＝“192.168.100.0/24”で、“Dst”＝“198.168.100.21”を示した。これらの値を適用した場合、変数“CONF”は、[recv, 192.168.100.254, 192.168.100.0/24, 198.168.100.21]と変数“TMPCONF”を結合した文字列となる。
【００６０】
なお、この文字列の例[recv, 192.168.100.254, 192.168.100.0/24, 198.168.100.21]は、ネットワーク１００から送信されたパケットで、“192.168.100.21”を宛先とするパケットは、Ａ側ゲートウェイサーバ１０のインタフェース１０ａが受信する設定を行うことを示している。
【００６１】
図７の行７０４は、述語“configure”の再帰的呼び出しを定義している。この際に、引数を変更している。例えば、現在の存在場所を“192.168.100.254”とし、ネットワーク１００を削除した通信経路を引数として渡している。これにより、判断部２０３が、Ａ側ゲートウェイサーバ１０以降の経路について実現可能か否か判断を行うことになる。
【００６２】
図９は、図７で示した述語“configure”に対して判断部２０３が行う判断手順の概念を示した説明図である。図９の手順９０１は、述語“configure”に引数が設定された状態を示している。そして、手順９０２は、手順９０１で設定された引数から、述語“receive”の引数を設定した状態を示している。そして、手順９０３において、判断部２０３が、設定した引数で、機器設定テーブルを用いて、当該規則が成立しているか判断する。成立すると判断された場合、変数“Next”に接続先が格納される。そして、述語“receive”が成立したと判断された場合、手順９０４において、判断部２０３は、述語“com”(ネットワーク１００,192.168.100.254)が成立するか否か判断する。
【００６３】
その後、手順９０５において、判断部２０３は、述語“com”（Ａ側ゲートウェイサーバ１０,192.168.100.254）が成立するか否か判断する。
【００６４】
そして、判断部２０３は、述語“com”がそれぞれ成立すると判断された場合、変数“CONF”に上述した処理で得られる設定が示された文字列を追加するが、まだ変数“TEMPCONF”には値が格納されていない。
【００６５】
そこで、判断部２０３は、述語“configure”を再帰的に呼び出す。これにより、変数“TEMPCONF”にはＡ側ゲートウェイサーバ１０以降の設定を示した設定情報が格納される。
【００６６】
図１０は、再帰的に呼び出された述語“configure”の引数である変数“TEMPCONF”に格納される設定情報のリストの例を示した図である。図１０に示すように、変数“TEMPCONF”には、述語“configure”が再帰的に呼び出された結果である、Ａ側ゲートウェイサーバ１０以降の通信経路上において送受信をするための設定情報が格納されている。
【００６７】
図１１は、図９に示した述語“configure”の引数である変数“CONF”に格納される設定情報のリストの例を示した図である。図１１に示すように、上述した処理手順で生成された設定情報を示す行１２０１を、変数“TEMPCONF”に格納された設定情報を追加することで、変数“CONF"を生成する。このように、述語“configure”が再帰的に呼び出される度に、設定情報が追加されることになる。次に、述語“configure”の再帰的に呼び出す手順について説明する。
【００６８】
図１２―１は、判断部２０３から呼び出される述語“configure”による処理の概念を階層構造として例を示した図である。なお、図１２−１においては、説明を容易にするために引数を簡略化して説明する。図１２−２〜図１２−４においても同様とする。
【００６９】
なお、図１２−１〜図１２−４の説明においては、説明を容易にするために階層が２階層とするが、実際は通信経路の区間の数だけ階層が存在する。つまり、後述する説明では、述語“configure"が再帰的に呼び出された場合、次の区間に対する処理を開始することを意味している。
【００７０】
まず、図１２−１では、判断部２０３が、述語“configure(input, CONF)”を呼び出している。そして、呼び出された述語“configure(input, CONF)”が、例えば図７で示した述語“configure”の場合、上述した説明のように述語“receive”等による処理が行われる。また、変数“CONF”は、当該処理で得られる“△output1”と再帰的に呼び出される述語“configure”で得られる“TMPCONF”である。そこで、当該述語“configure(input, CONF)は、引数を設定して再帰的に述語“configure(input',TMPCONF)”を呼び出す。
【００７１】
そして、呼び出された述語“configure”が、例えば図７で示した述語“configure”の場合、同様に述語“receive”等による処理が行われることになる。このような再帰呼び出しを行い、最下層の述語“configure”から設定情報を生成し、上の層に移動するに従って設定情報を追加していく処理を行う。
【００７２】
例えば、下層の述語“configure"において“TMPCONF”に“output1'”が格納された場合、上層の述語“configure”の変数“CONF”は、“△output1+output1'”となる。なお、“Δoutput1”は、上層の述語“configure”において生成された設定情報とする。
【００７３】
上述したように、述語“configure”は複数定義されている。このため、判断部２０３は、別定義のconfigureも利用し、当該要求された通信使用を実現できる可能性のある設定を網羅的に導出することができる。より具体的には、図１２−１の処理が終了した後、上層の述語“configure”は別定義の“configure”も呼び出す。
【００７４】
図１２―２は、図１２−１の処理を行ったあとに、判断部２０３から呼び出される述語“configure”の処理の概念を階層構造として例を示した図である。
【００７５】
再び、判断部２０３が、述語“configure(input, CONF)”を呼び出す。この呼び出される述語“configure(input, CONF)”は、先ほどと同様に図７で示した述語“configure”とする。そして、この上層の述語“configure(input, CONF)”は、述語“receive"等の処理を行ったあと、図１２−１で呼び出したものとは別定義の述語“configure”を検索する（図１２−２（１０））。そして、別定義の述語“configure”を検出した場合、当該別定義の述語“configure”を再帰的に呼び出す。この際、当該上層の述語“configure(input, CONF)”は、図１２−１で再帰的に呼び出した場合と同様の引数を設定して、当該別定義の述語“configure(input',TMPCONF)”を呼び出す。図１２−２で示した別定義の述語“configure”の例では、述語“route"等が定義されているのものとする。
【００７６】
これにより、当該別定義の述語“configure”が再帰的に呼び出された後は、述語“route”等により処理が行われることになる。その後は、図１２−１で説明した時と同様に、最下層まで再帰的に処理が行われることになる。
【００７７】
そして、下層の述語“configure"において“TMPCONF”に“output2'”が格納された場合、上層の述語“configure”の変数“CONF”は、“△output1+output2'”となる。
【００７８】
図１２―３は、図１２−２の処理を行ったあとに、判断部２０３から呼び出される述語“configure”の処理の概念を階層構造として例を示した図である。
【００７９】
再び、判断部２０３が、述語“configure(input, CONF)”を呼び出す。この呼び出される述語“configure(input, CONF)”は、先ほどと同様に図７で示した述語“configure”とする。そして、この上層の述語“configure(input, CONF)”は、述語“receive"等の処理を行ったあと、図１２−１及び図１２−２で呼び出したものとは別定義の述語“configure”を検索する。そして、別定義の述語“configure”を検出した場合、当該別定義の述語“configure”を再帰的に呼び出す。この際、当該上層の述語“configure(input, CONF)”は、図１２−１及び図１２−２で再帰的に呼び出した場合と同様の引数を設定して、当該別定義の述語“configure(input',TMPCONF)”を呼び出す。図１２−２で示した別定義の述語“configure”の例では、述語“enc"等が定義されているのものとする。
【００８０】
これにより、当該別定義の述語“configure”が再帰的に呼び出された後は、述語“enc”等により処理が行われることになる。その後は、図１２−１及び図１２−２と同様に、最下層まで再帰的に処理が行われることになる。
【００８１】
そして、下層の述語“configure"において“TMPCONF”に“output3'”が格納された場合、上層の述語“configure”の変数“CONF”は、“△output1+output3'”となる。
【００８２】
このように、述語“configure”の再帰的呼び出しを行う場合、述語“configure”の定義された数だけ呼び出しを行うことになる。
【００８３】
このような別定義の述語“configure”の検索及び呼び出しは、各層毎に行われる。
【００８４】
図１２―４は、図１２−３の処理を行ったあとに、判断部２０３から呼び出される述語“configure”の概念を階層構造として例を示した図である。
【００８５】
図１２−４に示した例では、述語“receive”等が定義された述語“configure”の下層では、全ての定義の述語“configure”の呼び出しが終了していることとする。そこで、今回呼び出される述語“configure(input, CONF)”として、述語“receive”等が定義されていない別定義の述語“configure”を検索する。そして、別定義の述語“configure”が検出された場合、当該述語“configure”に対して引数を設定して、処理を要求する。なお、図１２−４に示した処理で検索された述語“configure”は、述語“route”等が定義されているものとし、図１２−２で検出された述語“configure”と同様とする。
【００８６】
そのあと、当該検出された“configure”から、下層の述語“configure”を再帰的に呼び出すことになるが、これは図１２−１〜図１２−３で示した処理と同様となり説明を省略する。
【００８７】
その後、上層についてさらに別定義の述語“configure”の検出を行う。このように、通信経路において設定情報を取得するために、判断部２０３は、述語“configure”を再帰的に呼び出すが、呼び出された層毎に定義が異なる全ての述語“configure”の呼び出しを行う。
【００８８】
そして、判断部２０３は、そして層毎の述語“configure”に含まれる規則が成立しなかった場合、それ以降の述語“configure”の再帰呼び出しは停止し、変数“CONF”を廃棄する。
【００８９】
そして、判断部２０３は、再帰呼び出しで通信経路の送信先までの全ての述語“configure”において規則が成立した場合、後述する生成部２０５は、変数“CONF”から、当該設定情報で構成される後述する設定情報リストを生成する。
【００９０】
前述のように、述語“configure"は、ネットワークサービスを使用するための設定の種類毎に複数されている。そして、上述した通り、再帰呼び出しを行う際に定義された全ての述語“configure”を呼び出して規則が成立するか判断している。そして、判断部２０３は、成立しない場合、今まで生成した変数“CONF”の値を破棄する。
【００９１】
つまり、通信経路の全ての区間で適用できる設定情報が特定された場合のみ、後述する生成部２０５が変数“CONF”の値を取得することができる。また、述語“configure”は、再帰的に全ての述語“configure"を呼び出している。このため、判断部２０３は、区間毎に適用できる設定情報が、所定の通信経路の全ての区間に存在していることを、複数回検出できる。この場合、複数の“CONF"の値が取得できる。
【００９２】
図１３は、図７とは別定義の述語“configure”の例を示した図である。図１３の行１３０１においては、現在の場所となるネットワーク機器において、パケットに対してエンコードが可能か否かを判断する。この場合も、判断部２０３は、図４に示した機器設定テーブルを用いて、エンコード可能か否かを判断する。また、行１３０１より下の行については、図７と同様なので説明を省略する。また、次の接続先は“NewSrc”として定義されており、再帰的に述語“configure”を呼び出すことで特定される。
【００９３】
このように接続先は、述語“configure”及び機器設定テーブルで定義されているが、述語“configure”により取得する手法が異なる。また、次の接続先を取得する手法としては、上述した手法以外でもよく、どのような手法を用いても良い。
【００９４】
上述した処理を行うことで、述語“configure”の変数“CONF”値に、通信装置又は中継装置が用いるネットワークサービスを使用するための設定を含む設定情報のリスト（以下、設定情報リストという）が格納される。
【００９５】
生成部２０５は、判断部２０３の判断結果となる変数“CONF”に格納された値を取得し、機器に対して行う設定情報リストを生成する。また、設定情報リストの例は、図１１で示した変数“CONF”の値と同様とする。このように設定情報リストは、述語“configure”で処理された各区間の設定情報で構成されている。そして、設定情報リストに含まれる各設定情報に対応したネットワークサービスを使用するための設定を実行することで、通信経路を所定の設定で確保できる。
【００９６】
また、生成部２０５は、判断部２０３の判断結果により、通信経路に対して実現可能な設定内容が複数存在すると判断された場合、生成部２０５は、当該設定内容毎に設定情報リストを生成する。
【００９７】
選択部２０６は、生成部２０５において設定情報リストが複数生成された場合に、当該複数の設定情報リストから、設定に用いる設定情報リストを選択する。この設定情報リストの選択手法は、どのような手法を用いても良いが、本実施の形態においては、（図示しない）表示部に複数の設定情報リストを提示し、利用者からの選択を受け付けることとする。なお、設定情報リストを選択する他の例としては、適当なプログラムなどを用いて自動的に選択する等の処理を行っても良い。そして、選択部２０６が選択した設定情報リストは、動作制御部２０７に出力される。
【００９８】
選択受付部２０４は、複数の設定情報リストから、実際に設定に用いる設定情報リストの選択を受け付ける。例えば、所定の経路においてＶＰＮ化の有無等の違いにより、複数の設定情報リストが生成される場合が考えられる。そこで、利用者からの選択を受け付け、通信を行うために最も適した設定内容の選択を利用者から受け付ける。
【００９９】
動作制御部２０７は、入力された設定情報リストに含まれる設定情報毎に対応する“機器”及び“操作”を、機器操作テーブルから取得し、“機器”で示される通信装置又は中継装置に“操作”で示されたコマンド（例えば、ルーティングを行うコマンドや、ＶＰＮサービスを実行するためのスクリプト）を実行するように制御する。
【０１００】
動作制御部２０７は、機器操作テーブルの設定フィールドが当該設定情報と適合するレコードを検出する。図６に示す機器操作テーブルにおいて、例えば、動作制御部２０７が、設定情報リストに含まれる設定情報[recv, 192.168.100.254, 192.168.100.0/24, 198.168.100.21]に適合するレコードの検索を行った場合、レコード６０１が検出される。
【０１０１】
レコード６０１は、“設定”にインタフェース１０ｂ(“192.168.100.254”)がパケットを受信することが定義され、“操作”に送信先のＩＰアドレスが“192.168.100.254”以外の場合にarpコマンドを実行することを示している。この“操作”（arpコマンドの実行）は、レコード６０１で定義された機器（Ａ側ＧＷ１０）で実行するように制御する。
【０１０２】
つまり、動作制御部２０７は、インタフェース１０ｂ(アドレスは192.168.100.254)がパケット受信する場合、レコード６０１の“IF”文で示されているように受信すべきパケットの宛先アドレスが“192.168.100.254”でなければ、“操作”で定義されたarpコマンドを通信装置又は中継装置が実行するように制御する。なお、レコード６０１で“機器”はＡ側ＧＷ１０なので、Ａ側ゲートウェイサーバ１０がarpコマンドを実行する。
【０１０３】
このように、動作制御部２０７は、設定情報リストに含まれる設定情報毎に、通信経路を確保するための動作を実行する制御を行う。これにより、入力を受け付けた通信仕様データＳ１を実現するために必要な設定がなされる。
【０１０４】
次に、ネットワーク設定部１１の通信経路を設定する手順について説明する。図１４は、ネットワーク設定部１１の通信経路を設定する手順を示すフローチャートである。
【０１０５】
まず、入力受付部２０２は、通信仕様データＳ１の入力を受け付ける（ステップＳ１４０１）。次に、判断部２０３は、入力を受け付けた通信仕様データＳ１に含まれる通信経路の実現可能性を判断する（ステップＳ１４０２）。この可能性を判断するために、上述したPrologプログラムの述語“configure”を呼び出し、ネットワーク構成テーブル及び機器設定テーブルを参照する。
【０１０６】
そして、生成部２０５は、判断部２０３の判断結果に基づいて、設定情報リストを生成する（ステップＳ１４０３）。本実施の形態においては、述語“configure”の引数“CONF”に格納されている値を取得し、取得した値を設定情報リストとする。
【０１０７】
次に、選択部２０６が、生成部２０５において生成された複数の設定情報リストから、設定に用いる設定情報リストを選択する（ステップＳ１４０４）。この選択情報リストの選択は、例えば、選択受付部２０４が利用者から選択を受け付ける等とする。
【０１０８】
そして、動作制御部２０７が、選択された設定情報リストに従って、設定の実行を行う（ステップＳ１４０５）。
【０１０９】
また、本実施の形態にかかる判断部２０３は、Prolog言語を用いて実現する。しかしながら、判断部２０３を実現するプログラムをPrologに制限するものではなく、既存のプログラム言語等を含め、どのような言語を用いても良い。
【０１１０】
また、本実施の形態は、ＶＰＮの手法として、IPsecを用いることにしたが、他のどのような手法を用いても良い。
【０１１１】
また、本実施の形態において説明した通信仕様データが保持する値及びフォーマット形式は例を示したものであり、例えば、異なるフォーマット形式又は異なる設定値等を含むものでも良い。
【０１１２】
また、本実施の形態に示した述語や設定情報の定義を、上述した本実施の形態で説明したものに制限するものでなく、さまざまな述語や設定情報を定義しても良い。
【０１１３】
また本実施の形態に係るネットワーク設定部１１は、入力された通信仕様データと、予め記憶しているネットワーク構成テーブルと機器設定テーブルとから、通信するために必要な設定を全て含んだ設定情報リストを生成することができる。
【０１１４】
そして、ネットワーク設定部１１は、当該設定情報リストに従って区間毎に通信装置又は中継装置の動作を制御するので、送信元から送信先までの通信経路による通信を実現できる。これにより、利用者は通信経路を確保するための設定と、通信経路間で通信するための設定とを行う必要がないので、通信設定に関する作業負担を軽減できる。
【０１１５】
また、上述した第１の実施の形態に限定されるものではなく、以下に例示するような種々の変形が可能である。
【０１１６】
（第１の実施の形態にかかる変形例１）
上述した第１の実施の形態にかかるネットワーク設定部１１では、設定情報リストを複数生成して、複数の設定情報リストから選択することにした。しかしながら、このような手法に制限するものではない。
【０１１７】
そこで、本変形例では、設定情報リストを一つのみ生成する。本変形例において判断部２０３は、上述した処理と同様に通信経路の各区間毎に述語“configure”を再帰的に呼び出し、通信経路の送信先まで当該述語“configure”の規則が成立した場合、この引数“CONF"に基づいて設定情報リストを生成する。そして、第１の実施の形態のように他の設定情報リストを生成するために他に定義された述語“configure”の呼び出し等を行わず、処理を終了する。そして、ネットワーク設定部１１は、当該設定情報リストにより、通信を行うための設定するための制御を行う。
【０１１８】
（第２の実施の形態）
第１の実施の形態においては、組織Ａのネットワーク１００と、組織Ｂのネットワーク１５０とは、一元的に管理されており、お互いのネットワークを参照できる必要がある。そこで、第２の実施の形態は、ネットワーク１００とネットワーク１５０とは、ゲートウェイサーバから内部を互いに参照できない場合について説明する。
【０１１９】
つまり第２の実施の形態においては、組織Ａのネットワーク１００は、組織Ｂのシステム構成情報を保持せず、組織Ｂのネットワーク１５０は、組織Ａのシステム構成情報を保持しないことを意味する。また、組織Ａ内のネットワーク１００及びサーバ１２ａからサーバ１２ｎを含む構成、組織Ｂ内のネットワーク１５０及びサーバ２２ａからサーバ２２ｎを含む構成は、それぞれ組織毎のネットワークシステムとする。
【０１２０】
図１５は、組織Ａが把握しているネットワークの構成を示した図である。図１５に示すように、ネットワーク１００のＡ側ゲートウェイサーバ１５０１は、ネットワーク１００内部に設置されたサーバ１２ａ〜ｎと、ネットワーク３０とネットワーク３０の先に設置されたインタフェース２０ａが有り、当該インタフェース２０ａを介して組織Ｂのネットワークが存在することと、組織Ｂのネットワーク内にインタフェース２１aをもったサーバ22aが存在することを認識している。このため、組織Ｂのサーバ２２ａが送信先として指定されてもインタフェース２０ａに接続された組織Ｂを経由することは把握できる。しかし、サーバ２２ａとインタフェース２０ａとの間に存在する通信路やネットワーク機器を認識できないため、実際に使用する通信経路を特定できない。
【０１２１】
つまり、ネットワーク設定部１５０２がネットワーク１５０の情報を管理していない以上、ネットワーク設定部１５０２ではネットワーク１５０に含まれる区間毎の設定情報を取得できない。このため、第１の実施の形態で示した処理手順は、適用できない。
【０１２２】
図１６は、組織Ｂが把握しているネットワークの構成を示した図である。図１６に示すように、ネットワーク１５０のＢ側ゲートウェイサーバ１５１１は、ネットワーク１５０内部に設置されたサーバ２２ａ〜ｎと、ネットワーク３０とネットワーク３０の先に設置されたインタフェース１０ａが有り、当該インタフェース１０ａを介して組織Ａのネットワークが存在することを認識している。
【０１２３】
本実施の形態は、送信元が“192.168.100.0/24”、宛先が“192.168.100.21”のパケットを、ネットワーク１００からサーバ２２ａまでネットワーク３０を介して送信する設定を実現する例を説明する。また、前提条件については第１の実施の形態と同様として、説明を省略する。
【０１２４】
図１７は、本実施の形態にかかるＡ側ゲートウェイサーバ１５０１が備えるネットワーク設定部１５０２の構成を示すブロック図である。図１７に示すように、ネットワーク設定部１５０２は、受信部１７０１と、変換部１７０２と、入力受付部２０２と、判断部１７０３と、仕様生成部１７０４と、仕様出力部１７０５と、生成部１７０６と、選択受付部２０４と、選択部１７０７と、設定受信部１７０８と、動作制御部１７１３と、送信部１７０９と、経路変換情報部１７１０と、ネットワーク構成記憶部２０８と、設定情報記憶部２０９と、管理装置情報記憶部１７１１と、判断結果受信部１７１２と、機器操作情報記憶部２１０とを備える。
【０１２５】
なお、本実施の形態のネットワーク設定部１５０２の構成で、第１の実施の形態のネットワーク設定部１１と共通な構成については説明を省略する。また、ネットワーク設定部１５１２は、ネットワーク設定部１５０２と同様の構成となり説明を省略する。
【０１２６】
次に、本実施の形態で用いる通信仕様データについて説明する。図１８は、本実施の形態で使用する通信仕様データＳ２の例を示した図である。図１８に示すように、本実施の形態にかかる通信仕様データＳ２は、第１の実施の形態の通信仕様データＳ１と同じフォーマットで記述されている。そして、利用者が所属する組織Ａのネットワーク１００からは組織Ｂが使用するネットワークを参照できない。そこで、図１８に示す通信仕様データの通信経路には、仮通信経路である“組織Ｂ”が指定されている。
【０１２７】
また、通信仕様データＳ２は、「組織Ａのネットワーク１００（アドレスは“192.168.100.0/24”）と、組織Ｂの内部に存在するサーバ２２ａ間との通信」を行うために、組織Ａのサーバ１２ａ〜ｎ等から要求を受け付けた場合の例とする。
【０１２８】
管理装置情報記憶部１７１１は、通信経路を管理する管理装置テーブルを記憶する。図１９は、管理装置テーブルのテーブル構造を示す図である。図１９に示すように、管理装置テーブルは、管理先の組織と、管理装置のアドレスと、当該管理装置が管理する仮通信経路とを対応付けて保持している。これにより、仮通信経路を管理している管理装置を特定することができる。なお、図１９は、組織Ａのネットワーク設定部１５０２が持つ管理装置テーブルとする。
【０１２９】
経路変換情報部１７１０は、経路変換テーブルを記憶している。図２０は、経路変換テーブルのテーブル構造を示す図である。図２０に示すように、経路変換テーブルは、要求元と、仮経路と、実経路とを対応付けて記憶している。これにより、要求元から仮通信経路を含んだ通信仕様データを受信した場合、当該仮通信経路を実際に使用される通信経路に変換することができる。なお、図２０は、組織Ｂのネットワーク設定部１５１２が持つ経路変換テーブルとする。
【０１３０】
受信部１７０１は、通信仕様データ又は通信仕様証明要求を受信する。なお、受信する通信仕様データは、入力受付部２０２と同様の通信仕様データも含む。また、通信仕様証明要求は、組織Ａのネットワーク１００を参照できない通信装置又は中継装置（例えば、Ｂ側ゲートウェイサーバ１５１１）から送信されるものとする。このような通信仕様証明要求は、通信経路として実際の経路とは異なる仮通信経路が設定されている。なお、詳細については後述する。
【０１３１】
変換部１７０２は、受信した通信仕様データに仮通信経路が含まれている場合、当該仮通信経路を、実際の通信経路に変換する処理を行う。この仮通信経路から実際の通信経路への変換処理はどのような手法を用いても良いが、本実施の形態では経路変換テーブルを用いて変換を行うこととする。
【０１３２】
本実施の形態にかかる変換部１７０２は、図２０に示した経路変換テーブルに対して、要求元と仮経路を検索キーとして、検索を行うことで実際の通信経路を取得できる。これにより、変換部１７０２は、通信仕様データに含まれる仮通信経路を、実際の通信経路に変換する。また、変換部１７０２は、受信部１７０１から当該通信仕様データの要求元も予め取得しておく。
【０１３３】
判断部１７０３は、管理装置判断部１７５１を備え、第１の実施の形態の判断部２０３と同様に、ネットワーク構成テーブルと機器設定テーブルとに基づいて、受信又は入力を受け付けた通信仕様データの実現可能性を判断する。
【０１３４】
また、判断部１７０３は、通信仕様データに含まれる通信経路より、他の組織における設定が必要か否かを判断する。つまり、判断部１７０３は、通信仕様データの通信経路で管理対象外である仮通信経路を含んでいるか否か判断し、仮通信経路を含んでいる場合に他の組織における設定が必要と判断する。
【０１３５】
判断部１７０３は、第１の実施の形態にかかる判断部２０３と同様に述語“configure”を呼び出して処理を行う。なお、述語“configure”は図１３で説明したものと同様とする。
【０１３６】
図２１−１は、図１８で示した通信仕様データＳ２を用いた処理で評価する必要のある述語の例を示した図である。つまり、図１８に示した通信仕様データＳ２を受信した場合、受信したネットワーク設定部１５０１の判断部１７０３は、第１の実施の形態と同様に、述語“configure”を再帰的に呼び出して処理を行う必要がある。そして、ネットワーク設定部１５０１の判断部１７０３が、再帰的に呼び出す述語“configure”では、最初に図２１−１に示す引値が指定されているものとする。
【０１３７】
そして、判断部１７０３は、述語“configure”の再帰的呼び出しを行う。図２１−２は、図２１−１で示した述語“configure”から再帰的に呼び出された述語“configure”の引数の例を示した図である。図２１−２に示すように、第２の引数となる初期状態の送信元及び第３の引数となる現在の場所の値が変更されている。また、第７の引数において、付加情報が指定されてもよい。図２１−２の付加情報ではＶＰＮのトンネリングを行うためにパケット変換が行われたことを示している。また、第８の引数の通信経路から、「Ａ側ＧＷ」が削除されている。そして、当該呼び出された述語“configure”は、さらに述語“configure”の再帰呼び出しを行う。
【０１３８】
図２１―３は、図２１−２で示した述語“configure”から再帰的に呼び出された述語“configure”の引数の例を示した図である。図２１−３に示すように、第２の引数となる初期状態の送信元及び第３の引数となる現在の場所が変更されている。また、第８の引数の通信経路から、「ネットワーク３０」が削除されている。つまり、これ以降は組織Ｂ内の通信仕様であることを示している。
【０１３９】
そこで、判断部１７０３は、組織Ｂを仮通信経路として含んでいると判断する。そして、判断部１７０３は、組織Ｂのネットワーク構成の情報を保持していないので、これ以降処理を行うことはできない。そこで、ネットワーク設定部１５０２は、組織Ｂの管理装置に設定の要求を行うことになる。
【０１４０】
なお、図２１−１〜図２１−３で示した通信仕様データの変化は、組織Ａにおいて、ＶＰＮトンネルのためのパケット変換を行い、組織Ｂ上のインタフェース２０ａまでパケットを転送することを、組織Ａで行っていることを示している。
【０１４１】
管理装置判断部１７５１は、判断部１７０３において他の組織における設定が必要だと判断された場合、当該仮通信経路を管理している管理装置を判断する。この管理装置を判断するために、本実施の形態にかかる管理装置判断部１７５１は、管理装置情報記憶部１７１１を用いるが、このような手法に制限するものではない。
【０１４２】
また、管理装置判断部１７５１は、仮通信経路を検索キーとして、管理装置テーブルを検索することで、当該仮通信経路の管理先の組織と、管理装置のＩＰアドレスとを取得できる。これにより、仮通信経路に対して通信可能とするための設定を要求することができる。
【０１４３】
このように管理装置テーブルを利用することで、ある組織のネットワークで通信経路における判断処理ができない場合に、他の組織に対して通信経路の判断処理の継続を要求することができる。本実施の形態にかかるネットワーク設定部１５０２は、管理装置判断部１７５１で特定された管理装置に対して、図２１―３に含まれる要素から生成した通信仕様データを、組織Ｂの管理装置のＩＰアドレスに依頼する。
【０１４４】
仕様生成部１７０４は、判断部１７０３において他の組織における設定が必要だと判断された場合、当該判断で利用された設定情報リストの要素又は、他の組織で使用するための情報等から、通信仕様証明要求を生成する。また、本実施の形態においては説明を容易にするために通信仕様証明要求を通信仕様データと区別するが、フォーマット形式等、通信仕様データと同様とする。異なる点は、要求元がネットワーク設定部であるか否かのみとする。
【０１４５】
本実施の形態にかかる仕様生成部１７０４は、例えば図２１−３に示した述語“configure”で引数として設定された値（例えば、初期状態及び終了状態の送信元、送信先及び現在の場所と、通信経路）から通信仕様証明要求を生成する。
【０１４６】
仕様出力部１７０５は、仕様生成部１７０４により生成された通信仕様データを、特定された管理装置に出力する処理を行う。これにより、後述する送信部１７０９から、管理装置に対して当該通信仕様データを送信する処理が行われる。
【０１４７】
生成部１７０６は、判断部２０３の判断結果となる変数“CONF”に格納された値を取得し、機器設定情報のリスト（以下、設定情報リストという）を生成する。なお、前記設定情報のリストは、複数存在する可能性がある。
【０１４８】
設定受信部１７０８は、他の組織の管理装置から設定要求を受信する。判断結果受信部１７１２は、他の組織の管理装置から、設定実現可能通知を受信する。
【０１４９】
選択部１７０７は、通信要求を行うネットワーク設定部（本実施の形態ではＡ側ＧＷ１０のネットワーク設定部１１）内の構成のみならず、設定要求を受信したネットワーク設定部（本実施の形態ではＢ側ＧＷ２０のネットワーク設定部２１）内の構成でも、通信に利用するための設定情報リストの選択を行う。
【０１５０】
送信部１７０９は、設定要求若しくは設定実現可能通知、又は仕様出力部１７０５から入力された通信仕様データの送信処理を行う。
【０１５１】
次に、ネットワーク設定部１５０２の通信仕様データ又は通信仕様証明要求の処理手順について説明する。図２２は、ネットワーク設定部１５０２の通信仕様データ又は通信仕様証明要求の処理手順を示すフローチャートである。
【０１５２】
まず、判断部１７０３は、通信仕様データ又は通信仕様証明要求を、述語“configure”の引数として設定し、通信経路の区間（ネットワーク、通信装置又は中継装置）毎に実行可能か否か判断する処理を行う（ステップＳ１９０１）。また、述語“configure”の再起呼び出し及び別定義の述語“configure”の検索等は、第１の実施の形態と同様とし、説明を省略する。
【０１５３】
次に、判断部１７０３は、通信経路で指定された区間が外部ネットワークに含まれているか否か判断する（ステップＳ１９０２）。つまり、外部ネットワークに含まれていると判断した場合、他の組織における設定が必要だと判断することとなる。また、外部ネットワークに含まれていないと判断した場合（ステップＳ１９０２：Ｎｏ）、設定情報の生成処理等を行う（ステップＳ１９１１）。この処理は第１の実施の形態と同様なので説明を省略する。
【０１５４】
そして、判断部１７０３は、外部ネットワークに含まれていると判断した場合（ステップＳ１９０２：Ｙｅｓ）、管理装置判断部１７５１が、当該外部ネットワークを管理する管理装置を特定する（ステップＳ１９０３）。
【０１５５】
次に、管理装置判断部１７５１は、通信仕様証明要求の送信元と、特定された管理装置が一致するか否か判断する（ステップＳ１９０４）。そして、一致すると判断した場合（ステップＳ１９０４：Ｙｅｓ）、変数“CONF"（つまり、今まで生成された設定情報リスト）を破棄して処理を終了し（ステップＳ１９１０）、新たな設定情報リストの生成するための処理を開始する（ステップＳ１９０１）。
【０１５６】
これは、複数のネットワーク間で通信仕様証明要求を相互に送信することで発生する無限ループを防止するために行う。より詳細な処理手順を示すと、今まで生成された設定情報リスト（変数CONF）中の要素数の確認、及び特定された管理装置と要求元の比較を行う。比較の結果、今まで生成された設定情報リストが空（要素を持たない）であり、且つ特定された管理装置と要求元が等しい場合、変数“CONF"を破棄する。
【０１５７】
そして、管理装置判断部１７５１が一致しないと判断した場合（ステップＳ１９０４：Ｎｏ）、仕様生成部１７０４は通信仕様証明要求を生成する（ステップＳ１９０５）。
【０１５８】
次に、仕様出力部１７０５は、特定された管理装置に、生成した通信仕様証明要求を出力する処理を行う（ステップＳ１９０６）。これにより、送信部１７０９が、通信仕様証明要求を、特定された管理装置に送信する処理を行う。
【０１５９】
そして、判断結果受信部１７１２は、特定された管理装置から、通信仕様証明要求に対する応答（以下、設定実現可能通知とする）を受信する（ステップＳ１９０７）。
【０１６０】
次に、判断部１７０３は、受信した設定実現可能通知において、外部ネットワークで設定可能か否か判断する（ステップＳ１９０８）。そして、判断部１７０３は、設定可能だと判断した場合（ステップＳ１９０８：Ｙｅｓ）、外部ネットワークに対して通信経路における通信の設定要求することを示す設定情報を、変数“CONF”に追加する（ステップｓ１９０９）。
【０１６１】
また、判断部１７０３は、設定不可能だと判断した場合（ステップＳ１９０８：Ｎｏ）、当該設定情報リストを廃棄して、別の設定情報リストの生成を開始する（ステップＳ１９０１）。
【０１６２】
このように、通信仕様データ又は通信仕様要求で、述語“configure”を用いた設定情報リストの生成が全て終了した場合に、ネットワーク設定部１５０２は当該ループを終了する（ステップＳ１９１０）。
【０１６３】
そして、判断部１７０３は、受信した通信仕様データが、通信仕様証明要求として外部から受信したものか否か判断する（ステップＳ１９１２）。
【０１６４】
次に、判断部１７０３が外部から受信したものであると判断した場合（ステップＳ１９１２：Ｙｅｓ）、判断部１７０３は、廃棄されずに記憶された変数“CONF”（設定情報リスト）が存在するか否か判断する（ステップＳ１９１３）。なお、外部から受信した場合、生成部１７０６が当該設定情報リストを生成しなくともよい。
【０１６５】
そして、判断部１７０３は変数“CONF”（設定情報リスト）が存在しない判断した場合（ステップＳ１９１３：Ｎｏ）、送信部１７０９が、通信仕様証明要求に対する応答として「不可」を、要求元に送信する（ステップＳ１９１４）。
【０１６６】
また、判断部１７０３は変数“CONF”が存在すると判断した場合（ステップＳ１９１３：Ｙｅｓ）、送信部１７０９が、通信仕様証明要求に対する応答として「可」を、要求元に送信する（ステップＳ１９１５）。
【０１６７】
次に、判断部１７０３が外部から受信したものではないと判断した場合（ステップＳ１９１２：Ｎｏ）、通信仕様データの入力は自組織から要求されたものとして、（図示されていないが）生成部１７０６が、変数“CONF”を設定情報リストとして生成する。そして、生成した設定情報リストが複数ある場合、選択部１７０７が、当該複数の設定情報リストから、使用する設定情報リストを選択する（ステップＳ１９１６）。当該選択は、選択受付部２０４により利用者からの選択を受け付けても良いし、適当なプログラムなどを用いて自動的に選択処理を行っても良い。
【０１６８】
そして、動作制御部１７１３が、選択された設定情報リストにより、通信可能とするための動作させる制御を行う（ステップＳ１９１７）。
【０１６９】
また、設定情報リストに、他の組織での設定要求を行う旨の設定情報が含まれる場合、通信仕様に基づく通信を実現するために、送信部１７０９が、他の組織のネットワーク設定装置に対して設定要求を送信する。設定要求を受信したネットワーク設定装置は、受信した設定要求を実現するために必要な設定を導出し、その設定をおこなう。また、この必要な設定の導出は、どのような手法を用いても良いが、本実施の形態では通信仕様証明要求を受信した場合と同様の処理を行うことで導出する。
【０１７０】
次に、ネットワーク設定部１５０２の通信制御を行うときの動作手順について説明する。図２３は、ネットワーク設定部１５０２の通信制御を行うときの動作手順を示すシーケンス図である。
【０１７１】
まず、組織Ａのネットワーク１００を管理するネットワーク設定部１５０２の判断部１７０３が、入力された通信仕様データＳ２の実現可能性を判断する（ステップＳ２１０１）。この判断は、例えば図７又は図１３に示すPrologプログラムの述語を再帰的に呼び出すことで実現する。
【０１７２】
次に、判断部１７０３は、通信仕様データＳ２に対して再帰的呼び出しを行っているときに、当該要求された通信仕様Ｓ２の経路指定部分に外部ネットワークの組織Ｂを検出する（ステップＳ２１０２）。この組織Ｂは仮通信経路であり、管理装置テーブルから、組織Ｂのネットワークを管理するＢ側ゲートウェイサーバ１５１１を特定する。なお、このＢ側ゲートウェイサーバ１５１１もネットワーク設定部１５１２を備えているので、通信仕様証明要求を受信した場合に上述した処理を行うことができる。なお、図１９の組織ＢのＩＰアドレスとして指定されている“192.168.30.200”は、ネットワーク設定部１５１２を備えるＢ側ゲートウェイサーバ１５１１を示すＩＰアドレスとする。
【０１７３】
そして、仕様出力部１７０５は、仕様生成部１７０４において生成された通信仕様証明要求を出力する（ステップＳ２１０３）。この通信仕様証明要求は、例えば図２１−３に示した述語評価の結果に対応するものとする。
【０１７４】
そして、Ｂ側ゲートウェイサーバ１５１１上のネットワーク設定部１５１２は、Ａ側ゲートウェイサーバ１５０１上のネットワーク設定部１５０２から、通信仕様証明要求を受信する。そして、Ｂ側のネットワーク設定部１５１２の変換部１７０２が、通信仕様証明要求の仮通信経路を、実際の通信経路に変換する（ステップＳ２１１１）。このためには、図１９に示す経路変換テーブルを使用する。これにより、例えば、仮経路“組織Ｂ”を、実経路“Ｂ側ゲートウェイサーバ２０;ネットワーク１５０”に変換する。
【０１７５】
次に、Ｂ側のネットワーク設定部１５１２の判断部１７０３が、変換した通信経路に関して実現可能性を判断する（ステップＳ２１１２）そして、判断部１７０３で、実現可能性の判断により、変数“CONF"が一つ以上記憶されたか否か判断する（ステップＳ２１１３）。一つ以上記憶されている判断した場合、送信部１７０９は、Ａ側ゲートウェイサーバ１５０１に対して、通信仕様証明要求で示された通信経路で通信処理が実現可能であることを通知する（ステップＳ２１１４）。また、Ｂ側ゲートウェイサーバ１５１１は、通信仕様証明要求を受信した場合、判断を行うのみであり、実際にネットワーク機器を設定することは行わない。
【０１７６】
なお、動作制御部１７１３は、一つ以上記憶されていないと判断した場合、送信部１７０９は、Ａ側ゲートウェイサーバ１５０１に対して、通信仕様証明要求で示された通信経路で通信処理が実現不可能であることを通知する。
【０１７７】
そして、Ａ側のネットワーク設定部１５０２の判断結果受信部１７１２は、通信仕様証明要求の回答である設定実現可能通知を受信する（ステップＳ２１０４）。そして、当該設定実現可能通知によるＢ側ゲートウェイサーバ１５１１の応答が実現可能であった場合、当該設定情報リストに実現可能な旨を追加する。なお、この際に、Ｂ側ゲートウェイサーバ１５１１に送信した通信仕様と、Ｂ側ゲートウェイサーバ１５１１のＩＰアドレスとを対応付け、当該設定情報リストの要素として記憶する。なお、設定実現可能通知による応答が実現不可能であった場合、判断部１７０３は、当該設定情報リストを破棄する。
【０１７８】
そして、上述した図２２で示した処理がＡ側のネットワーク設定部１５０２で行われるので、実現可能な設定情報のリストが生成される。
【０１７９】
次に、選択部１７０７は、生成された全ての設定情報リストに関して、生成された設定情報リストの中から適切なものを選択するための処理をおこなう。この選択は、選択プログラムを用意することによって自動的におこなってもよいし、通知された設定情報リストをディスプレイ等に出力し、外部装置（キーボートなど）から利用者が選択したものを受けつけてもよい。そして、選択部１７０７は、このようにして選択された設定情報リストを、動作制御部１７１３に通知する。
【０１８０】
そして、動作制御部１７１３は、当該設定情報リストの中に他の組織の通信仕様が含まれている場合、当該通信仕様を抽出し、これに対応する動作の要求先を特定する（ステップＳ２１０６）。
【０１８１】
そして、送信部１７０９は、特定された設定要求先に、抽出した通信仕様により実行される動作を含む設定要求を送信する（ステップＳ２１０７）。一方で、動作制御部１７１３は、機器操作テーブルを参照し、当該設定情報リストに含まれる各動作を、適切なネットワーク機器で実行するように制御する（ステップＳ２１０８）。
【０１８２】
そして、Ｂ側ゲートウェイサーバ１５１１の設定受信部１７０８は、設定要求を受信する（ステップＳ２１１５）。
【０１８３】
この場合、設定要求に含まれる通信仕様を実現するために必要な設定情報リストを導出する。この設定情報リストは、上述した処理を再度繰り返すことで導出する。そして、
導出された設定情報リストが複数ある場合、選択部が、適切な設定情報リストを選択する（ステップＳ２１１６）。
【０１８４】
そして、Ｂ側のネットワーク設定部の動作制御部１７１３は、選択された設定情報リストに基づいて、実際に適切なネットワーク機器へ設定を施す（ステップＳ２１１７）。
【０１８５】
第２の実施の形態に示したネットワーク設定部１５０２等を備えることで、システム構成を一元的に把握できない環境においても、ネットワーク設定を行うことが可能となる。
【０１８６】
また、本実施の形態にかかるネットワーク設定部１５０２は、従来のネットワーク設定方式では、ネットワークの構成を一元的に把握できなかった場合は組織間でＶＰＮを構築するのが難しかった。これは、一方の組織で行った設定に対応する設定を他方の組織で行う必要があったためであるが、本実施の形態においては、上述したような通信仕様証明要求を送信することで、組織間で対応する設定を行うことが可能となる。
【０１８７】
（第３の実施の形態）
第２の実施の形態にかかるネットワーク設定部においては、設定要求を受信した場合、再度通信仕様に基づく処理を行い、設定情報リストを生成した。これに対し、第３の実施の形態にかかるネットワーク設定部は、通信仕様証明要求を受信し、実現可能と判断した場合に対応する設定情報リストを生成し、保持しておく場合について説明する。
【０１８８】
図２４は、本実施の形態にかかるＡ側ゲートウェイサーバ１５０１が備えるネットワーク設定部２３００の構成を示すブロック図である。図２４に示すように、ネットワーク設定部１５０２は、受信部１７０１と、変換部１７０２と、入力受付部２０２と、判断部１７０３と、仕様生成部１７０４と、仕様出力部１７０５と、生成部２３０３と、選択受付部２０４と、選択部２３０２と、設定受信部１７０８と、動作制御部１７１３と、送信部１７０９と、経路変換情報部１７１０と、ネットワーク構成記憶部２０８と、設定情報記憶部２０９と、管理装置情報記憶部１７１１と、判断結果受信部１７１２と、応答履歴記憶部２３０１と、機器操作情報記憶部２１０とを備える。
【０１８９】
図２４のネットワーク設定部２３００は、図１７に示したネットワーク設定部１５０２とは、応答履歴記憶部２３０１が追加され、生成部１７０６と処理が異なる生成部２３０３と、選択部１７０７と処理が異なる選択部２３０２を備えている点が異なる。なお、本実施の形態のネットワーク設定部２３００の構成で、第２の実施の形態のネットワーク設定部１５０２と共通な構成については説明を省略する。
【０１９０】
応答履歴記憶部２３０１は、対応履歴テーブルを記憶する。図２５は、対応履歴テーブルのテーブル構造を示した図である。図２５に示すように対応履歴テーブルは、応答識別子と、設定情報リストとを対応付けて記憶している。これにより、応答識別子と共に設定要求を受信した場合に、設定に使用する設定情報リストを特定できる。
【０１９１】
生成部２３０３は、第２の実施の形態の生成部１７０６と異なる点としては、通信仕様証明要求を受信した場合の判断部１７０３による判断結果において設定情報リストが一つ以上記憶されている場合、当該設定情報リストを生成する。そして、生成部２３０３は、応答履歴記憶部２３０１の対応履歴テーブルに通信仕様証明要求毎にユニークな応答識別子と対応付けて、生成した設定情報リストを格納する。
【０１９２】
選択部２３０２は、設定受信部１７０８が、応答識別子と共に設定要求を受信した場合に、応答識別子に対応付けられた設定情報リストを、応答履歴記憶部２３０１から抽出する。そして、抽出した設定情報リストが複数存在する場合、選択部２３０２は、一つの設定情報リストを選択する。
【０１９３】
次に、ネットワーク設定部２３００の通信仕様データ又は通信仕様証明要求の処理手順について説明する。図２６は、ネットワーク設定部２３００の通信仕様データ又は通信仕様証明要求の処理手順を示すフローチャートである。
【０１９４】
そして、ネットワーク設定部２３００は、図２２のステップＳ１９０１〜Ｓ１９０８と同様に通信仕様データの通信経路の区間毎に処理を行い、必要に応じて外部ネットワークに通信仕様要求の送信と、これに対応する応答の受信を行う（ステップＳ２４０１〜Ｓ２４０８）。そして、判断部１７０３が、設定可能だと判断した場合（ステップＳ２４０８：Ｙｅｓ）、生成部２３０３が、応答に含まれる応答識別子と要求先とを対応付けた情報を、設定情報に含める（ステップＳ２４０９）。そして、当該設定情報を、変数“CONF”に追加する（ステップＳ２４１０）。外部ネットワーク以外の設定情報の生成は、図２２のステップＳ１９１１と同様の処理で行う（ステップＳ２４１２）。
【０１９５】
その後、図２２のステップＳ１９１２〜ステップＳ１９１４と同様に、通信仕様証明要求が外部からの要求であるか判断し、外部からの要求である場合は一つ以上記憶された変数“CONF”が存在するか否か判断し、存在しない場合は不可である旨を応答として送信する（ステップＳ２４１３〜２４１５）。また、一つ以上記憶された設定情報リストが存在する場合（ステップＳ２４１４：Ｙｅｓ）、生成部２３０３は、通信仕様証明要求毎にユニークな応答識別子を生成する（ステップＳ２４１６）。
【０１９６】
そして、生成部２３０３は、生成した応答識別子と、設定情報リストとを対応付けて、応答履歴記憶部２３０１の応答履歴テーブルに追加する（ステップＳ２４１７）。
【０１９７】
そして、通信仕様証明要求に対する応答を、可である旨と共に応答識別子を送信する（ステップＳ２４１８）。
【０１９８】
また、判断部１７０３が、外部からの要求ではないと判断した場合（ステップＳ２４１３：Ｎｏ）、図２２のステップＳ１９１６〜Ｓ１９１７と同様に、設定情報リストを選択し、選択された設定情報リストから設定を実行する（ステップＳ２４１９〜Ｓ２４２０）。
【０１９９】
本実施の形態にかかるネットワーク設定部２３００は、通信仕様証明要求に対する判定結果である設定情報リストと、応答識別子とを対応付けて記憶し、設定要求に含まれる応答識別子を検索キーとして、設定情報リストを検出することができる。これにより、再度設定情報リストを生成するための処理を行わなくともよいため、ネットワーク設定部２７００における処理負担が軽減する。
【０２００】
図２７は、上述した実施の形態にかかるＡ側又はＢ側のゲートウェイサーバのハードウェア構成を示す図である。ゲートウェイサーバは、ハードウェア構成として、ゲートウェイサーバにおけるネットワーク設定プログラムなどが格納されているＲＯＭ２６０２と、ＲＯＭ２６０２内のプログラムに従ってゲートウェイサーバの各部を制御するＣＰＵ２６０１と、ゲートウェイサーバの制御に必要な種々のデータを記憶するＲＡＭ（Random Access Memory）２６０３と、ネットワークに接続して通信を行う通信Ｉ／Ｆ２６０４と、様々な情報を保持する記憶装置２６０５と、各部を接続するバス２６０６を備えている。また、ゲートウェイサーバは、上述した構成を備えた、一般的なコンピュータに適用することができる。
【０２０１】
また、記憶装置２６０５は、ネットワーク構成記憶部２０８、設定情報記憶部２０９、機器操作情報記憶部２１０等の上述した全ての記憶部を含む構成としても良い。
【０２０２】
そして、当該ゲートウェイサーバは、通信Ｉ／Ｆ２６０４より、利用者が要求する通信仕様データを受信し、該通信仕様データに基づいてトンネリングを実現するために必要な設定を行う。前記必要な設定は、ネットワーク設定プログラムをＲＡＭ２６０３に読み込み、実行することによって実現される。この際、必要に応じて、記憶装置２６０５より必要な情報がＲＡＭ２６０６に読み込まれる。
【０２０３】
上述した実施の形態にかかるゲートウェイサーバで実行されるネットワーク設定プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０２０４】
この場合には、ネットワーク設定プログラムは、ゲートウェイサーバにおいて上記記録媒体から読み出して実行することにより主記憶装置上にロードされ、上記ソフトウェア構成で説明した各部が主記憶装置上に生成されるようになっている。
【０２０５】
また、上述した実施の形態にかかるゲートウェイサーバで実行されるネットワーク設定プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上述した実施の形態にかかるゲートウェイサーバで実行されるネットワーク設定プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【０２０６】
また、本実施形態のネットワーク設定プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０２０７】
本実施の形態のゲートウェイサーバで実行されるネットワーク設定プログラムは、上述した各部を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記記憶媒体からネットワーク設定プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上記各部が主記憶装置上に生成されるようになっている。
【産業上の利用可能性】
【０２０８】
以上のように、本発明にかかるネットワーク設定装置、ゲートウェイサーバ及びネットワーク設定プログラムは、ネットワークに接続された通信装置間で通信を行うために設定を行う技術として有用である。
【図面の簡単な説明】
【０２０９】
【図１】第１の実施の形態にかかるネットワークの構成を示すブロック図である。
【図２】第１の実施の形態にかかるＡ側ゲートウェイサーバのネットワーク設定部の構成を示すブロック図である。
【図３】通信仕様データの例を示した図である。
【図４】機器設定テーブルのテーブル構造の例を示した図である。
【図５】ネットワーク構成テーブルのテーブル構造の例を示した図である。
【図６】機器操作テーブルのテーブル構造の例を示した図である。
【図７】Prologプログラムの一部である述語“configure”の例を示した図である。
【図８】前記述語“configure"に引数を設定した第１の例を示した図である。
【図９】前記述語“configure”に対して判断部が行う判断手順の概念を示した説明図である。
【図１０】再帰的に呼び出された述語“configure”の引数である変数“TEMPCONF”値の例を示した図である。
【図１１】図９に示した述語“configure”の引数である変数“CONF”値の例を示した図である。
【図１２−１】判断部から呼び出される述語“configure”による処理の概念を階層構造として例を示した図である。
【図１２−２】図１２−１の処理後に、判断部から呼び出される述語“configure”による処理の概念を階層構造として例を示した図である。
【図１２−３】図１２−２の処理後に、判断部から呼び出される述語“configure”の処理の概念を階層構造として例を示した図である。
【図１２−４】図１２−３の処理後に、判断部から呼び出される述語“configure”の処理の概念を階層構造として例を示した図である。
【図１３】図７と別定義の述語“configure”の例を示した図である。
【図１４】ネットワーク設定部の通信経路を設定する手順を示すフローチャートである。
【図１５】第２の実施の形態にかかる組織Ａが把握しているネットワークの構成を示した図である。
【図１６】第２の実施の形態にかかる組織Ｂが把握しているネットワークの構成を示した図である。
【図１７】第２の実施の形態にかかるＡ側ゲートウェイサーバのネットワーク設定部の構成を示すブロック図である。
【図１８】第２の実施の形態で使用する通信仕様データＳ２の例を示した図である。
【図１９】管理装置テーブルのテーブル構造を示す図である。
【図２０】経路変換テーブルのテーブル構造を示す図である。
【図２１−１】述語“configure”に引数を設定した第２の例を示した図である。
【図２１−２】図２１−１で示した述語“configure”から再帰的に呼び出された述語“configure”の引数の例を示した図である。
【図２１−３】図２１−２で示した述語“configure”から再帰的に呼び出された述語“configure”の引数の例を示した図である。
【図２２】第２の実施の形態にかかるネットワーク設定部の通信仕様データ又は通信仕様証明要求の処理手順を示すフローチャートである。
【図２３】第２の実施の形態にかかるネットワーク設定部の通信制御を行うときの動作手順を示すシーケンス図である。
【図２４】第３の形態にかかるＡ側ゲートウェイサーバが備えるネットワーク設定部の構成を示すブロック図である。
【図２５】対応履歴テーブルのテーブル構造を示した図である。
【図２６】ネットワーク設定部の通信仕様データ又は通信仕様証明要求の処理手順を示すフローチャートである。
【図２７】Ａ側又はＢ側のゲートウェイサーバのハードウェア構成を示す図である。
【符号の説明】
【０２１０】
１０  Ａ側ゲートウェイサーバ
１０ａ、１０ｂ、２０ａ、２０ｂ  インタフェース
１１，１５０２、１５１２、２３００  ネットワーク設定部
１２ａ〜ｎ  サーバ
２０  Ｂ側ゲートウェイサーバ
２２ａ〜ｎ  サーバ
３０、１００、１５０  ネットワーク
２０２  入力受付部
２０３、１７０３  判断部
２０４  選択受付部
２０５、１７０６、２３０３  生成部
２０６、１７０７、２３０２  選択部
２０７、１７１３  動作制御部
２０８  ネットワーク構成情報記憶部
２０９  設定情報記憶部
２１０  機器操作情報記憶部
１５０１  Ａ側ゲートウェイサーバ
１５１１  Ｂ側ゲートウェイサーバ
１７０１  受信部
１７０２  変換部
１７０４  仕様生成部
１７０５  仕様出力部
１７０８  設定受信部
１７０９  送信部
１７１０  経路変換情報部
１７１１  管理装置情報記憶部
１７１２  判断結果受信部
１７５１  管理装置判断部
２３０１  応答履歴記憶部
２６０１  ＣＰＵ
２６０２  ＲＯＭ
２６０３  ＲＡＭ
２６０４  通信Ｉ／Ｆ
２６０５  記憶装置
２６０６  バス
【図１】
2008042820.tif 000003
【図２】
2008042820.tif 000004
【図３】
2008042820.tif 000005
【図４】
2008042820.tif 000006
【図５】
2008042820.tif 000007
【図６】
2008042820.tif 000008
【図７】
2008042820.tif 000009
【図８】
2008042820.tif 000010
【図９】
2008042820.tif 000011
【図１０】
2008042820.tif 000012
【図１１】
2008042820.tif 000013
【図１２−１】
2008042820.tif 000014
【図１２−２】
2008042820.tif 000015
【図１２−３】
2008042820.tif 000016
【図１２−４】
2008042820.tif 000017
【図１３】
2008042820.tif 000018
【図１４】
2008042820.tif 000019
【図１５】
2008042820.tif 000020
【図１６】
2008042820.tif 000021
【図１７】
2008042820.tif 000022
【図１８】
2008042820.tif 000023
【図１９】
2008042820.tif 000024
【図２０】
2008042820.tif 000025
【図２１−１】
2008042820.tif 000026
【図２１−２】
2008042820.tif 000027
【図２１−３】
2008042820.tif 000028
【図２２】
2008042820.tif 000029
【図２３】
2008042820.tif 000030
【図２４】
2008042820.tif 000031
【図２５】
2008042820.tif 000032
【図２６】
2008042820.tif 000033
【図２７】
2008042820.tif 000034