JP5516314B2 - IC card and IC card system capable of dynamically changing session buffer - Google Patents
IC card and IC card system capable of dynamically changing session buffer Download PDFInfo
- Publication number
- JP5516314B2 JP5516314B2 JP2010234062A JP2010234062A JP5516314B2 JP 5516314 B2 JP5516314 B2 JP 5516314B2 JP 2010234062 A JP2010234062 A JP 2010234062A JP 2010234062 A JP2010234062 A JP 2010234062A JP 5516314 B2 JP5516314 B2 JP 5516314B2
- Authority
- JP
- Japan
- Prior art keywords
- session
- buffer
- card
- data
- size
- 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.)
- Active
Links
Images
Landscapes
- Information Transfer Systems (AREA)
- Computer And Data Communications (AREA)
Description
本発明は,CPUやメモリを有するICチップが実装されたカード類であるICカードの技術分野に関し,更に詳しくは,端末装置間に確立された通信セッションの数に応じて,ICカードに設けられるセッションバッファを動的に変更するための技術に関する。 The present invention relates to a technical field of an IC card which is a card mounted with an IC chip having a CPU and a memory. More specifically, the present invention is provided in an IC card according to the number of communication sessions established between terminal devices. The present invention relates to a technique for dynamically changing a session buffer.
ICカードに実装されるICチップには,外部の端末装置との通信プロトコルに対応したUART(Universal Asynchronous Receiver Transmitter)が設けられることが多くなり、UARTのメモリ(例えば,FIFO)に格納されたデータをデータ転送するためのAPDUバッファ(APDU: Application Protocol Data Unit)がICチップの揮発性メモリ(RAM)に設けられる。 An IC chip mounted on an IC card is often provided with a UART (Universal Asynchronous Receiver Transmitter) corresponding to a communication protocol with an external terminal device, and data stored in a UART memory (for example, FIFO). APDU buffer (APDU: Application Protocol Data Unit) for data transfer is provided in the volatile memory (RAM) of the IC chip.
携帯電話に実装されるSIM/USIM(Subscriber Identity Module/Universal Subscriber Identity Module)や金融用途で利用されるICカードにおいては,仮想的な通信セッションが端末装置とICカード間に確立されるケースがあり,このようなICカードに実装されるICチップの揮発性メモリには,APDUバッファに加え,端末装置が送信したデータをスタックするためのセッションバッファが設けられる。 In a SIM / USIM (Subscriber Identity Module / Universal Subscriber Identity Module) implemented in a mobile phone or an IC card used for financial purposes, a virtual communication session may be established between the terminal device and the IC card. The volatile memory of the IC chip mounted on such an IC card is provided with a session buffer for stacking data transmitted by the terminal device in addition to the APDU buffer.
昨今のICカードに対する高機能化に係る要求として,(要求1)ICカードが複数の通信セッションを並行に処理可能であること,(要求2)比較的大きなデータ(例えば,256バイトのデータ)を処理可能であること,が顕著になりつつあり,このような要求を満たすためには,何らかの手法により,ICカードの揮発性メモリに設けられるセッションバッファを管理することが必要になる。 As a request for high functionality for recent IC cards, (Request 1) that the IC card can process a plurality of communication sessions in parallel, (Request 2) relatively large data (for example, 256-byte data) In order to satisfy such a requirement, it is necessary to manage the session buffer provided in the volatile memory of the IC card by some method.
ICカード分野に係わらずバッファのサイズを管理する技術としては,以下に述べる技術が開示されている。例えば,特許文献1では,受け取ったデータを書き込むバッファ領域内の未使用領域のサイズが所定サイズまで減少すると,他のメモリ領域をバッファ領域にアロケートすることにより、バッファ領域を増加させる発明が開示されている。
The following techniques are disclosed as techniques for managing the buffer size regardless of the IC card field. For example,
また,特許文献2では,バッファとして利用可能な領域を同一サイズからなるセグメント単位で複数のセルに分割し、一部のセルによってバッファ領域を構成しておき,バッファ領域内の未使用領域のサイズが所定サイズまで減少すると,未使用のセルをバッファ領域に追加する発明が開示されている。
Further, in
上述した先行技術は,端末装置から送信されるデータの容量に合わせて,バッファ領域のサイズを増やすための発明であり,ある程度の揮発性メモリの容量を確保できるパーソナルコンピュータなどを対象装置として想定しているが,ICカード用のICチップは安価であることも求められるため,ICチップの揮発性メモリの容量は比較的小さく(例えば,数Kバイト),上述した先行技術は,揮発性メモリのサイズの小さなICチップが実装されるICカードには適していない。 The above-described prior art is an invention for increasing the size of the buffer area in accordance with the capacity of data transmitted from the terminal device. A personal computer that can secure a certain amount of volatile memory capacity is assumed as the target device. However, since the IC chip for the IC card is also required to be inexpensive, the capacity of the volatile memory of the IC chip is relatively small (for example, several kilobytes). It is not suitable for an IC card on which a small-sized IC chip is mounted.
また,上述した先行技術は,端末装置からデータ受信後にバッファ領域のサイズを増やす処理を実行するため,端末装置からコマンドが送信される度に該処理に係るオーバーヘッドが発生し,ICカードのパフォーマンスが低下してしまう問題もある。 Further, since the above-described prior art executes a process of increasing the size of the buffer area after receiving data from the terminal device, an overhead associated with the processing is generated each time a command is transmitted from the terminal device, and the performance of the IC card is reduced. There is also the problem that it falls.
そこで,本発明は,ICカードにおける揮発性メモリのサイズ上の制約内において、複数の通信セッションを並行に処理可能,かつ,比較的大きなデータを処理可能なように,開設セッション数を元にセッションバッファ構成を最適化し、揮発性メモリに設けられるセッションバッファを管理できるICカード,及び,該ICカードを用いたICカードシステムを提供することを目的とする。 Therefore, the present invention provides a session based on the number of open sessions so that a plurality of communication sessions can be processed in parallel and relatively large data can be processed within the constraints on the size of the volatile memory in the IC card. An object of the present invention is to provide an IC card that can optimize a buffer configuration and manage a session buffer provided in a volatile memory, and an IC card system using the IC card.
上述した課題を解決する第1の発明は,揮発性メモリ内に固定サイズのバッファ領域を保持し、複数の通信セッションを並行して開設できるICカードであって、各通信セッションはセッションのチャネル番号に対応付けられたセッションバッファを前記固定サイズのバッファ内に保持しており、セッションバッファの数、アドレス、および各セッションバッファに対応するチャネル番号をセッション管理情報として保持しており、通信セッションを確立/閉鎖する指示を端末装置から受けると,確立/閉鎖後の通信セッションの数に応じて前記バッファ領域を所定のアルゴリズムに従い分割することで、確立/閉鎖後の通信セッションそれぞれに割り当てるセッションバッファのサイズとアドレスを計算し,計算した値を用いて前記セッション管理情報を更新するバッファ管理手段と,前記セッション管理情報を外部に出力するセッション管理情報出力手段を備えたことを特徴とするICカードである。 A first invention for solving the above-mentioned problem is an IC card that holds a buffer area of a fixed size in a volatile memory and can establish a plurality of communication sessions in parallel, and each communication session has a session channel number. The session buffer associated with the session buffer is held in the fixed-size buffer, the number of session buffers, the address, and the channel number corresponding to each session buffer are held as session management information to establish a communication session. When receiving an instruction to close / close from the terminal device, the buffer area is divided according to a predetermined algorithm according to the number of communication sessions after establishment / closure, so that the size of the session buffer allocated to each communication session after establishment / closure And the address is calculated, and the session is calculated using the calculated value. And buffer management means for updating the management information, an IC card comprising the session management information output means for outputting the session management information to the external.
更に,第2の発明は,セッションバッファに格納されたデータのサイズをセッション管理情報に反映させ,端末装置側で,セッションバッファに格納されたデータのサイズを取得できるように,前記セッション管理情報には,セッションバッファにスタックしたデータの合計サイズがセッションバッファ毎に記憶され,端末装置からセッションのチャネル番号が指定されてデータが送信されると,前記セッション管理情報を参照し,該チャネル番号に割り当てられたセッションバッファに該データをスタックし,該セッションバッファの合計サイズに該データのサイズを加算するディスパッチ手段を備えさせたことを特徴とする第1の発明に記載のICカードである。 Further, the second aspect of the present invention provides the session management information so that the size of the data stored in the session buffer is reflected in the session management information and the terminal device can acquire the size of the data stored in the session buffer. The total size of the data stacked in the session buffer is stored for each session buffer. When data is transmitted from the terminal device with the session channel number specified, the session management information is referred to and assigned to the channel number. The IC card according to the first aspect of the present invention, further comprising dispatch means for stacking the data in a designated session buffer and adding the size of the data to the total size of the session buffer.
更に,第3の発明は,通信セッションを確立/閉鎖した後であっても,確立/閉鎖前にセッションバッファに格納されていたデータを利用できるように,前記バッファ管理手段は,前記セッション管理情報を更新する前に,確立/閉鎖後のセッションそれぞれに割り当てるセッションバッファのアドレスに従い,確立/閉鎖前にセッションバッファにストックされていたデータを,確立/閉鎖後のセッションバッファに再配置することを特徴とする第2の発明に記載のICカードである。 Furthermore, the third aspect of the present invention provides the buffer management means, wherein the data stored in the session buffer before the establishment / closure can be used even after the communication session is established / closed. According to the address of the session buffer assigned to each session after establishment / closure, the data stored in the session buffer before establishment / closure is relocated to the session buffer after establishment / closure before updating The IC card according to the second invention.
更に,第4の発明は,確立前にセッションバッファに格納されていたデータのサイズが,確立後のセッションバッファのサイズを超えた場合であっても,確立前にセッションバッファに格納されていたデータを利用できるように,前記バッファ管理手段は,通信セッションを確立する指示を端末装置から受けてデータを再配置する際,前記セッション管理情報を参照し,セッションバッファにスタックされたデータのサイズと,確立後のセッションバッファのサイズを比較する処理を行い,スタックされたデータのサイズが,確立後のセッションバッファのサイズを超えるセッションバッファがある場合,確立後のセッションバッファのサイズを超えた分の該データを書き換え可能な不揮発性メモリに退避させることを特徴とする第3の発明に記載のICカードである。 Furthermore, the fourth aspect of the present invention provides data stored in the session buffer before establishment even if the size of the data stored in the session buffer before establishment exceeds the size of the session buffer after establishment. When the buffer management means receives an instruction to establish a communication session from the terminal device and rearranges the data, the buffer management means refers to the session management information, and determines the size of the data stacked in the session buffer, If there is a session buffer in which the size of the stacked data exceeds the size of the session buffer after establishment, processing that compares the size of the session buffer after establishment is performed. A third invention characterized in that data is saved in a rewritable nonvolatile memory An IC card according.
更に,第5の発明は,書き換え可能な不揮発性メモリにデータを退避させた後に閉鎖された場合であっても,確立前にセッションバッファに格納されていたデータを利用できるように,前記バッファ管理手段は,通信セッションを閉鎖する指示を端末装置から受けてデータを再配置した後,書き換え可能な不揮発性メモリにデータを退避させているセッションバッファがある場合,該セッションバッファが全て埋まるまで,不揮発性メモリに退避されたデータを該セッションバッファに復帰させることを特徴とする第4の発明に記載のICカードである。 Further, the fifth aspect of the present invention provides the buffer management so that the data stored in the session buffer before the establishment can be used even when the data is closed after being saved in a rewritable nonvolatile memory. If there is a session buffer in which data is saved in a rewritable non-volatile memory after receiving data from the terminal device and relocating the data after receiving an instruction to close the communication session, the non-volatile until the session buffer is completely filled. The IC card according to the fourth aspect of the present invention is characterized in that the data saved in the memory is returned to the session buffer.
更に,第6の発明は,ICカード側で確立可能な通信セッションの最大数を超えて通信セッションが確立できないようにするために,確立可能な通信セッションの最大数が前記セッション管理情報に記憶され,前記バッファ管理手段は,通信セッションを確立する指示を端末装置から受けると,確立後の通信セッションの数と通信セッションの最大数を比較し,確立後の通信セッションの数が通信セッションの最大数を超える場合,前記セッション管理情報を更新しないことを特徴とする第1の発明又は第5の発明のいずれか一つに記載のICカードである。 Furthermore, in the sixth invention, in order to prevent a communication session from being established beyond the maximum number of communication sessions that can be established on the IC card side, the maximum number of communication sessions that can be established is stored in the session management information. When receiving an instruction to establish a communication session from the terminal device, the buffer management means compares the number of established communication sessions with the maximum number of communication sessions, and the number of established communication sessions is the maximum number of communication sessions. In the IC card according to any one of the first and fifth inventions, the session management information is not updated.
更に,第7の発明は,第1の発明から第6の発明のいずれか一つに記載のICカードを利用したICカードシステムで,第1の発明から第6の発明のいずれか一つに記載のICカードと,前記ICカードの前記セッション管理情報出力手段を利用して取得した前記セッション管理情報を参照し,前記ICカード間に確立する通信セッションの数を管理するセッション管理手段を備えた端末装置とから構成されたことを特徴とするICカードシステムである。 Further, a seventh invention is an IC card system using the IC card according to any one of the first invention to the sixth invention, and is any one of the first invention to the sixth invention. And a session management means for managing the number of communication sessions established between the IC cards by referring to the session management information acquired using the IC card described above and the session management information output means of the IC card An IC card system comprising a terminal device.
更に,第8の発明は,前記端末装置の前記セッション管理手段は,前記ICカードから取得したセッション管理情報を参照し,通信セッションで前記ICカードへ送信するデータのサイズを,前記ICカード間に確立されている通信セッション毎に管理することを特徴とする第7の発明に記載のICカードシステムである。 Further, according to an eighth aspect of the invention, the session management means of the terminal device refers to the session management information acquired from the IC card, and sets the size of data to be transmitted to the IC card in a communication session between the IC cards. The IC card system according to the seventh aspect, wherein the management is performed for each established communication session.
このように,本発明によれば,複数の通信セッションを並行に処理可能,かつ,比較的大きなデータを処理可能なように,揮発性メモリに設けられるセッションバッファを管理できるICカード,及び,該ICカードを用いたICカードシステムを提供できる。 Thus, according to the present invention, an IC card capable of managing a session buffer provided in a volatile memory so that a plurality of communication sessions can be processed in parallel and relatively large data can be processed, and An IC card system using an IC card can be provided.
ここから,本願発明の実施形態について,発明の技術分野に係わる当業者が,発明の内容を理解し,本願発明を実施できる程度に説明する。 From here, embodiments of the present invention will be described to the extent that those skilled in the art in the technical field of the invention can understand the contents of the invention and implement the present invention.
図1は,本実施形態に係るICカードシステム1を説明する図である。本実施形態に係るICカードシステム1は,ICチップ20が実装されたICカード2と,ICカード2を利用する端末装置3とから少なくとも構成され,ICカード2及び端末装置3の具体的な形態は,ICカードシステム1の用途に依存する。
FIG. 1 is a diagram for explaining an
例えば,ICカードシステム1を金融関係のシステムとする場合,ICカード2はキャッシカード/クレジットカードになり,端末装置3は,ICカード2と協働する現金自動預け払い機やクレジット端末になる。また,ICカードシステム1を携帯電話/スマートフォンとする場合,端末装置3は携帯電話/スマートフォンになり,ICカード2は携帯電話/スマートフォンに実装されるSIM/USIM(Subscriber Identity Module/Universal Subscriber Identity Module)になる。
For example, when the
金融関係のシステムや携帯電話などでICカード2が利用される場合,ICカード2に実装されているアプリケーションを起動させるとき,起動したアプリケーション用の通信セッション30が確立され,ICカード2内には,ICカード2と端末装置3間に確立された通信セッション30により,端末装置3がアプリケーションに対して送信したデータをストックするセッションバッファ201がICカード2の揮発性メモリ(RAM20c)に設けられる。
When the
昨今のICカード2に対する高機能化に係る要求として,ICカード2が複数の通信セッション30を並行に処理可能であること,比較的大きなデータ(例えば,256バイトのデータ)をまとめて処理可能であることが顕著になりつつあり,ICカード2と端末装置3間に新規に通信セッション30が確立される毎に,所定サイズ(例えば,256バイト)のセッションバッファ201をRAM20cに新規に設けることができればよいが,ICカード2に実装されるICチップ20のRAM20cのサイズは比較的小さく(例えば,数Kバイト),ICカード2において,新規に通信セッション30が確立される毎に,所定サイズのセッションバッファ201をRAM20cに新規に設けることには難がある。
As a request for higher functionality for the
そこで,本実施形態のICカード2では,セッションバッファ201として利用する固定サイズのバッファ領域200を予めRAM20cに設け,通信セッション30を確立/閉鎖する指示を端末装置3から受けとき,確立/閉鎖後の通信セッション30の数に応じて,ソフトウェア的に一つ又は複数のセッションバッファ201にバッファ領域200を分割し,確立/閉鎖後の各通信セッション30に一つのセッションバッファ201を割り当てることで,上述した2つの要求を満たせるようにしている。
Therefore, in the
サイズが固定のバッファ領域200を通信セッション30の数に応じて分割することで,ICカード2が複数の通信セッション30を並行に処理可能になり,また,通信セッション30の数に応じてセッションバッファ201のサイズは縮小/拡大するため,端末装置3側で,ICカード2間に確立する通信セッション30の数を目的に応じて管理すれば,ICカード2側で,比較的大きなデータ(例えば,256バイトのデータ)をまとめて処理可能になる。
By dividing the
すなわち,端末装置3とICカード2間に確立する通信セッション30の数を少なくすればセッションバッファ201のサイズは大きくなり,通信セッション30の数を多くすればセッションバッファ201のサイズは小さくなるため,ICカード2側に,比較的大きなデータ(例えば,256バイトのデータ)をまとめて処理させたい場合,比較的大きなデータを考慮して,通信セッション30の数を管理すればよい。
That is, if the number of communication sessions 30 established between the
更に,本実施形態では,通信セッション30を確立/閉鎖する指示を端末装置3から受けとき,ICカード2のRAM20cに設けられるセッションバッファ201の数を変更することで,該処理に係るオーバーヘッドの発生は,通信セッション30の確立時/閉鎖時に限定できるようになる。
Furthermore, in this embodiment, when an instruction to establish / close the communication session 30 is received from the
また,端末装置3側で通信セッション30の数を管理するためには,ICカード2内のセッションバッファ201に係る情報が必要になるため,本実施形態のICカード2は,セッションバッファ201の数とアドレスを,セッションバッファ201が対応する通信セッション30のチャネル番号に対応付けたセッション管理情報を保持し,端末装置3へセッション管理情報を提供するため手段を備え,端末装置3は,ICカード2から取得したセッション管理情報に応じて通信セッション30の数や通信セッション30で送信するデータのサイズを管理する機能を備えている。
In addition, in order to manage the number of communication sessions 30 on the
まず,図1で図示したICカード2について説明する。図1に図示したように,ICカード2は,不揮発性メモリであるROM20a,電気的に書き換え可能な不揮発性メモリであるEEPROM20b,揮発性メモリであるRAM20c,ROM20aやEEPROM20bに実装されたコンピュータプログラムを実行するCPU20e,端末装置3との通信プロトコルに対応したUART20dを有するICチップ20が実装されたカードで,端末装置3から受信したデータを格納する一つのAPDUバッファ202とバッファ領域200はRAM20cに構成されている。
First, the
なお,図1では,本発明を説明するのに必要な最小なICチップ20の要素のみを記載している。図1で図示した以外にも,タイマー,セキュアチャネルプロトコルで利用する暗号演算回路などがICチップ20には実装される。
In FIG. 1, only the minimum elements of the
図2は,ICカード2のソフトウェアの階層図である。ICカード2のソフトウェアの階層は,最下位から順にハードウェア(ICチップ20),オペレーティングシステム21(OS: Operating System),OS21上で動作するアプリケーション22で,OS21には,ICカード2の基本的な機能の一つとして,端末装置3間に確立される通信セッション30の数に応じて,バッファ領域200に設けられるセッションバッファ201の数とサイズを動的に変更するバッファ管理手段として機能するバッファ管理モジュール210と,端末装置3から通信セッション30のチャネル番号が指定されてデータが送信されると,セッション管理情報を参照し,該チャネル番号に割り当てられたセッションバッファ201に該データをスタックするディスパッチ手段として機能するディスパッチモジュール211と,ICカード2に構成されているセッションバッファ201の構成状況を示すセッション管理情報を端末装置3へ提供するセッション管理情報出力手段として機能するセッション管理情報出力インターフェース212を有している。
FIG. 2 is a hierarchy diagram of the software of the
まず,ICカード2に実装されるバッファ管理モジュール210について説明する。バッファ管理モジュール210は,端末装置3から通信セッション30を確立/閉鎖する指示を受けると,確立/閉鎖後の通信セッション30の数に応じてセッションバッファ201の数とサイズを動的に変更し,変更後の内容を,ICカード2のRAM20c又はEEPROM20bに設けられるセッション管理情報に反映させる処理を行うコンピュータプログラムである。
First, the
図3は,セッションバッファ201の管理に利用する情報が記憶されるセッション管理情報を説明する図である。図3に図示したように,本実施形態においてセッション管理情報には,ICカード2のRAM20cに設けられるバッファ領域200に係る情報として,バッファ領域200の先頭アドレスであるバッファ領域先頭アドレスと,バッファ領域200のサイズを示すバッファ領域サイズが含まれ,更に,セッションバッファ201に係る情報として,確立可能な通信セッション30の最大数,すなわち,バッファ領域200に構成可能なセッションバッファ201の最大数を示す最大通信セッション数,確立されている通信セッション30の数,すなわち,バッファ領域200に構成されているセッションバッファ201の数を示す確立済み通信セッション30の数,各セッションバッファ201の先頭アドレスであるセッションバッファ先頭アドレス,各セッションバッファ201にスタックされたデータの合計サイズを示すスタックデータサイズが含まれる。
FIG. 3 is a diagram for explaining session management information in which information used for managing the
図3で図示したセッション管理情報において,バッファ領域先頭アドレス,バッファ領域サイズ,最大通信セッション数及び確立済み通信セッション数は一つで,セッションバッファ先頭アドレス及びスタックデータサイズは最大通信セッション数だけ設けられ,セッションバッファ先頭アドレス及びスタックデータサイズには,それぞれが対応する通信セッション30のチャネル番号(ここでは,「00」,「01」,「02」,「03」)が付与される。 In the session management information shown in FIG. 3, the buffer area start address, the buffer area size, the maximum number of communication sessions and the number of established communication sessions are one, and the session buffer start address and stack data size are provided for the maximum number of communication sessions. The channel number (here, “00”, “01”, “02”, “03”) of the corresponding communication session 30 is assigned to the session buffer head address and the stack data size.
セッションバッファ先頭アドレスの初期値は「0」で,通信セッション30が確立されると,確立された通信セッション30に対応するセッションバッファ先頭アドレスが計算により求められた値に書き換えられ,通信セッション30が閉鎖されると,閉鎖した通信セッション30に対応するセッションバッファ先頭アドレスが初期値に書き換えられる。 The initial value of the session buffer head address is “0”. When the communication session 30 is established, the session buffer head address corresponding to the established communication session 30 is rewritten to the value obtained by calculation, and the communication session 30 When closed, the session buffer head address corresponding to the closed communication session 30 is rewritten to the initial value.
また,スタックデータサイズの初期値は「0」で,端末装置3から通信セッション30のチャネル番号が指定されてデータが送信され,該チャネル番号に対応するセッションバッファ201にデータがスタックされる毎に,データがスタックされたセッションバッファ201に対応するスタックデータサイズにスタックしたデータのサイズが加算され,通信セッション30が閉鎖すると,閉鎖した通信セッション30に対応するスタックデータサイズが初期値に書き換えられる。
In addition, the initial value of the stack data size is “0”, and the data is transmitted from the
図4は,通信セッション30を新規に確立するときの動作を示したフロー図である。通信セッション30を確立するコマンド(例えば,Global PlatformのSELECT CommandやMANAGE CHANNEL Command)を受信するなどして,端末装置3から通信セッション30を確立する指示を受けると(S1),ICカード2のバッファ管理モジュール210が作動し,通信セッション30を新規に確立するときの動作が開始される。
FIG. 4 is a flowchart showing an operation when a communication session 30 is newly established. When an instruction to establish the communication session 30 is received from the
通信セッション30を新規に確立するときの動作が開始されると,バッファ管理モジュール210は,この時点で保持しているセッション管理情報の内容(例えば,バッファ領域サイズ,バッファ領域先頭アドレス,確立済み通信セッションなど)を読み取る(S2)。
When the operation for newly establishing the communication session 30 is started, the
次に,バッファ管理モジュール210は,確立後の通信セッション30の数に応じてバッファ領域200を所定のアルゴリズムに従い分割することで(S3),確立後のセッションそれぞれに割り当てるセッションバッファ201のサイズを計算する(S4)。
Next, the
本発明は、確立後の通信セッション30の数に応じてバッファ領域200を分割するアルゴリズムを規定するものではなく,該アルゴリズムは任意で良いが,本発明の説明を分かり易くするために,該アルゴリズムを,確立後の通信セッション30の数に応じてバッファ領域200を均等に分割するアルゴリズムとし,確立後のセッションバッファ201のサイズは数式1で求められる。
確立後の通信セッション30の数に応じてバッファ領域200を分割すると,数式2に従い,確立後のセッションそれぞれに割り当てるセッションバッファ201のセッションバッファ先頭アドレスを計算し(S5),セッションバッファ先頭アドレスが若い順にチャネル番号の若いセッションに対応させる。
確立後のセッションそれぞれに割り当てるセッションバッファ201のセッションバッファ先頭アドレスを計算すると,バッファ管理モジュール210は,この時点のセッション管理情報に記憶されているスタックデータサイズの値を全て確認し(S6),スタックデータサイズの値の確認結果によって処理を分岐させる(S7)。
When calculating the session buffer head address of the
スタックデータサイズの値が全て「0」であるとき,この時点でバッファ領域200に構成されている全てのセッションバッファ201にデータはスタックされていないことを意味しているため,この時点でバッファ領域200に構成されているセッションバッファ201にスタックされたデータを再配置することなく,セッション管理情報を更新する処理を行い(S9),この手順を終了する。
When all the values of the stack data size are “0”, it means that no data is stacked in all the session buffers 201 configured in the
セッション管理情報を更新する処理(S9)において,バッファ管理モジュール210は,確立済み通信セッション数を一つインクリメントした後,確立後の通信セッション30毎に,該通信セッション30に対応するセッションバッファ先頭アドレスを図4のS5で計算したアドレスに更新する。
In the process of updating the session management information (S9), the
また,スタックデータサイズの値が全て「0」でないとき,この時点で確立されている通信セッション30に対応するセッションバッファ201の全て又は一部にデータがスタックされていることを意味しているため,スタックデータサイズの値が「0」でないセッションバッファ201毎に,該セッションバッファ201にスタックされているデータの先頭アドレスが,図4のS5で計算したセッションバッファ先頭アドレスになるように,該セッションバッファ201にスタックされているデータを再配置するデータ再配置処理を実行した後(S8),セッション管理情報を更新し(S9),この手順を終了する。
Further, when all the values of the stack data size are not “0”, it means that data is stacked on all or part of the
図5は,通信セッション30を確立するときのデータ再配置処理のフロー図である。セッションバッファ201にスタックされているデータを再配置する処理において,まず,バッファ管理モジュール210は,再配置するデータのサイズ,すなわち,対象となるセッションバッファ201にスタックされているデータのサイズと,図4のS4で計算した確立のセッションバッファ201のサイズを比較し(S10),比較結果によって処理を分岐させる(S11)。
FIG. 5 is a flowchart of the data rearrangement process when the communication session 30 is established. In the process of rearranging the data stacked in the
再配置するデータのサイズが,図4のS4で計算したセッションバッファ201のサイズ以下の場合,バッファ管理モジュール210は,対象となるセッションバッファ201にストックされているデータを,図4のS5で計算した先頭アドレスが先頭になるようにコピーする処理を実行することで,確立前にセッションバッファ201の領域にストックされていたデータを,確立後のセッションバッファ201の領域に再配置し(S12),この手順を終了する。
When the size of the data to be rearranged is equal to or smaller than the size of the
また,再配置するデータのサイズが,図4のS4で計算したセッションバッファ201のサイズを超えている場合,バッファ管理モジュール210は,セッションバッファ201の先頭から,図4のS4で計算したセッションバッファ201のサイズのデータを,図4のs5で計算した新たな先頭アドレスが先頭になるようにコピーすることで,確立前にセッションバッファ201の領域にストックされていた一部のデータを,確立後のセッションバッファ201の領域に再配置した後(S13),図4のS4で計算したセッションバッファ201のサイズに収まらない残りのデータを,EEPROM20bの指定された領域内にコピーする処理を実行することで,残りのデータをEEPROM20bに退避させ(S14),この手順を終了する。
If the size of the data to be rearranged exceeds the size of the
なお,EEPROM20bの指定された領域内にデータをコピーした場合,コピー先の先頭アドレスとコピーしたデータのサイズを,対象となるセッションバッファ201のチャネル番号に対応付けてセッション管理情報に記憶させておく。
When data is copied in the designated area of the
図6は,通信セッション30を新規に確立する一例を示した図で,図6(a)は,通信セッション30を新規に確立する前の図で,図6(b)は,通信セッション30を新規に確立した後の図で,図6において,バッファ領域サイズは3600バイトで,バッファ領域先頭アドレスは0xFF2000としている。 FIG. 6 is a diagram showing an example of establishing a new communication session 30, FIG. 6A is a diagram before establishing a new communication session 30, and FIG. 6B is a diagram showing the communication session 30. In the figure after newly established, in FIG. 6, the buffer area size is 3600 bytes, and the buffer area head address is 0xFF2000.
図6(a)によれば,新規に通信セッション30を確立する前に確立されている通信セッション30の数は,チャネル番号が「00」と「01」の2つで,各通信セッション30に対応するセッションバッファ201のサイズは,バッファ領域サイズを2等分した1800バイトで,チャネル番号が「00」の通信セッション30に対応するセッションバッファ先頭アドレスは0xFF2000で,チャネル番号が「01」の通信セッション30に対応するセッションバッファ先頭アドレスは0xFF2708である。
According to FIG. 6A, the number of communication sessions 30 established before establishing a new communication session 30 is two channel numbers “00” and “01”. The size of the
図6(a)の状態から新規に通信セッション30を確立する際,数式1に従えば,新規に通信セッション30を確立した後のセッションバッファ201のサイズは,バッファ領域200のサイズを3等分した1200バイト(3600÷(2+1)=1200)になる。
When a communication session 30 is newly established from the state of FIG. 6A, according to
また,数式2に従えば,新規に通信セッション30を確立した後の各セッションバッファ先頭アドレスは,図6(b)で図示しているように,チャネル番号「00」のセッションバッファ先頭アドレスは0xFF2000(0xFF2000+(0×1200)=0xFF2000)に,チャネル番号「01」のセッションバッファ先頭アドレスは0xFF24B0(0xFF2000+(1×1200)=0xFF24B0)に,チャネル番号「02」のセッションバッファ先頭アドレスは0xFF2960(0xFF2000+(2×1200)=0xFF2960)になる。
Further, according to
なお,上述した説明では,再配置するデータのサイズが,図4のS4で計算したセッションバッファ201のサイズを超えている場合,EEPROM20bにデータを退避するようにしているが,通信セッション30の新規の確立を失敗と判断し,これまでの内容を無効とし,新規に通信セッション30を確立する前の状態を維持し,セッション管理情報の更新を行わないようにすることもできる。
In the above description, when the size of the data to be rearranged exceeds the size of the
次に,通信セッション30を閉鎖するときの処理について説明する。図7は,通信セッション30を閉鎖するときの動作を示したフロー図である。通信セッション30を閉鎖するコマンド(例えば,Global PlatformのMANAGE CHANNEL Command)を受信するなどして,端末装置3から通信セッション30を閉鎖する指示を受けると(S20),ICカード2のバッファ管理モジュール210が作動し,通信セッション30を閉鎖する動作が開始される。
Next, processing when the communication session 30 is closed will be described. FIG. 7 is a flowchart showing an operation when the communication session 30 is closed. When an instruction to close the communication session 30 is received from the
通信セッション30を閉鎖する動作が開始されると,バッファ管理モジュール210は,バッファ管理モジュール210がこの時点で保持しているセッション管理情報に記憶されている情報(例えば,バッファ領域サイズ,バッファ領域200の先頭アドレスなど)を読み取る(S21)。
When the operation of closing the communication session 30 is started, the
次に,バッファ管理モジュール210は,閉鎖後の通信セッション30の数に応じてバッファ領域200を所定のアルゴリズムに従い分割することで(S22),閉鎖後のセッションそれぞれに割り当てるセッションバッファ201のサイズを計算する(S23)。
閉鎖後のセッションそれぞれに割り当てるセッションバッファ201のサイズを計算すると,バッファ管理モジュール210は,数式4に従い,閉鎖後のセッションそれぞれに割り当てるセッションバッファ201のセッションバッファ先頭アドレスを計算し(S24),セッションバッファ先頭アドレスが若い順にチャネル番号の若い通信セッション30を対応させる。
次に,バッファ管理モジュール210は,閉鎖する通信セッション30に対応するスタックデータサイズを除く,全てのスタックデータサイズの値を確認し(S25),スタックデータサイズの値の確認結果によって処理を分岐させる(S26)。
Next, the
確認したスタックデータサイズの値が全て「0」であるとき,この時点でバッファ領域200に構成されている全てのセッションバッファ201にデータがスタックされていないことを意味しているため,この時点でバッファ領域200に構成されているセッションバッファ201にスタックされたデータを再配置することなく,セッション管理情報を更新する処理を行い(S28),この手順を終了する。
When all of the confirmed stack data size values are “0”, this means that no data is stacked in all the session buffers 201 configured in the
セッション管理情報を更新する処理(S28)において,バッファ管理モジュール210は,確立済み通信セッション数を一つデクリメントした後,閉鎖した通信セッション30に対応するセッションバッファ先頭アドレス及びスタックデータサイズを初期化すると共に,他の通信セッション30毎に,該通信セッション30に対応するセッションバッファ先頭アドレスを図7のS24で計算したアドレスに更新する。
In the process of updating the session management information (S28), the
また,確認したスタックデータサイズの値が全て「0」でないとき,閉鎖しない通信セッション30に対応するセッションバッファ201の一部又は全てにデータがスタックされていることを意味しているため,閉鎖する通信セッション30に対応するセッションバッファ201を除き,スタックデータサイズの値が「0」でないセッションバッファ201毎に,該セッションバッファ201にスタックされているデータの先頭が,図7のS24で計算したセッションバッファ先頭アドレスになるように,該セッションバッファ201にスタックされているデータを再配置するデータ再配置処理(S27)を実行した後,セッション管理情報を更新し(S28),この手順を終了する。
Further, when all the values of the confirmed stack data size are not “0”, it means that data is stacked in a part or all of the
図8は,通信セッション30を閉鎖するときのデータ再配置処理のフロー図である。セッションバッファ201にスタックされたデータを再配置する処理において,まず,バッファ管理モジュール210は,再配置するデータのサイズと,図7のS23で計算したセッションバッファ201のサイズを比較し(S30),比較結果によって処理を分岐させる(S31)。
FIG. 8 is a flowchart of data rearrangement processing when the communication session 30 is closed. In the process of rearranging the data stacked in the
なお,上述しているように,セッションバッファ201にスタックされたデータの一部がEEPOMに退避されている場合もあるため,この場合,再配置するデータのサイズとして,EEPOMに退避されているデータのサイズも加える。
As described above, there is a case where a part of the data stacked in the
再配置するデータのサイズが,図7のS23で計算したセッションバッファ201のサイズ以下の場合,バッファ管理モジュール210は,対象となるセッションバッファ201に記憶されているデータを,図7のS24で計算したセッションバッファ先頭アドレスが先頭になるようにコピーする処理を実行することで,閉鎖前にセッションバッファ201の領域にストックされていたデータを,閉鎖後のセッションバッファ201の領域に再配置し(S32),この手順を終了する。
When the size of the data to be rearranged is equal to or smaller than the size of the
通信セッション30を閉鎖する場合,セッションバッファ201のサイズは増加することになるが,データの一部がEEPROM20bに退避されている場合,再配置するデータのサイズが,図7のS23で計算したセッションバッファ201のサイズを超えることがあるため,このような場合,バッファ管理モジュール210は,閉鎖前にセッションバッファ201に記憶されているデータ全てを,図7のS24で計算した先頭アドレスが先頭になるようにコピーすることで,閉鎖前にセッションバッファ201の領域にストックされていた全てのデータを,閉鎖後のセッションバッファ201の領域に再配置した後(S33),セッションバッファ201が全て埋まるまで,EEPROM20bの指定された領域内に退避されているデータをコピーする処理を実行することで,EEPROM20bに退避されているデータの一部又は全てを揮発性メモリに復帰させ(S34),この手順を終了する。
When the communication session 30 is closed, the size of the
なお,EEPROM20bに退避されているデータの一部をRAM20cに復帰させた場合,EEPROM20bに残っているデータのサイズを,対象となるセッションバッファ201のチャネル番号に対応付けてセッション管理情報に記憶させておく。
When a part of the data saved in the
図9は,通信セッション30を閉鎖する一例を示した図で,図9(a)は,通信セッション30を閉鎖する前の図で,図9(b)は,通信セッション30を閉鎖した後の図で,図9において,バッファ領域200のサイズは3600バイトで,先頭アドレスは0xFF2000としている。
FIG. 9 is a diagram showing an example of closing the communication session 30, FIG. 9A is a diagram before closing the communication session 30, and FIG. 9B is a diagram after closing the communication session 30. In FIG. 9, the size of the
図9(a)によれば,通信セッション30を閉鎖する前に確立されている通信セッションの数は,チャネル番号が「00」,「01」,「02」及び「03」の4つで,各通信セッション30に対応するセッションバッファ201のサイズは,バッファ領域サイズを4等分した900バイトで,チャネル番号が「00」の通信セッション30に対応するセッションバッファ先頭アドレスは0xFF2000で,チャネル番号が「01」の通信セッション30に対応するセッションバッファ先頭アドレスは0xFF2384で,チャネル番号が「02」の通信セッション30に対応するセッションバッファ先頭アドレスは0xFF2708で,チャネル番号が「03」の通信セッション30に対応するセッションバッファ先頭アドレスは0xFF2A8Cである。
According to FIG. 9A, the number of communication sessions established before closing the communication session 30 is four channel numbers “00”, “01”, “02”, and “03”. The size of the
図9(a)の状態から,チャネル番号が「02」の通信セッション30を閉鎖する際,数式3に従えば,新規に通信セッション30を確立した後のセッションバッファ201のサイズは,バッファ領域サイズを3等分した1200バイト(3600÷(4―1)=1200)になる。
When the communication session 30 with the channel number “02” is closed from the state of FIG. 9A, according to
また,数式4に従えば,チャネル番号が「02」の通信セッション30を閉鎖した後の各セッションバッファ先頭アドレスは,図9(b)で図示しているように,チャネル番号「00」のセッションバッファ先頭アドレスは0xFF2000(0xFF2000+(0×1200)=0xFF2000)に,チャネル番号「01」のセッションバッファ先頭アドレスは0xFF24B0(0xFF2000+(1×1200)=0xFF24B0)に,チャネル番号「03」のセッションバッファ先頭アドレスは0xFF2960(0xFF2000+(2×1200)=0xFF2960)になる。
Also, according to
ここから,ICカード2に備えられたディスパッチモジュール211について説明する。図10は,ディスパッチモジュール211が実行する処理のフロー図である。端末装置3が,通信セッション30のチャネル番号を指定してICカード2へデータを送信すると,ICカード2のUART20Dが該データを受信し(S40),ICカード2のOSの機能により,UART20Dが受信したデータはAPDUバッファ202に格納される(S41)。
From here, the
UART20Dが受信したデータがAPDUバッファ202に格納されると,ディスパッチモジュール211は,所定のデータ,例えば,コマンドAPDUのCLAの値を確認することで,端末装置3が指定した通信セッション30のチャネル番号を取得し(S42),セッション管理情報を参照し,該チャネル番号に割り当てられたセッションバッファ201に該データをスタックし(S43),該セッションバッファ201の合計サイズに該データのサイズを加算して(S44),この手順を終了する。
When the data received by the UART 20D is stored in the
図1では,端末装置3とICカード2間に4つの通信セッション30が確立され,図1において「#」の後に続く2桁の数字は,通信セッション30のチャネル番号を意味している。例えば,端末装置3が,通信セッション30のチャネル番号「01」を指定してデータをICカード2へ送信すると,ICカード2のUART20Dが端末装置3から受信したデータはAPUDバッファ202へ一旦格納され,ディスパッチモジュール211は,端末装置3が指定したチャネル番号「01」に対応するセッションバッファ201にAPDUバッファ202内のデータをデータ転送し,端末装置3が受信したチャネル番号「01」に対応するセッションバッファ201にスタックする。
In FIG. 1, four communication sessions 30 are established between the
次に,セッション管理情報を端末装置3へ提供するセッション管理情報出力インターフェースについて説明する。この構成情報出力インターフェースは,例えば,セッション管理情報を端末装置3へ通知する独自のコマンドで実現することができ,この場合,端末装置3から該コマンドを受信すると,この時点のセッション管理情報を端末装置3へ送信するレスポンに含ませる処理を実行する。
Next, a session management information output interface for providing session management information to the
最後に,端末装置3が通信セッション30を管理する内容について説明する。図11は,端末装置3に備えられた機能を説明する図である。
Finally, the content that the
図11に図示したように,端末装置3とICカード2間の通信セッション30を管理するために,端末装置3には,ICカード2からセッション管理情報を取得するセッション管理情報取得手段31と,ICカード2から取得したセッション管理情報に基づき,端末装置3とICカード2間に確立する通信セッション30の数と,通信セッション30で送信するデータのサイズを管理する通信セッション管理手段32が備えられ,これらの手段は,端末装置3を作動させるコンピュータプログラムで実現されている。
As shown in FIG. 11, in order to manage a communication session 30 between the
端末装置3のセッション管理情報取得手段31は,通信セッション30を確立/閉鎖する毎に,ICカード2のセッション管理情報出力インターフェース212を利用してセッション管理情報をICカード2から取得する手段で,セッション管理情報出力インターフェース212がコマンドの場合,ICカード2へ該コマンドのAPDUを送信して,ICカード2からセッション管理情報を含むレスポンスを取得する手段になる。
The session management information acquisition means 31 of the
端末装置3の通信セッション管理手段32は,ICカード2から取得したセッション管理情報の最大通信セッション数を超えないように通信セッション30の数を管理し,ICカード2側に比較的大きなデータをまとめて処理させる場合,通信セッション30の数を減らす(例えば,一つにする)などの管理を行う。また,ICカード2から取得したセッション管理情報のセッションバッファ先頭アドレスやスタックデータサイズを参照し,セッションバッファ201のサイズを超えないように,通信セッション30で送信するデータのサイズを調整する動作を行う。
The communication session management means 32 of the
1 ICカードシステム
2 ICカード
20 ICチップ
20b EEPROM
20c RAM
20d UART
200 バッファ領域
201 セッションバッファ
202 APDUバッファ
210 バッファ管理モジュール
211 ディスパッチモジュール
212 セッション管理情報出力インターフェース
3 端末装置
30 通信セッション
31 セッション管理情報取得手段
32 通信セッション管理手段
1
20c RAM
20d UART
DESCRIPTION OF
Claims (8)
各通信セッションはセッションのチャネル番号に対応付けられたセッションバッファを前記固定サイズのバッファ内に保持しており、セッションバッファの数、アドレス、および各セッションバッファに対応するチャネル番号をセッション管理情報として保持しており、
通信セッションを確立/閉鎖する指示を端末装置から受けると,確立/閉鎖後の通信セッションの数に応じて前記バッファ領域を所定のアルゴリズムに従い分割することで、確立/閉鎖後の通信セッションそれぞれに割り当てるセッションバッファのサイズとアドレスを計算し,計算した値を用いて前記セッション管理情報を更新するバッファ管理手段と,
前記セッション管理情報を外部に出力するセッション管理情報出力手段を備えたことを特徴とするICカード。 An IC card that holds a fixed-size buffer area in volatile memory and can open multiple communication sessions in parallel.
Each communication session holds a session buffer associated with the channel number of the session in the fixed size buffer, and the session buffer number, address, and channel number corresponding to each session buffer are held as session management information. And
When receiving an instruction to establish / close a communication session from a terminal device, the buffer area is divided according to a predetermined algorithm according to the number of established / closed communication sessions, and assigned to each established / closed communication session. Buffer management means for calculating the size and address of the session buffer and updating the session management information using the calculated value;
An IC card comprising session management information output means for outputting the session management information to the outside.
The session management means of the terminal device refers to session management information acquired from the IC card, and sets the size of data to be transmitted to the IC card in a communication session for each communication session established between the IC cards. The IC card system according to claim 7, wherein the IC card system is managed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010234062A JP5516314B2 (en) | 2010-10-18 | 2010-10-18 | IC card and IC card system capable of dynamically changing session buffer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010234062A JP5516314B2 (en) | 2010-10-18 | 2010-10-18 | IC card and IC card system capable of dynamically changing session buffer |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012088867A JP2012088867A (en) | 2012-05-10 |
JP5516314B2 true JP5516314B2 (en) | 2014-06-11 |
Family
ID=46260434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010234062A Active JP5516314B2 (en) | 2010-10-18 | 2010-10-18 | IC card and IC card system capable of dynamically changing session buffer |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5516314B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6287335B2 (en) * | 2014-02-28 | 2018-03-07 | 株式会社リコー | Terminal device, information processing system, information transmission method, and program |
JP6833364B2 (en) | 2016-07-01 | 2021-02-24 | 株式会社東芝 | IC card and IC card processing device |
CN112698785B (en) * | 2020-12-10 | 2024-03-29 | 北京握奇智能科技有限公司 | Data updating method of storage device |
-
2010
- 2010-10-18 JP JP2010234062A patent/JP5516314B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012088867A (en) | 2012-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4806639B2 (en) | Secure device and IC card issuing system | |
JP4888742B2 (en) | Information processing apparatus and method, and program | |
TW201028858A (en) | Method, system and controller thereof for transmitting data stream | |
JP5516314B2 (en) | IC card and IC card system capable of dynamically changing session buffer | |
EP1868097B1 (en) | Integrated circuit chip, data reading method and data writing method | |
US10430177B2 (en) | Method for updating a package | |
US8517252B2 (en) | Method, server and mobile communication device for managing unique memory device identifications | |
US10387054B2 (en) | Secure element including a non-volatile memory and methods for saving and restoring data including defragmenting and compressing data stored in occupied and free regions | |
US8595318B2 (en) | Portable data carrier comprising a web server | |
CN101273369A (en) | Smartcard power management | |
EP2890171A1 (en) | Method for allowing an access control enforcer to access to rules of a secure element with a single specific command, and associated device | |
US20150351113A1 (en) | Portable electronic device | |
US20050138320A1 (en) | Memory allocation unit | |
EP4258152A1 (en) | Managing memory of a secure element domain, electronic device and method | |
JP7444197B2 (en) | Electronic information storage medium, cryptographic operation method selection method, and program | |
KR100615890B1 (en) | Method for patching smart card operating system | |
JP6866622B2 (en) | Storage medium device and program | |
EP4390735A1 (en) | Update agent with linear memory | |
KR102020674B1 (en) | Issuing method and storing method of user data based on specific personalization command for IC card | |
CN115729600A (en) | NVDIMM (non-volatile memory Module) upgrading method and device, electronic equipment and computer storage medium | |
EP1865436A1 (en) | A personal token with enhanced communication ability by predicting an upcoming command | |
JP2018147345A (en) | Electronic device | |
KR20220041857A (en) | Dynamic adaptation of secure element execution environment to profiles | |
KR20140038307A (en) | Ic card and ic card control method | |
JP2008090799A (en) | Information recording medium with built-in cpu and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130808 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20130823 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140226 |
|
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: 20140304 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140317 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5516314 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |