JP6495645B2 - リソース制御装置、方法、及びプログラム - Google Patents

リソース制御装置、方法、及びプログラム Download PDF

Info

Publication number
JP6495645B2
JP6495645B2 JP2014256854A JP2014256854A JP6495645B2 JP 6495645 B2 JP6495645 B2 JP 6495645B2 JP 2014256854 A JP2014256854 A JP 2014256854A JP 2014256854 A JP2014256854 A JP 2014256854A JP 6495645 B2 JP6495645 B2 JP 6495645B2
Authority
JP
Japan
Prior art keywords
allocation
time
virtual machine
amount
resource
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.)
Expired - Fee Related
Application number
JP2014256854A
Other languages
English (en)
Other versions
JP2016118841A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2014256854A priority Critical patent/JP6495645B2/ja
Priority to US14/845,418 priority patent/US9858103B2/en
Publication of JP2016118841A publication Critical patent/JP2016118841A/ja
Application granted granted Critical
Publication of JP6495645B2 publication Critical patent/JP6495645B2/ja
Expired - Fee Related 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/45558Hypervisor-specific management and integration aspects
    • 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/45591Monitoring or debugging support

Description

本発明の実施形態は、リソース制御装置、方法、及びプログラムに関する。
従来、ハイパーバイザー(Hypervisor)などの仮想マシンモニタ(Virtual Machine Monitor)(以下、「VMM」という)と呼ばれるソフトウェア技術が利用されている。VMMを利用することで、1台のコンピュータ上で、複数の仮想マシン(Virtual Machine)(以下、「VM」という)を動作させることができる。
VMMは、例えば、VM1に1GBのメモリを割当て、VM2に2GBのメモリを割当てる、というように、個々のVMにリソースを割当てる機能を有する。また、VMMは、個々のVMに割当てるリソースを動的に、すなわち、VMを停止させることなく、変更することができる。
このVMMの機能を利用すれば、VMが必要とする量のリソースをVMに割当てることができる。VMが必要とするリソースは、時間的に変動する。VMが必要とするリソースの変動にあわせてリソースを割当てることにより、コンピュータのリソースを有効に活用することができる。このような処理を行う技術を、動的リソース割当て技術と呼ぶ。
動的リソース割当て技術では、VMが必要とするリソースを保証することが重要である。リソース保証とは、VMが必要とするリソースよりも多くのリソースを割当てることをいう。リソースを保証できない場合、VMの動作が乱れることがある。
特開2011−170787号公報
"PRESS: PRedictive Elastic ReSource Scaling for cloud systems", Network and Service Management (CNSM), 2010 International Conference on
VMのリソースを精度よく保証することができるリソース制御装置、方法、及びプログラムを提供する。
一実施形態に係るリソース制御装置は、割当時刻取得部と、使用量計測部と、割当量算出部と、割当量設定部と、を備える。割当時刻取得部は、仮想マシンモニタが仮想マシンにリソースの割当量を割当てる割当時刻を取得する。使用量計測部は、割当時刻に、前記仮想マシンの前記リソースの使用量を計測する。割当量算出部は、使用量に基づいて割当量を算出する。割当量設定部は、割当時刻より所定時間前の設定時刻に、仮想マシンモニタに割当量を設定する。
第1実施形態に係るリソース制御装置の機能構成を示す図。 リソース制御装置の動作を説明する図。 アプリケーションの性能の変化を説明する図。 アプリケーションの性能の変化の実験結果を示す図。 図1のリソース制御装置のハードウェア構成を示す図。 図1のリソース制御装置とVMとの関係を示す図。 図1のリソース制御装置の処理を説明するフローチャート。 従来のリソース制御装置の動作を説明する図。 第2実施形態に係るリソース制御装置の機能構成を示す図。 図9のリソース制御装置による割当間隔の推定処理を示すフローチャート。 第3実施形態に係るリソース制御装置の機能構成を示す図。 第4実施形態に係るリソース制御装置による割当量の算出方法を説明する図。
以下、本発明の実施形態について図面を参照して説明する。
(第1実施形態)
第1実施形態に係るリソース制御装置、方法、及びプログラムについて、図1〜図8を参照して説明する。本実施形態に係るリソース制御装置は、VMMがVMに割当てるリソースの割当量を算出し、算出した割当量をVMMに設定する。VMMは、設定された割当量をVMに割当てる。ここでいうリソースとは、VMが動作する物理マシン(Physical Machine)(以下、「PM」という)のリソースのことである。VMMがVMに割当てるリソースは、例えば、PMのCPU、メモリ、ストレージ、ネットワークであるが、これに限られない。
本実施形態において、VMMは所定の時間間隔でVMにリソースを割当てるものとする。また、所定の時間間隔は既知であるものとする。以下では、VMMがVMにリソースを割当てる時刻を割当時刻、各割当時刻の間隔を割当間隔という。
まず、本実施形態に係るリソース制御装置の機能構成について、図1〜図4を参照して説明する。図1は、本実施形態に係るリソース制御装置の機能構成を示す図である。図1に示すように、リソース制御装置は、割当時刻取得部1と、使用量計測部2と、割当量算出部3と、割当量設定部4と、を備える。
割当時刻取得部1は、割当時刻を取得する。上述の通り、VMMは、所定の割当間隔でVMにリソースを割当てるため、割当時刻取得部1は、1つの割当時刻を取得すれば、その後の割当時刻を算出することができる。
ここで、図2は、本実施形態におけるリソース制御装置の動作を説明する説明図である。割当時刻取得部1が取得した割当時刻をT、割当間隔をIとすると、割当時刻T以降の割当時刻は、図2に示すように、T+I×N(Nは1以上の整数)で表される。割当時刻取得部1の詳細については後述する。
使用量計測部2は、VMによるリソースの使用量を所定の時間間隔で計測する。より詳細には、使用量計測部2は、割当時刻取得部1が算出した割当時刻T+I×Nに、前の割当時刻T+I×(N−1)から割当時刻T+I×Nまでのリソースの使用量を計測する。例えば、使用量計測部2は、時刻T+Iに、時刻Tから時刻T+Iまでのリソースの使用量を計測する。すなわち、使用量計測部2による使用量の計測時刻は、VMMによるリソースの割当時刻と一致する。
使用量計測部2による使用量の計測方法は任意である。使用量計測部2は、例えば、VMが使用したリソースの履歴データをVMMやVMから取得し、取得した履歴データに基づいてリソースの使用量を計測することができる。
割当量算出部3は、使用量計測部2が計測した各割当時刻間のリソースの使用量に基づいて、VMMがVMに割当てるリソースの割当量を算出する。割当量の算出方法は、計測されたリソースの使用量に基づいて割当量を算出する既知の方法から、任意に選択可能である。例えば、割当量算出部3は、過去の各割当時刻に計測された使用量の移動平均から、割当時刻におけるリソースの使用量の予測値Cを算出し、予測値Cに基づいて、割当量を算出することができる。割当量算出部3は、予測値Cや、予測値Cに所定のマージンを追加した値を割当量として算出する。
割当量設定部4は、割当量算出部3が算出したリソースの割当量を、所定の時間間隔でVMMに設定する。より詳細には、割当量設定部4は、割当時刻取得部1が算出した割当時刻より所定時間前の設定時刻に割当量を設定する。したがって、設定時刻は、T+I×N−M(M<I)で表され、図2に示すように、設定時刻の間隔(設定間隔i)は、割当間隔Iと一致する(i=I)。上記のMは、割当量設定部4が割当量を設定してから、VMMが割当量を実際に割当てるまでに要する時間に応じたマージンである。例えば、VMMは、時刻T+I−Mに割当量設定部4から設定された割当量を、時刻T+IにVMに割当てる。
ここで、割当時刻取得部1について詳細に説明する。図1に示すように、本実施形態において、割当時刻取得部1は、アプリケーション制御部11と、性能計測部12と、割当時刻推定部13と、を備える。
アプリケーション制御部11は、VM上で動作するアプリケーションの、動作の開始及び終了を制御する。アプリケーション制御部11が制御するアプリケーションは、VM上で動作する任意のソフトウェアであり、割当時刻を取得するためにVMにインストールされた専用のアプリケーションであってもよいし、VMに予めインストールされている既存のアプリケーション(例えば、顧客にサービスを提供する制御アプリケーション)であってもよい。アプリケーション制御部11は、VMMの機能、Secure Shell、及びTCP/IPなどを利用することにより、アプリケーションを制御することができる。
なお、このアプリケーションは、経時的に略一定の性能を発揮する処理を実行可能であることが好ましい。理由は後述する。また、このアプリケーションが、アプリケーション制御部11による指示がなくても動作する場合には、リソース制御装置は、アプリケーション制御部11を備えなくてもよい。このような場合として、アプリケーションが、VM上で常時動作している場合や、VMのユーザによりアプリケーションの動作の開始及び終了が制御される場合が考えられる。
性能計測部12は、VM上で動作する上述のアプリケーションの性能を、割当間隔より短い時間間隔で計測する。性能計測部12が計測する性能は、例えば、アプリケーションの単位時間あたりの通信量、ディスクアクセス量、演算回数、及び通信回数や、アプリケーションの応答速度であるが、これに限られない。性能計測部12は、VMやアプリケーションから、アプリケーションの動作履歴や性能を示すログファイルを取得し、解析することにより、性能を計測することができる。
割当時刻推定部13は、性能計測部12が計測したアプリケーションの性能の変化に基づいて、割当時刻を推定する。VM上で動作するアプリケーションの性能は、VMに割当てられたリソースの割当量に応じて変化する。このため、割当量設定部4が任意の時刻tに小さい割当量をVMMに設定すると、図3に示すように、時刻tの次の割当時刻に、小さい割当量がVMに割当てられ、アプリケーションの性能が低下する。割当量推定部13は、割当量設定部4に大きい割当量を設定させた後、小さい割当量を設定させ、性能の低下が開始した時刻T、性能の低下が終了した時刻T、又は性能が所定の閾値Th以下となった時刻Tを、割当時刻Tとして推定すればよい。また、割当量推定部13は、これらの時刻T〜Tより所定時間aだけ前の時刻を、割当時刻Tとして推定してもよい。aは、例えば、性能計測部12の計測間隔や、1ミリ秒などの所定値である。
ここで、図4は、リソースの割当量を増減させた場合のアプリケーションの性能の実験結果を示す図である。図4の左の縦軸は割当量、右の縦軸は性能、横軸は時間である。図4において、各時刻に設定された割当量と、各時刻に計測されたアプリケーションの性能と、が示されている。図4より、小さな割当量を設定した後に、性能が急激に低下し、大きな割当量を設定した後に、性能が急激に向上していることがわかる。
割当時刻推定部13は、上述のように、アプリケーションの性能の変化に基づいて割当時刻を推定する。図3に示すように、アプリケーションの性能の変化は、アプリケーションの性能が略一定の場合、容易に観測することができる。このため、割当時刻を推定する際、アプリケーションの性能が略一定となるように、アプリケーションは、経時的に略一定の性能を発揮する処理を実行可能であるのが好ましい。これにより、割当時刻推定部13は、割当時刻を精度よく推定することができる。
また、性能の変化が観測しやすいように、割当時刻を推定する際の割当量の変化は大きい方が好ましい。例えば、VMにリソースの80%〜100%を割当てた後、割当量を0%〜20%に減少させるのが好ましい。これにより、アプリケーションの性能が急激に変化するため、性能の変化を容易に観測することができる。したがって、割当時刻推定部13は、割当時刻を精度よく推定することができる。
なお、以上の説明では、割当量を減少させる場合について説明したが、割当量を増加させる場合でも、同様に割当時刻を推定することができる。この場合、割当量推定部13は、性能の向上が開始した時刻T、性能の向上が終了した時刻T、性能が所定の閾値Th以上となった時刻T、又はこれらの時刻T〜Tより所定時間aだけ前の時刻を、割当時刻Tとして推定すればよい。
次に、本実施形態に係るリソース制御装置のハードウェア構成について、図5及び図6を参照して説明する。本実施形態に係るリソース制御装置は、図5に示すように、コンピュータ100(PM)により構成される。コンピュータ100は、CPU(中央演算装置)101と、入力装置102と、表示装置103と、通信装置104と、記憶装置105と、とを備え、これらはバス106により相互に接続されている。
CPU101は、コンピュータ100の制御装置及び演算装置である。CPU101は、バス106を介して接続された各装置(例えば、入力装置102、通信装置104、記憶装置105)から入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を、バス106を介して接続された各装置(例えば、表示装置103、通信装置104、記憶装置105)に出力する。
具体的には、CPU101は、コンピュータ100のOS(オペレーティングシステム)や、リソース制御プログラムなどを実行し、コンピュータ100を構成する各装置を制御する。リソース制御プログラムとは、コンピュータ100に、リソース制御装置の上述の各機能構成を実現させるプログラムである。CPU101がリソース制御プログラムを実行することにより、コンピュータ100がリソース制御装置として機能する。
入力装置102は、コンピュータ100に情報を入力するための装置である。入力装置102は、例えば、キーボード、マウス、及びタッチパネルであるが、これに限られない。
表示装置103は、画像や映像を表示するための装置である。表示装置103は、例えば、LCD(液晶ディスプレイ)、CRT(ブラウン管)、及びPDP(プラズマディスプレイ)であるが、これに限られない。
通信装置104は、コンピュータ100が外部装置と無線又は有線で通信するための装置である。通信装置104は、例えば、モデム、ハブ、及びルータであるが、これに限られない。
記憶装置105は、コンピュータ100のOSや、リソース制御プログラム、リソース制御プログラムの実行に必要なデータ、及びリソース制御プログラムの実行により生成されたデータなどを記憶する記憶媒体である。記憶装置105には、主記憶装置と外部記憶装置とが含まれる。主記憶装置は、例えば、RAM、DRAM、SRAMであるが、これに限られない。また、外部記憶装置は、ハードディスク、光ディスク、フラッシュメモリ、及び磁気テープであるが、これに限られない。
なお、コンピュータ100は、CPU101、入力装置102、表示装置103、通信装置104、及び記憶装置105を、1つ又は複数備えてもよいし、プリンタやスキャナなどの周辺機器を接続されていてもよい。
また、リソース制御装置は、単一のコンピュータ100により構成されてもよいし、相互に接続された複数のコンピュータ100からなるシステムとして構成されてもよい。
さらに、リソース制御プログラムは、コンピュータ100の記憶装置105に予め記憶されていてもよいし、CD−ROMなどの記憶媒体に記憶されていてもよいし、インターネット上にアップロードされていてもよい。いずれの場合も、リソース制御プログラムをコンピュータ100にインストールして実行することにより、リソース制御装置を構成することができる。
またさらに、リソース制御装置は、図6に示すように、VM及びVMMが動作するPMと同一のコンピュータ100により構成されてもよいし、VM及びVMMが動作するPMとは別のコンピュータ100により構成されてもよい。この場合、リソース制御装置は、コンピュータ100の通信装置104を介してVM及びVMMが動作するPMと通信すればよい。
次に、本実施形態に係るリソース制御方法について、図7を参照して具体的に説明する。図7は、本実施形態に係るリソース制御装置による処理の一例を示すフローチャートである。
以下では、リソースはCPUであり、アプリケーションの性能はCPUの演算回数であるものとする。また、アプリケーションは、所定時間毎(例えば、1ミリ秒毎)に、時刻と、CPUの演算回数と、を含むログファイルを出力するものとする。
ステップS1において、アプリケーション制御部11は、VM上のアプリケーションの動作を開始させる。処理の開始時点でアプリケーションが動作している場合には、ステップS1は省略される。
ステップS2において、割当量設定部4は、VMMにCPUの割当量100%をVMMに設定する。ここで割当てられる割当量は、性能の変化から割当時刻を推定するための割当量であり、予め設定することができる。割当量は、例えば、80%以上の任意の値に設定することができる。設定された割当量は、その後、VMMによりVMに割当てられる。
ステップS3において、性能計測部12がアプリケーションの性能の計測を開始する。性能計測部12は、性能の計測を開始すると、アプリケーションが出力するログファイルを参照し、単位時間あたりの演算回数を算出する。ログファイルに含まれるCPUの演算回数は累積値であるため、性能計測部12は、計測時刻のログファイルの演算回数から、単位時間前のログファイルの演算回数を減算することにより、単位時間あたりの演算回数を算出する。これにより、図4に示すような性能の履歴データが生成される。なお、ログファイルの取得方法は任意であり、VMMから取得してもよいし、FTPやHTTPを利用したファイル転送によりインターネットを介して取得してもよい。
ステップS4において、割当量設定部4は、CPUの割当量10%をVMMに設定する。ここで割当てられる割当量は、性能の変化から割当時刻を推定するための割当量であり、予め設定することができる。割当量は、例えば、20%以下の任意の値に設定することができる。設定された割当量は、その後、VMMによりVMに割当てられる。
ステップS5において、割当時刻推定部13は、割当時刻Tを推定する。ステップS4において、CPUの割当量が100%から10%に減少したことにより、図4に示すように、アプリケーションの性能が急激に低下する。割当時刻推定部13は、性能計測部12が生成した性能の履歴データを参照することにより、割当時刻Tを推定することができる。割当時刻の推定方法は上述の通りである。
ステップS6において、アプリケーション制御部11は、VM上のアプリケーションの動作を終了させる。処理の終了時点でアプリケーションが動作していてもよい場合には、ステップS6は省略される。
ステップS7において、使用量計測部2は、VMによるCPUの使用量を計測する。使用量の計測は、割当時刻推定部13が推定した割当時刻Tに基づいて算出された、割当時刻Tの割当時刻T+I×Nに行われる。使用量計測部2は、割当時刻T+I×Nにおいて、時刻T+I×(N−1)から時刻T+I×NまでのCPUの使用量を計測する。
ステップS8において、割当量算出部3は、CPUの割当量を算出する。ここで算出される割当量は、VMMによって割当時刻T+I×(N+1)にVMに割当てられる割当量である。割当量の算出方法は上述の通りである。
ステップS9において、割当量設定部4は、割当量算出部3が算出したCPUの割当量をVMMに設定する。割当量の設定は、設定時刻T+I×(N+1)−Mに行われる。その後、割当時刻T+I×(N+1)に、VMMは、設定された割当量をVMに割当てる。
以降、処理が終了するまで、ステップS7〜S9の処理が繰り返される。なお、上記の説明において、割当時刻の推定は、ステップS1において、1回だけ行われたが、複数回行われてもよい。割当時刻の推定は、例えば、所定の時間間隔で、或いは、任意のタイミング(例えば、リソースの保証に失敗したタイミング)で、繰り返し行うことができる。これにより、割当時刻の推定精度を向上させることができる。
従来のリソース制御装置として、一定の時間幅を有するタイムスロット毎にリソースの割当処理を行う装置が提案されている。ここで、図8は、従来のリソース制御方法を説明する図である。従来方法では、各タイムスロット間の境界時刻t,t,tに、リソースの使用量の計測及び割当量の設定が行われる。
一般に、VMMは、リソース制御装置の動作とは関係なく、一定の割当間隔Iでリソースの割当を行うため、上述の通り、割当時刻は、設定時刻より後の時刻t,t,tとなる。一般的なVMMの割当間隔Iは、数ミリ秒〜数十ミリ秒であるため、割当時刻と設定時刻とのタイムラグも数ミリ秒〜数十ミリ秒となる。
従来方法では、動作精度が数分〜数時間のアプリケーションがVM上で動作することを想定していたため、上記のような割当時刻と設定時刻とのタイムラグは、リソースの保証に対する影響が小さく、考慮されていなかった。
しかしながら、VM上で、動作精度が数ミリ秒〜数十ミリ秒のアプリケーションが動作する場合、リソースの使用量が急増するタイムスロットにおいて、リソースが不足する恐れがあった。例えば、図8の場合、設定時刻t〜割当時刻t(斜線部分)に、リソースが不足する可能性がある。これは、リソース制御装置が、設定時刻t以降に必要な割当量100%を算出し、割当量100%を設定時刻tに設定するためである。割当量100%は、実際には割当時刻tまで割当てられないため、VMが時刻t〜時刻tに多くのリソースを必要とした場合、時刻t〜時刻tにリソースが不足する。
これに対して、本実施形態に係るリソース制御装置は、割当時刻に計測したリソースの使用量に基づいて割当量を算出し、算出した割当量が次の割当時刻に割当てられるように設定することができる。すなわち、本実施形態に係るリソース制御装置は、割当時刻t以降に必要な割当量100%を算出し、割当量100%を設定時刻t−Mに設定する。これにより、割当量100%は、割当時刻tに割当てられるため、リソースの不足が抑制される。
以上説明した通り、本実施形態に係るリソース制御装置は、VM上で動作精度が数ミリ秒〜数十ミリ秒のアプリケーションが動作する場合であっても、VMのリソースを精度よく保証することができる。このリソース制御装置は、例えば、クラウドサーバのVM上で動作する制御アプリケーションのリソース制御に好適に用いることができる。
(第2実施形態)
第2実施形態に係るリソース制御装置、方法、及びプログラムについて、図9及び図10を参照して説明する。第1実施形態では、割当間隔Iは既知であることを前提としたが、割当間隔Iが不明な場合も考えられる。そこで、本実施形態に係るリソース制御装置は、割当間隔Iを推定する。
まず、本実施形態に係るリソース制御装置の機能構成について、図9を参照して説明する。図9は、本実施形態に係るリソース制御装置の機能構成を示す図である。図9に示すように、リソース制御装置の割当時刻取得部1は、割当間隔推定部14を更に備える。他の構成は、第1実施形態と同様である。以下、割当間隔推定部14について説明する。
割当間隔推定部14は、割当間隔Iを推定する。本実施形態において、割当時刻推定部13は、割当間隔推定部14が推定した割当間隔Iに基づいて、割当時刻T+I×Nを算出する。
割当量設定部4による割当量の設定間隔iと、VMによる割当量の割当間隔Iと、が等しい場合、割当量の設定時刻からアプリケーションの性能が変化するまでの時間は、一定となる。割当間隔推定部14は、このような性質を利用して、割当量の周期的な変化に応じた性能の変化に基づいて、割当間隔Iを推定する。
具体的には、割当間隔推定部14は、図4に示すように、割当量設定部4に、所定の設定間隔iで、大きい割当量と小さい割当量とを交互に設定させる。そして、割当間隔推定部14は、割当量の設定時刻と、割当量の変化に応じて性能が変化する時刻と、を比較する。
割当間隔推定部14は、複数の設定間隔iについてこのような比較を行い、割当量の設定時刻から性能が変化するまで時間が一定となる設定間隔iを探索する。割当間隔推定部14は、探索した設定間隔iを、割当間隔Iとして推定する。
次に、本実施形態に係る割当間隔Iの推定方法について、図10を参照して説明する。図10は、本実施形態に係るリソース制御装置による割当間隔Iの推定処理を示すフローチャートである。図10のステップS1〜S3は、第1実施形態と同様である。本実施形態では、ステップS3において、性能計測部12がアプリケーションの性能の計測を開始した後、処理はステップS10に進む。
ステップS10において、割当量設定部4は、所定の設定間隔iでCPUの割当量を増減させる。すなわち、大きい割当量(例えば、100%)と、小さい割当量(例えば、10%)と、を交互にVMMに設定する。
設定間隔iの初期値は、割当間隔Iより小さいのが好ましく、例えば、10マイクロ秒以上1ミリ秒以下の任意の値である。これは、割当間隔Iより大きい初期値から探索した場合、設定間隔iが割当間隔Iの2以上の整数倍(例えば、i=2×I)となる恐れがあるためである。設定間隔iが割当間隔Iの2以上の整数倍の場合、設定間隔iと割当間隔Iとが一致しないにもかかわらず、設定時刻から性能が変化するまでの時刻が一定となるため、設定間隔iが割当間隔Iと誤推定されてしまう。
しかしながら、割当間隔Iより小さい初期値から探索することにより、設定間隔iが割当間隔Iの2以上の整数倍となることを防ぐことができる。したがって、割当間隔Iの誤推定が抑制され、割当間隔Iの推定精度を向上させることができる。
ステップS11において、割当間隔推定部14は、性能計測部12が生成した性能の履歴データを参照して、設定時刻と、性能が変化した時刻と、の時間差を算出する。性能が変化した時刻として、例えば、性能の変化が開始した時刻T、性能の変化が終了した時刻T、又は性能が所定の閾値Th以下又は以下となった時刻Tを、用いることができる。
割当間隔推定部14は、ステップS10及びS11の処理を所定時間Vだけ継続し、上記の時間差を複数算出する。所定時間Vは、任意に設定可能であり、例えば、設定間隔iの10倍程度である。
所定時間Vが経過した後、割当間隔推定部14は、算出した複数の時間差が一定であるか判定する。割当間隔推定部14は、例えば、複数の時間差の分散、標準偏差、又は最大値と最小値との差、が所定値以下の場合、時間差が一定であると判定する。
時間差が一定と判定された場合(ステップS12のYES)、処理はステップS13に進む。
ステップS13において、割当間隔推定部14は、設定間隔iを、割当間隔Iとして推定する(I=i)。こうして推定された割当間隔Iを用いて、割当時刻推定部13は、割当時刻を推定することができる。
一方、時間差が一定でない判定された場合(ステップS12のNO)、処理はステップS14に進む。
ステップS14において、割当間隔推定部14は、設定間隔iを増加させる。設定間隔iの増加量は、割当間隔Iより小さいのが好ましく、例えば、10マイクロ秒以上1ミリ秒以下の任意の値である。その後、処理はステップS10に戻り、割当量設定部4は、新たな設定間隔iでCPUの割当量を増減させる。
以上説明した通り、本実施形態に係るリソース制御装置は、アプリケーションの性能の変化に基づいて、VMMの割当間隔Iを推定することができる。これにより、VMMの割当間隔Iが不明な場合であっても、割当時刻を推定し、リソースの保証精度を向上させることができる。
(第3実施形態)
第3実施形態に係るリソース制御装置、方法、及びプログラムについて、図11を参照して説明する。本実施形態に係るリソース制御装置は、VMMの動作履歴に基づいて、VMMの割当時刻を推定する。
本実施形態に係るリソース制御装置の機能構成について、図11を参照して説明する。図11は、本実施形態に係るリソース制御装置の機能構成を示す図である。図11に示すように、リソース制御装置の割当時刻取得部1は、割当時刻推定部13と、動作履歴取得部15と、を備える。他の構成は第1実施形態と同様である。以下、割当時刻取得部1について説明する。
動作履歴取得部15は、VMMの動作履歴のログファイルを取得する。ログファイルには、VMMの動作(処理)と、当該動作の時刻と、が含まれる。動作履歴取得部15は、VMMの全ての動作のログファイルを取得してもよいし、割当処理だけのログファイルを取得してもよい。
動作履歴取得部15は、例えば、VMMのAPIを利用してログファイルを取得することができる。この場合、取得されるログファイルの内容は、APIに依存する。
本実施形態において、割当時刻推定部13は、動作履歴取得部15が取得した動作履歴のログファイルを解析して、割当時刻を推定する。割当時刻の推定方法は、ログファイルの内容に応じて決定される。
例えば、動作履歴取得部15が、割当処理だけのログファイルを取得した場合、割当時刻推定部13は、ログファイルを参照して、各割当処理の時刻を割当時刻として取得すればよい。
また、動作履歴取得部15が、VMMの全ての動作のログファイルを取得した場合、割当時刻推定部13は、ログファイルを参照して、割当処理の時刻を抽出し、抽出した時刻を割当時刻として取得すればよい。動作履歴取得部15は、例えば、ログファイルから特定の文字列が含まれた行を検索することにより、割当処理の時刻を抽出することができる。特定の文字列は、例えば、VMMが割当処理を行うプログラム関数の名称であるが、これに限られない。
以上説明した通り、本実施形態に係るリソース割当て装置は、VMMの動作履歴に基づいて割当時刻を取得する。したがって、アプリケーションの性能を計測することなく、割当時刻を取得することができる。
(第4実施形態)
第4実施形態に係るリソース制御装置、方法、及びプログラムについて、図12を参照して説明する。本実施形態に係るリソース制御装置は、何らかの理由(例えば、VM上のアプリケーションを制御できない、アプリケーションの性能を計測できない、又はVMMの動作履歴を取得できない)により、割当時刻を取得できない場合、割当時刻と設定時刻とのタイムラグが最大となった場合を想定して割当量を算出する。本実施形態に係るリソース制御装置の構成は、上記の各実施形態のいずれであってもよい。
以下では、本実施形態における割当量の算出方法について、図12を参照して説明する。図12は、割当量の算出方法を説明する図である。
本実施形態において、割当時刻が取得できない場合、割当量設定部4は、図12に示すように、割当間隔Iで割当量を設定する。設定時刻は任意に決定可能である。また、使用量計測部2は、設定時刻にリソースの使用量を計測し、割当量算出部3は、設定時刻に計測された使用量に基づいて割当量を算出する。割当間隔Iは既知であってもよいし、割当間隔推定部14により推定されてもよい。
このとき、ある割当量の設定時刻と割当時刻とのタイムラグmは、M≦m<I+Mとなる。これは、m<Mの場合、VMMによる割当処理が間に合わないためである。例えば、m<Mの場合、図12の設定時刻tに設定された割当量がVMに割当てられるのは、時刻t+Mから時刻t+Mまでに含まれる割当時刻となる。
割当量算出部3が、上記の各実施形態と同様に割当量を算出した場合、図8を参照して説明した通り、タイムラグの期間にVMのリソースが不足する恐れがある。そこで、割当量算出部3は、過去に計測された使用量に基づいて、設定時刻における使用量の予測値Cを算出するとともに、その次の設定時刻における使用量の予測値Cを算出し、予測値C,Cに基づいて、割当量を算出する。
例えば、割当量算出部3は、設定時刻tに設定する割当量を算出する場合、設定時刻tまでに計測された使用量に基づいて、設定時刻tにおける使用量の予測値Cを算出するとともに、次の設定時刻tにおける使用量の予測値Cを算出する。予測値C1,C2は、過去に計測された使用量の移動平均などからそれぞれ算出すればよい。
そして、割当量算出部3は、予測値C,Cに基づいて、設定時刻tの予測値Cを算出する。予測値Cは、例えば、予測値C,Cの平均値や最大値である。そして、割当量算出部3は、予測値Cや、予測値Cに所定のマージンを追加した値を、設定時刻tの割当量として算出する。
以上説明した通り、本実施形態に係るリソース制御装置は、ある設定時刻に設定される割当量を、当該設定時刻におけるリソースの予測値Cと、次の設定時刻のリソースの使用量の予測値Cと、に基づいて算出する。これにより、リソース制御装置は、設定時刻と割当時刻とのタイムラグが最大となった場合の使用量の予測値Cを考慮した割当量を算出することができる。したがって、リソース制御装置は、割当時刻を取得できない場合のリソースの不足を抑制し、リソースを精度よく保証することができる。
なお、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、各実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
1:割当時刻取得部、2:使用量計測部、3:割当算出部、4:割当量設定部、11:アプリケーション制御部、12:性能計測部、13:割当時刻推定部、14:割当間隔推定部、15:動作履歴取得部、100:コンピュータ、101:CPU、102:入力装置、103:表示装置、104:通信装置、105:記憶装置、106:バス

