JP6295759B2 - ネットワーク管理装置,情報処理システム及びプログラム - Google Patents

ネットワーク管理装置,情報処理システム及びプログラム Download PDF

Info

Publication number
JP6295759B2
JP6295759B2 JP2014058026A JP2014058026A JP6295759B2 JP 6295759 B2 JP6295759 B2 JP 6295759B2 JP 2014058026 A JP2014058026 A JP 2014058026A JP 2014058026 A JP2014058026 A JP 2014058026A JP 6295759 B2 JP6295759 B2 JP 6295759B2
Authority
JP
Japan
Prior art keywords
application
virtual machine
information
guest
management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014058026A
Other languages
English (en)
Other versions
JP2015184734A (ja
Inventor
勉 金子
勉 金子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014058026A priority Critical patent/JP6295759B2/ja
Priority to US14/660,241 priority patent/US9798563B2/en
Publication of JP2015184734A publication Critical patent/JP2015184734A/ja
Application granted granted Critical
Publication of JP6295759B2 publication Critical patent/JP6295759B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は,ネットワーク管理装置,情報処理システム及びプログラムに関する。
近年,物理マシン(以下,VMホストとも呼ぶ)の性能向上に伴い,複数の仮想マシンを1つの物理マシンに集約する仮想化技術の研究が進められている。この仮想化技術は,例えば,仮想化ソフトウエア(以下,ハイパバイザとも呼ぶ)が物理マシンを複数の仮想マシンに割当てて,各仮想マシンにインストールされたアプリケーションプログラム(以下,アプリケーションとも呼ぶ)によるサービスの提供を可能にする。
このような仮想化技術の進歩に伴い,従来は物理マシンが行っていたミッションクリティカルな業務を仮想マシンに実行させる場合がある。そのため,仮想マシンによる仮想環境においても,物理マシンによる物理環境と同等の信頼性が求められている(例えば,特許文献1乃至3参照)。
特許第5032191号公報 特表2004−530196号公報 特開平10−187638号公報
物理マシンは,例えば,ネットワークの障害等による縮退が発生した場合,物理マシンは,重要度(優先度)の低いアプリケーションを停止させる。これにより,重要度の高いアプリケーションへの影響を防ぐことが可能になる。
一方,例えば,同一物理マシン内の複数の仮想マシンを様々なユーザが利用している場合,セキュリティの観点から,仮想マシンと物理マシンとが直接通信できない構成を採用するのが一般的である。そのため,仮想マシンは,物理マシンにおいて発生した物理的なネットワークの障害等による通信帯域の変化を検知することができない。したがって,仮想マシンは,物理マシンの場合と異なり,上記のように通信帯域の変化に伴って重要度の低いアプリケーションを停止させることができない。
また,物理マシンは,システムの稼働中(サービスの提供中)にマイグレーションが実施される場合がある。このマイグレーションは,既に仮想マシンが作成されている物理マシンに対して行われる場合がある。
ここで,仮想マシンは,新たな仮想マシンが同一の物理マシンに作成された場合であっても,上記のようにセキュリティの観点から,物理マシンの情報を共有することができない。そのため,仮想マシンは,同一の物理マシンに作成された新たな仮想マシンを認識することができない。したがって,それぞれの仮想マシンがアプリケーションを実行することにより,通信帯域が圧迫される場合がある。
そこで,一つの実施の形態の目的は,物理ネットワークの状態変化に応じて,仮想マシンが実行するアプリケーションを停止するネットワーク管理装置,情報処理システム及びプログラムを提供することにある。
実施の形態の一つの側面によれば,仮想マシン上で動作可能なアプリケーションの優先度と,該アプリケーションの動作に使用する通信帯域の情報とを組み合わせた管理情報を含む管理パケットを,前記仮想マシンから受信する情報取得部と,
前記管理情報と現在使用可能な通信帯域の情報とに基づいて,停止させるべきアプリケーションを選択し,該選択したアプリケーションを前記仮想マシンに停止させるために,前記選択したアプリケーションの情報を含む応答パケットを前記仮想マシンに送信する選択部と,を有する。
物理ネットワークの状態変化に応じて,仮想マシンが実行するアプリケーションを停止することができる。
本実施の形態における情報処理システムの全体構成を示す図である。 管理サーバとVMホストとのハードウエア構成を示す図である。 図2で示した管理サーバの機能ブロック図である。 図2で示したVMホストの機能ブロック図である。 一般的なVMホストと仮想マシンを説明する図である。 一般的なVMホストと仮想マシンを説明する図である。 本実施の形態におけるネットワーク管理処理の概略を説明するシーケンスチャート図である。 本実施の形態におけるネットワーク管理処理の概略を説明する図である。 本実施の形態におけるネットワーク管理処理の詳細を説明するフローチャート図である。 本実施の形態におけるネットワーク管理処理の詳細を説明するフローチャート図である。 本実施の形態における管理情報と帯域情報を説明する図である。 第2の実施の形態におけるネットワーク管理処理の概略を説明する図である。 第2の実施の形態における管理情報と帯域情報を説明する図である。 第3の実施の形態におけるネットワーク管理処理の概略を説明する図である。 第3の実施の形態における管理情報と帯域情報を説明する図である。 第4の実施の形態における管理情報と帯域情報を説明する図である。 第5の実施の形態における管理情報と帯域情報を説明する図である。
[情報処理システムの構成]
図1は,本実施の形態における情報処理システムの全体構成を示す図である。データセンタ5内に,管理サーバ1と,VMホスト2(以下,ネットワーク管理装置2とも呼ぶ)とが設けられている。そして,データセンタ5には,インターネットやイントラネット等のネットワークを介して,利用者端末6が接続可能になっている。
VMホスト2は,図1の例においては複数の物理マシンから構成されており,各物理マシンはCPUとメモリ(DRAM)とハードディスク(HDD)等の大容量メモリとネットワークとを有する。VMホスト2のリソースは,複数の仮想マシン3に割当てられる。
管理サーバ1は,仮想マシン3と通信可能であり,VMホスト2内に作成された仮想マシン3の管理を行うものである。管理サーバ1は,例えば,仮想マシン3によって作成されてもよい。
仮想マシン3は,例えば,そのインフラをネットワーク経由でクラウド利用者に提供するもの(以下,クラウドサービスとも呼ぶ)である。
クラウドサービスは,コンピュータシステムを構築し稼働させるための基盤,即ち,仮想マシン3やネットワーク等のインフラストラクチャそのものを,ネットワーク経由で提供するサービスである。また,クラウド利用者は,例えば,利用者端末6からクラウドサービスポータルサイトにアクセスして,仮想マシンに必要な仕様,例えばCPUのクロック周波数,メモリの容量(GB),ハードディスクの容量(MB/sec,IOPS),及びネットワークの通信帯域幅(Gbps)を選択し,それらについてクラウド利用契約を締結する。また,利用者端末6は,例えば,仮想マシン3の稼働状況を監視や,仮想マシンに対する操作等を可能にする。
仮想化ソフトウエア4は,管理サーバ1からの指示に応じて,VMホスト2のCPU,メモリ,ハードディスク,ネットワークを割当てることにより,仮想マシン3を動作させる基盤ソフトウエアである。仮想化ソフトウエア4は,例えば,VMホスト2で動作する。
仮想マシン3は,VMホスト2のリソースが割当てられることに加えて,例えば,OS,ミドルウエア,アプリケーション,データベースなどを有するイメージファイルをそのハードディスク内に有する。そして,仮想マシン3は,例えば,起動時にイメージファイルをハードディスクからメモリに書き込み,所望のサービスに対応する動作を行う。なお,以下,VMホスト2で動作するOSをホストOSと呼び,VMホスト2に作成された仮想マシン3で動作するOSをゲストOSと呼ぶ。
図2は,管理サーバとVMホストとのハードウエア構成を示す図である。管理サーバ1は,プロセッサであるCPU(プロセッサ)101と,メモリ102と,外部インターフェース(I/Oユニット)103と,記憶媒体104を有する。各部は,バス105を介して互いに接続される。記憶媒体104は,例えば,記憶媒体104内のプログラム格納領域(図示しない)に,仮想マシン3の起動処理等を行うためのプログラム110を記憶する。CPU101は,図2に示すように,プログラム110の実行時に,プログラム110を記憶媒体104からメモリ102にロードし,プログラム110と協働して仮想マシン3の起動処理等を行う。また,記憶媒体104は,例えば,仮想マシン3の起動等を行う際に用いられる情報を記憶する情報格納領域120を有する。
VMホスト2は,プロセッサであるCPU(プロセッサ)201と,メモリ202と,外部インターフェース(I/Oユニット)203と,記憶媒体204を有する。各部は,バス205を介して互いに接続される。記憶媒体204は,例えば,記憶媒体204内のプログラム格納領域(図示しない)に,ネットワーク管理処理を行うためのプログラム210及びプログラム310を記憶する。CPU201は,図2に示すように,プログラム210またはプログラム310の実行時に,プログラム210またはプログラム310を記憶媒体204からメモリ202にロードし,プログラム210またはプログラム310と協働してネットワーク管理処理を行う。また,記憶媒体204は,ネットワーク管理処理を行う際に用いられる情報を記憶する情報格納領域320を有する。
図3は,図2で示した管理サーバの機能ブロック図である。CPU101は,プログラム110と協働することにより,例えば,クラウド利用者管理部111と,仮想マシン作成部112と,仮想マシン起動部113と,仮想マシンシャットダウン部114と,仮想マシンマイグレーション部115として動作する。また,情報格納領域120には,例えば,クラウド利用者管理情報121と,仮想マシン管理情報122とが記憶されている。
クラウド利用者管理部111は,例えば,クラウド契約を締結したクラウド利用者への課金処理等のクラウド利用者管理を行う。また,仮想マシン作成部112は,例えば,クラウド契約に基づいて物理マシンのリソースを割当てて仮想マシン3を作成する。また,仮想マシン起動部113は,例えば,仮想マシン3の起動を仮想化ソフトウエア4に指示する。
仮想マシンシャットダウン部114は,例えば,起動状態の仮想マシン3のシャットダウンを仮想化ソフトウエア4に指示する。また,仮想マシンマイグレーション部115は,例えば,仮想マシン3のマイグレーションを仮想化ソフトウエア4に指示する。
クラウド利用者管理情報121は,例えば,仮想マシン3とクラウド利用者とその契約等に関する管理情報である。また,仮想マシン管理情報122は,例えば,仮想化ソフトウエア4から報告される仮想マシン3の動作情報を含む管理情報である。
図4は,図2で示したVMホストの機能ブロック図である。CPU201は,プログラム210と協働することにより,例えば,帯域計測部211と,管理パケット受信部212(以下,情報取得部212とも呼ぶ)と,アプリケーション選択部213と,応答パケット作成部214と,応答パケット送信部215(以下,アプリケーション選択部213と,応答パケット作成部214と,応答パケット送信部215とをまとめて選択部とも呼ぶ)として動作する。この帯域測定部211,管理パケット受信部212,アプリケーション選択部213,応答パケット作成部214,応答パケット送信部215は,VMホスト2のホストOSの機能として動作する。また,プログラム210は,例えば,VMホスト2のネットワークカード(以下,物理NICとも呼ぶ)を束ねて制御するネットワークドライバであってよい。
帯域計測部211は,例えば,仮想マシン3のゲストOS上で動作するアプリケーションが現在使用可能な物理的な通信帯域の情報を取得する。帯域計測部211は,例えば,VMホスト2の物理NICの情報を取得することにより,現在使用可能な通信帯域の情報を取得するものであってよい。
管理パケット受信部212は,例えば,ゲストOSから送信されたパケットの中から,管理パケット(以下,監視パケットとも呼ぶ)の抽出を行う。そして,管理パケット受信部212は,受信した管理パケットから管理情報を取得(抽出)する。管理情報は,ゲストOS上で動作可能なアプリケーションの優先度と,そのアプリケーションの動作に使用する通信帯域(動作するために必要な通信帯域)の情報とを組み合わせた情報である。この管理情報の詳細については後述する。
アプリケーション選択部213は,管理パケット受信部212が受信した管理情報と,帯域計測部211が計測した現在使用可能な通信帯域の情報とに基づいて,停止させるべきゲストOS上で動作するアプリケーションを選択する。また,応答パケット作成部214は,アプリケーション選択部213が選択したアプリケーションをゲストOSに停止させるために,アプリケーション選択部213が選択したアプリケーションの情報を含む応答パケットを作成する。また,応答パケット送信部215は,応答パケット作成部214が作成した応答パケットをゲストOSに送信する。
また,CPU201(VMホスト2から仮想マシン3に割当てられたCPU201の一部)は,プログラム310と協働することにより,例えば,管理情報作成部311(以下,情報作成部311とも呼ぶ)と,管理パケット作成部312と,管理パケット送信部313(以下,情報送信部313とも呼ぶ)と,応答パケット受信部314と,アプリケーション制御部315(以下,制御部315とも呼ぶ)として動作する。この管理情報作成部311,管理パケット作成部312,管理パケット送信部313,応答パケット受信部314,アプリケーション制御部315は,仮想マシン3のゲストOSの機能として動作する。また,情報格納領域320には,例えば,優先度管理情報321と,必要帯域管理情報322とが記憶されている。
管理情報作成部311は,上記の管理情報を作成する。管理情報作成部311は,例えば,所定の時間間隔毎(例えば,5分毎)に管理情報を作成するものであってよい。また,管理パケット作成部312は,上記の管理パケットを作成し,管理パケット送信部313は,管理パケットをホストOSに向けて送信する。管理パケット送信部313は,例えば,管理情報作成部311により管理情報が作成されたことに応答して,管理パケットをホストOSに向けて送信するものであってよい。また,応答パケット受信部314は,ホストOSから送信される応答パケットを受信する。管理情報作成部311,管理パケット作成部312,管理パケット送信部313及び応答パケット受信部314は,例えば,VMホスト2と接続したスイッチの監視を行うための監視エージェントによって実現するものであってもよい。
アプリケーション制御部315は,ホストOSから受信した応答パケット内の管理情報に基づいて,ホストOSが選択したアプリケーションを停止する。なお,アプリケーション制御部315は,停止するアプリケーションを動作するゲストOSと,そのゲストOSのアプリケーションと同じアプリケーションを有する他のVMホスト内のゲストOSとによりクラスタシステムを構成するものであってもよい。そして,この場合,アプリケーション制御部315は,ホストOSによって選択されたアプリケーションを停止する際に,その停止するアプリケーションに対応する他のゲストOSのアプリケーションを起動させる。
このクラスタシステムは,複数のコンピュータが連結したものであり,サービスの利用者や他のコンピュータに対して全体で1台のコンピュータであるかのように振舞うシステムである。例えば,複数の仮想マシンに同じアプリケーションをインストールしておき,正常系の仮想マシンに障害が発生した場合に,待機系の仮想マシンに自動的に切り替えるものである。これにより,サービスの利用者(クラウド利用者)は,正常系の仮想マシンで発生した障害に影響されることなく,サービスの利用を継続することが可能になる。そのため,本実施の形態におけるアプリケーション制御部315は,クラスタシステムを構成するために,例えば,クラスタシステムを構成する各ゲストOSにおいてそれぞれ動作するものであってよい。そして,各VMホスト間を接続する回線により,各ゲストOS間において情報のやりとりを行うものであってよい。さらに,アプリケーション制御部315は,例えば,クラスタシステムを構成する他のゲストOSや他のゲストOS上で動作するアプリケーションの稼動状態を,互いに監視しているものであってよい。また,アプリケーション制御部315は,他のゲストOSや他のゲストOS上で動作するアプリケーションの異常を検知した場合に,自らがインストールされたゲストOSに自動的に切り替えるものであってよい。
優先度管理情報321は,ゲストOS上で動作するアプリケーションの重要度(優先度)に関する管理情報である。優先度管理情報321は,例えばVMホスト2毎に,そのVMホスト2の仮想マシン3において動作するアプリケーションについて優先度の順位付けするものであってよい。また,優先度管理情報321は,例えばクラウド利用者毎に,そのクラウド利用者が使用する全てのアプリケーションについて,同一VMホスト2で動作するアプリケーションであるか否かにかかわらず優先度の順位付けをするものであってもよい。そして,例えばクラウド利用者は,自らが使用する可能性のあるアプリケーションの優先度の順位を,優先度管理情報321として予め記憶させておくものであってもよい。これにより,アプリケーション選択部213は,マイグレーションや新規ゲストOSの作成等が行われた場合においても,優先度管理情報321を参照して迅速にアプリケーションの優先度の順位付けを行うことができる。
必要帯域管理情報322は,各アプリケーションが動作するために必要な通信帯域に関する管理情報である。例えばクラウド利用者は,自らが使用する可能性のあるアプリケーションが動作するために必要な通信帯域の情報を,必要帯域管理情報322として予め記憶させておくものであってもよい。
[VMホストと仮想マシンの関係]
次に,VMホストと仮想マシンとの関係について説明する。図5及び図6は,一般的なVMホストと仮想マシンを説明する図である。
図5の例において,VMホスト2Aには,仮想マシン3Aが作成されている。仮想マシン3Aの仮想NIC32Aは,ホストOS21A内のネットワークドライバ25Aを介してVMホスト2Aの物理NIC22A及び物理NIC23Aに仮想的に接続している。また,図5の例において,VMホスト2Bには,仮想マシン3Bが作成されている。仮想マシン3Bの仮想NIC32Bは,ホストOS21B内のネットワークドライバ25Bを介してVMホスト2Bの物理NIC22B及び物理NIC23Bに仮想的に接続している。さらに,物理NIC22A及び物理NIC22Bは,物理スイッチ(物理SW)24Aに接続しており,物理NIC23A及び物理NIC23Bは,物理スイッチ24Bに接続している。また,VMホスト2A及びVMホスト2Bは,それぞれホストOS21A,ホストOS21Bを有しており,仮想マシン3A及び仮想マシン3Bは,それぞれゲストOS31A,ゲストOS31Bを有している。
さらに,ゲストOS31A及びゲストOS31Bには,同じアプリケーションがそれぞれインストールされている。具体的に,図5の例では,ゲストOS31Aには,APP331A,APP332A,APP333A(以下,それぞれAPP1−1,APP1−2,APP1−3とも呼ぶ)がインストールされている。また,ゲストOS31Bには,それぞれAPP1−1,APP1−2,APP1−3と同じアプリケーションであるAPP331B,APP332B,APP333B(以下,それぞれAPP2−1,APP2−2,APP2−3とも呼ぶ)がインストールされている。
そして,ゲストOS31A及びゲストOS31Bは,例えば,上記のアプリケーション制御部315によってクラスタシステムを構成している。図5の例では,ゲストOS31A上においてAPP1−1及びAPP1−2が動作しており,ゲストOS31B上においてAPP2−3が動作している(図5において,網掛けのアプリケーションは停止しているアプリケーションを表している)。
図5に示す例において,例えば,VMホスト2Aの物理NIC22Aと物理スイッチ24Aとの間の通信回線が通信できなくなる障害が発生した場合,VMホスト2Aがその外部と通信できる通信回線は,物理NIC23Aと物理スイッチ24Bとの間の通信回線のみになる。この場合,物理NIC23Aと物理スイッチ24Bとの間の通信回線のみでは,APP1−1及びAPP1−2が動作するために必要な通信帯域を確保できなくなる場合がある。そのため,ゲストOS31Aは,優先度の高いアプリケーション(例えば,APP1−1)が動作するために必要な通信帯域を確保するために,例えば,優先度が低いアプリケーション(例えば,APP1−2)をゲストOS31Bに切り替えて動作させる。
しかし,セキュリティの観点から仮想マシン3AとVMホスト2Aとが直接通信できない構成を採用している場合,ゲストOS31Aは,VMホスト2Aの通信回線で発生した障害を検知することができず,アプリケーションの切り替えを行うことができない。そのため,ゲストOS31Aは,優先度の高いアプリケーションの動作を継続するために必要な通信帯域を確保できなくなる場合がある。
一方,図6は,マイグレーション等により,VMホスト2A内に新たな仮想マシンが作成された場合の図である。
図6の例において,新たに作成された仮想マシン3Cの仮想NIC32Cは,ネットワークドライバ25Bを介してVMホスト2Bの物理NIC22B及び物理NIC23Bに仮想的に接続している。すなわち,図6の例においては,仮想マシン3A及び仮想マシン3Cは,同じ通信回線を共有する。そのため,ゲストOS31CのアプリケーションであるAPP331C(以下,APP3−1とも呼ぶ)の動作状態によっては,ゲストOS31A上で動作する優先度の高いアプリケーションが使用する通信帯域が不足する場合がある。したがって,ゲストOS31Aは,例えば,優先度が低いアプリケーション(例えば,APP1−2)をゲストOS31Bに切り替える等より,優先度の高いアプリケーション(例えば,APP1−1)が動作するための通信帯域を確保する必要がある。
しかし,図6の例においても,セキュリティの観点から仮想マシン3AとVMホスト2Aとが直接通信できない構成を採用している場合には,ゲストOS31Aは,新たに作成された仮想マシン3Cの情報を取得することができない。そのため,ゲストOS31Aは,同一のVMホスト2A内に作成された新たな仮想マシン3Cを認識することができない。したがって,ゲストOS31A及びゲストOS31Cがそれぞれのアプリケーションを実行することにより,仮想マシン3Aは,優先度の高いアプリケーションを動作するために必要な通信帯域を確保できなくなる場合がある。
そこで,本実施の形態では,ゲストOS31A上のアプリケーションの優先度及び必要帯域と,現在使用可能な帯域情報とに基づいて,VMホスト2AのホストOS21Aが停止するアプリケーションを選択し,さらに,ゲストOS31Aに停止させることによって,重要度の高いアプリケーションが使用する通信帯域を確保する。
[第1の実施の形態]
初めに,第1の実施の形態について説明する。図7は,本実施の形態におけるネットワーク管理処理の概略を説明するシーケンスチャート図である。また,図8は,本実施の形態におけるネットワーク管理処理の概略を説明する図である。図8を参照しながら,図7のネットワーク管理処理についての概略を説明する。なお,図8では,ゲストOS31Aが他のゲストOSとクラスタシステムを構成していない場合について説明する。
[図7のS1からS3]
初めに,仮想マシン3AのゲストOS31Aは,各アプリケーションの優先度と,各アプリケーションを動作するために必要な通信帯域の情報とを組み合わせた管理情報を作成する(S1)。
図8は,VMホスト2Aと仮想マシン3Aとの関係を説明する図である。図8において,VMホスト2Aには,仮想マシン3Aが作成されている。また,図8においては,仮想マシン3AのゲストOS31Aが有しているアプリケーション(APP1−1,APP1−2,APP1−3)と,アプリケーションの起動または停止等の制御を行うアプリケーション制御部315とを記載している。仮想マシン3Aの仮想NIC32Aは,ネットワークドライバ25Aを介してVMホスト2Aの物理NIC22A及び物理NIC23Aに仮想的に接続している。また,図8の例においては,図5において説明した例と異なり,ゲストOS31Aは,監視エージェント33Aを有している。
監視エージェント33Aは,例えば,ゲストOS31A上で動作するプログラムであり,VMホスト2Aと接続した物理スイッチ等の動作状態の監視を行うものである。図8の例の監視エージェント33Aは,例えば,VMホスト2Aと接続した物理スイッチ24A及び物理スイッチ24Bに監視パケットを送信し,その応答の有無によって各物理スイッチの状態を判断するものである。図7及び図8の例においては,ゲストOS31Aの監視エージェント33Aが管理情報の作成等を行う場合について説明する。
管理情報は,ゲストOS31A上で動作可能なアプリケーションの優先度と,そのアプリケーションの動作に必要な通信帯域の情報とを組み合わせた情報である。この管理情報は,例えば,監視エージェント33Aが,優先度管理情報321に記憶された各アプリケーションの優先度に関する情報と,必要帯域管理情報322に記憶された各アプリケーションを動作させるために必要な通信帯域に関する情報とを組み合わせて作成する。
図7に戻り,ゲストOS31Aは,管理情報を含む管理パケットを作成し(S2),ホストOS21Aに向けて送信する(S3)。この管理パケットの作成及び送信は,上記の監視エージェント33Aが行うものであってよい。
[図7のS4からS7]
VMホスト2AのホストOS21Aは,例えば,ゲストOS31Aから管理パケットを受信したときに,現在使用可能な通信帯域の情報を取得し(S4),管理パケットに含まれる管理情報と現在使用可能な通信帯域の情報とに基づいて,停止させるべきアプリケーションを選択する(S5)。
すなわち,図8の例においては,物理NIC22Aと物理スイッチ24Aとの間の通信回線が通信不可になった場合,VMホスト2Aは,物理NIC22Bと物理スイッチ24Bとの間の通信回線によってのみ外部と通信が可能になる。この場合,ゲストOS31A上で動作するアプリケーションが使用することができる通信帯域が減少する場合がある。そのため,VMホスト2AのホストOS21Aは,ゲストOS31Aから受信した管理情報と,VMホスト2Aが現在使用可能な通信帯域の情報とに基づいて,ゲストOS31A上で動作するアプリケーションのうち優先度が低いものを選択し,これをゲストOS31Aに停止させる。これにより,ゲストOS31A上で動作するアプリケーションのうち優先度が高いものについては,その動作を継続させる。
なお,図7の例では,ホストOS21Aが有するネットワークドライバ25Aが,ゲストOS31Aに停止させるアプリケーションを選択する場合について説明する。このネットワークドライバ25Aは,例えば,ゲストOS31Aから送信されたパケットのヘッダーを確認することにより,管理パケットを特定するものであってよい。
図7の例において,VMホスト2Aが現在使用可能な通信帯域は,例えば,ネットワークドライバ25Aの一部である帯域計測部211が計測するものであってよい(S4)。また,ネットワークドライバ25Aは,帯域計測部211によって,現在使用可能な通信帯域を常時計測し続けるものであってもよい。そして,ネットワークドライバ25Aは,例えば,管理情報と現在使用可能な通信帯域の情報とに基づいて,ゲストOS31A上で現在動作しているアプリケーションのうち,停止するアプリケーションを選択する(S5)。具体的に,ネットワークドライバ25Aは,例えば,管理情報含まれる優先度が低いアプリケーションを優先して,停止するアプリケーションとして選択していく。そして,ネットワークドライバ25Aは,継続して動作させるアプリケーションが必要とする通信帯域の合計値が,現在使用可能な通信帯域内に収まるまで(現在使用可能な通信帯域を下回るまで),停止するアプリケーションの選択を行う。停止するアプリケーションの選択の詳細については後述する。
次に,ホストOS21Aは,選択したアプリケーションの情報を含む応答パケットを作成し,作成した応答パケットをゲストOS31Aに送信する(S6,S7)。
すなわち,同一VMホスト2A内の複数の仮想マシン3Aを様々な利用者が利用している場合,セキュリティの観点からVMホスト2Aと仮想マシン3Aとの直接通信を認めない場合がある。しかし,この場合においても,仮想マシン3Aは,VMホスト2Aに接続した物理スイッチの動作状態を確認する場合等においては,VMホスト2Aと通信を行う必要がある。そこで,本実施の形態におけるホストOS21Aは,限定的に認められているVMホスト2Aと仮想マシン3Aとの通信手段を活用して,ゲストOS31Aのアプリケーションが使用することができる通信帯域に関する情報をゲストOS31Aに送信する。
[図7のS8]
ゲストOS31Aは,ホストOS21Aから応答パケットを受信した後,ホストOS21Aにおいて選択されたアプリケーションを停止する(S8)。図8の例では,ゲストOS31Aから応答パケットを受信した監視エージェント33Aが,応答パケットに含まれる選択したアプリケーションの情報をアプリケーション制御部315に通知する。そして,アプリケーション制御部315が選択されたアプリケーションの停止を行う。
このように,本実施の形態によれば,VMホスト2AのホストOS21Aは,仮想マシン3AのゲストOS31A上で動作可能なアプリケーションの優先度と,そのアプリケーションの動作に使用する通信帯域の情報とを組み合わせた管理情報を含む管理パケットを,ゲストOS31Aから受信する。次に,ホストOS21Aは,ゲストOS31Aから受信した管理情報と現在使用可能な通信帯域の情報とに基づいて,停止させるべきアプリケーションを選択する。そして,ホストOS21Aは,選択したアプリケーションの情報を含む応答パケットをゲストOS31Aに送信し,ゲストOS31Aに選択したアプリケーションを停止させる。これにより,ゲストOS31Aは,VMホスト2Aまたはその周辺の通信回線で発生した障害を検知することができる。そのため,ゲストOS31Aは,障害の発生に応答して重要度の低いアプリケーションを停止させることにより,重要度の高いアプリケーションを継続して動作させるための通信帯域を確保することが可能になる。
また,本実施の形態によれば,ゲストOS31Aは,ゲストOS31AとホストOS21Aとのやり取りだけで,VMホスト2Aまたはその周辺の通信回線で発生した障害を検知することができる。したがって,例えば,ゲストOS31Aは,管理サーバ1等の制御を受ける必要がない。そのため,例えば,VMホスト2Aと管理サーバ1との間の通信回線に障害等が発生して通信不可になった場合においても,ゲストOS31Aは,重要度の高いアプリケーションを継続して動作させるための通信帯域を確保することが可能になる。
[第1の実施の形態の詳細]
次に,第1の実施の形態の詳細について説明する。図9及び図10は,本実施の形態におけるネットワーク管理処理の詳細を説明するフローチャート図である。また,図11は,本実施の形態における管理情報と帯域情報を説明する図である。図8及び図11を参照しながら,図9及び図10のネットワーク管理処理の詳細を説明する。
[仮想マシン(ゲストOS)の処理]
初めに,仮想マシン3Aにおいて実行される処理について説明する。図9は,仮想マシン3AのゲストOS31Aにおいて実行されるネットワーク管理処理のフローチャートである。
ゲストOS31Aの管理情報作成部311は,例えば,監視パケットの送信時間になったときに(S11のYES),各アプリケーションの優先度の情報と各アプリケーションを動作させるために必要な通信帯域の情報に基づいて管理情報を作成する(S12)。そして,ゲストOS31Aの管理パケット作成部312は,作成した管理情報を含む管理パケットを作成し(S13),ゲストOS31Aの管理パケット送信部313は,ホストOS21Aに管理パケットを送信する(S14)。管理情報及び管理パケットについては図7で説明したため,ここでは詳細な説明を省略する。なお,管理情報作成部311は,例えば,管理サーバ1からの指示を受けたときに管理情報の作成を行うものであってもよい。
次に,ゲストOS31Aの応答パケット受信部314がホストOS21Aから応答パケットを受信した場合(S15のYES),アプリケーション制御部315は,応答パケットに含まれる管理情報(ホストOS21Aによって更新された管理情報)に基づいて,選択されたアプリケーションの停止を行う(S16)。そして,ゲストOS31Aは,例えば,次の監視パケットの送信時間まで待機する。
[VMホスト(ホストOS)の処理]
次に,VMホスト2Aにおいて実行される処理について説明する。図10は,VMホスト2AのホストOS21Aにおいて実行されるネットワーク管理処理のフローチャートである。
図10の例において,ホストOS21Aのアプリケーション選択部213は,例えば,ホストOS21Aの管理パケット受信部212が管理情報を含む管理パケットをゲストOS31Aから受信する(S21のYES)。また,アプリケーション選択部213は,例えば,ホストOS21Aの帯域計測部211が計測したVMホスト2Aが現在使用可能な帯域の情報を取得する(S22のYES)。そして,アプリケーション選択部213は,例えば,管理パケットを受信し(S21のYES),さらに,現在使用可能な帯域の情報を取得したときに(S22のYES),停止するゲストOS31Aのアプリケーションの選択をするか否かの判断を行う(S23)。具体的に,アプリケーション選択部213は,例えば,ゲストOS31A上で動作中のアプリケーションが必要としている通信帯域の合計値が,VMホスト2Aが現在使用可能な通信帯域を上回っている場合に(S23のYES),停止するアプリケーションの選択を行う(S24)。
すなわち,VMホスト2Aが外部と通信するための通信回線は,障害によってその一部が通信できなくなる場合がある。この場合,障害発生前においては,ゲストOS31A上で動作中のアプリケーションが動作するために必要な通信帯域を確保することができていたが,障害の発生によってその通信帯域が不足する場合がある。そのため,アプリケーション選択部213は,ゲストOS31A上で動作するアプリケーションの管理情報と現在使用可能である通信帯域の情報とに基づいて,ゲストOS31A上で動作中のアプリケーションが必要としている通信帯域の合計値と,現在使用可能な通信帯域との比較を定期的に行う。これにより,アプリケーション選択部213は,ゲストOS31A上で動作中のアプリケーションが必要としている通信帯域の合計値が,現在使用可能な通信帯域を上回っている場合に,優先度が低いアプリケーションを停止させることが可能になる。そして,ゲストOS31Aは,優先度が高いアプリケーションの動作を継続させることができる。以下,停止するアプリケーションの選択の具体例を説明する。
[停止するアプリケーションの選択の具体例(1)]
図11は,図8に示す場合における管理情報及び現在使用可能な帯域の情報を説明する図である。初めに,ゲストOS31Aが作成する管理情報について説明する。なお,以下の例において,ゲストOS31Aで動作するアプリケーションは,VMホスト2Aが現在使用可能である通信帯域の全てを使用するものとして説明する。
図8の例において,ゲストOS31Aの管理情報作成部311は,ゲストOS31A上のおいて動作可能であるアプリケーションであるAPP1−1からAPP1−3の管理情報を作成する(S12)。具体的に,管理情報作成部311は,優先度管理情報321及び必要帯域管理情報322から,APP1−1からAPP1−3の優先度の情報と,APP1−1からAPP1−3を動作させるために必要な帯域の情報とを取得する。そして,管理情報作成部311は,取得した優先度の情報とアプリケーションを動作させるために必要な情報とを組み合わせて管理情報を作成する。
図11(A)は,ゲストOS31Aが作成した管理情報の具体例である。図11(A)においては,APP1−1は,優先度が「1」であり,必要帯域が「1000(MB)」である。また,APP1−2は,優先度が「10」であり,必要帯域が「500(MB)」である。さらに,APP1−3は,優先度が「20」であり,必要帯域が「500(MB)」である。
また,図11(A)の管理情報は,各アプリケーションの現在の状態を有している。具体的に,図11(A)の例では,APP1−1及びAPP1−2の現在の状態は,動作中を示す「Online」を示している。また,APP1−3の現在の状態は,停止中を示す「Offline」を示している。そのため,図11(A)の例では,現在ゲストOS31A上で動作するアプリケーションが必要としている通信帯域は,APP1−1が使用する「1000(MB)」と,APP1−2が使用する「500(MB)」との合計値である「1500(MB)」であることになる。
次に,現在使用可能な通信帯域の情報について説明する。図11(B)は,ホストOS21Aが取得した通信帯域の情報の具体例である。
図11(B)においては,物理NIC22Aの使用可能帯域が「0(MB)」であり,物理NIC23Aの使用可能帯域が「1000(MB)」であることを示している。すなわち,ゲストOS31A上で動作するアプリケーションが現在使用可能な通信帯域は,物理NIC22Aの「1000(MB)」及び物理NIC23Aの「0(MB)」の合計値である「1000(MB)」になる。
ここで,ゲストOS31A上で動作中のアプリケーションが必要としている通信帯域は,図11(A)によれば「1500(MB)」である。一方,ゲストOS31A上で動作するアプリケーションが現在使用可能な通信帯域は,図11(B)によれば「1000(MB)」である。したがって,ゲストOS31A上で動作中のアプリケーションが必要とする通信帯域は,ゲストOS31A上で動作するアプリケーションが現在使用可能な通信帯域を上回っている(S23)。すなわち,図11の例においては,ゲストOS31A上で動作するアプリケーションは,現在,動作するために必要な通信帯域を使用できていないことになる。そのため,アプリケーション選択部213は,ゲストOS31A上で動作中のアプリケーションが必要とする通信帯域が,現在使用可能な通信帯域内に収まるように停止するアプリケーションの選択を行う(S24)。
次に,ホストOS21Aによる停止するアプリケーションの選択について説明する。図11(C)は,ホストOS21Aが更新した管理情報の具体例である。
図11(A)及び図11(B)の例において,ゲストOS31A上で動作中のアプリケーションが必要とする通信帯域は,ゲストOS31A上で動作するアプリケーションが現在使用可能な通信帯域よりも「500(MB)」上回っている。そのため,アプリケーション選択部213は,「500(MB)」分の通信帯域を使用するアプリケーションを停止するアプリケーションとして選択する。
ここで,アプリケーション選択部213は,例えば,優先度が低いアプリケーションを優先して,停止するアプリケーションの選択を行う。図11(C)の例において,現在ゲストOS31A上で動作しているアプリケーションは,図11(C)の現在の状態によればAPP1−1及びAPP1−2である。また,APP1−1の優先度は「1」であり,APP1−2の優先度は「10」である。そのため,アプリケーション選択部213は,初めに,優先度が低いアプリケーションであるAPP1−2を,停止するアプリケーションとして選択する(S24)。そして,図11(C)の例では,APP1−2が動作するために必要な帯域は「500(MB)」である。そのため,アプリケーション選択部213は,APP1−2の動作を停止させることにより,ゲストOS31A上で動作中のアプリケーションが必要とする通信帯域が,現在使用可能な通信帯域内に収まるように制御することが可能になる。よって,アプリケーション選択部213は,APP1−2の動作を停止させた後,停止するアプリケーションの選択を終了する。
なお,停止するアプリケーションの選択は,必ずしも優先度が低いアプリケーションから順に選択する必要はない。すなわち,アプリケーション選択部213は,例えば,アプリケーションの優先度に各アプリケーションが使用する通信帯域に比例した値を重み付けとして加算し,これを基準として停止するアプリケーションを選択するものであってもよい。
図10に戻り,アプリケーション選択部213は,選択したアプリケーションに関する管理情報内の情報を更新する(S25)。図11(C)の例では,アプリケーション選択部213は,選択したアプリケーションであるAPP1−2の現在の状態を「Online」から「To be offline」に更新する。そして,応答パケット作成部214は,更新した管理情報を含む応答パケットを作成し(S26),応答パケット送信部215は,応答パケット作成部214が作成した応答パケットをゲストOS31Aに送信する(S27)。これにより,ゲストOS31Aは,管理情報内の現在の状態が「To be offline」であるアプリケーションを抽出することにより,停止すべきアプリケーションを認識することができ,そのアプリケーションを停止することが可能になる。そのため,ゲストOS31Aは,ゲストOS31A上で動作しているアプリケーションのうち,優先度の高いアプリケーションの動作を継続させることが可能になる。
[第2の実施の形態]
次に,第2の実施の形態について説明する。図12は,第2の実施の形態におけるネットワーク管理処理を説明する図である。また,図13は,第2の実施の形態における管理情報と帯域情報を説明する図である。図13を参照しながら,図12のネットワーク管理処理を説明する。
図12は,同一のVMホスト2A内に複数の仮想マシンが作成された場合の例である。例えば,他のVMホストからのマイグレーションにより,VMホスト2Aに新たな仮想マシン3Cが作成された場合,VMホスト2A内の仮想マシンの数は増加する。そして,図12の例におけるVMホスト2Aは,仮想マシン3A及び仮想マシン3Cが同じ物理NIC(物理NIC22A,物理NIC23A)を使用する構成である。そのため,新たな仮想マシン3Cのアプリケーションの実行により,仮想マシン3Aのアプリケーションが使用する通信帯域が不足する場合がある。
すなわち,アプリケーションを動作するために必要な通信帯域の不足は,VMホスト2Aの通信回線に障害が発生した場合(第1の実施の形態で説明した場合)以外にも,例えば,VMホスト2A内の仮想マシンの増加によって発生する。なお,VMホスト2A内の仮想マシンは,上記のようにマイグレーションによらない場合であっても,VMホスト2A内に新たなゲストOSが作成されることによって増加する。
図12において,VMホスト2Aには,仮想マシン3Aと仮想マシン3Cが作成されている。図12においては,仮想マシン3AのゲストOS31Aが有するアプリケーション(APP1−1からAPP1−3)と,アプリケーションの起動または停止等の制御を行うアプリケーション制御部315とを記載している。仮想マシン3Aの仮想NIC32Aは,ネットワークドライバ25Aを介してVMホスト2Aの物理NIC22A及び物理NIC23Aに仮想的に接続している。また,ゲストOS31Aは,第1の実施の形態と同様に,監視エージェント33Aを有している。
一方,図12における仮想マシン3Cは,例えば,マイグレーションによりVMホスト2Aに新たに作成された仮想マシンであり,アプリケーション(APP3−1)を有している。仮想マシン3Cの仮想NIC32Cは,ネットワークドライバ25Aを介してVMホスト2Aの物理NIC22A及び物理NIC23Aに仮想的に接続している。また,仮想マシン3CのゲストOS31Cは,監視エージェント33Cを有している。さらに,図12の例では,物理NIC22Aは,物理スイッチ24Aに接続しており,物理NIC23Aは,物理スイッチ24Bに接続している。
[停止するアプリケーションの選択の具体例(2)]
図13(A)は,仮想マシン3AのゲストOS31Aが作成した管理情報の具体例である。また,図13(B)は,仮想マシン3CのゲストOS31Cが作成した管理情報の具体例である。図13(A)においては,図11の場合と同様に,APP1−1は,優先度が「1」であり,必要帯域が「1000(MB)」である。また,APP1−2は,優先度が「10」であり,必要帯域が「500(MB)」である。さらに,APP1−3は,優先度が「20」であり,必要帯域が「500(MB)」である。また,図11の場合と同様に,APP1−1及びAPP1−2の現在の状態は,動作中を示す「Online」であり,APP1−3の現在の状態は,停止中を示す「Offline」である。そのため,ゲストOS31Aのアプリケーションが動作するために必要な通信帯域は,APP1−1が使用する「1000(MB)」とAPP1−2が使用する「500(MB)」との合計値である「1500(MB)」である。
一方,図13(B)においては,APP3−1は,優先度が「5」であり,必要な通信帯域が「1000(MB)」である。また,APP3−1の現在の状態は,動作中を示す「Online」である。そのため,ゲストOS31Cのアプリケーションが動作するために必要な通信帯域は,APP3−1が使用する「1000(MB)」である。
次に,ホストOSが取得した通信帯域の情報について説明する。図13(C)は,ホストOSが取得した帯域の情報の具体例である。
図13(C)においては,物理NIC22Aの使用可能帯域が「1000(MB)」であり,物理NIC22Bの使用可能帯域が「1000(MB)」であることを示している。すなわち,VMホスト2AのゲストOS31A上で動作するアプリケーションが現在使用可能な通信帯域は,物理NIC22Aの「1000(MB)」及び物理NIC23Aの「1000(MB)」の合計値である「2000(MB)」になる。すなわち,VMホスト2Aに仮想マシン3Cが作成される前においては,ゲストOS31A上で動作中のアプリケーションが必要とする通信帯域は「1500(MB)」であり,使用可能な通信帯域である「2000(MB)」を下回っていた。そのため,仮想マシン3Cに作成前においては,ゲストOS31A上で動作するAPP1−1及びAPP1−2は,必要な通信帯域の確保が可能であった。
次に,ホストOS21Aによるアプリケーションの選択について説明する。図13(D)は,ホストOS21Aが更新した管理情報の具体例である。
ホストOS21Aは,VMホスト2A内に新たなゲストOSが作成された場合,その作成されたゲストOSの管理情報を含む管理パケットを受信する。そのため,図13(D)においては,図11(C)と異なり,アプリケーション選択部213は,ゲストOS31Aが作成した管理情報と,ゲストOS31Cが作成した管理情報との両方に基づいて,停止するアプリケーションを選択する必要がある。具体的に,図13(D)の例においては,ゲストOS31CのAPP3−1の優先度は「5」である。そのため,APP3−1は,優先度が「10」であるAPP1−2及び優先度が「20」であるAPP1−3よりも高い優先度を有していることになる。そして,図13(D)によれば,APP1−1の必要帯域は「1000(MB)」であり,APP3−1の必要帯域は「1000(MB)」であり,APP1−2の必要帯域は「500(MB)」である。そのため,VMホスト2AのゲストOS31Aにおいて,現在動作中のアプリケーションが必要とする通信帯域の合計は,これらを加算した「2500(MB)」になる。
したがって,動作中のアプリケーションが必要とする通信帯域の合計値が,図13(C)において算出した現在使用可能な通信帯域を下回っている。そのため,アプリケーション選択部213は,動作中のアプリケーションの中で最も優先度が低いAPP1−2を停止するアプリケーションとして選択する(S24)。そして,アプリケーション選択部213は,APP1−2の動作を停止させることにより,ゲストOS31A上で動作中のアプリケーションが必要とする通信帯域が,現在使用可能な通信帯域内に収まるように制御することが可能になる。よって,アプリケーション選択部213は,停止するアプリケーションの選択を終了する。
次に,アプリケーション選択部213は,選択したアプリケーションに関する管理情報内の情報を更新する(S25)。図13(D)の例では,アプリケーション選択部213は,選択したアプリケーションであるAPP1−2の現在の状態を「Online」から「To be offline」に更新する。これにより,更新した管理情報を受信したゲストOS31Aは,管理情報内の現在の状態が「To be offline」であるアプリケーションを抽出することにより,停止すべきアプリケーションを停止することが可能になる。そのため,ゲストOS31Aは,ゲストOS31A上で動作している優先度の高いアプリケーションの動作を継続させることが可能になる。
[第3の実施の形態]
次に,第3の実施の形態について説明する。図14は,第3の実施の形態におけるネットワーク管理処理を説明する図である。また,図15は,第3の実施の形態における管理情報と帯域情報を説明する図である。図15を参照しながら,図14のネットワーク管理処理を説明する。
図14は,仮想マシン3AのゲストOS31A上で動作するアプリケーションと,仮想マシン3BのゲストOS31B上で動作するアプリケーションとがクラスタシステムを構成している場合の例である。具体的に,ゲストOS31A及びゲストOS31Bは,図5の場合と同様に,それぞれ同じアプリケーションをインストールしている。そして,ゲストOS31A及びゲストOS31Bに跨るように構成されたアプリケーション制御部315は,ゲストOS31A及びゲストOS31Bのそれぞれにインストールされたアプリケーションを制御する。また,図14におけるクラスタシステムは,正常時においては正常系のアプリケーション(例えば,ゲストOS31AのAPP1−1,APP1−2,APP1−3)が動作する。そして,正常系のアプリケーションに異常が発生した場合に,アプリケーション制御部315は,正常系のアプリケーションから待機系のアプリケーション(例えば,ゲストOS31BのAPP2−1,APP2−2,APP2−3)に切り替えて動作させる。また,ゲストOS31Aは,監視エージェント33Aを有しており,ゲストOS31Bは,監視エージェント33Bを有している。その他の各構成については図5や図12等で説明したため,ここでは詳細な説明を省略する。
[停止するアプリケーションの選択の具体例(3)]
図15(A)は,仮想マシン3AのゲストOS31Aが作成した管理情報の具体例である。図15(A)においては,図11の場合と同様に,ゲストOS31Aのアプリケーションが動作するために必要な通信帯域は,APP1−1が使用する「1000(MB)」とAPP1−2が使用する「500(MB)」との合計値である「1500(MB)」である。
図15(A)における管理情報は,図11の場合と異なり,切り替え情報を有している。この切り替え情報は,ゲストOS31Aのアプリケーション制御部315がアプリケーションを停止する際に,クラスタシステムを構成する他のVMホストにおけるゲストOSのアプリケーションを起動するか否かを示す情報である。図15(A)では,APP1−1の切り替え状態は,アプリケーションを停止するときに,クラスタシステムを構成する他のVMホストにおけるゲストOSのアプリケーションを起動することを示す「Fail over」を示している。また,APP1−2及びAPP1−3の切り替え状態は,アプリケーションを停止するときに,他のゲストOSのアプリケーションを起動しないことを示す「Stop」を示している。なお,その他の項目については図11等で説明したため,ここでは詳細な説明を省略する。
すなわち,通信回線の障害等によって必要する通信帯域を確保できなくなった場合,アプリケーションが停止する可能性がある。この場合,優先度が高いアプリケーションについては,クラスタシステムを構成する他のゲストOSに切り替えて動作を継続させる必要がある。一方,優先度が高くないアプリケーション(例えば,時間的に余裕があるアプリケーション)については,必ずしも他のゲストOSに切り替える必要がない。また,アプリケーションの切り替えによって,他のゲストOSに負荷が集中することを避ける必要がある。したがって,アプリケーションの優先度等に応じて,各アプリケーションに「Fail over」または「Stop」のいずれかを予め設定しておくことにより,リソース的に余裕を持った状態でアプリケーションの切り替えを行うことができる。
次に,図15(B)において,ゲストOS上で動作するアプリケーションが使用可能な通信帯域は,図11の場合と同様に「1000(MB)」である。そのため,図15(C)において,アプリケーション選択部213は,図11の場合と同様に,停止するアプリケーションとしてAPP1−2を選択する。
そして,ゲストOS31Aから更新した管理情報を受信したアプリケーション制御部315は,管理情報内におけるAPP1−2の切り替え情報を参照し,仮想マシン3B内のAPP2の起動(アプリケーションの切り替え)を行うことなく,仮想マシン3A内のAPP2の停止のみ行う。
なお,切り替え情報は,ホストOS21Aにおいて更新されるものではない。そのため,ゲストOS31Aは,切り替え情報を含めない形で管理情報を作成するものであってよい。この場合,ゲストOS31Aは,アプリケーションの停止または切り替えを行う際に,切り替え情報を参照してアプリケーションの停止または切り替えを行うものであってもよい。
本実施の形態においては,アプリケーション制御部315は,ホストOS21Aが選択したアプリケーションが,他のゲストOSに切り替える必要がないアプリケーションである場合に,アプリケーションの停止のみを行うことが可能になる。そのため,切り替え先のゲストOSにおける通信帯域等のリソースを節約することが可能になる。
[第4の実施の形態]
次に,第4の実施の形態について説明する。図16は,第4の実施の形態における管理情報と帯域情報を説明する図である。
第4の実施の形態は,図14に示すようなクラスタシステムが構成された仮想マシンにおいて,優先度が高いアプリケーションは,常に他のホストOSに切り替えることを可能にするものである。すなわち,第4の実施の形態では,クラスタシステムを構成する他のホストOSにおいて,優先度が高いアプリケーションが動作するために使用する通信帯域を常に確保しておく。
具体的に,第4の実施の形態における管理情報は,図16に示すように,アプリケーションの停止中においても,そのアプリケーションを動作させるための通信帯域を確保しておく必要があるか否かを示す帯域確保情報を有している。そして,アプリケーション選択部213は,帯域確保情報が通信帯域を確保しておく必要があることを示す「Yes」であるアプリケーションが存在する場合,そのアプリケーションの帯域の確保を行う。
すなわち,通信回線の障害等によってアプリケーションの切り替えを行う場合,クラスタシステムを構成する他のゲストOSにおいて切り替え対象のアプリケーションを起動するだけの通信帯域が確保できていない場合が考えられる。この場合,アプリケーションの切り替えによって,他のゲストOSで動作中の他のアプリケーションに影響を与える可能性がある。そのため,切り替え情報に「Fail over」が設定されている場合に,帯域確保情報を「Yes」に設定することで,他のアプリケーションに影響を与えることなくアプリケーションの切り替えを行うことができる。
[停止するアプリケーションの選択の具体例(4)]
図16(A)は,図14におけるゲストOS31Aが作成した管理情報の具体例である。図16(A)においては,ゲストOS31Aのアプリケーションが動作するために必要な通信帯域は,APP1−3が使用する「500(MB)」のみである。ここで,図16(A)において,APP1−1の切り替え情報には「Fail over」が設定されており,ゲストOS31AにおいてAPP1−1は停止中である。そのため,APP1−1は,現在クラスタシステムを構成している他のゲストOSにおいて動作していることになる。そして,APP1−1の帯域確保情報には「Yes」が設定されているため,ゲストOS31Aは,切り替えがいつ発生してもAPP−1を起動できるように,APP−1が必要とする通信帯域を確保しておく必要がある。したがって,アプリケーション選択部213は,停止中であるが通信帯域を確保する必要があるAPP1−1の通信帯域である「1000(MB)」と,動作中のAPP1−3の通信帯域である「500(MB)」との合計値である「1500(MB)」を算出する。
一方,図16(B)において,ゲストOS31A上で動作するアプリケーションが使用可能な通信帯域は,図11の場合と同様に「1000(MB)」である。そのため,通信帯域を確保する必要があるアプリケーションが使用する通信帯域と,動作中のアプリケーションが動作するために必要な通信帯域との合計値は,現在使用可能な通信帯域を上回っている。したがって,図16(C)において,アプリケーション選択部213は,APP1−1及びAPP1−3のうち,最も優先度が低いAPP1−3の現在の状態を「Online」から「To be offline」に更新する。なお,「優先度」等の項目については図11等で説明したため,ここでは詳細な説明を省略する。
本実施の形態においては,アプリケーション選択部213は,現在停止中であるが通信帯域を確保する必要があるアプリケーションの通信帯域と,現在動作中のアプリケーションが必要とする通信帯域との合計値を算出する。そして,算出した合計値が,VMホスト2Aが現在の使用可能な帯域を下回るように,停止するアプリケーションを選択する。これにより,通信回線の障害等によってアプリケーションの切り替えが発生した場合においても,優先度が高いアプリケーションの動作に使用する通信帯域を確保することが可能になる。
[第5の実施の形態]
次に,第5の実施の形態について説明する。図17は,第5の実施の形態における管理情報と帯域情報を説明する図である。
第5の実施の形態は,管理情報内の現在の状態が「Online」を示しているアプリケーションであっても,そのアプリケーションが動作しない休眠時間においては,通信帯域を他のアプリケーションに割当てるものである。
具体的に,第5の実施の形態における管理情報は,図17に示すように,アプリケーションが通信を行わない時間帯(通信を行う時間帯)についての時間帯情報(以下,休眠時間情報とも呼ぶ)を有している。そして,アプリケーション選択部213は,休眠時間情報を参照し,現在の時間(停止するアプリケーションの選択を行う時間)が休眠時間含まれているアプリケーションが存在する場合,そのアプリケーションは停止しているものとしてアプリケーションの選択を行う。
[停止するアプリケーションの選択の具体例(5)]
図17(A)は,例えば,図8におけるゲストOS31Aが作成した管理情報の具体例である。図17(A)においては,図11の場合と同様に,ゲストOS31Aのアプリケーションが動作するために必要な通信帯域は,APP1−1が使用する「1000(MB)」とAPP1−2が使用する「500(MB)」との合計値である「1500(MB)」である。また,図17(B)において,ゲストOS31A上で動作するアプリケーションが使用可能な通信帯域は,図11の場合と同様に「1000(MB)」である。
ここで,例えば,アプリケーション選択部213によるアプリケーションの選択が行われる時間が「8:00」であった場合,図17(A)における休眠時間情報によれば,この時間はAPP1−2の休眠時間に含まれる時間である。そのため,アプリケーション選択部213は,動作中のアプリケーションが必要とする通信帯域の合計値である「1500(MB)」から,休眠中のAPP1−2の通信帯域である「500(MB)」を減算した「1000(MB)」を算出する。そして,算出した「1000(MB)」は,現在使用可能な通信帯域である「1000(MB)」に収まるため,アプリケーション選択部213は,停止するアプリケーションの選択を行わない。
すなわち,アプリケーション選択部213は,休眠中のアプリケーションが存在する場合,動作中のアプリケーションが使用する通信帯域の合計値から,休眠中のアプリケーションの通信帯域を減算した値を算出する。そして,アプリケーション選択部213は,減算により算出した値が,現在使用可能な通信帯域を下回る(現在使用可能な通信帯域に収まる)ように停止するアプリケーションを選択する。これにより,通信帯域を効率的に使用し,より多くのアプリケーションを同時に動作させることが可能になる。なお,アプリケーション選択部213は,アプリケーションの休眠時間が一定時間以上(例えば,1時間以上)残されている場合に限り,そのアプリケーションは停止しているものとしてアプリケーションの選択を行うものであってもよい。
以上の実施の形態をまとめると,以下の付記のとおりである。
(付記1)
仮想マシン上で動作可能なアプリケーションの優先度と,該アプリケーションの動作に使用する通信帯域の情報とを組み合わせた管理情報を含む管理パケットを,前記仮想マシンから受信する情報取得部と,
前記管理情報と現在使用可能な通信帯域の情報とに基づいて,停止させるべきアプリケーションを選択し,該選択したアプリケーションを前記仮想マシンに停止させるために,前記選択したアプリケーションの情報を含む応答パケットを前記仮想マシンに送信する選択部と,を有する
ネットワーク管理装置。
(付記2)
付記1において,
前記選択部は,前記停止するアプリケーションの選択を,動作中の前記アプリケーションが使用する通信帯域の合計値が前記使用可能な通信帯域を下回るように行うネットワーク管理装置。
(付記3)
付記2において,
前記選択部は,前記停止するアプリケーションの選択を,前記優先度が低いアプリケーションを優先して行うネットワーク管理装置。
(付記4)
付記1において,
前記情報取得部は,前記仮想マシンが作成された物理マシン内に新たな仮想マシンが作成された場合,該新たな仮想マシンの管理情報を含む管理パケットを受信するネットワーク管理装置。
(付記5)
付記4において,
前記物理マシン内に新たな仮想マシンが作成される場合は,他の物理マシンから前記物理マシンへ仮想マシンのマイグレーションが行われる場合と,前記物理マシン内に新たな仮想マシンが作成される場合とを含むネットワーク管理装置。
(付記6)
付記1において,
前記仮想マシンは,該仮想マシンのアプリケーションと同じアプリケーションを有する他の物理マシン内の仮想マシンとクラスタを構成しており,
前記選択部は,前記アプリケーションを停止する際に,該停止するアプリケーションに対応する前記他の仮想マシンのアプリケーションを起動させるネットワーク管理装置。
(付記7)
付記6において,
前記管理情報は,前記アプリケーションを停止する際に,前記他の物理マシン内の仮想マシンにおけるアプリケーションを起動するか否かについての切り替え情報をさらに有しており,
前記選択部は,前記切り替え情報に基づいて,前記他の物理マシン内の仮想マシンにおけるアプリケーションを起動するか否かについて判断するネットワーク管理装置。
(付記8)
付記2において,
前記管理情報は,前記アプリケーションの停止中に,該アプリケーションを動作させるために必要な通信帯域を確保するか否かについての帯域確保情報をさらに有しており,
前記選択部は,前記停止するアプリケーションの選択を,前記通信帯域を確保する必要があるアプリケーションの通信帯域を前記合計値に加算した値が,前記使用可能な帯域を下回るように行うネットワーク管理装置。
(付記9)
付記2において,
前記管理情報は,前記アプリケーションが通信を行う時間帯についての時間帯情報をさらに有しており,
前記選択部は,前記アプリケーションが通信を行わない時間帯には,前記停止するアプリケーションの選択を,前記合計値から前記通信を行わないアプリケーションの通信帯域を減算した値が,前記使用可能な帯域を下回るように行うネットワーク管理装置。
(付記10)
仮想マシンと,該仮想マシンに通信可能なネットワーク管理装置を有する情報処理システムであって,
前記仮想マシンは,該仮想マシン上で動作可能なアプリケーションの優先度と,該アプリケーションの動作に使用する通信帯域の情報とを組み合わせた管理情報を含む管理パケットを作成する情報作成部と,
前記管理パケットを前記ネットワーク管理装置に送信する情報送信部とを有し,
前記ネットワーク管理装置は,前記管理パケットを受信する情報取得部と,
前記管理情報と現在使用可能な通信帯域の情報とに基づいて,停止させるべきアプリケーションを選択し,該選択したアプリケーションの情報を含む応答パケットを前記仮想マシンに送信する選択部とを有し,
前記仮想マシンは,さらに,前記応答パケット内の情報に基づいて,前記選択されたアプリケーションを停止する制御部を有する
情報処理システム。
(付記11)
仮想マシン上で動作可能なアプリケーションの優先度と,該アプリケーションを動作させるために使用する通信帯域とを組み合わせた管理情報を含む管理パケットを,前記仮想マシンから受信し,
前記管理情報と現在使用可能な通信帯域の情報とに基づいて,停止させるべきアプリケーションを選択し,該選択したアプリケーションを前記仮想マシンに停止させるために,前記選択したアプリケーションの情報を含む応答パケットを前記仮想マシンに送信する処理をコンピュータに実行させる
プログラム。
1:管理サーバ 2:VMホスト
3:仮想マシン 4:仮想化ソフトウエア
5:データセンタ 6:利用者端末
21A,21B:ホストOS 31A,31B:ゲストOS

Claims (10)

  1. 仮想マシン上で動作可能なアプリケーションの優先度と,該アプリケーションの動作に使用する通信帯域の情報とを組み合わせた管理情報を含む管理パケットを,前記仮想マシンから受信する情報取得部と,
    前記管理情報と現在使用可能な通信帯域の情報とに基づいて,停止させるべきアプリケーションを選択し,該選択したアプリケーションを前記仮想マシンに停止させるために,前記選択したアプリケーションの情報を含む応答パケットを前記仮想マシンに送信する選択部と,を有する
    ネットワーク管理装置。
  2. 請求項1において,
    前記選択部は,前記停止するアプリケーションの選択を,動作中の前記アプリケーションの動作に使用する通信帯域の合計値が前記使用可能な通信帯域を下回るように行うネットワーク管理装置。
  3. 請求項1において,
    前記情報取得部は,前記仮想マシンが作成された物理マシン内に新たな仮想マシンが作成された場合,該新たな仮想マシンの管理情報を含む管理パケットを受信するネットワーク管理装置。
  4. 請求項3において,
    前記物理マシン内に新たな仮想マシンが作成される場合は,他の物理マシンから前記物理マシンへ仮想マシンのマイグレーションが行われる場合と,前記物理マシン内に新たな仮想マシンが作成される場合とを含むネットワーク管理装置。
  5. 請求項1において,
    前記仮想マシンは,該仮想マシンのアプリケーションと同じアプリケーションを有する他の物理マシン内の仮想マシンとクラスタを構成しており,
    前記選択部は,前記アプリケーションを停止する際に,該停止するアプリケーションに対応する前記他の物理マシン内の仮想マシンにおけるアプリケーションを起動させるネットワーク管理装置。
  6. 請求項5において,
    前記管理情報は,前記アプリケーションを停止する際に,前記他の物理マシン内の仮想マシンにおけるアプリケーションを起動するか否かについての切り替え情報をさらに有しており,
    前記選択部は,前記切り替え情報に基づいて,前記他の物理マシン内の仮想マシンにおけるアプリケーションを起動するか否かについて判断するネットワーク管理装置。
  7. 請求項2において,
    前記管理情報は,前記アプリケーションの停止中に,該アプリケーションを動作させるために必要な通信帯域を確保するか否かについての帯域確保情報をさらに有しており,
    前記選択部は,前記停止するアプリケーションの選択を,前記通信帯域を確保する必要があるアプリケーションの通信帯域を前記合計値に加算した値が,前記使用可能な通信帯域を下回るように行うネットワーク管理装置。
  8. 請求項2において,
    前記管理情報は,前記アプリケーションに基づいて通信を行う時間帯についての時間帯情報をさらに有しており,
    前記選択部は,前記アプリケーションに基づいて通信を行わない時間帯には,前記停止するアプリケーションの選択を,前記合計値から前記通信を伴わないアプリケーションの通信帯域を減算した値が,前記使用可能な通信帯域を下回るように行うネットワーク管理装置。
  9. 仮想マシンと,該仮想マシンに通信可能なネットワーク管理装置を有する情報処理システムであって,
    前記仮想マシンは,該仮想マシン上で動作可能なアプリケーションの優先度と,該アプリケーションの動作に使用する通信帯域の情報とを組み合わせた管理情報を含む管理パケットを作成する情報作成部と,
    前記管理パケットを前記ネットワーク管理装置に送信する情報送信部とを有し,
    前記ネットワーク管理装置は,前記管理パケットを受信する情報取得部と,
    前記管理情報と現在使用可能な通信帯域の情報とに基づいて,停止させるべきアプリケーションを選択し,該選択したアプリケーションの情報を含む応答パケットを前記仮想マシンに送信する選択部とを有し,
    前記仮想マシンは,さらに,前記応答パケット内の情報に基づいて,前記選択されたアプリケーションを停止する制御部を有する
    情報処理システム。
  10. 仮想マシン上で動作可能なアプリケーションの優先度と,該アプリケーションを動作させるために使用する通信帯域とを組み合わせた管理情報を含む管理パケットを,前記仮想マシンから受信し,
    前記管理情報と現在使用可能な通信帯域の情報とに基づいて,停止させるべきアプリケーションを選択し,該選択したアプリケーションを前記仮想マシンに停止させるために,前記選択したアプリケーションの情報を含む応答パケットを前記仮想マシンに送信する処理をコンピュータに実行させる
    プログラム。
JP2014058026A 2014-03-20 2014-03-20 ネットワーク管理装置,情報処理システム及びプログラム Active JP6295759B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014058026A JP6295759B2 (ja) 2014-03-20 2014-03-20 ネットワーク管理装置,情報処理システム及びプログラム
US14/660,241 US9798563B2 (en) 2014-03-20 2015-03-17 Network management device, information processing system, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014058026A JP6295759B2 (ja) 2014-03-20 2014-03-20 ネットワーク管理装置,情報処理システム及びプログラム

Publications (2)

Publication Number Publication Date
JP2015184734A JP2015184734A (ja) 2015-10-22
JP6295759B2 true JP6295759B2 (ja) 2018-03-20

Family

ID=54142200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014058026A Active JP6295759B2 (ja) 2014-03-20 2014-03-20 ネットワーク管理装置,情報処理システム及びプログラム

Country Status (2)

Country Link
US (1) US9798563B2 (ja)
JP (1) JP6295759B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017072876A (ja) * 2015-10-05 2017-04-13 Necエンジニアリング株式会社 仮想マシン管理システム、管理サーバ及び仮想マシン管理方法
US9438478B1 (en) * 2015-11-13 2016-09-06 International Business Machines Corporation Using an SDN controller to automatically test cloud performance
CN112351428B (zh) * 2020-11-06 2024-04-30 深圳Tcl新技术有限公司 访问网络的控制方法、装置、终端及可读存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187638A (ja) 1996-10-28 1998-07-21 Mitsubishi Electric Corp クラスタ制御システム
US6985951B2 (en) 2001-03-08 2006-01-10 International Business Machines Corporation Inter-partition message passing method, system and program product for managing workload in a partitioned processing environment
GB2419702A (en) * 2004-10-29 2006-05-03 Hewlett Packard Development Co Virtual overlay infrastructures which can be suspended and later reactivated
JP5032191B2 (ja) 2007-04-20 2012-09-26 株式会社日立製作所 サーバ仮想化環境におけるクラスタシステム構成方法及びクラスタシステム
JP2008305083A (ja) * 2007-06-06 2008-12-18 Toyota Motor Corp 情報処理装置及び情報処理方法
JP2009258982A (ja) * 2008-04-16 2009-11-05 Ntt Docomo Inc ノード装置及びプログラム並び資源割当方法
US8473594B2 (en) * 2008-05-02 2013-06-25 Skytap Multitenant hosted virtual machine infrastructure
JP5343586B2 (ja) * 2009-01-29 2013-11-13 富士通株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
US8780923B2 (en) * 2010-01-15 2014-07-15 Dell Products L.P. Information handling system data center bridging features with defined application environments
US8627123B2 (en) * 2010-03-25 2014-01-07 Microsoft Corporation Managing power provisioning in distributed computing
JP5998577B2 (ja) * 2012-03-29 2016-09-28 日本電気株式会社 クラスタ監視装置、クラスタ監視方法、及びプログラム
US9003037B2 (en) * 2012-07-25 2015-04-07 Vmware, Inc. Dynamic allocation of physical computing resources amongst virtual machines
US10110460B2 (en) * 2013-07-23 2018-10-23 Hewlett Packard Enterprise Development Lp Priority assessment of network traffic to conserve bandwidth guarantees in a data center

Also Published As

Publication number Publication date
US9798563B2 (en) 2017-10-24
JP2015184734A (ja) 2015-10-22
US20150268981A1 (en) 2015-09-24

Similar Documents

Publication Publication Date Title
US10609159B2 (en) Providing higher workload resiliency in clustered systems based on health heuristics
CN108923992B (zh) 一种nas集群高可用方法、系统及电子设备和存储介质
US8826290B2 (en) Method of monitoring performance of virtual computer and apparatus using the method
US9569276B2 (en) System and method for dynamic user assignment in a virtual desktop environment
JP5708937B2 (ja) 構成情報管理システム、構成情報管理方法、及び構成情報管理用プログラム
US20130227585A1 (en) Computer system and processing control method
US9135078B2 (en) Configuration information management server, configuration information management method and configuration management program
WO2014118961A1 (ja) 仮想計算機管理プログラム,仮想計算機管理方法及び仮想計算機システム
WO2013157072A1 (ja) 計算機システム、リソース管理方法及び管理計算機
US10169102B2 (en) Load calculation method, load calculation program, and load calculation apparatus
US9893980B2 (en) Server system, server, server control method, and non-transitory computer-readable medium containing server control program
EP2867763B1 (en) Data storage with virtual appliances
KR20150109692A (ko) 가상 머신 이미지 파일을 제공하는 방법 및 그 장치
JP6295759B2 (ja) ネットワーク管理装置,情報処理システム及びプログラム
US20150067401A1 (en) Computer recovery method, computer system, and storage medium
KR20150124001A (ko) 클라우드 기반 웹 호스팅 시스템
JP2013206379A (ja) クラスタ監視装置、クラスタ監視方法、及びプログラム
JP6295856B2 (ja) 管理支援方法,管理支援装置及び管理支援プログラム
Heo et al. IOCost: block IO control for containers in datacenters
JP5597293B2 (ja) 計算機システム及びプログラム
JP5533005B2 (ja) 情報処理装置、計算機システム及びプログラム
US9710298B2 (en) Information processing system, storage apparatus, and program
JP2010026828A (ja) 仮想計算機の制御方法
EP3961402A1 (en) Fault-tolerant system, server, fault-tolerant system operation method, server operation method, and program for server operation method
WO2017067402A1 (zh) 计算设备及计算设备存储部件的管理方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171024

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171211

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180123

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180205

R150 Certificate of patent or registration of utility model

Ref document number: 6295759

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150