JP6495872B2 - 移行システム、移行方法および移行プログラム - Google Patents

移行システム、移行方法および移行プログラム Download PDF

Info

Publication number
JP6495872B2
JP6495872B2 JP2016160042A JP2016160042A JP6495872B2 JP 6495872 B2 JP6495872 B2 JP 6495872B2 JP 2016160042 A JP2016160042 A JP 2016160042A JP 2016160042 A JP2016160042 A JP 2016160042A JP 6495872 B2 JP6495872 B2 JP 6495872B2
Authority
JP
Japan
Prior art keywords
migration
virtual machine
packet
packets
stored
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
JP2016160042A
Other languages
English (en)
Other versions
JP2018028779A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016160042A priority Critical patent/JP6495872B2/ja
Publication of JP2018028779A publication Critical patent/JP2018028779A/ja
Application granted granted Critical
Publication of JP6495872B2 publication Critical patent/JP6495872B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、移行システム、移行方法および移行プログラムに関する。
従来、物理サーバを用いることでしか実現できなかったアプリケーションの稼働をソフトウェアプラットフォーム上で行う仮想マシン技術が発達している。仮想マシンはソフトウェアであり、仮想マシンを稼働させる環境が存在する物理プラットフォーム上で稼働する。そして、稼働環境を持つサーバが複数存在する場合、仮想マシン内のソフトを稼働させた状態で、仮想マシンを稼働するサーバを別のサーバに変更することができる。この際、仮想マシン内で稼働するアプリケーションを止めることなく、それまで仮想マシンを稼働させていたサーバからバックアップ用のサーバに仮想マシンを移動させることができる。この動作はライブマイグレーションと呼ばれ、サーバの故障時やメンテナンス時にサービスを継続させる手段として用いられる。
また、サーバ内には複数の仮想マシンを収容することができる。これにより、1台のサーバを用いることで複数台のサーバと同等の処理を行うことが可能になる。このため、サーバのメンテナンスやデータセンタが災害に見舞われたとき、複数台の仮想マシンが一斉にバックアップ用のサーバやデータセンタに移動するという現象が発生する。複数台の仮想マシンをマイグレーションする場合、1つずつ逐次的にマイグレーションする場合と複数台並列して同時にマイグレーションする場合が考えられる。このとき、マイグレーションの対象となる仮想マシンを複数台並列して同時にマイグレーションする場合のほうが、全仮想マシンのマイグレーションが完了するまでの時間を短縮できる(例えば、非特許文献1参照)。
このようなマイグレーションを行う場合、もともと仮想マシンを稼働させていたサーバ、すなわちマイグレーションの移行元のサーバのCPU(Central Processing Unit)ならびにメモリリソースをマイグレーション用に割り当てた時の割合に応じて、全仮想マシンのマイグレーションが完了するまでの時間が変化する。つまり、割り当てたリソース割合が多くなるほど、マイグレーションに要する時間は短くなる。
K. Ye, et al, "Live Migration of Multiple Virtual Machines with Resource Reservation in Cloud Computing Environments", IEEE 4th International Conference on Cloud Computing, pp.267-274, 2011
しかしながら、従来の技術では、マイグレーションを行う際に、マイグレーション用のリソースを確保できない場合には、パケットロスが発生し、仮想マシンの移行にかかる時間を短縮することができなかった。
上記の仮想マシンを複数台並列して同時にマイグレーションする技術では、1つのサーバで稼働する仮想マシンの数が多くなる場合、全仮想マシンを同時にマイグレーションできるほど、マイグレーション用にリソースを確保できない場合が存在する。また、例えば、1つのサーバで稼働する仮想マシンの数が多くなる場合には、サーバのリソースを充実させるためには高性能なCPUや大容量のメモリが必要となり、装置コスト、ならびに装置の消費電力が増加するという課題が生じる。
なお、マイグレーションのために、常時リソースに余裕を持たせる場合には、本来稼働できるはずの仮想マシンの数を減らすことになる。これにより、仮想マシンを利用するメリットである、稼働物理サーバ数を減らし、リソースを有効活用することによる、電力コストや装置コストの削減を実現できなくなる。
上述した課題を解決し、目的を達成するために、本発明の移行システムは、仮想マシン宛てのパケットを記憶するパケットバッファと、移行元のサーバ上で稼働する複数の仮想マシンの移行する順番を決定し、各仮想マシンを順次移行先のサーバへ移行するように制御する移行制御部と、前記移行制御部によって決定された順番を基に、仮想マシンの移行を実行する移行部と、前記複数の仮想マシンのうち、移行処理を開始していない仮想マシンのパケットキューに記憶されたパケット数を監視する監視部と、前記移行処理を開始していない仮想マシン宛てのパケットを受信した際に、前記監視部によって監視されたパケット数が第一の閾値を超えている場合には、前記仮想マシン宛てのパケットを前記パケットバッファに格納し、前記監視部によって監視されたパケット数が第一の閾値以下である場合には、前記仮想マシンの前記パケットキューにパケットを入力する受信部と、前記監視部によって監視されたパケット数が第一の閾値以下となり、かつ、前記パケットバッファにパケットが記憶されている場合には、該パケットバッファに記憶されたパケットを前記仮想マシンの前記パケットキューに入力する入力部とを有することを特徴とする。
また、本発明の移行方法は、移行システムによって実行される移行方法であって、前記移行システムは、仮想マシン宛てのパケットを記憶するパケットバッファを有し、移行元のサーバ上で稼働する複数の仮想マシンの移行する順番を決定し、各仮想マシンを順次移行先のサーバへ移行するように制御する移行制御工程と、前記移行制御工程によって決定された順番を基に、仮想マシンの移行を実行する移行工程と、前記複数の仮想マシンのうち、移行処理を開始していない仮想マシンのパケットキューに記憶されたパケット数を監視する監視工程と、前記移行処理を開始していない仮想マシン宛てのパケットを受信した際に、前記監視工程によって監視されたパケット数が第一の閾値を超えている場合には、前記仮想マシン宛てのパケットを前記パケットバッファに格納し、前記監視工程によって監視されたパケット数が第一の閾値以下である場合には、前記仮想マシンの前記パケットキューにパケットを入力する受信工程と、前記監視工程によって監視されたパケット数が第一の閾値以下となり、かつ、前記パケットバッファにパケットが記憶されている場合には、該パケットバッファに記憶されたパケットを前記仮想マシンの前記パケットキューに入力する入力工程とを含んだことを特徴とする。
また、本発明の移行プログラムは、移行元のサーバ上で稼働する複数の仮想マシンの移行する順番を決定し、各仮想マシンを順次移行先のサーバへ移行するように制御する移行制御ステップと、前記移行制御ステップによって決定された順番を基に、仮想マシンの移行を実行する移行ステップと、前記複数の仮想マシンのうち、移行処理を開始していない仮想マシンのパケットキューに記憶されたパケット数を監視する監視ステップと、前記移行処理を開始していない仮想マシン宛てのパケットを受信した際に、前記監視ステップによって監視されたパケット数が第一の閾値を超えている場合には、前記仮想マシン宛てのパケットをパケットバッファに格納し、前記監視ステップによって監視されたパケット数が第一の閾値以下である場合には、前記仮想マシンの前記パケットキューにパケットを入力する受信ステップと、前記監視ステップによって監視されたパケット数が第一の閾値以下となり、かつ、前記パケットバッファにパケットが記憶されている場合には、該パケットバッファに記憶されたパケットを前記仮想マシンの前記パケットキューに入力する入力ステップとをコンピュータに実行させることを特徴とする。
本発明によれば、パケットロスを削減しつつ仮想マシンの移行にかかる時間を短縮することができるという効果を奏する。
図1は、第一の実施の形態に係る移行システムの概要を示す構成図である。 図2は、パケット入力制御部の処理の概要を示す図である。 図3は、仮想マシンの通常稼働時について説明する図である。 図4は、仮想マシンの移行処理を開始する際の処理例を説明する図である。 図5は、パケット入力処理の動作例を説明する図である。 図6は、仮想マシンの移行処理が進み、ある仮想マシンの移行が終了した際の処理例を説明する図である。 図7は、仮想マシンが処理するパケット量が一定量を下回ったときに移行処理を開始する動作例を説明する図である。 図8は、低優先の状態が続く仮想マシンの動作例を説明する図である。 図9は、第一の実施の形態に係る移行管理装置における移行制御処理の流れを示すフローチャートである。 図10は、第一の実施の形態に係るサーバにおける移行処理の流れを示すフローチャートである。 図11は、第一の実施の形態に係るサーバにおけるパケット入力処理の流れを示すフローチャートである。 図12は、移行プログラムを実行するコンピュータを示す図である。
以下に、本願に係る移行システム、移行方法および移行プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本願に係る移行システム、移行方法および移行プログラムが限定されるものではない。
[第一の実施の形態]
以下の実施の形態では、第一の実施の形態に係る移行システムの構成、移行システムの処理の流れを順に説明し、最後に第一の実施の形態による効果を説明する。
[移行システムの構成]
まず、図1を用いて、移行システムの構成を説明する。図1は、第一の実施の形態に係る移行システムの概要を示す構成図である。図1に示すように、移行システムでは、複数のVM(Virtual Machine)11a〜11cを動作させているサーバ10と、サーバ10上で動作する各VM11a〜11cの移行(マイグレーション)を管理する移行管理装置20とを有し、サーバ10と移行管理装置20とは互いに通信可能に接続されている。なお、VMについては、適宜「仮想マシン」とも記載する。
サーバ10は、データ処理を行うため、CPU、メモリ、ネットワークリソースを有する処理装置である。サーバ10上で動作する各VM11a〜11cは、サーバ10が有するコンピュータリソースを利用して動作する。サーバ10内には、仮想マシン宛てのパケットを管理するパケット入力制御部12、仮想マシンの起動、停止、移行などの仮想マシンの管理に関する処理を行う処理機能管理部13、ならびに複数のVM11a〜11cが存在する。また、パケット入力制御部12および処理機能管理部13は、仮想マシンの生成など仮想マシンに関する各種制御を実行するハイパーバイザ14等のソフトウェアにより実現される。なお、以下では、パケット入力制御部12と処理機能管理部13をあわせてハイパーバイザ14と記載する。
パケット入力制御部12は、監視部12a、受信部12bおよび入力部12cを有する。また、図2を用いて後述するが、パケット入力制御部12は、仮想マシン宛てのパケットを記憶するパケットバッファを有する。
監視部12aは、複数の仮想マシンのうち、移行処理を開始していない仮想マシンのパケットキューに記憶されたパケット数を監視する。また、監視部12aは、移行処理を開始していない仮想マシンの移行処理が開始となった際に、該仮想マシンのパケットキューに記憶されたパケット数が後述するチェック終了パケット数を下回った場合には、該仮想マシンのパケットキューに記憶されたパケット数を監視する処理を停止する。
受信部12bは、移行処理を開始していない仮想マシン宛てのパケットを受信した際に、監視部12aによって監視されたパケット数が上限パケット数を超えている場合には、仮想マシン宛てのパケットをパケットバッファに格納し、監視部12aによって監視されたパケット数が上限パケット数以下である場合には、仮想マシンのパケットキューにパケットを入力する。
入力部12cは、監視部12aによって監視されたパケット数が上限パケット数以下となり、かつ、パケットバッファにパケットが記憶されている場合には、該パケットバッファに記憶されたパケットを仮想マシンのパケットキューに入力する。
また、処理機能管理部13は、移行部13aおよびリソース制御部13bを有する。移行部13aは、移行管理装置20によって決定された順番を基に、仮想マシンの移行を実行する。リソース制御部13bは、移行処理を開始していない仮想マシンがリソースを使用する優先度を移行を開始している仮想マシンがリソースを使用する優先度よりも低くするように制御し、移行処理を開始していない仮想マシンの移行処理が開始となった場合には、該仮想マシンの優先度を高くするように制御する。
また、移行管理装置20は、仮想マシンの移行に関する処理、たとえば、仮想マシンの移行順や移行対象の指定を指示する等の仮想マシンの移行に関する処理を行う。移行管理装置20は、サーバ10とは別の装置であり、ネットワークなどのデータ通信経路を介してお互いに情報を交換する。なお、移行管理装置20の移行管理機能をサーバ10が有していてもよく、サーバ移行管理機能とハイパーバイザ14とが、内部バス等を介してお互いに情報を交換していてもよい。
移行管理装置20は、移行制御部21を有する。移行制御部21は、移行元のサーバ上で稼働する複数の仮想マシンの移行する順番を決定し、各仮想マシンを順次移行先のサーバへ移行するように制御する。
例えば、移行制御部21は、移行対象となる仮想マシンの情報を外部から受け付けると、この情報をもとに、移行対象の仮想マシンの移行順と、すぐに移行を開始する仮想マシンと、後程移行を行う仮想マシンとを決定し、結果をハイパーバイザ14に通知する。また、移行制御部21は、ハイパーバイザ14から仮想マシンの移行に利用できるリソース量に関する情報を取得することにより、サーバ10の利用可能リソース量を考慮して、仮想マシンの移行順を計算する。移行制御部21は、移行対象となる仮想マシンの情報をハイパーバイザ14に通知する際、すぐに移行を開始する仮想マシンのリソース優先度を高く、そのほかの仮想マシンのリソース優先度を低くすることもあわせて通知する。
この際、移行制御部21は、後程移行処理を行うことになる、低優先状態の仮想マシンを特定するため、移行に関する仮想マシンの状態を管理する。なお、優先度は仮想マシンの処理能力に応じて決定することも可能である。これを実現するために、仮想マシンの処理能力を測定して管理する機能や、それに基づきリソース優先度を決定する機能が存在する場合が考えられるが、本実施形態ではこの場合の説明は省略し、優先度が2つ存在する場合について説明する。
仮想マシンの移行処理はハイパーバイザ14により行われる。ハイパーバイザ14は、移行管理装置20から移行対象の仮想マシンに関する情報を受信すると、対象となる仮想マシンを移行する。同時にハイパーバイザ14は、仮想マシンごとのリソース優先度をもとに、仮想マシンごとのリソースの使用可能量を調整する。移行処理が完了した仮想マシンが存在すれば、仮想マシンを停止し、仮想マシンに割り当てていたリソースを解放する。同時に移行完了を示す情報を移行管理機能に通知する。
移行管理装置20の移行制御部21は、通知を受けた後、次に移行を開始する仮想マシンを決定し、その結果をハイパーバイザ14に通知する。なお、仮想マシンの移行順の決定手段や優先度の決定手段については本実施形態では限定しない。これらの手段としては、アルゴリズムやAI(Artificial Intelligence)を用いた方法やオペレータによる静的設定などの手段が考えられる。そのうちのいずれかの方法で移行順や優先度を決定する。外部から仮想マシン宛てにパケットが到着したとき、最初にハイパーバイザ14が受信する。そのあと、宛先の仮想マシンへとパケットを入力する。入力方法は前述のパケット入力機能の動作に従うものとする。
次に、図2を用いて、パケット入力制御部12の処理の概要について説明する。図2は、パケット入力制御部の処理の概要を示す図である。図12に示すように、パケット入力制御部12にはパケットバッファ12dが存在する。パケットバッファ12dは、VM11a〜VM11c宛てのパケットを記憶する。
パケットを処理するVM11a〜VM11c宛てのパケットは一度パケットバッファ12d内のパケットキュー120a〜120cに記録される。パケットバッファ12dには、VM11a〜VM11cごとに用意したパケットキュー120a〜120cが存在する。到着したパケットは、宛先となるVM11a〜VM11cのパケットキュー110a〜110cへと入れられる。
VM11a〜VM11cはそれぞれ独自のパケットキュー110a〜110cを有する。パケットバッファ12dに到着したパケットは、受信部12bにより、仮想マシンに割り当てられたパケットキューへと入力される。入力方法としては、仮想マシンが扱うネットワークインタフェース用のメモリ領域にパケットを書き込み、仮想マシンに割り込み信号などで通知する方法などが存在する。
パケット入力制御部12の監視部12aは、VM11a〜VM11c内のパケットキュー110a〜110c内のパケット数と、パケットバッファ12d内のパケットキュー120a〜120c内のパケット数を監視する。観測されたパケット数は受信部12bおよび入力部12cに通知される。
パケット入力制御部12の受信部12bおよび入力部12cは、パケット数に関する閾値を用いたパケット入力処理を行う。閾値は予め指定された方法で設定されるものとする。受信部12bおよび入力部12cは閾値の管理テーブルを保持する。図2には、閾値を2つ記載している様子を示す。それぞれ、上限パケット数とチェック終了パケット数と記載する。閾値の使用方法については後に詳述する。
次に、図3を用いて、仮想マシンの通常稼働時について説明する。図3は、仮想マシンの通常稼働時について説明する図である。図3の例では、4台の仮想マシン(VM1〜VM4)が稼働している様子を記載している。全ての仮想マシンのリソース優先度は同じ大きさであるものとする。これにより、仮想マシン内で稼働するソフトウェアはCPUやネットワークリソースを同等に利用することができる。このときの優先度を、以降では「高優先」と呼ぶ。これに対し、利用できるリソース量がこの優先度より少ない時の優先度を「低優先」と呼ぶ。
次に、図4を用いて、仮想マシンの移行処理を開始する際の処理例を説明する。図4は、仮想マシンの移行処理を開始する際の処理例を説明する図である。図4に示すように、移行管理装置20は、ハイパーバイザ14に対し、VM1、2の移行を開始しVM3、4を移行前待機状態にするよう指示を出す。ハイパーバイザ14は指示を受けると、仮想マシンVM1、2の移行処理を開始する。そして、待機状態に指定されたVM3、4のリソース優先度を低下させ、CPUリソースの使用可能量を制限する。移行を開始する仮想マシンであるVM1、2の移行処理に多くのリソースを割り当て、移行処理時間を短縮する。
ハイパーバイザ14のパケット入力制御部12は、仮想マシンごとにパケット数の閾値に関するテーブルを持つ。ハイパーバイザ14は、優先度の低い仮想マシンVM3、4に対するエントリをテーブルに作成し、閾値を入力する。ここで、閾値は2つ存在し、1つめの閾値は上限パケット数であり、仮想マシンへのパケット入力時に使用される。また、2つめの閾値は「チェック終了パケット数」である。パケット入力機能がパケット数の監視をやめる指示を受信した後、監視処理をストップするときの仮想マシン内のパケット数を表す。この閾値を用いた監視部12aの停止動作は後に詳述する。また、ハイパーバイザ14は、指示を受けると、移行待機状態にある仮想マシンであるVM3、4内のパケットキュー110c、110dに存在するパケット数の監視を開始する。
次に、図5を用いて、パケット入力処理の動作例を説明する。図5は、パケット入力処理の動作例を説明する図である。ハイパーバイザ14は、移行待機状態にある仮想マシンであるVM3、4内のパケットキュー110c、110dに存在するパケット数の監視を行う。なお、図5の例では、VM3のみ記載し、VM3の例を用いて説明する。
そして、仮想マシン(VM3)のパケットキュー110c内のパケット数が、上限パケット数を上回ると、新たに該仮想マシン宛てのパケットが到着したとしても、仮想マシンに到着したことを通知しない。このとき、パケットはハイパーバイザ14のパケットバッファ12d内のパケットキュー120cに保管される。
その後、仮想マシン内でパケット処理が進み、仮想マシンのパケットキュー110c内のパケット数が上限パケット数を下回るとき、パケットキュー120cにおいて保管していたパケットを宛先仮想マシンのパケットキューに入力する。
次に、図6を用いて、仮想マシンの移行が進み、ある仮想マシンの移行が終了したときの動作について説明する。図6は、仮想マシンの移行処理が進み、ある仮想マシンの移行が終了した際の処理例を説明する図である。
図6では、VM1の移行が終了したときの状況を記載している。VM1の移行が終了すると、ハイパーバイザ14は移行管理機能に対し、VM1の移行が終了したことを通知する。通知をうけて、移行管理機能はサーバ内のリソース利用状況を取得する。それをもとに、次に移行する仮想マシンを選択する。利用できる選択方法として、アルゴリズムを用いる方法やオペレータによる静的設定に従う方法などが存在する。そのような方法を使用した結果、次の移行仮想マシンとして、VM3を選んだ状況をここでは説明する。
移行管理装置20は、次に移行する仮想マシンとして、VM3を選択したことをハイパーバイザ14に通知する。ハイパーバイザ14は、それを受けて、VM3の優先度をVM2と同じ高さに変更する。同時に、VM3におけるパケット数の監視処理の停止をパケット入力制御部12に指示する。優先度を高くすることにより、VM3宛てのパケット処理速度は速くなり、パケットキュー110c内のパケット数は少なくなる。パケットキュー110c内のパケット数が前述のチェック終了パケット数を下回るまで減少したとき、パケットキュー110c内のパケット数の監視処理を停止し、以降、パケットバッファ12dに到着したVM3宛てのパケットをVM3のパケットキュー110cに逐次入力する。
また、ハイパーバイザ14は、次に移行する仮想マシンとしてVM3を選ぶことを示す通知を受けた後、VM3の移行処理を開始する。移行開始タイミングについては、通知が来た瞬間から開始する方法や後述するような仕組みを使用してタイミングを見つける方法が存在する。この一連の動作を移行対象となった仮想マシンVM1〜VM4に対する移行処理がすべて完了するまで繰り返す。
ここで、VM3が移行するタイミングに関する課題について説明する。ある仮想マシンの移行が終了し、次に移行する仮想マシンを通知される段階で、選択された仮想マシン宛てのパケットが実パケットキューにたまっているとき、これらをすべて処理したうえで移行を完了する必要がある。
これは、移行中の仮想マシンのデータを移行元と移行先とで同じにする必要があるためである。パケットの処理を行う際、メモリ内の情報を更新する処理が存在すると、それまでに送ったデータと異なるデータが移行元のサーバに存在することになる。この状態を放置すると、移行完了後に移行先のサーバで稼働する仮想マシンで処理を行うと、移行元で更新された内容が反映されず、誤動作を生じる。これまで説明した仮想マシン移行方法を使用すると、未処理パケットを処理しながら移行処理を行うことになる。
それまでのリソース優先度が低かったため、仮想マシン内、ならびにパケットバッファ内におけるパケットキューに多くのパケットが存在する。これらのパケット処理に伴い、仮想マシン内のメモリ情報は多く更新される。その結果、送信すべき更新データ量が多くなり、同時に移行する仮想マシンの移行用帯域を圧迫するという課題が生じる。この問題を防止するため、処理するパケット量が一定量を下回ったときに移行処理を開始する方法を利用する。具体的には、移行部13aは、移行処理を開始する仮想マシンのうち、該仮想マシンのパケットキューに記憶されたパケット数が所定の閾値を下回った場合に、移行処理を開始する。図7を用いて具体的な動作を説明する。図7は、仮想マシンが処理するパケット量が一定量を下回ったときに移行処理を開始する動作例を説明する図である。
図7の例では、ハイパーバイザ14が、次に移行を行う仮想マシンであるVM3のパケットキュー110c内のパケット数を監視する。そして、その値が予め与えられた閾値を下回った場合に移行処理を開始する。この閾値を図7中では「移行開始閾値」と記載する。ある仮想マシンの移行が終了した後、移行を開始する仮想マシンとしてVM3が指示されると、ハイパーバイザ14は、VM3の優先度を高くする。リソース優先度が高くなったことにより、パケットの処理速度はそれまでと比べて向上する。移行を開始するための閾値はあらかじめオペレータにより設定されているとする。パケットの処理が進み、VM3のパケットキュー110c内のパケット数が移行開始閾値を下回るとハイパーバイザ14は仮想マシンVM3の移行処理を開始する。
この方法を用いることにより、パケットキュー110c内に存在するパケットを処理することによるデータ更新内容を反映させたデータを移行先に送信することになる。よって、送信すべき更新データを削減することが可能になる。以上の方法を用いて、仮想マシンの移行を行うことにより、移行処理に多くのリソースを割り当てることができ、移行処理時間を短縮することが可能になる。
ここで、仮想マシンのリソース優先度を低下させたとき、さらに次のような問題が生じる。仮想マシンの優先度を変更する方法を用いた場合、低優先度の仮想マシンのデータ処理速度が低下する。このとき、低優先度の仮想マシンの処理時間が遅くなる。結果、SLA(Service Level Agreement)で決められたレスポンスタイムを守れなくなる場合が生じる、という問題が生じる。そこで、リソース制御部13bは、移行処理を開始していない仮想マシンのうち、該仮想マシンのパケットバッファおよびパケットキューに記憶されたパケット数の合計が所定の閾値を超えた場合に、優先度を高くし、該仮想マシンのパケットキューに記憶されたパケット数が所定の閾値を下回った場合に優先度を低くするように戻す。図8を用いて、具体的な動作について説明する。図8では、低優先の状態が続く仮想マシンであるVM4の動作を記載する。図8は、低優先の状態が続く仮想マシンの動作例を説明する図である。
ハイパーバイザ14は、仮想マシンの実パケットキュー内、もしくは仮想パケットキュー内のパケット数が予め設定された閾値を超えると、仮想マシンのリソース優先度を高くする。そして、両キュー内のパケット数が別途与えられた閾値を下回ると優先度を低くする。図8において、前者の閾値を「高優先変更時の閾値パケット数」、後者を「低優先変更時の閾値パケット数」と記載する。
図8の例では、前者の閾値を仮想マシン内のパケットキュー110dとパケットバッファ12d内のパケットキュー120d内に存在するパケット数の合計が「7」のとき、後者の閾値をパケットキュー110d内のパケット数が「2」のときの例を示す。
優先度を低くしたため仮想マシンVM4宛てのパケットの処理速度が遅くなると、VM4用のパケットキュー110dとパケットバッファ12d内のパケットキュー120dのパケット数が増加する。そして、パケットの個数が7個を超えると、ハイパーバイザ14は、VM4のリソース優先度を高くする。リソース優先度が高くなるため、VM4のパケット処理速度はそれまでより早くなる。そして、パケットを順調に処理し、仮想パケットキュー内のパケット数が減少した結果、パケットキュー110d内のパケット数が2になったところで、リソース優先度を低優先に戻す。
この方法を用いることで、パケット処理を完了するまでの時間を制御し、SLAで決められたレスポンスタイムを守ることが可能になる。本実施形態では、閾値となるパケット数を固定的に設定するものとした。しかし、例によっては、仮想マシンと顧客情報を管理するデータベースを用意し、顧客と結ぶSLAに関する情報から閾値を計算する機能を利用して閾値を決定する方法も考えられる。また、リソース量とマイグレーション時間の相関関係を考慮して閾値を計算する機能を用いて決定する方法も存在する。さらには、パケット処理速度を観測する機能を用意し、リソース優先度とパケット処理速度の関係を測定したうえで閾値を算出する機能を用いて決定する方法も存在する。このように、閾値の決定手段は様々な方法が存在する。
[移行システムの処理の一例]
次に、図9〜図11を用いて、移行システムにおけるサーバ10および移行管理装置20における処理の流れを説明する。図9は、第一の実施の形態に係る移行管理装置における移行制御処理の流れを示すフローチャートである。図10は、第一の実施の形態に係るサーバにおける移行処理の流れを示すフローチャートである。図11は、第一の実施の形態に係るサーバにおけるパケット入力処理の流れを示すフローチャートである。
まず、図9を用いて、移行管理装置20における移行制御処理の流れを説明する。図9に示すように、移行管理装置20は、ライブマイグレーションを実行する旨の指示を受け付けると(ステップS101肯定)。VMを移行する順番を決定する(ステップS102)。そして、移行管理装置20は、移行処理を開始するVMと後程移行処理を行うVMをサーバ10に通知する(ステップS103)。
そして、移行管理装置20は、後程移行処理を行うVMのリソース優先度を低くするようにサーバ10に指示する(ステップS104)。その後、移行管理装置20は、移行が完了したVMに関する通知をサーバ10から受信すると(ステップS105肯定)、全てのVMの移行が完了したか否かを判定する(ステップS106)。
この結果、移行管理装置20は、サーバ10で稼働する全てのVMの移行が完了していないと判定した場合には(ステップS106否定)、次に移行するVMをサーバ10に通知する(ステップS107)。そして、移行管理装置20は、次に移行するVMのリソース優先度を高くするようにサーバ10に指示し(ステップS108)、ステップS105の処理に戻る。また、移行管理装置20は、サーバ10で稼働する全てのVMの移行が完了したと判定した場合には(ステップS106肯定)、移行制御処理を終了する。
次に、図10を用いて、サーバ10における移行処理の流れを説明する。図10に示すように、サーバ10は、移行管理装置20から移行処理を開始するVMと後程移行処理を行うVMを受信すると(ステップS201肯定)、リソース優先度の指示を受信し(ステップS202)、受信した指示に従ってリソース優先度の設定を行う(ステップS203)。具体的には、サーバ10は、後程移行処理を行うVMのリソース優先度を低くする指示を受信し、後程移行処理を行うVMのリソース優先度を低くする設定を行う。
続いて、サーバ10は、後程移行処理を行うVM内のパケットキューのパケット数を監視し(ステップS204)、監視結果に応じて図11を用いて詳述するパケット入力処理を行う(ステップS205)。
そして、サーバ10は、移行処理を開始するVMのライブマイグレーションを実行する(ステップS206)。その後、サーバ10は、いずれかのVMの移行が完了すると(ステップS207肯定)、移行が完了したVMに関する通知を移行管理装置20に送信する(ステップS208)。例えば、サーバ10は、移行が完了したVMを識別するIDを移行管理装置20に通知する。
そして、サーバ10は、全てのVMの移行が完了したかを判定する(ステップS209)。この結果、サーバ10は、全てのVMの移行が完了していないと判定した場合には(ステップS209否定)、次に移行処理を開始するVMを移行管理装置20から受信すると(ステップS210肯定)、移行処理を開始するVM内のパケットキューのパケット数を監視する処理を停止し(ステップS211)、ステップS206の処理に戻る。具体的には、サーバ10は、次に移行処理を開始するVMを移行管理装置20から受信した後、VM内のパケットキューのパケット数がチェック終了パケット数を下回るまで減少したとき、VM内のパケットキューのパケット数の監視処理を停止する。また、サーバ10は、全てのVMの移行が完了したと判定した場合には(ステップS209肯定)、移行処理を終了する。
次に、図11を用いて、サーバ10におけるパケット入力処理の流れを説明する。図11に示すように、サーバ10は、後程移行処理を行うと移行管理装置20により決定されたVM宛てのパケットが到着すると(ステップS301肯定)、VM内のパケットキューのパケット数が上限パケット数以下であるか否かを判定する(ステップS302)。
この結果、サーバ10は、VM内のパケットキューのパケット数が上限パケット数以下である場合には(ステップS302肯定)、到着したパケットをVM内のパケットキューに入力する(ステップS303)。また、VM内のパケットキューのパケット数が上限パケット数を上回っている場合には(ステップS302否定)、到着したパケットをVM内のパケットキューに入力せずに、パケットバッファ12dに保存する(ステップS304)。なお、サーバ10は、パケットバッファ12dにパケットを保存した後、VM内のパケットキューのパケット数が上限パケット数以下になると、パケットバッファ12dに保存されたパケットをVM内のパケットキューに入力する。
[第一の実施の形態の効果]
このように、第一の実施の形態に係る移行システムの移行管理装置20は、移行元のサーバ10上で稼働する複数の仮想マシンの移行する順番を決定し、各仮想マシンを順次移行先のサーバへ移行するように制御する。そして、サーバ10は、移行管理装置20によって決定された順番を基に、仮想マシンの移行を実行する。また、サーバ10は、複数の仮想マシンのうち、移行処理を開始していない仮想マシンのパケットキューに記憶されたパケット数を監視する。そして、サーバ10は、移行処理を開始していない仮想マシン宛てのパケットを受信した際に、監視されたパケット数が所定の閾値を超えている場合には、仮想マシン宛てのパケットをパケットバッファ12dに格納し、監視されたパケット数が所定の閾値以下である場合には、仮想マシンのパケットキューにパケットを入力する。また、サーバ10は、監視されたパケット数が所定の閾値以下となり、かつ、パケットバッファにパケットが記憶されている場合には、該パケットバッファ12dに記憶されたパケットを仮想マシンのパケットキューに入力する。これにより、パケットロスを削減しつつ仮想マシンの移行にかかる時間を短縮することが可能である。つまり、所定数以上のパケットが仮想マシンのパケットキューに存在する場合には、パケットを仮想マシンのパケットキューに入力せずにパケットバッファ12dに格納しておくことで、新たに到着したパケットをドロップさせることなく迅速に移行処理を行うことが可能となる。
また、第一の実施の形態に係る移行システムでは、移行処理を開始していない仮想マシンがリソースを使用する優先度を移行を開始している仮想マシンがリソースを使用する優先度よりも低くするように制御し、移行処理を開始していない仮想マシンの移行処理が開始となった場合には、該仮想マシンの優先度を高くするように制御する。これにより、移行処理を行う仮想マシンのリソース使用を優先させることで、移行処理を高速化することが可能となり、仮想マシンの移行にかかる時間を短縮することが可能である。つまり、移行処理を開始していない仮想マシンのリソース使用の優先度を低くすることで、移行処理を開始する仮想マシンによる移行処理を行うためのリソースの使用を優先させる結果、仮想マシンの移行処理を高速に行うことが可能となる。また、移行処理を開始していない仮想マシンのリソース優先度が低く割り当てられ、仮想マシンのパケット処理速度が遅くなるが、所定数以上のパケットが仮想マシンのパケットキューに存在する場合には、パケットをパケットキューに入力せずにパケットバッファ12dに格納しておくことで、仮想マシンにより新たに到着したパケットをドロップされるという問題を防ぐことが可能になる。
また、第一の実施の形態に係る移行システムでは、移行処理を開始していない仮想マシンの移行処理が開始となった際に、該仮想マシンのパケットキューに記憶されたパケット数が所定の閾値を下回った場合には、該仮想マシンのパケットキューに記憶されたパケット数を監視する処理を停止する。このように、パケット数の監視処理を止めることにより、監視処理に伴う負荷を軽減することが可能である。
また、第一の実施の形態に係る移行システムでは、移行処理を開始する仮想マシンのうち、該仮想マシンのパケットキューに記憶されたパケット数が所定の閾値を下回った場合に、移行処理を開始する。これにより、仮想マシンの移行を開始するときに処理すべきパケット数を削減することができ、送信すべき更新情報量を削減することで、移行処理時間を短縮し、送信すべき更新データ数を削減することが可能になる。
また、第一の実施の形態に係る移行システムでは、移行処理を開始していない仮想マシンのうち、該仮想マシンのパケットバッファ12dおよびパケットキューに記憶されたパケット数の合計が所定の閾値を超えた場合に、優先度を高くし、該仮想マシンのパケットキューに記憶されたパケット数が所定の閾値を下回った場合に、優先度を低くするように戻す。これにより、低優先度状態にある仮想マシンによるパケット処理時間が大きくなり、例えば、仮想マシンを利用するカスタマと契約した時間を超えそうになったとき、パケット処理を高速化することができ、かつパケットキューに存在するパケット数を減らすことができるため、パケット処理時間をカスタマと契約した時間以内にすることができる。
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
また、上記実施形態において説明したサーバ10および移行管理装置20が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態に係るサーバ10および移行管理装置20が実行する処理をコンピュータが実行可能な言語で記述した移行プログラムを作成することもできる。この場合、コンピュータが移行プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる移行プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された移行プログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
図12は、移行プログラムを実行するコンピュータ1000を示す図である。図12に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
メモリ1010は、図12に例示するように、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図12に例示するように、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、図12に例示するように、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、図12に例示するように、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、図12に例示するように、例えばディスプレイ1130に接続される。
ここで、図12に例示するように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の移行プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1090に記憶される。
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、各種処理手順を実行する。
なお、移行プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、移行プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10 サーバ
11a〜11c VM
12 パケット入力制御部
12a 監視部
12b 受信部
12c 入力部
13 処理機能管理部
13a 移行部
13b リソース制御部
14 ハイパーバイザ
20 移行管理装置
21 移行制御部

Claims (7)

  1. 仮想マシン宛てのパケットを記憶するパケットバッファと、
    移行元のサーバ上で稼働する複数の仮想マシンの移行する順番を決定し、各仮想マシンを順次移行先のサーバへ移行するように制御する移行制御部と、
    前記移行制御部によって決定された順番を基に、仮想マシンの移行を実行する移行部と、
    前記複数の仮想マシンのうち、移行処理を開始していない仮想マシンのパケットキューに記憶されたパケット数を監視する監視部と、
    前記移行処理を開始していない仮想マシン宛てのパケットを受信した際に、前記監視部によって監視されたパケット数が第一の閾値を超えている場合には、前記仮想マシン宛てのパケットを前記パケットバッファに格納し、前記監視部によって監視されたパケット数が第一の閾値以下である場合には、前記仮想マシンの前記パケットキューにパケットを入力する受信部と、
    前記監視部によって監視されたパケット数が第一の閾値以下となり、かつ、前記パケットバッファにパケットが記憶されている場合には、該パケットバッファに記憶されたパケットを前記仮想マシンの前記パケットキューに入力する入力部と
    を有することを特徴とする移行システム。
  2. 前記移行処理を開始していない仮想マシンがリソースを使用する優先度を前記移行を開始している仮想マシンがリソースを使用する優先度よりも低くするように制御し、前記移行処理を開始していない仮想マシンの移行処理が開始となった場合には、該仮想マシンの前記優先度を高くするように制御するリソース制御部をさらに有することを特徴とする請求項1に記載の移行システム。
  3. 前記監視部は、前記移行処理を開始していない仮想マシンの移行処理が開始となった際に、該仮想マシンのパケットキューに記憶されたパケット数が第二の閾値を下回った場合には、該仮想マシンのパケットキューに記憶されたパケット数を監視する処理を停止することを特徴とする請求項1に記載の移行システム。
  4. 前記移行部は、前記移行処理を開始する仮想マシンのうち、該仮想マシンのパケットキューに記憶されたパケット数が第三の閾値を下回った場合に、移行処理を開始することを特徴とする請求項1に記載の移行システム。
  5. 前記リソース制御部は、前記移行処理を開始していない仮想マシンのうち、該仮想マシンの前記パケットバッファおよび前記パケットキューに記憶されたパケット数の合計が第四の閾値を超えた場合に、前記優先度を高くし、該仮想マシンの前記パケットキューに記憶されたパケット数が第五の閾値を下回った場合に、前記優先度を低くするように戻すことを特徴とする請求項2に記載の移行システム。
  6. 移行システムによって実行される移行方法であって、
    前記移行システムは、仮想マシン宛てのパケットを記憶するパケットバッファを有し、
    移行元のサーバ上で稼働する複数の仮想マシンの移行する順番を決定し、各仮想マシンを順次移行先のサーバへ移行するように制御する移行制御工程と、
    前記移行制御工程によって決定された順番を基に、仮想マシンの移行を実行する移行工程と、
    前記複数の仮想マシンのうち、移行処理を開始していない仮想マシンのパケットキューに記憶されたパケット数を監視する監視工程と、
    前記移行処理を開始していない仮想マシン宛てのパケットを受信した際に、前記監視工程によって監視されたパケット数が第一の閾値を超えている場合には、前記仮想マシン宛てのパケットを前記パケットバッファに格納し、前記監視工程によって監視されたパケット数が第一の閾値以下である場合には、前記仮想マシンの前記パケットキューにパケットを入力する受信工程と、
    前記監視工程によって監視されたパケット数が第一の閾値以下となり、かつ、前記パケットバッファにパケットが記憶されている場合には、該パケットバッファに記憶されたパケットを前記仮想マシンの前記パケットキューに入力する入力工程と
    を含んだことを特徴とする移行方法。
  7. 移行元のサーバ上で稼働する複数の仮想マシンの移行する順番を決定し、各仮想マシンを順次移行先のサーバへ移行するように制御する移行制御ステップと、
    前記移行制御ステップによって決定された順番を基に、仮想マシンの移行を実行する移行ステップと、
    前記複数の仮想マシンのうち、移行処理を開始していない仮想マシンのパケットキューに記憶されたパケット数を監視する監視ステップと、
    前記移行処理を開始していない仮想マシン宛てのパケットを受信した際に、前記監視ステップによって監視されたパケット数が第一の閾値を超えている場合には、前記仮想マシン宛てのパケットをパケットバッファに格納し、前記監視ステップによって監視されたパケット数が第一の閾値以下である場合には、前記仮想マシンの前記パケットキューにパケットを入力する受信ステップと、
    前記監視ステップによって監視されたパケット数が第一の閾値以下となり、かつ、前記パケットバッファにパケットが記憶されている場合には、該パケットバッファに記憶されたパケットを前記仮想マシンの前記パケットキューに入力する入力ステップと
    をコンピュータに実行させるための移行プログラム。