Claims (13)

  1. 仮想マシンモニタが仮想マシンにリソースの割当量を割当てる割当時刻を決定する割当時刻取得部と、
    前記割当時刻に、前記仮想マシンの前記リソースの使用量を計測する使用量計測部と、 前記使用量に基づいてリソースの割当量を算出する割当量算出部と、
    次の前記割当時刻より所定時間前の設定時刻に、前記仮想マシンモニタに前記割当量算出部で算出された前記割当量を設定する割当量設定部と、を備え
    前記割当時刻取得部は、前記仮想マシン上で動作するアプリケーションの性能情報を所定の手法により算出し、前記性能情報の変化に基づいて前記割当時刻を決定する、リソース制御装置。
  2. 前記割当時刻取得部は、前記アプリケーションの動作の開始及び終了を制御する制御部を備える請求項1に記載のリソース制御装置。
  3. 前記割当時刻取得部は、前記割当量の変化に応じた前記性能情報の変化に基づいて前記割当時刻を決定する
    請求項1又は請求項2に記載のリソース制御装置。
  4. 前記割当量設定部は、前記割当量を増加又は減少させ、
    前記割当時刻取得部は、前記割当量の増加又は減少に応じて前記性能情報が所定値以上又所定値以下となった時刻に基づいて、前記割当時刻を決定する
    請求項1乃至請求項3のいずれか1項に記載のリソース制御装置。
  5. 仮想マシンモニタが仮想マシンにリソースの割当量を割当てる割当時刻を決定する割当時刻取得部と、
    前記割当時刻に、前記仮想マシンの前記リソースの使用量を計測する使用量計測部と、 前記使用量に基づいてリソースの割当量を算出する割当量算出部と、
    次の前記割当時刻より所定時間前の設定時刻に、前記仮想マシンモニタに前記割当量算出部により算出された前記割当量を設定する割当量設定部と、
    前記仮想マシン上で動作するアプリケーションの性能情報を所定の手法により算出する性能計測部と、
    前記割当量の周期的な変化に応じた前記性能情報の変化に基づいて、前記割当時刻の間隔である割当間隔を決定する割当間隔推定部と、を備える
    リソース制御装置。
  6. 前記割当量設定部は、前記割当量を複数の時間間隔で変化させ、
    前記割当間隔推定部は、前記割当量の設定時刻から前記性能情報が変化するまでの時間が一定となる前記時間間隔を、前記割当間隔として決定する
    請求項5に記載のリソース制御装置。
  7. 仮想マシンモニタが仮想マシンにリソースの割当量を割当てる割当時刻を決定する割当時刻取得部と、
    前記割当時刻に、前記仮想マシンの前記リソースの使用量を計測する使用量計測部と、 前記使用量に基づいてリソースの割当量を算出する割当量算出部と、
    次の前記割当時刻より所定時間前の設定時刻に、前記仮想マシンモニタに前記割当量算出部により算出された前記割当量を設定する割当量設定部と、を備え、
    前記割当時刻取得部は、前記仮想マシンモニタの動作履歴を取得し、前記動作履歴に基づいて前記割当時刻を決定する
    リソース制御装置。
  8. コンピュータが
    仮想マシンモニタが仮想マシンにリソースの割当量を割当てる割当時刻を決定し、
    前記割当時刻に、前記仮想マシンの前記リソースの使用量を計測し、
    前記使用量に基づいてリソースの割当量を算出し、
    次の前記割当時刻より所定時間前の設定時刻に、前記仮想マシンモニタに前記算出された割当量を設定し、
    前記仮想マシン上で動作するアプリケーションの性能情報を所定の手法により算出し、
    前記性能情報の変化に基づいて前記割当時刻を決定する、
    リソース制御方法。
  9. コンピュータが
    仮想マシンモニタが仮想マシンにリソースの割当量を割当てる割当時刻を決定し、
    前記割当時刻に、前記仮想マシンの前記リソースの使用量を計測し、
    前記使用量に基づいてリソースの割当量を算出し、
    次の前記割当時刻より所定時間前の設定時刻に、前記仮想マシンモニタに前記算出された割当量を設定し、
    前記仮想マシン上で動作するアプリケーションの性能情報を所定の手法により算出し、 前記割当量の周期的な変化に応じた前記性能情報の変化に基づいて、前記割当時刻の間隔である割当間隔を決定する
    リソース制御方法。
  10. コンピュータが
    仮想マシンモニタが仮想マシンにリソースの割当量を割当てる割当時刻を決定し、
    前記割当時刻に、前記仮想マシンの前記リソースの使用量を計測し、
    前記使用量に基づいてリソースの割当量を算出し、
    次の前記割当時刻より所定時間前の設定時刻に、前記仮想マシンモニタに前記算出された割当量を設定し、
    前記仮想マシンモニタの動作履歴を取得し、前記動作履歴に基づいて前記割当時刻を決定する
    リソース制御方法。
  11. コンピュータを、
    仮想マシンモニタが仮想マシンにリソースの割当量を割当てる割当時刻を決定する手段と、
    前記割当時刻に、前記仮想マシンの前記リソースの使用量を計測する手段と、
    前記使用量に基づいてリソースの割当量を算出する手段と、
    次の前記割当時刻より所定時間前の設定時刻に、前記仮想マシンモニタに前記算出された割当量を設定する手段と、
    前記仮想マシン上で動作するアプリケーションの性能情報を所定の手法により算出する手段と、
    前記性能情報の変化に基づいて前記割当時刻を決定する手段、
    として機能させるリソース制御プログラム。
  12. コンピュータを
    仮想マシンモニタが仮想マシンにリソースの割当量を割当てる割当時刻を決定する手段と、
    前記割当時刻に、前記仮想マシンの前記リソースの使用量を計測する手段と、
    前記使用量に基づいてリソースの割当量を算出する手段と、
    次の前記割当時刻より所定時間前の設定時刻に、前記仮想マシンモニタに前記算出された割当量を設定する手段と、
    前記仮想マシン上で動作するアプリケーションの性能情報を所定の手法により算出する手段と、
    前記割当量の周期的な変化に応じた前記性能情報の変化に基づいて、前記割当時刻の間隔である割当間隔を決定する手段、
    として機能させるリソース制御プログラム。
  13. コンピュータを
    仮想マシンモニタが仮想マシンにリソースの割当量を割当てる割当時刻を決定する手段と、
    前記割当時刻に、前記仮想マシンの前記リソースの使用量を計測する手段と、
    前記使用量に基づいてリソースの割当量を算出する手段と、
    次の前記割当時刻より所定時間前の設定時刻に、前記仮想マシンモニタに前記算出された割当量を設定する手段と、
    前記仮想マシンモニタの動作履歴を取得し、前記動作履歴に基づいて前記割当時刻を決定する手段、
    として機能させるリソース制御プログラム。
JP2014256854A 2014-12-19 2014-12-19 リソース制御装置、方法、及びプログラム Expired - Fee Related JP6495645B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014256854A JP6495645B2 (ja) 2014-12-19 2014-12-19 リソース制御装置、方法、及びプログラム
US14/845,418 US9858103B2 (en) 2014-12-19 2015-09-04 Resource control apparatus, method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014256854A JP6495645B2 (ja) 2014-12-19 2014-12-19 リソース制御装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2016118841A JP2016118841A (ja) 2016-06-30
JP6495645B2 true JP6495645B2 (ja) 2019-04-03

Family

ID=56129496

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014256854A Expired - Fee Related JP6495645B2 (ja) 2014-12-19 2014-12-19 リソース制御装置、方法、及びプログラム

Country Status (2)

Country Link
US (1) US9858103B2 (ja)
JP (1) JP6495645B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109076027B (zh) * 2015-12-30 2022-05-17 皇家Kpn公司 网络服务请求
US10007545B2 (en) * 2016-03-15 2018-06-26 International Business Machines Corporation Dynamic altering of SRIOV virtual function (VF) resources including DMA windows without bringing down the VF
US11494229B2 (en) * 2019-11-25 2022-11-08 Google Llc Rule violation detection
KR102429327B1 (ko) * 2020-11-19 2022-08-04 엘아이지넥스원 주식회사 복합 센서 이동형 레이더의 실시간 코어 사용량 측정 장치 및 방법
WO2022266263A1 (en) * 2021-06-17 2022-12-22 Sync Computing Corp. Allocating of computing resources for applications

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002041305A (ja) * 2000-07-26 2002-02-08 Hitachi Ltd 仮想計算機システムにおける計算機資源の割当て方法および仮想計算機システム
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
US20050055694A1 (en) * 2003-09-04 2005-03-10 Hewlett-Packard Development Company, Lp Dynamic load balancing resource allocation
US8209682B2 (en) * 2006-07-26 2012-06-26 Hewlett-Packard Development Company, L.P. System and method for controlling aggregate CPU usage by virtual machines and driver domains over a plurality of scheduling intervals
US8291411B2 (en) * 2007-05-21 2012-10-16 International Business Machines Corporation Dynamic placement of virtual machines for managing violations of service level agreements (SLAs)
JP5206674B2 (ja) * 2007-05-24 2013-06-12 日本電気株式会社 仮想マシン管理装置、仮想マシン管理方法および仮想マシン管理プログラム
JP4839328B2 (ja) * 2008-01-21 2011-12-21 株式会社日立製作所 サーバの消費電力制御装置、サーバの消費電力制御方法及びコンピュータプログラム
US20100131959A1 (en) * 2008-11-26 2010-05-27 Spiers Adam Z Proactive application workload management
US8634296B2 (en) * 2009-06-16 2014-01-21 Viasat, Inc. Dynamic bandwidth resource allocation for satellite downlinks
JP4982578B2 (ja) 2010-02-22 2012-07-25 西日本電信電話株式会社 リソース割当装置、リソース割当方法、およびリソース割当制御プログラム
JP5332065B2 (ja) * 2010-06-11 2013-11-06 株式会社日立製作所 クラスタ構成管理方法、管理装置及びプログラム
JP5742125B2 (ja) * 2010-07-21 2015-07-01 富士通株式会社 プログラム、情報生成装置及び情報生成方法
JP5767480B2 (ja) * 2011-01-31 2015-08-19 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報処理装置、情報処理システム、配置構成決定方法、プログラムおよび記録媒体
JP5673233B2 (ja) * 2011-03-09 2015-02-18 富士通株式会社 情報処理装置、仮想マシン管理方法および仮想マシン管理プログラム
JP2013037495A (ja) * 2011-08-05 2013-02-21 Nippon Telegr & Teleph Corp <Ntt> 配置制御装置、ネットワークシステム、配置制御方法及び配置制御プログラム
US20140007097A1 (en) * 2012-06-29 2014-01-02 Brocade Communications Systems, Inc. Dynamic resource allocation for virtual machines
JP5687666B2 (ja) * 2012-08-15 2015-03-18 株式会社東芝 スケジューリング装置、システム、方法およびプログラム
US9471385B1 (en) * 2012-08-16 2016-10-18 Open Invention Network Llc Resource overprovisioning in a virtual machine environment
US9189260B2 (en) * 2012-09-27 2015-11-17 International Business Machines Corporation Resource allocation for virtual machines and logical partitions
US9038068B2 (en) * 2012-11-15 2015-05-19 Bank Of America Corporation Capacity reclamation and resource adjustment
US9336031B2 (en) * 2013-02-27 2016-05-10 International Business Machines Corporation Managing allocation of hardware resources in a virtualized environment
US9251050B2 (en) * 2013-03-13 2016-02-02 International Business Machines Corporation Apparatus and method for resource alerts
US9178763B2 (en) * 2013-03-13 2015-11-03 Hewlett-Packard Development Company, L.P. Weight-based collocation management
JP2015011569A (ja) * 2013-06-28 2015-01-19 株式会社東芝 仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理プログラム
EP3061209B1 (en) * 2013-10-23 2018-10-03 Telefonaktiebolaget LM Ericsson (publ) Methods, nodes and computer program for enabling of resource component allocation
WO2015161480A1 (en) * 2014-04-24 2015-10-29 Empire Technology Development Llc Resource consumption optimization
US9660834B2 (en) * 2014-05-13 2017-05-23 International Business Machines Corporation Bursting cloud resources to affect state change performance
US9547534B2 (en) * 2014-10-10 2017-01-17 International Business Machines Corporation Autoscaling applications in shared cloud resources
JP2016091109A (ja) * 2014-10-30 2016-05-23 株式会社東芝 リソース割当て装置、方法、及びプログラム

Also Published As

Publication number Publication date
US9858103B2 (en) 2018-01-02
JP2016118841A (ja) 2016-06-30
US20160179562A1 (en) 2016-06-23

Similar Documents

Publication Publication Date Title
JP6495645B2 (ja) リソース制御装置、方法、及びプログラム
US10452416B2 (en) Virtualization planning system
US9519562B2 (en) Process demand prediction for distributed power and resource management
US8756600B2 (en) Judging apparatus, method, and recording medium of program for estimating the effect of deployment of an application in a virtual machine environment
RU2015114568A (ru) Автоматизированное профилирование использования ресурса
US9612876B2 (en) Method and apparatus for estimating a completion time for mapreduce jobs
US20160352821A1 (en) Method and system for allocating resources for virtual hosts
US9710379B2 (en) Tuning utilization and heap memory size for real-time garbage collection
US9910709B2 (en) Allocation control method and apparatus
US20150378787A1 (en) Processing workloads in single-threaded environments
US9686207B2 (en) Application service level objective aware demand estimation
US20160124765A1 (en) Resource allocation apparatus, method, and storage medium
US11263369B2 (en) Workflow simulation using provenance data similarity and sequence alignment
JP6627475B2 (ja) 処理リソース制御プログラム、処理リソース制御装置、および処理リソース制御方法
JP5905412B2 (ja) 仮想計算機システム及びプロセッサ性能測定方法
US10169104B2 (en) Virtual computing power management
US10725815B2 (en) Representative-based approach to store historical resource usage data
US20220004419A1 (en) Resource determination device, method, and program
JP2016149058A (ja) リソース制御システムおよびリソース制御方法
JP6357750B2 (ja) サーバ管理システム及びサーバ管理方法
US20220050718A1 (en) Scalability advisor
JP2018156146A (ja) 情報処理装置
CN110069470B (zh) 实例迁移的方法和装置
US20220206829A1 (en) Virtualization platform control device, virtualization platform control method, and virtualization platform control program
JPWO2017013872A1 (ja) リソース割当システム、リソース割当方法及びコンピュータ読み取り可能記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170908

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181119

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190307

R151 Written notification of patent or utility model registration

Ref document number: 6495645

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees