JP5809612B2 - 仮想マシン停止時間予測装置およびプログラム停止時間予測値計算方法 - Google Patents

仮想マシン停止時間予測装置およびプログラム停止時間予測値計算方法 Download PDF

Info

Publication number
JP5809612B2
JP5809612B2 JP2012198423A JP2012198423A JP5809612B2 JP 5809612 B2 JP5809612 B2 JP 5809612B2 JP 2012198423 A JP2012198423 A JP 2012198423A JP 2012198423 A JP2012198423 A JP 2012198423A JP 5809612 B2 JP5809612 B2 JP 5809612B2
Authority
JP
Japan
Prior art keywords
lived
call
control signal
per
time
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
JP2012198423A
Other languages
English (en)
Other versions
JP2014052953A (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 JP2012198423A priority Critical patent/JP5809612B2/ja
Publication of JP2014052953A publication Critical patent/JP2014052953A/ja
Application granted granted Critical
Publication of JP5809612B2 publication Critical patent/JP5809612B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、Java(登録商標)VM(バーチャルマシン)等の仮想マシンのプログラム停止時間予測装置およびプログラム停止時間予測値計算方法に関する。
Java(登録商標)VM等の仮想マシンを用いたシステムにおいてガベージコレクション(GC)時には、オブジェクトのコピーやチェック(マーク)のために、システムがある程度の時間停止してしまう。Java(登録商標)VMにおけるGCの仕組みは、以下の非特許文献1,2に開示されている。一般的に仮想マシンを用いたシステムでは、処理モデルの異なる様々なアプリケーションが搭載されるため、GCによるプログラム停止時間を予測する(見積もる)ことは困難であった。このため、仮想マシンのGCによるプログラム停止時間は、システム開発者が、システムを実際に動作させることで測定していた。
チューニングのためのJavaVM講座(前編)[online]、[平成24年8月10日検索]、インターネット<URL: http://www.atmarkit.co.jp/fjava/rensai3/javavm02/javavm02_1.html > チューニングのためのJavaVM講座(後編)[online]、[平成24年8月10日検索]、インターネット<URL: http://www.atmarkit.co.jp/fjava/rensai3/javavm02/javavm02_2.html >
ここで、SIP(Session Initiation Protocol)サーバ等の通信ノードのように、大量処理を行いつつ、かつ、低レイテンシ(遅延時間をできるだけ少なくすること)を求められるシステムにて仮想マシンを用いるには、システム開発前に、GCによるプログラム停止時間を予測することが重要である。しかし、前記したとおり、仮想マシンを用いたシステムでは、処理モデルの異なる様々なアプリケーションが搭載されるため、GCによるプログラム停止時間を予測する(見積もる)ことは困難であった。そこで、本発明は、前記した問題を解決し、通信ノードに仮想マシンを用いる場合において、GCによるプログラム停止時間を予測する手段を提供することを目的とする。
前記した課題を解決するため、本発明は、通信ノードに仮想マシンを用いる場合におけるGC(ガベージコレクション)時のプログラム停止時間予測値を計算する仮想マシン停止時間予測装置であって、前記仮想マシンは、メモリ上のNEW領域のGCの方式としてスカベンジGC方式を採用し、前記メモリ上のOLD領域のGCの方式としてCMS(Concurrent Mark & Sweep)方式を採用する仮想マシンであり、前記仮想マシンに用いられるアプリケーションは、他の端末装置が前記仮想マシンにアクセスしてから処理を終了するまでの一連の動作を、複数の制御信号が関連するコールとして管理し、前記コールに対するオブジェクトとして1以上の長命コールオブジェクトを生成し、前記制御信号に対するオブジェクトとして1以上の短命制御信号オブジェクトを生成するアプリケーションであり、前記アプリケーションにおける、単位時間あたりのコール発生数(A1)と、前記コール1つあたりの制御信号数(A2)とを示したトラヒックモデル情報と、前記制御信号1つあたりの短命制御信号オブジェクト数(B1)と、前記コール1つあたりの長命コールオブジェクト数(B2)と、短命制御信号オブジェクト平均保留時間(B3)と、前記短命制御信号オブジェクトのサイズ(B4)と、前記長命コールオブジェクトのサイズ(B5)とを示したアプリケーションモデル情報と、前記スカベンジGCが行われるNEW領域のサイズ(C1)と、前記スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2)と、前記CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3)とを示したGC動作パラメータ情報との入力を受け付け、記憶部に記憶し、
前記記憶部に記憶された、前記単位時間あたりのコール発生数(A1)、前記コール1つあたりの制御信号数(A2)、前記制御信号1つあたりの短命制御信号オブジェクト数(B1)、前記コール1つあたりの長命コールオブジェクト数(B2)、前記短命制御信号オブジェクトのサイズ(B4)、前記長命コールオブジェクトのサイズ(B5)、および、前記NEW領域のサイズ(C1)、を用いて、以下の式(3)によりスカベンジGC周期を計算し、
前記記憶部に記憶された、前記単位時間あたりのコール発生数(A1)、前記コール1つあたりの制御信号数(A2)、前記制御信号1つあたりの短命制御信号オブジェクト数(B1)、前記コール1つあたりの長命コールオブジェクト数(B2)、前記短命制御信号オブジェクト平均保留時間(B3)、および、前記スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2)、並びに、前記計算したスカベンジGC周期、を用いて、以下の式(2)によりスカベンジGC停止時間予測値を計算し、
前記記憶部に記憶された、前記単位時間あたりのコール発生数(A1)、前記コール1つあたりの制御信号数(A2)、前記制御信号1つあたりの短命制御信号オブジェクト数(B1)、前記コール1つあたりの長命コールオブジェクト数(B2)、前記短命制御信号オブジェクト平均保留時間(B3)、および、前記CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3)、並びに、前記計算したスカベンジGC周期、を用いて、以下の式(4)によりリマーク停止時間予測値を計算し、
前記計算したスカベンジGC停止時間予測値および前記計算したリマーク停止時間予測値を用いて、以下の式(1)により前記仮想マシンにおけるGC時のプログラム停止時間予測値を計算し、出力する。
プログラム停止時間予測値=スカベンジGC停止時間予測値+リマーク停止時間予測値…式(1)
ただし、
スカベンジGC停止時間予測値=(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)+スカベンジGC周期×単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2))×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2)…式(2)
スカベンジGC周期=NEW領域のサイズ(C1)/(単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×長命コールオブジェクトのサイズ(B5)+単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクトのサイズ(B4))…式(3)
リマーク停止時間予測値=(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)+スカベンジGC周期×単位時間あたりのコール発生数(A1)×1コールあたりの長命コールオブジェクト数(B2))×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3)…式(4)
このように、通信ノードに仮想マシンを用いる場合において、この仮想マシンのGC時のプログラム停止時間予測値を計算するために、本発明の仮想マシン停止時間予測装置は、(1)トラヒックモデル情報、(2)アプリケーションモデル情報および(3)仮想マシンのGC動作パラメータ情報を用いる。ここで、従来のWeb系のシステムでは、1台のサーバ(仮想マシン)に多数のアプリケーションが動作し、トラヒック条件もそのアプリケーションそれぞれ異なるため、(1)トラヒックモデル情報および(2)アプリケーションモデル情報を用いてプログラム停止時間予測値を計算することは困難であった。しかし、仮想マシンの用いられるコンピュータが、SIPサーバ等の通信ノードであれば、ほとんどのトラヒックは単一のアプリケーションで処理されることが一般的である。そこで、本発明の発明者はこの点に着目し、通信ノードに用いられる仮想マシンのプログラム停止時間予測値を計算する際、(1)トラヒックモデル情報および(2)アプリケーションモデル情報を用いて計算する本発明を考案するに至った。
ここで、本発明で想定する仮想マシンに用いられるアプリケーションは、他の端末装置が当該仮想マシンにアクセスしてから処理を終了するまでの一連の動作を、複数の制御信号が関連するコールとして管理する。そして、仮想マシンが1つのコールを処理する際に、コールはメモリ上に比較的長時間存在することから、1つのコールに対するオブジェクトとして1以上の長命コールオブジェクトを生成する。一方、仮想マシンが1つの制御信号を処理する際、制御信号はメモリ上に比較的短時間しか存在しないため、1つの制御信号に対するオブジェクトとして1以上の短命制御信号オブジェクトを生成するものとする。
この仮想マシンがGCを行う際には、非特許文献1,2に記載されるとおり、メモリをNEW領域とOLD領域とに分割してGCを行う。なお、仮想マシンによってはNEW領域はさらにEden領域、2面のSurvivor領域に分けられるものもあるが、ここでは仮想マシンの動作設定をかえることで、それらについても2面のSurvivor領域を使わないようにし、Eden領域のみとした仮想マシンを前提としている。また、NEW領域のGCの方式として、スカベンジGC方式をとり、OLD領域のGCの方式として、CMS(Concurrent Mark & Sweep)方式をとる。このそれぞれの領域のGCにおいて、仮想マシンのプログラム停止時間が発生する。
このため、本発明において、プログラム停止時間予測値=スカベンジGC停止時間予測値+リマーク停止時間予測値…式(1)としている。つまり、プログラム停止時間予測値を、NEW領域のスカベンジGCによるプログラム停止時間(NEW領域のライブオブジェクト(生存するオブジェクト)をマークし、OLD領域にコピーする時間)と、OLD領域のCMSにおけるリマーク(スカベンジGCによりNEW領域からOLD領域にコピーされたオブジェクトに対するマーク)に要する時間との合計値としている。なお、OLD領域のCMSにおけるリマークは、OLD領域において、NEW領域からコピーされたオブジェクトをメモリ上からsweep(スィープ。解放)しないようにするために行われるマークである。なお、CMSでは、もともとOLD領域にあったオブジェクトをマークする際には停止しない。もともとOLD領域にあったオブジェクトはリマークを実施する前に、プログラム実行と並行してマークするため、プログラムが停止するのは、スカベンジGCによりNEW領域からOLD領域にコピーされたオブジェクトに対するマーク(リマーク)の際のみである。よって、プログラム停止時間が最も長くなるのは、スカベンジGCとリマーク停止の時間が連続する場合であり、式(1)において、プログラム停止時間予測値を、スカベンジGC停止時間予測値にリマーク停止時間予測値(式(4)で定義)を加算した値としている。
前記したとおり、スカベンジGCにおけるプログラム停止時間はNEW領域にあるライブオブジェクト(長命コールオブジェクトおよび短命制御信号オブジェクト)を、マークし、OLD領域にコピーする時間に相当する。よって、本発明において、スカベンジGC停止時間予測値を、式(2)に示すように、
(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)+スカベンジGC周期×単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2))×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2)…式(2)
としている。
式(2)における(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3))は、スカベンジGC時においてNEW領域に生存する短命制御信号オブジェクト数の平均値を示す。
また、式(2)における(スカベンジGC周期×単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2))は、スカベンジGC周期の間に発生する長命コールオブジェクト数を示す。つまり、スカベンジGC時にNEW領域に生存する長命コールオブジェクト数を示す。
なお、式(2)において、スカベンジGC周期の間に発生する短命制御信号オブジェクト数を、(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3))としているのは、短命制御信号オブジェクトの生存時間がスカベンジGC周期よりも短いことが想定されるからである。つまり、スカベンジGCが行われるときに、NEW領域に短命制御信号オブジェクトがすべて存続しているとは限らないからである。
さらに、NEW領域でスカベンジGCが行われる契機は、NEW領域がサイズいっぱいまで使用されることである。このため、式(2)で用いるスカベンジGC周期を、式(3)に示すように、
スカベンジGC周期=NEW領域のサイズ(C1)/(単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×長命コールオブジェクトのサイズ(B5)+単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクトのサイズ(B4))…式(3)
としている。
式(3)における(単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×長命コールオブジェクトのサイズ(B5)は、単位時間あたりNEW領域に生存する長命コールオブジェクトの合計サイズを示す。
また、式(3)における(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクトのサイズ(B4))は、単位時間あたりNEW領域に生存する短命制御信号オブジェクトの合計サイズ(合計サイズの平均値)を示す。
また、リマーク停止時間予測値については、スカベンジGCによりNEW領域からOLD領域にコピーされたオブジェクト数(つまり、スカベンジ周期を迎えたときにNEW領域に存在するライブオブジェクト数)×CMSにおけるOLD領域にコピーされたオブジェクトの1つあたりのリマーク時間と考えることができる。よって、リマーク停止時間予測値を、式(4)に示すように、
リマーク停止時間予測値=(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)+スカベンジGC周期×単位時間あたりのコール発生数(A1)×1コールあたりの長命コールオブジェクト数(B2))×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3)…式(4)
としている。
このようにすることで、仮想マシン停止時間予測装置は、仮想マシンにおけるGCによるプログラム停止時間予測値を計算することができる。
また、本発明は、仮想マシン停止時間予測装置の前記停止時間予測部が、複数の前記仮想マシンからなるシステムにおけるGC時のプログラム停止時間予測値を計算するとき、前記仮想マシンそれぞれの前記トラヒックモデル情報、前記アプリケーションモデル情報および前記GC動作パラメータ情報を用いて、前記式(1)〜式(4)により前記仮想マシンそれぞれにおけるGC時のプログラム停止時間予測値を計算して合計し、前記システムにおけるGC時のプログラム停止時間予測値とする。
このようにすることで、システムが複数の仮想マシンからなる場合における、GCによるプログラム停止時間の最大値を予測することができる。
本発明によれば、通信ノードに仮想マシンを用いる場合におけるGCによるプログラム停止時間予測値を計算できる。
本実施の形態の仮想マシン停止時間予測装置の機能ブロック図である。 本実施の形態のトラヒックモデル情報およびアプリケーションモデル情報を説明するための図である。 仮想マシンにおけるGCを説明するための図である。 複数のサーバからなるシステムにおけるプログラム停止時間予測値の計算処理を説明するための図である。
以下、図面を参照しながら、本発明の仮想マシン停止時間予測装置を実施するための形態を説明する。まず、図1を用いて、本実施の形態の仮想マシン停止時間予測装置10の構成を説明する。
<構成>
仮想マシン停止時間予測装置10は、アプリケーションモデル情報(後記)、トラヒックモデル情報(後記)およびGC(ガベージコレクション)動作パラメータ情報(後記)の入力を受け付けると、これらの情報に基づき、仮想マシンにおけるGC時のプログラム停止時間の予測値(プログラム停止時間予測値)を計算し、出力する。この仮想マシン停止時間予測装置10の機能は、入力部11、停止時間予測部12および出力部13に分けられる。
入力部11および出力部13は、入出力インタフェースから構成される。また、停止時間予測部12は、この仮想マシン停止時間予測装置10の備えるCPU(Central Processing Unit。図示省略)がメインメモリ(図示省略)にプログラムを展開し、実行することにより実現する。なお、このプログラムは、仮想マシン停止時間予測装置10の備える補助記憶部(図示省略)の所定領域に格納されるものとする。なお、この停止時間予測部12を、専用回路により実現するようにしてもよい。
入力部11は、アプリケーションモデル情報の入力を受け付けるアプリケーションモデル入力部111、トラヒックモデル情報の入力を受け付けるトラヒックモデル入力部112およびGC動作パラメータ情報の入力を受け付けるGC動作パラメータ入力部113を備える。また、出力部13は、仮想マシンのGCによるプログラム停止時間予測値を出力する停止時間予測値出力部131を備える。停止時間予測部12は、アプリケーションモデル情報、トラヒックモデル情報およびGC動作パラメータ情報に基づき、停止時間予測アルゴリズムにより、仮想マシンのGCによるプログラム停止時間予測値を計算し、計算したプログラム停止時間予測値を停止時間予測値出力部131経由で外部装置等に出力する。
ここで、仮想マシンは、例えば、Java(登録商標)VM(バーチャルマシン)であり、SIP(Session Initiation Protocol)サーバ等の通信ノードに用いられるものとする。そして、この仮想マシンに用いられるアプリケーション(アプリケーションプログラム)は、他の端末装置等が、この仮想マシンにアクセスしてから処理を終了するまでの一連の動作を、複数の制御信号が関連するコールとして管理するものとする。また、この1つのコールには、複数の制御信号が関連するものとする。
例えば、アプリケーションが電話アプリケーションである場合を考える。この場合、1つの電話呼が1つのコールであり、このコールには「接続開始」や「接続終了」といった制御信号が関連する。そして、このようなアプリケーションにより仮想マシンは、コールに対し1以上のオブジェクトを生成し、制御信号に対し1以上のオブジェクトを生成する。ここで、1つのコールに対する処理は、仮想マシンの用いるメモリ上に比較的長い時間存在することから、1つのコールに対し生成されるオブジェクトを長命コールオブジェクトとする。一方、1つの制御信号については、その処理についてオブジェクトを生成したとしても比較的短時間(所定時間)で処理が完了してメモリ上から削除されるので、1つの制御信号に対して生成されるオブジェクトを短命制御信号オブジェクトとする。
仮想マシンのGCは、メモリのNEW領域およびOLD領域それぞれで行われるが、それぞれの領域で方式があり、ここでは、NEW領域のGCの方式として、スカベンジGC方式を採用し、OLD領域のGCの方式として、CMS方式を採用する場合を説明する。Java(登録商標)VMが生成したライブオブジェクトは所定のスカベンジGC周期になるとマークされ、NEW領域から、OLD領域にコピーされる。そして、NEW領域において当該オブジェクトのために確保されていた領域は解放される。ここで、OLD領域にコピーされたオブジェクトに対し、チェック(リマーク)がされる。スカベンジGCにおけるNEW領域のマークおよびコピーの時間およびCMSにおけるOLD領域にコピーされたオブジェクトのリマークの時間が、仮想マシンのGCによるプログラム停止時間となる。
本実施の形態で扱うトラヒックモデル(トラヒックモデル情報)、アプリケーションモデル(アプリケーションモデル情報)およびGC動作パラメータ情報について説明する。
<トラヒックモデル情報>
トラヒックモデル情報は、仮想マシンが用いるアプリケーションに関する、以下の情報を含む(図2(a)参照)。
・単位時間あたりのコール発生数(A1)
・1コールあたり(コール1つあたり)の制御信号数(A2)
なお、このようなトラヒックモデル情報を用いることで、停止時間予測部12は、例えば、NEW領域の単位時間あたりの制御信号発生数(単位時間あたりのコール発生数(A1)×1コールあたりの制御信号数(A2))を求めることができる。
<アプリケーションモデル情報>
また、アプリケーションモデル情報は、仮想マシンが用いるアプリケーションに関する、以下の情報を含む(図2(b)参照)。
・1制御信号あたり(制御信号1つあたり)の短命制御信号オブジェクト数(B1)
・1コールあたり(コール1つあたり)の長命コールオブジェクト数(B2)
・短命制御信号オブジェクト平均保留時間(B3)
・短命制御信号オブジェクトのサイズ(B4)
・長命コールオブジェクトのサイズ(B5)
<GC動作パラメータ情報>
さらに、GC動作パラメータ情報は、以下の情報を含む。
・スカベンジGCが行われるNEW領域のサイズ(C1)
・スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2)
・CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3)
停止時間予測部12は、前記したトラヒックモデル(トラヒックモデル情報)、アプリケーションモデル(アプリケーションモデル情報)およびGC動作パラメータ情報を用いて、停止時間予測アルゴリズムにより仮想マシンのGCによるプログラム停止時間予測値を計算する。この停止時間予測アルゴリズムは、前記したトラヒックモデル(トラヒックモデル情報)、アプリケーションモデル(アプリケーションモデル情報)およびGC動作パラメータ情報を用いて、以下の式(1)〜式(4)により仮想マシンのプログラム停止時間予測値を計算するためのアルゴリズムである。
プログラム停止時間予測値=スカベンジGC停止時間予測値t1+リマーク停止時間予測値t2…式(1)
ただし、
スカベンジGC停止時間予測値t1=(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)+スカベンジGC周期×単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2))×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2)…式(2)
スカベンジGC周期T=NEW領域のサイズ(C1)/(単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×長命コールオブジェクトのサイズ(B5)+単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクトのサイズ(B4))…式(3)
リマーク停止時間予測値t2=(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)+スカベンジGC周期×単位時間あたりのコール発生数(A1)×1コールあたりの長命コールオブジェクト数(B2))×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3)…式(4)
前記した式(1)〜式(4)を、図2(a)、(b)および図3を参照しながら説明する。なお、図3に示すグラフ201の細線は、NEW領域サイズのうちオブジェクト(ライブオブジェクトおよび非ライブオブジェクト)により占有されるサイズを示す。特に、グラフ201の太線はNEW領域サイズのうちライブオブジェクトにより占有されるサイズを示す。また、グラフ202は、OLD領域サイズのうち、オブジェクト(ライブオブジェクトおよび非ライブオブジェクト)により占有されるサイズを示す。このライブオブジェクトとは、ルート集合と呼ばれる参照のもととなっているオブジェクトから参照をたどっていったときに参照でつながっているオブジェクトのことである。非ライブオブジェクトとは、メモリ上のオブジェクトのうち、このライブオブジェクト以外のオブジェクトのことである。GCにおいては、この非ライブオブジェクトのメモリ領域が解放される。
前記したとおり、仮想マシンは、NEW領域上に生成したオブジェクト(短命制御信号オブジェクトおよび長命コールオブジェクト)が、NEW領域サイズいっぱいになると、すなわちスカベンジGC周期Tを迎えるとスカベンジGCを行う。これにより、NEW領域のライブオブジェクトがマークされ、OLD領域にコピーされ、NEW領域において当該オブジェクトのために確保されていた領域は解放される。例えば、図3に示すように、仮想マシンはNEW領域の短命制御信号オブジェクトおよび長命コールオブジェクトのうち、ライブオブジェクトをOLD領域にコピーする。そして、NEW領域において、放棄済オブジェクト(非ライブオブジェクト)およびコピーされたライブオブジェクトに割り当てられていた領域は解放され、NEW領域サイズのうちオブジェクトにより占有されるサイズが0になる(グラフ201参照)。なお、このスカベンジGC周期Tは、短命制御信号オブジェクト平均保留時間(平均生存時間)よりも長いことが想定されるので、短命制御信号オブジェクトは、スカベンジGC周期Tを迎える前に放棄済オブジェクト(非ライブオブジェクト)となる可能性がある。また、仮想マシンは、OLD領域のライブオブジェクトのマークを行い、その後、NEW領域からコピーされたライブオブジェクトのリマークを行う。そして、OLD領域でマークおよびリマークされたオブジェクト(ライブオブジェクト)以外のオブジェクト(放棄済オブジェクト)のスィープを行う。つまり、放棄済オブジェクトに割り当てられていた領域の解放が行われる。これにより、OLD領域サイズのうちオブジェクトにより占有されるサイズが減少する(グラフ202参照)。
ここで、仮想マシンのGCによるプログラム停止時間は、(1)スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(スカベンジGC停止時間予測値t1)と、(2)OLD領域にコピーされたオブジェクトのリマークの時間(リマーク停止時間予測値t2)との合計値である。よって、プログラム停止時間予測値=スカベンジGC停止時間予測値t1+リマーク停止時間予測値t2…式(1)となる。
ここで、スカベンジGCにおけるプログラム停止時間t1は、NEW領域にあるライブオブジェクト(長命コールオブジェクトおよび短命制御信号オブジェクト)を、マークし、OLD領域にコピーする時間に相当する。よって、スカベンジGC停止時間予測値t1を、式(2)に示すように、
スカベンジGC停止時間予測値t1=(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)+スカベンジGC周期T×単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2))×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2)…式(2)
としている。
式(2)における(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3))は、スカベンジGC時においてNEW領域に生存する短命制御信号オブジェクト数の平均値を示す。
また、式(2)における(スカベンジGC周期T×単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2))は、スカベンジGC周期Tの間に発生する長命コールオブジェクト数を示す。つまり、スカベンジGC時にNEW領域に生存する長命コールオブジェクト数を示す。
なお、式(2)において、スカベンジGC周期Tの間に発生する短命制御信号オブジェクト数を、(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3))としているのは、短命制御信号オブジェクトの生存時間がスカベンジGC周期Tよりも短いことが想定されるからである。つまり、スカベンジGCが行われるときに、NEW領域に短命制御信号オブジェクトがすべて存続(生存)しているとは限らないからである。
さらに、前記したとおり、NEW領域でスカベンジGCが行われる契機は、NEW領域がサイズいっぱいまで使用されることである。このため、式(2)で用いるスカベンジGC周期Tを、式(3)に示すように、
スカベンジGC周期T=NEW領域のサイズ(C1)/(単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×長命コールオブジェクトのサイズ(B5)+単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクトのサイズ(B4))…式(3)
としている。
式(3)における(単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×長命コールオブジェクトのサイズ(B5))は、単位時間あたりNEW領域に生存する長命コールオブジェクトの合計サイズを示す。
また、式(3)における(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクトのサイズ(B4))は、単位時間あたりNEW領域に生存する短命制御信号オブジェクトの合計サイズ(合計サイズの平均値)を示す。
また、リマーク停止時間予測値t2については、スカベンジGCによりNEW領域でマークされ、OLD領域にコピーされたオブジェクト数(つまり、スカベンジ周期の間に発生したオブジェクト数)×CMSにおけるOLD領域にコピーされたオブジェクトの1つあたりのリマーク時間と考えることができる。よって、リマーク停止時間予測値t2を、式(4)に示すように、
リマーク停止時間予測値t2=(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)+スカベンジGC周期×単位時間あたりのコール発生数(A1)×1コールあたりの長命コールオブジェクト数(B2))×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3)…式(4)
としている。
以上説明した停止時間予測アルゴリズムによれば、仮想マシン停止時間予測装置10の停止時間予測部12は、トラヒックモデル(トラヒックモデル情報)、アプリケーションモデル(アプリケーションモデル情報)およびGC動作パラメータ情報を用いて仮想マシンのGC時のプログラム停止時間の予測値を計算することができる。これにより、Java(登録商標)VM等の仮想マシンを用いた通信ノードのソフトウェア開発前に、GCによるプログラム停止時間の予測値を得ることができるので、通信ノードの通信処理遅延時間の要件を満たしつつ、仮想マシンで動作させる見積もりを得ることができる。従って、通信ノードのソフトウェア開発中に仮想マシンのGC時のプログラム停止により、通信ノードの通信処理遅延時間の要件を満たすことができず、ソフトウェアを別言語で作り直さなくてはいけないという事態を避けることができる。
なお、仮想マシン停止時間予測装置10の停止時間予測部12は、複数の仮想マシン(サーバ20)からなるシステムにおけるGC時のプログラム停止時間予測値を計算するようにしてもよい。例えば、図4に示すように、システムがサーバ20(サーバ20a,20b,…,20n)により構成される場合を考える。この場合、図1の仮想マシン停止時間予測装置10の停止時間予測部12は、入力部11経由で入力されたサーバ20(サーバ20a,20b,…,20n)それぞれのアプリケーションモデル情報、トラヒックモデル情報およびGC動作パラメータ情報を用いて、サーバ20(サーバ20a,20b,…,20n)それぞれのプログラム停止時間予測値を計算する。そして、これらのプログラム停止時間予測値を合計し、システムにおけるGC時のプログラム停止時間予測値(システム全体の最大停止時間予測値)を計算し、この計算結果を出力部13経由で出力する。このようにすることで、システムが複数の仮想マシンからなる場合のGC時のプログラム停止時間の最大値を予測することができる。これにより、システムの通信処理遅延時間を予測しやすくなる。
10 仮想マシン停止時間予測装置
11 入力部
12 停止時間予測部
13 出力部
20 サーバ
111 アプリケーションモデル入力部
112 トラヒックモデル入力部
113 GC動作パラメータ入力部
131 停止時間予測値出力部

Claims (3)

  1. 通信ノードに仮想マシンを用いる場合におけるGC(ガベージコレクション)時のプログラム停止時間予測値を計算する仮想マシン停止時間予測装置であって、
    前記仮想マシンは、メモリ上のNEW領域のGCの方式としてスカベンジGCを採用し、前記メモリ上のOLD領域のGCの方式としてCMS(Concurrent Mark & Sweep)を採用する仮想マシンであり、
    前記仮想マシンに用いられるアプリケーションは、他の端末装置が前記仮想マシンにアクセスしてから処理を終了するまでの一連の動作を、複数の制御信号が関連するコールとして管理し、前記コールに対するオブジェクトとして1以上の長命コールオブジェクトを生成し、前記制御信号に対するオブジェクトとして1以上の短命制御信号オブジェクトを生成するアプリケーションであり、
    前記アプリケーションにおける、単位時間あたりのコール発生数と、前記コール1つあたりの制御信号数とを示したトラヒックモデル情報と、
    前記制御信号1つあたりの短命制御信号オブジェクト数と、前記コール1つあたりの長命コールオブジェクト数と、短命制御信号オブジェクト平均保留時間と、前記短命制御信号オブジェクトのサイズと、前記長命コールオブジェクトのサイズとを示したアプリケーションモデル情報と、
    前記スカベンジGCが行われるNEW領域のサイズと、前記スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間と、前記CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間とを示したGC動作パラメータ情報との入力を受け付け、記憶部に記憶し、
    前記記憶部に記憶された、前記単位時間あたりのコール発生数、前記コール1つあたりの制御信号数、前記制御信号1つあたりの短命制御信号オブジェクト数、前記コール1つあたりの長命コールオブジェクト数、前記短命制御信号オブジェクトのサイズ、前記長命コールオブジェクトのサイズ、および、前記NEW領域のサイズ、を用いて、以下の式(3)によりスカベンジGC周期を計算し、
    前記記憶部に記憶された、前記単位時間あたりのコール発生数、前記コール1つあたりの制御信号数、前記制御信号1つあたりの短命制御信号オブジェクト数、前記コール1つあたりの長命コールオブジェクト数、前記短命制御信号オブジェクト平均保留時間、および、前記スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間、並びに、前記計算したスカベンジGC周期、を用いて、以下の式(2)によりスカベンジGC停止時間予測値を計算し、
    前記記憶部に記憶された、前記単位時間あたりのコール発生数、前記コール1つあたりの制御信号数、前記制御信号1つあたりの短命制御信号オブジェクト数、前記コール1つあたりの長命コールオブジェクト数、前記短命制御信号オブジェクト平均保留時間、および、前記CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間、並びに、前記計算したスカベンジGC周期、を用いて、以下の式(4)によりリマーク停止時間予測値を計算し、
    前記計算したスカベンジGC停止時間予測値および前記計算したリマーク停止時間予測値を用いて、以下の式(1)により前記仮想マシンにおけるGC時のプログラム停止時間予測値を計算し、出力する停止時間予測部を備えることを特徴とする仮想マシン停止時間予測装置。
    プログラム停止時間予測値=スカベンジGC停止時間予測値+リマーク停止時間予測値…式(1)
    ただし、
    スカベンジGC停止時間予測値=(単位時間あたりのコール発生数×コール1つあたりの制御信号数×制御信号1つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクト平均保留時間+スカベンジGC周期×単位時間あたりのコール発生数×コール1つあたりの長命コールオブジェクト数)×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間…式(2)
    スカベンジGC周期=NEW領域のサイズ/(単位時間あたりのコール発生数×コール1つあたりの長命コールオブジェクト数×長命コールオブジェクトのサイズ+単位時間あたりのコール発生数×コール1つあたりの制御信号数×制御信号1つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクトのサイズ)…式(3)
    リマーク停止時間予測値=(単位時間あたりのコール発生数×コール1つあたりの制御信号数×制御信号1つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクト平均保留時間+スカベンジGC周期×単位時間あたりのコール発生数×コール1つあたりの長命コールオブジェクト数)×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間…式(4)
  2. 前記停止時間予測部が、複数の前記仮想マシンからなるシステムにおけるGC時のプログラム停止時間予測値を計算するとき、
    前記仮想マシンそれぞれの前記トラヒックモデル情報、前記アプリケーションモデル情報および前記GC動作パラメータ情報を用いて、
    前記式(1)〜式(4)により前記仮想マシンそれぞれにおけるGC時のプログラム停止時間予測値を計算して合計し、前記システムにおけるGC時のプログラム停止時間予測値とすることを特徴とする請求項1に記載の仮想マシン停止時間予測装置。
  3. 通信ノードに仮想マシンを用いる場合におけるGC(ガベージコレクション)時のプログラム停止時間予測値を計算するプログラム停止時間予測値計算方法であって、
    前記仮想マシンは、メモリ上のNEW領域のGCの方式としてスカベンジGCを採用し、前記メモリ上のOLD領域のGCの方式としてCMS(Concurrent Mark & Sweep)を採用する仮想マシンであり、
    前記仮想マシンに用いられるアプリケーションは、他の端末装置が前記仮想マシンにアクセスしてから処理を終了するまでの一連の動作を、複数の制御信号が関連するコールとして管理し、前記コールに対するオブジェクトとして1以上の長命コールオブジェクトを生成し、前記制御信号に対するオブジェクトとして1以上の短命制御信号オブジェクトを生成するアプリケーションであり、
    前記プログラム停止時間予測値を計算する仮想マシン停止時間予測装置が、
    前記アプリケーションにおける、単位時間あたりのコール発生数と、前記コール1つあたりの制御信号数とを示したトラヒックモデル情報と、
    前記制御信号1つあたりの短命制御信号オブジェクト数と、前記コール1つあたりの長命コールオブジェクト数と、短命制御信号オブジェクト平均保留時間と、前記短命制御信号オブジェクトのサイズと、前記長命コールオブジェクトのサイズとを示したアプリケーションモデル情報と、
    前記スカベンジGCが行われるNEW領域のサイズと、前記スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間と、前記CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間とを示したGC動作パラメータ情報との入力を受け付け、記憶部に記憶するステップと、
    前記記憶部に記憶された、前記単位時間あたりのコール発生数、前記コール1つあたりの制御信号数、前記制御信号1つあたりの短命制御信号オブジェクト数、前記コール1つあたりの長命コールオブジェクト数、前記短命制御信号オブジェクトのサイズ、前記長命コールオブジェクトのサイズ、および、前記NEW領域のサイズ、を用いて、以下の式(3)によりスカベンジGC周期を計算し、
    前記記憶部に記憶された、前記単位時間あたりのコール発生数、前記コール1つあたりの制御信号数、前記制御信号1つあたりの短命制御信号オブジェクト数、前記コール1つあたりの長命コールオブジェクト数、前記短命制御信号オブジェクト平均保留時間、および、前記スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間、並びに、前記計算したスカベンジGC周期、を用いて、以下の式(2)によりスカベンジGC停止時間予測値を計算し、
    前記記憶部に記憶された、前記単位時間あたりのコール発生数、前記コール1つあたりの制御信号数、前記制御信号1つあたりの短命制御信号オブジェクト数、前記コール1つあたりの長命コールオブジェクト数、前記短命制御信号オブジェクト平均保留時間、および、前記CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間、並びに、前記計算したスカベンジGC周期、を用いて、以下の式(4)によりリマーク停止時間予測値を計算し、
    前記計算したスカベンジGC停止時間予測値および前記計算したリマーク停止時間予測値を用いて、以下の式(1)により前記仮想マシンにおけるGC時のプログラム停止時間予測値を計算し、出力するステップとを実行することを特徴とするプログラム停止時間予測値計算方法。
    プログラム停止時間予測値=スカベンジGC停止時間予測値+リマーク停止時間予測値…式(1)
    ただし、
    スカベンジGC停止時間予測値=(単位時間あたりのコール発生数×コール1つあたりの制御信号数×制御信号1つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクト平均保留時間+スカベンジGC周期×単位時間あたりのコール発生数×コール1つあたりの長命コールオブジェクト数)×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間…式(2)
    スカベンジGC周期=NEW領域のサイズ/(単位時間あたりのコール発生数×コール1つあたりの長命コールオブジェクト数×長命コールオブジェクトのサイズ+単位時間あたりのコール発生数×コール1つあたりの制御信号数×制御信号1つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクトのサイズ)…式(3)
    リマーク停止時間予測値=(単位時間あたりのコール発生数×コール1つあたりの制御信号数×制御信号1つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクト平均保留時間+スカベンジGC周期×単位時間あたりのコール発生数×コール1つあたりの長命コールオブジェクト数)×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間…式(4)
JP2012198423A 2012-09-10 2012-09-10 仮想マシン停止時間予測装置およびプログラム停止時間予測値計算方法 Expired - Fee Related JP5809612B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012198423A JP5809612B2 (ja) 2012-09-10 2012-09-10 仮想マシン停止時間予測装置およびプログラム停止時間予測値計算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012198423A JP5809612B2 (ja) 2012-09-10 2012-09-10 仮想マシン停止時間予測装置およびプログラム停止時間予測値計算方法

Publications (2)

Publication Number Publication Date
JP2014052953A JP2014052953A (ja) 2014-03-20
JP5809612B2 true JP5809612B2 (ja) 2015-11-11

Family

ID=50611354

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012198423A Expired - Fee Related JP5809612B2 (ja) 2012-09-10 2012-09-10 仮想マシン停止時間予測装置およびプログラム停止時間予測値計算方法

Country Status (1)

Country Link
JP (1) JP5809612B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6502109B1 (en) * 1999-11-05 2002-12-31 Lucent Technologies Inc. Distributed communications system having garbage collecting virtual processes
JP2002278828A (ja) * 2001-03-21 2002-09-27 Sony Corp ガーベージコレクション実行方法、コンピュータプログラム、プログラム格納媒体、および情報処理装置
JP3939975B2 (ja) * 2001-12-14 2007-07-04 松下電器産業株式会社 ガベージコレクション装置、ガベージコレクション方法及びガベージコレクションプログラム
JP4208739B2 (ja) * 2004-02-26 2009-01-14 富士通株式会社 メモリ管理プログラムおよび組み込み機器
US8356061B2 (en) * 2008-06-23 2013-01-15 Oracle America, Inc. Maximizing throughput for a garbage collector

Also Published As

Publication number Publication date
JP2014052953A (ja) 2014-03-20

Similar Documents

Publication Publication Date Title
JP5278624B2 (ja) シミュレーション装置,方法,およびプログラム
US9389986B2 (en) Identifying impacted tests from statically collected data
KR101332499B1 (ko) 시뮬레이션 장치, 방법, 및 기록 매체
JP2006260542A (ja) コード部分実行時のプロセッサ消費実時間量の決定
JP2011123917A5 (ja)
Merzky et al. Radical-pilot: Scalable execution of heterogeneous and dynamic workloads on supercomputers
JP2011154483A5 (ja)
JP2014501412A5 (ja)
TW200907809A (en) Apparatus and method for handling exception signals in a computing system
CN110134490B (zh) 虚拟机动态迁移方法、设备及存储介质
WO2011027626A1 (ja) メモリ管理方法、計算機システム及びコンピュータ可読媒体
JP2015022504A (ja) 情報処理装置、方法、及びプログラム
JP5809612B2 (ja) 仮想マシン停止時間予測装置およびプログラム停止時間予測値計算方法
JP5809613B2 (ja) 仮想マシンチューニング値計算装置および仮想マシンチューニング値計算方法
JP4769946B2 (ja) メモリ管理方法、メモリ管理装置、及びメモリ管理プログラムが記録されている記録媒体
CN107769987B (zh) 一种报文转发性能评估方法和装置
JP2008250838A (ja) ソフトウェア生成装置、方法、およびプログラム
JP5304972B1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP4264110B2 (ja) 模擬実行装置、方法およびプログラム
JP2015169997A (ja) プログラム解析装置及びプログラム解析方法及びプログラム
JP2007080049A (ja) 組み込み用プログラム生成方法、組み込み用プログラム開発システム、及び情報テーブル部
JP2009064112A (ja) メモリへのコード転送方法
JP2010033540A (ja) レジスタ転送レベル構造の変更量見積もり装置及び方法
WO2011104889A1 (ja) 計算機システム、メモリ管理方法及びメモリ管理プログラム
JP2012234448A (ja) ソフトウェア性能逐次予測方法及び予測システム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140502

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140528

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141022

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150824

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150911

R150 Certificate of patent or registration of utility model

Ref document number: 5809612

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees