(57)【要約】      （修正有）【課題】ＮＩＣのハードウェアオフロード機能の設定を考慮して、ＶＭを配置するハイパバイザを選択することができる仮想マシン配置装置等を提供する。【解決手段】仮想マシン配置装置１１０は、複数のハイパバイザ１ないし４から、ＮＩＣ３１ないし３８のハードウェアオフロード機能の設定に関連する設定情報を取得する取得手段１１２と、仮想マシンを配置するハイパバイザを、前記複数のハイパバイザの中から前記設定情報に基づいて選択する選択手段１１１と、を備える。【選択図】図５
2017174301.tif 000002
【特許請求の範囲】
【請求項１】
複数のハイパバイザから、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）のハードウェアオフロード機能の設定に関連する設定情報を取得する取得手段と、
仮想マシンを配置するハイパバイザを、前記複数のハイパバイザの中から前記設定情報に基づいて選択する選択手段と、
を備えた仮想マシン配置装置。
【請求項２】
前記選択手段は、前記設定情報に基づいて求められた、前記複数のハイパバイザのそれぞれに前記仮想マシンを配置した場合の該ハイパバイザの性能の予測結果に基づいて、前記仮想マシンを配置するハイパバイザを選択する
請求項１記載の仮想マシン配置装置。
【請求項３】
前記選択手段は、前記複数のハイパバイザのそれぞれに前記仮想マシンを配置し該配置したハイパバイザにおいて利用可能な前記ハードウェアオフロード機能を利用した場合の、該ハイパバイザの性能の予測結果に基づいて、前記仮想マシンを配置するハイパバイザを選択すると共に、利用する前記ハードウェアオフロード機能を選択する
請求項２記載の仮想マシン配置装置。
【請求項４】
前記選択手段は、前記ハイパバイザが保持する設定情報を、前記選択したハードウェアオフロード機能の設定に関連する設定情報に基づいて変更する
請求項３記載の仮想マシン配置装置。
【請求項５】
前記ＮＩＣのハードウェアオフロード機能の設定に関連する設定情報を収集するＮＩＣ管理手段と、
前記収集された設定情報に基づいて、前記仮想マシンを配置した場合の性能の予測計算を行う予測計算手段と
を備えた前記ハイパバイザをさらに含む
請求項１ないし請求項４のいずれか１項記載の仮想マシン配置装置。
【請求項６】
前記選択手段により選択された前記ハイパバイザに配置される前記仮想マシンのネットワーク設定を変更すると共に、該ハイパバイザに通信可能に接続されたスイッチにおける、前記仮想マシンのネットワーク設定を変更する変更手段
をさらに備えた請求項１乃至請求項５のいずれか１項記載の仮想マシン配置装置。
【請求項７】
前記性能とは、少なくとも前記ハイパバイザのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）使用率およびネットワーク帯域のいずれかである
請求項２乃至請求項５のいずれか１項記載の仮想マシン配置装置。
【請求項８】
複数のハイパバイザから、ＮＩＣのハードウェアオフロード機能の設定に関連する設定情報を取得し、
仮想マシンを配置するハイパバイザを、前記複数のハイパバイザの中から前記設定情報に基づいて選択する
仮想マシン配置方法。
【請求項９】
複数のハイパバイザから、ＮＩＣのハードウェアオフロード機能の設定に関連する設定情報を取得する処理と、
仮想マシンを配置するハイパバイザを、前記複数のハイパバイザの中から前記設定情報に基づいて選択する処理と
を、コンピュータに実行させる仮想マシン配置プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ハイパバイザへの仮想マシンの配置に関する。
【背景技術】
【０００２】
近年、スイッチ、ルータ、ファイアウォール、および、ロードバランサ等のネットワーク機器の多様化が進んでいる。管理するネットワーク機器の増加に伴い、ネットワーク機器の管理コストが増大することが問題視されている。また、ネットワーク全体が正しく協調動作するように設計を見直さなければならないため、ネットワーク機器の構成変更コストが増大することも問題視されている。これらの問題を解決する技術として、ＯｐｅｎＦｌｏｗが生み出された。
【０００３】
ＯｐｅｎＦｌｏｗにより、１つ１つのネットワーク機器に対して手動で行われていた設定を、ＯｐｅｎＦｌｏｗコントローラ（ＯＦＣ）に集約することで、ネットワーク機器の管理コストや構成変更コストを削減したネットワーク（ＯｐｅｎＦｌｏｗネットワーク）を構成することができる。ＯｐｅｎＦｌｏｗネットワークは、ＯＦＣと、パケットを転送するネットワーク機器（ＯＦＳ：ＯｐｅｎＦｌｏｗスイッチ）とを含む。ＯＦＣは、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いて構築される通信経路（セキュアチャネル）経由で、ＯＦＳと制御情報の送受信を行う。
【０００４】
サーバ仮想化を考慮すると、ＯＦＳは、物理的なネットワーク機器だけでなく、ハイパバイザ（Ｈｙｐｅｒｖｉｓｏｒ）内の仮想スイッチ（ｖｉｒｔｕａｌ  ｓｗｉｔｃｈ）も含む。
【０００５】
仮想マシン（以降、「ＶＭ」（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）とも称する）を作成し、ハイパバイザへＶＭを配置する際には、配置するＶＭのスペック、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、またＯＳ上のサービス内容に応じて、ハイパバイザの仮想スイッチに対して、サブネットマスク、ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）オフロード設定といったネットワーク設定を変更する、または予め設定しておく必要がある。
【０００６】
ＯｐｅｎＦｌｏｗネットワークの場合、ハイパバイザや複数のハイパバイザを統合管理するソフトウェアが、ＯＦＣやＯＦＳと連携することで、ネットワーク設定を動的に変更することができる。
【０００７】
上記の場合、ハイパバイザやハイパバイザを統合管理するソフトウェアは、要求されるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）使用率やＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）容量、ネットワーク帯域を計算し、ＶＭを配置するハイパバイザを自動で決定している。あるいは、管理者等により、手動で決定される。
【０００８】
例えば、ＶＭが、特定の（例えば使用するネットワーク帯域が１Ｇｂｐｓ以上の）ネットワーク帯域を要求している場合、各ハイパバイザのネットワーク使用率が計算され、ネットワーク帯域が余っているハイパバイザが、優先的にＶＭの配置先として選択されている。ハイパバイザやハイパバイザを統合管理するソフトウェアがＯＦＣと連携する場合、ＶＭ配置の際に、サブネットマスク、ＶＬＡＮ、ＮＩＣオフロード設定といったネットワーク設定に応じて、配置先のハイパバイザの仮想スイッチのネットワーク設定を、ＯＦＣが変更している。
【０００９】
関連する技術として、特許文献１には、システムの特性を考慮したＮＩＣを選択するＮＩＣ選択方法が開示されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１１−１１８６６３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ハイパバイザにＶＭを配置する際、上述のように、ＣＰＵ、ＨＤＤ、ネットワーク帯域などの空き状況に基づいて、ＶＭを配置するハイパバイザを選択している。一方で、ＮＩＣのハードウェアオフロード機能の設定を考慮して、ＶＭを配置するハイパバイザを選択することはできないという課題がある。
【００１２】
ＮＩＣのハードウェアオフロード機能とは、ＶＭ、ハイパバイザまたは仮想スイッチが行っていたネットワーク処理を、ＮＩＣのハードウェア機能が代理で処理することにより、ＶＭ、ハイパバイザおよび仮想スイッチの負荷軽減、および、ネットワークスループットを向上させる機能である。
【００１３】
上記特許文献１には、システムの特性を考慮したＮＩＣの選択について開示されるが、ＮＩＣのハードウェアオフロード機能の設定を考慮してＶＭを配置するハイパバイザを選択することは開示されていない。
【００１４】
本願発明は、上記課題を鑑みてなされたものであり、ＮＩＣのハードウェアオフロード機能の設定を考慮して、ＶＭを配置するハイパバイザを選択することができる仮想マシン配置装置等を提供することを主要な目的とする。
【課題を解決するための手段】
【００１５】
本発明の第１の仮想マシン配置装置は、複数のハイパバイザから、ＮＩＣのハードウェアオフロード機能の設定に関連する設定情報を取得する取得手段と、仮想マシンを配置するハイパバイザを、前記複数のハイパバイザの中から前記設定情報に基づいて選択する選択手段と、を備える。
【００１６】
本発明の第１の仮想マシン配置方法は、複数のハイパバイザから、ＮＩＣのハードウェアオフロード機能の設定に関連する設定情報を取得し、仮想マシンを配置するハイパバイザを、前記複数のハイパバイザの中から前記設定情報に基づいて選択する。
【００１７】
なお同目的は、上記の各構成を有する仮想マシン配置方法を、コンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００１８】
本願発明によれば、ＮＩＣのハードウェアオフロード機能の設定を考慮して、ＶＭを配置するハイパバイザを選択することができるという効果が得られる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１の実施形態に係る仮想マシン配置装置の構成を示すブロック図である。
【図２】本発明の第２の実施形態に係る仮想マシン配置装置の構成を示すブロック図である。
【図３】第２の実施形態に係るハイパバイザにおける接続構成の例について説明する図である。
【図４】第２の実施形態に係るコントローラから認識されるＶＭとスイッチとの接続構成を模式的に示す図である。
【図５】第２の実施形態に係る仮想マシン配置装置のハイパバイザにおいて利用可能な接続構成について説明する図である。
【図６】第２の実施形態に係る仮想マシン配置装置において新たなＶＭを配置可能なハイパバイザを決定する手順について説明する図である。
【図７】第２の実施形態に係る仮想マシン配置装置によるハイパバイザへの新規ＶＭの配置と接続構成の変更について説明する図である。
【図８】第２の実施形態に係る仮想マシン配置装置によるハイパバイザへの新規ＶＭの配置と接続構成の変更について説明する図である。
【図９】第２の実施形態に係る仮想マシン配置装置によるハイパバイザへの新規ＶＭの配置と接続構成の変更の手順について説明する図である。
【図１０】第２の実施形態に係る仮想マシン配置装置による新たなＶＭを配置する際の接続構成の変更とネットワーク設定の変更について説明する図である。
【図１１】第２の実施形態に係る仮想マシン配置装置による新たなＶＭを配置する際の接続構成の変更とネットワーク設定の変更について説明する図である。
【図１２】第２の実施形態に係る仮想マシン配置装置におけるＶＭのネットワーク設定の一例を示す図（ａ）と、ＮＩＣオフロード設定の一例を示す図（ｂ）である。
【図１３】第２の実施形態に係る仮想マシン配置装置における仮想スイッチが保持するＶＭのネットワーク設定の一例を示す図（ａ）と、ＮＩＣオフロード設定の一例を示す図（ｂ）と、スイッチに設定されるＶＭのネットワーク設定の一例を示す図（ｃ）である。
【図１４】各実施形態に示した仮想マシン配置装置を実現するハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態について図面を参照して詳細に説明する。なお、図面における矢印の方向は、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
【００２１】
第１の実施形態
図１は、本発明の第１の実施形態に係る仮想マシン配置装置１０の構成を示すブロック図である。図１に示すように、仮想マシン配置装置１０は、取得部２０と、選択部３０とを備える。
【００２２】
取得部２０は、複数のハイパバイザから、ＮＩＣハードウェアオフロード機能の設定に関連する設定情報を取得する。選択部３０は、仮想マシンを配置するハイパバイザを、複数のハイパバイザの中から設定情報に基づいて選択する。
【００２３】
本第１の実施形態によれば、上記構成を採用することにより、ＮＩＣのハードウェアオフロード機能の設定を考慮して、ＶＭを配置するハイパバイザを選択することができるという効果が得られる。
【００２４】
第２の実施形態
図２は、本発明の第２の実施形態に係る仮想マシン配置装置１００の構成を示すブロック図である。図２に示すように、仮想マシン配置装置１００は、ハイパバイザ統合管理部１１０およびハイパバイザ１２０を備える。
【００２５】
ハイパバイザ統合管理部１１０とハイパバイザ１２０は、１つの装置内に搭載されてもよいし、それぞれ異なる装置に搭載されていてもよい。異なる装置に搭載される場合、各装置は、例えば、互いにＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）ケーブル等で物理的に接続されており、ＴＣＰ／ＩＰのような通信プロトコル、または専用プロトコルにより、互いにメッセージの送受信を行う。ハイパバイザ統合管理部１１０は、仮想マシン配置装置１００内に搭載された、または他の装置にそれぞれ搭載された、１または複数のハイパバイザを管理する。ハイパバイザ統合管理部１１０は、また、管理するハイパバイザのうちの１つに含まれてもよい。
【００２６】
図２に示すように、ハイパバイザ統合管理部１１０は、選択部１１１および取得部１１２を備える。ハイパバイザ１２０は、制御部１３０、ＶＭ１１、１２、仮想スイッチ２１およびＮＩＣポート３１を備える。制御部１３０は、通知部１３１、ＮＩＣ管理部１３２および予測計算部１３３を備える。
【００２７】
図２では、ＶＭ１１、１２は、仮想スイッチ２１に接続され、さらに仮想スイッチ２１はＮＩＣポート３１に接続される構成を示すが、他の接続構成も採り得る。
【００２８】
なお、仮想マシン配置装置１００は、後述する、例えばＯＦＣなどのコントローラを備えてもよい。
【００２９】
各構成要素の概要について説明する。
【００３０】
ハイパバイザ統合管理部１１０の選択部１１１は、新しく作成するＶＭを配置するハイパバイザを選択する。取得部１１２は、ハイパバイザ１２０から、ＮＩＣのハードウェアオフロード機能の設定に関連する設定情報を取得する。
【００３１】
ハイパバイザ１２０のＶＭ１１、１２は、ハイパバイザ１２０に配置された仮想マシンである。仮想スイッチ２１は、ＶＭ１１、１２に接続され、ＶＭ１１、１２からのパケットをＮＩＣポート３１に送出したり、ＮＩＣポート３１からのパケットをＶＭ１１、１２に送出したりする。
【００３２】
ＮＩＣポート３１は、仮想スイッチ２１に接続され、ＯＦＳ（オープンフロースイッチ）などのスイッチまたは他の機器とのインタフェースとなる。
【００３３】
制御部１３０は、ＮＩＣハードウェアオフロード機能に関する処理を行う。具体的には、通知部１３１は、ＮＩＣ管理部１３２が保持する情報を、ハイパバイザ統合管理部１１０に送信する。ＮＩＣ管理部１３２は、ＮＩＣのハードウェアオフロード機能の設定に関連する設定情報を収集して保持する。
【００３４】
予測計算部１３３は、ハイパバイザ１２０にＶＭを新たに配置した場合の、ハイパバイザの性能、例えばＣＰＵ使用率とネットワーク帯域を予測計算すると共に、その予測計算の結果（予測結果）を保持する。
【００３５】
図３は、ハイパバイザにおける接続構成の例について説明する図である。図３を参照して、ハイパバイザにおける接続構成について説明する。
【００３６】
図３では、ハイパバイザ１乃至４の４つのハイパバイザが、物理スイッチであるスイッチ４０に接続されている例を示す。ハイパバイザ１乃至４には、それぞれ、ＶＭ（ＶＭ１１乃至ＶＭ１８）が２つずつと、仮想スイッチ２１乃至２４が配置されている。さらに、ハイパバイザ１には、オフロード未対応、すなわちハードウェアオフロード機能を持たないＮＩＣのポート（ＮＩＣポート）３１が搭載され、ハイパバイザ２乃至４には、それぞれオフロード対応、すなわちハードウェアオフロード機能を有するＮＩＣのポート（ＮＩＣポート）３２乃至３５が搭載される。
【００３７】
図３および他の図において、スイッチ４０は、ＶＭ１１乃至ＶＭ１８の設定を保持できる機能を持ったスイッチであり、一例として、ＯＦＳでもよい。なお、図３および他の図において、ハイパバイザにＶＭを２つずつ配置することを例示しているが、これに限定されない。また、ハイパバイザ１乃至４は、１つの装置内に搭載されてもよいし、それぞれ異なる装置に搭載されていてもよい。
【００３８】
ここで、ハイパバイザでは、ＶＭとスイッチとの間のパケットのやり取りにおいて、ＶＭによる処理のスループットやＣＰＵの処理負荷、あるいはＮＩＣのハードウェアオフロード機能等を考慮して、ＶＭから、仮想スイッチを介して、または介さずに、ＮＩＣの物理ポートに送出することが決められる。
【００３９】
ＮＩＣのハードウェアオフロード機能の設定を考慮すると、ＮＩＣの物理ポートとＶＭとの間では、４つの接続構成（ケース）が考えられる。すなわち、まず、
ＮＩＣの物理ポートを１つのＶＭが占有するケース（ケース１）
ＮＩＣの物理ポートを複数のＶＭが共有するケース（ケース２）
がある。
【００４０】
ケース２には、さらに、
仮想スイッチを介さずにＮＩＣのハードウェアオフロード機能を利用してネットワーク処理をするケース（ケース２−１）
仮想スイッチを介してネットワーク処理をするケース（ケース２−２）
がある。
【００４１】
さらに、ケース２−２には、
ＮＩＣのハードウェアオフロード機能を一部利用しつつ仮想スイッチでネットワーク処理するケース（ケース２−２−１）
ＮＩＣのハードウェアオフロード機能を利用せずに仮想スイッチのみでネットワーク処理するケース（ケース２−２−２）
がある。
【００４２】
ケース１は、図３のハイパバイザ４に示すケースである。ハイパバイザ４はオフロード対応ＮＩＣポートをＶＭと同数備え、ＶＭ１７、１８は、ハードウェアによる仮想化支援機構を利用して、ＮＩＣの物理ポート（オフロード対応ＮＩＣポート３４、３５）をそれぞれ占有して処理する。この構成では、ＶＭ１７、１８からは直接物理ポートにアクセスすることができ、仮想化による性能劣化オーバヘッドを削減することができる。また、占有されている物理ポートは、他のＶＭで利用することはできないので、他ＶＭによる機能・性能の干渉を受けない。
【００４３】
図４は、コントローラ５０が、ハイパバイザ統合管理部１１０と連携して図３に示したハイパバイザ１乃至４とスイッチ４０を管理する場合の、コントローラ５０から認識されるＶＭ１１乃至１８とスイッチ４０との接続構成を模式的に示す図である。なお、図４および他の図において、コントローラ５０は、ＶＭ１１乃至ＶＭ１８の配置の制御等を行うコントローラであって、一例として、スイッチ４０がＯＦＳであった場合にＯＦＳにフロー制御を行うことができるＯＦＣ（オープンフローコントローラ）であってもよい。
【００４４】
図３に示したように、ハイパバイザ４では、ＶＭ１７、１８はＮＩＣポート３４、３５との間に仮想スイッチ２４を介していないので、図４に示すように、コントローラ５０からは、ＶＭ１７、１８とスイッチ４０とが直接接続しているように認識される。
【００４５】
ケース２−１は、図３のハイパバイザ３に示すケースである。ケース１と同様に、ＶＭ１５、１６は、ハードウェアによる仮想化支援機構を利用して、直接物理ポートにアクセスすることができ、仮想化による性能劣化オーバヘッドを削減することができる。上記ケース１との違いは、ＮＩＣのハードウェアオフロード機能により物理ポート（オフロード対応ＮＩＣポート３３）が複数のＶＭ１５、１６により共有されることである。そのため、ＶＭ１５、１６は、互いによる機能・性能の干渉を受ける。
【００４６】
コントローラ５０がハイパバイザ統合管理部１１０と連携して動作する場合、接続構成に関するコントローラ５０からの認識は、上記ケース１と同様である。すなわち、ハイパバイザ３では、ＶＭ１５、１６はＮＩＣポート３３との間に仮想スイッチ２３を介していないので、コントローラ５０からは、図４に示すように、ＶＭ１５、１６とスイッチ４０とが直接接続しているように認識される。
【００４７】
ケース２−２−１は、図３のハイパバイザ２に示すケースである。ＶＭ１３、１４は、ハードウェアによる仮想化支援機構を利用するが、ＮＩＣポート３２との間に仮想スイッチ２２を介するため、直接物理ポートにアクセスすることはできない。ＶＭ１３、１４は、ＮＩＣのハードウェアオフロード機能を利用することで、仮想ＮＩＣから物理ＮＩＣのメモリへのデータコピー処理を一部省略することで性能向上を図りつつ、コントローラ５０による仮想スイッチ２２のネットワーク設定の変更による柔軟な制御を可能とする。本ケースでは、ＶＭ１３、１４は、ＮＩＣポート３２との間に仮想スイッチ２２を介すので、ＶＭ１３、１４からは物理ポートは隠蔽される。そのため、コントローラ５０がハイパバイザ統合管理部１１０と連携して動作する場合、コントローラ５０からは、図４に示すように、ＶＭ１３、１４と仮想スイッチ２２とが接続しているように認識される。
【００４８】
上記ケース１、ケース２−１およびケース２−２−１において利用されるハードウェア支援機構は、それぞれ異なる機能であり、それぞれのケースに合わせて利用される。例えば、ケース１およびケース２−１では、ＶＭのマイグレーションはできないが、物理ポートに対して直接アクセスできるので、ネットワーク処理におけるオーバヘッドを大きく削減することが可能である。ハードウェア支援機構のそれぞれの機能には、長所および短所あるので、システム構成に合わせて設定されている。
【００４９】
上記ケース２−２−２は、図３のハイパバイザ１に示すケースである。ハイパバイザ１は、オフロード未対応ＮＩＣポート３１を備えている。よって、このケースでは、ＶＭ１１、１２は、ＮＩＣのハードウェア仮想化支援機構を利用しないので、他のケースと比べると最も性能が低い。ＶＭ１１、１２は、ＮＩＣポート３１との間に仮想スイッチ２１を介すので、ＶＭ１１、１２からは物理ポートは隠蔽される。そのため、コントローラ５０がハイパバイザ統合管理部１１０と連携して動作する場合、コントローラ５０からは、図４に示すように、ＶＭ１１、１２と仮想スイッチ２１とが接続しているように認識される。
【００５０】
ここで、ハードウェアオフロード機能には、例えば、ＩＰｓｅｃ（Ｓｅｃｕｒｉｔｙ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）オフロード、ＶＭＱ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｑｕｅｕｅ）、ＳＲ−ＩＯＶ（Ｓｉｎｇｌｅ  Ｒｏｏｔ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ）など各種機能がある。
【００５１】
各ＮＩＣが備える上記各種機能のそれぞれを、「有効化」または「無効化」にして組み合わせることによって、ＶＭ、仮想スイッチ、ＮＩＣポートは、図３に示した接続構成のいずれかを採ることができる。
【００５２】
この場合、「ＮＩＣのハードウェアオフロード機能の設定に関連する設定情報」は、上記各種機能の「有効化」または「無効化」を示す情報であってもよい。
【００５３】
新たに作成したＶＭをハイパバイザに配置する際、上記４つのケースについて考慮することなく配置をすると、ネットワーク帯域を上限まで使い切れないケースや、ＶＭ収容率が上がらないといった問題が発生する。例えば、上記ケース１では、ネットワーク帯域が余っていても、ＶＭがＮＩＣの物理ポートを占有しているので、別のＶＭを配置したとしても、物理ポートを共有することができない。また、ケース２−２−２からケース１やケース２−１に変更することでハイパバイザのＶＭ収容率を上げつつ性能向上を図るといったことを、ＶＭ配置の際に実施できない。
【００５４】
そこで、本実施形態では、ハイパバイザ統合管理部１１０およびハイパバイザ１２０が、図２に示した構成を備えることにより、以下の機能を実現する。
【００５５】
（１）ハイパバイザで利用可能なＮＩＣのハードウェアオフロード機能の設定に関連する設定情報の収集および保持
（２）ハイパバイザにおいてハードウェアオフロード機能を利用する際のリソース遷移の予測計算および計算結果の保持
（３）計算結果の送信
（１）に関し、図２に示したＮＩＣ管理部１３２は、ハイパバイザ１２０で利用可能なＮＩＣのハードウェアオフロード機能の設定に関連する次の設定情報（ＮＩＣ情報）を収集し保持している。すなわち、ＮＩＣにおいて利用可能なハードウェアオフロード機能のリスト（例えば図３に示した４つの接続構成のうち、どのハードウェアオフロード機能の有効化が可能かを示す情報）と、現在のＮＩＣの状態（例えば図３に示した４つの接続構成のうち、どの構成にあるのか）を示す情報である。上記設定情報は、仮想スイッチ２１に保持されている。あるいは、ハイパバイザ１２０における所定の設定ファイルに記載されていてもよい。ＮＩＣ管理部１３２は、定期的または任意のタイミングで上記設定情報を収集してもよい。
【００５６】
（２）に関し、予測計算部１３３は、上記ＮＩＣ管理部１３２が収集した情報を用いて、現在のＮＩＣの状態から遷移可能なケースへ遷移した場合のハイパバイザのネットワーク帯域とＣＰＵ使用率を予測計算する。予測計算部１３３は、遷移可能な全てのケースについて、それぞれ予測計算する。
【００５７】
例えば、利用可能なＮＩＣのハードウェアオフロード機能が、ケース２−１、ケース２−２−１およびケース２−２−２の３つあり、現在の状態がケース２−２−２である場合を考える。この場合、ケース２−２−２からケース２−１への変更、およびケース２−２−２からケース２−２−１への変更が考えられる。予測計算部１３３は、それぞれに変更した場合のネットワーク帯域とＣＰＵ使用率を予測計算し、その結果（ネットワーク帯域とＣＰＵ使用率）を保持しておく。
【００５８】
（３）に関し、通知部１３１は、予測計算部１３３が予測計算した結果を、ハイパバイザ統合管理部１１０に送信する。ハイパバイザ統合管理部１１０は、取得部１１２において、予測計算の結果を取得する。選択部１１１は、予測計算の結果に基づいて、新規ＶＭを配置するハイパバイザを決定する。
【００５９】
上記（１）乃至（３）に示す機能により、新規ＶＭの配置の際に、ＮＩＣのハードウェアオフロード機能を考慮した配置が可能となる。
【００６０】
なお、ＶＭをどのハイパバイザへ配置するかを判断するための、ＣＰＵ使用率やネットワーク帯域の具体的な基準値については、本実施形態では、説明を省略する。ハードウェアオフロード機能を有効化することで、ＣＰＵ使用率の軽減や必要なネットワーク帯域の確保が可能となる一方で、仮想スイッチによる制御が難しくなる場合もある。よって、これらの状況を考慮してＶＭの配置先を決定すればよく、その具体的な基準値についての説明は、本実施形態では省略する。
【００６１】
図５は、ハイパバイザ統合管理部１１０とコントローラ５０により管理されるハイパバイザ１乃至４の４つのハイパバイザにおいて利用可能な接続構成について説明する図である。図５において、ハイパバイザ１乃至４およびスイッチ４０は、ハイパバイザ統合管理部１１０とコントローラ５０により管理されているとする。
【００６２】
ハイパバイザ１乃至４は、それぞれ、図２に示したハイパバイザ１２０と同様の構成を有する。すなわち、例えば、ハイパバイザ１は、制御部１３０−１、ＶＭ１１、１２、仮想スイッチ２１、オフロード対応ＮＩＣポート３１、３２を備える。制御部１３０−１は、通知部１３１−１、ＮＩＣ管理部１３２−１および予測計算部１３３−１を備える。ハイパバイザ２乃至４は、ハイパバイザ１と同様の構成を有する。ただし、ＶＭ、仮想スイッチおよびオフロード対応ＮＩＣポートの接続形態は、それぞれ異なる。
【００６３】
ハイパバイザ１乃至４は、１つの装置内に搭載されてもよいし、それぞれ異なる装置に搭載されていてもよい。ハイパバイザ１乃至４のそれぞれのポートは、スイッチ４０とＬＡＮケーブル等を介して物理的に接続されている。ハイパバイザ１乃至４がそれぞれ備える仮想スイッチ２１乃至２４の４つの仮想スイッチ、およびスイッチ４０のネットワーク設定および管理は、コントローラ５０により行われている。
【００６４】
コントローラ５０、ハイパバイザ統合管理部１１０およびハイパバイザ１乃至４の１または複数をそれぞれ搭載した装置、およびスイッチ４０は、例えば、ＬＡＮケーブル等で物理的に接続されており、ＴＣＰ／ＩＰ等を用いて構築される通信経路（セキュアチャネル）経由でメッセージの送受信を行う。
【００６５】
ハイパバイザ１乃至４における各接続形態は次のとおりである。すなわち、ハイパバイザ１において、ＶＭ１１とＶＭ１２は、仮想スイッチ２１を介してオフロード対応ＮＩＣポート３１と接続している。ハイパバイザ２において、ＶＭ１３とＶＭ１４は、仮想スイッチ２２を介してオフロード対応ＮＩＣポート３３と接続している。ここで、ＶＭ１３とＶＭ１４は、ハードウェアオフロード機能を利用して、オフロード対応ＮＩＣポート３３と接続することにより、物理ＮＩＣのメモリへの不要なデータコピーを防ぐようにしている。
【００６６】
ハイパバイザ３において、ＶＭ１５およびＶＭ１６は、仮想スイッチ２３とは接続せず、オフロード対応ＮＩＣポート３５と接続している。ここで、ＶＭ１５およびＶＭ１６は、ハードウェアオフロード機能を利用して直接オフロード対応ＮＩＣポート３５と接続している。
【００６７】
ハイパバイザ４において、ＶＭ１７はオフロード対応ＮＩＣポート３７と、ＶＭ１８はオフロード対応ＮＩＣポート３８と、それぞれ直接接続している。ここで、ＶＭ１７、１８は、ハードウェアオフロード機能を利用して、それぞれオフロード対応ＮＩＣポート３７、３８と直接接続している。
【００６８】
オフロード対応ＮＩＣポート３１乃至３８は、互いに同様の機能を有し、すべてハードウェアオフロード機能を利用可能であるとする。すなわち、図５に示すハイパバイザ１の構成から、ハイパバイザ２、３、４のそれぞれに構成変更することが可能であり、その逆も可能であるとする。
【００６９】
次に、図５に示す構成のハイパバイザに対して、新たなＶＭを配置可能なハイパバイザを決定する手順について説明する。配置可能なハイパバイザは、各ハイパバイザにおけるＮＩＣのハードウェアオフロード機能の利用状況（すなわち有効化または無効化の状況）に基づいて決定する。図６は、上記手順について説明する図である。図５および図６を参照して、新たなＶＭを配置可能なハイパバイザを決定する手順について説明する。
【００７０】
ハイパバイザ統合管理部１１０は、管理しているハイパバイザ１乃至４に、ＮＩＣ情報の収集を要求する旨を通知する（Ｓ１０１乃至Ｓ１０４）。
【００７１】
ハイパバイザ１乃至４は、上記通知に応じて、ＮＩＣのハードウェアオフロード機能の設定に関連する設定情報を含むシステムパラメータを、それぞれハイパバイザ統合管理部１１０に通知する。
【００７２】
具体的には、例えば、ハイパバイザ１のＮＩＣ管理部１３２−１は、ハイパバイザ１のＮＩＣ情報を収集する（Ｓ１０５）。収集する情報は、ハイパバイザ１が備えるＮＩＣの現在のハードウェアオフロード機能の構成情報である。図５に示すように、ハイパバイザ１では、オフロード対応ＮＩＣポート３１がＶＭ１１、１２に共有され、ハードウェアオフロード機能を利用せずに仮想スイッチ２１でネットワーク処理する構成である。ＮＩＣ管理部１３２−１は、このような構成を採るためのハードウェアオフロード機能の各種機能の有効化または無効化を示す情報を、ＮＩＣ情報として収集する。通知部１３１−１は、収集されたＮＩＣ情報を、ハイパバイザ統合管理部１１０に送信する（Ｓ１０６）。
【００７３】
同様に、ハイパバイザ２乃至４においても、ＮＩＣ管理部１３２−２乃至１３２−４は、それぞれＮＩＣ情報を収集する。ハイパバイザ２では、オフロード対応ＮＩＣポート３３がＶＭ１３、１４に共有され、ハードウェアオフロード機能を一部利用しつつ仮想スイッチ２２でネットワーク処理する構成である。
【００７４】
ハイパバイザ３では、オフロード対応ＮＩＣポート３５がＶＭ１５、１６に共有され、仮想スイッチ２３を介さずにＮＩＣのハードウェアオフロード機能を利用してネットワーク処理する構成である。
【００７５】
ハイパバイザ４では、オフロード対応ＮＩＣポート３７がＶＭ１７に、オフロード対応ＮＩＣポート３８がＶＭ１８に、それぞれ占有され、仮想スイッチ２４を介さずにＮＩＣのハードウェアオフロード機能を利用してネットワーク処理する構成である。
【００７６】
ＮＩＣ管理部１３２−２乃至１３２−４は、それぞれ上記のような構成を採るためのＮＩＣ情報を収集し、保持する（Ｓ１０７、Ｓ１０９、Ｓ１１１）。通知部１３１−２乃至１３１−４は、それぞれ通知部１３１−１と同様に、収集されたＮＩＣ情報を、ハイパバイザ統合管理部１１０に送信する（Ｓ１０８、Ｓ１１０、Ｓ１１２）。
【００７７】
ハイパバイザ統合管理部１１０は、ハイパバイザ１乃至４からそれぞれ上記ＮＩＣ情報を取得部１１２において取得する（Ｓ１１３）。取得部１１２は、取得した情報を選択部１１１に通知する。選択部１１１は、取得したＮＩＣ情報、すなわち、各ハイパバイザにおけるハードウェアオフロード機能の構成情報に基づいて、配置するハイパバイザを選択（決定）する（Ｓ１１４）。ここでは、選択部１１１は、ＮＩＣの物理ポートが占有されているハイパバイザ４以外のハイパバイザを、配置可能なハイパバイザとして決定する。
【００７８】
以上の動作により、ハードウェアオフロード機能の有効化または無効化を示す情報に基づいて配置先のハイパバイザを決定できる。これにより、例えば、帯域に十分余裕のあるハイパバイザでもＮＩＣの物理ポートが各ＶＭに占有されている場合、新規ＶＭの配置先として除外するような処理も可能となる。
【００７９】
次に、ハイパバイザに対する新たなＶＭの配置の際に、現在の接続構成を変更することで最適な接続構成を決定する動作について説明する。
【００８０】
ＶＭをハイパバイザに追加した場合のＣＰＵ使用率とネットワーク帯域の予測計算を行い、適切なハイパバイザを決定する。具体的には、各ハイパバイザが現在の接続構成（ハードウェアオフロード機能）を遷移させた場合の予測値と、ハイパバイザ統合管理部１１０が管理する各ハイパバイザで動作しているＶＭごとのＣＰＵ使用率とネットワーク帯域の平均値を比較し、比較の結果に基づいて、新たなＶＭを配置するハイパバイザとハードウェアオフロード機能を決定する。
【００８１】
図７および図８は、単一のハイパバイザにおける新規ＶＭの配置と接続構成の変更について説明する図である。図９は、単一のハイパバイザにおける新規ＶＭの配置と接続構成の変更の手順について説明する図である。ここでは、例として、ＶＭ１２が配置される前のハイパバイザ１に対して、新たにＶＭ１２を配置する際のハイパバイザ１における接続構成の変更とＶＭ１２の配置の手順について、図７乃至図９を参照して説明する。
【００８２】
ハイパバイザ統合管理部１１０から、ＮＩＣ情報の収集の要求を受けると、ハイパバイザ１のＮＩＣ管理部１３２−１は、ハイパバイザ１のＮＩＣ情報を収集する（Ｓ２０１）。収集する情報は、遷移可能な接続構成と現在の接続構成を示すＮＩＣ情報である。
【００８３】
図７では、ハイパバイザ１は、ＮＩＣのハードウェアオフロード機能を利用せずに仮想スイッチ２１でネットワーク処理する構成である。この構成から遷移可能な構成は、図３に示すハイパバイザ２乃至４の構成である。よって、ＮＩＣ管理部１３２−１は、現在のハイパバイザ１のＮＩＣ情報として、ハードウェアオフロード機能は利用せず（すべての機能は無効状態）、遷移可能な上記３つの構成を採るためのＮＩＣ情報を収集すると共に保持する。
【００８４】
続いて、予測計算部１３３−１は、図３に示すハイパバイザ１の接続構成からハイパバイザ２の接続構成に遷移した場合のハイパバイザのＣＰＵ使用率およびネットワーク帯域を予測計算すると共に、その結果を保持する（Ｓ２０２）。
【００８５】
同様に、予測計算部１３３−１は、図３に示すハイパバイザ１の接続構成からハイパバイザ３およびハイパバイザ４の接続構成に遷移した場合のそれぞれのハイパバイザのＣＰＵ使用率およびネットワーク帯域を予測計算すると共に、その結果を保持する。
【００８６】
予測計算部１３３−１による上記計算が完了すると（Ｓ２０３においてＹｅｓ）、保持される計算結果を、通知部１３１−１が読み出し、ハイパバイザ統合管理部１１０に送信する（Ｓ２０４）。
【００８７】
取得部１１２は、上記計算結果を受け取ると、それを選択部１１１に通知する（Ｓ２０５）。選択部１１１は、取得した計算結果に基づいて、図７に示す構成から、図３のハイパバイザ２乃至４のいずれの構成への変更が、システムとして最も効果的かを判断する（Ｓ２０６）。
【００８８】
選択部１１１の上記判断の結果、例えば、図３のハイパバイザ３に示す接続構成が最も効果的であると判断された場合（ハイパバイザ３に示す接続構成を採るためのハードウェアオフロード機能を、利用するハードウェアオフロード機能として選択した場合）、ハイパバイザ統合管理部１１０は、図８に示すようにハイパバイザ１の接続構成を変更する。具体的には、例えば、ハイパバイザ統合管理部１１０は、ハイパバイザ１の接続構成の変更を、ハイパバイザ１に指示し、その指示を受けたハイパバイザ１は、ハイパバイザ３の接続構成に基づいて、オフロード対応ＮＩＣポート３１におけるハードウェアオフロード機能の設定を変更する。あるいは、コントローラが、上記設定の変更を行ってもよい。このとき、ハイパバイザ１の接続構成の変更は、通常の技術により実施されてもよい。あるいは、ハイパバイザ統合管理部１１０は、判断の結果、すなわち最も効果的な接続構成をユーザに提示し、ユーザからの構成の変更操作を受け付けてもよい。
【００８９】
ハイパバイザ統合管理部１１０は、上記のように接続構成を変更したのち、ハイパバイザ１にＶＭ１２を配置する。
【００９０】
次に、新たなＶＭを配置する際に、複数のハイパバイザのうちいずれかの接続構成を変更するとともに変更したハイパバイザに新たなＶＭを配置する動作について説明する。
【００９１】
図１０および図１１は、新たなＶＭ（ここではＶＭ１４）を配置する際の、ハイパバイザ１乃至４のいずれかの接続構成の変更と、ネットワーク設定の変更について説明する図である。
【００９２】
ここで、各ＶＭのネットワーク設定については、以下のように実施されている。すなわち、ハイパバイザ１は、図１０に示すように、ＮＩＣのハードウェアオフロード機能を利用せずに仮想スイッチ２１のみでネットワーク処理する構成であるので、ＶＭ１１のネットワーク設定は仮想スイッチ２１になされている。
【００９３】
図１２は、ＶＭ１１のネットワーク設定の一例を示す図（ａ）と、ハイパバイザ１のＮＩＣオフロード設定の一例を示す図（ｂ）である。図１２（ａ）に示すように、ネットワーク設定には、例えば、スイッチＩＤ（ＩＤｅｎｔｉｆｉｅｒ）、入力ポート番号、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス、ＶＬＡＮＩＤ、出力ポート番号、ＮＩＣオフロード設定などネットワークに関する設定情報が含まれる。
【００９４】
図１２（ａ）に示す入力ポート番号（入力ポート１）は、ＶＭ１１と接続している仮想スイッチ２１の仮想ポートのＩＤである。また、出力ポート番号（出力ポート１）は、オフロード対応ＮＩＣポート３１と接続している仮想スイッチ２１の仮想ポートのＩＤである。図１２（ｂ）に示すように、ＮＩＣオフロード設定には、オフ、オン、一部利用等が設定され、ここでは、オフが設定されている。
【００９５】
ハイパバイザ２は、ＮＩＣのハードウェアオフロード機能を一部利用しつつ仮想スイッチ２２でネットワーク処理する構成であるので、ＶＭ１３のネットワーク設定は、ハイパバイザ１と同様に、仮想スイッチ２２に保持される。
【００９６】
ハイパバイザ３、４は、それぞれ仮想スイッチ２３、２４を介さずにＮＩＣのハードウェアオフロード機能を利用する構成であるので、ＶＭ１５、１７のネットワーク設定は、それぞれスイッチ４０に保持される。ただし、ハイパバイザ３、４の設定ファイルにも、ＶＭ１５、１７のネットワーク設定は保持される。
【００９７】
ハイパバイザ１は、ＮＩＣのハードウェアオフロード機能を利用していない構成であり、遷移可能な構成として、図３のハイパバイザ２乃至４に示す構成が考えられる。よって、ハイパバイザ統合管理部１１０から、新たなＶＭを配置する旨を受けると、ハイパバイザ１のＮＩＣ管理部１３２−１は、現在のハイパバイザ１の構成は、ハードウェアオフロード機能を利用しておらず（すべての機能は無効状態）、遷移可能な構成として上記３つの構成を採るためのＮＩＣ情報を収集すると共に保持する。
【００９８】
続いて、予測計算部１３３−１は、図３に示すハイパバイザ１の接続構成からハイパバイザ２の接続構成に遷移した場合のハイパバイザ１のＣＰＵ使用率およびネットワーク帯域を予測計算すると共に、その結果を保持する。
【００９９】
同様に、予測計算部１３３−１は、図３に示すハイパバイザ１の接続構成からハイパバイザ３およびハイパバイザ４の接続構成にそれぞれ遷移した場合のそれぞれのハイパバイザのＣＰＵ使用率およびネットワーク帯域を計算すると共に、その結果を保持する。
【０１００】
同様に、ハイパバイザ２乃至４においても、それぞれＮＩＣ管理部１３２−２乃至１３２−４は、ＮＩＣ情報を収集する。予測計算部１３３−２乃至１３３−４は、遷移可能な構成に遷移した場合のそれぞれのハイパバイザのＣＰＵ使用率およびネットワーク帯域を計算すると共に、その結果を保持する。
【０１０１】
上述のように、予測計算部１３３−２乃至１３３−４による上記計算が完了すると、保持される計算結果を、それぞれ通知部１３１−２乃至１３１−４が読み出し、ハイパバイザ統合管理部１１０に送信する。
【０１０２】
ハイパバイザ統合管理部１１０の取得部１１２は、上記計算結果を受け取ると、それを選択部１１１に通知する。選択部１１１は、取得した計算結果に基づいて、いずれのハイパバイザにＶＭ１４を配置していずれの構成を採ることが、システムとして最も効果的かを判断する。例えば、選択部１１１は、各ハイパバイザが現在の接続構成（ハードウェアオフロード機能）を遷移させた場合の予測値と、ハイパバイザ統合管理部１１０が管理する各ハイパバイザで動作しているＶＭごとのＣＰＵ使用率とネットワーク帯域の平均値を比較し、比較の結果に基づいて、新たなＶＭを配置するハイパバイザとハードウェアオフロード機能を決定する。
【０１０３】
上記判断の結果、選択部１１１は、例えば、ハイパバイザ２にＶＭ１４を配置すると共に、仮想スイッチ２２を介さずオフロード対応ＮＩＣポート３３をＶＭ１３、１４で共有する構成に変更することが最も効果的であると判断したとする。この場合、ハイパバイザ統合管理部１１０は、コントローラ５０に対して、ハイパバイザ２が図１１の接続構成となるように、ハイパバイザ２のＶＭ１３と、新たに作成されるＶＭ１４のネットワーク設定の変更を依頼する。ここで、コントローラ５０は、変更部５１を備える。ハイパバイザ統合管理部１１０はまた、ハイパバイザ２のＮＩＣオフロード設定の変更を指示する。この指示はコントローラ５０からハイパバイザ２になされてもよい。
【０１０４】
ＶＭ１４の配置前には、ＶＭ１３のネットワーク設定は、図１０に示すように仮想スイッチ２２に対して実施されていたが、ハイパバイザ２にＶＭ１４を配置すると共に、仮想スイッチ２２を介さない構成に変更するため、コントローラ５０の変更部５１により、ネットワーク設定の変更が行われる。すなわち、変更部５１は、ハイパバイザ２が保持するＶＭ１３と新たに生成されるＶＭ１４に関するネットワーク設定を変更すると共に、変更した内容をスイッチ４０に設定する。
【０１０５】
図１３は、図１０の仮想スイッチ２２が保持するＶＭ１３のネットワーク設定の一例を示す図（ａ）と、ハイパバイザ２のＮＩＣオフロード設定の一例を示す図（ｂ）と、図１１のスイッチ４０に設定されるＶＭ１３のネットワーク設定の一例を示す図（ｃ）である。図１３（ａ）の入力ポート番号（入力ポート３）は、ＶＭ１３と接続している仮想スイッチ２２の仮想ポートのＩＤであり、図１３（ａ）の出力ポート番号（出力ポート３）は、ＮＩＣポート３３と接続している仮想スイッチ２２の仮想ポートのＩＤである。またこのとき、図１３（ｂ）に示すように、ハイパバイザ２のＮＩＣオフロード設定には、「一部利用」が設定されている。ＮＩＣオフロード設定は、ハードウェアオフロード機能のうち有効化されている機能のリストであってもよい。
【０１０６】
図１３（ｃ）は、図１１のスイッチ４０に設定されるＶＭ１３のネットワーク設定の一例であり、入力ポート番号（入力ポート４）には、ハイパバイザ２のＮＩＣポート３３と接続しているスイッチ４０の物理ポートのＩＤが設定される。図１３（ｃ）の出力ポート番号（出力ポート４）には、いずれか１または複数のＮＩＣポートと接続しているスイッチ４０の物理ポートのＩＤが設定される。出力ポート番号には、ネットワーク設計に従って、１または複数が決定される。例えば、ＶＭ１３がＶＭ１１とのみ通信する場合、ＮＩＣポート３１と接続しているスイッチ４０の物理ポートのＩＤが設定される。ＶＭ１３がＶＭ１１、ＶＭ１５、ＶＭ１７と通信する場合、ＮＩＣポート３１、３５、３７とそれぞれ接続しているスイッチ４０の各物理ポートのＩＤが設定される。
【０１０７】
コントローラ５０の変更部５１は、図１３（ａ）に示すように仮想スイッチ２２に設定されていたネットワーク設定を、ネットワーク設計にしたがって、図１３（ｃ）に示すように変更すると共に、それをスイッチ４０に設定する。変更部５１はまた、新たに配置したＶＭ１４のネットワーク設定も、ネットワーク設計にしたがって生成し、スイッチ４０に設定する。変更部５１によるネットワーク設定の変更が実施されると、ハイパバイザ統合管理部１１０は、新たなＶＭ１４を、ハイパバイザ２に生成する。ハイパバイザ統合管理部１１０は、通常の技術により新たなＶＭを生成すればよい。またこのとき、ハイパバイザ２のＮＩＣオフロード設定も変更される。ここでは、例えば「オフ」に設定されてもよい。
【０１０８】
以上のように、本実施形態によれば、ＮＩＣのハードウェアオフロード機能の有効化または無効化によるハイパバイザの性能への影響、例えば、ハイパバイザのＣＰＵ使用率またはネットワーク帯域を、ハイパバイザ統合管理部１１０に通知する。ハイパバイザ統合管理部１１０は、上記ＮＩＣのハードウェアオフロード機能によるハイパバイザの性能への影響を考慮して、新たなＶＭの配置先を決定する。この構成を採用することにより、ハードウェアオフロード機能を考慮した最適な仮想マシン配置場所を特定することが可能となるので、システム全体としてネットワークの最適化ができるという効果が得られる。
【０１０９】
また、ハードウェアオフロード機能の構成変更を動的に実施することで、ハイパバイザのＣＰＵ使用率やネットワーク帯域といったシステムリソースを動的に確保しながら、適切なハイパバイザへＶＭを配置することが可能となるという効果が得られる。
【０１１０】
さらに、コントローラ５０にＯＦＣ、スイッチ４０にＯＦＳをそれぞれ用いた場合、ハイパバイザ統合管理部１１０は、ＯＦＣと連携可能である。ハイパバイザ１から、ハイパバイザ３またはハイパバイザ４の構成へ変更する場合、つまり、ＶＭが仮想スイッチと接続するか物理スイッチと接続するかが変更される場合、当該ＶＭへ設定していたネットワーク設定をＯＦＣが動的に変更することができる。例えば、パケットフィルタ設定のようなネットワーク設定は、通常、エッジスイッチ（最も端末に近いＯＦＳ）に設定が行われる。上記のような構成変更の際、ハイパバイザ統合管理部１１０とＯＦＣとが連携することで、ネットワーク設定を物理スイッチに自動的に変更することが可能となる。
【０１１１】
図１等に示した仮想マシン配置装置１０、１００の各部は、図１４に例示するハードウエア資源において実現される。すなわち、図１４に示す構成は、プロセッサ６１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）６２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）６３、外部接続インタフェース６４、記録装置６５および各構成要素を接続するバス６６を備える。
【０１１２】
上述した各実施形態では、図１４に示すプロセッサ１１が実行する一例として、仮想マシン配置装置１０、１００に対して、選択部３０、１１１、取得部２０、１１２等の上述した機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、プロセッサ６１がＲＡＭ６２に読み出して実行することによって実現する場合について説明した。しかしながら、図１等に示した各ブロックに示す機能は、一部または全部を、ハードウェアとして実現してもよい。
【０１１３】
係る供給されたコンピュータ・プログラムは、読み書き可能なメモリ（一時記憶媒体）またはハードディスク装置等のコンピュータ読み取り可能な記憶デバイスに格納すればよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムを表すコード或いは係るコンピュータ・プログラムを格納した記憶媒体によって構成されると捉えることができる。
【０１１４】
以上、上述した実施形態を参照して本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、種々の上記開示要素の多様な組み合わせ乃至選択など、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【０１１５】
１乃至４、１２０  ハイパバイザ
１０、１００  仮想マシン配置装置
２０  取得部
２１乃至２４  仮想スイッチ
３０  選択部
３１乃至３８  オフロード対応ＮＩＣポート
４０  スイッチ
５０  コントローラ
５１  変更部
１１０  ハイパバイザ統合管理部
１１１  選択部
１１２  取得部
１３０、１３０−１  制御部
１３１、１３１−１乃至１３１−４  通知部
１３２、１３２−１乃至１３２−４  ＮＩＣ管理部
１３３、１３３−１乃至１３３−４  予測計算部
【図１】
2017174301.tif 000003
【図２】
2017174301.tif 000004
【図３】
2017174301.tif 000005
【図４】
2017174301.tif 000006
【図５】
2017174301.tif 000007
【図６】
2017174301.tif 000008
【図７】
2017174301.tif 000009
【図８】
2017174301.tif 000010
【図９】
2017174301.tif 000011
【図１０】
2017174301.tif 000012
【図１１】
2017174301.tif 000013
【図１２】
2017174301.tif 000014
【図１３】
2017174301.tif 000015
【図１４】
2017174301.tif 000016