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 PDF

Info

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
Application number
JP2010234062A
Other languages
Japanese (ja)
Other versions
JP2012088867A (en
Inventor
正徳 浅野
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co 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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2010234062A priority Critical patent/JP5516314B2/en
Publication of JP2012088867A publication Critical patent/JP2012088867A/en
Application granted granted Critical
Publication of JP5516314B2 publication Critical patent/JP5516314B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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, Patent Document 1 discloses an invention that increases the buffer area by allocating another memory area to the buffer area when the size of the unused area in the buffer area to which the received data is written decreases to a predetermined size. ing.

また,特許文献2では,バッファとして利用可能な領域を同一サイズからなるセグメント単位で複数のセルに分割し、一部のセルによってバッファ領域を構成しておき,バッファ領域内の未使用領域のサイズが所定サイズまで減少すると,未使用のセルをバッファ領域に追加する発明が開示されている。   Further, in Patent Document 2, an area that can be used as a buffer is divided into a plurality of cells in segment units of the same size, and a buffer area is configured by some cells, and the size of an unused area in the buffer area An invention is disclosed in which an unused cell is added to a buffer area when the size is reduced to a predetermined size.

上述した先行技術は,端末装置から送信されるデータの容量に合わせて,バッファ領域のサイズを増やすための発明であり,ある程度の揮発性メモリの容量を確保できるパーソナルコンピュータなどを対象装置として想定しているが,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.

特開平8-221318号公報JP-A-8-221318 特開平10-91515号公報JP-A-10-91515

そこで,本発明は,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.

本実施形態に係るICカードシステムを説明する図。The figure explaining the IC card system concerning this embodiment. ICカードのソフトウェアの階層図。IC card software hierarchy diagram. セッション管理情報を説明する図。The figure explaining session management information. 通信セッションを新規に確立するときの動作を示したフロー図。The flowchart which showed the operation | movement when establishing a communication session newly. 通信セッションを確立するときのデータ再配置処理のフロー図。The flow figure of the data rearrangement process when establishing a communication session. 通信セッションを新規に確立する一例を示した図。The figure which showed an example which establishes a communication session newly. 通信セッションを閉鎖するときの動作を示したフロー図。The flowchart which showed the operation | movement when closing a communication session. 通信セッションを閉鎖するときのデータ再配置処理のフロー図。The flowchart of the data rearrangement process when closing a communication session. 通信セッションを閉鎖する一例を示した図。The figure which showed an example which closes a communication session. ディスパッチモジュールが実行する処理のフロー図。The flowchart of the process which a dispatch module performs. 端末装置に備えられた機能を説明する図。The figure explaining the function with which the terminal device was equipped.

ここから,本願発明の実施形態について,発明の技術分野に係わる当業者が,発明の内容を理解し,本願発明を実施できる程度に説明する。   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 card system 1 according to the present embodiment. The IC card system 1 according to the present embodiment includes at least an IC card 2 on which an IC chip 20 is mounted and a terminal device 3 that uses the IC card 2, and specific forms of the IC card 2 and the terminal device 3. Depends on the application of the IC card system 1.

例えば,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 card system 1 is a financial system, the IC card 2 is a cash card / credit card, and the terminal device 3 is an automatic teller machine or a credit terminal that cooperates with the IC card 2. When the IC card system 1 is a mobile phone / smart phone, the terminal device 3 is a mobile phone / smart phone, and the IC card 2 is a SIM / USIM (Subscriber Identity Module / Universal Subscriber Identity Module) mounted on the mobile phone / smart phone. )become.

金融関係のシステムや携帯電話などでICカード2が利用される場合,ICカード2に実装されているアプリケーションを起動させるとき,起動したアプリケーション用の通信セッション30が確立され,ICカード2内には,ICカード2と端末装置3間に確立された通信セッション30により,端末装置3がアプリケーションに対して送信したデータをストックするセッションバッファ201がICカード2の揮発性メモリ(RAM20c)に設けられる。   When the IC card 2 is used in a financial system or a mobile phone, when the application mounted on the IC card 2 is started, a communication session 30 for the started application is established, and the IC card 2 The session buffer 201 for stocking data transmitted from the terminal device 3 to the application by the communication session 30 established between the IC card 2 and the terminal device 3 is provided in the volatile memory (RAM 20c) of the IC card 2.

昨今の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 recent IC card 2, the IC card 2 can process a plurality of communication sessions 30 in parallel, and can process relatively large data (for example, 256-byte data) collectively. Every time a new communication session 30 is established between the IC card 2 and the terminal device 3, a session buffer 201 having a predetermined size (for example, 256 bytes) may be newly provided in the RAM 20c. As long as it is possible, the size of the RAM 20c of the IC chip 20 mounted on the IC card 2 is relatively small (for example, several Kbytes), and each time a communication session 30 is newly established in the IC card 2, a predetermined size is set. It is difficult to newly provide the session buffer 201 in the RAM 20c.

そこで,本実施形態のICカード2では,セッションバッファ201として利用する固定サイズのバッファ領域200を予めRAM20cに設け,通信セッション30を確立/閉鎖する指示を端末装置3から受けとき,確立/閉鎖後の通信セッション30の数に応じて,ソフトウェア的に一つ又は複数のセッションバッファ201にバッファ領域200を分割し,確立/閉鎖後の各通信セッション30に一つのセッションバッファ201を割り当てることで,上述した2つの要求を満たせるようにしている。   Therefore, in the IC card 2 of the present embodiment, a fixed-size buffer area 200 used as the session buffer 201 is provided in the RAM 20c in advance, and when an instruction to establish / close the communication session 30 is received from the terminal device 3, By dividing the buffer area 200 into one or a plurality of session buffers 201 in software according to the number of communication sessions 30 and assigning one session buffer 201 to each communication session 30 after establishment / closure, To meet these two requirements.

サイズが固定のバッファ領域200を通信セッション30の数に応じて分割することで,ICカード2が複数の通信セッション30を並行に処理可能になり,また,通信セッション30の数に応じてセッションバッファ201のサイズは縮小/拡大するため,端末装置3側で,ICカード2間に確立する通信セッション30の数を目的に応じて管理すれば,ICカード2側で,比較的大きなデータ(例えば,256バイトのデータ)をまとめて処理可能になる。   By dividing the buffer area 200 having a fixed size according to the number of communication sessions 30, the IC card 2 can process a plurality of communication sessions 30 in parallel, and the session buffer according to the number of communication sessions 30. Since the size of 201 is reduced / expanded, if the number of communication sessions 30 established between the IC cards 2 is managed according to the purpose on the terminal device 3 side, relatively large data (for example, 256 bytes of data) can be processed together.

すなわち,端末装置3とICカード2間に確立する通信セッション30の数を少なくすればセッションバッファ201のサイズは大きくなり,通信セッション30の数を多くすればセッションバッファ201のサイズは小さくなるため,ICカード2側に,比較的大きなデータ(例えば,256バイトのデータ)をまとめて処理させたい場合,比較的大きなデータを考慮して,通信セッション30の数を管理すればよい。   That is, if the number of communication sessions 30 established between the terminal device 3 and the IC card 2 is reduced, the size of the session buffer 201 is increased. If the number of communication sessions 30 is increased, the size of the session buffer 201 is reduced. When relatively large data (for example, 256-byte data) is to be processed collectively on the IC card 2 side, the number of communication sessions 30 may be managed in consideration of relatively large data.

更に,本実施形態では,通信セッション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 terminal device 3, the number of session buffers 201 provided in the RAM 20c of the IC card 2 is changed, thereby generating overhead related to the processing. Can be limited to when the communication session 30 is established / closed.

また,端末装置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 terminal device 3 side, information related to the session buffer 201 in the IC card 2 is required. Therefore, the IC card 2 of the present embodiment includes the number of session buffers 201. Are stored in session management information corresponding to the channel number of the communication session 30 to which the session buffer 201 corresponds, and the terminal device 3 is provided with means for providing the session management information to the terminal device 3. The function of managing the number of communication sessions 30 and the size of data to be transmitted in the communication session 30 according to the session management information acquired from the communication session 30 is provided.

まず,図1で図示したICカード2について説明する。図1に図示したように,ICカード2は,不揮発性メモリであるROM20a,電気的に書き換え可能な不揮発性メモリであるEEPROM20b,揮発性メモリであるRAM20c,ROM20aやEEPROM20bに実装されたコンピュータプログラムを実行するCPU20e,端末装置3との通信プロトコルに対応したUART20dを有するICチップ20が実装されたカードで,端末装置3から受信したデータを格納する一つのAPDUバッファ202とバッファ領域200はRAM20cに構成されている。   First, the IC card 2 shown in FIG. 1 will be described. As shown in FIG. 1, the IC card 2 includes a ROM 20a that is a nonvolatile memory, an EEPROM 20b that is an electrically rewritable nonvolatile memory, a RAM 20c that is a volatile memory, a computer program mounted on the ROM 20a and the EEPROM 20b. The CPU 20e to be executed and the card on which the IC chip 20 having the UART 20d corresponding to the communication protocol with the terminal device 3 is mounted. One APDU buffer 202 for storing data received from the terminal device 3 and the buffer area 200 are configured in the RAM 20c. Has been.

なお,図1では,本発明を説明するのに必要な最小なICチップ20の要素のみを記載している。図1で図示した以外にも,タイマー,セキュアチャネルプロトコルで利用する暗号演算回路などがICチップ20には実装される。   In FIG. 1, only the minimum elements of the IC chip 20 necessary for explaining the present invention are shown. In addition to those illustrated in FIG. 1, a timer, a cryptographic operation circuit used in the secure channel protocol, and the like are mounted on the IC chip 20.

図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 card 2. The software hierarchy of the IC card 2 is the hardware (IC chip 20), the operating system 21 (OS: Operating System), and the application 22 operating on the OS 21 in order from the lowest order. As one of the functions, a buffer that functions as a buffer management unit that dynamically changes the number and size of the session buffers 201 provided in the buffer area 200 according to the number of communication sessions 30 established between the terminal devices 3. When data is transmitted from the management module 210 and the terminal device 3 with the channel number of the communication session 30 specified, dispatch that refers to the session management information and stacks the data in the session buffer 201 assigned to the channel number Dispatch module that acts as a means 11, has a session management information output interface 212 which functions as the session management information output means for providing session management information indicating the configuration status of the session buffer 201 that is configured in the IC card 2 to the terminal device 3.

まず,ICカード2に実装されるバッファ管理モジュール210について説明する。バッファ管理モジュール210は,端末装置3から通信セッション30を確立/閉鎖する指示を受けると,確立/閉鎖後の通信セッション30の数に応じてセッションバッファ201の数とサイズを動的に変更し,変更後の内容を,ICカード2のRAM20c又はEEPROM20bに設けられるセッション管理情報に反映させる処理を行うコンピュータプログラムである。   First, the buffer management module 210 mounted on the IC card 2 will be described. When the buffer management module 210 receives an instruction to establish / close the communication session 30 from the terminal device 3, the buffer management module 210 dynamically changes the number and size of the session buffers 201 according to the number of the communication sessions 30 after establishment / closure, It is a computer program that performs processing for reflecting the changed contents in the session management information provided in the RAM 20c or the EEPROM 20b of the IC card 2.

図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 session buffer 201 is stored. As shown in FIG. 3, in this embodiment, the session management information includes, as information related to the buffer area 200 provided in the RAM 20 c of the IC card 2, a buffer area start address that is the start address of the buffer area 200, and a buffer area The buffer area size indicating the size of 200 is included, and further, as information related to the session buffer 201, the maximum number of communication sessions 30 that can be established, that is, the maximum number indicating the maximum number of session buffers 201 that can be configured in the buffer area 200 The number of communication sessions, the number of established communication sessions 30, that is, the number of established communication sessions 30 indicating the number of session buffers 201 configured in the buffer area 200, and the session buffer that is the head address of each session buffer 201 lead Dress includes stack data size indicating the total size of the stack data in each session buffer 201.

図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 terminal device 3 by designating the channel number of the communication session 30, and every time data is stacked in the session buffer 201 corresponding to the channel number. When the communication session 30 is closed by adding the stack data size to the stack data size corresponding to the session buffer 201 in which the data is stacked, the stack data size corresponding to the closed communication session 30 is rewritten to the initial value.

図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 terminal device 3 by receiving a command for establishing the communication session 30 (for example, Global Platform SELECT Command or MANAGE CHANNEL Command) (S1), the buffer of the IC card 2 The management module 210 is activated, and an operation when a communication session 30 is newly established is started.

通信セッション30を新規に確立するときの動作が開始されると,バッファ管理モジュール210は,この時点で保持しているセッション管理情報の内容(例えば,バッファ領域サイズ,バッファ領域先頭アドレス,確立済み通信セッションなど)を読み取る(S2)。   When the operation for newly establishing the communication session 30 is started, the buffer management module 210 reads the contents of the session management information held at this time (for example, buffer area size, buffer area head address, established communication) Session etc.) is read (S2).

次に,バッファ管理モジュール210は,確立後の通信セッション30の数に応じてバッファ領域200を所定のアルゴリズムに従い分割することで(S3),確立後のセッションそれぞれに割り当てるセッションバッファ201のサイズを計算する(S4)。   Next, the buffer management module 210 divides the buffer area 200 according to a predetermined algorithm according to the number of established communication sessions 30 (S3), thereby calculating the size of the session buffer 201 allocated to each established session. (S4).

本発明は、確立後の通信セッション30の数に応じてバッファ領域200を分割するアルゴリズムを規定するものではなく,該アルゴリズムは任意で良いが,本発明の説明を分かり易くするために,該アルゴリズムを,確立後の通信セッション30の数に応じてバッファ領域200を均等に分割するアルゴリズムとし,確立後のセッションバッファ201のサイズは数式1で求められる。

Figure 0005516314
The present invention does not define an algorithm for dividing the buffer area 200 in accordance with the number of established communication sessions 30, and the algorithm may be arbitrary. However, in order to make the explanation of the present invention easier to understand, the algorithm Is an algorithm that equally divides the buffer area 200 in accordance with the number of established communication sessions 30, and the size of the established session buffer 201 is obtained by Equation 1.
Figure 0005516314

確立後の通信セッション30の数に応じてバッファ領域200を分割すると,数式2に従い,確立後のセッションそれぞれに割り当てるセッションバッファ201のセッションバッファ先頭アドレスを計算し(S5),セッションバッファ先頭アドレスが若い順にチャネル番号の若いセッションに対応させる。

Figure 0005516314
When the buffer area 200 is divided according to the number of established communication sessions 30, the session buffer head address of the session buffer 201 assigned to each established session is calculated according to Equation 2 (S5), and the session buffer head address is young. Corresponding to sessions with a lower channel number in order.
Figure 0005516314

確立後のセッションそれぞれに割り当てるセッションバッファ201のセッションバッファ先頭アドレスを計算すると,バッファ管理モジュール210は,この時点のセッション管理情報に記憶されているスタックデータサイズの値を全て確認し(S6),スタックデータサイズの値の確認結果によって処理を分岐させる(S7)。   When calculating the session buffer head address of the session buffer 201 assigned to each established session, the buffer management module 210 confirms all the stack data size values stored in the session management information at this time (S6), The process branches depending on the result of checking the data size value (S7).

スタックデータサイズの値が全て「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 buffer area 200 at this time. Processing for updating the session management information is performed without rearranging the data stacked in the session buffer 201 configured in 200 (S9), and this procedure is terminated.

セッション管理情報を更新する処理(S9)において,バッファ管理モジュール210は,確立済み通信セッション数を一つインクリメントした後,確立後の通信セッション30毎に,該通信セッション30に対応するセッションバッファ先頭アドレスを図4のS5で計算したアドレスに更新する。   In the process of updating the session management information (S9), the buffer management module 210 increments the number of established communication sessions by one and then sets the session buffer head address corresponding to the communication session 30 for each established communication session 30. Is updated to the address calculated in S5 of FIG.

また,スタックデータサイズの値が全て「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 session buffer 201 corresponding to the communication session 30 established at this time. For each session buffer 201 whose stack data size value is not “0”, the session buffer 201 is set so that the start address of the data stacked in the session buffer 201 becomes the session buffer start address calculated in S5 of FIG. After executing a data rearrangement process for rearranging data stacked in the buffer 201 (S8), the session management information is updated (S9), and this procedure is terminated.

図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 session buffer 201, the buffer management module 210 first determines the size of the data to be rearranged, that is, the size of the data stacked in the target session buffer 201, 4 is compared with the size of the established session buffer 201 calculated in S4 (S10), and the process branches depending on the comparison result (S11).

再配置するデータのサイズが,図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 session buffer 201 calculated in S4 of FIG. 4, the buffer management module 210 calculates the data stored in the target session buffer 201 in S5 of FIG. By executing the process of copying so that the first address becomes the first, the data stocked in the session buffer 201 area before establishment is rearranged in the session buffer 201 area after establishment (S12), End this procedure.

また,再配置するデータのサイズが,図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 session buffer 201 calculated in S4 of FIG. 4, the buffer management module 210 starts the session buffer calculated in S4 of FIG. By copying the data of size 201 so that the new head address calculated in s5 of FIG. 4 is at the head, a part of the data stocked in the session buffer 201 area before the establishment is copied After the data is rearranged in the session buffer 201 area (S13), the remaining data that does not fit in the size of the session buffer 201 calculated in S4 of FIG. 4 is copied into the designated area of the EEPROM 20b. The remaining data is saved in the EEPROM 20b (S14), and this procedure is completed. That.

なお,EEPROM20bの指定された領域内にデータをコピーした場合,コピー先の先頭アドレスとコピーしたデータのサイズを,対象となるセッションバッファ201のチャネル番号に対応付けてセッション管理情報に記憶させておく。   When data is copied in the designated area of the EEPROM 20b, the start address of the copy destination and the size of the copied data are stored in the session management information in association with the channel number of the target session buffer 201. .

図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 corresponding session buffer 201 is 1800 bytes obtained by dividing the buffer area size into two, the session buffer head address corresponding to the communication session 30 with the channel number “00” is 0xFF2000, and the communication with the channel number “01”. The session buffer head address corresponding to the session 30 is 0xFF2708.

図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 Equation 1, the size of the session buffer 201 after newly establishing the communication session 30 is divided into three equal sizes of the buffer area 200. 1200 bytes (3600 ÷ (2 + 1) = 1200).

また,数式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 Equation 2, each session buffer head address after newly establishing the communication session 30 is 0xFF2000, as shown in FIG. 6B, the session buffer head address of the channel number “00” is 0xFF2000. (0xFF2000 + (0 × 1200) = 0xFF2000), the session buffer head address of channel number “01” is 0xFF24B0 (0xFF2000 + (1 × 1200) = 0xFF24B0), and the session buffer head address of channel number “02” is 0xFF2960 (0xFF2000 + (2 × 1200) = 0xFF2960).

なお,上述した説明では,再配置するデータのサイズが,図4のS4で計算したセッションバッファ201のサイズを超えている場合,EEPROM20bにデータを退避するようにしているが,通信セッション30の新規の確立を失敗と判断し,これまでの内容を無効とし,新規に通信セッション30を確立する前の状態を維持し,セッション管理情報の更新を行わないようにすることもできる。   In the above description, when the size of the data to be rearranged exceeds the size of the session buffer 201 calculated in S4 of FIG. 4, the data is saved in the EEPROM 20b. It is also possible to determine that the establishment of the communication session 30 has failed, invalidate the contents so far, maintain the state before newly establishing the communication session 30, and not update the session management information.

次に,通信セッション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 terminal device 3 by receiving a command for closing the communication session 30 (for example, MANAGE CHANNEL Command of Global Platform) (S20), the buffer management module 210 of the IC card 2 is received. Is activated, and the operation of closing the communication session 30 is started.

通信セッション30を閉鎖する動作が開始されると,バッファ管理モジュール210は,バッファ管理モジュール210がこの時点で保持しているセッション管理情報に記憶されている情報(例えば,バッファ領域サイズ,バッファ領域200の先頭アドレスなど)を読み取る(S21)。   When the operation of closing the communication session 30 is started, the buffer management module 210 receives information stored in the session management information held by the buffer management module 210 at this time (for example, buffer area size, buffer area 200). Is read (S21).

次に,バッファ管理モジュール210は,閉鎖後の通信セッション30の数に応じてバッファ領域200を所定のアルゴリズムに従い分割することで(S22),閉鎖後のセッションそれぞれに割り当てるセッションバッファ201のサイズを計算する(S23)。

Figure 0005516314
Next, the buffer management module 210 divides the buffer area 200 according to a predetermined algorithm according to the number of communication sessions 30 after closing (S22), thereby calculating the size of the session buffer 201 allocated to each of the closed sessions. (S23).
Figure 0005516314

閉鎖後のセッションそれぞれに割り当てるセッションバッファ201のサイズを計算すると,バッファ管理モジュール210は,数式4に従い,閉鎖後のセッションそれぞれに割り当てるセッションバッファ201のセッションバッファ先頭アドレスを計算し(S24),セッションバッファ先頭アドレスが若い順にチャネル番号の若い通信セッション30を対応させる。

Figure 0005516314
When the size of the session buffer 201 assigned to each session after closing is calculated, the buffer management module 210 calculates the session buffer head address of the session buffer 201 assigned to each session after closing according to Equation 4 (S24). The communication sessions 30 with the youngest channel numbers are associated in ascending order of the head address.
Figure 0005516314

次に,バッファ管理モジュール210は,閉鎖する通信セッション30に対応するスタックデータサイズを除く,全てのスタックデータサイズの値を確認し(S25),スタックデータサイズの値の確認結果によって処理を分岐させる(S26)。   Next, the buffer management module 210 confirms all stack data size values except the stack data size corresponding to the communication session 30 to be closed (S25), and branches the process depending on the confirmation result of the stack data size value. (S26).

確認したスタックデータサイズの値が全て「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 buffer area 200 at this time. The process of updating the session management information is performed without rearranging the data stacked in the session buffer 201 configured in the buffer area 200 (S28), and this procedure is terminated.

セッション管理情報を更新する処理(S28)において,バッファ管理モジュール210は,確立済み通信セッション数を一つデクリメントした後,閉鎖した通信セッション30に対応するセッションバッファ先頭アドレス及びスタックデータサイズを初期化すると共に,他の通信セッション30毎に,該通信セッション30に対応するセッションバッファ先頭アドレスを図7のS24で計算したアドレスに更新する。   In the process of updating the session management information (S28), the buffer management module 210 decrements the number of established communication sessions by one and then initializes the session buffer head address and stack data size corresponding to the closed communication session 30. At the same time, for each other communication session 30, the session buffer head address corresponding to the communication session 30 is updated to the address calculated in S24 of FIG.

また,確認したスタックデータサイズの値が全て「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 session buffer 201 corresponding to the communication session 30 that is not closed, and is closed. Except for the session buffer 201 corresponding to the communication session 30, for each session buffer 201 whose stack data size value is not “0”, the top of the data stacked in the session buffer 201 is the session calculated in S24 of FIG. After executing the data rearrangement process (S27) for rearranging the data stacked in the session buffer 201 so as to become the buffer head address, the session management information is updated (S28), and this procedure is terminated.

図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 session buffer 201, first, the buffer management module 210 compares the size of the data to be rearranged with the size of the session buffer 201 calculated in S23 of FIG. 7 (S30), The process branches depending on the comparison result (S31).

なお,上述しているように,セッションバッファ201にスタックされたデータの一部がEEPOMに退避されている場合もあるため,この場合,再配置するデータのサイズとして,EEPOMに退避されているデータのサイズも加える。   As described above, there is a case where a part of the data stacked in the session buffer 201 is saved in the EEPOM. In this case, the data saved in the EEPOM is used as the size of the data to be rearranged. Add the size of.

再配置するデータのサイズが,図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 session buffer 201 calculated in S23 of FIG. 7, the buffer management module 210 calculates the data stored in the target session buffer 201 in S24 of FIG. By executing the copy process so that the session buffer head address becomes the head, the data stored in the session buffer 201 area before closing is rearranged in the session buffer 201 area after closing (S32). ), And finish this procedure.

通信セッション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 session buffer 201 increases. However, when a part of the data is saved in the EEPROM 20b, the size of the data to be rearranged is the session calculated in S23 of FIG. Since the size of the buffer 201 may be exceeded, in such a case, the buffer management module 210 starts with the top address calculated in S24 of FIG. 7 for all data stored in the session buffer 201 before closing. By copying in this way, after all the data stocked in the session buffer 201 area before closing is rearranged in the area of the session buffer 201 after closing (S33), until the session buffer 201 is completely filled, Data saved in the specified area of the EEPROM 20b The By executing the processing for copying, to return some or all of the data saved in EEPROM20b the volatile memory (S34), and ends this procedure.

なお,EEPROM20bに退避されているデータの一部をRAM20cに復帰させた場合,EEPROM20bに残っているデータのサイズを,対象となるセッションバッファ201のチャネル番号に対応付けてセッション管理情報に記憶させておく。   When a part of the data saved in the EEPROM 20b is restored to the RAM 20c, the size of the data remaining in the EEPROM 20b is stored in the session management information in association with the channel number of the target session buffer 201. deep.

図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 buffer area 200 is 3600 bytes, and the top address is 0xFF2000.

図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 session buffer 201 corresponding to each communication session 30 is 900 bytes obtained by equally dividing the buffer area size into four, the session buffer head address corresponding to the communication session 30 with the channel number “00” is 0xFF2000, and the channel number is The session buffer start address corresponding to the communication session 30 of “01” is 0xFF2384, the session buffer start address corresponding to the communication session 30 of channel number “02” is 0xFF2708, and the communication session 30 of channel number “03” is assigned. Corresponding session buffer top address is 0xFF It is A8C.

図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 Equation 3, the size of the session buffer 201 after newly establishing the communication session 30 is the buffer area size. Is equal to 1200 bytes (3600 ÷ (4-1) = 1200).

また,数式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 Equation 4, each session buffer head address after closing the communication session 30 with the channel number “02” is the session number with the channel number “00” as shown in FIG. 9B. The buffer start address is 0xFF2000 (0xFF2000 + (0 × 1200) = 0xFF2000), the session buffer start address of channel number “01” is 0xFF24B0 (0xFF2000 + (1 × 1200) = 0xFF24B0), and the session buffer start of channel number “03” The address is 0xFF2960 (0xFF2000 + (2 × 1200) = 0xFF2960).

ここから,ICカード2に備えられたディスパッチモジュール211について説明する。図10は,ディスパッチモジュール211が実行する処理のフロー図である。端末装置3が,通信セッション30のチャネル番号を指定してICカード2へデータを送信すると,ICカード2のUART20Dが該データを受信し(S40),ICカード2のOSの機能により,UART20Dが受信したデータはAPDUバッファ202に格納される(S41)。   From here, the dispatch module 211 provided in the IC card 2 will be described. FIG. 10 is a flowchart of processing executed by the dispatch module 211. When the terminal device 3 specifies the channel number of the communication session 30 and transmits data to the IC card 2, the UART 20D of the IC card 2 receives the data (S40), and the UART 20D receives the data according to the OS function of the IC card 2. The received data is stored in the APDU buffer 202 (S41).

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 APDU buffer 202, the dispatch module 211 confirms predetermined data, for example, the CLA value of the command APDU, to thereby determine the channel number of the communication session 30 specified by the terminal device 3. (S42), referring to the session management information, stacking the data in the session buffer 201 assigned to the channel number (S43), and adding the size of the data to the total size of the session buffer 201 (S44), this procedure is terminated.

図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 terminal device 3 and the IC card 2, and the two-digit number following “#” in FIG. 1 means the channel number of the communication session 30. For example, when the terminal device 3 specifies the channel number “01” of the communication session 30 and transmits data to the IC card 2, the data received by the UART 20 D of the IC card 2 from the terminal device 3 is temporarily stored in the APUD buffer 202. , The dispatch module 211 transfers the data in the APDU buffer 202 to the session buffer 201 corresponding to the channel number “01” designated by the terminal device 3, and the session corresponding to the channel number “01” received by the terminal device 3. Stack in the buffer 201.

次に,セッション管理情報を端末装置3へ提供するセッション管理情報出力インターフェースについて説明する。この構成情報出力インターフェースは,例えば,セッション管理情報を端末装置3へ通知する独自のコマンドで実現することができ,この場合,端末装置3から該コマンドを受信すると,この時点のセッション管理情報を端末装置3へ送信するレスポンに含ませる処理を実行する。   Next, a session management information output interface for providing session management information to the terminal device 3 will be described. This configuration information output interface can be realized by, for example, a unique command for notifying the terminal device 3 of session management information. In this case, when the command is received from the terminal device 3, the session management information at this time is transmitted to the terminal device. The process included in the response to be transmitted to the device 3 is executed.

最後に,端末装置3が通信セッション30を管理する内容について説明する。図11は,端末装置3に備えられた機能を説明する図である。   Finally, the content that the terminal device 3 manages the communication session 30 will be described. FIG. 11 is a diagram illustrating functions provided in the terminal device 3.

図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 terminal device 3 and the IC card 2, the terminal device 3 includes a session management information acquisition unit 31 that acquires session management information from the IC card 2, Communication session management means 32 for managing the number of communication sessions 30 established between the terminal device 3 and the IC card 2 and the size of data transmitted in the communication session 30 based on the session management information acquired from the IC card 2 is provided. These means are realized by a computer program for operating the terminal device 3.

端末装置3のセッション管理情報取得手段31は,通信セッション30を確立/閉鎖する毎に,ICカード2のセッション管理情報出力インターフェース212を利用してセッション管理情報をICカード2から取得する手段で,セッション管理情報出力インターフェース212がコマンドの場合,ICカード2へ該コマンドのAPDUを送信して,ICカード2からセッション管理情報を含むレスポンスを取得する手段になる。   The session management information acquisition means 31 of the terminal device 3 is means for acquiring session management information from the IC card 2 using the session management information output interface 212 of the IC card 2 every time the communication session 30 is established / closed. When the session management information output interface 212 is a command, it becomes a means for transmitting an APDU of the command to the IC card 2 and acquiring a response including the session management information from the IC card 2.

端末装置3の通信セッション管理手段32は,ICカード2から取得したセッション管理情報の最大通信セッション数を超えないように通信セッション30の数を管理し,ICカード2側に比較的大きなデータをまとめて処理させる場合,通信セッション30の数を減らす(例えば,一つにする)などの管理を行う。また,ICカード2から取得したセッション管理情報のセッションバッファ先頭アドレスやスタックデータサイズを参照し,セッションバッファ201のサイズを超えないように,通信セッション30で送信するデータのサイズを調整する動作を行う。   The communication session management means 32 of the terminal device 3 manages the number of communication sessions 30 so as not to exceed the maximum number of communication sessions of the session management information acquired from the IC card 2, and collects relatively large data on the IC card 2 side. In the case of processing, management such as reducing the number of communication sessions 30 (for example, making it one) is performed. Further, the session buffer start address and the stack data size of the session management information acquired from the IC card 2 are referred to, and an operation for adjusting the size of data transmitted in the communication session 30 is performed so as not to exceed the size of the session buffer 201. .

1 ICカードシステム
2 ICカード
20 ICチップ
20b EEPROM
20c RAM
20d UART
200 バッファ領域
201 セッションバッファ
202 APDUバッファ
210 バッファ管理モジュール
211 ディスパッチモジュール
212 セッション管理情報出力インターフェース
3 端末装置
30 通信セッション
31 セッション管理情報取得手段
32 通信セッション管理手段
1 IC card system 2 IC card 20 IC chip 20b EEPROM
20c RAM
20d UART
DESCRIPTION OF SYMBOLS 200 Buffer area 201 Session buffer 202 APDU buffer 210 Buffer management module 211 Dispatch module 212 Session management information output interface 3 Terminal device 30 Communication session 31 Session management information acquisition means 32 Communication session management means

Claims (8)

揮発性メモリ内に固定サイズのバッファ領域を保持し、複数の通信セッションを並行して開設できるICカードであって、
各通信セッションはセッションのチャネル番号に対応付けられたセッションバッファを前記固定サイズのバッファ内に保持しており、セッションバッファの数、アドレス、および各セッションバッファに対応するチャネル番号をセッション管理情報として保持しており、
通信セッションを確立/閉鎖する指示を端末装置から受けると,確立/閉鎖後の通信セッションの数に応じて前記バッファ領域を所定のアルゴリズムに従い分割することで、確立/閉鎖後の通信セッションそれぞれに割り当てるセッションバッファのサイズとアドレスを計算し,計算した値を用いて前記セッション管理情報を更新するバッファ管理手段と,
前記セッション管理情報を外部に出力するセッション管理情報出力手段を備えたことを特徴とする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.
前記セッション管理情報には,セッションバッファにスタックしたデータの合計サイズがセッションバッファ毎に記憶され,端末装置からセッションのチャネル番号が指定されてデータが送信されると,前記セッション管理情報を参照し,該チャネル番号に割り当てられたセッションバッファに該データをスタックし,該セッションバッファの合計サイズに該データのサイズを加算するディスパッチ手段を備えたことを特徴とする,請求項1に記載のICカード。   In the session management information, 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 by specifying the session channel number, the session management information is referred to, 2. The IC card according to claim 1, further comprising dispatch means for stacking the data in a session buffer assigned to the channel number and adding the size of the data to the total size of the session buffer. 前記バッファ管理手段は,前記セッション管理情報を更新する前に,確立/閉鎖後のセッションそれぞれに割り当てるセッションバッファのアドレスに従い,確立/閉鎖前にセッションバッファにストックされていたデータを,確立/閉鎖後のセッションバッファに再配置することを特徴とする,請求項2に記載のICカード。   Before updating the session management information, the buffer management means, according to the address of the session buffer assigned to each session established / closed, updates the data stored in the session buffer before establishment / closing after establishment / closure. The IC card according to claim 2, wherein the IC card is rearranged in the session buffer. 前記バッファ管理手段は,通信セッションを確立する指示を端末装置から受けてデータを再配置する際,前記セッション管理情報を参照し,セッションバッファにスタックされたデータのサイズと,確立後のセッションバッファのサイズを比較する処理を行い,スタックされたデータのサイズが,確立後のセッションバッファのサイズを超えるセッションバッファがある場合,確立後のセッションバッファのサイズを超えた分の該データを書き換え可能な不揮発性メモリに退避させることを特徴とする,請求項3に記載のICカード。   The buffer management means refers to the session management information when receiving an instruction to establish a communication session from a terminal device and rearranges data, and determines the size of the data stacked in the session buffer and the session buffer after establishment. If there is a session buffer whose size exceeds the size of the session buffer after establishment, the size of the stacked data exceeds the size of the session buffer after establishment. 4. The IC card according to claim 3, wherein the IC card is saved in a volatile memory. 前記バッファ管理手段は,通信セッションを閉鎖する指示を端末装置から受けてデータを再配置した後,書き換え可能な不揮発性メモリにデータを退避させているセッションバッファがある場合,該セッションバッファが全て埋まるまで,不揮発性メモリに退避されたデータを該セッションバッファに復帰させることを特徴とする,請求項4に記載のICカード。   If there is a session buffer in which data is saved in a rewritable nonvolatile memory after receiving data from a terminal device and relocating data after receiving an instruction to close a communication session, the buffer management means is completely filled with the session buffer. The IC card according to claim 4, wherein the data saved in the nonvolatile memory is restored to the session buffer. 確立可能な通信セッションの最大数が前記セッション管理情報に記憶され,前記バッファ管理手段は,通信セッションを確立する指示を端末装置から受けると,確立後の通信セッションの数と通信セッションの最大数を比較し,確立後の通信セッションの数が通信セッションの最大数を超える場合,前記セッション管理情報を更新しないことを特徴とする,請求項1又は請求項5のいずれか一つに記載のICカード。   The maximum number of communication sessions that can be established is stored in the session management information. When the buffer management means receives an instruction to establish a communication session from a terminal device, the buffer management means determines the number of established communication sessions and the maximum number of communication sessions. 6. The IC card according to claim 1, wherein when the number of established communication sessions exceeds the maximum number of communication sessions, the session management information is not updated. . 請求項1から請求項6のいずれか一つに記載のICカードと,前記ICカードの前記セッション管理情報出力手段を利用して取得した前記セッション管理情報を参照し,前記ICカード間に確立する通信セッションの数を管理するセッション管理手段を備えた端末装置とから構成されたことを特徴とするICカードシステム。   The IC card according to any one of claims 1 to 6 and the session management information acquired by using the session management information output means of the IC card are referred to and established between the IC cards. An IC card system comprising a terminal device provided with session management means for managing the number of communication sessions. 前記端末装置の前記セッション管理手段は,前記ICカードから取得したセッション管理情報を参照し,通信セッションで前記ICカードへ送信するデータのサイズを,前記ICカード間に確立されている通信セッション毎に管理することを特徴とする,請求項7に記載のICカードシステム。
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.
JP2010234062A 2010-10-18 2010-10-18 IC card and IC card system capable of dynamically changing session buffer Active JP5516314B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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