特許第6574304号(P6574304)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ニュー・エイチ・3・シィ・テクノロジーズ・カンパニー・リミテッドの特許一覧

<>
  • 特許6574304-仮想ネットワーク管理 図000002
  • 特許6574304-仮想ネットワーク管理 図000003
  • 特許6574304-仮想ネットワーク管理 図000004
  • 特許6574304-仮想ネットワーク管理 図000005
  • 特許6574304-仮想ネットワーク管理 図000006
  • 特許6574304-仮想ネットワーク管理 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6574304
(24)【登録日】2019年8月23日
(45)【発行日】2019年9月11日
(54)【発明の名称】仮想ネットワーク管理
(51)【国際特許分類】
   H04L 12/70 20130101AFI20190902BHJP
   H04L 12/717 20130101ALI20190902BHJP
【FI】
   H04L12/70 D
   H04L12/717
【請求項の数】15
【全頁数】15
(21)【出願番号】特願2018-510364(P2018-510364)
(86)(22)【出願日】2016年8月17日
(65)【公表番号】特表2018-525937(P2018-525937A)
(43)【公表日】2018年9月6日
(86)【国際出願番号】CN2016095687
(87)【国際公開番号】WO2017032251
(87)【国際公開日】20170302
【審査請求日】2018年2月23日
(31)【優先権主張番号】201510527718.0
(32)【優先日】2015年8月25日
(33)【優先権主張国】CN
(73)【特許権者】
【識別番号】517385553
【氏名又は名称】ニュー・エイチ・3・シィ・テクノロジーズ・カンパニー・リミテッド
【氏名又は名称原語表記】NEW H3C TECHNOLOGIES CO., LTD.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】崔 凱
(72)【発明者】
【氏名】牟 彦
【審査官】 鈴木 肇
(56)【参考文献】
【文献】 米国特許出願公開第2014/0056302(US,A1)
【文献】 米国特許出願公開第2015/0139238(US,A1)
【文献】 特開2014−182576(JP,A)
【文献】 特表2012−525017(JP,A)
【文献】 通信キャリア市場に向けたNECのSDN/NFV,BUSINESS COMMUNICATION 第52巻 第3号,日本,株式会社ビジネスコミュニケーション社,2015年 3月,Vol.52, No.3,pp.84-85
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00−12/955
H04L 13/00−13/18
H04L 29/00−29/14
(57)【特許請求の範囲】
【請求項1】
SDN(Software Defined Network)コントローラが、仮想ネットワークにおける、第1仮想マシン(VM)および第1仮想スイッチ(vSwitch)を管理する第1ハイパーバイザー(Hypervisor)マネジャーと、第2VMおよび第2vSwitchを管理する第2Hypervisorマネジャーとについて、第1計算領域および第2計算領域をそれぞれ作成し、前記第1Hypervisorマネジャーおよび前記第2Hypervisorマネジャーが異種構造であることと、
前記SDNコントローラが前記仮想ネットワークのトポロジーに基づいて、前記第1計算領域に対する第1仮想ネットワークトポロジー情報と前記第2計算領域に対する第2仮想ネットワークトポロジー情報と前記第1vSwitchに対する第1配置情報と前記第2vSwitchに対する第2配置情報とを含むトポロジー管理情報を作成することと、
前記SDNコントローラが前記トポロジー管理情報を前記第1計算領域および前記第2計算領域のそれぞれと関連付けさせることと、
前記第1vSwitchおよび前記第2vSwitchがそれぞれ前記第1配置情報および前記第2配置情報に基づいて前記第1VMと前記第2VMの間のメッセージ転送を実施するように、前記SDNコントローラが前記トポロジー管理情報における前記第1配置情報および第2配置情報を前記第1vSwitchおよび第2vSwitchへそれぞれ配ることと、を含むことを特徴とする仮想ネットワーク管理方法。
【請求項2】
前記トポロジー管理情報における前記第1配置情報および第2配置情報を前記第1vSwitchおよび第2vSwitchへそれぞれ配ることは、
前記第1Hypervisorマネジャーが前記トポロジー管理情報における前記第1配置情報を前記第1vSwitchへ配るように、前記SDNコントローラが前記トポロジー管理情報を前記第1Hypervisorマネジャーへ配ることと、
前記第2Hypervisorマネジャーが前記トポロジー管理情報における前記第2配置情報を前記第2vSwitchへ配るように、前記SDNコントローラが前記トポロジー管理情報を前記第2Hypervisorマネジャーへ配ることと、を含むことを特徴とする請求項1に記載の仮想ネットワーク管理方法。
【請求項3】
第3vSwitchが第1Hypervisorマネジャーにオンラインするとき、前記SDNコントローラが前記第3vSwitchから送信されたvSwitchオンラインメッセージを受信することと、
前記SDNコントローラが前記vSwitchオンラインメッセージに基づいて前記第1Hypervisorマネジャーに対応する前記第1計算領域において前記第3vSwitchのレコードを作成することと、を更に含むことを特徴とする請求項1に記載の仮想ネットワーク管理方法。
【請求項4】
第3VMが第1Hypervisorマネジャーにオンラインするとき、前記SDNコントローラが前記第3VMに対応するvSwitchから送信されたVMオンラインメッセージを受信することと、
前記SDNコントローラが前記VMオンラインメッセージに基づいて前記トポロジー管理情報に前記第3VMのレコードを付加することと、を更に含むことを特徴とする請求項1に記載の仮想ネットワーク管理方法。
【請求項5】
前記第1vSwitchから送信された、ソース側仮想機器が前記第1VMであり且つ対象側仮想機器が前記第2VMであるメッセージを受信した場合には、前記SDNコントローラが前記第1仮想ネットワークトポロジー情報と前記第2仮想ネットワークトポロジー情報とに基づいて前記第1VMと前記第2VMとの互いに通信を許容するか否かを判定することと、
前記第1VMと前記第2VMとの互いに通信を許容すると判定した場合に、前記SDNコントローラが第1フローテーブルを作成することと、
前記第1vSwitchが前記第1フローテーブルに基づいて前記メッセージを前記第2vSwitchへ送信するように、前記SDNコントローラが前記第1フローテーブルを前記第1vSwitchへ配ることと、
前記SDNコントローラが前記第2vSwitchからメッセージを受信したときに第2フローテーブルを作成することと、
前記第2vSwitchが前記第2フローテーブルに基づいて前記メッセージを前記第2VMへ送信するように、前記SDNコントローラが前記第2フローテーブルを前記第2vSwitchへ配ることと、を更に含むことを特徴とする請求項1に記載の仮想ネットワーク管理方法。
【請求項6】
前記第1VMと前記第2VMとの互いに通信を許容するか否かを判定することは、
前記SDNコントローラが前記第1仮想ネットワークトポロジー情報および前記第2仮想ネットワークトポロジー情報を検索することにより、前記第1VMおよび前記第2VMが同一の仮想ルータに対応するか否かを判定することと、
前記第1VMおよび前記第2VMが同一の仮想ルータに対応する場合に、前記SDNコントローラが前記第1VMと第2VMとの互いに通信を許容すると判定することと、を含むことを特徴とする請求項5に記載の仮想ネットワーク管理方法。
【請求項7】
前記第1フローテーブルを作成することは、
前記SDNコントローラが前記第2VMの仮想IPアドレスと、前記第2VMの第2vSwitchでのオンラインポートとを前記第2仮想ネットワークトポロジー情報から取得することと、
前記SDNコントローラが前記第2VMに対応する第2vSwitchのトンネルカプセル化情報を前記第2配置情報から取得することと、
前記SDNコントローラが前記第2VMの仮想IPアドレスとオンラインポートと前記トンネルカプセル化情報とを含む第1フローテーブルを作成することと、を含むことを特徴とする請求項5に記載の仮想ネットワーク管理方法。
【請求項8】
前記第2フローテーブルを作成することは、
前記SDNコントローラが前記第2VMの仮想IPアドレスとオンラインポートとを含む第2フローテーブルを作成することを含むことを特徴とする請求項7に記載の仮想ネットワーク管理方法。
【請求項9】
仮想ネットワーク管理装置であって、
プロセッサと、仮想ネットワーク管理論理に対応する機器の実行可能な命令を記憶する非一時的記憶媒体とを備え、
前記プロセッサは、前記機器の実行可能な命令を実行することにより、
仮想ネットワークにおける、第1仮想マシン(VM)および第1仮想スイッチ(vSwitch)を管理する第1ハイパーバイザー(Hypervisor)マネジャーと、第2VMおよび第2vSwitchを管理する第2Hypervisorマネジャーとについて、第1計算領域および第2計算領域をそれぞれ作成し、前記第1Hypervisorマネジャーおよび前記第2Hypervisorマネジャーが異種構造であり、
前記仮想ネットワークのトポロジーに基づいて、前記第1計算領域に対する第1仮想ネットワークトポロジー情報と前記第2計算領域に対する第2仮想ネットワークトポロジー情報と前記第1vSwitchに対する第1配置情報と前記第2vSwitchに対する第2配置情報とを含むトポロジー管理情報を作成し、
前記トポロジー管理情報を前記第1計算領域および前記第2計算領域のそれぞれと関連付けさせ、
前記第1vSwitchおよび前記第2vSwitchがそれぞれ前記第1配置情報および前記第2配置情報に基づいて前記第1VMと前記第2VMの間のメッセージ転送を実施するように、前記トポロジー管理情報における前記第1配置情報および第2配置情報を前記第1vSwitchおよび第2vSwitchへそれぞれ配ることを特徴とする仮想ネットワーク管理装置。
【請求項10】
前記機器の実行可能な命令を実行することにより、前記プロセッサは、さらに、
第3vSwitchが第1Hypervisorマネジャーにオンラインするとき、前記第3vSwitchから送信されたvSwitchオンラインメッセージを受信し、
前記vSwitchオンラインメッセージに基づいて前記第1Hypervisorマネジャーに対応する前記第1計算領域において前記第3vSwitchのレコードを作成することを特徴とする請求項9に記載の仮想ネットワーク管理装置。
【請求項11】
前記機器の実行可能な命令を実行することにより、前記プロセッサは、さらに、
第3VMが第1Hypervisorマネジャーにオンラインするとき、前記第3VMに対応するvSwitchから送信されたVMオンラインメッセージを受信し、
前記VMオンラインメッセージに基づいて前記トポロジー管理情報に前記第3VMのレコードを付加することを特徴とする請求項9に記載の仮想ネットワーク管理装置。
【請求項12】
前記機器の実行可能な命令を実行することにより、前記プロセッサは、さらに、
前記第1vSwitchから送信された、ソース側仮想機器が前記第1VMであり且つ対象側仮想機器が前記第2VMであるメッセージを受信した場合には、前記第1仮想ネットワークトポロジー情報と前記第2仮想ネットワークトポロジー情報とに基づいて前記第1VMと前記第2VMとの互いに通信を許容するか否かを判定し、
前記第1VMと前記第2VMとの互いに通信を許容すると判定した場合に、第1フローテーブルを作成し、
前記第1vSwitchが前記第1フローテーブルに基づいて前記メッセージを前記第2vSwitchへ送信するように、前記第1フローテーブルを前記第1vSwitchへ配り、
前記第2vSwitchからメッセージを受信したときに第2フローテーブルを作成し、
前記第2vSwitchが前記第2フローテーブルに基づいて前記メッセージを前記第2VMへ送信するように、前記第2フローテーブルを前記第2vSwitchへ配ることを特徴とする請求項9に記載の仮想ネットワーク管理装置。
【請求項13】
前記機器の実行可能な命令を実行することにより、前記プロセッサは、さらに、
前記第1仮想ネットワークトポロジー情報および前記第2仮想ネットワークトポロジー情報を検索することにより、前記第1VMおよび前記第2VMが同一の仮想ルータに対応するか否かを判定し、
前記第1VMおよび前記第2VMが同一の仮想ルータに対応する場合に、前記第1VMと第2VMとの互いに通信を許容すると判定することを特徴とする請求項12に記載の仮想ネットワーク管理装置。
【請求項14】
前記機器の実行可能な命令を実行することにより、前記プロセッサは、さらに、
前記第2VMの仮想IPアドレスと、前記第2VMの第2vSwitchでのオンラインポートとを前記第2仮想ネットワークトポロジー情報から取得し、
前記第2VMに対応する第2vSwitchのトンネルカプセル化情報を前記第2配置情報から取得し、
前記第2VMの仮想IPアドレスとオンラインポートと前記トンネルカプセル化情報とを含む第1フローテーブルを作成することを特徴とする請求項12に記載の仮想ネットワーク管理装置。
【請求項15】
前記機器の実行可能な命令を実行することにより、前記プロセッサは、さらに、
前記第2VMの仮想IPアドレスとオンラインポートとを含む第2フローテーブルを作成することを特徴とする請求項14に記載の仮想ネットワーク管理装置。
【発明の詳細な説明】
【背景技術】
【0001】
データセンターのネットワーク仮想化技術では、複数の異種のハイパーバイザー(Hypervisor)を利用して異なる物理マシンおよびVM(Virtual Machine、仮想マシン)へアクセスを協調できる。Hypervisorに配置された仮想スイッチ(Virtual Switch、vSwitch)は、VM間、並びに、VMと外部ネットワークの間の通信能力を与えている。これらのHypervisorおよびvSwitcheは、異なるHypervisorマネジャーによって管理され得る。異なるHypervisorマネジャーによって管理されるvSwitchが異なる方式によりオンラインするため、異なるHypervisorマネジャーは、異なるSDN (Soft Defined Network、ソフトウェア定義ネットワーク)コントローラまたはSDNコントローラクラスタによって制御される。しかし、異なるSDNコントローラ同士が互いに相手のオーバレイ(Overlay)ネットワークを感知できないため、異種のHypervisorsにおいて動作している複数のVMの間は、直接Overlayネットワークを介して通信できない恐れがある。
【図面の簡単な説明】
【0002】
図1】仮想ネットワーク管理のネットワーキングの模式図である。
図2】本発明の一例の仮想ネットワーク管理方法を示すフローチャートである。
図3】本発明の一例の仮想ネットワークのアーキテクチャを示す模式図である。
図4】本発明の一例の仮想スイッチとSDNコントローラとの相互作用のフローを示す模式図である。
図5】本発明の一例の仮想ネットワーク管理装置のハードウェア構造を示す模式図である。
図6】本発明の一例の仮想ネットワーク管理論理の機能モジュールを示すブロック図である。
【発明を実施するための形態】
【0003】
図1は、よく用いられる仮想ネットワーク管理のネットワーキングの模式図である。図1に示すように、データセンター管理では、複数の異なるアーキテクチャのHypervisorsを利用してVMを管理や制御することで、ユーザへ計算サービスなどの各種のサービスを提供する。異種のHypervisorsは、異なるHypervisorマネジャーによって管理される。例えば、Hypervisorマネジャー1001は、Hypervisor 110を管理し、Hypervisorマネジャー1002は、Hypervisor 120を管理する。ネットワークサービスを提供することに関連する転送エンジンは、一般的にHypervisor110、120に実装される。当該転送エンジンは、vSwitch(virtual Switch)と呼称される。vSwitchが異なるHypervisorにおいて異なる方式によりオンラインするため、データセンター管理には、異種のHypervisorを管理するために異なるSDN コントローラを必要とする可能性がある。各HypervisorにおけるVMは、通常、当該Hypervisorに対応するvSwitchを介して相互作用する。且つ、各vSwitchが複数のVMに接続する。
【0004】
しかし、vSwitch1に所属するVM1がvSwitch2に所属するVM2へメッセージを送信するとき、VM1の所在するHypervisor 110およびVM2の所在するHypervisor 120がそれぞれ異なるSDN コントローラ101および102によって管理されており、異なるSDNコントローラが相手のOverlayネットワークを互いに感知できないため、VM1とVM2とは、直接Overlayネットワークを介して通信できない。1つの解決方法として、従来のネットワークを利用してメッセージ転送を行う。その転送経路は、図1に点線矢印で示すように、VM1→vSwitch1→VTEP Router 10→VTEP Router 20→vSwitch2→VM2である。ここでのVTEP Router 10およびVTEP Router20は、ゲートウェイとする。当該転送経路は、SDN コントローラ101とSDN コントローラ102とで別個に配置する必要がある。上記転送方式が複雑であるため、メッセージの転送効率が低下してしまう。また、データセンター管理にしては、異なるSDNコントローラが異なるAPP(Application、応用)によって管理される必要がある。例えば、APP 1011がSDNコントローラ101を管理し、APP 1012がSDNコントローラ102を管理する。それは、データセンターの管理の難易度の増大に繋がる。
【0005】
上記問題を解決すべく、本発明の仮想ネットワーク管理方法及び装置は、異種のHypervisorを管理するマネジャーについて異なる計算領域(Domain)を作成し、トポロジー管理情報で複数のDomainの仮想ネットワークトポロジーを管理することにより、SDNコントローラが異種のHypervisorマネジャーを統括制御可能になるため、異種のHypervisorにおけるVMsがOverlayネットワークを介して互いに通信可能になる。このように、転送手順が簡素化され、転送効率が向上し、管理の難易度が低減される。
【0006】
本文では、異種のHypervisorとは、異なるメーカで提供されるHypervisorを指し、異なる方式を用いてサーバの仮想化を実現する。例えば、典型的なKVM HypervisorおよびvCenter Hypervisorが仮想化を実施する技術が相違するため、与えられるユーザUIおよび操作ステップも異なる。異なるメーカで提供される異種のHypervisorマネジャーの仮想化方式も異なるため、1種のHypervisorマネジャーが1種の特定のタイプのHypervisorのみを管理する。ここでの計算領域は、異なるタイプのHypervisorマネジャーのエンティティを管理可能になる。当該エンティティは、トポロジー情報パラメータを同じ方式により異なるタイプのHypervisorマネジャーの仮想スイッチに配置することをサポートするため、異種のHypervisorに対する統括管理を実現する。
【0007】
図2は、本発明の一例の仮想ネットワーク管理方法を示すフローチャートである。前記方法は、仮想ネットワークにおけるSDNコントローラに適用し、ステップ201から203を含む。
【0008】
ステップ201では、前記SDNコントローラは、第1仮想マシン(VM)および第1仮想スイッチ(vSwitch)を管理する第1Hypervisorマネジャーと、第2VMおよび第2vSwitchを管理する第2Hypervisorマネジャーとについて、第1Domainおよび第2Domainをそれぞれ作成し、前記第1Hypervisorマネジャーおよび前記第2Hypervisorマネジャーが互いに異種構造である。
【0009】
本発明の好適な例において、仮想ネットワークの構築時に、SDNコントローラは、異なるDomainによって異なるHypervisorマネジャーを制御する。即ち、SDNコントローラは、第1Hypervisorマネジャーための第1Domainおよび第2Hypervisorマネジャーための第2Domainをそれぞれ作成する。
【0010】
ステップ202では、ステップ202では、前記SDNコントローラは、仮想ネットワークのトポロジーに基づいて第1仮想ネットワークトポロジー情報、第2仮想ネットワークトポロジー情報、第1配置情報および第2配置情報を含むトポロジー管理情報を作成する。
【0011】
この例において、SDNコントローラは、さらに、予め配置された仮想ネットワークトポロジーに基づいてトポロジー管理情報を作成する。当該トポロジー管理情報は、メッセージ転送に関与する第1Domainおよび第2Domainの仮想ネットワークトポロジーを含む。例えば、第1Domainの仮想ネットワークトポロジーは、第1仮想ネットワークトポロジー情報と呼称されてもよく、第1VMに対応する仮想IPアドレスおよびオンラインポート等を含む。第2Domainの仮想ネットワークトポロジーは、第2仮想ネットワークトポロジー情報と呼称されてもよく、第2VMに対応する仮想IPアドレスおよびオンラインポート等を含む。また、当該トポロジー管理情報には、異種のHypervisorのために予め設定された異なるvSwitch配置情報がさらに含まれる。例えば、第1Hypervisorマネジャーによって管理されるvSwitchのために設定された配置情報は、第1配置情報と呼称されてもよく、第1vSwitchの名称、転送モード、仮想MACアドレスおよびVXLAN等の内容を含む。第2Hypervisorマネジャーによって管理されるvSwitchのために設定された配置情報は、第2配置情報と呼称されてもよく、通常、第2vSwitchの名称、転送モード、仮想MACアドレスおよびVXLAN等の内容を含む。本発明の好適な例において、当該トポロジー管理情報を作成することは、VDS(Virtual Distributed Switch、仮想分散型スイッチ)によっても実現される。
【0012】
ステップ203では、前記SDNコントローラは、前記トポロジー管理情報を前記第1Domainおよび第2Domainのそれぞれと関連付けさせた後、前記トポロジー管理情報における前記第1配置情報および第2配置情報を前記第1vSwitchおよび第2vSwitchへそれぞれ配る。こうして、前記第1vSwitchおよび前記第2vSwitchがそれぞれ前記第1配置情報および前記第2配置情報に基づいて前記第1VMと前記第2VMの間のメッセージ転送を実施する。
【0013】
この例において、SDNコントローラは、前記トポロジー管理情報を前記第1Domainおよび第2Domainのそれぞれと関連付けさせてから、トポロジー管理情報における第1配置情報および第2配置情報を第1Domain中の第1Hypervisorマネジャーによって管理される第1vSwitchと、第2Domain中の第2Hypervisorマネジャーによって管理される第2vSwitchとへそれぞれ配る。当該第1vSwitchは、当該第1配置情報に基づいて第1VM上のメッセージ転送を指導し、当該第2vSwitchは、当該第2配置情報に基づいて第2VM上のメッセージ転送を指導する。
【0014】
別の例において、SDNコントローラは、前記トポロジー管理情報を前記第1Domainおよび第2Domainのそれぞれと関連付けさせた後、前記トポロジー管理情報を第1Hypervisorマネジャーおよび第2Hypervisorマネジャーへ配る。そして、第1Hypervisorマネジャーは、受信された前記トポロジー管理情報における第1配置情報を自身によって管理される第1vSwitchへ配り、第2Hypervisorマネジャーは、受信された前記トポロジー管理情報における第2配置情報を自身によって管理される第2vSwitchへ配る。前記第1vSwitchおよび第2vSwitchは、それぞれ前記第1配置情報および前記第2配置情報に基づいて、前記第1VMと前記第2VMの間のメッセージ転送を実施する。
【0015】
したがって、SDNコントローラは、前記トポロジー管理情報に基づいて前記第1vSwitchおよび前記第2vSwitchを制御する。こうして、異種のHypervisorに位置する前記第1VMおよび前記第2VMは、前記第1vSwitchおよび前記第2vSwitchを介して互いに通信する。
【0016】
これにより、本発明は、異種のHypervisorマネジャーについて異なるDomainを作成し、トポロジー管理情報に基づいて複数のDomainの仮想ネットワークトポロジーを記録することにより、SDNコントローラが異種のHypervisorマネジャーを統括制御するため、異種のHypervisorで動作しているVMsがOverlayネットワークを介して互いに通信する。このため、転送手順が簡素化され、転送効率が向上し、管理の難易度が低減される。
【0017】
仮想ネットワークの構築が完了した後で新たなvSwitchまたはVMオンラインがある時、SDNコントローラは、vSwitchのフィードバック情報に基づいて新たにオンラインされた仮想ネットワーク機器の情報を直ちに獲得する。
【0018】
詳細に言えば、第3vSwitchが第1Hypervisorマネジャーにオンラインするとき、SDNコントローラは、第3vSwitchから送信されたopenflow接続要求およびvSwitchオンラインメッセージ(例えば、スイッチが増加するopenflowメッセージ)を受信する。その後、SDNコントローラは、前記vSwitchオンラインメッセージに基づいて、第1Hypervisorマネジャーに対応する第1Domainにおいて前記第3vSwitchのレコードを作成する。第3VMが第1Hypervisorマネジャーにオンラインするとき、SDNコントローラは、前記第3VMに対応するvSwitchから送信されたVMオンラインメッセージ(例えばportstatusのopenflowメッセージ)を受信する。SDNコントローラは、当該VMオンラインメッセージに基づいて、トポロジー管理情報に前記第3VMのレコードを付加する。当該レコードには、当該第3VMの仮想IPアドレス、オンラインポート等の情報が含まれる。したがって、SDNコントローラは、異なるDomainを利用して異種のHypervisorマネジャーを管理し、仮想ネットワークトポロジーにより仮想ネットワーク機器に対する管理を実施するため、SDNコントローラによる異種のHypervisorへの管理がより効率的である。
【0019】
本発明の好適な例において、第1VMが第2VMへメッセージを送信するとき、当該メッセージがまず第1vSwitchへ送信される。次に、第1vSwitchは、当該メッセージをSDNコントローラへ送信できる。SDNコントローラは、当該メッセージを受信した後、メッセージのソースアドレスおよび宛先アドレスを解析することによって、当該メッセージのソース側仮想機器が第1VMであり、対象側仮想機器が第2VMであることを特定する。
【0020】
SDNコントローラは、前記仮想ネットワークトポロジー情報に基づいて前記第1VMと第2VMとの互いに通信を許容するか否かを判定する。本発明のSDNコントローラが異種となる第1Hypervisorマネジャーおよび第2Hypervisorマネジャーを統括管理するため、第1Hypervisorマネジャーによって管理される第1VMと、第2Hypervisorマネジャーによって管理される第2VMとが同一のOverlayネットワークに配置されたときに、第1VMと第2VMとの互いに通信を許容する。
【0021】
本発明の好適な例において、トポロジー管理情報は、一般的に、複数の仮想ルータ(vRouter)の情報を含み、各vRouterが複数のサブネット(subnet)に対応し、各subnetが複数のVMを含む。異なるvRouterの間で互いに通信不可能になるため、SDNコントローラは、メッセージを処理するとき、メッセージのソース側仮想機器と対象側仮想機器とが互いに通信できるか否かを判定する必要がある。詳細に言えば、SDNコントローラは、メッセージを処理するとき、トポロジー管理情報を検索して前記第1VMおよび第2VMが同一のvRouterに対応するか否かを判定する必要がある。前記第1VMおよび第2VMが同一のvRouterに対応する場合に、前記第1VMと第2VMとの互いに通信を許容することを判定する。そうでなければ、互いに通信ができない。
【0022】
SDNコントローラが前記第1VMと第2VMとの互いに通信を許容すると判定したときに、さらに、ローカルに管理された仮想ネットワークトポロジー情報から、前記第2VMに対応する仮想IPアドレスと、前記第2VMの前記第2vSwitchでのオンラインポートとを取得し、第2Domainにおいて第2VMに対応する第2vSwitchのトンネルカプセル化情報を取得する。その後、SDNコントローラは、上記情報に基づいて第1フローテーブルを作成する。前記第1フローテーブルは、前記第2VMの仮想IPアドレス、オンラインポートおよび前記トンネルカプセル化情報を含む。SDNコントローラは、当該第1フローテーブルを第1vSwitchへ配る。第1vSwitchは、当該第1フローテーブルに基づいて、メッセージをカプセル化した後でOverlayネットワークを介して第2vSwitchへ転送する。第2vSwitchは、カプセル化後のメッセージを受信した後、デカプセル化を行なってSDNコントローラへ転送する。SDNコントローラは、さらに、自身によって管理される仮想ネットワークトポロジー情報から、第2VMが第2vSwitchにオンラインするときに対応するオンラインポートを検索し、当該オンラインポートおよび第2VMの仮想IPアドレスに基づいて第2フローテーブルを作成して第2vSwitchへ配る。第2vSwitchは、当該第2フローテーブルに基づいて当該メッセージを第2VMへ転送する。
【0023】
外部ネットワークに依頼する転送経路よりも、本発明は、異種のHypervisorの統括管理によりvSwitchを跨ぐ転送手順を簡素化できる。これにより、転送効率が向上する。
【0024】
本発明の目的、解決手段及びメリットが一層明瞭になるように、以下で図3の仮想ネットワークアーキテクチャ図に基づいて本発明の前記解決手段をさらに詳細に説明する。
【0025】
配置された仮想ネットワークがKVM(Kernel-based Virtual Machine、カーネルベース仮想マシン)Hypervisorマネジャー31、vCenter(virtual Center、仮想センター)Hypervisorマネジャー32、CAS(Cloud Automation System、クラウド自動化システム)Hypervisorマネジャー33を含むと想定する。KVM Hypervisorマネジャー31は、vSwitch 1および対応するKVM Hypervisor 310と、vSwitch 2および対応するKVM Hypervisor 320とをそれぞれ管理する。vCenter Hypervisorマネジャー32は、vSwitch 3および対応するESXi Hypervisor 330と、vSwitch 4および対応するESXi Hypervisor 340とをそれぞれ管理する。CAS Hypervisorマネジャー33は、vSwitch 5および対応するCAS Hypervisor 350と、vSwitch 6および対応するCAS Hypervisor 360とをそれぞれ管理する。各Hypervisorは、n個のVMを含む。
【0026】
この例において、データセンター管理プラットフォーム300は、1つのAPPによりSDNコントローラ3000を管理し、当該SDNコントローラ3000により、上記仮想ネットワーク機器に対してDomain管理および仮想ネットワークトポロジー管理を統括して行なう。所謂Domain管理とは、SDNコントローラが異なるタイプのHypervisorマネジャーについて異なるDomainを作成することを指す。例えば、KVM Hypervisorマネジャー31がKVMタイプのDomain1に対応し、vCenter Hypervisorマネジャー32がvCenterタイプのDomain2に対応し、CAS Hypervisorマネジャー33がCASタイプのDomain3に対応する。各Domainは、対応するHypervisorマネジャーによって管理される仮想ネットワーク機器を管理し、各vSwitchのトンネルカプセル化情報、例えば、トンネルタイプ、仮想IPアドレス等を記録する。SDNコントローラは、さらに、トポロジー管理情報を作成する。前記トポロジー管理情報は、n個のvRouter−network−subnet−VMの管理アーキテクチャを含む。subnetがサブネットを表し、各サブネットが複数のVMを含み、複数のサブネットがサブネットセットを構成する。vRouterが複数のサブネットに仮想的に接続し、同一のvRouterに対応するVMの互いに通信が許容される。トポロジー管理情報には、各VMの仮想IPアドレスおよびオンラインポートが記録される。その後、SDNコントローラは、トポロジー管理情報と仮想スイッチングに関与するあらゆるDomainとを関連づけ、トポロジー管理情報における関連配置パラメータを各Domainに対応するHypervisorマネジャーへ配る。
【0027】
図3において、KVM Hypervisor 31で動作しているVM 11がvCenter Hypervisor 32で動作しているVM 31へメッセージを送信するとき、本発明に係る仮想ネットワーク管理方法に基づいてvSwitch 1、vSwitch 3、SDNコントローラ3000の相互作用のフローは、図4に示される。
【0028】
VM 11は、KVM Hypervisor 31でのvSwitch 1へARP(Address Resolution Protocol、アドレス解決プロトコル)要求メッセージを送信する。当該ARP要求メッセージは、VM 11の仮想IPアドレスおよびVM 31の仮想IPアドレスを含む。
【0029】
vSwitch 1は、当該ARP要求メッセージを受信した後、openflowプロトコルにより、当該ARP要求メッセージをSDNコントローラ3000へ送信する。
【0030】
SDNコントローラ3000は、当該ARP要求メッセージを受信した後、VM 11およびVM 31の仮想IPアドレスに基づいて、VM 11およびVM 31のそれぞれに対応するvRouterを特定し、VM 11とVM 31との互いに通信を許容するか否かを判定する。VM 31およびVM 11が同一のvRouterに対応する場合に、VM 11とVM 31とが互いに通信できると見なされる。VM 31またはVM 31に対応するゲートウェイのMACアドレスは、受信されたARP要求メッセージに対する応答としする。この例では、VM 31のMACアドレスを、受信されたARP要求メッセージに対する応答として、当該MACアドレスが付加されたARP応答メッセージをvSwitch 1へ配る。
【0031】
vSwitch 1は、当該ARP応答メッセージを受信した後、当該ARP応答メッセージをVM 11へ転送する。
【0032】
VM 11は、ARP応答メッセージにおけるVM 31のMACアドレスを取得し、IPメッセージを作成する。当該IPメッセージのソースIPアドレスがVM 11の仮想IPアドレスであり、宛先IPアドレスがVM 31の仮想IPアドレスであり、ソースMACアドレスがVM 11のMACアドレスであり、宛先MACアドレスがVM 31のMACアドレスである。そして、VM 11は、作成された当該IPメッセージをvSwitch 1へ送信する。
【0033】
vSwitch 1は、当該IPメッセージを受信した後、openflowプロトコルにより、当該IPメッセージをSDNコントローラ3000へ送信する。
【0034】
SDNコントローラ3000は、当該IPメッセージを受信した後、VM 11およびVM 31の仮想IPアドレスに基づいてVM 11およびVM 31のそれぞれに対応するvRouterを特定し、VM 11とVM 31との互いに通信を許容するか否かを判定する。VM 31およびVM 11が同一のvRouterに対応する場合に、VM 11とVM 31とが互いに通信できると見なされる。したがって、vSwitch 1へ第1フローテーブルを配ることができる。当該第1フローテーブルは、VM 11の仮想IPアドレスであるソースIPアドレスと、VM 31の仮想IPアドレスである宛先IPアドレスと、VM 11のMACアドレスであるソースMACアドレスと、VM 31のMACアドレスである宛先MACアドレスと、トンネルカプセル化情報とを含む。当該トンネルカプセル化情報には、カプセル化のタイプがVXLANであり、vSwitch1の仮想IPアドレスおよびvSwitch3の仮想IPアドレスも含まれる。
【0035】
vSwitch 1は、当該第1フローテーブルを受信した後、第1フローテーブルに基づいて当該IPメッセージをVXLANカプセル化してvSwitch 3へ送信する。
【0036】
vSwitch 3は、vSwitch 1から送信されたVXLANメッセージを受信すると、当該VXLANメッセージに対してVXLANデカプセル化を行ってその中のIPメッセージを取得し、その後、当該IPメッセージをSDNコントローラ3000へ送信する。
【0037】
SDNコントローラ3000は、IPメッセージにおける宛先IPアドレスに基づいて宛先VM31に対応するvSwitch 3のオンラインポートを検索し、vSwitch 3へ第2フローテーブルを配る。当該第2フローテーブルには、VM 11の仮想IPアドレスであるソースIPアドレス、VM 31の仮想IPアドレスである宛先IPアドレス、VM 11のMACアドレスであるソースMACアドレス、VM 31のMACアドレスである宛先MACアドレス、およびVM 31に対応するオンラインポートが含まれる。
【0038】
vSwitch 3は、SDNコントローラ3000から配られた第2フローテーブルを受信した後、当該第2フローテーブルに基づいて当該IPメッセージをVM 31へ転送することにより、VM 11とVM 31との互いに通信を実現する。
【0039】
これにより、本発明は、異種のHypervisorを統括管理することにより、異種のHypervisorにおけるVMsがOverlayネットワークを介して互いに通信するため、転送手順が簡素化され、転送効率が向上し、管理の難易度が低減される。
【0040】
基本的に同じ発想に基づいて、本発明は、さらに仮想ネットワーク管理装置を提供する。前記装置は、ソフトウェア、ハードウェア、または、ソフト・ハードウェア組合わせの方式にて実現される。ソフトウェアで実現されることを例にすると、本発明の仮想ネットワーク管理装置は、論理意味での装置としする。それは、SDNコントローラにおけるCPUが記憶媒体での対応する機器読み取り可能プログラム命令を読み取ってから実行することにより形成される。
【0041】
図5は、本発明の一例の仮想ネットワーク管理装置のハードウェア構造を模式的に示すブロック図である。前記仮想ネットワーク管理装置は、仮想ネットワークにおけるSDNコントローラである。図5に示すように、当該仮想ネットワーク管理装置は、中央処理装置(CPU)のようなプロセッサ501、内部バス502、ネットワークインターフェース503および非一時的記憶媒体504を備える。プロセッサ501、ネットワークインターフェース503および非一時的記憶媒体504は、内部バス502を介して互いに通信する。非一時的記憶媒体504には、仮想ネットワーク管理論理600に対応する機器の実行可能な命令が記憶される。プロセッサ501は、非一時的記憶媒体504に記憶された仮想ネットワーク管理論理600に対応する機器の実行可能な命令を読み取って実行することにより、仮想制御管理装置の各モジュールの機能を果たせる。
【0042】
図6は、仮想ネットワーク管理論理の各機能モジュールを示すブロック図である。図6に示すように、機能上に分けると、当該仮想ネットワーク管理論理600は、第1作成ユニット601、第2作成ユニット602、情報配りユニット603、転送制御ユニット604、第1オンラインユニット605および第2オンラインユニット606を備える。
【0043】
第1作成ユニット601は、仮想ネットワークにおける第1VMと第1vSwitchとを管理する第1Hypervisorマネジャーおよび第2VMと第2vSwitchとを管理する第2Hypervisorマネジャーについて、第1Domainおよび第2Domainをそれぞれ作成し、前記第1Hypervisorマネジャーと前記第2Hypervisorマネジャーとが互いに異種構造である。
【0044】
第2作成ユニット602は、前記仮想ネットワークのトポロジーに基づいてトポロジー管理情報を作成し、前記トポロジー管理情報が前記第1計算領域に対する第1仮想ネットワークトポロジー情報、前記第2計算領域に対する第2仮想ネットワークトポロジー情報、前記第1vSwitchに対する第1配置情報および前記第2vSwitchに対する第2配置情報を含む。
【0045】
情報配りユニット603は、前記トポロジー管理情報を前記第1Domainおよび第2Domainのそれぞれと関連付けさせ、トポロジー管理情報における第1配置情報および第2配置情報を第1vSwitchおよび第2vSwitchへそれぞれ配る。こうして、前記第1vSwitchおよび前記第2vSwitchがそれぞれ前記第1配置情報および前記第2配置情報に基づいて前記第1VMと前記第2VMの間のメッセージ転送を実施する。
【0046】
好ましくは、前記装置600は、第1オンラインユニット605をさらに備える。第1オンラインユニット605は、第3vSwitchが第1Hypervisorマネジャーにオンラインするとき、前記第3vSwitchから送信されたvSwitchオンラインメッセージを受信し、前記vSwitchオンラインメッセージに基づいて前記第1Hypervisorマネジャーに対応する第1Domainにおいて前記第3vSwitchのレコードを作成する。
【0047】
好ましくは、前記装置600は、第2オンラインユニット606をさらに備える。第2オンラインユニット606は、第3VMが第1Hypervisorマネジャーにオンラインするとき、前記第3VMに対応するvSwitchから送信されたVMオンラインメッセージを受信し、前記VMオンラインメッセージに基づいてトポロジー管理情報に前記第3VMのレコードを付加する。
【0048】
好ましくは、前記装置600は、転送制御ユニット604をさらに備え。前記転送制御ユニット604は、第1受信サブユニット6041、互いに通信判定サブユニット6042、第2受信サブユニット6044及び第2作成サブユニット6045を備える。
【0049】
第1受信サブユニット6041は、前記第1vSwitchから送信された、ソース側仮想機器が第1VMであり且つ対象側仮想機器が第2VMであるメッセージを受信する。
【0050】
互いに通信判定サブユニット6042は、前記第1仮想ネットワークトポロジー情報と前記第2仮想ネットワークトポロジー情報とに基づいて、前記第1VMと第2VMとの互いに通信を許容するか否かを判定する。
【0051】
第1作成サブユニット6043は、前記第1VMと第2VMとの互いに通信を許容したときに、第1フローテーブルを作成して前記第1vSwitchへ配る。こうして、前記第1vSwitchは、前記メッセージを前記第2vSwitchへ送信する。
【0052】
第2受信サブユニット6044は、第2vSwitchから送信された前記メッセージを受信する。
【0053】
第2作成サブユニット6045は、第2受信サブユニット6044から受信された前記メッセージに基づいて第2フローテーブルを作成し、前記第2フローテーブルを第2vSwitchへ送信する。こうして、前記第2vSwitchは、前記第2フローテーブルに基づいて前記メッセージを第2VMへ配る。
【0054】
好ましくは、前記互いに通信判定サブユニット6042は、前記第1仮想ネットワークトポロジー情報および前記第2仮想ネットワークトポロジー情報を検索することにより、前記第1VMと第2VMが同一のvRouterに対応するか否かを判定する。前記第1VMおよび前記第2VMが同一の仮想ルータに対応する場合に、前記第1VMと第2VMとの互いに通信を許容する。
【0055】
好ましくは、前記第1作成サブユニット6043は、前記第2仮想ネットワークトポロジー情報から、前記第2VMに対応する仮想IPアドレスと、前記第2VMの前記第2vSwitchでのオンラインポートとを取得し、前記第2配置情報から第2VMに対応する第2vSwitchのトンネルカプセル化情報を取得し、第1フローテーブルを作成する。前記第1フローテーブルは、前記第2VMの仮想IPアドレス、オンラインポートおよび前記トンネルカプセル化情報を含む。
【0056】
好ましくは、前記第2作成サブユニット6045は、第2フローテーブルを作成する。前記第2フローテーブルは、前記第2VMのオンラインポートを含む。
【0057】
これから分かるように、本発明は、異種のHypervisorマネジャーについて異なるDomainを作成し、トポロジー管理情報により複数のDomainの仮想ネットワークトポロジーを管理することにより、SDNコントローラが異種のHypervisorマネジャーを統合管理し、異種のHypervisorにおけるVMがOverlayネットワークを介して互いに通信するため、転送手順が簡素化され、転送効率が向上し、管理の難易度が低減される。
【0058】
上記したのは、本発明の好適な実施例に過ぎず、本発明を制限するためのものではない。本発明の要旨および原則内でなされた如何なる変更、均等物による置換、改良等も、本発明の保護範囲内に含まれる。
図1
図2
図3
図4
図5
図6