JP2008071093A - マルチプロセッサシステム - Google Patents

マルチプロセッサシステム Download PDF

Info

Publication number
JP2008071093A
JP2008071093A JP2006248755A JP2006248755A JP2008071093A JP 2008071093 A JP2008071093 A JP 2008071093A JP 2006248755 A JP2006248755 A JP 2006248755A JP 2006248755 A JP2006248755 A JP 2006248755A JP 2008071093 A JP2008071093 A JP 2008071093A
Authority
JP
Japan
Prior art keywords
program
bus
cpu
local memory
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
Application number
JP2006248755A
Other languages
English (en)
Other versions
JP4967555B2 (ja
Inventor
Hirotaro Furuta
大太郎 古田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006248755A priority Critical patent/JP4967555B2/ja
Publication of JP2008071093A publication Critical patent/JP2008071093A/ja
Application granted granted Critical
Publication of JP4967555B2 publication Critical patent/JP4967555B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Multi Processors (AREA)

Abstract


【目的】 異種プロサッサが効率よく協調して分散処理を実行できることを課題とする。
【構成】 異種のCPU間をバスで接続し、これらが協動して分散処理を行うマルチプロセッサシステムであって、マスタープロセッサ#0は、メインプログラムの実行に伴い何れかのサブプログラムの実行が必要となったことにより、主メモリ#0のプログラムテーブルより当該サブプログラム名に対応する分岐先アドレスを抽出してこれをスレーブプロセッサ#1のローカルメモリ#1のプログラム指示領域に書き込み、これを検出したスレーブプロセッサ#1は、当該分岐先アドレスに処理を移し、実行する。
【選択図】 図1

Description

本発明はマルチプロセッサシステムに関し、更に詳しくは、異種のCPU間をバスで接続し、これらが協動して分散処理を行うマルチプロセッサシステムに関する。
例えば、モバイルシステムの基地局装置では、多くのパケットをリアルタイムに処理する必要があるため、高速プロセッサを使用するか、又は複数プロセッサを組み合わせて負荷分散させる必要がある。この場合に、通常は、システムに共通のプログラム(バイナリファイル)を効率よく利用できるように、同一メーカの同種のプロセッサ(CPU)を組み合わせてマルチプロセッサシステムを構築することが行われる。
しかるに、モバイルシステムではコスト等の理由により素子構造や命令体系の異なる異種のプロセッサ(FPGA等によるプロセッサ)を実装することが少なくなく、このような異種プロセッサ間では、共通のメモリ領域にマッピングされたプログラムを同じように理解することは不可能である。このような異種のプロセッサ間で処理の協調動作を得るためにはメッセージレベルでのハンドシェークが必要となり、その処理の遅さが問題となっていた。
この点、従来は、マルチプロセッサシステムを構成している複数のCPUがそれぞれの処理するプログラムのサブルーチンについて予めID番号を付しておいて、プログラムの走行開始に際する初期設定時、CPUが主記憶の自領域内にサブルーチンと前記ID番号との対応テーブルを作成して、他のCPUが主記憶の共通領域を用いてID番号を通知したとき、前記対応テーブルにより対応するサブルーチンのアドレスを求めて該サブルーチンを実行するプロセッサ間通信方式が知られている(特許文献1)。
特開昭61−239354
しかし、上記従来技術では、CPUがID番号(プログラム名に相当)により処理を依頼されるため、ID番号から対応する処理の実行アドレスを得るまでに時間を要し、処理を開始するまでに時間を要した。また、上記従来技術では、ID番号とプログラム名との間の関係が明瞭ではないため、処理の依頼側CPUでもID番号の抽出に時間を要したと考えられる。
本発明は上記従来技術の問題点に鑑みなされたもので、その目的とするところは、異種プロサッサが効率よく協調して分散処理を実行できるマルチプロセッサシステムを提供することにある。
本発明の第1の態様によるマルチプロセッサシステムは、異種のCPU間をバスで接続し、これらが協動して分散処理を行うマルチプロセッサシステムであって、自己のローカルメモリに格納されたメインプログラムを実行するマスタープロセッサと、自己のローカルメモリに格納された1又は2以上のサブプログラムを実行するスレーブプロセッサとを含み、システムの立上時に、前記スレーブプロセッサのローカルメモリにマッピングされた各サブプログラムのプログラム名と該プログラムへの分岐先アドレスとを対応付けたプログラムテーブルをマスタープロセッサのローカルメモリに格納し、マスタープロセッサ
は、メインプログラムの実行に伴い前記何れかのサブプログラムの実行が必要となったことにより、前記プログラムテーブルより当該サブプログラム名に対応する分岐先アドレスを抽出してこれをスレーブプロセッサのローカルメモリの所定のアドレスに書き込み、これを検出したスレーブプロセッサは、当該分岐先アドレスに処理を移すものである。
本発明においては、マスタープロセッサは実行を依頼したいサブプログラムのプログラム名(機能名等)により実行を依頼する構成により、メインプログラムの作成及び保守を容易に行える。また、マスタープロセッサがスレーブプロセッサのローカルメモリに実行を依頼したいサブプログラムの分岐先アドレスを書き込む構成により、スレーブプロセッサは依頼された命令を実行するレベルの極めた単純な処理で、依頼された処理の実行を速やかに開始できる。
また本発明の第2の態様では、マスタープロセッサは、自己のローカルメモリにプログラムテーブルが書き込まれた後に、メインプログラムの実行を開始する。従って、協動するプロセッサ間の処理の同期が安全に得られる。
また本発明の第3の態様では、スレーブプロセッサは、自己のローカルメモリの所定のアドレスの内容を定期的に監視することによりマスタープロセッサからの分岐先アドレスの書き込みを検出する。従って、簡単な処理により効率よい処理の同期が得られる。
また本発明の第4の態様では、異種CPUのバス間をバスインタフェースを介してクロス方向にアクセス可能に接続し、通常は各CPUが自己のローカルバスを占有すると共に、異種CPUからのバス使用要求に従ってバスの一時的使用を許可するものである。従って、両CPUは通常は略フルスペックで分散処理を実行できる。
以上述べた如く本発明によれば、異種プロセッサ間で命令レベルの同期をとることにより異種プロセッサ間協調動作の高速化が図れる。
以下、添付図面に従って本発明に好適なる実施の形態を詳細に説明する。なお、全図を通して同一符号は同一又は相当部分を示すものとする。図1は実施の形態によるマルチプロセッサシステムのブロック図で、マスターCPU#0とスレーブCPU#1とが協動して分散処理を行う場合を示している。
図において、11は例えば市販の汎用CPU#0により構成されたマスタープロセッサ(以後、マスターCPU#0とも呼ぶ)、12はマスターCPU#0のローカルバス、13はCPU#0が使用する主メモリ(MM#0)、14はCPU#0の割込制御部、15はハードディスク等のディスク装置(DSK)、21はFPGA(Field Programmable Gate Array)等により構成された異種CPU#1からなるスレーブプロセッサ(以後、スレーブCPU#1とも呼ぶ)、22はスレーブCPU#1のローカルバス、23はCPU#1が使用する主メモリ(MM#1)、24はローカルバス12,22間の接続をインタフェースするバスインタフェース(BIF)である。
バス12はCPU#0のローカルバスとして機能すると共に、CPU#1もバス12を介してシステムに共通のリソースであるDSK15等をアクセス可能であり、システムバスとしての機能も果たす。一方、ローカルバス22は主にCPU#1によって使用される。
BIF24は双方向性のバスインタフェースで、CPU#0からのバスアクセスをロー
カルバス22の仕様に合わせ、またCPU#1からのバスアクセスをローカルバス12の仕様に合わせる。またBIF24は、CPU#0からのバス要求BRQ0を受け付けると共に、ローカルバス22を確保できた時は、CPU#0にバス許可BAK0を返送し、これによりCPU#0はバス22を介してMM#1をアクセス可能となる。またCPU#1からのバス要求BRQ1を受け付けると共に、ローカルバス12を確保できた時は、CPU#1にバス許可BAK1を返送し、これによりCPU#1はバス12を介してMM#0やDSK15等をアクセス可能となる。
マスタープロセッサの主メモリMM#0は、マスターCPU#0が実行する初期立上(Boot)プログラムと、マスターCPU#0に固有の各種機能を実現するためのアプリケーションプログラム(メインルーチン)と、CPU#0がCPU#1にサブ処理を依頼する際に参照するプログラムテーブル等を記憶している。
一方、スレーブプロセッサの主メモリMM#1は、スレーブCPU#1が実行する初期立上(Boot)プログラムと、スレーブCPU#1に固有の各種機能を実現するためのアプリケーションプログラム(サブルーチン)と、マスターCPU#0が各種サブルーチンの開始アドレス(分岐アドレス)を指示するためのプログラム指示領域と、スレーブCPU#1がプログラム指示領域の内容に従って対応するサブルーチンの実行に移るための処理を行うランデブープログラムと、前記各サブルーチンのコンパイル時に作成されたプログラムテーブルであって、各サブルーチンについてのマップ情報とを記憶している。
プログラムテーブルは、アセンブラレベルで認識可能な各サブルーチンや、命令や、オペランドの名前(FFT,ADD,MULTI,XMIT,BUF1等)と、該ルーチン等に処理を移す(ジャンプ)させるための分岐先アドレス(相対アドレス)や、オペランドを指すアドレス情報とからなっている。このようなプログラムテーブルは、スレーブシステムの立上時にDSK15のプログラムファイル等からMM#1のアドレス(0xξ)に吸い上げられ、更にMM#0の所定アドレス(0xλ)で始まる領域に転送され、記憶される。
一方、メインプログラムは、当初よりサブプログラムと共通概念の下で作成されており、スレーブプロセッサに実行させたい各サブルーチン名については、マスターとスレーブの双方で開発前に統一した名前を使用することが決められており、メインプログラム及びサブプログラムのコンパイル時点で同一(共通)の名前が使用されている。これにより、マスターCPU#0は、あたかも自システム内のサブプログラムをコール(CALL)する感覚で、スレーブCPU#1に当該サブプログラムを実行させることが可能である。
図2は実施の形態によるマスター処理のフローチャートで、本システムに電源投入されると、この処理に入力する。ステップS11ではメインサービスの提供に必要なアプリケーションプログラム(メインプログラム)をDSK15からMM#0に吸い上げて各種の設定やレジスタを初期化するところの、所謂初期立上(booting)処理を行う。ステップS12では、自己の初期立上処理が終了したことにより、スレーブCPU#1にテーブル情報の転送指示を送り、ステップS14では転送完了を待つ。
これを受けたスレーブCPU#1は、この待ち区間に、システムバス12を利用して自己がMM#1に保持しているプログラムテーブルをMM#0の所定アドレス(0xλ)より書き込む。一例のプログラムテーブルには、サブプログラムProg(1)がMM#1の相対アドレス(0xβ)から展開されており、またサブプログラムProg(2)がMM#1の相対アドレス(0xγ)から展開されていること、等が記録されている。これらの相対アドレスについては、スレーブプロセッサのアプリケーションプログラムがMM#1に展開された際の先頭アドレスが加えられ、絶対アドレスに変換される。
なお、上記マスター側のステップS13にもハンドシェイク処理を設けることで、マスターCPU#0が共通メモリを介して受け取ったプログラムテーブルのデータをMM#0の所定アドレス(0xλ)から書き込むように構成しても良い。
こうして、やがて転送完了になると、ステップS15ではメインプログラムがこのテーブルを利用できるようシステムに登録し、ステップS16ではメイン処理を起動する。メイン処理では、マスターCPU#0が専らMM#0のアプリケーションプログラムを実行するが、途中でスレーブCPU#1にサブ処理を実行させたい段階になると、例えばステップS17では「CALL依頼処理(サブ処理名)」を実行する。
これにより、処理はステップS21以降の「依頼処理」に進み、この時、「依頼処理」からの戻り先アドレス(即ち、ステップS17の次のアドレス)が不図示のメモリ又はレジスタに保持される。そして、ステップS21では(当該サブ処理名)でプログラムテーブルを検索し、当該処理への分岐先アドレスを取得する。ステップS22ではローカルバス22のアクセス権を取得して前記取得した分岐先アドレスをMM#1のプログラム指示領域に書き込む。ステップS23では割込制御部14に対してスレーブCPU#1からの処理完了割込の受付を可能にする。そして、メイン処理に戻り、続きのメイン処理を実行する。
図3は実施の形態によるスレーブ処理のフローチャートで、本システムに電源投入されると、上記マスター処理におけるのと同時にこの処理に入力する。ステップS31ではサブ処理サービスの提供に必要なアプリケーションプログラム(サブプログラム等)をDSK15からMM#1に吸い上げて各種の設定やレジスタを初期化するところの、所謂初期立上(booting)処理を行う。ステップS32ではマスターCPU#0からのプログラムテーブル転送指示を待ち、やがて、転送指示があると、ステップS33ではローカルバス12のアクセス権を取得してプログラムテーブルのMM#0への転送処理(この例では直接MM#0に書き込む処理)を行う。
こうして、やがてプログラムテーブルの転送が終了すると、ステップS34以降のランデブー処理を実行し、マスターCPU#0からのサブ処理の実行依頼を待つ。即ち、ステップS34ではプログラム指示領域の内容(分岐先アドレス)が更新されるのを待ち、やがて、更新されると、ステップS35では当該分岐先アドレスを取得し、ステップS36ではプログラム指示領域の内容をクリアする。ステップS37では当該分岐先アドレスにジャンプする。
これにより、処理はステップS41以降のサブ処理に移り、該ステップS41では例えばサブ処理の先頭アドレスにこのサブ処理の戻り先アドレス(ステップS37のジャンプ命令の次の命令のアドレス)を記録する。ステップS42ではサブ処理の本体を実行し、やがて終了すると、ステップS43では「RETURN」命令を実行し、これにより、処理は前記記録された戻り先アドレスに戻る。ステップS38では、マスターCPU#0にサブ処理完了の割込要求を行い、ステップS34に戻る。なお、図示しないが、マスターCPU#0ではこの割込を受け付けたことにより、処理完了による割込を不許可にし、続くメイン処理を実行する。こうして、マスターCPU#0とスレーブCPU#1とが協動して効率良い分散処理を行う。
なお、上記実施の形態では、スレーブCPU#1に単にサブ処理(命令)を実行させる場合を述べたが、これに限らない。サブ処理の実行依頼と共に処理パラメータの指定や処理データのアドレス等を受け渡しすることで、スレーブCPU#1に対してより複雑で有用な処理の実行を依頼できる。
また、上記実施の形態ではスレーブCPU#1が一つの場合を述べたが、これに限らない。上記と同様のマスター−スレーブの関係で複数のスレーブCPU#2,#3等を並行して制御できることは言うまでもない。
また、上記一例のマルチプロセッサシステムのハードウェア構成(バス構造等)を示したが、これに限らない。マルチプロセッサシステムのハードウェア構成は本発明思想を逸脱しない範囲内で他にも様々に構成できる。
また、上記本発明に好適なる実施の形態を述べたが、本発明思想を逸脱しない範囲内で各部の構成、制御、処理及びこれらの組合せの様々な変更が行えることは言うまでも無い。
実施の形態によるマルチプロセッサシステムのブロック図である。 実施の形態によるマスター処理のフローチャートである。 実施の形態によるスレーブ処理のフローチャートである。
符号の説明
11 マスターCPU#0
12 ローカルバス
13 主メモリ(MM#0)
14 割込制御部
15 ディスク装置(DSK)
21 スレーブCPU#1
22 ローカルバス
23 主メモリ(MM#1)
24 バスインタフェース(BIF)

Claims (4)

  1. 異種のCPU間をバスで接続し、これらが協動して分散処理を行うマルチプロセッサシステムであって、自己のローカルメモリに格納されたメインプログラムを実行するマスタープロセッサと、自己のローカルメモリに格納された1又は2以上のサブプログラムを実行するスレーブプロセッサとを含み、システムの立上時に、前記スレーブプロセッサのローカルメモリにマッピングされた各サブプログラムのプログラム名と該プログラムへの分岐先アドレスとを対応付けたプログラムテーブルをマスタープロセッサのローカルメモリに格納し、マスタープロセッサは、メインプログラムの実行に伴い前記何れかのサブプログラムの実行が必要となったことにより、前記プログラムテーブルより当該サブプログラム名に対応する分岐先アドレスを抽出してこれをスレーブプロセッサのローカルメモリの所定のアドレスに書き込み、これを検出したスレーブプロセッサは、当該分岐先アドレスに処理を移すことを特徴とするマルチプロセッサシステム。
  2. マスターブプロセッサは、自己のローカルメモリにプログラムテーブルが書き込まれた後に、メインプログラムの実行を開始することを特徴とする請求項1記載のマルチプロセッサシステム。
  3. スレーブプロセッサは、自己のローカルメモリの所定のアドレスの内容を定期的に監視することによりマスタープロセッサからの分岐先アドレスの書き込みを検出することを特徴とする請求項1記載のマルチプロセッサシステム。
  4. 異種CPUのバス間をバスインタフェースを介してクロス方向にアクセス可能に接続し、通常は各CPUが自己のローカルバスを占有すると共に、異種CPUからのバス使用要求に従ってバスの一時的使用を許可することを特徴とする請求項1記載のマルチプロセッサシステム。
JP2006248755A 2006-09-13 2006-09-13 マルチプロセッサシステム Expired - Fee Related JP4967555B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006248755A JP4967555B2 (ja) 2006-09-13 2006-09-13 マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006248755A JP4967555B2 (ja) 2006-09-13 2006-09-13 マルチプロセッサシステム

Publications (2)

Publication Number Publication Date
JP2008071093A true JP2008071093A (ja) 2008-03-27
JP4967555B2 JP4967555B2 (ja) 2012-07-04

Family

ID=39292627

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006248755A Expired - Fee Related JP4967555B2 (ja) 2006-09-13 2006-09-13 マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JP4967555B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011086298A (ja) * 2009-10-19 2011-04-28 Arm Ltd プログラム・フロー制御

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61239354A (ja) * 1985-04-16 1986-10-24 Fujitsu Ltd プロセツサ間通信方式
JPS648453A (en) * 1987-06-30 1989-01-12 Pfu Ltd Trace system for multiprocessor system
JPH08235128A (ja) * 1996-04-05 1996-09-13 Hitachi Ltd 並列処理装置
JPH11272631A (ja) * 1998-02-04 1999-10-08 Texas Instr Inc <Ti> データ処理システムおよびその方法
JP2001154703A (ja) * 1999-11-29 2001-06-08 Sanyo Electric Co Ltd 専用機の制御装置および専用機の制御方法
JP2005521933A (ja) * 2002-03-25 2005-07-21 ナゾミ・コミュニケーションズ・インコーポレーテッド ハードウェア・トランスレータベースのカスタム・メソッド呼出しのシステムおよび方法
JP2005234617A (ja) * 2004-02-17 2005-09-02 Sony Corp マルチプロセッサデバッガおよびデバッグ方法
JP2006087769A (ja) * 2004-09-27 2006-04-06 Daiman:Kk 遊技機

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61239354A (ja) * 1985-04-16 1986-10-24 Fujitsu Ltd プロセツサ間通信方式
JPS648453A (en) * 1987-06-30 1989-01-12 Pfu Ltd Trace system for multiprocessor system
JPH08235128A (ja) * 1996-04-05 1996-09-13 Hitachi Ltd 並列処理装置
JPH11272631A (ja) * 1998-02-04 1999-10-08 Texas Instr Inc <Ti> データ処理システムおよびその方法
JP2001154703A (ja) * 1999-11-29 2001-06-08 Sanyo Electric Co Ltd 専用機の制御装置および専用機の制御方法
JP2005521933A (ja) * 2002-03-25 2005-07-21 ナゾミ・コミュニケーションズ・インコーポレーテッド ハードウェア・トランスレータベースのカスタム・メソッド呼出しのシステムおよび方法
JP2005234617A (ja) * 2004-02-17 2005-09-02 Sony Corp マルチプロセッサデバッガおよびデバッグ方法
JP2006087769A (ja) * 2004-09-27 2006-04-06 Daiman:Kk 遊技機

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011086298A (ja) * 2009-10-19 2011-04-28 Arm Ltd プログラム・フロー制御

Also Published As

Publication number Publication date
JP4967555B2 (ja) 2012-07-04

Similar Documents

Publication Publication Date Title
RU2639693C1 (ru) Способ обработки ресурса, операционная система и устройство
KR100239028B1 (ko) 컴퓨터 시스템
JP5119590B2 (ja) マルチプロセッサを有するプロセッサ装置用のタスク分配プログラム及びタスク分配装置
JP2008510238A (ja) オペレーティングシステム
JPH0459651B2 (ja)
JP2016035770A (ja) コンピュータシステムにおけるオペレーティングシステムの通信ネットワーク経由でのロードおよびブートを最適化するための方法、コンピュータプログラム、および装置
Eckert et al. Operating system concepts for reconfigurable computing: review and survey
JP2008186175A (ja) オペレーティングシステムの起動制御方法及び情報処理装置
JP6303670B2 (ja) 複数cpuの起動回路、複数cpuの起動方法及び複数cpuの起動回路のプログラム
EP3242219B1 (en) Information processing device, information processing method and program
JP2007206933A (ja) 情報処理装置、情報処理装置におけるブートローダ生成方法およびプログラム転送方法
JP4967555B2 (ja) マルチプロセッサシステム
JP4594889B2 (ja) 複数の処理装置を備えたシステム上で実行されるプログラムのトレース方法、および、複数の処理装置を備えたシステム
JPWO2011039887A1 (ja) 計算機装置
JP5382624B2 (ja) マルチプロセッサ制御装置、その方法及びそのプログラム
JP2007034514A (ja) 情報処理装置
TW201504945A (zh) 更新週邊設備的連接管理程式的方法及主機
JP7326863B2 (ja) 転送装置、情報処理装置、および、データ転送方法
KR100459417B1 (ko) 다중 프로세서 시스템의 작업 함수 처리 방법
JP2009015830A (ja) プログラム起動装置及びプログラム起動方法
KR100303307B1 (ko) 실시간 오퍼레이팅 시스템에서 디버깅동작을 위한 다운로드장치 및 방법
JP6128259B2 (ja) 情報処理システム及び情報処理方法
JP2006351035A (ja) ドライバ自動インストール装置およびこれに用いるプログラム並びにドライバ自動インストール方法
JP2007102544A (ja) デジタルシグナルプロセッサシステムおよびそのブート方法。
JP7413183B2 (ja) コントロールシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

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

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150413

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees