(57)【要約】【課題】仮想ネットワーク上のトラフィックの最適化を図ること。【解決手段】本発明のネットワーク仮想化システムは、予め構築されたアンダーレイネットワーク４０（＃１〜＃６）の何れかに接続された複数のクライアント２０と、アンダーレイネットワーク上に、ソフトウェアによって仮想的なネットワークを構築するネットワーク仮想化装置１５５とを備える。ネットワーク仮想化装置は更に、構築された仮想ネットワークｄ１〜ｄ６における各クライアント間の通信を中継する仮想ハブ１０を備える。仮想ハブは、予め定めた接続基準を考慮して、仮想ハブによって通信が中継されるクライアントのうちの何れか一対のクライアントについて、仮想ハブを中継することなく、互いに直接通信すべきか否かを判定し、直接通信すべきと判定した場合には、この一対のクライアントに対して、ピアツーピアリンクＳ１〜Ｓ５によって直接通信するよう指示する。【選択図】      図６
2008054214.tif 000002
【特許請求の範囲】
【請求項１】
予め構築された複数の物理ネットワーク上の何れかに接続された複数の端末と、
前記複数の物理ネットワーク上に、ソフトウェアによって仮想的なネットワークを構築するネットワーク仮想化装置とを備え、
前記ネットワーク仮想化装置は更に、前記構築された仮想ネットワークにおける前記各端末間の通信を中継する中継ノードを備え、
前記中継ノードは、予め定めた接続基準を考慮して、前記中継ノードによって通信が中継される端末のうちの何れか一対の端末について、前記中継ノードを中継することなく、互いに直接通信すべきか否かを判定し、直接通信すべきと判定した場合には、この一対の端末に対して、前記中継ノードを中継することなく、互いに直接通信するように指示する第１の指示手段を備えたネットワーク仮想化システム。
【請求項２】
請求項１に記載のネットワーク仮想化システムにおいて、
前記各端末は、前記中継ノードによって通信が中継されている場合、前記接続基準を考慮して、他の特定の端末との通信を、前記中継ノードを中継することなく、互いに直接通信すべきか否かを判定し、直接通信すべきと判定した場合には、前記特定の端末との通信を、前記中継ノードを中継することなく、直接行うように移行する第１の移行手段を備えたネットワーク仮想化システム。
【請求項３】
請求項１又は請求項２に記載のネットワーク仮想化システムにおいて、
前記接続基準とは、一対の端末間の前記中継ノードを中継したトラフィックの量、前記一対の端末の前記物理ネットワーク上のトポロジにおける局在性、前記トラフィックのプロトコル種別、及び前記中継ノードの負荷状況のうちの少なくとも何れかであるネットワーク仮想化システム。
【請求項４】
請求項１乃至３のうち何れか１項に記載のネットワーク仮想化システムにおいて、
前記各端末は、前記中継ノードと通信可能となるように接続されるネットワークインタフェースと、前記第１の指示手段による指示に従って、直接通信する相手である端末とピアツーピアによるリンクを確立するリンク確立手段とを備えたネットワーク仮想化システム。
【請求項５】
請求項１乃至４のうち何れか１項に記載のネットワーク仮想化システムにおいて、
前記中継ノードは、予め定めた切断基準を考慮して、互いに直接通信している一対の端末の直接通信を切断するか否かを判定し、切断すると判定した場合には、前記一対の端末に対して、前記直接通信を切断し、前記中継ノードを中継した通信に移行するように指示する第２の指示手段を備えたネットワーク仮想化システム。
【請求項６】
請求項１乃至５のうち何れか１項に記載のネットワーク仮想化システムにおいて、
前記各端末は、他の特定の端末と前記直接通信している場合、前記切断基準を考慮して、前記直接通信を切断するか否かを判定し、切断すると判定した場合には、前記特定の端末との直接通信を切断し、前記中継ノードを中継した通信に移行する第２の移行手段を備えたネットワーク仮想化システム。
【請求項７】
請求項５又は請求項６に記載のネットワーク仮想化システムにおいて、
前記切断基準とは、一対の端末間の前記直接通信によるトラフィックの量、前記一対の端末の前記物理ネットワーク上のトポロジにおける局在性、前記トラフィックのプロトコル種別、及び前記中継ノードの負荷状況のうちの少なくとも何れかであるネットワーク仮想化システム。
【請求項８】
予め構築された複数の物理ネットワーク上の何れかに接続された複数の端末と、前記複数の物理ネットワーク上に、プログラムによって仮想的なネットワークを構築するネットワーク仮想化装置とを備えてなるネットワーク仮想化システムに適用される前記プログラムであって、
前記構築された仮想ネットワークにおける前記各端末間の通信を、前記ネットワーク仮想化装置において中継する機能、
予め定めた接続基準を考慮して、前記通信が前記ネットワーク仮想化装置において中継される端末のうちの何れか一対の端末について、前記ネットワーク仮想化装置において中継されることなく、互いに直接通信すべきか否かを判定し、直接通信すべきと判定した場合には、この一対の端末に対して、前記ネットワーク仮想化装置において中継されることなく、互いに直接通信させる機能
をコンピュータに実現させるためのプログラム。
【請求項９】
前記接続基準とは、一対の端末間の前記ネットワーク仮想化装置を中継したトラフィックの量、前記一対の端末の前記物理ネットワーク上のトポロジにおける局在性、前記トラフィックのプロトコル種別、及び前記ネットワーク仮想化装置の負荷状況のうちの少なくとも何れかである請求項８に記載のプログラム。
【請求項１０】
予め定めた切断基準を考慮して、互いに直接通信している一対の端末の直接通信を切断するか否かを判定し、切断すると判定した場合には、前記一対の端末に対して、前記直接通信を切断させ、前記ネットワーク仮想化装置を中継した通信に移行させる機能を更にコンピュータに実現させる請求項８又は請求項９に記載のプログラム。
【請求項１１】
前記切断基準とは、一対の端末間の前記直接通信によるトラフィックの量、前記一対の端末の前記物理ネットワーク上のトポロジにおける局在性、前記トラフィックのプロトコル種別、及び前記ネットワーク仮想化装置の負荷状況のうちの少なくとも何れかである請求項１０に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＴＣＰ／ＩＰのようなアンダーレイネットワーク上に、仮想的なイーサネット（登録商標）のようなオーバレイネットワークを構築するネットワーク仮想化システム、及びネットワーク仮想化システムに適用されるプログラムに関し、特に、オーバレイネットワークのトラフィックを最適化するネットワーク仮想化システム及びネットワーク仮想化プログラムに関する。
【背景技術】
【０００２】
例えば、ＴＣＰ／ＩＰネットワークのような既存の物理的なネットワーク（以後、「アンダーレイネットワーク」と称する）上に、ソフトウェアにて構築する仮想的なネットワークをオーバレイネットワークと呼ぶ。
【０００３】
主なオーバレイネットワーク（以後、「仮想ネットワーク」とも称する）として、以下のように、いわゆるピアツーピア（Ｐ２Ｐ）ネットワーク（例えば、非特許文献１乃至７）と呼ばれるものや、仮想ローカルエリアネットワーク（以後、「仮想ＬＡＮ」と称する）がある。
【０００４】
ピアツーピアネットワークは、現状、ファイル交換（Ｗｉｎｎｙ，ＢｉｔＴｏｒｒｅｎｔ等）、音声通信（Ｓｋｙｐｅ等）などに広く利用されている。その方式により、大きく以下の２つ、すなわち、（１）ホストやコンテンツの探索は特別なサーバに依存するが、最終的なデータの送受信はピアツーピアのホスト間で行なうものと、（２）データの送受信だけでなく、ホストやコンテンツの探索そのものも、特別なサーバを必要とせず、完全に対等な立場のホスト間で分散協調して行なうものとに分けられる。なお、ホスト、コンテンツの探索に、特定のサーバではないが、特別な役割を果たすホスト群を利用する、上記２つの中間的な方式を用いるものもある。
【０００５】
一方、仮想ＬＡＮとして代表的なものに、ソフトイーサ株式会社製のＳｏｆｔｅｔｈｅｒ（Ｐａｃｋｅｔｉｘ）（例えば、非特許文献８乃至９）がある。Ｓｏｆｔｅｔｈｅｒ（Ｐａｃｋｅｔｉｘ）は仮想ネットワークの一例である仮想イーサネットを構築するソフトウェア群である。Ｓｏｆｔｅｔｈｅｒ（Ｐａｃｋｅｔｉｘ）又はこれに類似したソフトウェアでの仮想イーサネットの構築方法は例えば以下の通りである。
【０００６】
すなわち、先ず、ある計算機上にイーサネットスイッチングハブをエミュレートするソフトウェア（以後、「仮想ハブ」と称する）を動作させる（以後、仮想ハブを動作させる計算機を「サーバ」と称する。）。
【０００７】
次に、仮想イーサネットに参加を希望する計算機が、ソフトウェアにて構築された仮想的なネットワークインタフェース（以後、「仮想ネットワークインタフェース」と称する）を介して、仮想ハブに接続する（以後、仮想ネットワークインタフェースを動作させる計算機を「クライアント」と称する)。
【０００８】
このような仮想イーサネットの一般的な構成を図１５に示す。
【０００９】
例えばＴＣＰ／ＩＰネットワークであるアンダーレイネットワーク１５０は、オーバレイネットワークである仮想イーサネット１５４を構築する基盤となる物理ネットワークである。アンダーレイネットワーク１５０は、ファイアウォール１５６、ルータ１５７、リンク層の通信装置（イーサネットならばハブやスイッチングハブ）により構成される。ルータ１５７は、ＴＣＰ／ＩＰネットワークを構成するネットワーク層の装置であり、一般的なものであることからここではその詳細説明を割愛する。また、ファイアウォール１５６は、内部ネットワーク１６０と外部ネットワーク１６１との境界に設置されるセキュリティ装置であり、一般的なものであることからここではその詳細な説明を割愛する。
【００１０】
クライアント１５３は、仮想イーサネット１５４を構成する仮想ハブ１５１に接続する計算機であり、仮想ネットワークインタフェース１５２を介して仮想ハブ１５１に接続する。仮想ハブ１５１は、このように複数のクライアント１５３とのコネクションを保持する中継ノードとして機能する。サーバ１５５は、このような仮想ハブ１５１を配置するネットワーク仮想化装置である。本明細書では、このようなネットワーク仮想化装置であるサーバ１５５と、ネットワーク仮想化装置によって制御される端末であるクライアント１５３とを合わせてネットワーク仮想化システムと称する。仮想イーサネット１５４は、一つ又は複数の仮想ハブ１５１に、それぞれ仮想ネットワークインタフェース１５２を持った複数のクライアント１５３が接続することにより構築される。
【非特許文献１】電子情報通信学会誌、２００４年９月号、「Ｐ２Ｐ総論Ｉ  ブローカーレスモデルの挑戦」
【非特許文献２】電子情報通信学会誌、２００４年１０月号、「Ｐ２Ｐ総論ＩＩ  Ｐ２Ｐテクノロジ」
【非特許文献３】電子情報通信学会誌、２００４年１２月号、「Ｐ２Ｐ総論ＩＩＩ  Ｐ２Ｐサービスとビジネス」
【非特許文献４】電子情報通信学会誌、２００５年１月号、「Ｐ２Ｐ総論ＩＶ  最新動向と将来展望」
【非特許文献５】株式会社アスキー、ＵＮＩＸ（登録商標）  ＭＡＧＡＺＩＮＥ、２００５年９月号、「Ｐ２Ｐ技術の基礎知識［１］」
【非特許文献６】株式会社アスキー、ＵＮＩＸ  ＭＡＧＡＺＩＮＥ、２００５年１０月号、「Ｐ２Ｐ技術の基礎知識［２］」
【非特許文献７】株式会社アスキー、ＵＮＩＸ  ＭＡＧＡＺＩＮＥ、２００５年１１月号、「Ｐ２Ｐ技術の基礎知識［３］」
【非特許文献８】株式会社アスキー、公式ＳｏｆｔＥｔｈｅｒ活用ガイド
【非特許文献９】ｈｔｔｐ:／／ｗｗｗ．ｓｏｆｔｅｔｈｅｒ．ｃｏｍ、ソフトイーサ株式会社ホームページ
【発明の開示】
【発明が解決しようとする課題】
【００１１】
このような従来の仮想イーサネット１５４では、仮想イーサネット１５４に属するクライアント１５３間のトラフィックは全て仮想ハブ１５１、すなわちサーバ１５５を経由すること、および、仮想イーサネット１５４に属するクライアント１５３同士、或いはクライアント１５３とサーバ１５５との位置関係はアンダーレイネットワーク１５０のトポロジを考慮したものではない。従って、  
１．仮想ハブ１５１のスケーラビリティ確保が困難である。  
２．アンダーレイネットワーク１５０への負荷が増大し、設備投資コストが増大する。  
３．複数の仮想ハブ１５１の設置や、複数の仮想ハブ１５１間でのクライアント１５３の繋ぎ替えなどの管理コストが増大する。  
という問題が生じる。
【００１２】
本発明はこのような事情に鑑みてなされたものであり、仮想イーサネットのような仮想ネットワークを構成するクライアント同士が、それらの属するアンダーレイネットワーク上の位置関係やクライアント間のトラフィック量を考慮した上で、中継ノード、すなわちサーバを経由すること無くクライアント間で直接通信し、必要な場合には、更にそれに加えて中継ノードを経由した通信も併用することにより、仮想ネットワーク上のトラフィックの最適化を図ることが可能なネットワーク仮想化システム及びネットワーク仮想化プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記の目的を達成するために、本発明では、以下のような手段を講じる。
【００１４】
すなわち、請求項１の発明は、予め構築された複数の物理ネットワーク上の何れかに接続された複数の端末と、複数の物理ネットワーク上に、ソフトウェアによって仮想的なネットワークを構築するネットワーク仮想化装置とを備えている。そして、ネットワーク仮想化装置は更に、構築された仮想ネットワークにおける各端末間の通信を中継する中継ノードを備えている。また、中継ノードは、予め定めた接続基準を考慮して、中継ノードによって通信が中継される端末のうちの何れか一対の端末について、中継ノードを中継することなく、互いに直接通信すべきか否かを判定し、直接通信すべきと判定した場合には、この一対の端末に対して、中継ノードを中継することなく、互いに直接通信するように指示する第１の指示手段を備えている。
【００１５】
請求項２の発明は、請求項１の発明のネットワーク仮想化システムにおいて、各端末は、中継ノードによって通信が中継されている場合、接続基準を考慮して、他の特定の端末との通信を、中継ノードを中継することなく、互いに直接通信すべきか否かを判定し、直接通信すべきと判定した場合には、特定の端末との通信を、中継ノードを中継することなく、直接行うように移行する第１の移行手段を備えている。
【００１６】
請求項３の発明は、請求項１又は請求項２の発明のネットワーク仮想化システムにおいて、接続基準とは、一対の端末間の中継ノードを中継したトラフィックの量、一対の端末の物理ネットワーク上のトポロジにおける局在性、トラフィックのプロトコル種別、及び中継ノードの負荷状況のうちの少なくとも何れかである。
【００１７】
請求項４の発明は、請求項１乃至請求項３のうち何れか１項の発明のネットワーク仮想化システムにおいて、各端末は、中継ノードと通信可能となるように接続されるネットワークインタフェースと、第１の指示手段による指示に従って、直接通信する相手である端末とピアツーピアによるリンクを確立するリンク確立手段とを備えている。
【００１８】
請求項５の発明は、請求項１乃至４のうち何れか１項の発明のネットワーク仮想化システムにおいて、中継ノードは、予め定めた切断基準を考慮して、互いに直接通信している一対の端末の直接通信を切断するか否かを判定し、切断すると判定した場合には、一対の端末に対して、直接通信を切断し、中継ノードを中継した通信に移行するように指示する第２の指示手段を備えている。
【００１９】
請求項６の発明は、請求項１乃至５のうち何れか１項の発明のネットワーク仮想化システムにおいて、各端末は、他の特定の端末と直接通信している場合、切断基準を考慮して、直接通信を切断するか否かを判定し、切断すると判定した場合には、特定の端末との直接通信を切断し、中継ノードを中継した通信に移行する第２の移行手段を備えている。
【００２０】
請求項７の発明は、請求項５又は請求項６の発明のネットワーク仮想化システムにおいて、切断基準とは、一対の端末間の直接通信によるトラフィックの量、一対の端末の物理ネットワーク上のトポロジにおける局在性、トラフィックのプロトコル種別、及び中継ノードの負荷状況のうちの少なくとも何れかである。
【００２１】
請求項８の発明は、請求項１の発明のネットワーク仮想化システムに適用されるプログラムである。
【００２２】
請求項９の発明は、請求項３の発明のネットワーク仮想化システムに適用されるプログラムである。
【００２３】
請求項１０の発明は、請求項５の発明のネットワーク仮想化システムに適用されるプログラムである。
【００２４】
請求項１１の発明は、請求項７の発明のネットワーク仮想化システムに適用されるプログラムである。
【発明の効果】
【００２５】
本発明によれば、仮想ネットワークを構成するクライアント同士が、それらの属するアンダーレイネットワーク上の位置関係やクライアント間のトラフィック量を考慮した上で、中継ノードを経由すること無くクライアント間で直接通信し、必要な場合には、更にそれに加えて中継ノードを経由した通信も併用することにより、仮想ネットワーク上のトラフィックの最適化を図ることができるネットワーク仮想化システム及びネットワーク仮想化プログラムを実現することが可能となる。
【発明を実施するための最良の形態】
【００２６】
以下に、本発明を実施するための最良の形態について図面を参照しながら説明する。
【００２７】
なお、以下の各実施の形態の説明に用いる図中の符号は、図１５と同一部分については同一符号を付して示すことにする。
【００２８】
（第１の実施の形態）  
図１は、本実施の形態に係るネットワーク仮想化システムを構成するサーバに備えられる仮想ハブ１０の構成例を示す機能ブロック図である。
【００２９】
図２は、本実施の形態に係るネットワーク仮想化システムを構成するクライアント２０の構成例を示す機能ブロック図である。
【００３０】
図３は、ピアツーピアリンクの生成処理、削除処理、及びイーサネットフレーム送信処理の流れを示すフロー図である。
【００３１】
図４は、本実施の形態に係るネットワーク仮想化システムによって構成された仮想イーサネットの一例を示すネットワーク構成図（初期状態）である。
【００３２】
図５は、本実施の形態に係るネットワーク仮想化システムによって構成された仮想イーサネットの一例を示すネットワーク構成図（トラフィック発生時）である。
【００３３】
図６は、本実施の形態に係るネットワーク仮想化システムによって構成された仮想イーサネットの一例を示すネットワーク構成図（ピアツーピア通信状態）である。
【００３４】
本実施の形態は、図６に示すように、各クライアント２０（＃１〜＃６）が、サーバ３０に備えられた仮想ハブ１０への接続リンク（仮想ネットワークｄ１〜ｄ６）とは別に、特定のクライアント２０間に別途通信用リンク（以後、「ピアツーピアリンク」と称する）Ｓ１〜Ｓ５を生成、保持することにより、特定クライアント２０間での直接通信（以後、「ピアツーピア通信」と称する）を実現する。
【００３５】
このような本実施の形態について、以下に詳述する。
【００３６】
図１に示すように、仮想ハブ１０は、イーサネットスイッチングハブ１１と、転送テーブル１２と、接続リンク制御部１３と、アンダーレイネットワークプロトコル群１４と、物理ネットワークインタフェース１５と、ピアツーピアリンク制御部１６とを備えている。
【００３７】
イーサネットスイッチングハブ１１は、いわゆる、一般的なイーサネットスイッチングハブと同様の処理を行なう。したがって、ここでは、更なる詳細説明を省略する。
【００３８】
転送テーブル１２は、イーサネットフレームの宛先ＭＡＣアドレスと、出力先ポートとのマッピングを保持するテーブルである。これは、イーサネットスイッチングハブ１１によるイーサネットフレーム転送処理に一般的に用いられるものである。したがって、ここでは更なる詳細説明を割愛する。
【００３９】
接続リンク制御部１３は、クライアント２０、或いは他仮想ハブ１０とのアンダーレイネットワーク４０での接続（リンク）を保持、制御する部分であり、イーサネットスイッチングハブ１１から受け取ったイーサネットフレームを適切なアンダーレイネットワーク４０のリンクへ送出する。また、アンダーレイネットワーク４０から受信したデータをイーサネットスイッチングハブ１１へ渡す。
【００４０】
アンダーレイネットワークプロトコル群１４は、一般的には、ＴＣＰ／ＩＰ、及びＨＴＴＰのように、それらを使用する上位プロトコルである。
【００４１】
物理ネットワークインタフェース１５は、実際の通信に使用される物理的なネットワークインタフェースである。
【００４２】
ピアツーピアリンク制御部１６は、イーサネットスイッチングハブ１１での、接続リンク間（クライアント２０間）のトラフィック量、トラフィックのプロトコル、クライアント２０のアンダーレイネットワーク４０での位置関係情報等を元に、クライアント２０へピアツーピアリンク生成、削除の指示を行なう。
【００４３】
具体的には、クライアント２０の接続リンク制御部２４（図２参照）に対して、ピアツーピアリンクの生成／ピアツーピア通信への移行、或いはピアツーピアリンクの削除／仮想ハブ１０経由での通信への移行を指示する。これら移行を判断するために、イーサネットスイッチングハブ１１から、クライアント２０間のトラフィック量や、プロトコル種別の情報を取得し、接続リンク制御部１３から、クライアント２０のアンダーレイネットワーク４０でのアドレス（ＩＰアドレス、位置情報）の情報、あるいは収容しているクライアント２０の数の情報を取得し、図示しないＯＳから、ＣＰＵ使用率、メモリ使用率の情報を取得する。
【００４４】
図２に示すように、クライアント２０は、イーサネットフレーム送受信部２３と接続リンク制御部２４と送信先管理テーブル２５とを含む仮想ネットワークインタフェース２２に加えて、アプリケーション／上位プロトコル群２１と、アンダーレイネットワークプロトコル群２６と、物理ネットワークインタフェース２７とを備えている。
【００４５】
アプリケーション／上位プロトコル群２１は、仮想ネットワークインタフェース２２を使用するユーザアプリケーション、及び上位プロトコル（例えばＴＣＰ／ＩＰ、ＨＴＴＰなど）である。
【００４６】
イーサネットフレーム送受信部２３は、アプリケーション／上位プロトコル群２１からのデータをイーサネットフレームに格納し、接続リンク制御部２４へ送出する。また、接続リンク制御部２４から受け取ったデータからイーサネットヘッダを除去し、アプリケーション／上位プロトコル群２１に渡す。
【００４７】
接続リンク制御部２４は、仮想ハブ１０、又は他のクライアント２０とのアンダーレイネットワーク４０での接続（リンク）を保持、制御する部分であり、イーサネットフレームを適切なアンダーレイネットワーク４０のリンクへ送出する。また、アンダーレイネットワーク４０から受信したデータをイーサネットフレーム送受信部２３へ渡す。
【００４８】
送信先管理テーブル２５は、ピアツーピアリンクと、そのリンクのピアのＭＡＣアドレスとのマッピングを保持するテーブルである。後述する図９乃至図１４に示す通り、送信先管理テーブル２５に登録されているピア宛のイーサネットフレームは該当ピアツーピアリンクへ、それ以外の宛先のイーサネットフレーム、ブロードキャストフレーム、マルチキャストフレームは仮想ハブ１０とのリンクへ出力される。
【００４９】
アンダーレイネットワークプロトコル群２６は、一般的には、ＴＣＰ／ＩＰ、及びそれらを使用する上位プロトコル（例えばＨＴＴＰ）である。
【００５０】
物理ネットワークインタフェース２７は、実際の通信に使用される物理的なネットワークインタフェースである。
【００５１】
次に、図３（ａ）、図３（ｂ）、及び図３（ｃ）と、図４乃至図６を用いて、ピアツーピアリンクの生成、削除などの処理フローを説明する。
【００５２】
図４乃至図６は、本実施の形態に係るネットワーク仮想化システムによって構成された仮想ネットワークである仮想イーサネットの一例を示す図である。本実施の形態に係るネットワーク仮想化システムは、図１に示すような構成の仮想ハブ１０を持つサーバ３０と、図２に示すような構成のクライアント２０とを備えてなる。
【００５３】
このようなネットワーク仮想化システムによって構成された仮想イーサネットは、初期状態では、図４に示すように、クライアント２０（＃１〜＃６）は仮想ハブ１０に接続し、全てのクライアント２０（＃１〜＃６）は仮想ハブ１０を経由して、イーサネットフレームの送受信を行なっている。なお、アンダーレイネットワーク４０のセグメント（通常、ＩＰネットワークのセグメント）４０（＃１〜＃６）間は通常、ルータ（図４乃至図６では図示していない）により接続されている。仮想ハブ１０はセグメント４０（＃３）に、クライアント２０（＃１〜＃３）はセグメント４０（＃１）に、クライアント２０（＃４〜＃６）はセグメント４０（＃５）に、それぞれ属している。
【００５４】
ここで、例えば、クライアント２０（＃３）とクライアント２０（＃４）とは、仮想イーサネットの観点からは同一セグメント上に属してはいるが、アンダーレイネットワーク４０の観点からは、別セグメントに属し、かつ、遠隔に位置していることになる。
【００５５】
ここで、図５に示すように、例えばクライアント２０（＃４）とクライアント２０（＃５）のように、特定のクライアント２０間のトラフィック量が増大したり、例えばクライアント２０（＃３）とクライアント２０（＃６）のようにアンダーレイネットワーク的に遠隔に位置するクライアント２０間で通信が発生したとする。
【００５６】
前者の場合、仮想ハブ１０のピアツーピアリンク制御部１６は、クライアント２０（＃４）とクライアント２０（＃５）と間のトラフィック量が、あらかじめ定義されている閾値を超えたと判断した場合、クライアント２０（＃４）とクライアント２０（＃５）に、それらの間にピアツーピアリンクを生成し、ピアツーピア通信に移行するよう、指示を出す。
【００５７】
上記指示を受け取ったクライアント２０（＃４）とクライアント２０（＃５）の接続リンク制御部２４は、図３（ａ）の手順ａ１に示すように、アンダーレイネットワーク４０の何らかの手段（例えば、ＴＣＰコネクションやＳＳＬセッションなど）を使用して、通信路（ピアツーピアリンク）を生成し（手順ａ２)、クライアント２０（＃４）はクライアント２０（＃５）の仮想イーサネットのＭＡＣアドレスを、クライアント２０（＃５）はクライアント２０（＃４）の同ＭＡＣアドレスを送信先管理テーブル２５に登録する（手順ａ３）。
【００５８】
以後、クライアント２０（＃４）の接続リンク制御部２４は、クライアント２０（＃５）向けのイーサネットフレーム（宛先ＭＡＣアドレスとして、クライアント２０（＃５）のＭＡＣアドレスを持つもの）は前記ピアツーピアリンクに送出し（図３（ｃ）の手順ｃ１、ｃ２、ｃ３［ＮＯ］、ｃ４［Ｙｅｓ］、ｃ５）、それ以外の宛先ＭＡＣアドレス（ユニキャスト）を持つイーサネットフレームは仮想ハブ１０とのリンクに送出する（手順ｃ３［Ｎｏ］、手順ｃ４［Ｎｏ］、手順ｃ６）。また、ブロードキャストフレーム、マルチキャストフレームも仮想ハブとのリンクに送出する（手順ｃ３［Ｙｅｓ］、ｃ６）。
【００５９】
同様に、クライアント２０（＃５）は、クライアント２０（＃４）向けのイーサネットフレーム（宛先ＭＡＣアドレスとして、クライアント２０（＃４）のＭＡＣアドレスを持つもの）は前記ピアツーピアリンクに送出し、それ以外の宛先ＭＡＣアドレスを持つイーサネットフレーム、及びブロードキャストフレーム、マルチキャストフレームは仮想ハブ１０とのリンクに送出する。
【００６０】
結果として、クライアント２０（＃４）とクライアント２０（＃５）との間のトラフィックは仮想ハブ１０を経由することがなくなり、仮想ハブ１０への負荷、及びアンダーレイネットワーク４０（＃４），４０（＃５）の負荷が軽減される。
【００６１】
図５に示すように、同様の処理がクライアント２０（＃３）とクライアント２０（＃６）との間に関しても行なわれると、クライアント２０（＃３）、クライアント２０（＃６）は、仮想ハブ１０を経由していたときはアンダーレイネットワーク４０（＃２），４０（＃３），４０（＃４）を使用していたものが、図６に示すように、アンダーレイネットワーク４０（＃６）のみを通過するピアツーピアリンクＳ５を使用してピアツーピア通信することになり、結果的に、仮想ハブ１０とアンダーレイネットワーク４０（＃２），４０（＃３），４０（＃４）との負荷が軽減される。
【００６２】
さらに、仮想ハブ１０のピアツーピアリンク制御部１６は、クライアント２０（＃１）からクライアント２０（＃３）がアンダーレイネットワーク４０（＃１）のトポロジ的に近隣に位置すると判断すると、これらクライアント２０（＃１，＃２，＃３）に対してもピアツーピア通信に移行するよう指示する。その結果、クライアント２０（＃１）からクライアント２０（＃３）の間にはピアツーピアリンクＳ１〜Ｓ３が生成され、これらクライアント２０（＃１，＃２，＃３）間の通信はアンダーレイネットワーク４０（＃１）に局所化され、他のアンダーレイネットワーク４０（＃２〜＃６）や仮想ハブ１０への負荷軽減になる。
【００６３】
あるクライアント２０群がアンダーレイネットワーク４０のトポロジ的に近隣に位置するか否かの判断基準としては、以下のようなものが考えられる。  
・クライアント２０のアンダーレイネットワーク４０のアドレス。  
・クライアント２０へのラウンドトリップタイム。  
・クライアント２０へのアンダーレイネットワーク４０でのホップ数。  
・クライアント２０へのアンダーレイネットワーク４０の経路制御上のコスト。
【００６４】
最終的に、上記処理により各クライアント２０間のピアツーピア通信が確立された状態の一例を図６に示す。実線Ｓ１〜Ｓ５がピアツーピア通信リンクを示し、破線ｄ１〜ｄ６が仮想ハブ１０経由の通信リンクを示す。
【００６５】
なお、上記では、仮想ハブ１０の主導によるピアツーピアリンク生成、ピアツーピア通信への移行を説明したが、各クライアント２０の接続リンク制御部２４が独自の判断により、特定のクライアント２０とのピアツーピアリンク生成、ピアツーピア通信への移行を実施することも可能である。この場合、該当処理を実施したクライアント２０は、その後の仮想ハブ１０による処理（例えば、ピアツーピアリンクの削除など）を可能とするため、自身を収容する仮想ハブ１０に、特定のクライアント２０との間にピアツーピアリンクを生成し、ピアツーピア通信を開始したことを通知する必要がある。
【００６６】
なお、クライアント２０が独自にピアツーピアリンクを生成する判断としては、上記仮想ハブ１０の判断基準と同様のものが考えられる。一方、特定のクライアント２０間のトラフィックが、予め定義した閾値を下回った場合などに、仮想ハブ１０が主導で、或いはクライアント２０が自ら、特定クライアント２０とのピアツーピアリンクの削除、仮想ハブ１０経由での通信への移行（元の状態に戻る）を実施することも可能である。この場合、クライアント２０側の処理は、図３（ｂ）に示す手順ｂ１から手順ｂ３に示すように、仮想ハブ１０からの指示受信、或いは自身の削除条件が満たされたことをトリガとして、ピアツーピアリンクの削除、送信先管理テーブル２５からの該当クライアント２０のＭＡＣアドレスの削除を行なう。仮想ハブ１０が主導で行なう場合、各クライアント２０は、自身のトラフィック量の情報などを定期的に仮想ハブ１０に通知しておく必要がある。
【００６７】
上述したように、本発明の実施の形態に係るネットワーク仮想化システムにおいては、上記のような作用により、特定の仮想ハブ１０へのトラフィックの集中や、高負荷を避けることができる。以上により、仮想ハブ１０や、仮想ネットワーク全体のスケーラビリティを確保することが可能となる。また、トラフィックが特定の仮想ハブ１０を経由しなくなることにより、アンダーレイネットワーク４０への負荷を軽減することも可能となり、もってアンダーレイネットワーク４０の設備投資を抑制することが可能となる。更に、クライアント２０間で直接通信を行なうことにより、クライアント２０間の通信スループット、応答時間などを改善することも可能となる。
【００６８】
（第２の実施の形態）  
本実施の形態は、第１の実施の形態におけるクライアント２０上の仮想ネットワークインタフェース２２に、仮想ハブ１０と同等の機能を持たせたものである。したがって、ここでは、第１の実施の形態と異なる点について説明する。
【００６９】
本実施の形態では、クライアント２０は、図７に示すように、仮想ハブ１０へ接続するために使用する仮想ネットワークインタフェース７０内に、仮想ハブ１０が保持するイーサネットスイッチングハブ１１と同様の機能を持つイーサネットスイッチングハブ７６を備えることにより、特定クライアント２０間での直接通信を実現するものである。
【００７０】
図７にて、イーサネットスイッチングハブ７６は、一般的な、いわゆるイーサネットスイッチングハブ１１と同様に、宛先ＭＡＣアドレスに基づいたイーサネットフレームの転送処理を行なう。ここで、第１の実施の形態と大きく異なる部分としては、イーサネットスイッチングハブ７６からは、イーサネットフレーム送受信部７３、仮想ハブ１０、他クライアント２０全てが、「同等の接続先」として認識されることである。
【００７１】
つまり、イーサネットフレーム送受信部７３から送出されるイーサネットフレームは、その宛先ＭＡＣアドレスに基づき、イーサネットスイッチングハブ７６により仮想ハブ１０向けの接続リンクＡか、或いは他クライアント２０向けの接続リンクＢかの何れかに出力される。一方、仮想ハブ１０や他クライアント２０のように外部から到着した自局（該当クライアント２０）宛のイーサネットフレームも、あくまで、その宛先ＭＡＣアドレスに基づき、イーサネットスイッチングハブ７６によりイーサネットフレーム送受信部７３との接続リンクＣに転送されるにすぎない。
【００７２】
なお、本実施の形態では有用ではないが、クライアント２０間の接続状態次第では、あるクライアント２０の仮想ネットワークインタフェース７０のイーサネットスイッチングハブ７６の機能により、そのクライアント２０以外の他クライアント２０間のイーサネットフレームを転送することも機能的には可能である。ここで、第１の実施の形態と同様の構成にて、同様のトラフィック状態となり、仮想ハブ１０のピアツーピアリンク制御部１６は同様の指示を各クライアント２０に出したものとする。
【００７３】
その結果、各クライアント２０はそれぞれ、自身の仮想ネットワークインタフェース７０が保持するイーサネットスイッチングハブ７６に他クライアント２０からの接続を収容することとなる。その場合における全体の接続状態を図８に、それぞれのクライアント２０（＃１〜＃６）の仮想ネットワークインタフェース７０（＃１〜＃６）が保持するイーサネットスイッチングハブ７６（＃１〜＃６）の転送テーブル７５（＃１〜＃６）の内容を図９乃至図１４に示す。
【００７４】
この場合、図８に示すように、仮想ネットワークインタフェース７０間でループが構成されるため、イーサネットフレームの転送のループを回避するために、何らかの方法が必要である。そこで、本実施の形態では、図９乃至図１４に示すようなデータ構成を持つ転送テーブル７５を設け、転送テーブル７５の設定、及び転送ポリシーを工夫することにより、転送ループを回避している。
【００７５】
図９はクライアント２０（＃１）が、図１０はクライアント２０（＃２）が、図１１はクライアント２０（＃３）が、図１２はクライアント２０（＃４）が、図１３はクライアント２０（＃５）が、図１４はクライアント２０（＃６）がそれぞれ保持するイーサネットスイッチングハブの転送テーブル７５の一例を示すデータ構成図である。
【００７６】
つまり、転送テーブル７５には、宛先ＭＡＣアドレス７５ｂ及び送信先接続リンク７５ｃに加えて、受信元接続リンク７５ａも設定、或いは学習可能なようにしておく。そして、転送すべきイーサネットフレームの宛先ＭＡＣアドレス７５ｂが転送テーブル７５のあるエントリの宛先ＭＡＣアドレス７５ｂのアドレスフィールドにヒットし、かつそのイーサネットフレームを受信した接続リンクがそのエントリの受信元接続リンク７５ａのフィールドに記述されているものに合致した場合のみ、そのイーサネットフレームをそのエントリの送信先接続リンク７５ｃに出力し、そうでない場合はそのイーサネットフレームを破棄する、という方法をとる。
【００７７】
一方、別の手段として、仮想ハブ１０及び、各クライアント２０の仮想ネットワークインタフェース７０内のイーサネットスイッチングハブ７６間でスパンニングツリープロトコルを動作させることも有効なループ回避手段である。
【００７８】
上述したように、本発明の実施の形態に係るネットワーク仮想化システムのように、第１の実施の形態におけるクライアント２０上の仮想ネットワークインタフェース２２に、仮想ハブ１０と同様の機能を持たせることによっても、第１の実施の形態と同様の作用効果を奏することが可能となる。
【００７９】
なお、上述した第１及び第２の各実施の形態では、仮想ハブ１０を経由した通信から特定のクライアント２０間のピアツーピア通信への移行条件として、或いは特定のクライアント２０間のピアツーピア通信から仮想ハブ１０を経由した通信への移行条件として、特定のクライアント２０間のトラフィック量やアンダーレイネットワーク４０上での各クライアント２０の位置関係を考慮した例について説明した。しかしながら、移行条件は、これらに限定されるものではなく、それ以外にも、例えば、以下に説明するように、１）仮想ハブの負荷状況、２）クライアント間の通信のプロトコル種別、３）仮想ハブの障害が考えられる。
【００８０】
１）仮想ハブの負荷状況  
仮想ハブ１０は、自身の負荷があらかじめ定義された閾値を上回った場合、自身が収容しているクライアント２０群から、何らかの条件に基づいて特定のクライアント２０のペアを選択し、それらにピアツーピア通信への移行を指示する。
【００８１】
逆に、自身の負荷があらかじめ定義された閾値を下回った場合、仮想ハブ１０は、自身が収容しているクライアント２０群から、何らかの条件に基づいて特定のクライアント２０のペアを選択し、それらに仮想ハブ１０を経由した通信への移行を指示する。仮想ハブ１０の負荷としては、限定される訳ではないが、例えば総トラフィック量、ＣＰＵ使用率、メモリ使用率、収容クライアント数などが考えられる。
【００８２】
２）クライアント間の通信のプロトコル種別  
仮想ハブ１０は、予め定義されたプロトコルの通信が特定のクライアント２０の間で開始された場合、あるいは一定時間継続された場合など、それらクライアント２０へピアツーピア通信への移行を指示する。逆に、予め定義されたプロトコルの通信が特定のクライアント２０との間で終了した場合、あるいは一定時間途絶えた場合など、それらクライアント２０へ仮想ハブ１０を経由した通信への移行を指示する。この場合、クライアント２０は、自身のトラフィック内容などの情報を定期的に仮想ハブ１０に通知する必要がある。あるいはクライアント２０が独自に、予め定義されたプロトコルに関して、同様の処理を行なうこともできる。
【００８３】
３）仮想ハブの障害  
仮想ハブ１０は、自身に何らかの障害が発生し自ら処理を停止する場合、それらクライアント２０へピアツーピア通信への移行を指示する。逆に、仮想ハブ１０は、障害から復帰した場合、障害前に収容していたクライアント２０に対して、仮想ハブ１０を経由した通信への移行を指示する。なお、クライアント２０は、キープアライブ処理（ハートビート処理）など、何らかの手段で自らを収容する仮想ハブ１０の障害を検出した場合、自らピアツーピア通信への移行を行なうことができ、逆に、自らを収容していた仮想ハブ１０の障害からの復旧を検出した場合、仮想ハブ１０を経由した通信への移行を行なうこともできる。
【００８４】
以上、本発明を実施するための最良の形態について、添付図面を参照しながら説明したが、本発明はかかる構成に限定されない。特許請求の範囲の発明された技術的思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の技術的範囲に属するものと了解される。
【００８５】
（応用技術分野）
本発明は、仮想ネットワークだけでなく、あるノードにトラフィックが集中する仮想ネットワークを構築する技術、オーバレイネットワークを構築する技術を含む広く範囲への適用が可能である。
【図面の簡単な説明】
【００８６】
【図１】第１の実施の形態に係るネットワーク仮想化システムを構成するサーバに備えられる仮想ハブの構成例を示す機能ブロック図。
【図２】第１の実施の形態に係るネットワーク仮想化システムを構成するクライアントの構成例を示す機能ブロック図。
【図３ａ】ピアツーピアリンクの生成処理の流れを示すフロー図。
【図３ｂ】ピアツーピアリンクの削除処理の流れを示すフロー図。
【図３ｃ】イーサネットフレーム送信処理の流れを示すフロー図。
【図４】第１の実施の形態に係るネットワーク仮想化システムによって構成された仮想イーサネットの一例を示すネットワーク構成図（初期状態）。
【図５】第１の実施の形態に係るネットワーク仮想化システムによって構成された仮想イーサネットの一例を示すネットワーク構成図（トラフィック発生時）。
【図６】第１の実施の形態に係るネットワーク仮想化システムによって構成された仮想イーサネットの一例を示すネットワーク構成図（ピアツーピア通信状態）。
【図７】第２の実施の形態に係るネットワーク仮想化システムを構成するクライアントの構成例を示す機能ブロック図。
【図８】第２の実施の形態に係るネットワーク仮想化システムによって構成された仮想イーサネットの一例を示すネットワーク構成図。
【図９】クライアント２０（＃１）が保持するイーサネットスイッチングハブの転送テーブルの一例を示すデータ構成図。
【図１０】クライアント２０（＃２）が保持するイーサネットスイッチングハブの転送テーブルの一例を示すデータ構成図。
【図１１】クライアント２０（＃３）が保持するイーサネットスイッチングハブの転送テーブルの一例を示すデータ構成図。
【図１２】クライアント２０（＃４）が保持するイーサネットスイッチングハブの転送テーブルの一例を示すデータ構成図。
【図１３】クライアント２０（＃５）が保持するイーサネットスイッチングハブの転送テーブルの一例を示すデータ構成図。
【図１４】クライアント２０（＃６）が保持するイーサネットスイッチングハブの転送テーブルの一例を示すデータ構成図。
【図１５】仮想イーサネットの一般的な構成例を示す図。
【符号の説明】
【００８７】
Ａ，Ｂ，Ｃ…接続リンク、ｄ１〜ｄ６…仮想ネットワーク、Ｓ１〜Ｓ５…ピアツーピアリンク、１０…仮想ハブ、１１…イーサネットスイッチングハブ、１２…転送テーブル、１３…接続リンク制御部、１４…アンダーレイネットワークプロトコル群、１５…物理ネットワークインタフェース、１６…ピアツーピアリンク制御部、２０…クライアント、２１…アプリケーション／上位プロトコル群、２２…仮想ネットワークインタフェース、２３…イーサネットフレーム送受信部、２４…接続リンク制御部、２５…送信先管理テーブル、２６…アンダーレイネットワークプロトコル群、２７…物理ネットワークインタフェース、３０…サーバ、４０…アンダーレイネットワーク、７０…仮想ネットワークインタフェース、７３…イーサネットフレーム送受信部、７５…転送テーブル、７６…イーサネットスイッチングハブ、１５０…アンダーレイネットワーク、１５１…仮想ハブ、１５２…仮想ネットワークインタフェース、１５３…クライアント、１５４…仮想イーサネット、１５５…サーバ、１５５…ネットワーク仮想化装置、１５６…ファイアウォール、１５７…ルータ、１６０…内部ネットワーク、１６１…外部ネットワーク
【図１】
2008054214.tif 000003
【図２】
2008054214.tif 000004
【図３ａ】
2008054214.tif 000005
【図３ｂ】
2008054214.tif 000006
【図３ｃ】
2008054214.tif 000007
【図４】
2008054214.tif 000008
【図５】
2008054214.tif 000009
【図６】
2008054214.tif 000010
【図７】
2008054214.tif 000011
【図８】
2008054214.tif 000012
【図９】
2008054214.tif 000013
【図１０】
2008054214.tif 000014
【図１１】
2008054214.tif 000015
【図１２】
2008054214.tif 000016
【図１３】
2008054214.tif 000017
【図１４】
2008054214.tif 000018
【図１５】
2008054214.tif 000019