JP2016160042A 2016-08-17 2016-08-17 移行システム、移行方法および移行プログラム Active JP6495872B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016160042A JP6495872B2 (ja) 2016-08-17 2016-08-17 移行システム、移行方法および移行プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016160042A JP6495872B2 (ja) 2016-08-17 2016-08-17 移行システム、移行方法および移行プログラム

Publications (2)

Publication Number Publication Date
JP2018028779A JP2018028779A (ja) 2018-02-22
JP6495872B2 true JP6495872B2 (ja) 2019-04-03

Family

ID=61249042

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016160042A Active JP6495872B2 (ja) 2016-08-17 2016-08-17 移行システム、移行方法および移行プログラム

Country Status (1)

Country Link
JP (1) JP6495872B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111008188B (zh) * 2019-10-29 2023-08-15 平安科技(深圳)有限公司 数据迁移方法、装置、计算机设备和存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595737B2 (en) * 2009-03-17 2013-11-26 Hitachi, Ltd. Method for migrating a virtual server to physical server according to a variation ratio, a reference execution time, a predetermined occupied resource amount and a occupancy amount
CN102648455B (zh) * 2009-12-04 2015-11-25 日本电气株式会社 服务器和流控制程序
JP2011186760A (ja) * 2010-03-08 2011-09-22 Fuji Xerox Co Ltd 処理分配プログラム及び処理分配装置

Also Published As

Publication number Publication date
JP2018028779A (ja) 2018-02-22

Similar Documents

Publication Publication Date Title
US9569245B2 (en) System and method for controlling virtual-machine migrations based on processor usage rates and traffic amounts
US12001681B2 (en) Distributed storage system and data processing method
EP3001616B1 (en) Techniques for routing service chain flow packets between virtual machines
US8725875B2 (en) Native cloud computing via network segmentation
JP5500270B2 (ja) プロファイル処理プログラム、データ中継装置およびプロファイル制御方法
JP5347982B2 (ja) 仮想ネットワーク制御プログラム、仮想ネットワーク制御方法および管理装置
US8516492B2 (en) Soft partitions and load balancing
US20180018197A1 (en) Virtual Machine Resource Allocation Method and Apparatus
US20140344810A1 (en) Resource management method and apparatus for virtual machine system, and virtual machine system
US8413158B2 (en) Processor thread load balancing manager
CN106959893B (zh) 加速器、用于加速器的内存管理方法以及数据处理系统
US10261874B2 (en) Enabling a cloud controller to communicate with power systems
JP6144639B2 (ja) ネットワーク制御装置、通信システム、ネットワーク制御方法、および、ネットワーク制御プログラム
US9864706B2 (en) Management of allocation for alias devices
KR20200080458A (ko) 클라우드 멀티-클러스터 장치
US9774540B2 (en) Packet drop based dynamic receive priority for network devices
WO2016197301A1 (zh) Nfv系统中的策略协调方法和装置
KR20140096784A (ko) 마이크로서버 환경의 소프트웨어 이주 방법 및 이를 지원하는 장치
US9973575B2 (en) Distributed processing system and control method
US10616064B2 (en) Soft reservation techniques and systems for virtualized environments
KR20210056655A (ko) 클라우드 엣지 환경에서 예측 기반 마이그레이션 후보 및 대상 선정 방법
JP6495872B2 (ja) 移行システム、移行方法および移行プログラム
JP6133804B2 (ja) ネットワーク制御装置、通信システム、ネットワーク制御方法、および、ネットワーク制御プログラム
JP2019021185A (ja) 情報処理装置、情報処理システム、情報処理装置制御方法及び情報処理装置制御プログラム
Nguyen et al. An improvement of resource allocation for migration process in cloud environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180620

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190214

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: 20190305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190307

R150 Certificate of patent or registration of utility model

Ref document number: 6495872

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150