JP2010271755A - シミュレーション・システム、方法及びプログラム - Google Patents
シミュレーション・システム、方法及びプログラム Download PDFInfo
- Publication number
- JP2010271755A JP2010271755A JP2009120575A JP2009120575A JP2010271755A JP 2010271755 A JP2010271755 A JP 2010271755A JP 2009120575 A JP2009120575 A JP 2009120575A JP 2009120575 A JP2009120575 A JP 2009120575A JP 2010271755 A JP2010271755 A JP 2010271755A
- Authority
- JP
- Japan
- Prior art keywords
- pipeline
- value
- processing
- core
- processor
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/325—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
Abstract
【解決手段】
マルチコアまたはマルチプロセッサ・システムの環境において、制御ブロックのループの個々の処理が、投機的パイプライニングの技法で、好適には個別のスレッドとして個別のコアまたはプロセッサに割り当てられる。この予測入力に基づく出力に対して、当該スレットの予測変数値を用いて、補正値が計算される。この補正値の計算は、予測変数値の一次微分係数の近似値としての勾配値として与えられる。シミュレーション・システムの場合一般的に、変数値は複数あるので、一次微分係数は、ヤコビ行列としてあらわされる。そこで、本発明では、その各々の成分が一次偏微分係数の近似値としての勾配値である行列をヤコビ行列と呼ぶことにする。すると、本発明において、補正値の計算は、このようにして定義されたヤコビ行列によって行なわれる。
【選択図】 図11
Description
uk = (u1(tk), ... ,un(tk))T
F(uk) = (f1(uk), ... ,fn(uk))T
のように表記される。
なお、以下では、u^という表記を、
と同一視することに留意されたい。
u* k+1となる。
計算値と実際の値の差をε* k = u* k - ukとすると、図10から見て取れるように、時間の経過とともに、誤差ε* kは、誤差εkよりもさらに拡大する可能性がある。
F(uk) = F(u^k) - Jf(u^k)εk + R(|εk|2)
εkは、予測精度が高い場合、そのすべての成分が小さい実数であるベクトルとなる。εkが小さい場合、テイラー展開の二次以上の項も小さくなるため、R(|εk|2)は無視することができる。εkが大きい場合には、R(|εk|2)が無視できず、補正計算は実行できない。その場合には、前の時刻の出力結果を入力として再度計算を行うロールバック処理を行う。このとき、εkが十分に小さいかどうかは、予め与えられる閾値によって判定する。
Jf(u^k)εkにほぼ等しい。
ε* k+1は、Jf(u^k)(u^k - uk)で近似できることになる。
uk = (u1(tk), ... ,un(tk))Tに対して、解析的に偏微分可能とは限らず、よって、上記のヤコビ行列を解析的に求めることが可能とは限らない。
ε* k+1 = J^f(u^k)(u^k - uk)と計算され、
さらに、このε* k+1を使ってuk+1 = u* k+1 - ε* k+1によって、補正された値uk+1が得られる。
このような計算により、誤差の累積を減少させるのが、この発明の骨子である。
その1つの方法は、線形補間であり、下記のような式であらわされる。
u^i(tk+m+j) = m・ui(tk+j+1) - (m-1)・ui(tk+j)
F(u^k-1+H1)/h1が計算され、補助スレッド1104_nでは、
F(u^k-1+Hn)/hnが計算される。このような補助スレッド1104_1〜1104_nは、CPUの数に余裕がある場合、ブロック1104が割り当てられているCPUとは別のCPUに個別に割り当てられて、本来の計算を遅延させることなく実行することができる。
u* kと、補助スレッド1104_1〜1104_nからの、
F(u^k-1+H1)/h1、F(u^k-1+H2)/h2、・・・、F(u^k-1+Hn)/hnすなわち、
J^f(u^k-1)とを用いて、
uk = u* k - J^f(u^k-1)(u^k-1 - uk-1)
という式により、ukが計算される。
また、tiにはiがセットされる。tiは、i番目のスレッドが実行すべき処理の時刻を表し、ステップ1202の段階においては、i番目のスレッドは時刻iから処理を開始することとなる。
関数set_ps(P, 0, initial_input)を呼び出す。ここで、initial_inputはシミュレーションモデルの初期入力(ベクトル)を指す。また、Pは未来の時刻の入力の予測に利用する過去の時刻の入力点(時刻と入力ベクトルの組)を保持しておくためのバッファである。関数set_ps(P, t, input)は、Pに、時刻tの入力としてinputを記録するという動作を行うものであって、すなわち、set_ps(P, 0, initial_input)によって、Pに、時刻0と初期入力の組がセットされる。ここに記録された値が、後に当該スレッドで実行される最初のロジックへの入力となる。また、j = 0とセットされる。
set_state(S0, 0, j, intial_statej)の呼び出しによって、S0に、ロジックID jと、時刻0の組(j, 0)に対して、(初期)内部状態intial_statejが記録されることとなる。ここで記録された(初期)内部状態は、後に0番目のスレッドが各ロジックを実行する段階で利用される。
こうして、predict(P, ti)の呼び出しによって得られたベクトルデータは、
predicted_inputという変数に格納される。
get_state(Si, ti, j)が呼ばれる。この関数は、Si中に、(ti, j)の組に対応付けられて記録されているベクトルデータ(内部状態データ)を返す。ただし、そのようなデータがない場合、あるいは(ti, j)の組に対応付けられているデータにフラグがセットされている場合は、Siに(ti, j)の組に対するデータが記録されるかまたは、フラグが解除されるまで待つ。
get_state(Si, ti, j)から返された結果は、変数stateに格納される。
ステップ1220では、rb_initiatorがTRUEであるかどうかの判断が行われる。
rb_initiatorがTRUEである場合は、当該スレッドが、以前にロールバック処理を発動させ、ロールバック処理中であることを表している。一方、rb_initiatorがFALSEである場合は、当該スレッドは、ロールバック処理を発動しておらず、ロールバック処理中でもないことを表している。通常の補正を実行する流れではrb_initiatorはFALSEとなっている。
当該ステップにおいて、rb_initiatorがFALSEであると判断されると、ステップ1222に移る。
このバッファには、時刻と入力ベクトルの組が一つだけ記録される。get_io(Ii, ti-1)では、Iiに記録されている入力ベクトルが返されるが、与えられた時刻(ti-1)が、入力ベクトルと組になって記録されているいる時刻と一致しない、あるいはデータが存在しない場合には、NULLを返す。
これは、tiが0の場合には、それより前の時刻の出力というものが存在せず、ステップ1228において必ずactual_inputがNULLとなるため、補正計算のために前の時刻の出力結果が得られるまで待つための判断であるステップ1228で無限ループに陥るのを避けるためのステップである。
actual_inputがNULLである場合、前の時刻の処理の出力がまだ得られていないことを表す。これは前述のように、補正計算のために必要となる前の時刻の処理の出力結果が得られるまで待つための判断であり、必要な出力が得られていない場合には、ステップ1222に戻る。必要な出力が得られている場合には、actual_inputがNULLとなっていないため、ステップ1230へ移る。
get_jm(Ji, ti)は、Ji中に記録されているヤコブ行列を返す関数であるが、ヤコブ行列の各列ベクトルに組となって記録されている全時刻データが、与えられた引数tiと等しくなるまで待ってからヤコブ行列を返す。
ステップ1232では、inputにactual_inputが設定され、rollbacknextにTRUEがセットされ、rb_initiatorがTRUEとされ、rb_state(Snext, ti+1)が呼び出される。
rollbacknextがTRUEにセットされることで、next番目のスレッドにおいても、現在実行している時刻の処理を再度やり直さねばならないことを伝達することができる。
関数rb_state(Snext, ti+1)では、Snext中に(ti+1, k)に対応付けて記録されているベクトルデータに、それが無効であることを示すフラグをセットする。ただし、ここでk=0, ..., n-1である。
その後、ステップ1214に戻ることで、前の時刻の処理結果であるベクトルデータを入力として使用して、同じ時刻の処理を再度やり直すこととなる。
この場合には、ステップ1240へ進み、set_io(Inext, ti, output)を呼び出すことで、再計算された出力を、next番目のスレッドに伝達し、set_ps(P, ti+1, output)が呼び出されて、予測に用いるデータを更新する。
これによってそのスレッドは、ステップ1242のループから抜け出し、ステップ1246へと進む。
JACOBI_THREADSiは、複数のスレッドを表しており、そのk番目のスレッドの処理を表すフローチャートを図13に示す。
1206でセットしたモデルに含まれるロジックの数であり、単にmod_inputを入力として、ロジック全体を実行することを意味している。
mod_input/hkを、時刻tiと関連付けて記録する。このとき、既に記録されているデータは、上書きされる。
k=0, ..., n-1の全てのスレッドが終了すると、時刻tiに対応したヤコブ行列が完成する。
timestamp=k+p 担当になる。このとき既に、予測入力が届いているので、休むことなく、すぐに処理を開始することになる。
1102、1104・・・パイプライニング処理
1104_1、1104_2・・・ヤコビ・スレッド
Claims (16)
- マルチコアまたはマルチプロセッサ環境で、複数の機能ブロックからなるループ処理を、複数段のパイプライン化して実行するためのシステムであって、
前記処理をパイプライン化して、個々のプロセッサまたはコアに割り当てる手段と、
前記パイプラインの予測値を用いて計算された値から一次勾配項を計算する手段と、
前記一次勾配項の値によって、前記パイプラインの出力値を補正する手段を有する、
パイプライン実行システム。 - パイプラインの処理の内部状態の値を、当該パイプラインの処理を担当したプロセッサまたはコアから、次段のパイプラインの処理を担当するプロセッサまたはコアに引き渡すための手段を有する、
請求項1に記載のパイプライン実行システム。 - 前記機能ブロックが複数の入力変数をもち、前記一次勾配項が、該複数の入力変数に関するヤコビ行列の近似式であらわされる、請求項1に記載のパイプライン実行システム。
- 前記ヤコビ行列の近似式を計算するための処理が、個別のスレッドとして処理され、該スレッドは、前記ループ処理を割り当てられる前記プロセッサまたはコアとは別のプロセッサまたはコアに割り当てられる、請求項3に記載のパイプライン実行システム。
- 前記予測値が、前段のパイプラインの値の線形補間またはラグランジュ補間によって計算される、請求項1に記載のパイプライン実行システム。
- 前記システムが、トーラス的に立体的にノード間接続されたアーキテクチャをもち、前記ヤコビ行列の近似式を計算するためのスレッドが、1つの次元に沿った個別のノード上に割り当てられる、請求項4に記載のパイプライン実行システム。
- マルチコアまたはマルチプロセッサ環境で、複数の機能ブロックからなるループ処理を、複数段のパイプライン化して実行するための方法であって、
前記処理をパイプライン化して、個々のプロセッサまたはコアに割り当てるステップと、
前記パイプラインの予測値を用いて計算された値から一次勾配項を計算するステップと、
前記一次勾配項の値によって、前記パイプラインの出力値を補正するステップを有する、
パイプライン実行方法。 - パイプラインの処理の内部状態の値を、当該パイプラインの処理を担当したプロセッサまたはコアから、次段のパイプラインの処理を担当するプロセッサまたはコアに引き渡すためのステップを有する、
請求項7に記載のパイプライン実行方法。 - 前記機能ブロックが複数の入力変数をもち、前記一次勾配項が、該複数の入力変数に関するヤコビ行列の近似式であらわされる、請求項7に記載のパイプライン実行方法。
- 前記ヤコビ行列の近似式を計算するための処理が、個別のスレッドとして処理され、該スレッドは、前記ループ処理を割り当てられる前記プロセッサまたはコアとは別のプロセッサまたはコアに割り当てられる、請求項9に記載のパイプライン実行方法。
- 前記予測値が、前段のパイプラインの値の線形補間またはラグランジュ補間によって計算される、請求項7に記載のパイプライン実行方法。
- マルチコアまたはマルチプロセッサを有するコンピュータ・システムにおいて、複数の機能ブロックからなるループ処理を、複数段のパイプライン化して実行するためのプログラムであって、
前記コンピュータ・システムに、
前記処理をパイプライン化して、個々のプロセッサまたはコアに割り当てるステップと、
前記パイプラインの予測値を用いて計算された値から一次勾配項を計算するステップと、
前記一次勾配項の値によって、前記パイプラインの出力値を補正するステップを実行させる、
パイプライン実行プログラム。 - パイプラインの処理の内部状態の値を、当該パイプラインの処理を担当したプロセッサまたはコアから、次段のパイプラインの処理を担当するプロセッサまたはコアに引き渡すためのステップを有する、
請求項12に記載のパイプライン実行プログラム。 - 前記機能ブロックが複数の入力変数をもち、前記一次勾配項が、該複数の入力変数に関するヤコビ行列の近似式であらわされる、請求項12に記載のパイプライン実行プログラム。
- 前記ヤコビ行列の近似式を計算するための処理が、個別のスレッドとして処理され、該スレッドは、前記ループ処理を割り当てられる前記プロセッサまたはコアとは別のプロセッサまたはコアに割り当てられる、請求項14に記載のパイプライン実行プログラム。
- 前記予測値が、前段のパイプラインの値の線形補間またはラグランジュ補間によって計算される、請求項12に記載のパイプライン実行プログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009120575A JP4988789B2 (ja) | 2009-05-19 | 2009-05-19 | シミュレーション・システム、方法及びプログラム |
| US12/781,874 US20100299509A1 (en) | 2009-05-19 | 2010-05-18 | Simulation system, method and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009120575A JP4988789B2 (ja) | 2009-05-19 | 2009-05-19 | シミュレーション・システム、方法及びプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2010271755A true JP2010271755A (ja) | 2010-12-02 |
| JP4988789B2 JP4988789B2 (ja) | 2012-08-01 |
Family
ID=43125343
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009120575A Expired - Fee Related JP4988789B2 (ja) | 2009-05-19 | 2009-05-19 | シミュレーション・システム、方法及びプログラム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20100299509A1 (ja) |
| JP (1) | JP4988789B2 (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012121173A (ja) * | 2010-12-06 | 2012-06-28 | Dainippon Printing Co Ltd | タガント粒子群、ならびにそれを有する偽造防止用インク、偽造防止用トナー、偽造防止用シートおよび偽造防止媒体 |
| JP2014026649A (ja) * | 2012-06-29 | 2014-02-06 | Dassault Systemes | 出力変数の全導関数を使用した協調シミュレーションプロシージャ |
| KR20180009453A (ko) * | 2016-07-19 | 2018-01-29 | 한국항공우주산업 주식회사 | 시뮬레이터의 비행성능 튜닝방법 |
| JP2020004399A (ja) * | 2018-06-07 | 2020-01-09 | コンペテンツェントラム−ダス ヴァーチュッレ ファールツグ フォルシュングゲゼルシャフト エムベーハー | 前段階コシミュレーション方法及びデバイス |
| WO2022107298A1 (ja) | 2020-11-20 | 2022-05-27 | 富士通株式会社 | 量子計算制御プログラム、量子計算制御方法及び情報処理装置 |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8438571B2 (en) | 2010-02-24 | 2013-05-07 | International Business Machines Corporation | Thread speculative execution and asynchronous conflict |
| US8438568B2 (en) | 2010-02-24 | 2013-05-07 | International Business Machines Corporation | Speculative thread execution with hardware transactional memory |
| US9147016B2 (en) * | 2010-08-20 | 2015-09-29 | International Business Machines Corporation | Multi-ECU simulation by using 2-layer peripherals with look-ahead time |
| US9348700B2 (en) * | 2013-03-01 | 2016-05-24 | Unisys Corporation | Rollback counters for step records of a database |
| JP6803173B2 (ja) * | 2015-08-24 | 2020-12-23 | エスエーエス アイピー, インコーポレーテッドSAS IP, Inc. | 時間ドメイン分解過渡シミュレーションのためのプロセッサ実行システム及び方法 |
| US11501175B2 (en) * | 2016-02-08 | 2022-11-15 | Micro Focus Llc | Generating recommended inputs |
| CN108121688B (zh) * | 2017-12-15 | 2020-06-23 | 中科寒武纪科技股份有限公司 | 一种计算方法及相关产品 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10320007A (ja) * | 1997-05-22 | 1998-12-04 | Hitachi Ltd | 流動予測システム |
| JP2003122556A (ja) * | 2001-10-09 | 2003-04-25 | Fuji Xerox Co Ltd | 情報処理装置 |
| JP2008268161A (ja) * | 2007-03-29 | 2008-11-06 | Furukawa Electric Co Ltd:The | バッテリ残存容量推定方法、バッテリ残存容量推定装置及びバッテリ電源システム |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6018349A (en) * | 1997-08-01 | 2000-01-25 | Microsoft Corporation | Patch-based alignment method and apparatus for construction of image mosaics |
| CN102197376B (zh) * | 2008-10-24 | 2014-01-15 | 国际商业机器公司 | 源代码处理方法、系统及程序 |
-
2009
- 2009-05-19 JP JP2009120575A patent/JP4988789B2/ja not_active Expired - Fee Related
-
2010
- 2010-05-18 US US12/781,874 patent/US20100299509A1/en not_active Abandoned
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10320007A (ja) * | 1997-05-22 | 1998-12-04 | Hitachi Ltd | 流動予測システム |
| JP2003122556A (ja) * | 2001-10-09 | 2003-04-25 | Fuji Xerox Co Ltd | 情報処理装置 |
| JP2008268161A (ja) * | 2007-03-29 | 2008-11-06 | Furukawa Electric Co Ltd:The | バッテリ残存容量推定方法、バッテリ残存容量推定装置及びバッテリ電源システム |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012121173A (ja) * | 2010-12-06 | 2012-06-28 | Dainippon Printing Co Ltd | タガント粒子群、ならびにそれを有する偽造防止用インク、偽造防止用トナー、偽造防止用シートおよび偽造防止媒体 |
| JP2014026649A (ja) * | 2012-06-29 | 2014-02-06 | Dassault Systemes | 出力変数の全導関数を使用した協調シミュレーションプロシージャ |
| KR20180009453A (ko) * | 2016-07-19 | 2018-01-29 | 한국항공우주산업 주식회사 | 시뮬레이터의 비행성능 튜닝방법 |
| KR101891961B1 (ko) * | 2016-07-19 | 2018-08-27 | 한국항공우주산업 주식회사 | 시뮬레이터의 비행성능 튜닝방법 |
| JP2020004399A (ja) * | 2018-06-07 | 2020-01-09 | コンペテンツェントラム−ダス ヴァーチュッレ ファールツグ フォルシュングゲゼルシャフト エムベーハー | 前段階コシミュレーション方法及びデバイス |
| JP7402482B2 (ja) | 2018-06-07 | 2023-12-21 | バーチャル ヴィークル リサーチ ゲーエムベーハー | 前段階コシミュレーション方法、デバイス、コンピュータ可読媒体、及びプログラム |
| WO2022107298A1 (ja) | 2020-11-20 | 2022-05-27 | 富士通株式会社 | 量子計算制御プログラム、量子計算制御方法及び情報処理装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20100299509A1 (en) | 2010-11-25 |
| JP4988789B2 (ja) | 2012-08-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4988789B2 (ja) | シミュレーション・システム、方法及びプログラム | |
| JP4629768B2 (ja) | 並列化処理方法、システム、及びプログラム | |
| US8677334B2 (en) | Parallelization method, system and program | |
| JP5209059B2 (ja) | ソース・コード処理方法、システム、及びプログラム | |
| CN103959251B (zh) | 模拟执行方法、设备和系统 | |
| JP5479942B2 (ja) | 並列化方法、システム、及びプログラム | |
| Meng et al. | A performance study for iterative stencil loops on GPUs with ghost zone optimizations | |
| US8868381B2 (en) | Control system design simulation using switched linearization | |
| JP2013164657A (ja) | 並列化方法、システム、及びプログラム | |
| KR20240090423A (ko) | 최적화된 레이턴시를 가진 멀티-프로세서 시스템을 위한 프로세싱 코드들의 자동-병렬화를 위한 시스템 및 그의 방법 | |
| JP6004818B2 (ja) | 並列化方法、システム、及びプログラム | |
| JP5692739B2 (ja) | 常微分方程式を解くための方法、プログラム及びシステム | |
| US8041551B1 (en) | Algorithm and architecture for multi-argument associative operations that minimizes the number of components using a latency of the components | |
| CN108228242B (zh) | 一种可配置且具弹性的指令调度器 | |
| Hu et al. | Multi-threaded code generation from Signal program to OpenMP | |
| US8661424B2 (en) | Auto-generation of concurrent code for multi-core applications | |
| KR20250172926A (ko) | 프로세서 아키텍처 설계의 아키텍처 모델을 사용한 성능 분석 | |
| US20230229403A1 (en) | Method for generating source code | |
| US8549456B2 (en) | System and method for circuit design floorplanning | |
| Tang et al. | Pipe-DBT: enhancing dynamic binary translation simulators to support pipeline-level simulation | |
| Mamidi et al. | Performance analysis of GPU accelerated meshfree q-LSKUM solvers in Fortran, C, Python, and Julia | |
| Shao et al. | Map-reduce inspired loop parallelization on CGRA | |
| Faggiano | An extended RT-level model foran NVIDIA GPU for safety-critical applications= An extended RT-level model for an NVIDIA GPU for safety-critical applications | |
| Salil et al. | Regent based parallel meshfree LSKUM solver for heterogenous HPC platforms | |
| Elks et al. | SymPLe 1131: A novel architecture solution for the realization of verifiable digital I&C systems and embedded digital devices |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110517 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110801 |
|
| 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: 20120403 |
|
| 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: 20120426 |
|
| 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: 20150511 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |