(57)【要約】【課題】記憶媒体装置に実装される複数のアプリケーションのそれぞれが、入出力デバイスを柔軟に制御できるようにする。【解決手段】データの入力または出力が行われる入出力デバイスと、記憶媒体と、外部通信装置から送信されたファイル創生コマンドを受信する通信部と、受信されたファイル創生コマンドが入出力デバイス制御ファイルの創生を指示する場合に、記憶媒体のファイル構造における所定のアプリケーションに対応するファイル格納位置に、入出力デバイスに対応して定められたファイル識別子を有し、入出力デバイスにて入力または出力されるデータが書き込まれる入出力バッファ領域がファイルのデータを格納するファイルデータ格納領域として指定された入出力デバイス制御ファイルを創生するファイル創生部とを備えて記憶媒体装置を構成する。【選択図】図１
2015232808.tif 000002
【特許請求の範囲】
【請求項１】
データの入力または出力が行われる入出力デバイスと、
記憶媒体と、
外部通信装置から送信されたファイル創生コマンドを受信する通信部と、
受信されたファイル創生コマンドが入出力デバイス制御ファイルの創生を指示する場合に、前記記憶媒体のファイル構造における所定のアプリケーションに対応するファイル格納位置に、前記入出力デバイスに対応して定められたファイル識別子を有し、前記入出力デバイスにて入力または出力されるデータが書き込まれる入出力バッファ領域がファイルのデータを格納するファイルデータ格納領域として指定された入出力デバイス制御ファイルを創生するファイル創生部と
を備える記憶媒体装置。
【請求項２】
前記ファイル創生部は、
複数のアプリケーションのそれぞれに対応するファイル格納位置ごとに、１つの入出力デバイスに対応して定められた共通のファイル識別子を有する入出力デバイス制御ファイルを創生する
請求項１に記載の記憶媒体装置。
【請求項３】
前記ファイル創生部は、
前記共通のファイル識別子を有する入出力デバイス制御ファイルを１つのアプリケーションに対応して創生するにあたり、受信されたファイル創生コマンドに従って、対応の入出力デバイスにおけるデータの入力または出力の態様を指定する入出力パラメータを、前記入出力デバイス制御ファイルの属性として付与する
請求項２に記載の記憶媒体装置。
【請求項４】
前記入出力デバイスとして、データの入力が行われる複数の入力デバイスまたはデータの出力が行われる複数の出力デバイスの少なくともいずれか一方を備え、
前記ファイル創生部は、
前記複数の入力デバイスまたは前記複数の出力デバイスごとに定められたファイル識別子をそれぞれ有し、ファイルデータ格納領域として対応の入力デバイスまたは出力デバイスにて入力または出力されるデータが書き込まれる入出力バッファ領域が指定された複数の入出力デバイス制御ファイルを創生する
請求項１から３のいずれか一項に記載の記憶媒体装置。
【請求項５】
データの入力または出力が行われる入出力デバイスと、
内部のファイル構造における所定のアプリケーションに対応するファイル格納位置に、前記入出力デバイスに対応して定められたファイル識別子を有し、前記入出力デバイスにて入力または出力されるデータが書き込まれる入出力バッファ領域がファイルのデータを格納するファイルデータ格納領域として指定された前記入出力デバイス制御ファイルが創生された記憶媒体と
を備える記憶媒体装置。
【請求項６】
前記記憶媒体には、複数のアプリケーションのそれぞれに対応するファイル格納位置ごとに、１つの入出力デバイスに対応して定められた共通のファイル識別子を有する入出力デバイス制御ファイルが創生されている
請求項５に記載の記憶媒体装置。
【請求項７】
１つのアプリケーションに対応して前記記憶媒体に創生された前記共通のファイル識別子を有する入出力デバイス制御ファイルに付与される属性として、対応の入出力デバイスにおけるデータの入力または出力の態様を指定する入出力パラメータが含められる
請求項６に記載の記憶媒体装置。
【請求項８】
前記入出力デバイスとして、データの入力が行われる複数の入力デバイスまたはデータの出力が行われる複数の出力デバイスの少なくともいずれか一方を備え、
前記記憶媒体には、前記複数の入力デバイスまたは前記複数の出力デバイスごとに定められたファイル識別子をそれぞれ有し、ファイルデータ格納領域として対応の入力デバイスまたは出力デバイスにて入力または出力されるデータが書き込まれる入出力バッファ領域が指定された複数の入出力デバイス制御ファイルが創生されている
請求項５から７のいずれか一項に記載の記憶媒体装置。
【請求項９】
前記入出力デバイスにて入力されたデータが対応の入出力バッファ領域に書き込まれるのに応じて、前記対応の入出力バッファ領域がファイルデータ格納領域として指定された入出力デバイス制御ファイルの読み出しを指示する読出コマンドを実行することにより、前記対応のファイルデータ格納領域に書き込まれたデータを読み出し、読み出したデータを前記入出力デバイスにて入力されたデータとして取得する入力データ取得部をさらに備える
請求項５から８のいずれか一項に記載の記憶媒体装置。
【請求項１０】
前記入出力デバイスにてデータを出力すべき場合には、前記入出力デバイスに対応の入出力バッファ領域がファイルデータ格納領域として指定された入出力デバイス制御ファイルに、前記入出力デバイスにて出力すべきデータの書き込みを指示する書込コマンドを実行することにより、前記対応の入出力バッファ領域に書き込まれたデータを前記入出力デバイスに出力させる出力制御部をさらに備える
請求項５から９のいずれか一項に記載の記憶媒体装置。
【請求項１１】
データの入力または出力が行われる入出力デバイスと記憶媒体とを備える記憶媒体装置において、前記記憶媒体にファイルを創生するファイル創生方法であって、
通信部が、外部通信装置から送信されたファイル創生コマンドを受信するステップと、
ファイル創生部が、受信されたファイル創生コマンドが入出力デバイス制御ファイルの創生を指示する場合に、前記記憶媒体のファイル構造内で所定のアプリケーションに対応する位置において、前記入出力デバイスに対応して定められたファイル識別子を有し、前記入出力デバイスにて入力または出力されるデータが書き込まれる入出力バッファ領域がファイルのデータを格納するファイルデータ格納領域として指定された前記入出力デバイス制御ファイルを創生するステップとを含む
ファイル創生方法。
【請求項１２】
データの入力または出力が行われる入出力デバイスと、内部のファイル構造における所定のアプリケーションに対応するファイル格納位置に、前記入出力デバイスに対応して定められたファイル識別子を有し、前記入出力デバイスにて入力または出力されるデータが書き込まれる入出力バッファ領域がファイルのデータを格納するファイルデータ格納領域として指定された前記入出力デバイス制御ファイルが創生された記憶媒体とを備える記憶媒体装置における入出力制御方法であって、
入力データ取得部が、前記入出力デバイスにて入力されたデータが対応の入出力バッファ領域に書き込まれるのに応じて、ファイルデータ格納領域として前記対応の入出力バッファ領域が指定された入出力デバイス制御ファイルの読み出しを指示する読出コマンドを実行することにより、前記対応の入出力バッファ領域に書き込まれたデータを読み出し、読み出したデータを前記入出力デバイスにて入力されたデータとして取得するステップを含む
入出力制御方法。
【請求項１３】
データの入力または出力が行われる入出力デバイスと、内部のファイル構造における所定のアプリケーションに対応するファイル格納位置に、前記入出力デバイスに対応して定められたファイル識別子を有し、前記入出力デバイスにて入力または出力されるデータが書き込まれる入出力バッファ領域がファイルのデータを格納するファイルデータ格納領域として指定された前記入出力デバイス制御ファイルが創生された記憶媒体とを備える記憶媒体装置における入出力制御方法であって、
出力制御部が、前記入出力デバイスにてデータを出力すべき場合には、ファイルのデータを格納するファイルデータ格納領域として前記入出力デバイスに対応の入出力バッファ領域が指定された入出力デバイス制御ファイルに、前記入出力デバイスにて出力すべきデータの書き込みを指示する書込コマンドを実行することにより、前記対応の入出力バッファ領域に書き込まれたデータを前記入出力デバイスに出力させるステップを含む
入出力制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶媒体装置、ファイル創生方法及び入出力制御方法に関する。
【背景技術】
【０００２】
クレジットカード、キャッシュカード、プリペイドカードなどをはじめとする各種用途のＩＣカードが普及している。このようなＩＣカードとして、表示部やテンキーなどの入出力デバイスを備えるものが知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−７１２５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
１つのＩＣカードには複数のアプリケーションを実装することができる。ＩＣカードに実装された複数のアプリケーションのそれぞれがＩＣカードの入出力デバイスを使用する場合、入出力デバイスにおいて入力または出力するデータについての制限内容やアクセス権などがアプリケーションによって異なってくる。具体的に、１つのアプリケーションにおいては特定の桁数を上限とする数字に限定して表示すべきなのに対して、他のアプリケーションにおいては、アルファベットによる文字に限定して表示すべきことが求められる、といった例を挙げることができる。
【０００５】
しかし、ＩＣカードにおける入出力デバイスは、例えばＩＣカードに実装されるＯＳ（Operating System）のもとで管理されており、その管理の仕方としても、単に入出力デバイスとしての特定の識別子が付与されているといった簡易なものとなっている。換言すれば、ＩＣカードに実装されたアプリケーションが共通の入出力デバイスを使用するにあたり、アプリケーションごとにデータ入出力についての制限やアクセス権など、データ入出力に関する態様を異ならせようとした場合には、どのような設定とすればよいのかについては明確に規定されてはいない。
このために、例えばＯＳのレベルで１つのアプリケーションに対応して入出力デバイスにおけるデータ入出力に関する各種の態様を設定することは容易に可能である。しかし、このような状態では、すでに１つのアプリケーションに対応した設定により入出力デバイスが占有されてしまっていることになるため、さらに他のアプリケーションに対応したデータ入出力に関する態様を設定することが難しい。
【０００６】
本発明は、このような事情に鑑みてなされたもので、記憶媒体装置に実装される複数のアプリケーションのそれぞれが、入出力デバイスを柔軟に制御できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決する本発明の一態様は、データの入力または出力が行われる入出力デバイスと、記憶媒体と、外部通信装置から送信されたファイル創生コマンドを受信する通信部と、受信されたファイル創生コマンドが入出力デバイス制御ファイルの創生を指示する場合に、前記記憶媒体のファイル構造における所定のアプリケーションに対応するファイル格納位置に、前記入出力デバイスに対応して定められたファイル識別子を有し、前記入出力デバイスにて入力または出力されるデータが書き込まれる入出力バッファ領域がファイルのデータを格納するファイルデータ格納領域として指定された入出力デバイス制御ファイルを創生するファイル創生部とを備える記憶媒体装置である。
【０００８】
本発明の一態様は、上記の記憶媒体装置であって、前記ファイル創生部は、複数のアプリケーションのそれぞれに対応するファイル格納位置ごとに、１つの入出力デバイスに対応して定められた共通のファイル識別子を有する入出力デバイス制御ファイルを創生してもよい。
【０００９】
本発明の一態様は、上記の記憶媒体装置であって、前記ファイル創生部は、前記共通のファイル識別子を有する入出力デバイス制御ファイルを１つのアプリケーションに対応して創生するにあたり、受信されたファイル創生コマンドに従って、対応の入出力デバイスにおけるデータの入力または出力の態様を指定する入出力パラメータを、前記入出力デバイス制御ファイルの属性として付与してもよい。
【００１０】
本発明の一態様は、上記の記憶媒体装置であって、前記入出力デバイスとして、データの入力が行われる複数の入力デバイスまたはデータの出力が行われる複数の出力デバイスの少なくともいずれか一方を備え、前記ファイル創生部は、前記複数の入力デバイスまたは前記複数の出力デバイスごとに定められたファイル識別子をそれぞれ有し、ファイルデータ格納領域として対応の入力デバイスまたは出力デバイスにて入力または出力されるデータが書き込まれる入出力バッファ領域が指定された複数の入出力デバイス制御ファイルを創生してもよい。
【００１１】
本発明の一態様は、データの入力または出力が行われる入出力デバイスと、内部のファイル構造における所定のアプリケーションに対応するファイル格納位置に、前記入出力デバイスに対応して定められたファイル識別子を有し、前記入出力デバイスにて入力または出力されるデータが書き込まれる入出力バッファ領域がファイルのデータを格納するファイルデータ格納領域として指定された前記入出力デバイス制御ファイルが創生された記憶媒体とを備える記憶媒体装置である。
【００１２】
本発明の一態様は、上記の記憶媒体装置であって、前記記憶媒体には、複数のアプリケーションのそれぞれに対応するファイル格納位置ごとに、１つの入出力デバイスに対応して定められた共通のファイル識別子を有する入出力デバイス制御ファイルが創生されていてもよい。
【００１３】
本発明の一態様は、上記の記憶媒体装置であって、１つのアプリケーションに対応して前記記憶媒体に創生された前記共通のファイル識別子を有する入出力デバイス制御ファイルに付与される属性として、対応の入出力デバイスにおけるデータの入力または出力の態様を指定する入出力パラメータが含められてもよい。
【００１４】
本発明の一態様は、上記の記憶媒体装置であって、前記入出力デバイスとして、データの入力が行われる複数の入力デバイスまたはデータの出力が行われる複数の出力デバイスの少なくともいずれか一方を備え、前記記憶媒体には、前記複数の入力デバイスまたは前記複数の出力デバイスごとに定められたファイル識別子をそれぞれ有し、ファイルデータ格納領域として対応の入力デバイスまたは出力デバイスにて入力または出力されるデータが書き込まれる入出力バッファ領域が指定された複数の入出力デバイス制御ファイルが創生されていてもよい。
【００１５】
本発明の一態様は、上記の記憶媒体装置であって、前記入出力デバイスにて入力されたデータが対応の入出力バッファ領域に書き込まれるのに応じて、前記対応の入出力バッファ領域がファイルデータ格納領域として指定された入出力デバイス制御ファイルの読み出しを指示する読出コマンドを実行することにより、前記対応のファイルデータ格納領域に書き込まれたデータを読み出し、読み出したデータを前記入出力デバイスにて入力されたデータとして取得する入力データ取得部をさらに備えてもよい。
【００１６】
本発明の一態様は、上記の記憶媒体装置であって、前記入出力デバイスにてデータを出力すべき場合には、前記入出力デバイスに対応の入出力バッファ領域がファイルデータ格納領域として指定された入出力デバイス制御ファイルに、前記入出力デバイスにて出力すべきデータの書き込みを指示する書込コマンドを実行することにより、前記対応の入出力バッファ領域に書き込まれたデータを前記入出力デバイスに出力させる出力制御部をさらに備えてもよい。
【００１７】
本発明の一態様は、データの入力または出力が行われる入出力デバイスと記憶媒体とを備える記憶媒体装置において、前記記憶媒体にファイルを創生するファイル創生方法であって、通信部が、外部通信装置から送信されたファイル創生コマンドを受信するステップと、ファイル創生部が、受信されたファイル創生コマンドが入出力デバイス制御ファイルの創生を指示する場合に、前記記憶媒体のファイル構造内で所定のアプリケーションに対応する位置において、前記入出力デバイスに対応して定められたファイル識別子を有し、前記入出力デバイスにて入力または出力されるデータが書き込まれる入出力バッファ領域がファイルのデータを格納するファイルデータ格納領域として指定された前記入出力デバイス制御ファイルを創生するステップとを含むファイル創生方法である。
【００１８】
本発明の一態様は、データの入力または出力が行われる入出力デバイスと、内部のファイル構造における所定のアプリケーションに対応するファイル格納位置に、前記入出力デバイスに対応して定められたファイル識別子を有し、前記入出力デバイスにて入力または出力されるデータが書き込まれる入出力バッファ領域がファイルのデータを格納するファイルデータ格納領域として指定された前記入出力デバイス制御ファイルが創生された記憶媒体とを備える記憶媒体装置における入出力制御方法であって、入力データ取得部が、前記入出力デバイスにて入力されたデータが対応の入出力バッファ領域に書き込まれるのに応じて、ファイルデータ格納領域として前記対応の入出力バッファ領域が指定された入出力デバイス制御ファイルの読み出しを指示する読出コマンドを実行することにより、前記対応の入出力バッファ領域に書き込まれたデータを読み出し、読み出したデータを前記入出力デバイスにて入力されたデータとして取得するステップを含む入出力制御方法である。
【００１９】
本発明の一態様は、データの入力または出力が行われる入出力デバイスと、内部のファイル構造における所定のアプリケーションに対応するファイル格納位置に、前記入出力デバイスに対応して定められたファイル識別子を有し、前記入出力デバイスにて入力または出力されるデータが書き込まれる入出力バッファ領域がファイルのデータを格納するファイルデータ格納領域として指定された前記入出力デバイス制御ファイルが創生された記憶媒体とを備える記憶媒体装置における入出力制御方法であって、出力制御部が、前記入出力デバイスにてデータを出力すべき場合には、ファイルのデータを格納するファイルデータ格納領域として前記入出力デバイスに対応の入出力バッファ領域が指定された入出力デバイス制御ファイルに、前記入出力デバイスにて出力すべきデータの書き込みを指示する書込コマンドを実行することにより、前記対応の入出力バッファ領域に書き込まれたデータを前記入出力デバイスに出力させるステップを含む入出力制御方法である。
【発明の効果】
【００２０】
以上説明したように、本発明によれば、記憶媒体装置に実装される複数のアプリケーションのそれぞれが、入出力デバイスを柔軟に制御できるようになるという効果が得られる。
【図面の簡単な説明】
【００２１】
【図１】第１実施形態におけるＩＣカードの構成例を示す図である。
【図２】第１実施形態におけるＩＣカードに実装されるアプリケーションのファイルと入出力デバイスとの関係を説明する図である。
【図３】図２に示したファイル構造に対応した記憶媒体の記憶領域のデータマッピング例を示す図である。
【図４】第１実施形態におけるファイル情報の構造例を示す図である。
【図５】第１実施形態におけるＩＣカードに実装された各アプリケーションによる入出力デバイスの制御について説明する図である。
【図６】第１実施形態のＩＣカードがファイル創生コマンドの受信に応じて実行するファイル創生のための処理手順例を示すフローチャートである。
【図７】第１実施形態におけるファイル創生コマンドの構造例を示す図である。
【図８】第１実施形態におけるＩＣカードが入力デバイスに対する制御のために実行する処理手順例を示すフローチャートである。
【図９】第１実施形態におけるＩＣカードが出力デバイスに対する制御のために実行する処理手順例を示すフローチャートである。
【図１０】第２実施形態におけるＩＣカードの構成例を示す図である。
【図１１】第２実施形態におけるＩＣカードに実装されるアプリケーションのファイルと入出力デバイスとの関係を説明する図である。
【図１２】図１１に示したファイル構造に対応した記憶媒体の記憶領域のデータマッピング例を示す図である。
【図１３】第２実施形態におけるＩＣカードに実装された各アプリケーションによる入出力デバイスの制御について説明する図である。
【発明を実施するための形態】
【００２２】
＜第１実施形態＞
［ＩＣカードの構成例］
以下、実施形態としての記憶媒体装置について図面を参照して説明する。
図１は、本実施形態におけるＩＣカード１００（記憶媒体装置の一例）の構成例を示している。なお、同図においては、ＩＣカード１００と通信を行う外部通信装置として、発行装置２００とリーダライタ３００とがともに示されている。
【００２３】
発行装置２００はＩＣカード１００に対して発行処理を行う。発行装置２００は、発行処理としてＩＣカード１００に対してファイル創生を行うことができる。ファイル創生とは、ＩＣカード１００の記憶媒体１０３にファイルのデータを格納するファイルデータ格納領域を作成することである。ファイル創生にあたって、発行装置２００は、ファイル創生コマンドをＩＣカード１００に送信する。ファイル創生コマンドは、ファイルを指定してファイル創生を指示するコマンドである。
ファイル創生コマンドを受信したＩＣカード１００は、ファイル創生の処理としてファイル創生コマンドにより指定されるファイルのデータが格納される領域を記憶媒体１０３に作成する。
【００２４】
リーダライタ３００は、発行が完了して運用可能となったＩＣカード１００に対してデータの読み出しまたは書き込みを実行する。リーダライタ３００は、ＩＣカード１００が対応する機能（アプリケーション）に応じて形態が異なる。一例として、ＩＣカード１００が対応する機能がキャッシュカードである場合、リーダライタ３００は、ＡＴＭ（Automated Teller Machine）の端末などとしての形態を有する。
【００２５】
続いて、同図を参照して、ＩＣカード１００の構成例について説明する。同図に示すＩＣカード１００は、通信部１０１、制御部１０２、記憶媒体１０３、入力デバイス１０４及び出力デバイス１０５を備える。
本実施形態においては、入出力デバイスとして、入力デバイス１０４と出力デバイス１０５とが各１つ備えられる。
【００２６】
通信部１０１は、発行装置２００やリーダライタ３００などの外部通信装置と通信を実行する。通信部１０１による外部通信装置との通信は接触式であってもよいし非接触式であってもよい。通信部１０１は、発行装置２００からファイル創生コマンドが送信されるのに応じて、送信されたファイル創生コマンドを受信する。
【００２７】
制御部１０２は、ＩＣカード１００における各種制御を実行する。制御部１０２としての機能は、例えばＩＣカード１００が備えるＣＰＵ（Central Processing Unit）がプログラムを実行することにより実現される。
【００２８】
記憶媒体１０３は、ＣＰＵが実行するプログラムのほか、制御部１０２が利用する各種のデータを記憶する。記憶媒体１０３は、ファイル単位でデータを記憶することができる。
【００２９】
入力デバイス１０４は、データを入力する入出力デバイスである。本実施形態における入力デバイスは、キー入力部１４１と入力バッファ１４２とを備える。
キー入力部１４１は、データを入力するための操作が行われるキーを備え、操作されたキーに応じて入力すべきことが指定されたデータを出力する。一例であるが、キー入力部１４１としてはテンキーなどを挙げることができる。
入力バッファ１４２は、キー入力部１４１に対する操作によって入力すべきことが指定されたデータを保持する。入力バッファ１４２は、データを保持したのに応じて、保持したデータを記憶媒体１０３において設けられた入力バッファ領域に書き込む。
【００３０】
出力デバイス１０５は、データを出力する入出力デバイスである。本実施形態における出力デバイス１０５は、表示によりデータを出力するように構成されており、出力バッファ１５１と表示部１５２とを備える。
出力バッファ１５１には、表示のためのデータが制御部１０２によって書き込まれる。出力バッファ１５１は、書き込まれたデータを保持する。表示部１５２は、出力バッファ１５１に保持されたデータを表示する。
【００３１】
次に、同図を参照して、制御部１０２の機能構成例について説明する。
先ず、本実施形態における制御部１０２は、発行装置２００によるファイル創生の制御に応じたファイル創生に対応する能部として、ファイル創生部１２１を備える。
【００３２】
ファイル創生部１２１は、通信部１０１にて受信されたファイル創生コマンドに応答して、ファイル創生を実行する。つまり、ファイル創生部１２１は、記憶媒体１０３のファイル構造における所定のアプリケーションに対応するファイル格納位置に、受信されたファイル創生コマンドが指定するファイルのファイルデータ格納領域を作成するための処理を実行する。
【００３３】
また、本実施形態の場合、ファイル創生コマンドのうちには通常のファイルの創生を指示するもののほかに入出力デバイス制御ファイルの創生を指示するものが含まれる。入出力デバイス制御ファイルとは、入出力デバイスにおけるデータの入力または出力を制御するにあたって利用されるファイルである。入出力デバイス制御ファイルは、入出力デバイスに対応して予め定められたファイル識別子を有し、ファイルデータ格納領域として入出力デバイスにおける入力または出力されるデータが書き込まれる入出力バッファ領域（入力バッファ領域または出力バッファ領域）が指定されたファイルである。
ファイル創生部１２１は、通信部１０１にて受信されたファイル創生コマンドが入出力デバイス制御ファイルの創生を指示する場合に、記憶媒体１０３のファイル構造における所定のアプリケーションに対応するファイル格納位置に、入出力デバイス制御ファイルを創生する。
【００３４】
また、本実施形態における制御部１０２は、入出力デバイス（入力デバイス１０４、出力デバイス１０５）におけるデータの入出力に関する制御に対応する機能部として、入力データ取得部１２２及び出力制御部１２３を備える。
【００３５】
入力デバイス１０４に対する操作によって入力されたデータは、記憶媒体１０３において設けられる入力バッファ領域に書き込まれるように制御される。つまり、入力デバイス１０４における入力バッファ１４２に保持されたデータは、さらに制御部１０２に転送される。制御部１０２は、転送されたデータを記憶媒体１０３の入力バッファ領域に書き込む。ここでの入力バッファ領域とは入力デバイス１０４に対応して記憶媒体１０３に設けられる入出力バッファ領域である。
【００３６】
入力データ取得部１２２は、入力デバイス１０４にて入力されたデータが対応の入力バッファ領域に書き込まれるのに応じて、以下の処理を実行する。つまり、入力データ取得部１２２は、対応の入力バッファ領域がファイルデータ格納領域として指定された入出力デバイス制御ファイルの読み出しを指示する読出コマンドを実行する。これにより、入力データ取得部１２２は、対応のファイルデータ格納領域に書き込まれたデータを読み出し、読み出したデータを入力デバイス１０４にて入力されたデータとして取得する。
このように、本実施形態におけるＩＣカード１００は、入出力デバイス制御ファイルに対する読み出しを行うことによって、入力デバイス１０４に入力されたデータを取得することができる。
【００３７】
また、出力制御部１２３は、出力デバイス１０５にてデータを出力すべき場合には以下の処理を実行する。つまり、出力制御部１２３は、出力デバイス１０５に対応の出力バッファ領域がファイルデータ格納領域として指定された入出力デバイス制御ファイルに、出力デバイスにて出力すべきデータの書き込みを指示する書込コマンドを実行する。ここでの出力バッファ領域とは、出力デバイス１０５に対応して記憶媒体１０３に設けられる入出力バッファ領域である。これにより、出力制御部１２３は、対応の入出力バッファ領域に書き込まれたデータを出力デバイス１０５に出力させる。
即ち、本実施形態においては、入出力デバイス制御ファイルに対する書き込みを行うことによって、出力デバイス１０５においてデータの出力を実現する。
本実施形態における出力制御部１２３は、データの出力として、表示部１５２を備える出力デバイス１０５にてデータを表示させる。つまり、本実施形態においては出力デバイス１０５によるデータ出力として、表示によりデータが出力されるように構成される。
【００３８】
［ファイルと入出力デバイスとの関係］
図２を参照して、本実施形態のＩＣカード１００に実装されるアプリケーションのファイルと入出力デバイスとの関係について説明する。
同図においては、ＩＣカード１００が備える記憶媒体１０３に創生されたファイルによるファイル構造例を示している。ここでは、本実施形態のＩＣカード１００において、アプリケーション１とアプリケーション２との２つのアプリケーションが実装された場合を例に挙げる。
【００３９】
記憶媒体１０３におけるファイル構造としては、先ず最上層にＭＦ（Master File）が置かれる。ＭＦの配下にはファイルとしてＤＦ（Dedicated File：専用ファイル）、ＥＦ（Elementary File：基礎ファイル）を置くことができる。
ＤＦは、下位のＥＦやＤＦをグループ化するためのファイルである。ＥＦは、データを格納するファイルである。
【００４０】
同図においては、ＭＦの直下にＤＦ１、ＤＦ２が置かれている。本実施形態において、１つのＤＦは１つのアプリケーションに対応させることができる。即ち、１つのアプリケーションに対応するＤＦを親ＤＦとして、親ＤＦの階層下にアプリケーションが使用するＥＦを置くことができる。
同図において、ＤＦ１はアプリケーション１に対応し、ＤＦ２はアプリケーション２に対応する。
【００４１】
同図では、ＤＦ１の直下に、アプリケーション１が使用するファイルとして、ＥＦ１、ＥＦ２、ＥＦ３が置かれている。また、ＤＦ２の直下には、アプリケーション２が使用するファイルとして、ＥＦ１１、ＥＦ１２、ＥＦ１３が置かれている。
【００４２】
記憶媒体１０３に記憶されるファイルにはＤＦ内で一意となるようにファイル識別子が付与される。アプリケーション１に対応するＤＦ１において、ＥＦ１には０００１のファイル識別子が付与され、ＥＦ２には０００２のファイル識別子が付与され、ＥＦ３には０００３のファイル識別子が付与されている。
また、アプリケーション２に対応するＤＦ２において、ＥＦ１１には０００１のファイル識別子が付与され、ＥＦ１２には０００２のファイル識別子が付与され、ＥＦ１３には０００３のファイル識別子が付与されている。
【００４３】
ここで、ファイル識別子はＤＦ内で一意となるように付与されればよい。従って、ＥＦ１とＥＦ１１とは同じ０００１のファイル識別子が付与されているが、親ＤＦが互いに異なることから、両者は異なるファイルとして認識される。
同様に、ＥＦ２とＥＦ１２とは同じ０００２のファイル識別子が付与されているが、両者は異なるファイルとして認識される。さらに、ＥＦ３とＥＦ１３とは同じ０００３のファイル識別子が付与されているが、両者は異なるファイルとして認識される。
【００４４】
そのうえで、本実施形態においては、０００２のファイル識別子は、入力デバイス１０４に対応する入出力デバイス制御ファイルのファイル識別子として定められる。また、０００３のファイル識別子は、出力デバイス１０５に対応する入出力デバイス制御ファイルのファイル識別子として定められる。
従って、アプリケーション１においては、ＥＦ２が入力デバイス１０４に対応する入出力デバイス制御ファイルであり、ＥＦ３が出力デバイス１０５に対応する入出力デバイス制御ファイルである。また、アプリケーション２においては、ＥＦ１２が入力デバイス１０４に対応する入出力デバイス制御ファイルであり、ＥＦ１３が出力デバイス１０５に対応する入出力デバイス制御ファイルである。
【００４５】
図３は、図２に示したファイル構造に対応した記憶媒体１０３の記憶領域のデータマッピング例を示している。
同図に示す記憶媒体１０３の記憶領域は、上位から順に、ファイル管理領域、ファイル領域、バッファ領域に区分されている。
ファイル管理領域は、記憶媒体１０３に創生されたファイルを管理するファイル管理情報が格納される領域である。ファイル管理領域においては、記憶媒体１０３に創生されたファイル（ＤＦ、ＥＦ）ごとの管理情報であるファイル情報（例えば、ディレクトリエントリ）を格納する。
同図においては、図２に示したＥＦ１、ＥＦ２、ＥＦ３、ＥＦ１１、ＥＦ１２、ＥＦ１３のそれぞれに対応するファイル情報が示されている。なお、ＤＦについてもファイル情報は存在するが、同図では、図示を簡単にすることの便宜上、ＤＦ１、ＤＦ２に対応する各ファイル情報については図示を省略している。
【００４６】
図４は、ファイル情報の構造例を示している。同図に示すように、ファイル情報は、ファイル識別子、親ＤＦ、領域指定情報及び属性の各領域を備える。
ファイル識別子の領域は、親ＤＦ内で一意となるように該当ファイルに付与されたファイル識別子を格納する。
親ＤＦの領域は、自ファイルの親ＤＦを示す情報として、例えば親ＤＦのファイル識別子を格納する。
領域指定情報の領域は、ファイルの実体としてのデータが格納されるファイルデータ格納領域を指定する領域指定情報を格納する。具体的に、領域指定情報は、記憶媒体１０３の記憶領域において、該当ファイルに対応して定められたファイルデータ格納領域の先頭アドレスを指定する。
なお、図３での図示は省略しているが、先頭アドレス以降のファイルデータ格納領域については、例えば同じファイル管理領域に格納される、ファイルデータ格納領域配置情報（例えば、ＦＡＴ（File Allocation Table））によって管理されていればよい。
【００４７】
属性の領域は、該当ファイルについての各種属性を示す情報が格納される。また、該当ファイルが入出力デバイス制御ファイルである場合には、属性の領域において入出力パラメータが格納される。
入出力パラメータは、対応の入出力デバイスにおけるデータの入力または出力の態様を指定する情報である。
具体的に、入出力デバイス制御ファイルが入力デバイス１０４に対応する場合、入出力パラメータによっては、キー入力部１４１に対する操作によって入力可能な文字を指定することができる。例えば、入出力パラメータによって入力可能な文字の種別を数字、文字、記号などのいずれかに限定したり、入力不可の文字などを指定したりすることができる。また、入出力パラメータによって、入力可能な文字の最大数を指定することもできる。
また、入出力デバイス制御ファイルが出力デバイス１０５に対応する場合、入出力パラメータによっては、表示可能な最大文字数、アプリケーションが選択されたときの初期表示の内容、表示可能な文字種などを指定できる。より具体的には、例えば出力デバイス１０５により、入力デバイス１０４により入力されたパスワードを表示するような場合、入出力パラメータによって、出力デバイス１０５に表示される文字としてはアスタリスクなどによる伏せ字などとすることが可能である。
【００４８】
説明を図３に戻す。同図に示されるファイル情報のうち、例えばアプリケーション１におけるＥＦ１のファイル情報は、親ＤＦがＤＦ１であることを示し、ファイル識別子は０００１であることを示す。また、図示は省略しているが、ＥＦ１のファイル情報の領域指定情報は、ファイル領域において定められたＥＦ１のファイルデータ格納領域の先頭アドレスを示す。
【００４９】
また、アプリケーション１におけるＥＦ２のファイル情報は、親ＤＦがＤＦ１であることを示し、ファイル識別子は、入力デバイス１０４に対応する入出力デバイス制御ファイルである０００２を示す。そして、ＥＦ２のファイル情報における領域指定情報は、同図に示すように、バッファ領域における入力バッファ領域Ａｉｂｆの先頭アドレスを示す。このように、入力デバイス１０４に対応する入出力デバイス制御ファイルのファイルデータ格納領域は、ファイル領域における一部領域ではなく、バッファ領域における入力バッファ領域Ａｉｂｆが指定される。
【００５０】
また、アプリケーション１におけるＥＦ３のファイル情報は、親ＤＦがＤＦ１であることを示し、ファイル識別子は、出力デバイス１０５に対応する入出力デバイス制御ファイルである０００３を示す。そして、ＥＦ３のファイル情報における領域指定情報は、同図に示すように、バッファ領域における出力バッファ領域Ａｏｂｆの先頭アドレスを示す。このように、出力デバイス１０５に対応する入出力デバイス制御ファイルのファイルデータ格納領域は、ファイル領域における一部領域ではなく、バッファ領域における出力バッファ領域Ａｏｂｆが指定される。
【００５１】
また、アプリケーション２におけるＥＦ１１のファイル情報は、親ＤＦがＤＦ２であることを示し、ファイル識別子は０００１であることを示す。また、図示は省略しているが、ＥＦ１のファイル情報の領域指定情報は、ファイル領域において定められたＥＦ１１のファイルデータ格納領域の先頭アドレスを示す。ここで、ＥＦ１１のファイルデータ格納領域は、ＥＦ１のファイルデータ格納領域とは異なる領域が定められている。
【００５２】
また、アプリケーション２におけるＥＦ１２のファイル情報は、親ＤＦがＤＦ２であることを示し、ファイル識別子は、入力デバイス１０４に対応する入出力デバイス制御ファイルである０００２を示す。そして、ＥＦ１２のファイル情報における領域指定情報は、同図に示すように、バッファ領域における入力バッファ領域Ａｉｂｆの先頭アドレスを示す。このように、アプリケーション２においても、入力デバイス１０４に対応する入出力デバイス制御ファイルのファイルデータ格納領域としては、バッファ領域における入力バッファ領域Ａｉｂｆが指定される。
【００５３】
また、アプリケーション２におけるＥＦ１３のファイル情報は、親ＤＦがＤＦ２であることを示し、ファイル識別子は、出力デバイス１０５に対応する入出力デバイス制御ファイルである０００３を示す。そして、ＥＦ１３のファイル情報における領域指定情報は、同図に示すように、バッファ領域における出力バッファ領域Ａｏｂｆの先頭アドレスを示す。このように、アプリケーション２においても、出力デバイス１０５に対応する入出力デバイス制御ファイルのファイルデータ格納領域としては、バッファ領域における出力バッファ領域Ａｏｂｆが指定される。
【００５４】
バッファ領域における入力バッファ領域Ａｉｂｆは、入力デバイス１０４にて入力されたデータが書き込まれる領域である。
また、同じバッファ領域における出力バッファ領域Ａｏｂｆは、出力デバイス１０５にて出力されるべきデータが書き込まれる領域である。
【００５５】
上記の説明から理解されるように、入力デバイス１０４に対応する入出力デバイス制御ファイルについては、アプリケーション１とアプリケーション２とで、入力バッファ領域Ａｉｂｆが共通に指定される。
同様に、入力デバイス１０４に対応する入出力デバイス制御ファイルについても、アプリケーション１とアプリケーション２とで、出力バッファ領域Ａｏｂｆがファイルデータ格納領域として共通に指定される。
【００５６】
次に、図５を参照して、ＩＣカード１００に実装されたアプリケーション１、アプリケーション２による入出力デバイスの制御について説明する。
ＩＣカード１００においては、例えば通信を行うリーダライタ３００に応じて、アプリケーション１とアプリケーション２との間で有効となるアプリケーションの切り替えが択一的に行われる。アプリケーションの切り替えは、例えばＯＳ（Operating System）の制御によってアクセス対象のＤＦが選択されることによって実現される。図２の例との対応では、リーダライタ３００によりＤＦ１がアクセス対象として選択されればアプリケーション１が有効化され、ＤＦ２がアクセス対象として選択されればアプリケーション２が有効化される。
【００５７】
ＩＣカード１００上でアプリケーション１が有効化されている状態のもとで、入力デバイス１０４のキー入力部１４１に対する操作が行われると、操作に応じて指定された文字のデータが入力バッファ１４２にて保持される。入力バッファ１４２に保持されたデータは、例えばＯＳの制御部１０２の制御によって記憶媒体１０３の入力バッファ領域Ａｉｂｆに書き込まれる。
【００５８】
アプリケーション１は、上記のように入力バッファ領域Ａｉｂｆにデータが書き込まれたのに応じて、入力デバイス１０４に対応する入出力デバイス制御ファイルに付与されたファイル識別子０００２のファイルの読み出しを指示する読出コマンドを実行する。
アプリケーション１のもとでファイル識別子０００２が付与されたファイルはＥＦ２である。このため、アプリケーション１は、ファイル識別子０００２のファイルを指定する読出コマンドの実行として、ＥＦ２のファイル情報を参照することにより、記憶媒体１０３の入力バッファ領域Ａｉｂｆにアクセスして、入力バッファ領域Ａｉｂｆに格納されるデータを読み出す。このようにして、アプリケーション１は、入力デバイス１０４に対応する入出力デバイス制御ファイルを読み出すことで、入力デバイス１０４に入力されたデータを取得することができる。
【００５９】
また、アプリケーション１は、ＥＦ２の読み出しを指示する読出コマンドを実行するにあたり、ＥＦ２のファイル情報に格納された入出力パラメータを参照する。そして、アプリケーション１は、入出力パラメータに従って入力バッファ領域Ａｉｂｆに格納されるデータの読み出しを実行する。
一例として、入出力パラメータにより入力可能な最大文字数が規定されており、入力バッファ領域Ａｉｂｆに格納されるデータによる文字数が上記の最大文字数を越えていた場合には、１番目から最大文字数分の文字に対応するデータのみを入力バッファ領域Ａｉｂｆから読み出すようにする。この結果、規定された最大文字数を越えた文字の入力は受け付けないようにされた入力デバイス１０４の動作を実現できる。
【００６０】
また、ＩＣカード１００上でアプリケーション１が有効化されている状態のもとで、出力デバイス１０５の表示部１５２にデータを表示すべきとき、アプリケーション１は、先ず、表示させるべきデータ（以下、表示データとも呼ぶ）を取得する。表示データの取得は、例えば記憶媒体１０３にＥＦなどとして記憶されている表示データを読み出すことによって行われる場合があってもよいし、アプリケーション１が生成する場合があってもよい。また、入力デバイス１０４により入力されたデータをアプリケーション１が表示データとして取得する場合があってもよい。また、リーダライタ３００などから送信されたデータを表示データとして取得する場合があってもよい。
そのうえで、アプリケーション１は出力デバイス１０５に対応する入出力デバイス制御ファイルに付与されたファイル識別子０００３のファイルを指定して表示データを書き込むための書込コマンドを実行する。
アプリケーション１のもとでファイル識別子０００３が付与されたファイルはＥＦ３である。このため、アプリケーション１は、ファイル識別子０００３のファイルを指定する読出コマンドの実行として、ＥＦ３のファイル情報を参照することにより、記憶媒体１０３の出力バッファ領域Ａｏｂｆにアクセスし、出力バッファ領域Ａｏｂｆに表示データを書き込む。
出力バッファ領域Ａｏｂｆに書き込まれた表示データは、出力デバイス１０５の出力バッファ１５１に転送され、出力バッファ１５１にて保持される。表示部１５２は、出力バッファ１５１にて保持されている表示データを表示する。
このようにして、アプリケーション１は、出力デバイス１０５に対応する入出力デバイス制御ファイルに表示データを書き込むことによって、出力デバイス１０５による表示出力を行うことができる。
【００６１】
また、アプリケーション１は、上記のようにＥＦ３の読み出しを指示する読出コマンドを実行するにあたり、ＥＦ３のファイル情報に格納された入出力パラメータを参照する。そして、アプリケーション１は、入出力パラメータに従って出力バッファ領域Ａｏｂｆに書き込む表示データを制御することができる。一例として、入出力パラメータにより出力可能な最大文字数が規定されているのであれば、最大文字数の範囲内の文字数を越えないようにして表示データを生成する。
また、入出力パラメータにより、パスワードに関してアスタリスクによる伏せ字により表示すべきことが指定されていれば、アプリケーション１は、パスワードの表示の際に、パスワードの文字数に応じた数のアスタリスクを表示する表示データを出力バッファ領域Ａｏｂｆに書き込む。このような表示データが書き込まれることによって、表示部１５２には、例えば入力されたパスワードの文字数に応じたアスタリスクが表示される。
【００６２】
また、ＩＣカード１００上でアプリケーション２が有効化されている状態においても、入力デバイス１０４のキー入力部１４１に対する操作が行われれば、操作に応じて指定された文字のデータが入力バッファ１４２にて保持され、さらに記憶媒体１０３の入力バッファ領域Ａｉｂｆに書き込まれる。
【００６３】
そして、アプリケーション２は、入力バッファ領域Ａｉｂｆにデータが書き込まれたのに応じて、入力デバイス１０４に対応する入出力デバイス制御ファイルに付与されたファイル識別子０００２のファイルを指定する読出コマンドを実行する。
アプリケーション２のもとでは、ファイル識別子０００２が付与されたファイルはＥＦ１２である。このため、アプリケーション１は、ファイル識別子０００２のファイルを指定する読出コマンドの実行として、ＥＦ１２のファイル情報を参照する。ＥＦ１２のファイル情報における領域指定情報は、ＥＦ２と同様に、入力バッファ領域Ａｉｂｆの先頭アドレスを指定している。このために、アプリケーション２は、アプリケーション１の場合と同様に入力バッファ領域Ａｉｂｆにアクセスして、入力バッファ領域Ａｉｂｆに格納されるデータを読み出す。このようにして、アプリケーション２も、入力デバイス１０４に入力されたデータを取得することができる。
【００６４】
また、アプリケーション２は、ＥＦ１２の読出コマンドを実行するにあたり、ＥＦ１２のファイル情報に格納された入出力パラメータを参照し、入出力パラメータに従って入力バッファ領域Ａｉｂｆに格納されるデータの読み出しを実行することができる。
【００６５】
また、アプリケーション２は、出力デバイス１０５の表示部１５２にデータを表示すべきとき、表示データを取得したうえで、出力デバイス１０５に対応する入出力デバイス制御ファイルに付与されたファイル識別子０００３のファイルを指定した書込コマンドを実行する。
アプリケーション２のもとでファイル識別子０００３が付与されたファイルはＥＦ１３である。このため、アプリケーション２は、ファイル識別子０００３のファイルを指定する読出コマンドの実行にあたり、ＥＦ１３のファイル情報を参照する。ＥＦ１３のファイル情報における領域指定情報は、ＥＦ３と同様に、出力バッファ領域Ａｏｂｆの先頭アドレスを指定している。
そこで、アプリケーション２は、記憶媒体１０３の出力バッファ領域Ａｏｂｆにアクセスし、出力バッファ領域Ａｏｂｆに表示データを書き込む。このように出力バッファ領域Ａｏｂｆへの表示データの書き込みが行われることで、表示部１５２にて表示データが表示される。
【００６６】
また、アプリケーション２も、上記のようにＥＦ１３の読出コマンドを実行するにあたり、ＥＦ１３のファイル情報に格納された入出力パラメータを参照し、入出力パラメータに従って出力バッファ領域Ａｏｂｆに書き込む表示データを制御することができる。
【００６７】
このようにして、アプリケーション２も、入出力デバイスに対応する入出力デバイス制御ファイルを読み出すことで、入力デバイス１０４に入力されたデータの取得と、出力デバイス１０５による表示出力とを行うことができる。
【００６８】
また、アプリケーション２のもとでも、入出力デバイス制御ファイルのファイル情報に格納される入出力パラメータを参照することによって、入力デバイス１０４におけるデータの入力と出力デバイス１０５におけるデータの出力とについて所定の態様を与えることができる。
ここで、ＥＦ２のファイル情報に格納される入出力パラメータと、ＥＦ１２のファイル情報に格納される入出力パラメータとは、アプリケーション１、アプリケーション２に応じて異なっていてもよい。同様に、ＥＦ３のファイル情報に格納される入出力パラメータと、ＥＦ１３のファイル情報に格納される入出力パラメータも、アプリケーション１、アプリケーション２に応じて異なっていてもよい。
これにより、アプリケーション１とアプリケーション２とで互いに共通の入出力デバイスを使用しながらも、アプリケーション１が選択されているときとアプリケーション２が選択されているときとで、それぞれ異なるデータ入出力の態様を入出力デバイスに与えることができる。
【００６９】
［処理手順例］
図６のフローチャートを参照して、本実施形態のＩＣカード１００がファイル創生コマンドの受信に応じて実行するファイル創生のための処理手順例について説明する。同図に示す処理は、発行装置２００と通信部１０１とが通信可能に接続されている状態のもとで実行される。
発行装置２００は、発行処理として、親ＤＦを指定したうえで、１つのファイルを指定したファイル創生を指示するファイル創生コマンドを送信する。通信部１０１は、ファイル創生コマンドを受信する（ステップＳ１０１）。
【００７０】
ここで、図７を参照して、ファイル創生コマンドの構造例について説明する。同図に示すファイル創生コマンドは、ＣＬＡ（クラス）、ＩＮＳ（インスタンス）、第１パラメータＰ１、第２パラメータＰ２、データ長Ｌｃ、データ部Ｄａｔａが配置された構造を有する。
ＣＬＡ（クラス）とＩＮＳ（インスタンス）とによっては、当該コマンドの種別が示される。ファイル創生コマンドの場合、ＣＬＡ（クラス）とＩＮＳ（インスタンス）とのそれぞれは、ファイル創生コマンドに対応する所定値を格納する。
第１パラメータＰ１は、創生対象のファイルがＥＦである場合において、ＥＦとしてのタイプ（ＥＦタイプ）を示す値を格納する。
第２パラメータＰ２は、第１パラメータＰ１が特定のＥＦのタイプ（例えば、ＷＥＦ（Work Elementary File：作業基礎ファイル））を示す場合において、ファイルの種別が、標準のＥＦと、入出力デバイス制御ファイルとしてのＥＦのいずれであるのかを示す。さらに、第２パラメータＰ２は、入出力デバイス制御ファイルとしてのＥＦについては、入力デバイス１０４に対応する入出力デバイス制御ファイルと、出力デバイス１０５に対応する入出力デバイス制御ファイルとのいずれであるのかについて示す。
データ長Ｌｃは、データ部Ｄａｔａのデータ長（サイズ）を示す。
【００７１】
ファイル創生コマンドにおけるデータ部Ｄａｔａは、創生対象のファイルに付与すべきファイル識別子を格納する。また、創生対象のファイルが入出力デバイス制御ファイルである場合、データ部Ｄａｔａには、ファイル識別子のほか、デバイス長、入出力パラメータなどの情報も格納される。
デバイス長は、対応の入出力デバイスにおける入出力バッファのサイズを示す。
入出力パラメータは、前述のように、対応の入出力デバイスの動作を指定する情報である。
【００７２】
説明を図６に戻す。ステップＳ１０１によりファイル創生コマンドが受信されるのに応じて、ＩＣカード１００におけるファイル創生部１２１は、以下の処理を実行する。つまり、ファイル創生部１２１は、受信されたファイル創生コマンドの第１パラメータＰ１、第２パラメータＰ２を参照して、ファイル種別が入出力デバイス制御ファイルであるか否かについて判定する（ステップＳ１０２）。
【００７３】
ファイル種別が入出力デバイス制御ファイルでない場合（ステップＳ１０２−ＮＯ）、ファイル創生部１２１は、ステップＳ１０１にて受信されたファイル創生コマンドに従って、標準のＥＦまたはＤＦに対応するファイル創生処理を実行する（ステップＳ１０７）。
【００７４】
これに対して、ファイル種別が入出力デバイス制御ファイルである場合（ステップＳ１０２−ＹＥＳ）、ファイル創生部１２１は、ステップＳ１０３以降の入出力デバイス制御ファイルを創生するための処理に移行する。
【００７５】
なお、ＥＦは、ＩＥＦ（Internal Elementary File：内部基礎ファイル）とＷＥＦとに分けられる。ＩＥＦは、セキュリティのためのキーデータが格納されるファイルであり、ＷＥＦは、ＩＣカードから外部への出力が可能なファイルである。
本実施形態において、入出力デバイス制御ファイルについてはＷＥＦとして作成されればよい。そこで、例えばステップＳ１０２において、ファイル種別が入出力デバイス制御ファイルであると判定された場合において、ファイル創生部１２１は、さらに、第１パラメータＰ１により示されるＥＦタイプがＷＥＦとＩＥＦのいずれであるのかを判定してもよい。
ここで、第１パラメータＰ１がＩＥＦを示していることが判定された場合には、何らかの原因によりファイル創生コマンドに誤りが発生していることから、ファイル創生部１２１は、エラーを出力することができる。
一方、第１パラメータＰ１により示されるＥＦタイプがＷＥＦであれば、ファイル創生部１２１は、入出力デバイス制御ファイルを創生するための処理に移行すればよい。
【００７６】
入出力デバイス制御ファイルを創生するための処理として、先ず、ファイル創生部１２１は、創生対象の入出力デバイス制御ファイルのファイル情報を、記憶媒体１０３のファイル管理領域に作成する（ステップＳ１０３）。ここで、ステップＳ１０３によりファイル情報が作成された段階において、ファイル識別子、入出力パラメータ、領域指定情報などは未だ確定されていない状態である。そこで、ファイル創生部１２１は、以下の処理を実行する。
ファイル創生部１２１は、ステップＳ１０１にて受信されたファイル創生コマンドのデータ部Ｄａｔａから取得したファイル識別子を、ステップＳ１０３により作成されたファイル情報の領域におけるファイル識別子の領域に書き込む（ステップＳ１０４）。
また、ファイル創生部１２１は、ステップＳ１０１にて受信されたファイル創生コマンドのデータ部Ｄａｔａから取得した入出力パラメータを、ステップＳ１０３により作成されたファイル情報の領域における属性の領域の所定位置に書き込む（ステップＳ１０５）。
【００７７】
また、ファイル創生部１２１は、創生対象の入出力デバイス制御ファイルに対応する入出力デバイスの入出力バッファ領域をファイルデータ格納領域として指定する領域指定情報を、ステップＳ１０３により作成されたファイル情報における領域指定情報の領域に書き込む（ステップＳ１０６）。
ステップＳ１０６として、ファイル創生部１２１は、ステップＳ１０１にて受信されたファイル創生コマンドの第２パラメータＰ２を参照して、創生対象の入出力デバイス制御ファイルが入力デバイス１０４と出力デバイス１０５とのいずれに対応するものであるのかについて判定する。
ファイル創生部１２１は、入力デバイス１０４に対応すると判定した場合には、入力デバイス１０４に対応する入出力バッファ領域である入力バッファ領域Ａｉｂｆの先頭アドレスを示す領域指定情報をファイル情報に書き込む。
一方、ファイル創生部１２１は、出力デバイス１０５に対応すると判定した場合には、出力デバイス１０５に対応する入出力バッファ領域である出力バッファ領域Ａｏｂｆの先頭アドレスを示す領域指定情報をファイル情報に書き込む。
このようにして、本実施形態におけるＩＣカード１００は、発行装置２００から受信したファイル創生コマンドに応じて、入出力デバイス制御ファイルの創生を伴うファイル創生を行うことができる。
【００７８】
次に、図８のフローチャートを参照して、入力デバイス１０４に対する制御のためにＩＣカード１００が実行する処理手順例について説明する。なお、同図に示す処理は、アプリケーション１、アプリケーション２のうち、いずれか一方のアプリケーションが有効化されている状態のもとで実行される。
【００７９】
前述のように、入力デバイス１０４に対する操作が行われるのに応じては、例えばＯＳの制御によって入力デバイス１０４の入力バッファ１４２から記憶媒体１０３の入力バッファ領域Ａｉｂｆに対してデータが書き込まれる。
入力データ取得部１２２は、上記のようにして入力バッファ領域Ａｉｂｆにデータが書き込まれるのを待機している（ステップＳ２０１−ＮＯ）。
入力バッファ領域Ａｉｂｆにデータが書き込まれると（ステップＳ２０１−ＹＥＳ）、入力データ取得部１２２は、入力デバイス１０４に対応する入出力デバイス制御ファイルの読み出し指定する読出コマンドを呼び出す（ステップＳ２０２）。ステップＳ２０２において読み込まれる読出コマンドは、ファイル識別子として入力デバイスに対応して定められた０００２を指定している。
【００８０】
入力データ取得部１２２は、ステップＳ２０２により出力された読出コマンドが指定する０００２のファイル識別子が付与された入出力デバイス制御ファイルのデータを記憶媒体１０３から読み出す（ステップＳ２０３）。
これまでの説明から理解されるように、０００２のファイル識別子が付与され、入力デバイス１０４に対応する入出力デバイス制御ファイルのファイルデータ格納領域としては入力バッファ領域Ａｉｂｆが指定されている。このために、ステップＳ２０３によっては、ステップＳ２０１に応じて入力バッファ領域Ａｉｂｆに書き込まれたデータが読み出される。つまり、入力デバイス１０４に対する操作によって入力されたデータが読み出される。
また、ステップＳ２０３においては、読み出しが指定された入出力デバイス制御ファイルのファイル情報に格納される入出力パラメータに従ってデータの読み出しが実行される。
【００８１】
そして、入力データ取得部１２２は、ステップＳ２０３により読み出されたデータを取得する（ステップＳ２０４）。このようにして、操作に応じて入力デバイス１０４に入力されたデータが、ＩＣカード１００上で有効化されているアプリケーションによって取得される。
また、同図に示した処理は、有効化されたアプリケーションごとにおいて実行される。これにより、共通の入力デバイス１０４を複数のアプリケーションのそれぞれが個別に制御することが可能になる。
【００８２】
続いて、図９のフローチャートを参照して、ＩＣカード１００が出力デバイス１０５に対する制御のために実行する処理手順例について説明する。
ＩＣカード１００における出力制御部１２３は、出力デバイス１０５に対してデータを表示すべきタイミングに至るのを待機している（ステップＳ３０１−ＮＯ）。
出力デバイス１０５にデータを表示すべきタイミングに至る場合として、具体的には、例えばキャッシュカードであれば、入金または出金に対応する処理が完了するのに応じて預金通帳の残高を表示すべきタイミングに至った場合を挙げることができる。また、例えばユーザアカウントなどとしての番号を入力する操作が入力デバイス１０４に対して行われたのに応じて、入力された番号の数字を表示させるべきタイミングに至ったような場合を挙げることができる。
【００８３】
出力デバイス１０５にデータを表示すべきタイミングに至るのに応じて（ステップＳ３０１−ＹＥＳ）、出力制御部１２３は、表示データを取得する（ステップＳ３０２）。
次に、出力制御部１２３は、出力デバイス１０５に対応する入出力デバイス制御ファイルの書き込みを指定する書込コマンドを呼び出す（ステップＳ３０３）。書込コマンドには、ステップＳ３０２にて取得した表示データが書込データとして格納されている。
【００８４】
ステップＳ３０３により読み込まれた書込コマンドの実行として、出力制御部１２３は、書込コマンドに含まれる書込データである表示データを、書込コマンドが指定する入出力デバイス制御ファイルに書き込む（ステップＳ３０４）。
【００８５】
ここで、ステップＳ３０３により出力された書込コマンドが指定する入出力デバイス制御ファイルは、０００３のファイル識別子を有し、ファイルデータ格納領域として出力バッファ領域Ａｏｂｆが指定されたファイルである。このために、ステップＳ３０４によっては、出力バッファ領域Ａｏｂｆに対して表示データが書き込まれる。また、ステップＳ３０４においては、書き込み対象の入出力デバイス制御ファイルのファイル情報に格納される入出力パラメータに従ってデータの書き込みが実行される。
上記のように出力バッファ領域Ａｏｂｆに対して表示データが書き込まれるのに応じて、出力バッファ領域Ａｏｂｆから出力デバイス１０５の出力バッファ１５１に表示データが転送され、表示部１５２により表示データの表示が行われる。
このような処理が各アプリケーションのもとで実行されることにより、共通の出力デバイス１０５を各アプリケーションが個別に制御することが可能になる。
【００８６】
これまでの説明から理解されるように、本実施形態においては、ＩＣカード１００の記憶媒体１０３に、入力デバイス１０４と出力デバイス１０５とのそれぞれに応じた入出力デバイス制御ファイルが作成される。入力デバイス１０４に対応する入出力デバイス制御ファイルはデータ格納領域として入力バッファ領域Ａｉｂｆを指定し、出力デバイス１０５に対応する入出力デバイス制御ファイルはデータ格納領域として出力バッファ領域Ａｏｂｆを指定する。
そして、ＩＣカード１００は、入力デバイスに対応する入出力デバイス制御ファイルの読み出しを指定する読出コマンドを実行することにより、入力デバイス１０４に入力されたデータを取得することができる。また、ＩＣカード１００は、出力デバイス１０５に対応する入出力デバイス制御ファイルの読み出しを指定する書込コマンドを実行することにより、出力デバイス１０５にデータを出力（表示）させることができる。
【００８７】
このように、本実施形態においては、ファイルの読み出しまたは書き込みにより入力デバイス１０４からのデータの入力または出力デバイス１０５におけるデータの出力が可能となる。
このようにファイルの読み出しまたは書き込みによる入出力デバイスの制御が可能となることで、例えばＯＳに依存せずに、入出力デバイス制御ファイルごとに入出力されるデータについての制限内容やアクセス権などを設定できることになる。即ち、アプリケーションごとに個別に入出力デバイスごとにおけるデータ入出力の態様を定めることが可能となり、アプリケーションごとに対応して柔軟に入出力デバイスを制御することが可能になる。
また、本実施形態のように、読出コマンドと書込コマンドとの実行により入出力デバイスを制御することによっては、入出力デバイスの制御のためにコマンドを別途定めなくともよくなる。これにより、ＩＣカードにおいて使用されるコマンドの体系が複雑になってしまうことを避けることができる。
【００８８】
＜第２実施形態＞
続いて、第２実施形態について説明する。第１実施形態におけるＩＣカード１００は、入出力デバイスとして、各１つの入力デバイス１０４と出力デバイス１０５とを備える構成であった。これに対して、第２実施形態におけるＩＣカード１００は、それぞれ複数の入力デバイスと出力デバイスとを備えて構成される。
【００８９】
図１０は、第２実施形態のＩＣカード１００の構成例を示している。なお、同図において図１と同一部分には同一符号を付して説明を省略する。
同図に示す第２実施形態のＩＣカード１００は、入力デバイスとして、第１入力デバイス１０４−１と第２入力デバイス１０４−２の２つを備える。また、本実施形態のＩＣカード１００は、出力デバイスとして、第１出力デバイス１０５−１と第２出力デバイス１０５−２の２つを備える。
第１入力デバイス１０４−１と第２入力デバイス１０４−２は、それぞれキー入力部１４１と入力バッファ１４２を備える。第１出力デバイス１０５−１と第２出力デバイス１０５−２は、それぞれ、出力バッファ１５１と表示部１５２を備える。
【００９０】
図１１を参照して、本実施形態のＩＣカード１００に実装されるアプリケーションのファイルと入出力デバイスとの関係について説明する。なお、同図においては、図２と同様に、ＩＣカード１００においてアプリケーション１とアプリケーション２との２つのアプリケーションが実装されている場合を例に挙げている。
【００９１】
アプリケーション１に対応するＤＦ１の直下には、ＥＦ１、ＥＦ２、ＥＦ３、ＥＦ４、ＥＦ５が置かれている。ＥＦ１には０００１の識別子が付与され、ＥＦ２には０００２のファイル識別子が付与され、ＥＦ３には０００３のファイル識別子が付与されている。さらにＥＦ４には０００４のファイル識別子が付与され、ＥＦ５には０００５のファイル識別子が付与されている。
【００９２】
また、アプリケーション２に対応するＤＦ１の直下には、ＥＦ１１、ＥＦ１２、ＥＦ１３、ＥＦ１４、ＥＦ１５が置かれている。ＥＦ１１には０００１のＥＦ１２には０００２のファイル識別子が付与され、ＥＦ１３には０００３のファイル識別子が付与されている。さらにＥＦ１４には０００４のファイル識別子が付与され、ＥＦ１５には０００５のファイル識別子が付与されている。
【００９３】
そのうえで、本実施形態においては、０００２のファイル識別子は、第１入力デバイス１０４−１に対応する入出力デバイス制御ファイルのファイル識別子として定められる。また、０００３のファイル識別子は、第１出力デバイス１０５−１に対応する入出力デバイス制御ファイルのファイル識別子として定められる。
さらに、０００４のファイル識別子は、第２入力デバイス１０４−２に対応する入出力デバイス制御ファイルのファイル識別子として定められる。また、０００５のファイル識別子は、第２出力デバイス１０５−２に対応する入出力デバイス制御ファイルのファイル識別子として定められる。
【００９４】
従って、アプリケーション１においては、ＥＦ２が第１入力デバイス１０４−１に対応する入出力デバイス制御ファイルであり、ＥＦ３が第１出力デバイス１０５−１に対応する入出力デバイス制御ファイルである。さらに、アプリケーション１においては、ＥＦ４が第２入力デバイス１０４−２に対応する入出力デバイス制御ファイルであり、ＥＦ５が第２出力デバイス１０５−２に対応する入出力デバイス制御ファイルである。
また、アプリケーション２においては、ＥＦ１２が第１入力デバイス１０４−１に対応する入出力デバイス制御ファイルであり、ＥＦ１３が第１出力デバイス１０５−１に対応する入出力デバイス制御ファイルである。さらに、アプリケーション２においては、ＥＦ１４が第２入力デバイス１０４−２に対応する入出力デバイス制御ファイルであり、ＥＦ１５が第２出力デバイス１０５−２に対応する入出力デバイス制御ファイルである。
【００９５】
このように、図１１に示す例では、アプリケーション１は、第１入力デバイス１０４−１、第１出力デバイス１０５−１、第２入力デバイス１０４−２、第２出力デバイス１０５−２のそれぞれに対応したＥＦ２、ＥＦ３、ＥＦ４、ＥＦ５を有する。
また、アプリケーション２も、同様に、第１入力デバイス１０４−１、第１出力デバイス１０５−１、第２入力デバイス１０４−２、第２出力デバイス１０５−２のそれぞれに対応したＥＦ１２、ＥＦ１３、ＥＦ１４、ＥＦ１５を有する。
即ち、第２実施形態におけるアプリケーション１とアプリケーション２とは、２つの入力デバイスと共通の出力デバイスとを共通に使用する。
【００９６】
図１２は、図１１に示したファイル構造に対応した記憶媒体１０３の記憶領域のデータマッピング例を示している。
同図に示す記憶媒体１０３の記憶領域は、図３の場合と同様に、上位から順に、ファイル管理領域、ファイル領域、バッファ領域に区分されている。
ファイル管理領域においては、図１１に示したＥＦ１、ＥＦ２、ＥＦ３、ＥＦ４、ＥＦ５、ＥＦ１１、ＥＦ１２、ＥＦ１３、ＥＦ１４、ＥＦ１５のそれぞれに対応するファイル情報が格納された状態が示されている。なお、同図においても、図３と同様に、ＤＦ１、ＤＦ２に対応する各ファイル情報については図示を省略している。
【００９７】
また、バッファ領域においては、第１入力デバイス１０４−１、第１出力デバイス１０５−１、第２入力デバイス１０４−２、第２出力デバイス１０５−２のそれぞれに対応して以下の４つの入出力バッファ領域が設けられる。
つまり、第１入力バッファ領域Ａｉｂｆ−１、第１出力バッファ領域Ａｏｂｆ−１、第２入力バッファ領域Ａｉｂｆ−２、第２出力バッファ領域Ａｏｂｆ−２が設けられる。
【００９８】
同図に示されるファイル情報のうち、アプリケーション１におけるＥＦ１のファイル情報は、親ＤＦがＤＦ１であることを示し、ファイル識別子は０００１であることを示す。また、図示は省略しているが、ＥＦ１のファイル情報の領域指定情報は、ファイル領域において定められたＥＦ１のファイルデータ格納領域の先頭アドレスを示す。
【００９９】
また、アプリケーション１におけるＥＦ２のファイル情報は、親ＤＦがＤＦ１であることを示し、ファイル識別子は、第１入力デバイス１０４−１に対応する入出力デバイス制御ファイルである０００２を示す。そして、ＥＦ２のファイル情報における領域指定情報は、同図に示すように、バッファ領域における第１入力バッファ領域Ａｉｂｆ−１の先頭アドレスを示す。
また、アプリケーション１におけるＥＦ３のファイル情報は、親ＤＦがＤＦ１であることを示し、ファイル識別子は、第１出力デバイス１０５−１に対応する入出力デバイス制御ファイルである０００３を示す。そして、ＥＦ３のファイル情報における領域指定情報は、同図に示すように、第１出力バッファ領域Ａｏｂｆ−１の先頭アドレスを示す。
【０１００】
また、アプリケーション１におけるＥＦ４のファイル情報は、親ＤＦがＤＦ１であることを示し、ファイル識別子は、第２入力デバイス１０４−２に対応する入出力デバイス制御ファイルである０００４を示す。そして、ＥＦ４のファイル情報における領域指定情報は、同図に示すように、第２入力バッファ領域Ａｉｂｆ−２の先頭アドレスを示す。
また、アプリケーション１におけるＥＦ５のファイル情報は、親ＤＦがＤＦ１であることを示し、ファイル識別子は、第２出力デバイス１０５−２に対応する入出力デバイス制御ファイルである０００５を示す。そして、ＥＦ５のファイル情報における領域指定情報は、同図に示すように、第２出力バッファ領域Ａｏｂｆ−２の先頭アドレスを示す。
【０１０１】
また、アプリケーション２におけるＥＦ１１のファイル情報は、親ＤＦがＤＦ２であることを示し、ファイル識別子は０００１であることを示す。また、図示は省略しているが、ＥＦ１１のファイル情報の領域指定情報は、ファイル領域において定められたＥＦ１１のファイルデータ格納領域の先頭アドレスを示す。この場合にも、図３の場合と同様に、ＥＦ１１のファイルデータ格納領域は、ＥＦ１のファイルデータ格納領域とは異なる領域が定められている。
【０１０２】
また、アプリケーション２におけるＥＦ１２のファイル情報は、親ＤＦがＤＦ２であることを示し、ファイル識別子は、第１入力デバイス１０４−１に対応する入出力デバイス制御ファイルである０００２を示す。そして、ＥＦ１２のファイル情報における領域指定情報は、同図に示すように、バッファ領域における第１入力バッファ領域Ａｉｂｆ−１の先頭アドレスを示す。
また、アプリケーション２におけるＥＦ１３のファイル情報は、親ＤＦがＤＦ２であることを示し、ファイル識別子は、第１出力デバイス１０５−１に対応する入出力デバイス制御ファイルである０００３を示す。そして、ＥＦ１３のファイル情報における領域指定情報は、同図に示すように、バッファ領域における第１出力バッファ領域Ａｏｂｆ−１の先頭アドレスを示す。
【０１０３】
また、アプリケーション２におけるＥＦ１４のファイル情報は、親ＤＦがＤＦ２であることを示し、ファイル識別子は、第２入力デバイス１０４−２に対応する入出力デバイス制御ファイルである０００４を示す。そして、ＥＦ１４のファイル情報における領域指定情報は、同図に示すように、バッファ領域における第２入力バッファ領域Ａｉｂｆ−２の先頭アドレスを示す。
また、アプリケーション２におけるＥＦ１５のファイル情報は、親ＤＦがＤＦ２であることを示し、ファイル識別子は、第２出力デバイス１０５−２に対応する入出力デバイス制御ファイルである０００５を示す。そして、ＥＦ１５のファイル情報における領域指定情報は、同図に示すように、バッファ領域における第２出力バッファ領域Ａｏｂｆ−２の先頭アドレスを示す。
【０１０４】
このように、本実施形態においては、２つの入力デバイスと２つの出力デバイスとのそれぞれに対応する４つの入出力デバイス制御ファイルが、アプリケーション１とアプリケーション２とのそれぞれに対応して作成される。
そのうえで、同じ１つの入出力デバイスに対応するアプリケーション１の入出力デバイス制御ファイルとアプリケーション２の入出力デバイス制御ファイルとは、同じ１つの入出力デバイスに対応する共通の入出力バッファ領域を指定するようにされている。
【０１０５】
次に、図１３を参照して、第２実施形態におけるＩＣカード１００に実装されたアプリケーション１、アプリケーション２による入出力デバイスの制御について説明する。
【０１０６】
ＩＣカード１００上でアプリケーション１が有効化されている状態のもとで、第１入力デバイス１０４−１のキー入力部１４１に対する操作が行われると、操作に応じて指定された文字のデータが入力バッファ１４２にて保持され、さらに記憶媒体１０３の第１入力バッファ領域Ａｉｂｆ−１に書き込まれる。
【０１０７】
アプリケーション１は、上記のように第１入力バッファ領域Ａｉｂｆ−１にデータが書き込まれたのに応じて、第１入力デバイス１０４−１に対応する入出力デバイス制御ファイルに付与された０００２のファイル識別子が示すＥＦ２の読み出しを指示する読出コマンドを実行する。
これにより、アプリケーション１は、第１入力デバイス１０４−１に対応するＥＦ２としての入出力デバイス制御ファイルが指定するファイルデータ格納領域である第１入力バッファ領域Ａｉｂｆ−１からデータを読み出す。この結果、アプリケーション１は、第１入力デバイス１０４−１に入力されたデータを取得することができる。
【０１０８】
また、アプリケーション１は、第１出力デバイス１０５−１の表示部１５２にデータを表示すべきとき、第１出力デバイス１０５−１に対応する入出力デバイス制御ファイルに付与された０００３のファイル識別子が示すＥＦ３を指定して表示データの書き込みを指示する書込コマンドを実行する。これにより、第１出力バッファ領域Ａｏｂｆ−１に表示データが書き込まれ、第１出力デバイス１０５−１にデータを表示させることができる。
【０１０９】
また、アプリケーション１は、第２入力デバイス１０４−２に対する操作に応じて第２入力バッファ領域Ａｉｂｆ−２にデータが書き込まれたのに応じて、第２入力デバイス１０４−２に対応する入出力デバイス制御ファイルに付与された０００４のファイル識別子のＥＦ４の読み出しを指示する読出コマンドを実行する。これにより、第２入力バッファ領域Ａｉｂｆ−２からデータが読み出され、アプリケーション１は、第２入力デバイス１０４−２によって入力されたデータを取得することができる。
【０１１０】
また、アプリケーション１は、第２出力デバイス１０５−２の表示部１５２にデータを表示すべきとき、以下の書込コマンドを実行する。つまり、アプリケーション１は、第２出力デバイス１０５−２に対応する入出力デバイス制御ファイルに付与された０００５のファイル識別子を示すＥＦ５を指定して表示データの書き込みを指示する書込コマンドを実行する。これにより、第２出力バッファ領域Ａｏｂｆ−２に表示データが書き込まれ、第２出力デバイス１０５−２においてデータが表示される。
【０１１１】
また、アプリケーション２が有効化されている場合にも、アプリケーション２は、第１入力デバイス１０４−１に対応する第１入力バッファ領域Ａｉｂｆ−１にデータが書き込まれたのに応じて、以下の読出コマンドを実行する。つまり、アプリケーション２は、第１入力デバイス１０４−１に対応する入出力デバイス制御ファイルに付与された０００２のファイル識別子が示すＥＦ１２の読み出しを指示する読出コマンドを実行する。
【０１１２】
また、アプリケーション２は、第１出力デバイス１０５−１の表示部１５２にデータを表示すべきとき、以下の書込コマンドを実行する。つまり、アプリケーション２は、第１出力デバイス１０５−１に対応する入出力デバイス制御ファイルに付与された０００３のファイル識別子が示すＥＦ１３を指定して表示データの書き込みを指示する書込コマンドを実行する。これにより、第１出力バッファ領域Ａｏｂｆ−１に表示データが書き込まれ、第１出力デバイス１０５−１にデータが表示される。
【０１１３】
また、アプリケーション２は、第２入力デバイス１０４−２に対する操作に応じて第２入力バッファ領域Ａｉｂｆ−２にデータが書き込まれたのに応じて、第２入力デバイス１０４−２に対応する入出力デバイス制御ファイルに付与された０００４のファイル識別子のＥＦ１４の読み出しを指定する読出コマンドを実行する。これにより、アプリケーション２は、第２入力バッファ領域Ａｉｂｆ−２からデータを読み出すことができ、第２入力デバイス１０４−２によって入力されたデータを取得することができる。
【０１１４】
また、アプリケーション２は、第２出力デバイス１０５−２の表示部１５２にデータを表示すべきとき、第２出力デバイス１０５−２に対応する入出力デバイス制御ファイルに付与された０００５のファイル識別子を示すＥＦ１５を指定して表示データを書き込むための書込コマンドを実行する。これにより、第２出力バッファ領域Ａｏｂｆ−２に表示データが書き込まれ、第２出力デバイス１０５−２にデータが表示される。
【０１１５】
また、アプリケーション１は、第１入力デバイス１０４−１または第２入力デバイス１０４−２からデータを入力するにあたり、対応のＥＦ２、ＥＦ４のファイル情報に格納される入出力パラメータに従って制御を行う。つまり、アプリケーション１は、第１入力デバイス１０４−１と第２入力デバイス１０４−２とのデータ入力について、異なる態様を与えることができる。
同様に、アプリケーション１は、第１出力デバイス１０５−１または第２出力デバイス１０５−２にデータを出力するにあたり、対応のＥＦ３、ＥＦ５のファイル情報に格納される入出力パラメータに従って制御を行うことで、第１出力デバイス１０５−１と第２出力デバイス１０５−２とにおける表示について異なる態様を与えることができる。
【０１１６】
さらに、アプリケーション２についても、第１入力デバイス１０４−１または第２入力デバイス１０４−２からデータを入力するにあたり、対応のＥＦ１２、ＥＦ１４のファイル情報に格納される入出力パラメータに従って、第１入力デバイス１０４−１と第２入力デバイス１０４−２とで異なるデータ入力の態様を与えることができる。
また、アプリケーション２は、第１出力デバイス１０５−１または第２出力デバイス１０５−２にデータを出力するにあたり、対応のＥＦ１３、ＥＦ１５のファイル情報に格納される入出力パラメータに従って制御を行うことで、第１出力デバイス１０５−１と第２出力デバイス１０５−２とで異なる動作とすることができる。
【０１１７】
そのうえで、本実施形態では、第１入力デバイス１０４−１と第２入力デバイス１０４−２とのそれぞれについて、アプリケーション１とアプリケーション２とで、入力可能なデータの制限やアクセス権などとしてのデータ入力の態様を異ならせることができる。
同様に、本実施形態では、第１出力デバイス１０５−２と第２出力デバイス１０５−２とのそれぞれについても、アプリケーション１とアプリケーション２とで、出力可能なデータの制限やアクセス権などとしてのデータ出力の態様を異ならせることができる。
【０１１８】
なお、第１実施形態においては、各１つの入力デバイスと出力デバイスとがＩＣカードに備えられ、第２実施形態においては各２つの入力デバイスと出力デバイスとが備えられた例を示している。しかし、ＩＣカード１００が備える入力デバイスと出力デバイスの各数については特に限定されるものではない。また、ＩＣカード１００が備える入力デバイスの数と出力デバイスの数とは同じである必要はない。
そのうえで、アプリケーション１が使用する入出力デバイスと、アプリケーション２が使用する入出力デバイスとが必ずしも同じである必要はない。
【０１１９】
また、本実施形態における入力デバイス１０４は、キー入力部１４１を備えた構成に限定されるものではなく、例えば、手書きによる文字入力が可能なように構成された文字入力部を備えたような構成などであってもよい。
また、出力デバイス１０５としても、これまでの説明のように文字などを表示する態様のほかに、例えばＬＥＤ（Light Emitted Diode）などの発光部を所定のパターンで点灯させることによってデータ出力が行われるようにしてもよい。
【０１２０】
また、タッチパネルのように表示デバイスとタッチパッドなどの位置入力装置とが組み合わされた入出力デバイスがＩＣカード１００に備えられてもよい。このように入力機能と出力機能とを備える入出力デバイスにおいては、入力バッファと出力バッファとを分離することなく、入力バッファとしての機能と出力バッファとしての機能とを有する１つの入出力バッファが備えられてもよい。
【０１２１】
なお、上述のＩＣカード１００の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述のＩＣカード１００としての処理を行ってもよい。
ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやＷＡＮ、ＬＡＮ、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、ＣＤ−ＲＯＭ等の非一過性の記録媒体であってもよい。また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部または外部に設けられた記録媒体も含まれる。配信サーバの記録媒体に記憶されるプログラムのコードは、端末装置で実行可能な形式のプログラムのコードと異なるものでもよい。すなわち、配信サーバからダウンロードされて端末装置で実行可能な形でインストールができるものであれば、配信サーバで記憶される形式は問わない。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に端末装置で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１２２】
１００  ＩＣカード、１０１  通信部、１０２  制御部、１０３  記憶媒体、１０４  入力デバイス、１０５  出力デバイス、１２１  ファイル創生部、１２２  入力データ取得部、１２３  出力制御部、１４１  キー入力部、１４２  入力バッファ、１５１  出力バッファ、１５２  表示部、２００  発行装置、３００  リーダライタ
【図１】
2015232808.tif 000003
【図２】
2015232808.tif 000004
【図３】
2015232808.tif 000005
【図４】
2015232808.tif 000006
【図５】
2015232808.tif 000007
【図６】
2015232808.tif 000008
【図７】
2015232808.tif 000009
【図８】
2015232808.tif 000010
【図９】
2015232808.tif 000011
【図１０】
2015232808.tif 000012
【図１１】
2015232808.tif 000013
【図１２】
2015232808.tif 000014
【図１３】
2015232808.tif 000015