JP5010164B2 - サーバ装置及び仮想計算機の制御プログラム - Google Patents
サーバ装置及び仮想計算機の制御プログラム Download PDFInfo
- Publication number
- JP5010164B2 JP5010164B2 JP2006097594A JP2006097594A JP5010164B2 JP 5010164 B2 JP5010164 B2 JP 5010164B2 JP 2006097594 A JP2006097594 A JP 2006097594A JP 2006097594 A JP2006097594 A JP 2006097594A JP 5010164 B2 JP5010164 B2 JP 5010164B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- operation code
- conversion
- hardware
- executed
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
図1は、本発明の第1の実施の形態の物理計算機のブロック図である。
次に、本発明の第2の実施の形態の仮想計算機システムを説明する。第2の実施の形態では、操作の種別である命令タイプによって、HW操作の頻度を判断する。
次に、本発明の第3の実施の形態の仮想計算機システムを説明する。第3の実施の形態では、HW操作の間隔によって頻度を判断する。
20 ゲスト
30 コード変換モジュール
31 シャドウコード
32 昇格コード
35 変換コード管理表
40 コード生成モジュール
50 例外イベントハンドラモジュール
60 エミュレーションモジュール
70 頻度判断モジュール
80 切り替えモジュール
90 物理計算機
91 記憶装置
92 コンソール
Claims (8)
- 一つ以上のCPUと、データ及びプログラムを格納するメモリと、外部とでデータを送受信するインターフェースと、を備えたサーバ装置において、
前記CPUが前記メモリに格納されたプログラムを実行することによって、オペレーティングシステムが稼働する一以上の仮想計算機を稼働させる仮想計算機モニタが実行されており、
前記オペレーティングシステム又は前記オペレーティングシステム上で稼働するアプリケーションは、所定の処理の実行を要求する操作コードを出力し、
前記CPUは、ハードウェア操作許可モードとハードウェア操作禁止モードとの二つの動作モードを備え、
前記仮想計算機モニタは、
前記オペレーティングシステム又は前記オペレーティングシステム上で稼働するアプリケーションから前記サーバ装置のハードウェアに対する操作を要求するハードウェア操作コードを含む前記操作コードが出力されたときに、前記ハードウェア操作コードに基づいて前記サーバ装置のハードウェアに対する操作をエミュレーションするエミュレーションモジュールと、
前記ハードウェア操作コードを検出することによって前記CPUが発生させる例外イベントを契機として、前記CPUの前記動作モードを前記ハードウェア操作許可モードに切り替え、前記エミュレーションモジュールを呼び出す例外イベントハンドラモジュールと、
前記CPUの前記動作モードを前記ハードウェア操作許可モードに切り替え、前記エミュレーションモジュールを呼び出す変換コードを管理するコード管理モジュールと、
前記操作コードに対応する前記変換コードを生成し、前記操作コード及び前記生成された変換コードを対応づけて前記メモリ上に格納する生成モジュールと、
所定の判断条件との比較の結果、前記操作コードに含まれる前記ハードウェア操作コードの実行頻度が高頻度であるか否かを判断する頻度判断モジュールと、
前記実行頻度の判断の結果に基づいて、前記ハードウェア操作コードを含む前記操作コードに対して、前記CPUが前記例外イベントを発生させ、前記操作コードの実行の強制中断処理を終了した後に実行される前記例外イベントハンドラモジュールによって前記エミュレーションモジュールを呼び出すVT方式、又は、前記ハードウェア操作コードを含む前記操作コードに対応する前記変換コードを実行することによって前記エミュレーションモジュールを呼び出すコード変換方式のいずれの動作方式を適用するかを決定する切り替えモジュールと、を備え、
前記変換コードは、前記CPUの前記動作モードを前記ハードウェア操作禁止モードから前記ハードウェア操作許可モードに切り替え、前記ハードウェア操作コードをエミュレーションさせる昇格コードと、前記昇格コードを含むシャドウコードとから構成され、
前記コード管理モジュールは、前記ハードウェア操作コード及び前記変換コードを対応づけた変換コード表を保持し、
前記切り替えモジュールは、前記ハードウェア操作コードを含む前記操作コードと、当該操作コードに対して適用される前記動作方式とを対応づけた動作方式表を保持し、
前記仮想計算機モニタは、
前記動作方式表を参照して、前記ハードウェア操作コードを含む前記操作コードに適用される前記動作方式を判断し、
前記ハードウェア操作コードを含む前記操作コードの前記動作方式がVT方式である場合、前記例外イベントを発生させ、前記CPUの動作モードをハードウェア操作禁止モードから前記ハードウェア操作許可モードに変更した後に、前記ハードウェア操作コードのエミュレーションを実行し、
前記実行された操作コードに含まれる前記ハードウェア操作コードの実行頻度が高頻度であるか否かを判断し、
前記実行された操作コードに含まれるハードウェア操作コードの実行頻度が高頻度である場合、前記動作方式表のうち、前記実行され他ハードウェア操作コードを含む前記操作コードに対応する前記動作方式を、前記VT方式から前記コード変換方式に変更し、
前記変換コード表を参照して、前記実行されたハードウェア操作コードを含む前記操作コードに対応する前記変更コードを検索し、
前記変換コード表に、前記実行されたハードウェア操作コードを含む前記操作コードに対応する前記変換コードが存在しないと判断された場合、前記実行されたハードウェア操作コードを含む前記操作コードに対応する前記シャドウコードと、前記実行されたハードウェア操作コードに対応する前記昇格コードとを含む前記変換コードを生成し、
前記生成されたシャドウコード及び前記生成された昇格コードとの対応関係を前記コード変換表に追加することを特徴とするサーバ装置。 - 前記メモリは、前記ハードウェア操作コードを含む前記操作コードと、当該操作コードが実行された時を特定可能な時刻情報とを対応づけた操作履歴表を格納し、
前記仮想計算機モニタは、
前記実行された操作コードに含まれる前記ハードウェア操作コードの実行頻度が高頻度であるか否かを判断する場合に、当該操作コードが実行された時を特定可能な第1の時刻情報を取得し、前記操作履歴表を参照して、当該操作コードが前回実行された時を特定可能な第2の時刻情報を取得し、
前記第1の時刻情報及び前記第2の時刻情報に基づいて、前記操作コードに含まれる前記ハードウェア操作コードによって実行された前記ハードウェアの操作の間隔を算出し、
前記算出した間隔が所定の閾値よりも小さいときに、前記実行された操作コードに含まれる前記ハードウェア操作コードの実行頻度が高いと判断することを特徴とする請求項1に記載のサーバ装置。 - 前記切り替えモジュールは、前記オペレーティングシステム又は前記オペレーティングシステム上で稼働するアプリケーションによって、前記コード変換方式が適用される前記操作コードが変更されたことを前記仮想計算機モニタが検出したときに、前記変更された操作コードに対応する前記シャドウコードを無効化し、
前記仮想計算機モニタは、前記変更された操作コードを実行するときに、前記例外イベントを発生させて前記変更された操作コードに含まれる前記ハードウェア操作コードのエミュレーションを実行するように設定することを特徴とする請求項2に記載のサーバ装置。 - 前記切り替えモジュールは、
前記シャドウコード及び前記昇格コードを保持するために必要な前記メモリの容量が不足したとき、前記変換コード表に格納される前記変換コードのうち、実行されていない期間が最も長い前記変換コードを選択し、
前記選択された変換コードの情報を前記変換コード表から削除し、
前記仮想計算機モニタは、前記削除された変換コードと対応する前記操作コードを実行する場合に、当該削除された変換コードを実行する代わりに、前記例外イベントを発生させて、前記削除された変換コードと対応する前記操作コードに含まれる前記ハードウェア操作コードの前記エミュレーションを実行するように設定することを特徴とする請求項2に記載のサーバ装置。 - 一つ以上のCPUと、データ及びプログラムを格納するメモリと、外部とでデータを送受信するインターフェースと、を備えたサーバ装置に、オペレーティングシステムが稼働する一以上の仮想計算機を稼働させる仮想計算機の制御プログラムであって、
前記オペレーティングシステム又は前記オペレーティングシステム上で稼働するアプリケーションは、所定の処理の実行を要求する操作コードを保持し、
前記CPUは、ハードウェア操作許可モードとハードウェア操作禁止モードとの二つの動作モードを備え、
前記メモリは、
前記サーバ装置のハードウェアに対する操作を要求するハードウェア操作コードを含む前記操作コードと、前記CPUの前記動作モードを前記ハードウェア操作許可モードに切り替え、前記ハードウェア操作コードをエミュレーションさせる変換コードとを対応づけた変換コード表と、
前記ハードウェア操作コードを含む前記操作コードと、前記ハードウェア操作コードのエミュレーション方式とを対応づけた動作方式表と、を格納し、
前記変換コードは、前記CPUの前記動作モードを前記ハードウェア操作禁止モードから前記ハードウェア操作許可モードに切り替え、前記ハードウェア操作コードをエミュレーションさせる昇格コードと、前記昇格コードを含むシャドウコードとから構成され、
前記エミュレーション方式は、前記ハードウェア操作コードを含む前記操作コードに対して、前記CPUが前記例外イベントを発生させ、前記操作コードの実行の強制中断処理を終了した後に、当該ハードウェア操作コードをエミュレーションするVT方式、又は、前記ハードウェア操作コードを含む前記操作コードに対応する前記変換コードを実行することによって、前記ハードウェア操作コードをエミュレーションするコード変換方式とを含み、
前記仮想計算機の制御プログラムは、
前記ハードウェア操作コードを含む操作コードを検出した場合に、前記動作方式表を参照し、前記ハードウェア操作コードを含む前記操作コードに対応する前記エミュレーション方式を特定する第1の手順と、
前記特定されたエミュレーション方式が前記VT方式である場合、例外イベントを発生させて、前記CPUの前記動作モードを前記ハードウェア操作許可モードに切り替えて、前記出力された操作コードに含まれる前記ハードウェア操作コードをエミュレーションする第2の手順と、
前記特定されたエミュレーション方式が前記コード変換方式である場合、前記検出された操作コードに対応する前記シャドウコードに含まれる前記昇格コードに基づいて、前記出力された操作コードに含まれる前記ハードウェア操作コードをエミュレーションする第3の手順と、
前記操作コードに含まれる前記ハードウェア操作コードのエミュレーションが完了した後、所定の判断条件に基づいて、当該ハードウェア操作コードの実行頻度が高頻度であるか否かを判断する第4の手順と、
前記判断された実行頻度に基づいて、前記第2の手順、又は、前記第3の手順のいずれを実行して前記操作コードに含まれる前記ハードウェア操作コードをエミュレーションさせるかを決定し、前記決定に基づいて前記動作方式表を更新する第5の手順と、
前記変換コード表を参照して、前記実行されたハードウェア操作コードを含む前記操作コードに対応する前記変更コードを検索する第6の手順と、
前記変換コード表に、前記実行されたハードウェア操作コードを含む前記操作コードに対応する前記変換コードが存在しないと判断された場合、前記実行されたハードウェア操作コードを含む前記操作コードに対応する前記シャドウコードと、前記実行されたハードウェア操作コードに対応する前記昇格コードとを含む前記変換コードを生成する第7の手順と、
前記生成されたシャドウコード及び前記生成された昇格コードとの対応関係を前記コード変換表に追加する第8の手順と、を前記サーバ装置に実行させることを特徴とする仮想計算機の制御プログラム。 - 前記メモリは、前記ハードウェア操作コードを含む前記操作コードと、当該操作コードが実行された時を特定可能な時刻情報とを対応づけた操作履歴表を格納し、
前記第4の手順は、
前記ハードウェア操作コードを含む前記操作コードが実行された時を特定可能な第1の時刻情報を取得し、前記操作履歴表を参照して、前記ハードウェア操作コードを含む前記操作コードが前回実行された時を特定可能な第2の時刻情報を取得し、
前記第1の時刻情報及び前記第2の時刻情報に基づいて、前記操作コードに含まれる前記ハードウェア操作コードによって実行された前記ハードウェアの操作の間隔を算出する手順と、
前記算出した間隔が所定の閾値よりも小さいときに、前記操作コードに含まれる前記ハードウェア操作コードの実行頻度が高いと判断する手順と、を含むことを特徴とする請求項5に記載の仮想計算機の制御プログラム。 - 管理者によって入力された前記所定の判断条件を受け付ける手順と、
前記入力された所定の判断条件を記憶装置に保存する手順と、を含むことを特徴とする請求項6に記載の仮想計算機の制御プログラム。 - 前記第2の手順は、VMexitイベントの発生によって前記CPUをVMX rootモードに設定することによって、前記ハードウェア操作許可モードに遷移する手順を含み、
前記第3の手順は、前記昇格コードに含まれる特権レベル減少分岐命令を実行して前記CPUの特権レベルを0に設定することによって、前記ハードウェア操作許可モードに遷移する手順を含むことを特徴とする請求項6に記載の仮想計算機の制御プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006097594A JP5010164B2 (ja) | 2006-03-31 | 2006-03-31 | サーバ装置及び仮想計算機の制御プログラム |
US11/703,662 US8104035B2 (en) | 2006-03-31 | 2007-02-08 | Program for controlling a virtual computer and computer system for virtulization technology |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006097594A JP5010164B2 (ja) | 2006-03-31 | 2006-03-31 | サーバ装置及び仮想計算機の制御プログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2007272576A JP2007272576A (ja) | 2007-10-18 |
JP2007272576A5 JP2007272576A5 (ja) | 2008-11-20 |
JP5010164B2 true JP5010164B2 (ja) | 2012-08-29 |
Family
ID=38561074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006097594A Expired - Fee Related JP5010164B2 (ja) | 2006-03-31 | 2006-03-31 | サーバ装置及び仮想計算機の制御プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8104035B2 (ja) |
JP (1) | JP5010164B2 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7840398B2 (en) * | 2006-03-28 | 2010-11-23 | Intel Corporation | Techniques for unified management communication for virtualization systems |
US8032897B2 (en) * | 2007-07-31 | 2011-10-04 | Globalfoundries Inc. | Placing virtual machine monitor (VMM) code in guest context to speed memory mapped input/output virtualization |
KR101120591B1 (ko) | 2007-10-29 | 2012-03-09 | 씨씨알 주식회사 | 컴퓨터 실행 코드분석 및 조작 방지를 위한 임의 코드실행시스템 |
US8521966B2 (en) * | 2007-11-16 | 2013-08-27 | Vmware, Inc. | VM inter-process communications |
US8949106B2 (en) * | 2009-09-18 | 2015-02-03 | International Business Machines Corporation | Just in time compiler in spatially aware emulation of a guest computer instruction set |
WO2012103253A2 (en) * | 2011-01-27 | 2012-08-02 | Soft Machines, Inc. | Multilevel conversion table cache for translating guest instructions to native instructions |
WO2012103245A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines Inc. | Guest instruction block with near branching and far branching sequence construction to native instruction block |
WO2012103367A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines, Inc. | Guest to native block address mappings and management of native code storage |
WO2012103373A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines, Inc. | Variable caching structure for managing physical storage |
WO2012103359A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines, Inc. | Hardware acceleration components for translating guest instructions to native instructions |
KR101612594B1 (ko) | 2011-01-27 | 2016-04-14 | 소프트 머신즈, 인크. | 프로세서의 변환 룩 어사이드 버퍼를 이용하는 게스트 명령-네이티브 명령 레인지 기반 매핑 |
US9063760B2 (en) * | 2011-10-13 | 2015-06-23 | International Business Machines Corporation | Employing native routines instead of emulated routines in an application being emulated |
CN103107905B (zh) | 2011-11-14 | 2017-08-04 | 华为技术有限公司 | 异常处理方法、装置和客户端 |
US10146545B2 (en) | 2012-03-13 | 2018-12-04 | Nvidia Corporation | Translation address cache for a microprocessor |
US9880846B2 (en) | 2012-04-11 | 2018-01-30 | Nvidia Corporation | Improving hit rate of code translation redirection table with replacement strategy based on usage history table of evicted entries |
US10241810B2 (en) * | 2012-05-18 | 2019-03-26 | Nvidia Corporation | Instruction-optimizing processor with branch-count table in hardware |
US20140189310A1 (en) | 2012-12-27 | 2014-07-03 | Nvidia Corporation | Fault detection in instruction translations |
US10108424B2 (en) | 2013-03-14 | 2018-10-23 | Nvidia Corporation | Profiling code portions to generate translations |
CN105122206B (zh) | 2013-03-15 | 2018-11-09 | 英特尔公司 | 用于支持推测的访客返回地址栈仿真的方法和装置 |
WO2014151652A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines Inc | Method and apparatus to allow early dependency resolution and data forwarding in a microprocessor |
GB2517494B (en) * | 2013-08-23 | 2021-02-24 | Advanced Risc Mach Ltd | Handling time intensive instructions |
US10963280B2 (en) | 2016-02-03 | 2021-03-30 | Advanced Micro Devices, Inc. | Hypervisor post-write notification of control and debug register updates |
US10387210B2 (en) * | 2016-04-04 | 2019-08-20 | International Business Machines Corporation | Resource schedule optimization |
JP7168630B2 (ja) * | 2020-11-11 | 2022-11-09 | 株式会社日立製作所 | 計算機システム及びジョブの実行制御方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0792761B2 (ja) * | 1985-07-31 | 1995-10-09 | 株式会社日立製作所 | 仮想計算機システムの入出力制御方法 |
JPH01243155A (ja) * | 1988-03-25 | 1989-09-27 | Hitachi Ltd | 仮想計算機システムにおけるチャネルパスグループ管理方式 |
US6397242B1 (en) * | 1998-05-15 | 2002-05-28 | Vmware, Inc. | Virtualization system including a virtual machine monitor for a computer with a segmented architecture |
JP3807860B2 (ja) * | 1999-01-29 | 2006-08-09 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンパイル方法および装置、並びにメソッド活動度計算方法および装置 |
US7373451B2 (en) * | 2003-12-08 | 2008-05-13 | The Board Of Trustees Of The Leland Stanford Junior University | Cache-based system management architecture with virtual appliances, network repositories, and virtual appliance transceivers |
-
2006
- 2006-03-31 JP JP2006097594A patent/JP5010164B2/ja not_active Expired - Fee Related
-
2007
- 2007-02-08 US US11/703,662 patent/US8104035B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20070234358A1 (en) | 2007-10-04 |
US8104035B2 (en) | 2012-01-24 |
JP2007272576A (ja) | 2007-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5010164B2 (ja) | サーバ装置及び仮想計算機の制御プログラム | |
US10394560B2 (en) | Efficient recording and replaying of non-deterministic instructions in a virtual machine and CPU therefor | |
US7844954B2 (en) | Using branch instruction counts to facilitate replay of virtual machine instruction execution | |
Steinberg et al. | NOVA: A microhypervisor-based secure virtualization architecture | |
US8775748B2 (en) | Method and system for tracking data correspondences | |
JP5932973B2 (ja) | 仮想記憶ディスク技術 | |
US9009701B2 (en) | Method for controlling a virtual machine and a virtual machine system | |
US20160335023A1 (en) | Virtual disk storage techniques | |
Kloster et al. | Efficient memory sharing in the xen virtual machine monitor | |
JP6194016B2 (ja) | 計算機および負荷測定方法 | |
Zhang et al. | High-density multi-tenant bare-metal cloud | |
KR20090009866A (ko) | 실행 중인 운영 체제를 이용하여 하이퍼바이저를 실행하는 컴퓨터 프로그램 제품 및 그 방법 | |
US20230205713A1 (en) | Computer device, exception processing method, and interrupt processing method | |
US9459915B2 (en) | Execution of software using a virtual processor time counter and a scaling factor | |
KR102307900B1 (ko) | 클라우드 플랫폼 환경에서의 초-저지연 리소스 메트릭 수집 방법 및 시스템 | |
JP2006155272A (ja) | 仮想計算機の制御方法及びプログラム | |
US10545697B1 (en) | Reverse order request queueing by para-virtual device drivers | |
Im et al. | On-Demand Virtualization for Post-Copy OS Migration in Bare-Metal Cloud | |
US20130346975A1 (en) | Memory management method, information processing device, and computer-readable recording medium having stored therein memory management program | |
Chiang | Optimization techniques for memory virtualization-based resource management | |
JP2022522740A (ja) | ハイパーバイザ命令に対する条件付きイールド | |
Bitchebe et al. | Intel page modification logging, a hardware virtualization feature: study and improvement for virtual machine working set estimation | |
US20240330032A1 (en) | Caching memory mapped i/o emulation for virtual machines | |
Pandurov et al. | Flexible Swapping for the Cloud | |
JP2005056019A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081006 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081006 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120306 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120309 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120507 |
|
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: 20120522 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120601 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150608 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |