JP5330384B2 - 情報処理装置、情報処理方法及び情報処理プログラム - Google Patents
情報処理装置、情報処理方法及び情報処理プログラム Download PDFInfo
- Publication number
- JP5330384B2 JP5330384B2 JP2010517676A JP2010517676A JP5330384B2 JP 5330384 B2 JP5330384 B2 JP 5330384B2 JP 2010517676 A JP2010517676 A JP 2010517676A JP 2010517676 A JP2010517676 A JP 2010517676A JP 5330384 B2 JP5330384 B2 JP 5330384B2
- Authority
- JP
- Japan
- Prior art keywords
- thread
- context
- detection
- information processing
- execution state
- 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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Description
<概要>
実施の形態1に係る情報処理装置は、CPU(Central Processing Unit)等のプロセッサにプログラムを実行させることにより、マルチスレッドOS(OperatingSystem)としての機能を実現する従来の情報処理装置を改良したものである。
図1は、本発明の実施の形態1に係る情報処理装置1000の機能ブロック図である。
情報処理装置1000がマルチスレッド制御に用いるデータについて説明する。なお、以下では、3つのイベントドリブン型のスレッドの並列実行を想定した場合を例に説明する。また、以下の例では、1つのセマフォを使って待ち合わせ処理を行う場合を想定して説明する。
まず、スレッド構造体D10A〜D10Cについて説明する。
次に、スケジューラ構造体D00について説明する。
次に、セマフォ構造体D20について説明する。
次に、コンテキスト構造体D30A〜D30Cについて説明する。
図8は、各スレッドの処理を示すフローチャート(左側)と、情報処理装置1000の実行制御部1050の動作を示すフローチャート(右側)である。
次に、上記構成を備える情報処理装置1000の動作を説明する。
まず、メッセージループステップの部分ステップS104で呼び出しているスケジュールステップS000について説明する。
次に、メッセージループステップの部分ステップS105で呼び出しているディスパッチ要求ステップS110について、図8の右側に示すフローチャートに従って説明する。
次に、ディスパッチ要求ステップの部分ステップS112におけるメッセージ待ち状態遷移検出ステップS010について説明する。
続いて、ディスパッチ要求ステップの部分ステップS113におけるメッセージ待ち状態からの起床検出ステップS020について説明する。
次に、ディスパッチ要求ステップの部分ステップS114で呼び出しているコンテキスト対応付け交換ステップS030について説明する。
次に、ディスパッチ要求ステップの部分ステップS116で呼び出しているディスパッチステップS040について説明する。
スレッド構造体D10Aに対応するスレッドとスレッド構造体D10Bに対応するスレッドとの間で切り替えが発生する場合を例に、情報処理装置1000の動作を具体的に説明する。
<概要>
実施の形態1に係る情報処理装置1000では、各スレッドについて、1つのコンテキストが必ず対応付けられていたが、以下説明する実施の形態2に係る情報処理装置は、前スレッドがメッセージ待ち状態T4に遷移する場合に、前スレッドとコンテキストとの対応付け(ポインタ)を削除する点で、情報処理装置1000とは異なる。
図14は、本発明の実施の形態2に係る情報処理装置2000の機能ブロック図である。
情報処理装置2000がマルチスレッド制御に用いるデータについて説明する。
まず、スケジューラ構造体D40について説明する。
次に、コンテキスト構造体D50A〜D50Cについて説明する。
次に、上記構成を備える情報処理装置2000の動作を説明する。
まず、ディスパッチ要求改良ステップS130について説明する。
次に、ディスパッチ要求改良ステップの部分ステップS133、S136におけるコンテキスト未対応検出ステップS050について説明する。
次に、ディスパッチ要求改良ステップの部分ステップS134で呼び出しているコンテキスト対応移動ステップS060について説明する。
次に、ディスパッチ要求改良ステップの部分ステップS135で呼び出しているコンテキスト対応開放・復元ステップS070について説明する。
次に、ディスパッチ要求改良ステップの部分ステップS137で呼び出しているコンテキスト保管・対応割付ステップS080について説明する。
続いて、コンテキスト保管・対応割付ステップの部分ステップS082で呼び出しているコンテキスト対応割付ステップS120について、図22に示すフローチャートに従って説明する。
スレッド構造体D10A、スレッド構造体D10B、スレッド構造体D10Cに対応するそれぞれのスレッドとの間で切り替えが発生する場合を例に、情報処理装置2000の動作を具体的に説明する。
スレッド構造体D10Cに対応するスレッドは、スレッド構造体D10CのメッセージキューD15にメッセージがないので(同図左側の部分ステップS101:NO)、実施の形態1の具体例で説明したのと同様に、部分ステップS102〜S105を実行する。この例では、部分ステップS104の処理により、現スレッド構造体へのポインタD02が「D10B」に更新される。
スレッド構造体D10Bに対応するスレッドは、スレッド構造体D10BのメッセージキューD15にメッセージがあるので(図8左側の部分ステップS101:YES)、取り出したメッセージを引数にしてメッセージハンドラの処理を行う(部分ステップS106)。なお、この例では、メッセージハンドラ内でのスレッドの切り替えはなされなかったものとする。
以上、本発明に係る情報処理装置について実施の形態に基づいて説明したが、以下のように変形することも可能であり、本発明は上述の実施の形態で示した通りの情報処理装置に限られないことは勿論である。
1010 記憶部
1020 スケジュール部
1030 遷移検出部
1040 起床検出部
1050、2020 実行制御部
1060 ディスパッチ部
1070、2030 対応付け部
1071 コンテキスト対応交換部
2010 コンテキスト未対応検出部
2031 コンテキスト対応移動部
2032 コンテキスト対応開放・復元部
2033 コンテキスト保管・対応割付部
Claims (7)
- それぞれがイベントの取得に対応して処理を行う複数のスレッドを、切り換えながらプロセッサにより実行する情報処理装置であって、
実行状態である第1のスレッドの状態を非実行状態に遷移させ、前記複数のスレッドの中から次に実行する第2のスレッドを選択して実行状態に遷移させるスケジューリング手段と、
非実行状態に遷移させられる前記第1のスレッドにおける、次に実行状態になった際の処理の開始位置が、イベントの取得に対応した既定の処理部分であることを検出する第1検出手段と、
実行状態に遷移させられる前記第2のスレッドにおける処理の開始位置が、前記既定の処理部分であることを検出する第2検出手段と、
前記第2のスレッドが実行状態に遷移させられる際に、前記第1検出手段及び前記第2検出手段の検出結果に応じて、前記第2のスレッドの実行用のコンテキストを、前記プロセッサに設定するか否かを切り替えて動作する設定手段とを備え、
前記情報処理装置は、更に、
スレッドに対応付けてコンテキストを記憶するためのコンテキスト記憶手段と、
前記第1検出手段が検出しなかった場合に、前記プロセッサに設定されているコンテキストを、前記第1のスレッドと対応付けられたコンテキストとして前記コンテキスト記憶手段に記憶させるコンテキスト対応付け手段とを備え、
前記設定手段は、前記第1検出手段が検出し、かつ前記第2検出手段が検出した場合に、前記第2のスレッドに対応付けられたコンテキストを、前記プロセッサに設定せず、前記第2検出手段が検出しなかった場合に、前記第2のスレッドに対応付けられたコンテキストを、前記プロセッサに設定する
ことを特徴とする情報処理装置。 - 前記コンテキスト対応付け手段は、更に
前記第1検出手段が検出した場合に、前記コンテキスト記憶手段に記憶されている、前記第1のスレッドと対応付けられたコンテキストと当該第1のスレッドとの対応付けを削除する
ことを特徴とする請求項1記載の情報処理装置。 - 前記情報処理装置は、
前記コンテキスト記憶手段においてコンテキストが対応付けられていないスレッド用の前記既定の処理部分を処理の開始位置とするための初期コンテキストを記憶する初期コンテキスト記憶手段を備え、
前記第2検出手段は、前記コンテキスト記憶手段において、前記第2のスレッドとコンテキストとが対応付けられていない場合に、当該第2のスレッドにおける処理の開始位置が、前記既定の処理部分であると検出し、
前記コンテキスト対応付け手段は、更に
前記第2検出手段が検出した場合において、前記第1検出手段が検出したときは、前記第1のスレッドに対応付けられたコンテキストの対応付け先を、前記第2のスレッドに変更し、前記第1検出手段が検出しなかったときは、前記初期コンテキストを前記第2のスレッドと対応付けられたコンテキストとして、前記コンテキスト記憶手段に記憶させ、
前記設定手段は、前記第1検出手段が検出せず、かつ前記第2検出手段が検出した場合に、前記コンテキスト対応付け手段により前記第2のスレッドと対応付けて前記コンテキスト記憶手段に記憶されている初期コンテキストを前記プロセッサに設定する
ことを特徴とする請求項2記載の情報処理装置。 - 前記コンテキスト対応付け手段は、更に
前記第1検出手段が検出し、かつ前記第2検出手段が検出した場合に、前記コンテキスト記憶手段に記憶されている、前記第2のスレッドと対応付けられているコンテキストの対応付け先を前記第1のスレッドに、前記第1のスレッドと対応付けられているコンテキストの対応付け先を前記第2のスレッドにそれぞれ変更する
ことを特徴とする請求項1記載の情報処理装置。 - 前記イベントは、メッセージであり、
前記非実行状態は、メッセージの受信を待つメッセージ待ち状態を含み、
前記複数のスレッドには、次に実行状態になった際の処理の開始位置が、前記既定の処理部分となる場合には、前記メッセージ待ち状態に遷移することを示すフラグを設定するよう構成されたスレッドを含み、
前記第1検出手段及び前記第2検出手段は、検出対象のスレッドにおいて、前記フラグが設定されていることを検出することにより、当該検出対象のスレッドにおける処理の開始位置が、前記既定の処理部分であることを検出する
ことを特徴とする請求項4記載の情報処理装置。 - それぞれがイベントの取得に対応して処理を行う複数のスレッドを、切り換えながらプロセッサにより実行する情報処理装置において用いられる情報処理方法であって、
実行状態である第1のスレッドの状態を非実行状態に遷移させ、前記複数のスレッドの中から次に実行する第2のスレッドを選択して実行状態に遷移させるスケジューリングステップと、
非実行状態に遷移させられる前記第1のスレッドにおける、次に実行状態になった際の処理の開始位置が、イベントの取得に対応した既定の処理部分であることを検出する第1検出ステップと、
実行状態に遷移させられる前記第2のスレッドにおける処理の開始位置が、前記既定の処理部分であることを検出する第2検出ステップと、
前記第2のスレッドが実行状態に遷移させられる際に、前記第1検出ステップ及び前記第2検出ステップの検出結果に応じて、前記第2のスレッドの実行用のコンテキストを、前記プロセッサに設定するか否かを切り替えて動作する設定ステップとを含み、
前記情報処理方法は、更に、
前記第1検出ステップによる検出がなされなかった場合に、前記プロセッサに設定されているコンテキストを、前記第1のスレッドと対応付けられたコンテキストとして、スレッドに対応付けてコンテキストを記憶するためのコンテキスト記憶手段に記憶させるコンテキスト対応付けステップを含み、
前記設定ステップは、前記第1検出ステップによる検出がなされ、かつ前記第2検出ステップによる検出がなされた場合に、前記第2のスレッドに対応付けられたコンテキストを、前記プロセッサに設定せず、前記第2検出ステップによる検出がなされなかった場合に、前記第2のスレッドに対応付けられたコンテキストを、前記プロセッサに設定する
ことを特徴とする情報処理方法。 - それぞれがイベントの取得に対応して処理を行う複数のスレッドを、切り換えながらプロセッサにより実行する情報処理装置にスレッドの実行制御処理を実行させるための情報処理プログラムであって、
前記スレッドの実行制御処理は、
実行状態である第1のスレッドの状態を非実行状態に遷移させ、前記複数のスレッドの中から次に実行する第2のスレッドを選択して実行状態に遷移させるスケジューリングステップと、
非実行状態に遷移させられる前記第1のスレッドにおける、次に実行状態になった際の処理の開始位置が、イベントの取得に対応した既定の処理部分であることを検出する第1検出ステップと、
実行状態に遷移させられる前記第2のスレッドにおける処理の開始位置が、前記既定の処理部分であることを検出する第2検出ステップと、
前記第2のスレッドが実行状態に遷移させられる際に、前記第1検出ステップ及び前記第2検出ステップの検出結果に応じて、前記第2のスレッドの実行用のコンテキストを、前記プロセッサに設定するか否かを切り替えて動作する設定ステップとを含み、
前記スレッドの実行制御処理は、更に、
前記第1検出ステップによる検出がなされなかった場合に、前記プロセッサに設定されているコンテキストを、前記第1のスレッドと対応付けられたコンテキストとして、スレッドに対応付けてコンテキストを記憶するためのコンテキスト記憶手段に記憶させるコンテキスト対応付けステップを含み、
前記設定ステップは、前記第1検出ステップによる検出がなされ、かつ前記第2検出ステップによる検出がなされた場合に、前記第2のスレッドに対応付けられたコンテキストを、前記プロセッサに設定せず、前記第2検出ステップによる検出がなされなかった場合に、前記第2のスレッドに対応付けられたコンテキストを、前記プロセッサに設定する
ことを特徴とする情報処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010517676A JP5330384B2 (ja) | 2008-06-25 | 2009-05-13 | 情報処理装置、情報処理方法及び情報処理プログラム |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008165443 | 2008-06-25 | ||
JP2008165443 | 2008-06-25 | ||
PCT/JP2009/002080 WO2009157127A1 (ja) | 2008-06-25 | 2009-05-13 | 情報処理装置、情報処理方法及び情報処理プログラム |
JP2010517676A JP5330384B2 (ja) | 2008-06-25 | 2009-05-13 | 情報処理装置、情報処理方法及び情報処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2009157127A1 JPWO2009157127A1 (ja) | 2011-12-08 |
JP5330384B2 true JP5330384B2 (ja) | 2013-10-30 |
Family
ID=41444200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010517676A Expired - Fee Related JP5330384B2 (ja) | 2008-06-25 | 2009-05-13 | 情報処理装置、情報処理方法及び情報処理プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US8392932B2 (ja) |
JP (1) | JP5330384B2 (ja) |
CN (1) | CN102047224B (ja) |
WO (1) | WO2009157127A1 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8549523B2 (en) * | 2009-11-23 | 2013-10-01 | International Business Machines Corporation | Performing runtime analysis and control of folding identified threads by assuming context of another thread and executing in lieu of another thread folding tool |
US8832663B2 (en) | 2009-11-23 | 2014-09-09 | International Business Machines Corporation | Thread serialization and disablement tool |
US20120180057A1 (en) * | 2011-01-10 | 2012-07-12 | International Business Machines Corporation | Activity Recording System for a Concurrent Software Environment |
CN103339606B (zh) * | 2011-01-10 | 2017-04-26 | 国际商业机器公司 | 用于并发软件环境的活动记录系统 |
US9652282B2 (en) * | 2011-11-08 | 2017-05-16 | Nvidia Corporation | Software-assisted instruction level execution preemption |
US10795722B2 (en) * | 2011-11-09 | 2020-10-06 | Nvidia Corporation | Compute task state encapsulation |
TWI439925B (zh) * | 2011-12-01 | 2014-06-01 | Inst Information Industry | 內嵌式系統及其執行緒與緩衝區管理方法 |
US9471458B2 (en) | 2012-01-05 | 2016-10-18 | International Business Machines Corporation | Synchronization activity recording system for a concurrent software environment |
US9928109B2 (en) | 2012-05-09 | 2018-03-27 | Nvidia Corporation | Method and system for processing nested stream events |
US10318302B2 (en) | 2016-06-03 | 2019-06-11 | Synopsys, Inc. | Thread switching in microprocessor without full save and restore of register file |
US10628320B2 (en) | 2016-06-03 | 2020-04-21 | Synopsys, Inc. | Modulization of cache structure utilizing independent tag array and data array in microprocessor |
US10558463B2 (en) * | 2016-06-03 | 2020-02-11 | Synopsys, Inc. | Communication between threads of multi-thread processor |
US10613859B2 (en) | 2016-08-18 | 2020-04-07 | Synopsys, Inc. | Triple-pass execution using a retire queue having a functional unit to independently execute long latency instructions and dependent instructions |
US10552158B2 (en) | 2016-08-18 | 2020-02-04 | Synopsys, Inc. | Reorder buffer scoreboard having multiple valid bits to indicate a location of data |
CN110971920B (zh) * | 2018-09-30 | 2021-11-26 | 武汉斗鱼网络科技有限公司 | 一种消息的降级方法及相关装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07191863A (ja) * | 1993-12-25 | 1995-07-28 | Nec Corp | マルチタスク実行管理方式 |
JPH11212808A (ja) * | 1997-11-21 | 1999-08-06 | Omron Corp | プログラム制御装置とメモリ割当装置および方法 |
JP2004522234A (ja) * | 2000-11-24 | 2004-07-22 | キャサロン プロダクションズ, インコーポレイテッド | 仮想スレッドを介したコンピューター多重タスク |
JP2005222142A (ja) * | 2004-02-03 | 2005-08-18 | Nec Corp | アレイ型プロセッサ |
JP2005284904A (ja) * | 2004-03-30 | 2005-10-13 | Kyocera Corp | 携帯電話端末装置及びプログラム管理方法並びにそのコンピュータプログラム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07141209A (ja) | 1993-11-16 | 1995-06-02 | Fujitsu Ltd | データ処理装置 |
EP1247195A4 (en) * | 1999-12-22 | 2005-01-05 | Ubicom Inc | SYSTEM AND METHOD FOR MULTITHREADING WORKING ON COMMAND LEVEL IN AN EMBEDDED PROCESSOR WITH ZERO-TIME CONTEXT SWITCHING |
JP4243571B2 (ja) * | 2003-08-05 | 2009-03-25 | パナソニック株式会社 | 放送受信装置 |
US7730479B2 (en) | 2004-03-30 | 2010-06-01 | Kyocera Corporation | Cell-phone terminal, program management method and computer program of same |
JP4476193B2 (ja) * | 2005-07-29 | 2010-06-09 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理方法および情報処理装置 |
US20070113055A1 (en) * | 2005-11-15 | 2007-05-17 | Dale Jason N | Apparatus and method for improving single thread performance through speculative processing |
JP2007207074A (ja) | 2006-02-03 | 2007-08-16 | Ricoh Co Ltd | オペレーションシステム、スレッド制御機構、及び情報処理装置 |
US8001549B2 (en) * | 2006-04-27 | 2011-08-16 | Panasonic Corporation | Multithreaded computer system and multithread execution control method |
JP2008102847A (ja) | 2006-10-20 | 2008-05-01 | Nec Corp | マルチスレッドプログラム処理方法及び装置 |
-
2009
- 2009-05-13 US US12/991,980 patent/US8392932B2/en not_active Expired - Fee Related
- 2009-05-13 WO PCT/JP2009/002080 patent/WO2009157127A1/ja active Application Filing
- 2009-05-13 JP JP2010517676A patent/JP5330384B2/ja not_active Expired - Fee Related
- 2009-05-13 CN CN2009801191287A patent/CN102047224B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07191863A (ja) * | 1993-12-25 | 1995-07-28 | Nec Corp | マルチタスク実行管理方式 |
JPH11212808A (ja) * | 1997-11-21 | 1999-08-06 | Omron Corp | プログラム制御装置とメモリ割当装置および方法 |
JP2004522234A (ja) * | 2000-11-24 | 2004-07-22 | キャサロン プロダクションズ, インコーポレイテッド | 仮想スレッドを介したコンピューター多重タスク |
JP2005222142A (ja) * | 2004-02-03 | 2005-08-18 | Nec Corp | アレイ型プロセッサ |
JP2005284904A (ja) * | 2004-03-30 | 2005-10-13 | Kyocera Corp | 携帯電話端末装置及びプログラム管理方法並びにそのコンピュータプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20110067034A1 (en) | 2011-03-17 |
JPWO2009157127A1 (ja) | 2011-12-08 |
US8392932B2 (en) | 2013-03-05 |
WO2009157127A1 (ja) | 2009-12-30 |
CN102047224B (zh) | 2013-10-02 |
CN102047224A (zh) | 2011-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5330384B2 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
US9798595B2 (en) | Transparent user mode scheduling on traditional threading systems | |
KR101651246B1 (ko) | 멀티-코어 아키텍처들을 위한 사용자-레벨 인터럽트 메커니즘 | |
US8270299B2 (en) | Communicator-based token/buffer management for eager protocol support in collective communication operations | |
US8112559B2 (en) | Increasing available FIFO space to prevent messaging queue deadlocks in a DMA environment | |
US9880875B2 (en) | Apparatus and method for hardware-based task scheduling | |
US20080104296A1 (en) | Interrupt handling using simultaneous multi-threading | |
CN101452399B (zh) | 任务二级调度模块及方法 | |
US8321874B2 (en) | Intelligent context migration for user mode scheduling | |
JPWO2009133669A1 (ja) | 仮想計算機制御装置、仮想計算機制御方法及び仮想計算機制御プログラム | |
WO2013165450A1 (en) | Process scheduling using scheduling graph to minimize managed elements | |
US7590990B2 (en) | Computer system | |
CN110673927B (zh) | 一种虚拟机的调度方法和装置 | |
JP2009059310A (ja) | プログラム制御装置 | |
KR100617228B1 (ko) | 실시간 운영체계 커널의 이벤트 전달 체계 구현방법 | |
US20190065238A1 (en) | Auto-Adaptive Serverless Function Management | |
CN112379992A (zh) | 基于角色的多智能体任务协同消息传递及异常处理方法 | |
CN113574515B (zh) | 用于分布式系统中的异步存储管理的系统和方法 | |
JP3953449B2 (ja) | タスク管理プログラムおよびタスク制御装置 | |
WO2024124737A1 (zh) | 异构计算中进程切换管理方法及计算装置 | |
JP2007328413A (ja) | 負荷分散方法 | |
KR101639912B1 (ko) | 철강 공정 미들웨어의 이벤트 관리 시스템 | |
JPWO2007108133A1 (ja) | マルチプロセッシング方法及びマルチプロセッサシステム | |
CN109245922B (zh) | 虚拟化系统中成员设备重启控制方法和装置 | |
US20230315652A1 (en) | Efficient queue access for user-space packet processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120125 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130521 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130610 |
|
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: 20130702 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130725 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5330384 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |