(57)【特許請求の範囲】
【請求項１】
ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）ノード間の遅延時間に対応する近接性情報を有し、既にＶＰＮに参加している既存ＶＰＮノードそれぞれにＶＰＮアドレスを対応させ、新規ＶＰＮノードからＶＰＮへの参加要求を受信した際に、
新規ＶＰＮノードのＶＰＮアドレス候補を選択するステップと、
ＶＰＮアドレス候補の絞込みを行うステップと、
絞込みを行ったＶＰＮアドレス候補から、新規ＶＰＮノードのＶＰＮアドレスを決定するステップと、
既存及び新規ＶＰＮノードのＶＰＮアドレスに基づき、既存及び新規ＶＰＮノードそれぞれの、第１のＶＰＮトンネル接続先となるＶＰＮノード及び第２のＶＰＮトンネル接続先となるＶＰＮノードを、既存及び新規ＶＰＮノードから選択するステップと、
を実行して、既存及び新規ＶＰＮノード間に設定するＶＰＮトンネルを決定し、決定したＶＰＮトンネルが設定されるように、既存及び新規ＶＰＮノードに通知するＶＰＮ管理サーバであって、
ＶＰＮノードの第１のＶＰＮトンネル接続先は、２ｎを法として、該ＶＰＮノードのＶＰＮアドレスのハッシュ関数によるｎビット長ハッシュ値より大きく、かつ、該ハッシュ値に一番近い値をＶＰＮアドレスのｎビット長ハッシュ値とするＶＰＮノードであり、
ＶＰＮノードの第２のＶＰＮトンネル接続先は、２ｎを法として、該ＶＰＮノードのＶＰＮアドレスのハッシュ関数によるｎビット長ハッシュ値の２倍未満で、かつ、該ハッシュ値の２倍に一番近い値をＶＰＮアドレスのｎビット長ハッシュ値とするＶＰＮノードであり、
新規ＶＰＮノードのＶＰＮアドレス候補は、既存ＶＰＮノードを第２のＶＰＮトンネル接続先とするＶＰＮアドレスであり、
ＶＰＮアドレス候補の絞込みを行うステップは、
新規ＶＰＮノードとの遅延が一番小さい既存ＶＰＮノードを前記近接性情報により判定し、前記判定した既存ＶＰＮノードを第２のＶＰＮトンネル接続先とするＶＰＮアドレスに、ＶＰＮアドレス候補を絞り込むステップを、
含み、
ｎは２以上の整数であることを特徴とする管理サーバ。
【請求項２】
ＶＰＮアドレス候補の絞込みを行うステップは、
第２のＶＰＮトンネル接続先とならないＶＰＮアドレスを、ＶＰＮアドレス候補から除外するステップを、
含んでいることを特徴とする請求項１に記載の管理サーバ。
【請求項３】
ＶＰＮアドレス候補の絞込みを行うステップは、
既存ＶＰＮノードより任意に選択した複数のＶＰＮノードそれぞれから、新規ＶＰＮノードに至るまでに経由するＶＰＮトンネルの数の合計が一番小さくなるＶＰＮアドレスに、ＶＰＮアドレス候補を絞り込むステップを、
含んでいることを特徴とする請求項１又は２に記載の管理サーバ。
【請求項４】
管理サーバは、第２のＶＰＮトンネル接続先として参照されるＶＰＮアドレスについて、参照される回数と、ＶＰＮノードのアクセス回線帯域との対応を示す対応情報を有し、
ＶＰＮアドレス候補の絞込みを行うステップは、
前記対応情報から、新規ＶＰＮノードのアクセス回線帯域に対応する前記回数を判定し、第２のＶＰＮトンネル接続先として前記判定した回数だけ参照されるＶＰＮアドレスに、ＶＰＮアドレス候補を絞り込むステップを、
含んでいることを特徴とする請求項１から３のいずれか１項に記載の管理サーバ。
【請求項５】
ＶＰＮノード間の遅延時間に対応する近接性情報と、既にＶＰＮに参加している既存ＶＰＮノードのＶＰＮアドレスを保存しているコンピュータに、
新規ＶＰＮノードからＶＰＮへの参加要求を受信した場合に、既存及び新規ＶＰＮノード間に設定するＶＰＮトンネルを決定するため、
新規ＶＰＮノードのＶＰＮアドレス候補を選択するステップと、
ＶＰＮアドレス候補の絞込みを行うステップと、
絞込みを行ったＶＰＮアドレス候補から、新規ＶＰＮノードのＶＰＮアドレスを決定するステップと、
既存及び新規ＶＰＮノードのＶＰＮアドレスに基づき、既存及び新規ＶＰＮノードそれぞれの、第１のＶＰＮトンネル接続先となるＶＰＮノード及び第２のＶＰＮトンネル接続先となるＶＰＮノードを、既存及び新規ＶＰＮノードから選択するステップと、
を実行させるプログラムであって、
ＶＰＮノードの第１のＶＰＮトンネル接続先は、２ｎを法として、該ＶＰＮノードのＶＰＮアドレスのハッシュ関数によるｎビット長ハッシュ値より大きく、かつ、該ハッシュ値に一番近い値をＶＰＮアドレスのｎビット長ハッシュ値とするＶＰＮノードであり、
ＶＰＮノードの第２のＶＰＮトンネル接続先は、２ｎを法として、該ＶＰＮノードのＶＰＮアドレスのハッシュ関数によるｎビット長ハッシュ値の２倍未満で、かつ、該ハッシュ値の２倍に一番近い値をＶＰＮアドレスのｎビット長ハッシュ値とするＶＰＮノードであり、
新規ＶＰＮノードのＶＰＮアドレス候補は、既存ＶＰＮノードを第２のＶＰＮトンネル接続先とするＶＰＮアドレスであり、
ＶＰＮアドレス候補の絞込みを行うステップは、
新規ＶＰＮノードとの遅延が一番小さい既存ＶＰＮノードを前記近接性情報により判定し、前記判定した既存ＶＰＮノードを第２のＶＰＮトンネル接続先とするＶＰＮアドレスに、ＶＰＮアドレス候補を絞り込むステップを、
含み、
ｎは２以上の整数であることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰネットワーク上に構築するＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ、仮想専用網）の、ＶＰＮトンネル接続トポロジの決定に関する。
【背景技術】
【０００２】
仮想的な専用網を、短期間に低コストで構築できることから、ＶＰＮ技術をインターネットに適用したインターネットＶＰＮが注目されている。ＶＰＮでは、ＶＰＮトンネルと呼ばれる仮想的な専用線を、ＩＰｓｅｃ等のトンネリングプロトコルを用いて実現している。
【０００３】
ＶＰＮにより、例えば、インターネット上に存在するコンピュータのうち、ある特定のグループに属するコンピュータ間のみでのファイル共有や、グループウェアサーバの共有といった、特定のグループに閉じた通信基盤を、インターネットのようなオープンなネットワーク上に構築することができる。
【０００４】
これらＶＰＮの構築に関して、非特許文献１には、ＶＰＮ管理サーバを配置し、ＶＰＮトンネルを終端する通信ノード（以下ではＶＰＮノードと呼ぶ。）が、あるグループのＶＰＮに参加する場合、新たに参加するＶＰＮノードが、ＶＰＮ管理サーバからＶＰＮトンネルの接続先や、ＶＰＮトンネルの各種属性等の情報を取得する構成が開示されている。この構成により、利用者は複雑なＶＰＮノードの設定から解放され、特定のグループに閉じた通信基盤の簡易な構築を可能としている。
【０００５】
しかしながら、非特許文献１の構成では、各ＶＰＮノードはメッシュ状に接続されるため、グループに属するＶＰＮノード数が大きくなる場合には、ＶＰＮトンネルを終端するためにＶＰＮノードで消費されるメモリ量及びＶＰＮトンネル終端処理のために使用するＣＰＵ資源（以下、ＶＰＮトンネル終端コストと呼ぶ。）が増大するという問題がある。
【０００６】
一方、非特許文献２には、例えば、ピア・ツー・ピア（Ｐ２Ｐ）型ファイル共有システム等に適用可能である分散ハッシュテーブルについて記載がされている。非特許文献２に記載された分散ハッシュテーブルをＰ２Ｐ型ファイル共有システムに適用した場合、ファイルを共有する各ノードは、例えば、自身のＩＰアドレスをＳＨＡ−１等によりハッシュ値に変換し、得られたハッシュ値を、ファイル共有システム内での自ノードの識別子、つまりノードＩＤとして使用する。また、各ノードは、ファイル共有システム内の、以下、参照ポインタと呼ぶ、必須である２つのノードを含む、ごく少数のノードについてのみ例えばＩＰアドレスといった、通信に必要な情報を維持する。
【０００７】
図８は、非特許文献１に記載の構成における、必須の参照ポインタｄ及びｓを説明する図である。図８では、ノードＩＤを４ビット長、つまり０から１５とし、実線の四角形は実在するノードを、点線の四角形は実在しないノードを、四角形内の数字はノードＩＤを表している。更に、図８に示す様に、非特許文献１によると、参照ポインタを算出するために、ノードは、円形で、時計回りにノードＩＤが昇順となるように、つまり、可能なノードＩＤ数２４＝１６を法としての演算となるように配置される。
【０００８】
必須参照ポインタｓは、ノードから時計回りの方向で最初に実在するノード、つまり、１６を法として、ノードＩＤより大きく、かつ、ノードＩＤに一番近い値をノードＩＤとするノードとして定義される。従って、図８の例で、ノードＩＤ＝７であるノードの必須参照ポインタｓは、ノードＩＤ＝９であるノードとなる。
【０００９】
必須参照ポインタｄは、ｍｏｄ  １６上の演算でノードＩＤの２倍の値をノードＩＤとするノードから反時計回りの方向で最初に実在するノード、つまり、ノードＩＤの２倍未満で、かつ、ノードＩＤの２倍に一番近い値をノードＩＤとするノードとして定義される。従って、図８の例で、７の２倍、つまり、ノードＩＤ＝１４であるノードから反時計周りに最初に実在するノードＩＤ＝１１のノードが、ノードＩＤ＝７のノードの必須参照ポインタｄとなる。
【００１０】
非特許文献２に記載の構成によると、上記少数の参照ポインタで、各ノードは、ファイル共有システム内の全ノードとファイル共有が可能であり、更に、目的のファイルを保持しているファイル共有ノードに到達するまでに経由するファイル共有ノード数、つまり、ルーティングホップ数も比較的小さくできるという特徴がある。
【００１１】
【非特許文献１】堀他、“パーソナル用途向けインターネットＶＰＮの自動設定方式”、ＦＩＴ２００４講演論文集  Ｌ−０１０、２００４年９月
【非特許文献２】Ｆ．Ｋａａｓｈｏｅｋ，Ｄ．Ｋａｒｅｒ，“Ｋｏｏｒｄｅ：Ａ  ｓｉｍｐｌｅ  ｄｇｒｅｅ−ｏｐｔｉｍａｌ  ｄｉｓｔｒｉｂｕｔｅｄ  ｈａｓｈ  ｔａｂｌｅ”，Ｉｎ  Ｐｒｏｃ．  ２ｎｄ  ＩＰＴＰＳ，２００３年２月
【発明の開示】
【発明が解決しようとする課題】
【００１２】
非特許文献２の記載の方法は、あるグループ内の全ノードのそれぞれが、比較的少ないルーティングホップ数で、他の総てのノードと通信できる、少なくとも２つの参照ポインタを与えるものであり、ノードをＶＰＮノードと、参照ポインタをＶＰＮトンネル接続先と読み替えることで、あるグループ内の全ノードのそれぞれが、比較的少ないルーティングホップ数で、他の総てのノードと通信できるＶＰＮの構築が可能である。この場合、参照ポインタ数が少ない、すなわち、ＶＰＮトンネル接続先が少ないため、上述したＶＰＮノード数が大きくなる場合に発生する非特許文献１の問題であるＶＰＮトンネル終端コストの増大を防ぐことが可能である。
【００１３】
しかしながら、非特許文献２に記載の方法では、ＶＰＮノード間の近接性、例えば、ＶＰＮノード間のＶＰＮノード以外の通信ノードをも考慮したホップ数や、ＶＰＮノード間の物理的距離といった遅延時間に対応する情報は、ＶＰＮトンネル接続先の決定には反映されず、ＶＰＮの構築に単に適用した場合、ＶＰＮノードの経由数は小さくとも、実際のホップ数、すなわち、ＶＰＮノード以外の通信ノードをも考慮したホップ数が大きくなる場合や、ＶＰＮトラヒックが物理的に長距離を通過する場合が生じ得る。これは、通信遅延の増大やスループットの低下に繋がる。
【００１４】
また、非特許文献２に記載の方法では、各ＶＰＮノードの、インターネット等のＩＰネットワークへのアクセス回線速度も、ＶＰＮトンネル接続先の決定には考慮されない。例えば、他に高速回線でインターネットに接続しているＶＰＮノードがあるにも拘らず、より低速な回線でインターネットに接続しているＶＰＮノードが多数のＶＰＮノードよりＶＰＮトンネル接続先として指定されてしまい、ＶＰＮ全体のスループットが低下することが生じ得る。
【００１５】
従って、本発明は、ＶＰＮに参加するＶＰＮノード数が増大しても、ＶＰＮトンネル終端コストを増大させず、ＶＰＮノードの利用者が複雑なＶＰＮノードの設定を行う必要もなく、ＶＰＮのスループット低下や通信遅延の増大も引き起こさないＶＰＮの管理サーバ及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明における管理サーバによれば、
ＶＰＮノード間の遅延時間に対応する近接性情報を有し、既にＶＰＮに参加している既存ＶＰＮノードそれぞれにＶＰＮアドレスを対応させ、新規ＶＰＮノードからＶＰＮへの参加要求を受信した際に、新規ＶＰＮノードのＶＰＮアドレス候補を選択するステップと、ＶＰＮアドレス候補の絞込みを行うステップと、絞込みを行ったＶＰＮアドレス候補から、新規ＶＰＮノードのＶＰＮアドレスを決定するステップと、既存及び新規ＶＰＮノードのＶＰＮアドレスに基づき、既存及び新規ＶＰＮノードそれぞれの、第１のＶＰＮトンネル接続先となるＶＰＮノード及び第２のＶＰＮトンネル接続先となるＶＰＮノードを、既存及び新規ＶＰＮノードから選択するステップとを実行して、既存及び新規ＶＰＮノード間に設定するＶＰＮトンネルを決定し、決定したＶＰＮトンネルが設定されるように、既存及び新規ＶＰＮノードに通知するＶＰＮ管理サーバであって、ＶＰＮノードの第１のＶＰＮトンネル接続先は、２ｎを法として、該ＶＰＮノードのＶＰＮアドレスのハッシュ関数によるｎビット長ハッシュ値より大きく、かつ、該ハッシュ値に一番近い値をＶＰＮアドレスのｎビット長ハッシュ値とするＶＰＮノードであり、ＶＰＮノードの第２のＶＰＮトンネル接続先は、２ｎを法として、該ＶＰＮノードのＶＰＮアドレスのハッシュ関数によるｎビット長ハッシュ値の２倍未満で、かつ、該ハッシュ値の２倍に一番近い値をＶＰＮアドレスのｎビット長ハッシュ値とするＶＰＮノードであり、新規ＶＰＮノードのＶＰＮアドレス候補は、既存ＶＰＮノードを第２のＶＰＮトンネル接続先とするＶＰＮアドレスであり、ＶＰＮアドレス候補の絞込みを行うステップは、新規ＶＰＮノードとの遅延が一番小さい既存ＶＰＮノードを前記近接性情報により判定し、前記判定した既存ＶＰＮノードを第２のＶＰＮトンネル接続先とするＶＰＮアドレスに、ＶＰＮアドレス候補を絞り込むステップを含んでいることを特徴とする。
【００１７】
本発明の管理サーバにおける他の実施形態によれば、
ＶＰＮアドレス候補の絞込みを行うステップは、第２のＶＰＮトンネル接続先とならないＶＰＮアドレスを、ＶＰＮアドレス候補から除外するステップを含んでいることも好ましい。
【００１８】
また、本発明の管理サーバにおける他の実施形態によれば、
ＶＰＮアドレス候補の絞込みを行うステップは、既存ＶＰＮノードより任意に選択した複数のＶＰＮノードそれぞれから、新規ＶＰＮノードに至るまでに経由するＶＰＮトンネルの数の合計が一番小さくなるＶＰＮアドレスに、ＶＰＮアドレス候補を絞り込むステップを含んでいることも好ましい。
【００１９】
更に、本発明の管理サーバにおける他の実施形態によれば、
管理サーバは、第２のＶＰＮトンネル接続先として参照されるＶＰＮアドレスについて、参照される回数と、ＶＰＮノードのアクセス回線帯域との対応を示す対応情報を有し、ＶＰＮアドレス候補の絞込みを行うステップは、前記対応情報から、新規ＶＰＮノードのアクセス回線帯域に対応する前記回数を判定し、第２のＶＰＮトンネル接続先として前記判定した回数だけ参照されるＶＰＮアドレスに、ＶＰＮアドレス候補を絞り込むステップを含んでいることも好ましい。
【００２０】
本発明におけるプログラムによれば、
コンピュータを上記管理サーバとして機能させることを特徴とする。
【発明の効果】
【００２１】
ＶＰＮノードにＶＰＮアドレスを対応させ、ＶＰＮアドレスのハッシュ関数により計算されるハッシュ値に基づき、ＶＰＮ内の総てのＶＰＮノードと、できるだけルーティングホップ数を抑えて通信できる第１のＶＰＮトンネル接続先及び第２のＶＰＮトンネル接続先を求めて、ＶＰＮノード間の接続を決定することで、従来技術の問題点である、１つのＶＰＮノードに終端されるＶＰＮトンネル数を抑え、機器に要求される能力を緩和することができる。
【００２２】
また、ＶＰＮノード間の遅延時間に対応する近接性情報を、新規ＶＰＮノードのＶＰＮアドレスの決定に用いることで、見かけ上のルーティングホップ数ばかりでなく、実際に経由する通信ノード数又は遅延時間の少なくなるＶＰＮトンネル接続先を選択することができる。更に、ＶＰＮアドレス候補内の各ＶＰＮアドレスを選択した場合における、既存ＶＰＮノードに対するルーティングホップ数の合計を、サンプリングにより検査して、ルーティングホップ数が少なくなるＶＰＮアドレスを選択することで、ＶＰＮ全体としてのスループット低下を抑えることができる。
【００２３】
新規ＶＰＮノードのアクセス回線帯域に基づき、ＶＰＮアドレス候補を絞り込むことで、低速なアクセス回線のＶＰＮノードに対して多くのＶＰＮトンネルが設定されることによるＶＰＮ全体のスループットの低下を防ぐことができる。
【発明を実施するための最良の形態】
【００２４】
本発明を実施するための最良の実施形態について、以下では図面を用いて詳細に説明する。
【００２５】
図１は、本発明を説明するためのネットワーク構成図である。図１において、管理サーバ１及びＶＰＮノード２１〜２６が、インターネット等のネットワーク３と接続している。
【００２６】
ＶＰＮノード２１〜２６は、ＶＰＮトンネルを終端する通信装置であり、初期設定として管理サーバ１にアクセスするために必要な情報を保持している。各ＶＰＮノードは、起動時、管理サーバ１にＶＰＮへの参加要求を送信し、管理サーバ１から、自ノードがＶＰＮで使用するＶＰＮアドレスの割当てを受け、更に、接続先ＶＰＮノードのＶＰＮアドレス及び通信用アドレスを取得する。ここで、通信用アドレスとは、ＶＰＮノード間でのパケットの送受信において、実際の宛先アドレスに設定されるアドレスであり、ＶＰＮノード間に存在するＶＰＮに属さない通信機器が、ＶＰＮノードが交換するパケットを転送するために必要とするものである。また、使用するトンネリングプロトコルといった、ＶＰＮトンネル設定に必要な情報も合わせて管理サーバがＶＰＮノードに通知する。
【００２７】
最後に、ＶＰＮノードは、管理サーバ１から取得した接続先ＶＰＮノードと、ＶＰＮトンネルを設定する。
【００２８】
管理サーバ１は、ＶＰＮに参加可能であるＶＰＮノード２１〜２６間の実ネットワーク上での近接性に関する情報を有している。近接性に関する情報とは、例えば、２つのＶＰＮノード間を接続する場合における、実際に経由する通信ノード数、伝送遅延時間又は実際の距離等、２つのＶＰＮノード間の伝送遅延時間に対応する情報である。図２に本説明において使用する各ＶＰＮノード間の近接性情報を示す。図２における近接性情報は、値が小さいほど近接している、例えば、経由する通信装置数が小さいものとする。
【００２９】
図３は、新たに起動したＶＰＮノードから参加要求を受信した場合における、管理サーバ１での処理フロー図である。尚、ＶＰＮに最初に参加するＶＰＮノードに対しては適用されない。
【００３０】
管理サーバ１は、新規ＶＰＮノードから参加要求を受信した場合（Ｓ３１）、新規ＶＰＮノードに割り当てるＶＰＮアドレス候補を決定する（Ｓ３２）。ＶＰＮアドレス候補は、既にＶＰＮに参加している、既存ＶＰＮノードのＶＰＮアドレスを、必須参照ポインタｄとするＶＰＮアドレスから、既に使用されているＶＰＮアドレスを除いたものである。ＶＰＮアドレス候補が０となる場合は、未使用のＶＰＮアドレスから、任意のＶＰＮアドレスを選択する（Ｓ３３、Ｓ３４）。ＶＰＮアドレス候補が存在するが、総ての候補が後述するランク表に存在しない場合（Ｓ３５）は、近接性、ルーティングホップ数により候補の絞込みを行い（Ｓ３７）、候補のうち１つでもランク表に存在する場合には、ランク表に存在する候補から、近接性、ルーティングホップ数により候補の絞込みを行う（Ｓ３６）。最終的に決定したＶＰＮアドレスに対応して、各ＶＰＮノードのＶＰＮトンネル接続先ノードが決定し、まず、既存ＶＰＮノードに、新たな接続先となるＶＰＮノードと、ＶＰＮトンネルを設定するのに必要な情報、即ち、新たな接続先ＶＰＮノードのＶＰＮアドレス及び通信用アドレス、更にＶＰＮトンネル種別等の情報を通知する（Ｓ３８）。最後に、新規ＶＰＮノードに、新規ＶＰＮノードに割り当てるＶＰＮアドレスと、接続先ＶＰＮノードのＶＰＮアドレス及び通信用アドレスと、ＶＰＮトンネル種別等のＶＰＮトンネル設定に必要な各種情報を含む参加承認を送信する。
【００３１】
図４は、ＶＰＮアドレス＝１〜６４としたときの、ＶＰＮアドレスと、ＶＰＮアドレスをＳＨＡ−１等の一様分散ハッシュ関数で変換したハッシュ値であるノードＩＤとを示している。本例では、ハッシュ値を６４ビットとして計算しているが、実際にはＶＰＮに参加する全ＶＰＮノードを収容できるビット長、ｎ（ｎは２以上の整数）以上であればよい。尚、図４ではノードＩＤの昇順で表示し、各ノードの必須参照ポインタｄと、ｄのＶＰＮアドレスも合わせて表示している。ここで、必須参照ポインタｄは、既に説明したように、ノードＩＤの２倍未満であり、かつ、ノードＩＤの２倍に一番近い値をノードＩＤとするノードである。尚、図４ではノードＩＤを６４ビット長としているため、前記演算は、ｍｏｄ２６４上での演算である。
【００３２】
例えば、ＶＰＮアドレス＝２３のＶＰＮノードは、ノードＩＤ＝８９ｆ８８２ａｃ１８２８６ｃｆであり、ＶＰＮアドレス＝３３のノードが必須参照ポインタｄとなる。また、ＶＰＮアドレス値＝３４、４８、６１、３２、５４及び４２であるノードの必須参照ポインタｄは、いずれもノードＩＤ＝２４ｅ１４ｅｂ４ａｄ５７２２１ａ、言い換えると、ＶＰＮアドレス＝４３のノードとなる。
【００３３】
図５は、図４において必須参照ポインタｄとして参照されているノードＩＤに対応するＶＰＮアドレスを抽出したものであり、参照回数の降順で並べている。以後、図４に示す表をランク表と呼ぶ。ランク表において、参照回数に対応する帯域幅は、新規ＶＰＮノードのＶＰＮアドレス決定の際に、新規ＶＰＮノードのアクセス回線の帯域幅を考慮する場合に使用し、ＶＰＮの管理者が設定する。
【００３４】
以下、図１に示すＶＰＮノード２１、２２、２３、２４の順に起動し、管理サーバ１にそれぞれ参加要求を行ったものとして、管理サーバ１での処理を具体的に説明する。尚、ＶＰＮアドレス及びノードＩＤは図４の、管理サーバ１が有する各ＶＰＮノード間の近接性情報は図２の通りとする、また、ＶＰＮノード２１のアクセス回線の帯域幅を４０Ｍｂｐｓとし、ＶＰＮノード２１のみが参加要求においてアクセス回線帯域幅の考慮を要求したものとする
【００３５】
（ＶＰＮノード２１の参加）  最初にＶＰＮに参加するノードであるため、管理サーバ１は、ランク表から通常は、任意にＶＰＮアドレスを選択する。本説明例では、ＶＰＮノード２１については、アクセス回線帯域幅を考慮するため、ＶＰＮノード２１のアクセス回線帯域４０Ｍｂｐｓの条件に適合する、参照回数＝４のＶＰＮアドレスからＶＰＮノード２１に割り当てるアドレスを選択する。ここでは、ＶＰＮアドレス＝２１を選択したものとする。
【００３６】
他にＶＰＮノードが存在しないため、当然に接続先ノードもない。従って、管理サーバ１は、ＶＰＮノード２１に対して、ＶＰＮアドレス＝２１を含む参加承認を送信する。
【００３７】
（ＶＰＮノード２２の参加）  管理サーバ１は、既存ノードであるＶＰＮノード２１が必須参照ポインタｄとなるように、ノードＩＤ、つまりＶＰＮアドレスの割当てを行う。図４に示す様に、ＶＰＮアドレス＝２１であるＶＰＮノード２１を必須参照ポインタｄとするＶＰＮアドレスは、{２５、４６、４１、８}の４つであり、これらがＶＰＮアドレス候補となる。
【００３８】
上記ＶＰＮアドレス候補のうち、ランク表には、{４６、８}が存在するため、図３のＳ３６に記載するように、まず、ランク表による絞込みを行う。つまり、ランク表に存在しないＶＰＮアドレスを候補から外し、ランク表に存在する{４６、８}へとＶＰＮアドレス候補を絞込む。しかし、既存ノードがＶＰＮノード２１の１台のみであるため近接性と、ルーティングホップ数による絞込みは無意味であり行われない。従って、２つの候補から任意の１つを選択する。ここでは、ＶＰＮアドレス＝４６が選択されたものとする。
【００３９】
ＶＰＮノード２２の参加により、両ノードは互いに、一方のＶＰＮノードの必須ポインタｓとなる。従って、管理サーバ１は、既存ＶＰＮノード２１に、ＶＰＮノード２２の通信用アドレス及びＶＰＮアドレスを含む情報を通知し、最後に、ＶＰＮノード２２に対して、ＶＰＮアドレス＝４６と、ＶＰＮノード２１のＶＰＮアドレス及び通信用アドレスを含む参加承認を送信する。
【００４０】
（ＶＰＮノード２３の参加）  管理サーバ１は、既存ノードであるＶＰＮノード２１又はＶＰＮノード２２が必須参照ポインタｄとなるように、ＶＰＮアドレスの割当てを行う。図４に示す様に、ＶＰＮアドレス＝２１であるＶＰＮノード２１を必須参照ポインタｄとするＶＰＮアドレスは、{２５、４６、４１、８}であり、ＶＰＮアドレス＝４６であるＶＰＮノード２２を必須参照ポインタｄとするＶＰＮアドレスは、{４３、１８、３、４、６、５２}である。これらＶＰＮアドレスから、既に使用されているＶＰＮアドレス＝４６を除いた、{２５、４１、８}及び{４３、１８、３、４、６、５２}がＶＰＮアドレス候補となる。
【００４１】
上記ＶＰＮアドレス候補には、ランク表に存在するものがあるため、図３のＳ３６において、まず、ランク表による絞込みを行う。つまり、ランク表に存在しないＶＰＮアドレスを候補から外し、その結果ＶＰＮアドレス候補は、{８}及び{４３、５２}となる。
【００４２】
続いて、新規にＶＰＮに参加するＶＰＮノード２３と、既存ノードである、ＶＰＮノード２１及び２２との近接性による絞込みを行う。図２に示すように、ＶＰＮノード２１とＶＰＮノード２３との近接性は２であり、ＶＰＮノード２２とＶＰＮノード２３との近接性は５であるため、ＶＰＮノード２１を必須参照ポインタｄとするＶＰＮアドレス、即ち、ＶＰＮアドレス＝８のみにＶＰＮ候補が絞り込まれる。従って、ルーティングホップ数による絞込みは行われない。
【００４３】
ＶＰＮアドレス＝８であるＶＰＮノード２３が、ＶＰＮに参加した場合、図６(ａ)に示す様に、既存ＶＰＮノード２１の必須参照ポインタｓ及びｄは共にＶＰＮノード２３となる。また、既存ＶＰＮノード２２の必須参照ポインタｓ及びｄは共にＶＰＮノード２１となる。更に、ＶＰＮノード２３の必須参照ポインタｓはＶＰＮノード２２であり、必須参照ポインタｄはＶＰＮノード２１である。
【００４４】
従って、ＶＰＮトンネル接続は、図７（ａ）に示すようになり、管理サーバ１は、既存ＶＰＮノード２１及び２２に、ＶＰＮノード２３のＶＰＮアドレス及び通信用アドレスを含む情報を通知し、ＶＰＮノード２３に対して、ＶＰＮアドレス＝８と、接続先ＶＰＮノードであるＶＰＮノード２１とＶＰＮノード２２それぞれのＶＰＮアドレス及び通信用アドレスを含む参加承認を送信する。
【００４５】
（ＶＰＮノード２４の参加）  管理サーバ１は、既存ノードであるＶＰＮノード２１〜２３の、いずれかが必須参照ポインタとなるように、ＶＰＮアドレスの割当てを行う。図４と、既に割り当てているＶＰＮアドレスから、ＶＰＮアドレス候補は、{２５、４１}、{４３、１８、３、４、６、５２}及び{５７、５８、１９、３１、２４、６３}となる。また、上記候補にはランク表に存在するものがあるため、ランク表による絞込みを行い、結果、絞込み後のＶＰＮアドレス候補は、{４３、５２}及び{１９、３１}となる。
【００４６】
絞込み後のＶＰＮアドレス候補のうち、{４３、５２}はＶＰＮノード２２を必須参照ポインタｄとし、{１９、３１}はＶＰＮノード２３を必須参照ポインタｄとするものであるため、新規にＶＰＮに参加するＶＰＮノード２４と、ＶＰＮノード２２及び２３との近接性による絞込みを行う。図２に示すように、ＶＰＮノード２４とＶＰＮノード２２との近接性は２であり、ＶＰＮノード２４とＶＰＮノード２３との近接性は４であるため、ＶＰＮノード２２を必須参照ポインタｄとするＶＰＮアドレス、即ち、{４３、５２}にＶＰＮアドレス候補が絞り込まれる。
【００４７】
この段階で、複数のＶＰＮアドレス候補が存在するため、ルーティングホップ数による絞込みを行う。
【００４８】
ルーティングホップ数による絞込みは以下の手順で行われる。まず、既にＶＰＮに参加しているＶＰＮノードがＮ台ある場合に、Ｎｔ台（１＜Ｎｔ≦Ｎ）の既存ＶＰＮノードを選択する。続いて、ＶＰＮアドレス候補のＶＰＮアドレスを新規ＶＰＮノードに付与した場合に、選択したＮｔ台の既存ＶＰＮノードまでのルーティングホップ数の合計を求め、最小となるＶＰＮアドレスを、新規ＶＰＮノードに割り当てるＶＰＮアドレスとする。
【００４９】
例えば、ＶＰＮアドレス＝４３をＶＰＮノード２４に付与した場合、ＶＰＮノード２４参加後の各ＶＰＮノードの必須参照ポインタｓ及びｄは、図６（ｂ）に示す通りとなり、ＶＰＮトンネル設定は、図７（ｂ）に示す通りとなる。同様に、ＶＰＮアドレス＝５２をＶＰＮノード２４に付与した場合、ＶＰＮノード２４参加後の各ＶＰＮノードの必須参照ポインタｓ及びｄは、図６（ｃ）に示す通りとなり、ＶＰＮトンネル設定は、図７（ｃ）に示す通りとなる。
【００５０】
ここで、ルーティングホップ数による絞込みのために選択する既存ＶＰＮノードを、全既存ＶＰＮノード、つまり、ＶＰＮノード２１〜２３とすると、ＶＰＮアドレス＝４３に対するルーティングホップ数の合計は４となり、ＶＰＮアドレス＝５２に対するルーティングホップ数の合計は３となる。従って、ＶＰＮノード２４に割り当てるＶＰＮアドレスは、ＶＰＮアドレス＝５２となる。
【００５１】
従って、管理サーバ１は、既存ＶＰＮノード２１〜２３に、ＶＰＮノード２４のＶＰＮアドレス及び通信用アドレスと、その他ＶＰＮノード２４とＶＰＮトンネルを設定するために必要となる情報を通知し、ＶＰＮノード２４に対して、ＶＰＮアドレス＝５２と、接続先ＶＰＮノードであるＶＰＮノード２１〜２３のＶＰＮアドレス及び通信用アドレスを含む参加承認を送信する。
【００５２】
尚、ＶＰＮアドレス候補が複数ある場合において、アクセス回線の帯域考慮の要求がある場合、例えば、ＶＰＮノード２４の参加の際に帯域考慮の要求があり、ＶＰＮノード２４のネットワーク３へのアクセス回線が６０Ｍｂｐｓである場合は、ＶＰＮアドレス候補{４３、５２}のうち、ＶＰＮノード２４のアクセス帯域に近い、ＶＰＮアドレス＝４３が選択される。
【００５３】
尚、ランク表において、参照ポインタｄとして参照される回数が大きいほど広い帯域が設定されているのは、参照される回数に対応して、終端するＶＰＮトンネル数が増大するためである。つまり、高速なアクセス回線でネットワーク３に接続しているＶＰＮノード程、終端するＶＰＮトンネル数が多くなるＶＰＮアドレスを割り当てて、低速なアクセス回線でネットワーク３に接続しているＶＰＮノードに対して多くのＶＰＮトンネルが設定されることによるＶＰＮ全体のスループットの低下を防ぐためである。
【００５４】
また、図５において、アクセス回線の帯域に対して１つの参照回数のみが対応しているが、例えば、アクセス回線が６０Ｍｂｐｓの場合には、参照回数４、６、９のように、複数の参照回数を対応させることも可能である。
【図面の簡単な説明】
【００５５】
【図１】本発明を説明するためのネットワーク構成図である。
【図２】各ＶＰＮノード間の近接性情報を示す図である。
【図３】管理サーバにおける処理フロー図である。
【図４】アドレスを１〜６４とした場合の、ノードＩＤの計算値である。
【図５】ランク表を示す図である。
【図６】各ＶＰＮノードの必須参照ポインタを示す図である。
【図７】各ＶＰＮノード間に設定されるＶＰＮトンネルを示す図である。
【図８】従来技術による必須参照ポインタを説明する図である。
【符号の説明】
【００５６】
１  管理サーバ
２１、２２、２３、２４、２５、２６  ＶＰＮノード
３  ネットワーク
【図１】
0004508007.tif 000002
【図２】
0004508007.tif 000003
【図３】
0004508007.tif 000004
【図４】
0004508007.tif 000005
【図５】
0004508007.tif 000006
【図６】
0004508007.tif 000007
【図７】
0004508007.tif 000008
【図８】
0004508007.tif 000009