JP2004164261A - Ic card and command processing method in the ic card - Google Patents
Ic card and command processing method in the ic card Download PDFInfo
- Publication number
- JP2004164261A JP2004164261A JP2002329036A JP2002329036A JP2004164261A JP 2004164261 A JP2004164261 A JP 2004164261A JP 2002329036 A JP2002329036 A JP 2002329036A JP 2002329036 A JP2002329036 A JP 2002329036A JP 2004164261 A JP2004164261 A JP 2004164261A
- Authority
- JP
- Japan
- Prior art keywords
- command
- card
- processing
- application
- terminal device
- 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
Landscapes
- Credit Cards Or The Like (AREA)
- Stored Programmes (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、複数のアプリケーションプログラム(以下、単にアプリケーションという)を実行可能なICカードに関し、特に、連続で実行する複数のアプリケーションにおけるコマンドの処理方法に関するものである。
【0002】
【従来の技術】
従来、JavaCard(登録商標)やMultosのような複数のアプリケーションプログラムを実行可能なICカードは、ISO7816−4に従い、国内および世界中で重複がないように登録制により付与されるAIDという5〜16バイトの固有の識別子を付けてアプリケーションを一意に特定し、そのAIDによりアプリケーションを選択してから、続く処理を指示するという手順を取っている。
【0003】
例えば、クレジットの支払い処理とポイント加算処理を行うには、まず、端末装置が、「SELECT FILE xxxx」(xxxxは、クレジットアプリケーションを示すAID)というコマンドをICカードに送信し、ICカードが、クレジットアプリケーションを選択し、次に、認証コマンドや支払いコマンドを端末装置からICカードに送信すると、ICカードは、それらのコマンドの実行制御を、選択済みのクレジットアプリケーションに移動するという手順になる。
【0004】
ISO7816−4において、コマンド実行の制御は、選択されているアプリケーションに対して移動するため、クレジットの支払い処理に続いてポイント加算処理を行うには、新たにポイントアプリケーションを選択し直して、ポイント加算コマンドを端末装置からカードに送信する必要がある。
【0005】
つまり、必ず連続して複数のアプリケーションで処理したい同一のコマンドにおいても、アプリケーションが異なる場合は、その都度、アプリケーションの選択コマンドの送信、および選択したアプリケーションへのコマンドへの実行制御の移動を行わなければならない。
【0006】
また、近い将来、ICカードは、携帯電話、携帯情報端末(PDA:Personal Digital Assistant)、情報家電などの様々な機器を介してネットワーク、特にインターネットに接続し、インターネットの標準的なプロトコルであるTCP/IP(プロトコルの詳細については、非特許文献1を参照)による通信を行うことが予想されており、従来のように端末装置の要求にICカードが応えるだけでなく、ICカードに搭載されたアプリケーションがインターネットに接続しにいくようになる。
【0007】
しかしながら、ICカードで使用されるISO規格の下位層(ISO7816−3)は、半二重の通信プロトコルであるため、ICカード側から送信を開始することは想定されておらず、ICカードは、必ず端末装置側からコマンドを受信し、ICカード内部の処理結果を端末装置に返信する仕組みとなっている。
【0008】
ICカードからネットワークへ送信したい場合には、まず端末装置から定期的に「送信するかどうか(ネットワークと通信を行うかどうか)」をICカードへ問い合わせし(ポーリング)、それに応える形でICカードが通信を開始する方式が、IETF(Internet Engineering Task Force)に対して提案されている(例えば、非特許文献2参照。)。
【0009】
【非特許文献1】
Postel, J.、“Transmission Control Protocol”、RFC 793、1981年9月
【非特許文献2】
Mobile−Mind社、“IP and ARP over ISO 7816”、[online]、2001年1月、[平成14年10月12日検索]、インターネット<URL:http://www.scdk.com/draft−guthery−ip7816−01.txt>
【0010】
しかしながら、ポーリング方式は、例えば、10個のアプリケーションを実行可能なICカードの場合、各々のアプリケーションに対してポーリングを発行する必要があるため、ポーリングのコマンドを処理するために選択コマンドを10回発行するし、ポーリングのコマンドも10回送信する必要があり、通信コストと処理時間が掛るという問題がある。
【0011】
【発明が解決しようとする課題】
本発明は上述の問題点に鑑みてなされたものであり、複数のアプリケーションを連続して実行可能なICカードにおいて、コマンド発行回数を減らし、処理時間を減らすことを目的とする。
【0012】
【課題を解決するための手段】
上記目的を達成するために、本発明の第1の態様は、端末装置から処理コマンドを受信し、該処理コマンドをアプリケーションプログラムにおいて実行し、該処理コマンドの実行結果データを前記端末装置に送信するICカードにおいて、複数のアプリケーションプログラムにより実行される処理コマンドを格納するマルチキャストコマンドと、該ICカードが実行可能なアプリケーションプログラムを管理する管理テーブルと、前記処理コマンドを実行する複数のアプリケーションプログラムを順次選択し、前記選択された複数のアプリケーションプログラムを順次指定し前記処理コマンド実行の制御を該アプリケーションプログラムに移動する制御移動手段と、前記処理コマンドを実行した複数のアプリケーションプログラムの各々の実行結果データを一時的に保持するレスポンス保持領域と、前記複数のアプリケーションプログラムによる処理コマンドの実行が全て終了した後に前記レスポンス保持領域に保持する実行結果データを前記端末装置に送信するレスポンス送信手段とを設けたものである。
【0013】
本発明の第2の態様は、上述の第1の態様に係るICカードにおいて、前記制御移動手段が、前記マルチキャストコマンドの中のクラスバイトおよび命令種類と呼ばれるコマンド識別情報により、複数のアプリケーションプログラムにおいて実行するマルチキャストコマンドと特定のアプリケーションプログラムにおいて実行する通常コマンドとを識別するようにしたものである。
【0014】
本発明の第3の態様は、上述の第1または2の態様に係るICカードにおいて、前記管理テーブルに、アプリケーションプログラムを一意に特定可能なアプリケーション識別情報を設け、前記制御移動手段が、予め定めた規則に従い、前記アプリケーション識別情報が前記マルチキャストコマンドに格納されているアプリケーションプログラムを指定する指定情報と一致する複数のアプリケーションプログラムを順次選択し、処理コマンド実行の制御を順次移動するようにしたものである。
【0015】
本発明の第4の態様は、端末装置から処理コマンドを受信し、該処理コマンドをアプリケーションプログラムにおいて実行し、該処理コマンドの実行結果データを前記端末装置に送信するICカードにおけるコマンドの処理方法において、該ICカードにおいて実行可能なアプリケーションプログラムを管理テーブルに記憶する段階と、前記端末装置が、複数のアプリケーションプログラムにより実行する処理コマンドを格納するマルチキャストコマンドをICカードへ送信する段階と、前記マルチキャストコマンドに基づき、連続実行する複数のアプリケーションプログラムを順次選択し前記処理コマンド実行の制御を選択された該アプリケーションプログラムに移動する段階と、前記処理コマンドを実行した各々のアプリケーションプログラムが、実行結果データを一時的にレスポンス保持領域へ保持する段階と、前記複数のアプリケーションプログラムによる処理コマンドの実行が全て終了した後に、前記レスポンス保持領域に保持する実行結果データを前記端末装置に送信する段階とを行うようにしたものである。
【0016】
本発明の第5の態様は、上述の第4の態様に係るICカードにおけるコマンド方法において、前記処理コマンドが、複数のアプリケーションプログラムに対して通信開始要求があるかどうかを確認するための処理コマンドであり、前記処理コマンドにより各々のアプリケーションプログラムが、通信開始要求の有無を一時的にレスポンス保持領域へ保持する段階を行うようにしたものである。
【0017】
【発明の実施の形態】
以下、本発明を図示する実施形態に基づいて説明する。図1は、本発明のICカード内部の概要構成図である。ICカード1は、I/O制御部2、CPU3、記憶手段4、プログラム格納部5、作業用メモリ6を備えている。
【0018】
I/O制御部2は、ICカード1がICカード用リーダ/ライタ7と通信を行うためのインタフェースである。
【0019】
CPU3は、プログラム格納部5内に記録している様々なアプリケーションを実行するものである。アプリケーションを実行する際に、必要に応じて記憶手段4や作業用メモリ6を使用する。
【0020】
記憶手段4は、実際には不揮発メモリであるEEPROM(Electrically Erasable Programmable Read−Only Memory)であり、様々なデータを記憶し、保持するのに使用する。記憶手段4は、その一部にアプリケーションの管理テーブル8を記憶する領域を備えている。
【0021】
管理テーブル8は、OSまたはカードマネージャ(アプリケーションの選択、インストール、削除、メモリ管理などを行う一種のアプリケーション。OSの一部に組み込まれている場合もある)が、アプリケーションの管理用に使用し、アプリケーション毎のAIDを記憶するものである。
【0022】
プログラム格納部5は、OSおよびCPU3が実行可能なAIDに対応するアプリケーション本体を記憶するものである。OSやカード製造時に予めアプリケーションを記録するROM(Read Only Memory)か、アプリケーションをロードして使用することが可能なEEPROMがある。
【0023】
プログラム格納部5は、制御移動手段9およびレスポンス送信手段10を記憶する。制御移動手段9およびレスポンス送信手段10は、OSやカードマネージャの一部、またはOSやカードマネージャと緊密に連携するアプリケーションである。
【0024】
制御移動手段9は、端末装置から受信する同一のコマンドを実行する複数のアプリケーションを順次選択し、該コマンドの実行制御を該アプリケーションに移動するものである。
【0025】
複数のアプリケーションにおいて、アプリケーションを選択し、実行制御を移動する順番は、管理テーブル8の記憶順序でもよいし、別途用意する優先順位を設定するテーブルの順序でもよいし、現在選択されているアプリケーションを最優先にしてもよい。
【0026】
各々のアプリケーションは、コマンドを実行した結果を一時的にレスポンス保持領域へ記憶する。レスポンス送信手段10は、複数のアプリケーションによる同一コマンドの実行が全て終了した後に、レスポンス保持領域に保持する実行結果を前記端末装置に送信するものである。
【0027】
ここで、ICカード1が実行するコマンドおよび該コマンドに対するレスポンスについて説明する。
【0028】
図2は、ISO7816−4により規定されている端末装置からICカード1へ送られるAPDUコマンドの構造を示すものである。
【0029】
APDUコマンドの先頭のCLAは、クラスバイトと呼ばれるものであり、該コマンドの内容がISO7816−4に準拠するか否かを表し、INSは、コマンドコードと呼ばれるコマンドの種類を表すものであり、P1およびP2がコマンドに与えるパラメータを表し、Lcはデータの長さを表す。
【0030】
APDUコマンドは、図2の形式の他に、Lc以下を省略する、データ部の後ろにLeと呼ばれるICカードからの返信の長さを付ける、付けない、という複数の構造を用いることが可能である。
【0031】
また、図3は、ISO7816−4により規定されているICカード1から端末装置からへ送られるレスポンスデータの構造を示すものである。
【0032】
レスポンスデータは、アプリケーションの処理結果と、2バイトのステータスワード(SW1、SW2)から構成されており、アプリケーションからOSを経由して端末装置に送信される。
【0033】
本発明においては、構造やコーディングはISO7816−4のAPDUコマンドに準拠するが、当該コマンドが複数のアプリケーションにより実行されるコマンドであるという、意味的に拡張したマルチキャストコマンドを定義する。図4にマルチキャストコマンドの構造を示す。
【0034】
マルチキャストコマンドは、例えば、CLAが「0xD0(0xは、16進表記。以下、同じ)」、INSが「0x00」、データ部にアプリケーションが実行すべきコマンド(以下、処理コマンドという)を格納することにより、定義する。
【0035】
更に、マルチキャストコマンドは、P1またはP2を使用するかどうかで、2種類のマルチキャストコマンドを定義することが可能である。
【0036】
例えば、P2の値を「0x00」に設定し、データ部に通常のAPDUコマンドそのものを格納することにより、管理テーブル8に記憶されている全てのアプリケーションが、該APDUコマンドを実行するようにする。
【0037】
マルチキャストコマンドのデータ部に格納するAPDUコマンドから、CLA、INSなどのヘッダー情報を省略して、通常のAPDUコマンドのデータ部だけを格納することにより、通信量を減らすことも可能である。
【0038】
P2にAIDの長さを格納、すなわちP2の値が「0x00」以外の場合は、該マルチキャストコマンドのデータ部の処理コマンドの先頭にAIDを格納し、管理テーブル8に記憶しているAIDが、処理コマンドの先頭からAID長で指定された長さのAIDと部分一致する全てのアプリケーションが、該処理コマンドを実行するようにする。
【0039】
また、マルチキャストコマンドにより、複数のアプリケーションが処理コマンドを実行した結果を一括して送信するためのレスポンス保持領域の構造を、図5に示す。
【0040】
レスポンス保持領域には、コマンドの実行結果を格納するISO7816−4におけるレスポンスの領域に、アプリケーション毎の区別をつけるために、AID長と、AIDと、該アプリケーションの処理結果と、SWとを一組にして、順次記憶する。アプリケーション毎の区別がつくのであれば、AID以外の情報を用いてもよい。
【0041】
以下、図6のフローチャートに従い、複数のアプリケーションを実行可能なICカード1が、支払い処理とポイント加算処理を連続して行う場合を例に、アプリケーションを選択し、処理コマンドを実行する手順を説明する。
【0042】
図7に、ICカード1において、クレジット処理と入退室管理の2つの業務を実現する複数のアプリケーションを管理する管理テーブル8の例を示す。
【0043】
図7は、クレジットカードの決済機能(AIDが「0x01 02 03 04 05 01」)、ポイント管理機能(AIDが「0x01 02 03 04 05 02」)、入退室管理(AIDが「0x05 06 07 08 09 0A」)の3つのアプリケーションをICカード1が実行可能であることを示している。
【0044】
また、図7は、クレジットカードでの支払い金額に応じてポイントを加算するなど、関連する複数のアプリケーションが連続実行することを示すように、クレジットカードの決済機能とポイント管理機能が、「0x01 02 03 04
05」というAIDの上5桁を共通にすることも示している。
【0045】
また、入退室管理(AIDが「0x05 06 07 08 09 0A」)は、一つのアプリケーションであるが、いくつかあるドアゲートを開閉する認証処理と、どのドアをいつ開閉したかの記録を保存する機能などを備えるものとする。
【0046】
ICカード1は、端末装置から電源の供給を受け、OS部を起動し、APDUコマンドの受信まで待機する。以下の説明においては、APDUコマンドがICカードに届く過程などは、端末装置などのネットワーク機器の処理であるから説明を省略する。
【0047】
ICカード1がAPDUコマンドを受信すると、制御移動手段9は、CLAおよびINSを参照して、マルチキャストコマンドであるか否かを判定する。
【0048】
受信したAPDUコマンドが、マルチキャストコマンドではなく、通常のAPDUコマンドであった場合、制御移動手段9は、INSが選択コマンド(SELECT FILE:実際の値は「0xA4」)かどうか判定する。
【0049】
クレジットカードの決済機能を選択する選択コマンドは、図8(a)に示す、INSに選択コマンドを、P1およびP2にAIDを用いてアプリケーションを選択することを示す「0x04 00」を、データ部に決済機能のAID「0x01 02 03 04 05 01」を、Lcにデータ部の長さ、すなわちAIDの長さ「6バイト」を格納したAPDUコマンドとなる。
【0050】
次に、INSが選択コマンドである場合、制御移動手段9は、P1、P2、Lc、およびデータ部に格納されているAID「0x01 02 03 04 05 01」に基づいて管理テーブル8を参照し、決済機能が存在するか否かを確認する。
【0051】
決済機能が管理テーブル8に存在する場合、制御移動手段9は、決済機能を選択し、選択済みのマークを付け、次に、選択済み決済機能に制御を移す。
【0052】
決済機能は、自分の処理結果(例えば、「選択OK」を示すコード)をOSへ返し、OSは決済機能のレスポンスを端末装置に送信し、コマンド受信待ち状態に戻る。
【0053】
受信したAPDUコマンドが、図8(b)に示すマルチキャストコマンドの場合、P2の値が「0x05」であり、データ部の先頭にAIDが格納されいることを示しているから、制御移動手段9は、データ部の先頭に格納されているAIDの5バイト分「0x01 02 03 04 05」と、処理コマンド「DEBIT 100yen」を取り出す。
【0054】
制御移動手段9は、5バイトの「0x01 02 03 04 05」を用いて管理テーブル8を検索し、まず、上5桁が「0x01 02 03 04 05」である決済機能を選択し、選択済みのマークを付け、次に、選択済みの決済機能に処理コマンド「DEBIT 100yen」を渡し、制御を移す。
【0055】
決済機能は、受け取った処理コマンド「DEBIT 100yen」により、100円の支払い処理を行い、AID長と、AIDと、例えば「支払い終了」などのコード(ここでは、Null「0x00」とする)と、SWを一組にして、レスポンス保持領域に記憶する。この時のレスポンス保持領域を図9(a)に示す。
【0056】
制御移動手段9は、決済機能が終了した後、再び管理テーブル8を検索し、上5桁が「0x01 02 03 04 05」であるポイント管理を選択し、選択済みのマークを付け、次に、選択済みのポイント管理に処理コマンド「DEBIT 100yen」を渡し、制御を移す。
【0057】
ポイント管理は、受け取った処理コマンド「DEBIT 100yen」により、例えば支払い金額100円の10%、すなわち10ポイントを加算し、AID長と、AIDと、例えばポイント残高10(「0x0A」)と、SWを一組にして、レスポンス保持領域に記憶する。この時のレスポンス保持領域を図9(b)に示す。
【0058】
更に、制御移動手段9は、ポイント管理が終了した後、再び管理テーブル8を検索し、上5桁が「0x01 02 03 04 05」のAIDを有するアプリケーションを探すが、入退室管理は「0x05 06 07 08 09」であるから、処理コマンド「DEBIT 100yen」を実行する全てのアプリケーションが終了したことになるので、検索の終了をレスポンス送信手段10へ通知する。
【0059】
レスポンス送信手段10は、決済処理、およびポイント管理の処理結果を保持する図9(b)の状態のレスポンス保持領域を、OSを介して端末装置に送信する。
【0060】
マルチキャストコマンド、制御移動手段9、およびレスポンス送信手段10を用いることにより、従来、「決済機能の選択」、「決済機能の実行」、「ポイント管理の選択」、および「ポイント加算」という4回のコマンド処理を、「アプリケーションの選択」と、「複数アプリケーションの順次実行」という2回のコマンドの処理で行うことが可能になる。
【0061】
また、異なる実施の形態として、IPアドレスを備え、TCP/IPの通信プロトコルを搭載したICカード1が、一定時間が経過した後に、入退室管理のサーバにICカード1内に記憶しているログを保管する通信の開始を行う場合の動作について説明する。
【0062】
上述したように、ICカード1側から通信を開始することはできないため、端末装置が一定間隔でポーリング(例えば、Lcを「0x00」とし、データ部に何も格納せずに、何もしない命令とする)を行い、ICカード1が通信を行うかどうかを確認する。
【0063】
端末装置は、複数のアプリケーションに対して一括でポーリングを行うため、APDUコマンドに、マルチキャストコマンドを示すCLAおよびINSと、ポーリングの命令とを格納した「0xD0 00 00 00 00」をICカード1へ送信する。
【0064】
ICカード1は、受信した選択したAPDUコマンドが、マルチキャストコマンドであり、Lcの値が「0x00」であるから、制御移動手段9は、該APDUコマンドが、複数のアプリケーションに対するポーリングコマンドであると判定する。
【0065】
制御移動手段9は、P2が「0x00」であるから管理テーブル8に記憶している全てのアプリケーションを対象として、ポーリングを試みる。
【0066】
まず、管理テーブル8に記憶している最初のアプリケーションである決済機能を選択し、選択済みのマークを付け、選択済みの決済機能に制御を移す。
【0067】
決済機能が通信を行う必要がない場合、決済機能は、AID長と、自身のAIDと、例えばSW1、およびSW2が「0x90 00」をレスポンス保持領域に記憶し、制御を返す。
【0068】
制御移動手段9は、決済機能がレスポンスを返した後、管理テーブル8の次のアプリケーションであるポイント管理を選択し、選択済みのマークを付け、選択済みのポイント管理に制御を移す。
【0069】
ポイント管理も通信を行う必要がない場合、ポイント管理は、決済機能と同様に、AID長と、自身のAIDと、例えばSW1、およびSW2が「0x90 00」をレスポンス保持領域に記憶し、制御を返す。
【0070】
制御移動手段9は、ポイント管理がレスポンスを返した後、更に、管理テーブル8の次のアプリケーションである入退室管理を選択し、選択済みのマークを付け、選択済みの入退室管理に制御を移す。
【0071】
入退室管理は、現在時刻をチェックし、前回通信から一定時間が経過している場合、AID長と、自身のAIDと、例えば、SW1およびSW2が「0x91
00」をレスポンス保持領域に記憶させ、制御を返す。
【0072】
更に、制御移動手段9は、入退室管理が制御を戻した後、再び管理テーブル8を検索するが、管理テーブル8には、次のアプリケーションがないので、ポーリングを行う全てのアプリケーションが終了したことを、レスポンス送信手段10へ通知する。
【0073】
レスポンス送信手段10は、レスポンス保持領域を、OSを介して端末装置に送信する。
【0074】
端末装置は、レスポンスを受信し、「0x91 00」を返したAID「0x05 06 07 08 09 0A」が通信を開始する要求を出したことを検知し、該AIDの入退室管理に対して、コマンドを発行し、以降の処理を継続させることが可能になる。
【0075】
以上、本発明を実施の形態に基づいて詳細に説明してきたが、本発明によるICカードおよびICカードにおけるコマンド処理方法は、上述の実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更が可能なことは当然のことである。
【0076】
【発明の効果】
以上のとおり、本発明に係るICカードおよびICカードにおけるコマンド処理方法によれば、ICカードが実行可能な全てのアプリケーション、または一部のアプリケーションにおいて、受信した一つのコマンドを連続して実行することができるため、アプリケーションの選択回数、および通信回数を減らすことが可能となる。
【0077】
また、各々のアプリケーションのコマンド実行結果も一括して端末装置に送信することにより、通信回数と通信量を減らすことが可能になる。
【0078】
また、ISO7816−3と互換性を保ったまま、ICカード側からの通信開始に対して、一度のポーリングで通信開始要求があるかどうかを確認することができ、仮想的な全二重通信により、各々のアプリケーションに対するポーリングの回数を減らすことが可能になる。
【図面の簡単な説明】
【図1】本発明のICカード内部の概要構造図である。
【図2】ISO7816−4におけるAPDUコマンドの構成を示す説明図である。
【図3】ISO7816−4におけるレスポンスの構成を示す説明図である。
【図4】本発明のマルチキャストコマンドの構成を示す説明図である。
【図5】本発明のレスポンス保持領域の構造を示す説明図である。
【図6】本発明のICカードにおけるコマンド処理方法を示すフローチャートである。
【図7】本発明の管理テーブルの例である。
【図8】本発明のマルチキャストコマンドの例である。
【図9】本発明のレスポンス保持領域の例である。
【符号の説明】
1 ICカード
2 I/O制御部
3 CPU
4 記憶手段
5 プログラム格納部
6 作業用メモリ
7 ICカード用リーダ/ライタ
8 管理テーブル
9 制御移動手段
10 レスポンス送信手段[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an IC card capable of executing a plurality of application programs (hereinafter, simply referred to as applications), and more particularly, to a method of processing commands in a plurality of applications executed continuously.
[0002]
[Prior art]
Conventionally, an IC card such as JavaCard (registered trademark) or Multitos that can execute a plurality of application programs has an AID of 5 to 16 provided by a registration system in accordance with ISO7816-4 so that there is no duplication in Japan and the world. An application is uniquely specified by attaching a unique identifier of a byte, an application is selected by the AID, and then a subsequent process is instructed.
[0003]
For example, in order to perform credit payment processing and point addition processing, first, a terminal device transmits a command “SELECT FILE xxxx” (xxxx is AID indicating a credit application) to an IC card, and the IC card When an application is selected and then an authentication command or a payment command is transmitted from the terminal device to the IC card, the IC card moves the execution control of those commands to the selected credit application.
[0004]
In ISO7816-4, the command execution control moves to the selected application. Therefore, in order to perform the point addition processing following the credit payment processing, a new point application is selected again, and the point addition is performed. Commands must be sent from the terminal to the card.
[0005]
In other words, even if the same command is to be processed by a plurality of applications consecutively, if the application is different, each time the application selection command must be transmitted and the execution control must be transferred to the selected application. Must.
[0006]
In the near future, an IC card will be connected to a network, particularly the Internet, through various devices such as a mobile phone, a personal digital assistant (PDA), and an information home appliance, and will be a standard protocol of the Internet, TCP. / IP (for details of the protocol, see Non-Patent Document 1), communication is expected to be performed. In addition to the conventional technology, the IC card responds to the request of the terminal device and is mounted on the IC card. The application starts to connect to the Internet.
[0007]
However, since the lower layer (ISO7816-3) of the ISO standard used for the IC card is a half-duplex communication protocol, it is not assumed that transmission is started from the IC card side. It is a mechanism that always receives a command from the terminal device side and returns a processing result inside the IC card to the terminal device.
[0008]
When transmitting from the IC card to the network, first, the terminal device periodically inquires of the IC card whether or not to transmit (whether or not to communicate with the network) (polling), and the IC card responds accordingly. A method of starting communication has been proposed for IETF (Internet Engineering Task Force) (for example, see Non-Patent Document 2).
[0009]
[Non-patent document 1]
Postel, J.M. , "Transmission Control Protocol", RFC 793, September 1981 [Non-Patent Document 2]
Mobile-Mind, Inc., “IP and ARP over ISO 7816”, [online], January 2001, [searched on October 12, 2002], Internet <URL: http: // www. scdk. com / draft-guttery-ip7816-01. txt>
[0010]
However, in the polling method, for example, in the case of an IC card capable of executing ten applications, it is necessary to issue a polling to each application, and therefore, a selection command is issued ten times to process the polling command. In addition, the polling command needs to be transmitted ten times, which causes a problem that communication cost and processing time are required.
[0011]
[Problems to be solved by the invention]
The present invention has been made in view of the above problems, and has as its object to reduce the number of command issuances and the processing time in an IC card capable of continuously executing a plurality of applications.
[0012]
[Means for Solving the Problems]
In order to achieve the above object, a first aspect of the present invention receives a processing command from a terminal device, executes the processing command in an application program, and transmits execution result data of the processing command to the terminal device. In the IC card, a multicast command for storing processing commands executed by a plurality of application programs, a management table for managing application programs executable by the IC card, and a plurality of application programs for executing the processing commands are sequentially selected. A control moving means for sequentially designating the plurality of selected application programs and transferring control of the execution of the processing command to the application program; A response holding area for temporarily holding result data, and a response sending unit for sending to the terminal device execution result data to be held in the response holding area after all of the execution of the processing commands by the plurality of application programs are completed. It is provided.
[0013]
According to a second aspect of the present invention, in the IC card according to the first aspect described above, the control transfer means uses a class byte in the multicast command and command identification information called an instruction type to execute a plurality of application programs. This is to distinguish a multicast command to be executed from a normal command to be executed in a specific application program.
[0014]
According to a third aspect of the present invention, in the IC card according to the first or second aspect described above, the management table is provided with application identification information capable of uniquely specifying an application program, and the control moving means is configured to perform the predetermined operation. According to the rules, the application identification information sequentially selects a plurality of application programs that match the specification information specifying the application program stored in the multicast command, and sequentially shifts the control of the processing command execution. is there.
[0015]
According to a fourth aspect of the present invention, there is provided a command processing method in an IC card for receiving a processing command from a terminal device, executing the processing command in an application program, and transmitting execution result data of the processing command to the terminal device. Storing an application program executable in the IC card in a management table; transmitting, by the terminal device, a multicast command storing processing commands to be executed by the plurality of application programs to the IC card; Sequentially selecting a plurality of application programs to be continuously executed based on the application command, and transferring control of the processing command execution to the selected application program; Ram temporarily holds execution result data in a response holding area, and after the execution of all processing commands by the plurality of application programs is completed, execution result data held in the response holding area to the terminal device. And a transmitting step.
[0016]
According to a fifth aspect of the present invention, in the command method for an IC card according to the fourth aspect, the processing command is a processing command for confirming whether there is a communication start request for a plurality of application programs. According to the processing command, each application program performs a step of temporarily storing the presence or absence of a communication start request in the response storage area.
[0017]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, the present invention will be described based on an illustrated embodiment. FIG. 1 is a schematic configuration diagram of the inside of an IC card according to the present invention. The
[0018]
The I /
[0019]
The
[0020]
The storage means 4 is an EEPROM (Electrically Erasable Programmable Read-Only Memory) which is actually a nonvolatile memory, and is used to store and hold various data. The storage unit 4 has an area for storing the application management table 8 in a part thereof.
[0021]
The management table 8 is used by an OS or a card manager (a kind of application for selecting, installing, deleting, and managing memory of an application, which may be incorporated in a part of the OS) for managing the application. The AID for each application is stored.
[0022]
The
[0023]
The
[0024]
The control moving means 9 sequentially selects a plurality of applications that execute the same command received from the terminal device, and moves the execution control of the command to the application.
[0025]
In the plurality of applications, the order in which the applications are selected and the execution control is moved may be the order of storage in the management table 8, the order of a table for setting a priority order separately prepared, or the order of the currently selected application. The highest priority may be given.
[0026]
Each application temporarily stores the result of executing the command in the response holding area. The
[0027]
Here, a command executed by the
[0028]
FIG. 2 shows the structure of an APDU command sent from the terminal device to the
[0029]
The CLA at the beginning of the APDU command is called a class byte, and indicates whether or not the content of the command conforms to ISO7816-4. INS indicates a type of command called a command code. And P2 represent parameters given to the command, and Lc represents the length of data.
[0030]
The APDU command can use a plurality of structures in addition to the format shown in FIG. 2, such as omitting Lc and below, and adding or not adding a reply length from the IC card called Le after the data portion. is there.
[0031]
FIG. 3 shows the structure of response data sent from the
[0032]
The response data includes a processing result of the application and a 2-byte status word (SW1, SW2), and is transmitted from the application to the terminal device via the OS.
[0033]
In the present invention, the structure and coding conform to the APDU command of ISO7816-4, but define a multicast command that is semantically expanded such that the command is a command executed by a plurality of applications. FIG. 4 shows the structure of the multicast command.
[0034]
As the multicast command, for example, the CLA stores “0xD0 (0x is a hexadecimal notation; the same applies hereinafter)”, the INS stores “0x00”, and the command to be executed by the application (hereinafter referred to as a processing command) in the data section. Is defined by
[0035]
Furthermore, two types of multicast commands can be defined depending on whether the multicast command uses P1 or P2.
[0036]
For example, by setting the value of P2 to “0x00” and storing the normal APDU command itself in the data part, all the applications stored in the management table 8 execute the APDU command.
[0037]
By omitting header information such as CLA and INS from the APDU command stored in the data part of the multicast command and storing only the data part of the normal APDU command, it is also possible to reduce the traffic.
[0038]
When the length of the AID is stored in P2, that is, when the value of P2 is other than “0x00”, the AID is stored at the beginning of the processing command in the data part of the multicast command, and the AID stored in the management table 8 is All applications that partially match the AID with the length specified by the AID length from the beginning of the processing command execute the processing command.
[0039]
FIG. 5 shows the structure of a response holding area for collectively transmitting the results of execution of processing commands by a plurality of applications using a multicast command.
[0040]
In the response holding area, a set of an AID length, an AID, a processing result of the application, and a SW are set in order to distinguish each application in a response area in ISO7816-4 that stores a command execution result. And sequentially store them. If a distinction can be made for each application, information other than the AID may be used.
[0041]
In the following, a procedure for selecting an application and executing a processing command will be described with reference to the flowchart of FIG. 6, taking as an example a case where the
[0042]
FIG. 7 shows an example of the management table 8 that manages a plurality of applications that realize two tasks of credit processing and entry / exit management in the
[0043]
FIG. 7 shows a credit card settlement function (AID is “
[0044]
FIG. 7 shows that the payment function of the credit card and the point management function are set to “
It also shows that the first five digits of the AID "05" are made common.
[0045]
In addition, entry / exit management (AID is “
[0046]
The
[0047]
When the
[0048]
When the received APDU command is not a multicast command but a normal APDU command, the
[0049]
The selection command for selecting the payment function of the credit card includes, as shown in FIG. 8A, a selection command for INS and "
[0050]
Next, when INS is a selection command, the control transfer means 9 refers to the management table 8 based on P1, P2, Lc, and AID “
[0051]
If the payment function is present in the management table 8, the
[0052]
The payment function returns its own processing result (for example, a code indicating “selection OK”) to the OS, and the OS transmits a response of the payment function to the terminal device, and returns to a command reception waiting state.
[0053]
When the received APDU command is the multicast command shown in FIG. 8B, the value of P2 is “0x05”, indicating that the AID is stored at the head of the data portion. , 5 bytes of AID “
[0054]
The control transfer means 9 searches the management table 8 using 5 bytes of “
[0055]
The payment function performs a payment process of 100 yen according to the received processing command “DEBIT 100yen”, and sets the AID length, the AID, and a code such as “payment completed” (here, Null “0x00”), A set of SWs is stored in the response holding area. The response holding area at this time is shown in FIG.
[0056]
After the settlement function is completed, the control moving means 9 searches the management table 8 again, selects the point management whose first five digits are “0x01 02 03 04 05”, attaches a mark of selection, and The processing command “DEBIT 100yen” is passed to the selected point management, and the control is transferred.
[0057]
In the point management, for example, 10% of the payment amount of 100 yen, that is, 10 points is added by the received processing command “DEBIT 100yen”, and the AID length, the AID, for example, the point balance 10 (“0x0A”), and the SW are added. One set is stored in the response holding area. FIG. 9B shows the response holding area at this time.
[0058]
Further, after the point management is completed, the control moving means 9 searches the management table 8 again to find an application having an AID whose first five digits are “0x01 02 03 04 05”, but the entry / exit management is “
[0059]
The
[0060]
Conventionally, by using the multicast command, the
[0061]
Further, as a different embodiment, a log stored in the
[0062]
As described above, since communication cannot be started from the
[0063]
The terminal device transmits “
[0064]
The
[0065]
Since P2 is “0x00”, the
[0066]
First, the payment function, which is the first application stored in the management table 8, is selected, marked as selected, and control is transferred to the selected payment function.
[0067]
If the payment function does not need to perform communication, the payment function stores the AID length, its own AID, and, for example, SW1 and SW2, “0x900” in the response holding area, and returns control.
[0068]
After the settlement function returns a response, the
[0069]
If the point management does not need to perform communication, the point management stores the AID length, its own AID, and, for example, SW1 and SW2 in the response holding area in the response holding area, as in the settlement function, and performs control. return.
[0070]
After the point management returns a response, the
[0071]
The entry / exit management checks the current time, and if a certain time has elapsed since the previous communication, the AID length, its own AID, and, for example, SW1 and SW2 are set to “0x91”.
00 ”is stored in the response holding area, and control is returned.
[0072]
Further, the control transfer means 9 searches the management table 8 again after the entry / exit management returns the control. However, since there is no next application in the management table 8, all the polling applications are terminated. Is notified to the response transmission means 10.
[0073]
The
[0074]
The terminal device receives the response, detects that the AID “0x05 06 07 08 09 0A” that has returned “
[0075]
As described above, the present invention has been described in detail based on the embodiments. However, the IC card and the command processing method in the IC card according to the present invention are not limited to the above-described embodiments, and the gist of the present invention is as follows. Of course, various changes can be made without departing from the scope of the present invention.
[0076]
【The invention's effect】
As described above, according to the IC card and the command processing method in the IC card according to the present invention, a single received command is continuously executed in all applications or some applications that can be executed by the IC card. Therefore, the number of application selections and the number of communication times can be reduced.
[0077]
In addition, by transmitting the command execution results of each application to the terminal device at a time, the number of times of communication and the amount of communication can be reduced.
[0078]
Also, while maintaining compatibility with ISO7816-3, it is possible to confirm whether or not there is a communication start request by polling once with respect to communication start from the IC card side. , It is possible to reduce the number of polls for each application.
[Brief description of the drawings]
FIG. 1 is a schematic structural view of the inside of an IC card of the present invention.
FIG. 2 is an explanatory diagram showing a configuration of an APDU command in ISO7816-4.
FIG. 3 is an explanatory diagram showing a configuration of a response in ISO7816-4.
FIG. 4 is an explanatory diagram showing a configuration of a multicast command of the present invention.
FIG. 5 is an explanatory diagram showing the structure of a response holding area according to the present invention.
FIG. 6 is a flowchart showing a command processing method in the IC card of the present invention.
FIG. 7 is an example of a management table according to the present invention.
FIG. 8 is an example of a multicast command of the present invention.
FIG. 9 is an example of a response holding area according to the present invention.
[Explanation of symbols]
1 IC card 2 I /
Reference Signs List 4 storage means 5
Claims (5)
複数のアプリケーションプログラムにより実行される処理コマンドを格納するマルチキャストコマンドと、
該ICカードが実行可能なアプリケーションプログラムを管理する管理テーブルと、
前記処理コマンドを実行する複数のアプリケーションプログラムを順次選択し、前記処理コマンド実行の制御を該アプリケーションプログラムに移動する制御移動手段と、
前記処理コマンドを実行した複数のアプリケーションプログラムの各々の実行結果データを一時的に保持するレスポンス保持領域と、
前記複数のアプリケーションプログラムによる処理コマンドの実行が全て終了した後に、前記レスポンス保持領域に保持する実行結果データを前記端末装置に送信するレスポンス送信手段と、
を備えることを特徴とするICカード。An IC card for receiving a processing command from a terminal device, executing the processing command in an application program, and transmitting execution result data of the processing command to the terminal device,
A multicast command for storing processing commands executed by a plurality of application programs;
A management table for managing application programs executable by the IC card;
Control moving means for sequentially selecting a plurality of application programs for executing the processing command, and transferring control of the processing command execution to the application program;
A response holding area for temporarily holding execution result data of each of the plurality of application programs that have executed the processing command,
Response transmission means for transmitting, to the terminal device, execution result data held in the response holding area after all of the execution of the processing commands by the plurality of application programs are completed,
An IC card comprising:
前記制御移動手段が、
前記マルチキャストコマンドの中のクラスバイト、および命令種類と呼ばれるコマンド識別情報により、複数のアプリケーションプログラムにおいて実行するマルチキャストコマンドと、特定のアプリケーションプログラムにおいて実行する通常コマンドとを識別する、
ことを特徴とするICカード。The IC card according to claim 1,
The control moving means,
Class bytes in the multicast command, and command identification information called instruction type, to identify a multicast command to be executed in a plurality of application programs and a normal command to be executed in a specific application program,
An IC card, characterized in that:
前記管理テーブルが、
アプリケーションプログラムを一意に特定可能なアプリケーション識別情報を備え、
前記制御移動手段が、
予め定めた規則に従い、前記アプリケーション識別情報が、前記マルチキャストコマンドに格納されているアプリケーションプログラムを指定する指定情報と一致する複数のアプリケーションプログラムを順次選択し、処理コマンド実行の制御を順次移動する、
ことを特徴とするICカード。The IC card according to claim 1 or 2,
The management table is
With application identification information that can uniquely identify the application program,
The control moving means,
According to a predetermined rule, the application identification information sequentially selects a plurality of application programs that match the specification information specifying the application program stored in the multicast command, and sequentially shifts control of processing command execution.
An IC card, characterized in that:
該ICカードにおいて実行可能なアプリケーションプログラムを管理テーブルに記憶する段階と、
前記端末装置が、複数のアプリケーションプログラムにより実行する処理コマンドを格納するマルチキャストコマンドをICカードへ送信する段階と、
前記マルチキャストコマンドに基づき、連続実行する複数のアプリケーションプログラムを順次選択し、前記処理コマンド実行の制御を選択された該アプリケーションプログラムに移動する段階と、
前記処理コマンドを実行した各々のアプリケーションプログラムが、実行結果データを一時的にレスポンス保持領域へ保持する段階と、
前記複数のアプリケーションプログラムによる処理コマンドの実行が全て終了した後に、前記レスポンス保持領域に保持する実行結果データを前記端末装置に送信する段階と、
を設けたことを特徴とするICカードにおけるコマンド処理方法。A method of processing a command in an IC card that receives a processing command from a terminal device, executes the processing command in an application program, and transmits execution result data of the processing command to the terminal device,
Storing an application program executable in the IC card in a management table;
Transmitting a multicast command, which stores processing commands to be executed by a plurality of application programs, to the IC card,
A step of sequentially selecting a plurality of application programs to be continuously executed based on the multicast command, and moving control of the processing command execution to the selected application program;
Each application program that has executed the processing command, temporarily holding the execution result data in the response holding area,
After all of the execution of the processing commands by the plurality of application programs are completed, transmitting execution result data held in the response holding area to the terminal device,
A command processing method in an IC card, comprising:
前記処理コマンドが、
複数のアプリケーションプログラムに対して通信開始要求があるかどうかを確認するための処理コマンドであり、
前記処理コマンドにより、各々のアプリケーションプログラムが、通信開始要求の有無を一時的にレスポンス保持領域へ保持する段階、
を設けたことを特徴とするICカードにおけるコマンド処理方法。A command processing method for an IC card according to claim 4, wherein
The processing command is:
A processing command for checking whether there is a communication start request for a plurality of application programs,
According to the processing command, each application program temporarily holds the presence or absence of a communication start request in a response holding area,
A command processing method in an IC card, comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002329036A JP4139674B2 (en) | 2002-11-13 | 2002-11-13 | IC card and command processing method in IC card |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002329036A JP4139674B2 (en) | 2002-11-13 | 2002-11-13 | IC card and command processing method in IC card |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004164261A true JP2004164261A (en) | 2004-06-10 |
JP4139674B2 JP4139674B2 (en) | 2008-08-27 |
Family
ID=32807153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002329036A Expired - Fee Related JP4139674B2 (en) | 2002-11-13 | 2002-11-13 | IC card and command processing method in IC card |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4139674B2 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006023791A (en) * | 2004-07-06 | 2006-01-26 | Dainippon Printing Co Ltd | Multiapplication type ic card and application program |
JP2008015976A (en) * | 2006-07-10 | 2008-01-24 | Fuji Electric Retail Systems Co Ltd | Communication device |
JP2010009467A (en) * | 2008-06-30 | 2010-01-14 | Toshiba Corp | Information storage medium, information processing system, and command method |
US20100056047A1 (en) * | 2008-08-28 | 2010-03-04 | Oberthur Technologies | Method of exchanging data between two electronic entities |
JP2011164677A (en) * | 2010-02-04 | 2011-08-25 | Ntt Docomo Inc | Communication control device and program |
WO2011135721A1 (en) * | 2010-04-30 | 2011-11-03 | 富士通株式会社 | Information processing device and power consumption management program |
JP2013069108A (en) * | 2011-09-22 | 2013-04-18 | Toshiba Corp | Ic card, portable electronic device and ic card control method |
JP2016157488A (en) * | 2011-03-08 | 2016-09-01 | ソニー株式会社 | Information processing apparatus, information processing method, and program |
US9760323B2 (en) | 2014-09-30 | 2017-09-12 | Brother Kogyo Kabushiki Kaisha | Image processing apparatus, and method and computer-readable medium for the same |
JP2020512564A (en) * | 2017-03-29 | 2020-04-23 | ラトガース,ザ ステート ユニバーシティ オブ ニュー ジャージー | System and method for real-time measurement of surface curvature and thermal expansion of small samples |
-
2002
- 2002-11-13 JP JP2002329036A patent/JP4139674B2/en not_active Expired - Fee Related
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006023791A (en) * | 2004-07-06 | 2006-01-26 | Dainippon Printing Co Ltd | Multiapplication type ic card and application program |
JP4641157B2 (en) * | 2004-07-06 | 2011-03-02 | 大日本印刷株式会社 | Multi-application IC card and application program |
JP2008015976A (en) * | 2006-07-10 | 2008-01-24 | Fuji Electric Retail Systems Co Ltd | Communication device |
JP2010009467A (en) * | 2008-06-30 | 2010-01-14 | Toshiba Corp | Information storage medium, information processing system, and command method |
US20100056047A1 (en) * | 2008-08-28 | 2010-03-04 | Oberthur Technologies | Method of exchanging data between two electronic entities |
US9253628B2 (en) * | 2008-08-28 | 2016-02-02 | Oberthur Technologies | Method of exchanging data between two electronic entities |
JP2011164677A (en) * | 2010-02-04 | 2011-08-25 | Ntt Docomo Inc | Communication control device and program |
JP5438212B2 (en) * | 2010-04-30 | 2014-03-12 | 富士通株式会社 | Information processing apparatus and power consumption management program |
WO2011135721A1 (en) * | 2010-04-30 | 2011-11-03 | 富士通株式会社 | Information processing device and power consumption management program |
US9298245B2 (en) | 2010-04-30 | 2016-03-29 | Fujitsu Limited | Information processing apparatus performing processes in parallel |
JP2016157488A (en) * | 2011-03-08 | 2016-09-01 | ソニー株式会社 | Information processing apparatus, information processing method, and program |
JP2018088288A (en) * | 2011-03-08 | 2018-06-07 | ソニー株式会社 | Information processing apparatus, information processing method, and program |
JP2020038724A (en) * | 2011-03-08 | 2020-03-12 | ソニー株式会社 | Information processing device, information processing method, and program |
US10949630B2 (en) | 2011-03-08 | 2021-03-16 | Sony Corporation | Conditional relocation of identification information within a processing instruction for use in execution of a process by a selected application |
JP2013069108A (en) * | 2011-09-22 | 2013-04-18 | Toshiba Corp | Ic card, portable electronic device and ic card control method |
US9760323B2 (en) | 2014-09-30 | 2017-09-12 | Brother Kogyo Kabushiki Kaisha | Image processing apparatus, and method and computer-readable medium for the same |
JP2020512564A (en) * | 2017-03-29 | 2020-04-23 | ラトガース,ザ ステート ユニバーシティ オブ ニュー ジャージー | System and method for real-time measurement of surface curvature and thermal expansion of small samples |
Also Published As
Publication number | Publication date |
---|---|
JP4139674B2 (en) | 2008-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9854383B2 (en) | Method and system for managing multiple applications in near field communication | |
CN106470049B (en) | NFC device and near field communication method with multiple safety elements | |
JP3834239B2 (en) | How to load software components into a smart card, especially a format called "applet" | |
US7127570B2 (en) | Proximity communication system, proximity communication method, data managing apparatus and data management method, storage medium, and computer program | |
US6676022B1 (en) | Smart card system with command queuing | |
JP6252797B2 (en) | Short-range wireless communication device, short-range wireless communication method, computer program, and storage medium | |
JP4139674B2 (en) | IC card and command processing method in IC card | |
JP4615474B2 (en) | Communication terminal, user data movement system, and user data movement method | |
JP4649578B2 (en) | IC card information authentication system | |
JP2005202914A (en) | Secure device and information processor | |
JP6516133B2 (en) | Communication device and communication system | |
SG179374A1 (en) | Ic card, mobile electronic device and data processing method in ic card | |
CN106033551B (en) | Data analysis method, apparatus and system | |
US20080284572A1 (en) | Data control system, control server, data control method, and program | |
JP2003168092A (en) | Combination type ic card, controlling method thereof and system program thereof | |
JP4283611B2 (en) | IC card remote control system | |
JP4184751B2 (en) | IC card and application program selection method in IC card | |
US20100250838A1 (en) | Portable data carrier comprising a web server | |
JP2006134210A (en) | Mobile body terminal and data acquisition method using the same | |
JP3671238B2 (en) | Dynamic interpretation of data for chip cards | |
JP2004038574A (en) | Noncontact ic card communication system, reader/writer and noncontact ic card | |
JP2004192289A (en) | Information processor | |
JP2005293362A (en) | Data carrier and program for it | |
JP5971713B2 (en) | IC card | |
KR100732333B1 (en) | Mobile communication terminal having chip profile generation function and method for managing chip profile using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051107 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071018 |
|
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: 20080529 |
|
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: 20080609 |
|
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: 20110613 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120613 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120613 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130613 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |