(57)【特許請求の範囲】
【請求項１】
ＳＤＮ（Ｓｏｆｔｗａｒｅ Ｄｅｆｉｎｅｄ Ｎｅｔｗｏｒｋ）コントローラが、仮想ネットワークにおける、第１仮想マシン（ＶＭ）および第１仮想スイッチ（ｖＳｗｉｔｃｈ）を管理する第１ハイパーバイザー（Ｈｙｐｅｒｖｉｓｏｒ）マネジャーと、第２ＶＭおよび第２ｖＳｗｉｔｃｈを管理する第２Ｈｙｐｅｒｖｉｓｏｒマネジャーとについて、第１計算領域および第２計算領域をそれぞれ作成し、前記第１Ｈｙｐｅｒｖｉｓｏｒマネジャーおよび前記第２Ｈｙｐｅｒｖｉｓｏｒマネジャーが異種構造であることと、
前記ＳＤＮコントローラが前記仮想ネットワークのトポロジーに基づいて、前記第１計算領域に対する第１仮想ネットワークトポロジー情報と前記第２計算領域に対する第２仮想ネットワークトポロジー情報と前記第１ｖＳｗｉｔｃｈに対する第１配置情報と前記第２ｖＳｗｉｔｃｈに対する第２配置情報とを含むトポロジー管理情報を作成することと、
前記ＳＤＮコントローラが前記トポロジー管理情報を前記第１計算領域および前記第２計算領域のそれぞれと関連付けさせることと、
前記第１ｖＳｗｉｔｃｈおよび前記第２ｖＳｗｉｔｃｈがそれぞれ前記第１配置情報および前記第２配置情報に基づいて前記第１ＶＭと前記第２ＶＭの間のメッセージ転送を実施するように、前記ＳＤＮコントローラが前記トポロジー管理情報における前記第１配置情報および第２配置情報を前記第１ｖＳｗｉｔｃｈおよび第２ｖＳｗｉｔｃｈへそれぞれ配ることと、を含むことを特徴とする仮想ネットワーク管理方法。
【請求項２】
前記トポロジー管理情報における前記第１配置情報および第２配置情報を前記第１ｖＳｗｉｔｃｈおよび第２ｖＳｗｉｔｃｈへそれぞれ配ることは、
前記第１Ｈｙｐｅｒｖｉｓｏｒマネジャーが前記トポロジー管理情報における前記第１配置情報を前記第１ｖＳｗｉｔｃｈへ配るように、前記ＳＤＮコントローラが前記トポロジー管理情報を前記第１Ｈｙｐｅｒｖｉｓｏｒマネジャーへ配ることと、
前記第２Ｈｙｐｅｒｖｉｓｏｒマネジャーが前記トポロジー管理情報における前記第２配置情報を前記第２ｖＳｗｉｔｃｈへ配るように、前記ＳＤＮコントローラが前記トポロジー管理情報を前記第２Ｈｙｐｅｒｖｉｓｏｒマネジャーへ配ることと、を含むことを特徴とする請求項１に記載の仮想ネットワーク管理方法。
【請求項３】
第３ｖＳｗｉｔｃｈが第１Ｈｙｐｅｒｖｉｓｏｒマネジャーにオンラインするとき、前記ＳＤＮコントローラが前記第３ｖＳｗｉｔｃｈから送信されたｖＳｗｉｔｃｈオンラインメッセージを受信することと、
前記ＳＤＮコントローラが前記ｖＳｗｉｔｃｈオンラインメッセージに基づいて前記第１Ｈｙｐｅｒｖｉｓｏｒマネジャーに対応する前記第１計算領域において前記第３ｖＳｗｉｔｃｈのレコードを作成することと、を更に含むことを特徴とする請求項１に記載の仮想ネットワーク管理方法。
【請求項４】
第３ＶＭが第１Ｈｙｐｅｒｖｉｓｏｒマネジャーにオンラインするとき、前記ＳＤＮコントローラが前記第３ＶＭに対応するｖＳｗｉｔｃｈから送信されたＶＭオンラインメッセージを受信することと、
前記ＳＤＮコントローラが前記ＶＭオンラインメッセージに基づいて前記トポロジー管理情報に前記第３ＶＭのレコードを付加することと、を更に含むことを特徴とする請求項１に記載の仮想ネットワーク管理方法。
【請求項５】
前記第１ｖＳｗｉｔｃｈから送信された、ソース側仮想機器が前記第１ＶＭであり且つ対象側仮想機器が前記第２ＶＭであるメッセージを受信した場合には、前記ＳＤＮコントローラが前記第１仮想ネットワークトポロジー情報と前記第２仮想ネットワークトポロジー情報とに基づいて前記第１ＶＭと前記第２ＶＭとの互いに通信を許容するか否かを判定することと、
前記第１ＶＭと前記第２ＶＭとの互いに通信を許容すると判定した場合に、前記ＳＤＮコントローラが第１フローテーブルを作成することと、
前記第１ｖＳｗｉｔｃｈが前記第１フローテーブルに基づいて前記メッセージを前記第２ｖＳｗｉｔｃｈへ送信するように、前記ＳＤＮコントローラが前記第１フローテーブルを前記第１ｖＳｗｉｔｃｈへ配ることと、
前記ＳＤＮコントローラが前記第２ｖＳｗｉｔｃｈからメッセージを受信したときに第２フローテーブルを作成することと、
前記第２ｖＳｗｉｔｃｈが前記第２フローテーブルに基づいて前記メッセージを前記第２ＶＭへ送信するように、前記ＳＤＮコントローラが前記第２フローテーブルを前記第２ｖＳｗｉｔｃｈへ配ることと、を更に含むことを特徴とする請求項１に記載の仮想ネットワーク管理方法。
【請求項６】
前記第１ＶＭと前記第２ＶＭとの互いに通信を許容するか否かを判定することは、
前記ＳＤＮコントローラが前記第１仮想ネットワークトポロジー情報および前記第２仮想ネットワークトポロジー情報を検索することにより、前記第１ＶＭおよび前記第２ＶＭが同一の仮想ルータに対応するか否かを判定することと、
前記第１ＶＭおよび前記第２ＶＭが同一の仮想ルータに対応する場合に、前記ＳＤＮコントローラが前記第１ＶＭと第２ＶＭとの互いに通信を許容すると判定することと、を含むことを特徴とする請求項５に記載の仮想ネットワーク管理方法。
【請求項７】
前記第１フローテーブルを作成することは、
前記ＳＤＮコントローラが前記第２ＶＭの仮想ＩＰアドレスと、前記第２ＶＭの第２ｖＳｗｉｔｃｈでのオンラインポートとを前記第２仮想ネットワークトポロジー情報から取得することと、
前記ＳＤＮコントローラが前記第２ＶＭに対応する第２ｖＳｗｉｔｃｈのトンネルカプセル化情報を前記第２配置情報から取得することと、
前記ＳＤＮコントローラが前記第２ＶＭの仮想ＩＰアドレスとオンラインポートと前記トンネルカプセル化情報とを含む第１フローテーブルを作成することと、を含むことを特徴とする請求項５に記載の仮想ネットワーク管理方法。
【請求項８】
前記第２フローテーブルを作成することは、
前記ＳＤＮコントローラが前記第２ＶＭの仮想ＩＰアドレスとオンラインポートとを含む第２フローテーブルを作成することを含むことを特徴とする請求項７に記載の仮想ネットワーク管理方法。
【請求項９】
仮想ネットワーク管理装置であって、
プロセッサと、仮想ネットワーク管理論理に対応する機器の実行可能な命令を記憶する非一時的記憶媒体とを備え、
前記プロセッサは、前記機器の実行可能な命令を実行することにより、
仮想ネットワークにおける、第１仮想マシン（ＶＭ）および第１仮想スイッチ（ｖＳｗｉｔｃｈ）を管理する第１ハイパーバイザー（Ｈｙｐｅｒｖｉｓｏｒ）マネジャーと、第２ＶＭおよび第２ｖＳｗｉｔｃｈを管理する第２Ｈｙｐｅｒｖｉｓｏｒマネジャーとについて、第１計算領域および第２計算領域をそれぞれ作成し、前記第１Ｈｙｐｅｒｖｉｓｏｒマネジャーおよび前記第２Ｈｙｐｅｒｖｉｓｏｒマネジャーが異種構造であり、
前記仮想ネットワークのトポロジーに基づいて、前記第１計算領域に対する第１仮想ネットワークトポロジー情報と前記第２計算領域に対する第２仮想ネットワークトポロジー情報と前記第１ｖＳｗｉｔｃｈに対する第１配置情報と前記第２ｖＳｗｉｔｃｈに対する第２配置情報とを含むトポロジー管理情報を作成し、
前記トポロジー管理情報を前記第１計算領域および前記第２計算領域のそれぞれと関連付けさせ、
前記第１ｖＳｗｉｔｃｈおよび前記第２ｖＳｗｉｔｃｈがそれぞれ前記第１配置情報および前記第２配置情報に基づいて前記第１ＶＭと前記第２ＶＭの間のメッセージ転送を実施するように、前記トポロジー管理情報における前記第１配置情報および第２配置情報を前記第１ｖＳｗｉｔｃｈおよび第２ｖＳｗｉｔｃｈへそれぞれ配ることを特徴とする仮想ネットワーク管理装置。
【請求項１０】
前記機器の実行可能な命令を実行することにより、前記プロセッサは、さらに、
第３ｖＳｗｉｔｃｈが第１Ｈｙｐｅｒｖｉｓｏｒマネジャーにオンラインするとき、前記第３ｖＳｗｉｔｃｈから送信されたｖＳｗｉｔｃｈオンラインメッセージを受信し、
前記ｖＳｗｉｔｃｈオンラインメッセージに基づいて前記第１Ｈｙｐｅｒｖｉｓｏｒマネジャーに対応する前記第１計算領域において前記第３ｖＳｗｉｔｃｈのレコードを作成することを特徴とする請求項９に記載の仮想ネットワーク管理装置。
【請求項１１】
前記機器の実行可能な命令を実行することにより、前記プロセッサは、さらに、
第３ＶＭが第１Ｈｙｐｅｒｖｉｓｏｒマネジャーにオンラインするとき、前記第３ＶＭに対応するｖＳｗｉｔｃｈから送信されたＶＭオンラインメッセージを受信し、
前記ＶＭオンラインメッセージに基づいて前記トポロジー管理情報に前記第３ＶＭのレコードを付加することを特徴とする請求項９に記載の仮想ネットワーク管理装置。
【請求項１２】
前記機器の実行可能な命令を実行することにより、前記プロセッサは、さらに、
前記第１ｖＳｗｉｔｃｈから送信された、ソース側仮想機器が前記第１ＶＭであり且つ対象側仮想機器が前記第２ＶＭであるメッセージを受信した場合には、前記第１仮想ネットワークトポロジー情報と前記第２仮想ネットワークトポロジー情報とに基づいて前記第１ＶＭと前記第２ＶＭとの互いに通信を許容するか否かを判定し、
前記第１ＶＭと前記第２ＶＭとの互いに通信を許容すると判定した場合に、第１フローテーブルを作成し、
前記第１ｖＳｗｉｔｃｈが前記第１フローテーブルに基づいて前記メッセージを前記第２ｖＳｗｉｔｃｈへ送信するように、前記第１フローテーブルを前記第１ｖＳｗｉｔｃｈへ配り、
前記第２ｖＳｗｉｔｃｈからメッセージを受信したときに第２フローテーブルを作成し、
前記第２ｖＳｗｉｔｃｈが前記第２フローテーブルに基づいて前記メッセージを前記第２ＶＭへ送信するように、前記第２フローテーブルを前記第２ｖＳｗｉｔｃｈへ配ることを特徴とする請求項９に記載の仮想ネットワーク管理装置。
【請求項１３】
前記機器の実行可能な命令を実行することにより、前記プロセッサは、さらに、
前記第１仮想ネットワークトポロジー情報および前記第２仮想ネットワークトポロジー情報を検索することにより、前記第１ＶＭおよび前記第２ＶＭが同一の仮想ルータに対応するか否かを判定し、
前記第１ＶＭおよび前記第２ＶＭが同一の仮想ルータに対応する場合に、前記第１ＶＭと第２ＶＭとの互いに通信を許容すると判定することを特徴とする請求項１２に記載の仮想ネットワーク管理装置。
【請求項１４】
前記機器の実行可能な命令を実行することにより、前記プロセッサは、さらに、
前記第２ＶＭの仮想ＩＰアドレスと、前記第２ＶＭの第２ｖＳｗｉｔｃｈでのオンラインポートとを前記第２仮想ネットワークトポロジー情報から取得し、
前記第２ＶＭに対応する第２ｖＳｗｉｔｃｈのトンネルカプセル化情報を前記第２配置情報から取得し、
前記第２ＶＭの仮想ＩＰアドレスとオンラインポートと前記トンネルカプセル化情報とを含む第１フローテーブルを作成することを特徴とする請求項１２に記載の仮想ネットワーク管理装置。
【請求項１５】
前記機器の実行可能な命令を実行することにより、前記プロセッサは、さらに、
前記第２ＶＭの仮想ＩＰアドレスとオンラインポートとを含む第２フローテーブルを作成することを特徴とする請求項１４に記載の仮想ネットワーク管理装置。
【発明の詳細な説明】
【背景技術】
【０００１】
データセンターのネットワーク仮想化技術では、複数の異種のハイパーバイザー（Ｈｙｐｅｒｖｉｓｏｒ）を利用して異なる物理マシンおよびＶＭ（Ｖｉｒｔｕａｌ Ｍａｃｈｉｎｅ、仮想マシン)へアクセスを協調できる。Ｈｙｐｅｒｖｉｓｏｒに配置された仮想スイッチ（Ｖｉｒｔｕａｌ Ｓｗｉｔｃｈ、ｖＳｗｉｔｃｈ）は、ＶＭ間、並びに、ＶＭと外部ネットワークの間の通信能力を与えている。これらのＨｙｐｅｒｖｉｓｏｒおよびｖＳｗｉｔｃｈｅは、異なるＨｙｐｅｒｖｉｓｏｒマネジャーによって管理され得る。異なるＨｙｐｅｒｖｉｓｏｒマネジャーによって管理されるｖＳｗｉｔｃｈが異なる方式によりオンラインするため、異なるＨｙｐｅｒｖｉｓｏｒマネジャーは、異なるＳＤＮ （Ｓｏｆｔ Ｄｅｆｉｎｅｄ Ｎｅｔｗｏｒｋ、ソフトウェア定義ネットワーク）コントローラまたはＳＤＮコントローラクラスタによって制御される。しかし、異なるＳＤＮコントローラ同士が互いに相手のオーバレイ（Ｏｖｅｒｌａｙ）ネットワークを感知できないため、異種のＨｙｐｅｒｖｉｓｏｒｓにおいて動作している複数のＶＭの間は、直接Ｏｖｅｒｌａｙネットワークを介して通信できない恐れがある。
【図面の簡単な説明】
【０００２】
【図１】仮想ネットワーク管理のネットワーキングの模式図である。
【図２】本発明の一例の仮想ネットワーク管理方法を示すフローチャートである。
【図３】本発明の一例の仮想ネットワークのアーキテクチャを示す模式図である。
【図４】本発明の一例の仮想スイッチとＳＤＮコントローラとの相互作用のフローを示す模式図である。
【図５】本発明の一例の仮想ネットワーク管理装置のハードウェア構造を示す模式図である。
【図６】本発明の一例の仮想ネットワーク管理論理の機能モジュールを示すブロック図である。
【発明を実施するための形態】
【０００３】
図１は、よく用いられる仮想ネットワーク管理のネットワーキングの模式図である。図１に示すように、データセンター管理では、複数の異なるアーキテクチャのＨｙｐｅｒｖｉｓｏｒｓを利用してＶＭを管理や制御することで、ユーザへ計算サービスなどの各種のサービスを提供する。異種のＨｙｐｅｒｖｉｓｏｒｓは、異なるＨｙｐｅｒｖｉｓｏｒマネジャーによって管理される。例えば、Ｈｙｐｅｒｖｉｓｏｒマネジャー１００１は、Ｈｙｐｅｒｖｉｓｏｒ １１０を管理し、Ｈｙｐｅｒｖｉｓｏｒマネジャー１００２は、Ｈｙｐｅｒｖｉｓｏｒ １２０を管理する。ネットワークサービスを提供することに関連する転送エンジンは、一般的にＨｙｐｅｒｖｉｓｏｒ１１０、１２０に実装される。当該転送エンジンは、ｖＳｗｉｔｃｈ（ｖｉｒｔｕａｌ Ｓｗｉｔｃｈ）と呼称される。ｖＳｗｉｔｃｈが異なるＨｙｐｅｒｖｉｓｏｒにおいて異なる方式によりオンラインするため、データセンター管理には、異種のＨｙｐｅｒｖｉｓｏｒを管理するために異なるＳＤＮ コントローラを必要とする可能性がある。各ＨｙｐｅｒｖｉｓｏｒにおけるＶＭは、通常、当該Ｈｙｐｅｒｖｉｓｏｒに対応するｖＳｗｉｔｃｈを介して相互作用する。且つ、各ｖＳｗｉｔｃｈが複数のＶＭに接続する。
【０００４】
しかし、ｖＳｗｉｔｃｈ１に所属するＶＭ１がｖＳｗｉｔｃｈ２に所属するＶＭ２へメッセージを送信するとき、ＶＭ１の所在するＨｙｐｅｒｖｉｓｏｒ １１０およびＶＭ２の所在するＨｙｐｅｒｖｉｓｏｒ １２０がそれぞれ異なるＳＤＮ コントローラ１０１および１０２によって管理されており、異なるＳＤＮコントローラが相手のＯｖｅｒｌａｙネットワークを互いに感知できないため、ＶＭ１とＶＭ２とは、直接Ｏｖｅｒｌａｙネットワークを介して通信できない。１つの解決方法として、従来のネットワークを利用してメッセージ転送を行う。その転送経路は、図１に点線矢印で示すように、ＶＭ１→ｖＳｗｉｔｃｈ１→ＶＴＥＰ Ｒｏｕｔｅｒ １０→ＶＴＥＰ Ｒｏｕｔｅｒ ２０→ｖＳｗｉｔｃｈ２→ＶＭ２である。ここでのＶＴＥＰ Ｒｏｕｔｅｒ １０およびＶＴＥＰ Ｒｏｕｔｅｒ２０は、ゲートウェイとする。当該転送経路は、ＳＤＮ コントローラ１０１とＳＤＮ コントローラ１０２とで別個に配置する必要がある。上記転送方式が複雑であるため、メッセージの転送効率が低下してしまう。また、データセンター管理にしては、異なるＳＤＮコントローラが異なるＡＰＰ（Ａｐｐｌｉｃａｔｉｏｎ、応用）によって管理される必要がある。例えば、ＡＰＰ １０１１がＳＤＮコントローラ１０１を管理し、ＡＰＰ １０１２がＳＤＮコントローラ１０２を管理する。それは、データセンターの管理の難易度の増大に繋がる。
【０００５】
上記問題を解決すべく、本発明の仮想ネットワーク管理方法及び装置は、異種のＨｙｐｅｒｖｉｓｏｒを管理するマネジャーについて異なる計算領域（Ｄｏｍａｉｎ）を作成し、トポロジー管理情報で複数のＤｏｍａｉｎの仮想ネットワークトポロジーを管理することにより、ＳＤＮコントローラが異種のＨｙｐｅｒｖｉｓｏｒマネジャーを統括制御可能になるため、異種のＨｙｐｅｒｖｉｓｏｒにおけるＶＭｓがＯｖｅｒｌａｙネットワークを介して互いに通信可能になる。このように、転送手順が簡素化され、転送効率が向上し、管理の難易度が低減される。
【０００６】
本文では、異種のＨｙｐｅｒｖｉｓｏｒとは、異なるメーカで提供されるＨｙｐｅｒｖｉｓｏｒを指し、異なる方式を用いてサーバの仮想化を実現する。例えば、典型的なＫＶＭ ＨｙｐｅｒｖｉｓｏｒおよびｖＣｅｎｔｅｒ Ｈｙｐｅｒｖｉｓｏｒが仮想化を実施する技術が相違するため、与えられるユーザＵＩおよび操作ステップも異なる。異なるメーカで提供される異種のＨｙｐｅｒｖｉｓｏｒマネジャーの仮想化方式も異なるため、１種のＨｙｐｅｒｖｉｓｏｒマネジャーが１種の特定のタイプのＨｙｐｅｒｖｉｓｏｒのみを管理する。ここでの計算領域は、異なるタイプのＨｙｐｅｒｖｉｓｏｒマネジャーのエンティティを管理可能になる。当該エンティティは、トポロジー情報パラメータを同じ方式により異なるタイプのＨｙｐｅｒｖｉｓｏｒマネジャーの仮想スイッチに配置することをサポートするため、異種のＨｙｐｅｒｖｉｓｏｒに対する統括管理を実現する。
【０００７】
図２は、本発明の一例の仮想ネットワーク管理方法を示すフローチャートである。前記方法は、仮想ネットワークにおけるＳＤＮコントローラに適用し、ステップ２０１から２０３を含む。
【０００８】
ステップ２０１では、前記ＳＤＮコントローラは、第１仮想マシン（ＶＭ）および第１仮想スイッチ（ｖＳｗｉｔｃｈ）を管理する第１Ｈｙｐｅｒｖｉｓｏｒマネジャーと、第２ＶＭおよび第２ｖＳｗｉｔｃｈを管理する第２Ｈｙｐｅｒｖｉｓｏｒマネジャーとについて、第１Ｄｏｍａｉｎおよび第２Ｄｏｍａｉｎをそれぞれ作成し、前記第１Ｈｙｐｅｒｖｉｓｏｒマネジャーおよび前記第２Ｈｙｐｅｒｖｉｓｏｒマネジャーが互いに異種構造である。
【０００９】
本発明の好適な例において、仮想ネットワークの構築時に、ＳＤＮコントローラは、異なるＤｏｍａｉｎによって異なるＨｙｐｅｒｖｉｓｏｒマネジャーを制御する。即ち、ＳＤＮコントローラは、第１Ｈｙｐｅｒｖｉｓｏｒマネジャーための第１Ｄｏｍａｉｎおよび第２Ｈｙｐｅｒｖｉｓｏｒマネジャーための第２Ｄｏｍａｉｎをそれぞれ作成する。
【００１０】
ステップ２０２では、ステップ２０２では、前記ＳＤＮコントローラは、仮想ネットワークのトポロジーに基づいて第１仮想ネットワークトポロジー情報、第２仮想ネットワークトポロジー情報、第１配置情報および第２配置情報を含むトポロジー管理情報を作成する。
【００１１】
この例において、ＳＤＮコントローラは、さらに、予め配置された仮想ネットワークトポロジーに基づいてトポロジー管理情報を作成する。当該トポロジー管理情報は、メッセージ転送に関与する第１Ｄｏｍａｉｎおよび第２Ｄｏｍａｉｎの仮想ネットワークトポロジーを含む。例えば、第１Ｄｏｍａｉｎの仮想ネットワークトポロジーは、第１仮想ネットワークトポロジー情報と呼称されてもよく、第１ＶＭに対応する仮想ＩＰアドレスおよびオンラインポート等を含む。第２Ｄｏｍａｉｎの仮想ネットワークトポロジーは、第２仮想ネットワークトポロジー情報と呼称されてもよく、第２ＶＭに対応する仮想ＩＰアドレスおよびオンラインポート等を含む。また、当該トポロジー管理情報には、異種のＨｙｐｅｒｖｉｓｏｒのために予め設定された異なるｖＳｗｉｔｃｈ配置情報がさらに含まれる。例えば、第１Ｈｙｐｅｒｖｉｓｏｒマネジャーによって管理されるｖＳｗｉｔｃｈのために設定された配置情報は、第１配置情報と呼称されてもよく、第１ｖＳｗｉｔｃｈの名称、転送モード、仮想ＭＡＣアドレスおよびＶＸＬＡＮ等の内容を含む。第２Ｈｙｐｅｒｖｉｓｏｒマネジャーによって管理されるｖＳｗｉｔｃｈのために設定された配置情報は、第２配置情報と呼称されてもよく、通常、第２ｖＳｗｉｔｃｈの名称、転送モード、仮想ＭＡＣアドレスおよびＶＸＬＡＮ等の内容を含む。本発明の好適な例において、当該トポロジー管理情報を作成することは、ＶＤＳ（Ｖｉｒｔｕａｌ Ｄｉｓｔｒｉｂｕｔｅｄ Ｓｗｉｔｃｈ、仮想分散型スイッチ）によっても実現される。
【００１２】
ステップ２０３では、前記ＳＤＮコントローラは、前記トポロジー管理情報を前記第１Ｄｏｍａｉｎおよび第２Ｄｏｍａｉｎのそれぞれと関連付けさせた後、前記トポロジー管理情報における前記第１配置情報および第２配置情報を前記第１ｖＳｗｉｔｃｈおよび第２ｖＳｗｉｔｃｈへそれぞれ配る。こうして、前記第１ｖＳｗｉｔｃｈおよび前記第２ｖＳｗｉｔｃｈがそれぞれ前記第１配置情報および前記第２配置情報に基づいて前記第１ＶＭと前記第２ＶＭの間のメッセージ転送を実施する。
【００１３】
この例において、ＳＤＮコントローラは、前記トポロジー管理情報を前記第１Ｄｏｍａｉｎおよび第２Ｄｏｍａｉｎのそれぞれと関連付けさせてから、トポロジー管理情報における第１配置情報および第２配置情報を第１Ｄｏｍａｉｎ中の第１Ｈｙｐｅｒｖｉｓｏｒマネジャーによって管理される第１ｖＳｗｉｔｃｈと、第２Ｄｏｍａｉｎ中の第２Ｈｙｐｅｒｖｉｓｏｒマネジャーによって管理される第２ｖＳｗｉｔｃｈとへそれぞれ配る。当該第１ｖＳｗｉｔｃｈは、当該第１配置情報に基づいて第１ＶＭ上のメッセージ転送を指導し、当該第２ｖＳｗｉｔｃｈは、当該第２配置情報に基づいて第２ＶＭ上のメッセージ転送を指導する。
【００１４】
別の例において、ＳＤＮコントローラは、前記トポロジー管理情報を前記第１Ｄｏｍａｉｎおよび第２Ｄｏｍａｉｎのそれぞれと関連付けさせた後、前記トポロジー管理情報を第１Ｈｙｐｅｒｖｉｓｏｒマネジャーおよび第２Ｈｙｐｅｒｖｉｓｏｒマネジャーへ配る。そして、第１Ｈｙｐｅｒｖｉｓｏｒマネジャーは、受信された前記トポロジー管理情報における第１配置情報を自身によって管理される第１ｖＳｗｉｔｃｈへ配り、第２Ｈｙｐｅｒｖｉｓｏｒマネジャーは、受信された前記トポロジー管理情報における第２配置情報を自身によって管理される第２ｖＳｗｉｔｃｈへ配る。前記第１ｖＳｗｉｔｃｈおよび第２ｖＳｗｉｔｃｈは、それぞれ前記第１配置情報および前記第２配置情報に基づいて、前記第１ＶＭと前記第２ＶＭの間のメッセージ転送を実施する。
【００１５】
したがって、ＳＤＮコントローラは、前記トポロジー管理情報に基づいて前記第１ｖＳｗｉｔｃｈおよび前記第２ｖＳｗｉｔｃｈを制御する。こうして、異種のＨｙｐｅｒｖｉｓｏｒに位置する前記第１ＶＭおよび前記第２ＶＭは、前記第１ｖＳｗｉｔｃｈおよび前記第２ｖＳｗｉｔｃｈを介して互いに通信する。
【００１６】
これにより、本発明は、異種のＨｙｐｅｒｖｉｓｏｒマネジャーについて異なるＤｏｍａｉｎを作成し、トポロジー管理情報に基づいて複数のＤｏｍａｉｎの仮想ネットワークトポロジーを記録することにより、ＳＤＮコントローラが異種のＨｙｐｅｒｖｉｓｏｒマネジャーを統括制御するため、異種のＨｙｐｅｒｖｉｓｏｒで動作しているＶＭｓがＯｖｅｒｌａｙネットワークを介して互いに通信する。このため、転送手順が簡素化され、転送効率が向上し、管理の難易度が低減される。
【００１７】
仮想ネットワークの構築が完了した後で新たなｖＳｗｉｔｃｈまたはＶＭオンラインがある時、ＳＤＮコントローラは、ｖＳｗｉｔｃｈのフィードバック情報に基づいて新たにオンラインされた仮想ネットワーク機器の情報を直ちに獲得する。
【００１８】
詳細に言えば、第３ｖＳｗｉｔｃｈが第１Ｈｙｐｅｒｖｉｓｏｒマネジャーにオンラインするとき、ＳＤＮコントローラは、第３ｖＳｗｉｔｃｈから送信されたｏｐｅｎｆｌｏｗ接続要求およびｖＳｗｉｔｃｈオンラインメッセージ（例えば、スイッチが増加するｏｐｅｎｆｌｏｗメッセージ）を受信する。その後、ＳＤＮコントローラは、前記ｖＳｗｉｔｃｈオンラインメッセージに基づいて、第１Ｈｙｐｅｒｖｉｓｏｒマネジャーに対応する第１Ｄｏｍａｉｎにおいて前記第３ｖＳｗｉｔｃｈのレコードを作成する。第３ＶＭが第１Ｈｙｐｅｒｖｉｓｏｒマネジャーにオンラインするとき、ＳＤＮコントローラは、前記第３ＶＭに対応するｖＳｗｉｔｃｈから送信されたＶＭオンラインメッセージ（例えばｐｏｒｔｓｔａｔｕｓのｏｐｅｎｆｌｏｗメッセージ）を受信する。ＳＤＮコントローラは、当該ＶＭオンラインメッセージに基づいて、トポロジー管理情報に前記第３ＶＭのレコードを付加する。当該レコードには、当該第３ＶＭの仮想ＩＰアドレス、オンラインポート等の情報が含まれる。したがって、ＳＤＮコントローラは、異なるＤｏｍａｉｎを利用して異種のＨｙｐｅｒｖｉｓｏｒマネジャーを管理し、仮想ネットワークトポロジーにより仮想ネットワーク機器に対する管理を実施するため、ＳＤＮコントローラによる異種のＨｙｐｅｒｖｉｓｏｒへの管理がより効率的である。
【００１９】
本発明の好適な例において、第１ＶＭが第２ＶＭへメッセージを送信するとき、当該メッセージがまず第１ｖＳｗｉｔｃｈへ送信される。次に、第１ｖＳｗｉｔｃｈは、当該メッセージをＳＤＮコントローラへ送信できる。ＳＤＮコントローラは、当該メッセージを受信した後、メッセージのソースアドレスおよび宛先アドレスを解析することによって、当該メッセージのソース側仮想機器が第１ＶＭであり、対象側仮想機器が第２ＶＭであることを特定する。
【００２０】
ＳＤＮコントローラは、前記仮想ネットワークトポロジー情報に基づいて前記第１ＶＭと第２ＶＭとの互いに通信を許容するか否かを判定する。本発明のＳＤＮコントローラが異種となる第１Ｈｙｐｅｒｖｉｓｏｒマネジャーおよび第２Ｈｙｐｅｒｖｉｓｏｒマネジャーを統括管理するため、第１Ｈｙｐｅｒｖｉｓｏｒマネジャーによって管理される第１ＶＭと、第２Ｈｙｐｅｒｖｉｓｏｒマネジャーによって管理される第２ＶＭとが同一のＯｖｅｒｌａｙネットワークに配置されたときに、第１ＶＭと第２ＶＭとの互いに通信を許容する。
【００２１】
本発明の好適な例において、トポロジー管理情報は、一般的に、複数の仮想ルータ（ｖＲｏｕｔｅｒ）の情報を含み、各ｖＲｏｕｔｅｒが複数のサブネット（ｓｕｂｎｅｔ）に対応し、各ｓｕｂｎｅｔが複数のＶＭを含む。異なるｖＲｏｕｔｅｒの間で互いに通信不可能になるため、ＳＤＮコントローラは、メッセージを処理するとき、メッセージのソース側仮想機器と対象側仮想機器とが互いに通信できるか否かを判定する必要がある。詳細に言えば、ＳＤＮコントローラは、メッセージを処理するとき、トポロジー管理情報を検索して前記第１ＶＭおよび第２ＶＭが同一のｖＲｏｕｔｅｒに対応するか否かを判定する必要がある。前記第１ＶＭおよび第２ＶＭが同一のｖＲｏｕｔｅｒに対応する場合に、前記第１ＶＭと第２ＶＭとの互いに通信を許容することを判定する。そうでなければ、互いに通信ができない。
【００２２】
ＳＤＮコントローラが前記第１ＶＭと第２ＶＭとの互いに通信を許容すると判定したときに、さらに、ローカルに管理された仮想ネットワークトポロジー情報から、前記第２ＶＭに対応する仮想ＩＰアドレスと、前記第２ＶＭの前記第２ｖＳｗｉｔｃｈでのオンラインポートとを取得し、第２Ｄｏｍａｉｎにおいて第２ＶＭに対応する第２ｖＳｗｉｔｃｈのトンネルカプセル化情報を取得する。その後、ＳＤＮコントローラは、上記情報に基づいて第１フローテーブルを作成する。前記第１フローテーブルは、前記第２ＶＭの仮想ＩＰアドレス、オンラインポートおよび前記トンネルカプセル化情報を含む。ＳＤＮコントローラは、当該第１フローテーブルを第１ｖＳｗｉｔｃｈへ配る。第１ｖＳｗｉｔｃｈは、当該第１フローテーブルに基づいて、メッセージをカプセル化した後でＯｖｅｒｌａｙネットワークを介して第２ｖＳｗｉｔｃｈへ転送する。第２ｖＳｗｉｔｃｈは、カプセル化後のメッセージを受信した後、デカプセル化を行なってＳＤＮコントローラへ転送する。ＳＤＮコントローラは、さらに、自身によって管理される仮想ネットワークトポロジー情報から、第２ＶＭが第２ｖＳｗｉｔｃｈにオンラインするときに対応するオンラインポートを検索し、当該オンラインポートおよび第２ＶＭの仮想ＩＰアドレスに基づいて第２フローテーブルを作成して第２ｖＳｗｉｔｃｈへ配る。第２ｖＳｗｉｔｃｈは、当該第２フローテーブルに基づいて当該メッセージを第２ＶＭへ転送する。
【００２３】
外部ネットワークに依頼する転送経路よりも、本発明は、異種のＨｙｐｅｒｖｉｓｏｒの統括管理によりｖＳｗｉｔｃｈを跨ぐ転送手順を簡素化できる。これにより、転送効率が向上する。
【００２４】
本発明の目的、解決手段及びメリットが一層明瞭になるように、以下で図３の仮想ネットワークアーキテクチャ図に基づいて本発明の前記解決手段をさらに詳細に説明する。
【００２５】
配置された仮想ネットワークがＫＶＭ（Ｋｅｒｎｅｌ-ｂａｓｅｄ Ｖｉｒｔｕａｌ Ｍａｃｈｉｎｅ、カーネルベース仮想マシン）Ｈｙｐｅｒｖｉｓｏｒマネジャー３１、ｖＣｅｎｔｅｒ（ｖｉｒｔｕａｌ Ｃｅｎｔｅｒ、仮想センター）Ｈｙｐｅｒｖｉｓｏｒマネジャー３２、ＣＡＳ（Ｃｌｏｕｄ Ａｕｔｏｍａｔｉｏｎ Ｓｙｓｔｅｍ、クラウド自動化システム）Ｈｙｐｅｒｖｉｓｏｒマネジャー３３を含むと想定する。ＫＶＭ Ｈｙｐｅｒｖｉｓｏｒマネジャー３１は、ｖＳｗｉｔｃｈ １および対応するＫＶＭ Ｈｙｐｅｒｖｉｓｏｒ ３１０と、ｖＳｗｉｔｃｈ ２および対応するＫＶＭ Ｈｙｐｅｒｖｉｓｏｒ ３２０とをそれぞれ管理する。ｖＣｅｎｔｅｒ Ｈｙｐｅｒｖｉｓｏｒマネジャー３２は、ｖＳｗｉｔｃｈ ３および対応するＥＳＸｉ Ｈｙｐｅｒｖｉｓｏｒ ３３０と、ｖＳｗｉｔｃｈ ４および対応するＥＳＸｉ Ｈｙｐｅｒｖｉｓｏｒ ３４０とをそれぞれ管理する。ＣＡＳ Ｈｙｐｅｒｖｉｓｏｒマネジャー３３は、ｖＳｗｉｔｃｈ ５および対応するＣＡＳ Ｈｙｐｅｒｖｉｓｏｒ ３５０と、ｖＳｗｉｔｃｈ ６および対応するＣＡＳ Ｈｙｐｅｒｖｉｓｏｒ ３６０とをそれぞれ管理する。各Ｈｙｐｅｒｖｉｓｏｒは、ｎ個のＶＭを含む。
【００２６】
この例において、データセンター管理プラットフォーム３００は、１つのＡＰＰによりＳＤＮコントローラ３０００を管理し、当該ＳＤＮコントローラ３０００により、上記仮想ネットワーク機器に対してＤｏｍａｉｎ管理および仮想ネットワークトポロジー管理を統括して行なう。所謂Ｄｏｍａｉｎ管理とは、ＳＤＮコントローラが異なるタイプのＨｙｐｅｒｖｉｓｏｒマネジャーについて異なるＤｏｍａｉｎを作成することを指す。例えば、ＫＶＭ Ｈｙｐｅｒｖｉｓｏｒマネジャー３１がＫＶＭタイプのＤｏｍａｉｎ１に対応し、ｖＣｅｎｔｅｒ Ｈｙｐｅｒｖｉｓｏｒマネジャー３２がｖＣｅｎｔｅｒタイプのＤｏｍａｉｎ２に対応し、ＣＡＳ Ｈｙｐｅｒｖｉｓｏｒマネジャー３３がＣＡＳタイプのＤｏｍａｉｎ３に対応する。各Ｄｏｍａｉｎは、対応するＨｙｐｅｒｖｉｓｏｒマネジャーによって管理される仮想ネットワーク機器を管理し、各ｖＳｗｉｔｃｈのトンネルカプセル化情報、例えば、トンネルタイプ、仮想ＩＰアドレス等を記録する。ＳＤＮコントローラは、さらに、トポロジー管理情報を作成する。前記トポロジー管理情報は、ｎ個のｖＲｏｕｔｅｒ−ｎｅｔｗｏｒｋ−ｓｕｂｎｅｔ−ＶＭの管理アーキテクチャを含む。ｓｕｂｎｅｔがサブネットを表し、各サブネットが複数のＶＭを含み、複数のサブネットがサブネットセットを構成する。ｖＲｏｕｔｅｒが複数のサブネットに仮想的に接続し、同一のｖＲｏｕｔｅｒに対応するＶＭの互いに通信が許容される。トポロジー管理情報には、各ＶＭの仮想ＩＰアドレスおよびオンラインポートが記録される。その後、ＳＤＮコントローラは、トポロジー管理情報と仮想スイッチングに関与するあらゆるＤｏｍａｉｎとを関連づけ、トポロジー管理情報における関連配置パラメータを各Ｄｏｍａｉｎに対応するＨｙｐｅｒｖｉｓｏｒマネジャーへ配る。
【００２７】
図３において、ＫＶＭ Ｈｙｐｅｒｖｉｓｏｒ ３１で動作しているＶＭ １１がｖＣｅｎｔｅｒ Ｈｙｐｅｒｖｉｓｏｒ ３２で動作しているＶＭ ３１へメッセージを送信するとき、本発明に係る仮想ネットワーク管理方法に基づいてｖＳｗｉｔｃｈ １、ｖＳｗｉｔｃｈ ３、ＳＤＮコントローラ３０００の相互作用のフローは、図４に示される。
【００２８】
ＶＭ １１は、ＫＶＭ Ｈｙｐｅｒｖｉｓｏｒ ３１でのｖＳｗｉｔｃｈ １へＡＲＰ（Ａｄｄｒｅｓｓ Ｒｅｓｏｌｕｔｉｏｎ Ｐｒｏｔｏｃｏｌ、アドレス解決プロトコル）要求メッセージを送信する。当該ＡＲＰ要求メッセージは、ＶＭ １１の仮想ＩＰアドレスおよびＶＭ ３１の仮想ＩＰアドレスを含む。
【００２９】
ｖＳｗｉｔｃｈ １は、当該ＡＲＰ要求メッセージを受信した後、ｏｐｅｎｆｌｏｗプロトコルにより、当該ＡＲＰ要求メッセージをＳＤＮコントローラ３０００へ送信する。
【００３０】
ＳＤＮコントローラ３０００は、当該ＡＲＰ要求メッセージを受信した後、ＶＭ １１およびＶＭ ３１の仮想ＩＰアドレスに基づいて、ＶＭ １１およびＶＭ ３１のそれぞれに対応するｖＲｏｕｔｅｒを特定し、ＶＭ １１とＶＭ ３１との互いに通信を許容するか否かを判定する。ＶＭ ３１およびＶＭ １１が同一のｖＲｏｕｔｅｒに対応する場合に、ＶＭ １１とＶＭ ３１とが互いに通信できると見なされる。ＶＭ ３１またはＶＭ ３１に対応するゲートウェイのＭＡＣアドレスは、受信されたＡＲＰ要求メッセージに対する応答としする。この例では、ＶＭ ３１のＭＡＣアドレスを、受信されたＡＲＰ要求メッセージに対する応答として、当該ＭＡＣアドレスが付加されたＡＲＰ応答メッセージをｖＳｗｉｔｃｈ １へ配る。
【００３１】
ｖＳｗｉｔｃｈ １は、当該ＡＲＰ応答メッセージを受信した後、当該ＡＲＰ応答メッセージをＶＭ １１へ転送する。
【００３２】
ＶＭ １１は、ＡＲＰ応答メッセージにおけるＶＭ ３１のＭＡＣアドレスを取得し、ＩＰメッセージを作成する。当該ＩＰメッセージのソースＩＰアドレスがＶＭ １１の仮想ＩＰアドレスであり、宛先ＩＰアドレスがＶＭ ３１の仮想ＩＰアドレスであり、ソースＭＡＣアドレスがＶＭ １１のＭＡＣアドレスであり、宛先ＭＡＣアドレスがＶＭ ３１のＭＡＣアドレスである。そして、ＶＭ １１は、作成された当該ＩＰメッセージをｖＳｗｉｔｃｈ １へ送信する。
【００３３】
ｖＳｗｉｔｃｈ １は、当該ＩＰメッセージを受信した後、ｏｐｅｎｆｌｏｗプロトコルにより、当該ＩＰメッセージをＳＤＮコントローラ３０００へ送信する。
【００３４】
ＳＤＮコントローラ３０００は、当該ＩＰメッセージを受信した後、ＶＭ １１およびＶＭ ３１の仮想ＩＰアドレスに基づいてＶＭ １１およびＶＭ ３１のそれぞれに対応するｖＲｏｕｔｅｒを特定し、ＶＭ １１とＶＭ ３１との互いに通信を許容するか否かを判定する。ＶＭ ３１およびＶＭ １１が同一のｖＲｏｕｔｅｒに対応する場合に、ＶＭ １１とＶＭ ３１とが互いに通信できると見なされる。したがって、ｖＳｗｉｔｃｈ １へ第１フローテーブルを配ることができる。当該第１フローテーブルは、ＶＭ １１の仮想ＩＰアドレスであるソースＩＰアドレスと、ＶＭ ３１の仮想ＩＰアドレスである宛先ＩＰアドレスと、ＶＭ １１のＭＡＣアドレスであるソースＭＡＣアドレスと、ＶＭ ３１のＭＡＣアドレスである宛先ＭＡＣアドレスと、トンネルカプセル化情報とを含む。当該トンネルカプセル化情報には、カプセル化のタイプがＶＸＬＡＮであり、ｖＳｗｉｔｃｈ１の仮想ＩＰアドレスおよびｖＳｗｉｔｃｈ３の仮想ＩＰアドレスも含まれる。
【００３５】
ｖＳｗｉｔｃｈ １は、当該第１フローテーブルを受信した後、第１フローテーブルに基づいて当該ＩＰメッセージをＶＸＬＡＮカプセル化してｖＳｗｉｔｃｈ ３へ送信する。
【００３６】
ｖＳｗｉｔｃｈ ３は、ｖＳｗｉｔｃｈ １から送信されたＶＸＬＡＮメッセージを受信すると、当該ＶＸＬＡＮメッセージに対してＶＸＬＡＮデカプセル化を行ってその中のＩＰメッセージを取得し、その後、当該ＩＰメッセージをＳＤＮコントローラ３０００へ送信する。
【００３７】
ＳＤＮコントローラ３０００は、ＩＰメッセージにおける宛先ＩＰアドレスに基づいて宛先ＶＭ３１に対応するｖＳｗｉｔｃｈ ３のオンラインポートを検索し、ｖＳｗｉｔｃｈ ３へ第２フローテーブルを配る。当該第２フローテーブルには、ＶＭ １１の仮想ＩＰアドレスであるソースＩＰアドレス、ＶＭ ３１の仮想ＩＰアドレスである宛先ＩＰアドレス、ＶＭ １１のＭＡＣアドレスであるソースＭＡＣアドレス、ＶＭ ３１のＭＡＣアドレスである宛先ＭＡＣアドレス、およびＶＭ ３１に対応するオンラインポートが含まれる。
【００３８】
ｖＳｗｉｔｃｈ ３は、ＳＤＮコントローラ３０００から配られた第２フローテーブルを受信した後、当該第２フローテーブルに基づいて当該ＩＰメッセージをＶＭ ３１へ転送することにより、ＶＭ １１とＶＭ ３１との互いに通信を実現する。
【００３９】
これにより、本発明は、異種のＨｙｐｅｒｖｉｓｏｒを統括管理することにより、異種のＨｙｐｅｒｖｉｓｏｒにおけるＶＭｓがＯｖｅｒｌａｙネットワークを介して互いに通信するため、転送手順が簡素化され、転送効率が向上し、管理の難易度が低減される。
【００４０】
基本的に同じ発想に基づいて、本発明は、さらに仮想ネットワーク管理装置を提供する。前記装置は、ソフトウェア、ハードウェア、または、ソフト・ハードウェア組合わせの方式にて実現される。ソフトウェアで実現されることを例にすると、本発明の仮想ネットワーク管理装置は、論理意味での装置としする。それは、ＳＤＮコントローラにおけるＣＰＵが記憶媒体での対応する機器読み取り可能プログラム命令を読み取ってから実行することにより形成される。
【００４１】
図５は、本発明の一例の仮想ネットワーク管理装置のハードウェア構造を模式的に示すブロック図である。前記仮想ネットワーク管理装置は、仮想ネットワークにおけるＳＤＮコントローラである。図５に示すように、当該仮想ネットワーク管理装置は、中央処理装置（ＣＰＵ）のようなプロセッサ５０１、内部バス５０２、ネットワークインターフェース５０３および非一時的記憶媒体５０４を備える。プロセッサ５０１、ネットワークインターフェース５０３および非一時的記憶媒体５０４は、内部バス５０２を介して互いに通信する。非一時的記憶媒体５０４には、仮想ネットワーク管理論理６００に対応する機器の実行可能な命令が記憶される。プロセッサ５０１は、非一時的記憶媒体５０４に記憶された仮想ネットワーク管理論理６００に対応する機器の実行可能な命令を読み取って実行することにより、仮想制御管理装置の各モジュールの機能を果たせる。
【００４２】
図６は、仮想ネットワーク管理論理の各機能モジュールを示すブロック図である。図６に示すように、機能上に分けると、当該仮想ネットワーク管理論理６００は、第１作成ユニット６０１、第２作成ユニット６０２、情報配りユニット６０３、転送制御ユニット６０４、第１オンラインユニット６０５および第２オンラインユニット６０６を備える。
【００４３】
第１作成ユニット６０１は、仮想ネットワークにおける第１ＶＭと第１ｖＳｗｉｔｃｈとを管理する第１Ｈｙｐｅｒｖｉｓｏｒマネジャーおよび第２ＶＭと第２ｖＳｗｉｔｃｈとを管理する第２Ｈｙｐｅｒｖｉｓｏｒマネジャーについて、第１Ｄｏｍａｉｎおよび第２Ｄｏｍａｉｎをそれぞれ作成し、前記第１Ｈｙｐｅｒｖｉｓｏｒマネジャーと前記第２Ｈｙｐｅｒｖｉｓｏｒマネジャーとが互いに異種構造である。
【００４４】
第２作成ユニット６０２は、前記仮想ネットワークのトポロジーに基づいてトポロジー管理情報を作成し、前記トポロジー管理情報が前記第１計算領域に対する第１仮想ネットワークトポロジー情報、前記第２計算領域に対する第２仮想ネットワークトポロジー情報、前記第１ｖＳｗｉｔｃｈに対する第１配置情報および前記第２ｖＳｗｉｔｃｈに対する第２配置情報を含む。
【００４５】
情報配りユニット６０３は、前記トポロジー管理情報を前記第１Ｄｏｍａｉｎおよび第２Ｄｏｍａｉｎのそれぞれと関連付けさせ、トポロジー管理情報における第１配置情報および第２配置情報を第１ｖＳｗｉｔｃｈおよび第２ｖＳｗｉｔｃｈへそれぞれ配る。こうして、前記第１ｖＳｗｉｔｃｈおよび前記第２ｖＳｗｉｔｃｈがそれぞれ前記第１配置情報および前記第２配置情報に基づいて前記第１ＶＭと前記第２ＶＭの間のメッセージ転送を実施する。
【００４６】
好ましくは、前記装置６００は、第１オンラインユニット６０５をさらに備える。第１オンラインユニット６０５は、第３ｖＳｗｉｔｃｈが第１Ｈｙｐｅｒｖｉｓｏｒマネジャーにオンラインするとき、前記第３ｖＳｗｉｔｃｈから送信されたｖＳｗｉｔｃｈオンラインメッセージを受信し、前記ｖＳｗｉｔｃｈオンラインメッセージに基づいて前記第１Ｈｙｐｅｒｖｉｓｏｒマネジャーに対応する第１Ｄｏｍａｉｎにおいて前記第３ｖＳｗｉｔｃｈのレコードを作成する。
【００４７】
好ましくは、前記装置６００は、第２オンラインユニット６０６をさらに備える。第２オンラインユニット６０６は、第３ＶＭが第１Ｈｙｐｅｒｖｉｓｏｒマネジャーにオンラインするとき、前記第３ＶＭに対応するｖＳｗｉｔｃｈから送信されたＶＭオンラインメッセージを受信し、前記ＶＭオンラインメッセージに基づいてトポロジー管理情報に前記第３ＶＭのレコードを付加する。
【００４８】
好ましくは、前記装置６００は、転送制御ユニット６０４をさらに備え。前記転送制御ユニット６０４は、第１受信サブユニット６０４１、互いに通信判定サブユニット６０４２、第２受信サブユニット６０４４及び第２作成サブユニット６０４５を備える。
【００４９】
第１受信サブユニット６０４１は、前記第１ｖＳｗｉｔｃｈから送信された、ソース側仮想機器が第１ＶＭであり且つ対象側仮想機器が第２ＶＭであるメッセージを受信する。
【００５０】
互いに通信判定サブユニット６０４２は、前記第１仮想ネットワークトポロジー情報と前記第２仮想ネットワークトポロジー情報とに基づいて、前記第１ＶＭと第２ＶＭとの互いに通信を許容するか否かを判定する。
【００５１】
第１作成サブユニット６０４３は、前記第１ＶＭと第２ＶＭとの互いに通信を許容したときに、第１フローテーブルを作成して前記第１ｖＳｗｉｔｃｈへ配る。こうして、前記第１ｖＳｗｉｔｃｈは、前記メッセージを前記第２ｖＳｗｉｔｃｈへ送信する。
【００５２】
第２受信サブユニット６０４４は、第２ｖＳｗｉｔｃｈから送信された前記メッセージを受信する。
【００５３】
第２作成サブユニット６０４５は、第２受信サブユニット６０４４から受信された前記メッセージに基づいて第２フローテーブルを作成し、前記第２フローテーブルを第２ｖＳｗｉｔｃｈへ送信する。こうして、前記第２ｖＳｗｉｔｃｈは、前記第２フローテーブルに基づいて前記メッセージを第２ＶＭへ配る。
【００５４】
好ましくは、前記互いに通信判定サブユニット６０４２は、前記第１仮想ネットワークトポロジー情報および前記第２仮想ネットワークトポロジー情報を検索することにより、前記第１ＶＭと第２ＶＭが同一のｖＲｏｕｔｅｒに対応するか否かを判定する。前記第１ＶＭおよび前記第２ＶＭが同一の仮想ルータに対応する場合に、前記第１ＶＭと第２ＶＭとの互いに通信を許容する。
【００５５】
好ましくは、前記第１作成サブユニット６０４３は、前記第２仮想ネットワークトポロジー情報から、前記第２ＶＭに対応する仮想ＩＰアドレスと、前記第２ＶＭの前記第２ｖＳｗｉｔｃｈでのオンラインポートとを取得し、前記第２配置情報から第２ＶＭに対応する第２ｖＳｗｉｔｃｈのトンネルカプセル化情報を取得し、第１フローテーブルを作成する。前記第１フローテーブルは、前記第２ＶＭの仮想ＩＰアドレス、オンラインポートおよび前記トンネルカプセル化情報を含む。
【００５６】
好ましくは、前記第２作成サブユニット６０４５は、第２フローテーブルを作成する。前記第２フローテーブルは、前記第２ＶＭのオンラインポートを含む。
【００５７】
これから分かるように、本発明は、異種のＨｙｐｅｒｖｉｓｏｒマネジャーについて異なるＤｏｍａｉｎを作成し、トポロジー管理情報により複数のＤｏｍａｉｎの仮想ネットワークトポロジーを管理することにより、ＳＤＮコントローラが異種のＨｙｐｅｒｖｉｓｏｒマネジャーを統合管理し、異種のＨｙｐｅｒｖｉｓｏｒにおけるＶＭがＯｖｅｒｌａｙネットワークを介して互いに通信するため、転送手順が簡素化され、転送効率が向上し、管理の難易度が低減される。
【００５８】
上記したのは、本発明の好適な実施例に過ぎず、本発明を制限するためのものではない。本発明の要旨および原則内でなされた如何なる変更、均等物による置換、改良等も、本発明の保護範囲内に含まれる。
【図１】
0006574304.tif 000002
【図２】
0006574304.tif 000003
【図３】
0006574304.tif 000004
【図４】
0006574304.tif 000005
【図５】
0006574304.tif 000006
【図６】
0006574304.tif 000007