JP4265610B2 - プログラム制御装置、プログラム制御方法、およびプログラム記録媒体 - Google Patents
プログラム制御装置、プログラム制御方法、およびプログラム記録媒体 Download PDFInfo
- Publication number
- JP4265610B2 JP4265610B2 JP2006021495A JP2006021495A JP4265610B2 JP 4265610 B2 JP4265610 B2 JP 4265610B2 JP 2006021495 A JP2006021495 A JP 2006021495A JP 2006021495 A JP2006021495 A JP 2006021495A JP 4265610 B2 JP4265610 B2 JP 4265610B2
- Authority
- JP
- Japan
- Prior art keywords
- thread
- data
- time
- area
- garbage collection
- 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
Description
参1:情報技術用語事典(オーム社刊)
参2:情報処理用語大事典(オーム社刊)
参3:先端ソフトウエア用語事典(オーム社刊)
参A:SUPER ASCII Glossary Help on Internet
処理や過程を意味する一般用語(参2)
(2) スレッド(thread):
プロセスまたはタスクと呼ばれる1つの実行環境の中で並列実行可能な処理を複数に分割した場合に、プロセッサのスケジュール対象となる実行単位または制御フローのこと。(参3)
(3) コンテキスト(context) :
(オブジェクト指向システムに関連して)メソッドを実行するために必要な情報を蓄えるオブジェクトをいう。コンテキストは、呼び出し先のコンテキスト、プログラムの入ったメソッドオブジェクト、プログラムカウンタ、スタックポインタという情報、引数や一時変数を取るところ、および評価スタックから成立する。このような実行環境をオブジェクトとしてとるが、プロセスなどをサポートする高級言語の特徴でヒープ言語と呼ばれる。他方PASCALやALGOL60では実行環境はスタックにとられFORTRANでは固定領域にとられる。(参1)
(4) タスク(task):
多重プログラミング又は多重プロセッシングの環境において、計算機によって実行されるべき仕事の要素として制御プログラムによって取り扱われる命令の1つ以上の列(JIS)
(5) ガベージ(garbage) :
どこからも参照されていないが、生成されてしまったオブジェクト。ガベージはガベージコレクタで回収する。(参1)
(6) ガベージコレクション(Garbage Collection):
(オブジェクト指向システムに関連して)メモリ管理の中心となるプログラムを言う。主記憶を使いきるとメインの計算を止め、ガベージコレクタを動かして、もはや使われていないオブジェクトを全部集める方法である。この方法でガベージコレクタが働くと、計算が止まってしまうため入出力が全く反応しなくなり、実時間の応答が必要な用途には使えない。(参1)
(7) インタプリタ(interpreter) :
解釈実行を行う翻訳プログラム(JIS)
(8) リアルタイム(real time) :
計算機外部の他の処理との関係をもちながら、かつ外部の処理によって定められる時間要件に従って、計算機の行うデータの処理に関する用語。実時間。(JIS)
(9) オブジェクト(object):
プロシジュア(定義した手続き)とデータの特性を結合させるエンティティ(実体)であり、これにより計算が行われ、局部的状態が蓄えられる。(参1)
(10) クラス(class) :
同一の手続き群とデータ構造を持つオブジェクトの集合。(参3)
(11) ヒープ領域(heap area) :
プログラム実行時に必要に応じて使用されるような作業領域。(参2)
(12) スケジュールする(scheduling):
ディスパッチされるべきジョブ又はタスクを選択すること。(JIS)
(13) イベント(event) :
ハードウエア/ソフトウエアが、自分自身の状態の変化を他のハードウエア/ソフトウエアに通知すること。一般にこの際の通知では、イベントの種類やハードウエア/ソフトウエアの状態を表す各種パラメータをメッセージとしてまとめ、相手に送信する。そしてイベントの通知を受けた側では、メッセージのパラメータなどから適切な処理を行う。(参A)
(14) イベントフラグ(event flag):
タスクが1つまたは複数の事象の発生を待ち合わせるための機能とその事象を通知する機能とからなるタスク間同期通信機構。(参3)
(15) セマフォ(semaphore) :
複数のプロセスやタスクを並列に処理するシステムで、各プロセス間,タスク間の同期やメッセージ制御、割込処理を行うための仕組み。(参3)
(16) 仮想マシーン(仮想機械)(virtual mathine) :
複数の特定のプラットホーム(OSやハードウエア)に組み込まれた、特定のプラットホームに依存しないアプリケーションプログラムを実行する環境。同じ仮想マシンさえ提供されていれば、プラットホームが変わっても同じアプリケーションプログラムが実行できる。
オペレーティングシステムに組み込まれた、Javaアプリケーションプログラム(JavaはSun Microsystems社の商標)を実行するための環境。一般的なプログラムは、ソースコードをコンパイルして、それぞれのオペレーティングシステムに最適化した実行コードを生成する、というスタイルを採る。Java(JavaはSun Microsystems社の商標)で書かれたプログラムも同様の手順で作成するが、コンパイル後のコードは、特定のオペレーティングシステムに依存しない中間コードの形をとる。これをロードし、各オペレーティングシステムに合わせたコードに変換しながら実行するのがJava仮想マシン(JavaはSun Microsystems社の商標)の役目であり、同じ仮想マシンさえ提供されていれば、プラットホームが変わっても同じコードが実行できるようになっている。
ヒープ領域上の使用可能な領域、未使用領域。
リアルタイム性が要求されない処理を行うスレッド。
オブジェクトがどこからも参照されないか否かを調べるために存在するオブジェクトに1対1に対応する表。或るオブジェクトに参照があることが確かめられた場合、そのオブジェクトに対応する表の欄にマークを付ける。全ての参照関係を調べたときマークの無いオブジェクトは不要であるので取り除くことができる。
オブジェクトが生成され、消去されるまでの時間。
オブジェクトへの参照関係の変更をチェックし、書き替えが起こった場合に何らかの処理をすること。本件の場合は、書き替えが起きたとき、書き替える参照が指しているオブジェクトに対応するマークテーブルの欄にマークを付ける。
ヒープ領域上の不要なオブジェクトを取り除く処理。
新しいオブジェクトを生成すること。具体的には、ヒープ領域の一部をオブジェクトに割り当て、内容を初期化すること。
不要なオブジェクトを取り除くこと。具体的には、ヒープ領域に確保してある領域を解放すること。
或るオブジェクトAが別の特定のオブジェクトBにアクセスするためにオブジェクトBを特定する情報。具体的には、オブジェクトBを指すポインタまたはインデックス。
参照を現在のオブジェクトBから別のオブジェクトCに変更すること。
この論文はBaker が書いたという1978年のリアルタイムGCに対して、全体の処理時間から必要なGCの処理時間の割合を求めるものである。
GCを行う領域を細かく分けることにより、個々の処理時間を短くしてリアルタイム性を向上する方法であり、全ての領域を対象にするものではない。また、スケジューリングについては述べられていない。
Baker の考えを発展させ、ネットワークの分散環境に適応したもの。ネットワーク固有の問題を解決しようとするものである。
システムコール発行時に、そのシステムコールにより起動されるタスクの優先度を制御するものである。
オブジェクトのサイズを検出し、そのサイズに応じてワークエリアをメモリに確保することが一応示されている。
マルチメディアオペレーティングシステムのコンセプトが示されている。
スタック上のオブジェクトの一番上にオブジェクトの大きさを書いておくことが示されている。
オブジェクト間の参照ツリーの考え方が示されている。
オブジェクトの寿命に関連してメモリ割当を行うことが示されている。
アプリケーションプログラムインタフェースの呼出に応じてGCを制御することと、オブジェクト参照に関する技術思想が示されている。
前記参照情報記憶手段の記憶内容を基に、前記メモリのヒープ領域内の、どのオブジェクトからも参照されないオブジェクトを検出し、当該オブジェクトのメモリ領域を他のオブジェクトのメモリ割り当て可能なフリー領域として解放するガベージコレクションスレッドをインクリメンタルに行う実行手段と、
前記ガベージコレクションスレッドの優先度をガベージコレクションスレッド以外のスレッドの優先度より高い状態と低い状態とに交互に変更する変更手段と、を備え、
前記参照情報記憶手段は、オブジェクトの参照関係を表すツリー構造の第1のデータと、オブジェクトの参照関係の変更された部分のオブジェクトを示す第2のデータとを記憶し、第1のデータを探索して参照されているオブジェクトを検出し、第2のデータを読み出すとともに該データを基に第1のデータを探索して、参照されているオブジェクトを検出する、参照オブジェクト検出手段を含む手段である、ことを特徴とする。
しかも、メモリのヒープ領域内の、他のオブジェクトから参照されるオブジェクトを検出して当該参照の有無状態を記憶し、当該記憶内容を基に、どのオブジェクトからも参照されないオブジェクトのメモリ領域を他のオブジェクトのメモリ割り当て可能な領域として解放するが、オブジェクトの生成時にオブジェクトの参照関係を表すツリー構造の第1のデータ(この第1のデータは、たとえばオブジェクトの参照関係を示す、オブジェクト内に設けられる1つの変数である。)を記憶し、参照関係の変更時に、オブジェクトの参照関係の変更された部分のオブジェクトを示す第2のデータを記憶し、第1のデータを探索して参照されているオブジェクトを検出し、第2のデータを読み出すとともに該データを基に第1のデータを探索して、参照されているオブジェクトを検出する。したがって、スイープやマークテーブルのクリアを行うときに、他のスレッドを止めなくても、スイープ中またはマークテーブルのクリア中に他のスレッドにより新たなオブジェクトが生成されたり、オブジェクト間の参照関係が変更されても、マークテーブルを基にスイープを行う際に、上記の新たに生成されたオブジェクトを消去してしまうことがない。そのため、インクリメンタルにGCを行うことができ、また、自由に中断ができるので、リアルタイム性が向上する。また、常にバックグラウンドでGCスレッドを動作させておくことが可能となり、メモリの使用効率を常に高く維持できる。しかも、ツリー探索によるマーク付与に要する時間が短縮化され、割込によって、いつまでもマーク付与が完了しない、といった不都合が防止でき、GCを確実に実行できる。
また、スレッドの優先度に応じて各スレッドを時分割に実行するためのスケジューリングを行うスケジューリング手段を設けてもよい。
前記非リアルタイムスレッドの1つが、前記ガベージコレクションスレッドであり、
前記実行手段は、前記ガベージコレクションスレッド以外の非リアルタイムスレッドの実行によりヒープ領域内の前記フリー領域が所定の値まで減少したときにも、前記ガベージコレクションスレッドを実行する手段である。
この構成では、ブジェクトの参照関係の変更時の参照先が既にマークされている場合に、第2のデータを重ねて記憶することがなくなり、第1のデータの探索およびマークに要する時間をその分短縮化できる。
また、インクリメンタルにGCを行うことができ、また、自由に中断ができるので、リアルタイム性が向上する。また、常にバックグラウンドでGCスレッドを動作させておくことが可能となり、メモリの使用効率を常に高く維持できる。しかも、ツリー探索によるマーク付与に要する時間が短縮化され、割込によって、いつまでもマーク付与が完了しない、といった不都合が防止でき、GCを確実に実行できる。
このことによって、GCの優先度が動的に自動調整される。
集合No.n バイトk 個数m
1 64 5000
2 256 10000
3 1k 10000
4 4k 5000
5 32k 500
とする。
図47は上記「参照変更のマーク付与」の処理手順を示すフローチャートである。先ず、参照変更されたオブジェクトからマークテーブル上の位置を計算し、該当のマークがWhite であるか否かを判定する(s191→s192)。このWhite マークは上述したように未だマークされていない状態を意味する。もし、White マークでなければ、すでにマークされているので、そのまま処理を終了する。White マークであれば、それをGrayにマークする(s193)。上述したようにこのGrayマークは参照変更のあったオブジェクトであることを意味する。続いてマークスタックに参照先のオブジェクトを示すデータを積む(s194)。
Claims (9)
- メモリのヒープ領域内の、他のオブジェクトから参照されるオブジェクトを検出して当該参照の有無状態を記憶する参照情報記憶手段と、
前記参照情報記憶手段の記憶内容を基に、前記メモリのヒープ領域内の、どのオブジェクトからも参照されないオブジェクトを検出し、当該オブジェクトのメモリ領域を他のオブジェクトのメモリ割り当て可能なフリー領域として解放するガベージコレクションスレッドをインクリメンタルに行う実行手段と、
前記ガベージコレクションスレッドの優先度をガベージコレクションスレッド以外のスレッドの優先度より高い状態と低い状態とに交互に変更する変更手段と、を備え、
前記参照情報記憶手段は、オブジェクトの参照関係を表すツリー構造の第1のデータと、オブジェクトの参照関係の変更された部分のオブジェクトを示す第2のデータとを記憶し、第1のデータを探索して参照されているオブジェクトを検出し、第2のデータを読み出すとともに該データを基に第1のデータを探索して、参照されているオブジェクトを検出する、参照オブジェクト検出手段を含む手段である、ことを特徴とするプログラム制御装置。 - スレッドの優先度に応じて各スレッドを時分割に実行するためのスケジューリングを行うスケジューリング手段を備えたことを特徴とする請求項1に記載のプログラム制御装置。
- 前記ガベージコレクションスレッドの優先度の高い状態の時間をアプリケーションプログラムインタフェースの呼び出しによって設定する設定手段を設けたことを特徴とする請求項1、または2に記載のプログラム制御装置。
- 前記ガベージコレクションスレッドの優先度の高い状態と低い状態による周期をアプリケーションプログラムインタフェースの呼び出しによって設定する設定手段を設けたことを特徴とする請求項1、または2に記載のプログラム制御装置。
- 前記フリー領域の容量の時間変化を検出する手段と、前記フリー領域の容量が低下傾向のとき、前記ガベージコレクションスレッドの優先度の高い状態の時間を長くする時間調整手段を設けたことを特徴とする請求項1〜3のいずれかに記載のプログラム制御装置。
- イベントの発生に応じてリアルタイムスレッドを実行させ、該リアルタイムスレッドの中断時または終了時に非リアルタイムスレッドを実行させる手段を備え、
前記非リアルタイムスレッドの1つが、前記ガベージコレクションスレッドであり、
前記実行手段は、前記ガベージコレクションスレッド以外の非リアルタイムスレッドの実行によりヒープ領域内の前記フリー領域が所定の値まで減少したときにも、前記ガベージコレクションスレッドを実行する手段である、ことを特徴とする請求項1〜5のいずれかに記載のプログラム制御装置。 - 前記参照オブジェクト検出手段は、前記オブジェクトの参照関係の変更時の参照先が前記第1のデータの探索により初めて検出されたオブジェクトであるときにのみ、参照先の当該オブジェクトを前記第2のデータとして記憶する手段である、ことを特徴とする請求項1〜6のいずれかに記載のプログラム制御装置。
- メモリのヒープ領域内の、他のオブジェクトから参照されるオブジェクトを検出して当該参照の有無状態を参照情報記憶手段に記憶させる第1のステップと、
前記参照情報記憶手段の記憶内容を基に、前記メモリのヒープ領域内の、どのオブジェクトからも参照されないオブジェクトを検出し、当該オブジェクトのメモリ領域を他のオブジェクトのメモリ割り当て可能なフリー領域として解放するガベージコレクションスレッドをインクリメンタルに行う第2のステップと、
前記ガベージコレクションスレッドの優先度をガベージコレクションスレッド以外のスレッドの優先度より高い状態と低い状態とに交互に変更する第3のステップと、をコンピュータに実行させるプログラム制御方法であって、
前記第1のステップは、オブジェクトの参照関係を表すツリー構造の第1のデータと、オブジェクトの参照関係の変更された部分のオブジェクトを示す第2のデータと、を前記参照情報記憶手段に記憶させるステップであり、
さらに、前記参照情報記憶手段に記憶している第1のデータを探索し、参照されているオブジェクトを検出し、第2のデータを読み出すとともに該データを基に第1のデータを探索して、参照されているオブジェクトを検出する第4のステップをコンピュータに実行させることを特徴とするプログラム制御方法。 - メモリのヒープ領域内の、他のオブジェクトから参照されるオブジェクトを検出して当該参照の有無状態を参照情報記憶手段に記憶させる第1のステップと、
前記参照情報記憶手段の記憶内容を基に、前記メモリのヒープ領域内の、どのオブジェクトからも参照されないオブジェクトを検出し、当該オブジェクトのメモリ領域を他のオブジェクトのメモリ割り当て可能なフリー領域として解放するガベージコレクションスレッドをインクリメンタルに行う第2のステップと、
前記ガベージコレクションスレッドの優先度をガベージコレクションスレッド以外のスレッドの優先度より高い状態と低い状態とに交互に変更する第3のステップと、をコンピュータに実行させる処理プログラムを記録したコンピュータ読取可能な記録媒体であって、
前記第1のステップは、オブジェクトの参照関係を表すツリー構造の第1のデータと、オブジェクトの参照関係の変更された部分のオブジェクトを示す第2のデータと、を前記参照情報記憶手段に記憶させるステップであり、
さらに、前記参照情報記憶手段に記憶している第1のデータを探索し、参照されているオブジェクトを検出し、第2のデータを読み出すとともに該データを基に第1のデータを探索して、参照されているオブジェクトを検出する第4のステップをコンピュータに実行させる処理プログラムを記録したコンピュータ読取可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006021495A JP4265610B2 (ja) | 1997-11-21 | 2006-01-30 | プログラム制御装置、プログラム制御方法、およびプログラム記録媒体 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32176697 | 1997-11-21 | ||
JP2006021495A JP4265610B2 (ja) | 1997-11-21 | 2006-01-30 | プログラム制御装置、プログラム制御方法、およびプログラム記録媒体 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20034599A Division JP3826626B2 (ja) | 1997-11-21 | 1999-07-14 | プログラム制御装置、プログラム制御方法、およびプログラム記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006172494A JP2006172494A (ja) | 2006-06-29 |
JP4265610B2 true JP4265610B2 (ja) | 2009-05-20 |
Family
ID=36673096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006021495A Expired - Fee Related JP4265610B2 (ja) | 1997-11-21 | 2006-01-30 | プログラム制御装置、プログラム制御方法、およびプログラム記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4265610B2 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022093381A1 (en) * | 2020-10-29 | 2022-05-05 | Oracle International Corporation | Tracking garbage collection states of references |
US11507503B1 (en) | 2021-05-19 | 2022-11-22 | Oracle International Corporation | Write barrier for remembered set maintenance in generational Z garbage collector |
WO2022245659A1 (en) * | 2021-05-19 | 2022-11-24 | Oracle International Corporation | Colorless roots implementation in z garbage collector |
WO2022245749A1 (en) * | 2021-05-19 | 2022-11-24 | Oracle International Corporation | Snapshot at the beginning marking in z garbage collector |
WO2022245954A1 (en) * | 2021-05-19 | 2022-11-24 | Oracle International Corporation | Write barrier for remembered set maintenance in generational z garbage collector |
US11513954B2 (en) | 2021-03-25 | 2022-11-29 | Oracle International Corporation | Consolidated and concurrent remapping and identification for colorless roots |
US11573794B2 (en) | 2021-03-25 | 2023-02-07 | Oracle International Corporation | Implementing state-based frame barriers to process colorless roots during concurrent execution |
US11875193B2 (en) | 2021-03-25 | 2024-01-16 | Oracle International Corporation | Tracking frame states of call stack frames including colorless roots |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4891811B2 (ja) * | 2007-02-28 | 2012-03-07 | 東芝ストレージデバイス株式会社 | 制御装置および記憶装置 |
US8930614B2 (en) | 2011-07-29 | 2015-01-06 | Kabushiki Kaisha Toshiba | Data storage apparatus and method for compaction processing |
JP2020149526A (ja) * | 2019-03-15 | 2020-09-17 | 株式会社東芝 | 処理装置、処理方法及びプログラム |
-
2006
- 2006-01-30 JP JP2006021495A patent/JP4265610B2/ja not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022093381A1 (en) * | 2020-10-29 | 2022-05-05 | Oracle International Corporation | Tracking garbage collection states of references |
US11513954B2 (en) | 2021-03-25 | 2022-11-29 | Oracle International Corporation | Consolidated and concurrent remapping and identification for colorless roots |
US11573794B2 (en) | 2021-03-25 | 2023-02-07 | Oracle International Corporation | Implementing state-based frame barriers to process colorless roots during concurrent execution |
US11875193B2 (en) | 2021-03-25 | 2024-01-16 | Oracle International Corporation | Tracking frame states of call stack frames including colorless roots |
US11507503B1 (en) | 2021-05-19 | 2022-11-22 | Oracle International Corporation | Write barrier for remembered set maintenance in generational Z garbage collector |
WO2022245659A1 (en) * | 2021-05-19 | 2022-11-24 | Oracle International Corporation | Colorless roots implementation in z garbage collector |
WO2022245749A1 (en) * | 2021-05-19 | 2022-11-24 | Oracle International Corporation | Snapshot at the beginning marking in z garbage collector |
WO2022245954A1 (en) * | 2021-05-19 | 2022-11-24 | Oracle International Corporation | Write barrier for remembered set maintenance in generational z garbage collector |
US11734171B2 (en) | 2021-05-19 | 2023-08-22 | Oracle International Corporation | Snapshot at the beginning marking in Z garbage collector |
US11741004B2 (en) | 2021-05-19 | 2023-08-29 | Oracle International Corporation | Colorless roots implementation in Z garbage collector |
Also Published As
Publication number | Publication date |
---|---|
JP2006172494A (ja) | 2006-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4265610B2 (ja) | プログラム制御装置、プログラム制御方法、およびプログラム記録媒体 | |
JP3027845B2 (ja) | プログラム制御装置および方法 | |
US7167881B2 (en) | Method for heap memory management and computer system using the same method | |
US6192517B1 (en) | Method, apparatus, and product for improved garbage collection in a memory system through the removal of reference conflicts | |
US7454447B1 (en) | Declarative pinning | |
JP4511653B2 (ja) | マルチスレッド仮想マシン内におけるメモリ・アロケーションの方法及び装置 | |
US6839726B2 (en) | Apparatus, method, and program for implementing garbage collection suitable for real-time processing | |
US7225439B2 (en) | Combining write-barriers within an inner loop with fixed step | |
JP4333676B2 (ja) | プログラム制御装置、プログラム制御方法、およびプログラム記録媒体 | |
WO2001088701A2 (en) | Dynamic adaptive tenuring of objects | |
JP4756231B2 (ja) | 掃除用のガーベッジコレクションの効果を高めるための方法、コンピュータ読み取り可能媒体、コンピュータシステム、及び、メモリ | |
EP1659496B1 (en) | Garbage collection system | |
EP3577565B1 (en) | Garbage collector | |
EP3577567A1 (en) | Multiple stage garbage collector | |
US7620943B1 (en) | Using class properties to segregate objects in a generation managed by the train algorithm | |
JP3826626B2 (ja) | プログラム制御装置、プログラム制御方法、およびプログラム記録媒体 | |
US7062518B2 (en) | Efficiently supporting the existence of long trains in a generation managed by the train algorithm | |
JP4345748B2 (ja) | メモリ割当装置、メモリ割当方法、およびプログラム記録媒体 | |
JP2004503869A (ja) | モジュール式ガーベッジコレクタを実現するための方法および装置 | |
US7058781B2 (en) | Parallel card table scanning and updating | |
CN114051610A (zh) | 基于arena的存储器管理 | |
US20040172507A1 (en) | Better placement of objects promoted into a generation managed by the train algorithm | |
CN112313631A (zh) | 闭环垃圾收集器 | |
Miller et al. | Garbage collection in MultiScheme | |
US20040172428A1 (en) | Numbering sequences of cars with the same number in a generation managed by the train algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080701 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080821 |
|
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: 20090127 |
|
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: 20090209 |
|
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: 20120227 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120227 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130227 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140227 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |