(57)【要約】【課題】記憶媒体装置において複数のアプリケーションを機能させるにあたり、記憶媒体装置が備える記憶媒体の記憶容量の効率的な使用を図る。【解決手段】１つの共通アプリケーションのもとで機能する複数のアプリケーションごとのアプリケーションデータを同じ１つのデータ格納位置に格納するように記憶し、複数のアプリケーションのうちから選択されたアプリケーションを示すアプリケーション選択情報を記憶する記憶媒体と、外部通信装置と通信を行う通信部と、外部通信装置により選択されたアプリケーションが示されるように、アプリケーション選択情報を更新するアプリケーション切替制御部と、アプリケーション選択情報が示すアプリケーションに対応するアプリケーションデータを利用して処理を実行するアプリケーション実行部とを備えて記憶媒体装置を構成する。【選択図】図６
2015228160.tif 000002
【特許請求の範囲】
【請求項１】
１つの共通アプリケーションのもとで機能する複数のアプリケーションごとのアプリケーションデータを同じ１つのデータ格納位置に格納するように記憶し、前記複数のアプリケーションのうちから選択されたアプリケーションを示すアプリケーション選択情報を記憶する記憶媒体と、
外部通信装置と通信を行う通信部と、
前記外部通信装置により選択されたアプリケーションが示されるように、前記アプリケーション選択情報を更新するアプリケーション切替制御部と、
前記アプリケーション選択情報が示すアプリケーションに対応するアプリケーションデータを利用して処理を実行するアプリケーション実行部と
を備える記憶媒体装置。
【請求項２】
前記アプリケーション切替制御部は、
前記外部通信装置との認証処理が成立した鍵を含むアプリケーションデータに対応するアプリケーションが示されるように、前記アプリケーション選択情報を更新する
請求項１に記載の記憶媒体装置。
【請求項３】
前記記憶媒体は、
前記１つのデータ格納位置に、前記複数のアプリケーションの間で共有されるデータを格納した共有ファイルを格納するように記憶する
請求項１または２に記載の記憶媒体装置。
【請求項４】
前記アプリケーション選択情報は、前記１つのデータ格納位置としてのファイルを管理するファイル管理情報に格納される
請求項１から３のいずれか一項に記載の記憶媒体装置。
【請求項５】
前記アプリケーション選択情報は、前記１つのデータ格納位置に格納される１つのファイルである
請求項１から３のいずれか一項に記載の記憶媒体装置。
【請求項６】
１つの共通アプリケーションのもとで機能する複数のアプリケーションごとのアプリケーションデータを同じ１つのデータ格納位置に格納するように記憶し、前記複数のアプリケーションのうちから選択されたアプリケーションを示すアプリケーション選択情報を記憶する記憶媒体を備える記憶媒体装置におけるアプリケーション実行方法であって、
通信部が外部通信装置と通信を行うステップと、
アプリケーション切替制御部が、前記外部通信装置により選択されたアプリケーションが示されるように、前記アプリケーション選択情報を更新するステップと、
アプリケーション実行部が、前記共通アプリケーションプログラムのもとで、前記アプリケーション選択情報が示すアプリケーションに対応するアプリケーションデータを利用して処理を実行するステップと
を含むアプリケーション実行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶媒体装置及びアプリケーション実行方法に関する。
【背景技術】
【０００２】
ＩＣ（Integrated Circuit）カードには複数のアプリケーションを実装することができる。このように１つのＩＣカードに複数のアプリケーションを実装したうえで、アプリケーションを切り替えて実行させることで、１つのＩＣカードに複数の異なる機能を与えることができる。
【０００３】
ＩＣカードのファイル構造は、ＭＦ（Master File）の階層下に、ＤＦ（Dedicated File：専用ファイル）とＥＦ（Elementary File：基礎ファイル）との２種類のファイルを配置した構造である。ＤＦは、ＥＦ、ＤＦを格納するファイルであり、ＥＦは、各種のデータが格納されるファイルである。
ＩＣカードに複数のアプリケーションが実装される場合、複数のアプリケーションのそれぞれに対応して各１つのＤＦが作成される。そして、各アプリケーションが利用するデータ（アプリケーションデータ）は、対応のＤＦに格納されるようにして管理される（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１２２５７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のようにＩＣカードに複数のアプリケーションが実装される場合において、例えば複数のアプリケーションが、機能にいつくかの相違がある以外は、同等の機能を多く有しているような場合がある。
アプリケーションの機能は対応のプログラム（アプリケーションプログラム）によって実現される。上記のようにＩＣカードに複数のアプリケーションが実装されるのに応じて、ＩＣカードには、複数のアプリケーションごとに対応する複数のアプリケーションプログラムがＩＣカードに記憶される。ＩＣカードに記憶された各アプリケーションプログラムは、対応のアプリケーションが選択されるのに応じて、選択されたアプリケーションに対応のＤＦに格納されるアプリケーションデータとしての各種ファイルを処理する。このようにして、アプリケーションごとに対応する機能がＩＣカードで実現される。
【０００６】
上記したことによれば、ＩＣカードに実装された複数のアプリケーションの間で共通の機能を含むような場合であっても、ＩＣカードにはアプリケーションごとに個別に対応するアプリケーションプログラムが記憶されることになる。この場合、アプリケーションプログラム間で共通となる機能に対応するプログラム部分については、各アプリケーションプログラムで同じ内容が重複してＩＣカードに記憶されていることになり、ＩＣカードの記憶容量の効率的な使用の妨げになっていると捉えられる。
【０００７】
本発明は、このような事情に鑑みてなされたもので、記憶媒体装置において複数のアプリケーションを機能させるにあたり、記憶媒体装置が備える記憶媒体の記憶容量を効率的に使用できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決するために、本発明の一態様は、１つの共通アプリケーションのもとで機能する複数のアプリケーションごとのアプリケーションデータを同じ１つのデータ格納位置に格納するように記憶し、前記複数のアプリケーションのうちから選択されたアプリケーションを示すアプリケーション選択情報を記憶する記憶媒体と、外部通信装置と通信を行う通信部と、前記外部通信装置により選択されたアプリケーションが示されるように、前記アプリケーション選択情報を更新するアプリケーション切替制御部と、前記アプリケーション選択情報が示すアプリケーションに対応するアプリケーションデータを利用して処理を実行するアプリケーション実行部とを備える記憶媒体装置である。
【０００９】
また、本発明の一態様は、上記の記憶媒体装置であり、前記アプリケーション切替制御部は、前記外部通信装置との認証処理が成立した鍵を含むアプリケーションデータに対応するアプリケーションが示されるように、前記アプリケーション選択情報を更新してもよい。
【００１０】
また、本発明の一態様は、上記の記憶媒体装置であり、前記記憶媒体は、前記１つのデータ格納位置に、前記複数のアプリケーションの間で共有されるデータを格納した共有ファイルを格納するように記憶してもよい。
【００１１】
また、本発明の一態様は、上記の記憶媒体装置であり、前記アプリケーション選択情報は、前記１つのデータ格納位置としてのファイルを管理するファイル管理情報に格納されてもよい。
【００１２】
また、本発明の一態様は、上記の記憶媒体装置であり、前記アプリケーション選択情報は、前記１つのデータ格納位置に格納される１つのファイルであってもよい。
【００１３】
本発明の一態様は、１つの共通アプリケーションのもとで機能する複数のアプリケーションごとのアプリケーションデータを同じ１つのデータ格納位置に格納するように記憶し、前記複数のアプリケーションのうちから選択されたアプリケーションを示すアプリケーション選択情報を記憶する記憶媒体を備える記憶媒体装置におけるアプリケーション実行方法であって、通信部が外部通信装置と通信を行うステップと、アプリケーション切替制御部が、前記外部通信装置により選択されたアプリケーションが示されるように、前記アプリケーション選択情報を更新するステップと、アプリケーション実行部が、前記共通アプリケーションプログラムのもとで、前記アプリケーション選択情報が示すアプリケーションに対応するアプリケーションデータを利用して処理を実行するステップとを含むアプリケーション実行方法である。
【発明の効果】
【００１４】
以上説明したように、本発明によれば、記憶媒体装置において複数のアプリケーションを機能させるにあたり、記憶媒体装置が備える記憶媒体の記憶容量を効率的に使用できるようになるという効果が得られる。
【図面の簡単な説明】
【００１５】
【図１】ＩＣカードに複数のアプリケーションを実装した場合における、ＩＣカードの記憶媒体におけるデータ構造の一般的な例を示す図である。
【図２】図１に示したデータ構造に対応する記憶媒体のファイル構造例を示す図である。
【図３】第１実施形態における記憶媒体のデータ構造例を示す図である。
【図４】第１実施形態における記憶媒体のファイル構造例を示す図である。
【図５】第１実施形態におけるＩＣカードの構成例を示す図である。
【図６】第１実施形態におけるＩＣカードとリーダライタとが実行する処理手順例を示す図である。
【図７】第２実施形態における記憶媒体のファイル構造例を示す図である。
【図８】第３実施形態における記憶媒体のファイル構造例を示す図である。
【図９】第４実施形態における記憶媒体のデータ構造例を示す図である。
【図１０】第４実施形態における記憶媒体のファイル構造例を示す図である。
【発明を実施するための形態】
【００１６】
＜ＩＣカードの記憶媒体の記憶態様例＞
本実施形態のＩＣ（Integrated Circuit）カード（記憶媒体装置の一例）は、内部に不揮発性（非一過性）の記憶媒体を備える。ＩＣカードには使用用途に応じたアプリケーションが実装されている。アプリケーションの実装は、アプリケーションとしての機能を実現するためのプログラム（アプリケーションプログラム）と、アプリケーションが利用するデータ（アプリケーションデータ）を記憶媒体に記憶させることによって実現される。
そして、ＩＣカードに複数のアプリケーションを実装するにあたっては、複数のアプリケーションのそれぞれに対応する複数のアプリケーションプログラムと、複数のアプリケーションデータとがＩＣカード内の記憶媒体に記憶される。
【００１７】
図１は、ＩＣカードに複数のアプリケーションを実装した場合における、ＩＣカードの記憶媒体におけるデータ構造の一般的な例を示している。
なお、同図の説明にあたっては、２つのアプリケーションをＩＣカードに実装する場合を例に挙げる。２つのアプリケーションは、第１ポイントサービスに対応する第１ポイントサービスアプリケーションと、第２ポイントサービスに対応する第２ポイントサービスアプリケーションである。ポイントサービスは、例えば提携の店舗などで商品やサービスを購入するのに応じてポイントが付与され、また、累積されたポイントを料金の支払いや景品との交換に使用できるといったサービスをユーザに提供するものである。
そのうえで、第１ポイントサービスと第２ポイントサービスとは、例えばそれぞれ異なる運用者が運営するポイントサービスである。従って、第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとが実装されたＩＣカードを所有するユーザは、１枚で２つの異なるポイントサービスを利用することができる。
【００１８】
同図に示すように、ＩＣカードの記憶媒体１０３においては、プログラム領域１３１とアプリケーションデータ領域１３２とが形成される。プログラム領域１３１は、アプリケーションプログラムのデータが格納される領域である。アプリケーションデータ領域１３２は、プログラム領域１３１に格納されたアプリケーションプログラムに対応するアプリケーションデータが格納される領域である。
【００１９】
プログラム領域１３１には、第１ポイントサービスアプリケーションプログラムＰＲＧ１と第２ポイントサービスアプリケーションプログラムＰＲＧ２とが格納される。
第１ポイントサービスアプリケーションプログラムＰＲＧ１は、第１ポイントサービスに対応するアプリケーション（第１ポイントサービスアプリケーション）としての機能の実現のためにＩＣカードのＣＰＵ（Central Processing Unit）が実行するプログラムである。
第２ポイントサービスアプリケーションプログラムＰＲＧ２は、第２ポイントサービスに対応するアプリケーション（第２ポイントサービスアプリケーション）としての機能の実現のためにＩＣカードのＣＰＵが実行するプログラムである。
【００２０】
また、アプリケーションデータ領域１３２には、第１ポイントサービスアプリケーションデータＡＰＤ１と第２ポイントサービスアプリケーションデータＡＰＤ２とが格納される。
第１ポイントサービスアプリケーションデータＡＰＤ１は、第１ポイントサービスアプリケーションのもとで利用されるアプリケーションデータである。第２ポイントサービスアプリケーションデータＡＰＤ２は、第２ポイントサービスアプリケーションのもとで利用されるアプリケーションデータである。
つまり、第１ポイントサービスアプリケーションデータＡＰＤ１は、第１ポイントサービスアプリケーションプログラムＰＲＧ１の実行により第１ポイントサービスアプリケーションが動作する状態のもとでＣＰＵが利用するデータである。
また、第２ポイントサービスアプリケーションデータＡＰＤ２は、第２ポイントサービスアプリケーションプログラムＰＲＧ２の実行により第２ポイントサービスアプリケーションが動作する状態のもとでＣＰＵが利用するデータである。
このように、同図に示す記憶媒体１０３においては、第１ポイントサービスアプリケーションプログラムＰＲＧ１と第１ポイントサービスアプリケーションデータＡＰＤ１とが対応付けられるように記憶される。同様に、記憶媒体１０３においては、第２ポイントサービスアプリケーションプログラムＰＲＧ２と第２ポイントサービスアプリケーションデータＡＰＤ２とが対応付けられるように記憶される。
【００２１】
図２は、図１に示したデータ構造に含まれる第１ポイントサービスアプリケーションデータＡＰＤ１と第２ポイントサービスアプリケーションデータＡＰＤ２に対応する記憶媒体１０３のファイル構造例を示している。
ＩＣカードにおけるファイル構造は、ＭＦ（Master File）の階層下に、ＤＦ（Dedicated File：専用ファイル）とＥＦ（Elementary File：基礎ファイル）とを配置した構造である。
【００２２】
ＤＦ（データ格納位置の一例）は、下位のＥＦやＤＦをグループ化するためのファイルである。ＤＦにはファイル識別子が割り当てられる。ＤＦに割り当てられるファイル識別子は、ファイル構造内で一意となるように定められる。ＤＦのファイル識別子は、アプリケーションを識別する識別子としても機能し、ファイル構造内において一意であるべきことが規定されている。
ＥＦは、データを格納するファイルである。ＥＦにもファイル識別子が割り当てられる。ＥＦに割り当てられるファイル識別子は、ＤＦ内で一意となるように定められる。
【００２３】
ＥＦは、ＩＥＦ（Internal Elementary File：内部基礎ファイル）とＷＥＦ（作業基礎ファイル）との２つの種別に分けられる。
ＩＥＦは、セキュリティのためのキーデータが格納されるファイルである。ＩＥＦは、セキュリティ上、ＩＣカード１００から外部への出力が不可のファイルであり、ＩＣカード１００の内部においてのみ使用される。
ＷＥＦは、ＩＣカード１００から外部への出力が可能なファイルである。ＷＥＦは、例えば、ユーザに付与されたポイントに関する情報などの一般的なデータを格納する。
【００２４】
同図の例では、ＭＦの直下にＤＦ１、ＤＦ２が置かれた態様が示されている。ＤＦ１は、第１ポイントサービスアプリケーションデータＡＰＤ１としてのファイルを格納する。ＤＦ２は、第１ポイントサービスアプリケーションデータＡＰＤ１としてのファイルを格納する。
同図において、ＤＦ１は、第１ポイントサービスアプリケーションデータＡＰＤ１のファイルとして、ＷＥＦ１とＩＥＦ１とを格納している。
また、ＤＦ２は、第２ポイントサービスアプリケーションデータＡＰＤ２のファイルとして、ＷＥＦ２とＩＥＦ２とを格納している。
【００２５】
ここで、ＤＦ１にはファイル識別子（ＦＩＤ）として０００１が割り当てられている。０００１のファイル識別子は、第１ポイントサービスアプリケーションを一意に示すアプリケーション識別子としても機能する。
第１ポイントサービスアプリケーションプログラムは、自己に対応するアプリケーション識別子である０００１が割り当てられたＤＦ１を選択し、選択したＤＦ１内のＥＦ（ＷＥＦ１、ＩＥＦ１）を利用して処理を実行する。
【００２６】
また、ＤＦ２にはファイル識別子（ＦＩＤ）として０００２が割り当てられている。０００２ファイル識別子は、第２ポイントサービスアプリケーションを一意に示すアプリケーション識別子としても機能する。
第２ポイントサービスアプリケーションプログラムは、自己に対応するアプリケーション識別子である０００２が割り当てられたＤＦ２を選択し、選択したＤＦ２内のＥＦ（ＷＥＦ２、ＩＥＦ２）を利用して処理を実行する。
【００２７】
図１及び図２から理解されるように、ＩＣカードに複数のアプリケーションを実装するには、複数のアプリケーションごとに対応する複数のアプリケーションプログラムと複数のアプリケーションデータとを記憶媒体１０３に記憶させる。そのうえで、アプリケーションプログラムのそれぞれは、自己のアプリケーション識別子に該当するファイル識別子が付与されたＤＦを選択し、選択したＤＦに格納されるファイルを処理する。このようにして、ＩＣカードにおいて複数のアプリケーションを選択的に動作させることが可能となる。
【００２８】
ここで、第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとについて、共通の仕様のもとで、それぞれのポイントに関する制御を行うように構成する場合を例に挙げる。
このような場合には、例えば第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとのそれぞれに対応するアプリケーションプログラムについては、多くの部分で共通な内容を有する。
このように複数のアプリケーションプログラム間で共通のプログラム内容を有するということは、ＩＣカードにおいて、内容が重複する複数のデータが記憶されているということである。このような状態は、ＩＣカードにおける記憶媒体に記憶されるデータ量を増加させており、記憶媒体の記憶容量の効率的な使用を妨げていると捉えることができる。このような観点からすれば、アプリケーションプログラムの内容が重複するデータをアプリケーション間で共有することで、ＩＣカードの記憶媒体の記憶容量を効率よく使用できるようにすることが好ましい。
【００２９】
＜第１実施形態＞
［記憶媒体の記憶態様例］
そこで、本実施形態は、ＩＣカード（記憶媒体装置の一例）について以下に説明するように構成することで、記憶媒体１０３の記憶容量が効率的に使用されるようにする。
図３は、本実施形態におけるＩＣカードに複数のアプリケーションを実装した場合における、記憶媒体１０３のデータ構造例を示している。同図において、図１と同一部分には同一符号を付している。また、同図は、図１の場合と同様に、ＩＣカードに第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとを実装する場合の例を示している。
【００３０】
同図に示す記憶媒体１０３は、図１と同様に、プログラム領域１３１とアプリケーションデータ領域１３２とが形成されている。そのうえで、本実施形態においては、プログラム領域１３１において共通アプリケーションプログラムＰＲＧが格納される。
【００３１】
共通アプリケーションプログラムＰＲＧは、第１ポイントサービスアプリケーションとしての動作と、第１ポイントサービスアプリケーションとしての動作とのいずれかを選択的に実現することのできる共通アプリケーションのプログラムである。
従って、共通アプリケーションプログラムＰＲＧは、第１ポイントサービスアプリケーションとしての動作を実現するためのプログラム内容と、第２ポイントサービスアプリケーションとしての動作を実現するためのプログラム内容とを含んで構成される。
そのうえで、共通アプリケーションプログラムＰＲＧは、第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとで重複するプログラム内容の部分については、共通化した構造を有している。
【００３２】
具体的に、共通アプリケーションプログラムＰＲＧは、共通プログラム部ｐｔ１０、第１差分プログラム部ｐｔ１１、第２差分プログラム部ｐｔ１２を含む。
共通プログラム部ｐｔ１０は、共通アプリケーションプログラムＰＲＧにおいて、第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとで重複するプログラム内容の部分である。
第１差分プログラム部ｐｔ１１は、共通プログラム部ｐｔ１０以外で、第１ポイントサービスアプリケーションに対応するプログラム内容の部分である。
第２差分プログラム部ｐｔ１２は、共通プログラム部ｐｔ１０以外で、第２ポイントサービスアプリケーションに対応するプログラム内容の部分である。
【００３３】
また、アプリケーションデータ領域１３２には、共通アプリケーションプログラムＰＲＧに対応する共通アプリケーションデータＣＡＰＤが設けられる。
そのうえで、共通アプリケーションデータＣＡＰＤにおいては、第１ポイントサービスアプリケーションデータＡＰＤ１と第２ポイントサービスアプリケーションデータＡＰＤ２とが設けられる。
第１ポイントサービスアプリケーションデータＡＰＤ１は、第１ポイントサービスアプリケーションが利用するデータである。第２ポイントサービスアプリケーションデータＡＰＤ２は、第２ポイントサービスアプリケーションが利用するデータである。
【００３４】
第１ポイントサービスアプリケーションが選択されているとき、共通アプリケーションプログラムＰＲＧにおける共通プログラム部ｐｔ１０と第１差分プログラム部ｐｔ１１が実行される。そして、共通プログラム部ｐｔ１０と第１差分プログラム部ｐｔ１１が実行される状態のもとで、第１ポイントサービスアプリケーションデータＡＰＤ１が適宜処理される。これにより、第１ポイントサービスアプリケーションの動作が実現される。
また、第２ポイントサービスアプリケーションが選択されているとき、共通アプリケーションプログラムＰＲＧにおける共通プログラム部ｐｔ１０と第２差分プログラム部ｐｔ１２が実行される。そして、共通プログラム部ｐｔ１０と第２差分プログラム部ｐｔ１２が実行される状態のもとで、第２ポイントサービスアプリケーションデータＡＰＤ２が適宜処理される。これにより、第２ポイントサービスアプリケーションの動作が実現される。
【００３５】
図４は、図３のデータ構造に対応する記憶媒体１０３のファイル構造の例を示している。
同図に示す例では、ＭＦの直下にＤＦ１が配置されている。この場合のＤＦ１は、共通アプリケーションデータＣＡＰＤに属するファイルを格納する。
つまり、ＤＦ１の直下には、第１ポイントサービスアプリケーションデータＡＰＤ１に属するファイルであるＷＥＦ１、ＩＥＦ１と、第２ポイントサービスアプリケーションデータＡＰＤ２に属するファイルであるＷＥＦ２、ＩＥＦ２とが置かれる。
【００３６】
本実施形態において、ＤＦ１のファイル識別子（ＦＩＤ）である０００１は、共通アプリケーションプログラムＰＲＧに対応する共通アプリケーションを識別するアプリケーション識別子でもある。共通アプリケーションプログラムＰＲＧの実行によりＩＣカード上で動作する共通アプリケーションは、ＤＦ１に格納されるファイルを対象として読み出しを行う。
【００３７】
また、本実施形態においては、ＤＦ１に対応するディレクトリ情報ＤＩＲにアプリケーション選択情報ＩＡＰが含められる。
ディレクトリ情報は、ファイル（ＤＦまたはＥＦ）ごとに設けられ、対応のファイルを管理するファイル管理情報の１つである。ディレクトリ情報には対応のファイルについての所定の属性などを示す情報が格納される。ディレクトリ情報とディレクトリ情報が示すファイルとは、ファイルに割り当てられたファイル識別子（ＦＩＤ）により関連付けられる。即ち、ディレクトリ情報は、対応のファイルを、ファイル識別子（ＦＩＤ）により指定する。
アプリケーション選択情報ＩＡＰは、第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとの２つのアプリケーションのうちから選択されたアプリケーションを示す情報である。
【００３８】
本実施形態において、アプリケーション選択情報ＩＡＰは、ＩＣカードと通信を実行する外部通信装置であるリーダライタによるアプリケーションの選択に応じて更新が行われる。
即ち、リーダライタにより第１ポイントサービスアプリケーションが選択されたのであれば、アプリケーション選択情報ＩＡＰは、第１ポイントサービスアプリケーションを示すように更新される。一方、リーダライタにより第２ポイントサービスアプリケーションが選択されたのであれば、アプリケーション選択情報ＩＡＰは、第２ポイントサービスアプリケーションを示すように更新される。
【００３９】
共通アプリケーションプログラムＰＲＧの実行により動作する共通アプリケーションは、共通アプリケーションデータＣＡＰＤからファイルを読み出すにあたり、アプリケーション選択情報を参照する。
参照したアプリケーション選択情報が第１ポイントサービスアプリケーションを示していれば、共通アプリケーションは、共通プログラム部ｐｔ１０と第１差分プログラム部ｐｔ１１とによるプログラムに従って、以下の処理を実行する。つまり、共通アプリケーションは、ＤＦ１の階層下における第１ポイントサービスアプリケーションデータＡＰＤ１に属するファイル（ＷＥＦ１、ＩＥＦ１）のうちから必要なファイルを読み出し、読み出したファイルの処理を実行する。この場合、ＩＣカードにおいては、第１ポイントサービスアプリケーションとしての機能が得られる。
一方、参照したアプリケーション選択情報が第２ポイントサービスアプリケーションを示していれば、共通アプリケーションは、共通プログラム部ｐｔ１０と第２差分プログラム部ｐｔ１２とによるプログラムに従って、以下の処理を実行する。つまり、共通アプリケーションは、ＤＦ１の階層下における第２ポイントサービスアプリケーションデータＡＰＤ２に属するファイル（ＷＥＦ２、ＩＥＦ２）のうちから必要なファイルを読み出し、読み出したファイルの処理を実行する。この場合、ＩＣカードにおいては、第２ポイントサービスアプリケーションとしての機能が得られる。
【００４０】
なお、一具体例として、ＷＥＦ１は、第１ポイントサービスのもとで付与される累積ポイントを示すデータが格納されるファイルであってもよい。また、ＩＥＦ１は、リーダライタ２００が第１ポイントサービスを利用可能なユーザに対応するものであるか否かの認証処理を実行する際に使用する鍵を格納するファイルであってもよい。
同様に、ＷＥＦ２は、第２ポイントサービスのもとで付与される累積ポイントを示すデータが格納されるファイルであってもよい。また、ＩＥＦ２は、リーダライタ２００が第２ポイントサービスを利用可能なユーザに対応するものであるか否かの認証処理を実行する際に使用する鍵を格納するファイルであってもよい。
【００４１】
上記のようにして、本実施形態のＩＣカードは、１つの共通アプリケーションプログラムＰＲＧにより、第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとの２つのアプリケーションをＩＣカード上で切り替えて動作させることができる。
なお、同図においては、第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとのそれぞれに対応して、各１つのＷＥＦとＩＥＦとが格納される例を示しているが、アプリケーションごとに対応して格納されるファイルの数については特に限定されない。
【００４２】
これまでの説明から理解されるように、本実施形態においては、２つの第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとに対して、１つの共通アプリケーションが適用される。共通アプリケーションは、例えば０００１のファイル識別子（ＦＩＤ）に該当するアプリケーション識別子が割り当てられることで、０００１のファイル識別子（ＦＩＤ）により示されるＤＦ１に格納されたファイルを共通アプリケーションデータＣＡＰＤとして利用する。
そのうえで、共通アプリケーションデータＣＡＰＤは、第１ポイントサービスアプリケーションデータＡＰＤ１に属するファイルと、第２ポイントサービスアプリケーションデータＡＰＤ２に属するファイルとを格納する構造を有する。
また、ＤＦ１に対応してアプリケーション選択情報が設けられる。アプリケーション選択情報により、第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとのいずれが選択されるべきかが示される。そこで、共通アプリケーションは、ＤＦ１の階層下にあるファイルのうちから、アプリケーション選択情報が示すアプリケーションのアプリケーションデータに属するファイルを指定して読み出すことができる。
このようにして、本実施形態におけるＩＣカードは、１つの共通アプリケーションプログラムＰＲＧにより、第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとで機能を切り替えることが可能とされている。
【００４３】
ここで、共通アプリケーションプログラムＰＲＧは、第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとのそれぞれに対応するプログラムを単に組み合わせているのではない。つまり、前述のように、共通アプリケーションプログラムＰＲＧは、第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとで共通となるプログラム内容については、共通プログラム部ｐｔ１０として共通化されている。
これにより、第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとの両者の機能を切り替え可能としながらも、プログラム領域１３１に格納すべきプログラムのデータサイズを図１の場合よりも小さくすることができる。これにより、記憶媒体１０３において使用する容量を節約して、記憶媒体１０３の記憶容量を効率的に使用することが可能になる。
【００４４】
［ＩＣカードの構成例］
続いて、図５を参照して、本実施形態のＩＣカードの構成例について説明する。なお、同図においては、ＩＣカード１００と通信を行う外部通信装置であるリーダライタ２００が友に示されている。
同図に示すＩＣカード１００は、通信部１０１、制御部１０２及び記憶媒体１０３を備える。
通信部１０１は、リーダライタ２００などの外部通信装置と通信を行う。通信部１０１によるリーダライタ２００との通信は接触式であってもよいし非接触式であってもよい。
【００４５】
制御部１０２は、ＩＣカード１００における各種制御を実行する。制御部１０２の機能は、例えば制御部１０２において備えられるＣＰＵ（Central Processing Unit）が、記憶媒体１０３に記憶されたプログラムを実行することにより実現される。
本実施形態の制御部１０２は、共通アプリケーションプログラムＰＲＧを実行することにより動作する共通アプリケーションに対応する機能部として、アプリケーション切替制御部１２１とアプリケーション実行部１２２とを備える。
【００４６】
アプリケーション切替制御部１２１は、リーダライタ２００により選択されたアプリケーションが示されるように、アプリケーション選択情報ＩＡＰ（図４）を更新する。
アプリケーション実行部１２２は、アプリケーション選択情報が示すアプリケーションに対応するアプリケーションデータを利用して処理を実行する。
【００４７】
記憶媒体１０３は、制御部１０２が利用する各種の情報を記憶する。記憶媒体１０３は、アプリケーションプログラムとアプリケーションデータについては、図３と図４に示したデータ構造とファイル構造とにより記憶する。なお、記憶媒体１０３は、図３と図４に示した以外のプログラム、データ、ファイルを記憶してよい。例えば、記憶媒体１０３は、プログラムとして、アプリケーションプログラムを処理するＯＳ（Operating System）のデータも記憶している。
記憶媒体１０３には、例えばＲＯＭ（Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）、フラッシュメモリなどをはじめとする不揮発性のメモリを適用できる。
【００４８】
［処理手順例］
図６のフローチャートを参照して、本実施形態におけるＩＣカード１００とリーダライタ２００とが実行する処理手順例について説明する。
先ず、リーダライタ２００が実行する処理手順例から説明する。この場合のリーダライタ２００は、第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとのうちのいずれか一方のアプリケーションに対応して、ポイントの付与などをはじめとするポイントに関連する処理を実行する。
【００４９】
リーダライタ２００は、第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとのうち、ＩＣカード１００にて動作させるべきアプリケーションの選択を指示するアプリケーション選択コマンドをＩＣカード１００に送信する（ステップＳ１０１）。
図３及び図４の例との対応では、リーダライタ２００は、第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとのうちのいずれか一方を指定して選択を指示するアプリケーション選択コマンドを送信する。
【００５０】
次に、リーダライタ２００は、ステップＳ１０１により送信されたアプリケーション選択コマンドに応答してＩＣカード１００が送信したアプリケーション選択応答を受信する（ステップＳ１０２）。
アプリケーション選択応答は、ＩＣカード１００においてアプリケーション選択コマンドが指定するアプリケーションの選択が可能であるか否かを示す応答（レスポンス）である。
【００５１】
指定のアプリケーションの選択が可能であることをアプリケーション選択応答が示している場合、リーダライタ２００は、認証コマンドをＩＣカード１００に対して送信する（ステップＳ１０３）。
ステップＳ１０３にて送信される認証コマンドは、ステップＳ１０１にて送信したアプリケーション選択コマンドが選択を指示するアプリケーションに対応する正当なリーダライタであるか否かの認証処理の実行をＩＣカード１００に指示するコマンドである。
なお、図示は省略するが、アプリケーション選択が不可であることをステップＳ１０２にて受信されたアプリケーション選択応答が示している場合、リーダライタ２００は、以降の処理を中止してエラー通知などの処理を実行すればよい。
【００５２】
リーダライタ２００は、ステップＳ１０３により送信された認証コマンドに応答してＩＣカード１００が送信した認証応答を受信する（ステップＳ１０４）。認証応答は、ＩＣカードが実行した認証処理の結果として、認証が成立したか否かを示す応答である。
ステップＳ１０４にて受信された認証応答が認証成立を示している場合、リーダライタ２００は、所定の手順に従ってステップＳ１０１にて選択を指定したアプリケーションのもとで定義される所定のコマンドを送信する（ステップＳ１０５）。
なお、図示は省略するが、ステップＳ１０４にて受信された認証応答が認証不成立を示している場合、リーダライタ２００は、以降の処理を中止してエラー通知などの処理を実行すればよい。
【００５３】
リーダライタ２００は、ステップＳ１０５により送信したコマンドに対する応答（コマンド応答）をＩＣカード１００から受信する（ステップＳ１０６）。ステップＳ１０６により受信されるコマンド応答は、ステップＳ１０５にて送信されたコマンドに応じてＩＣカードが実行した処理（応答処理）の結果を示す。ステップＳ１０６により受信されたコマンド応答の内容に基づいて、リーダライタ２００は例えば以降において実行すべき処理を決定することができる。
【００５４】
続いて、同じ図６を参照して、ＩＣカード１００が実行する処理手順例について説明する。
ＩＣカード１００において、通信部１０１は、ステップＳ１０１によりリーダライタ２００から送信されたアプリケーション選択コマンドを受信する（ステップＳ２０１）。
次に、制御部１０２におけるアプリケーション切替制御部１２１は、ステップＳ２０１にて受信されたアプリケーション選択コマンドが指定するアプリケーションの選択が可能であるか否かについて判定する（ステップＳ２０２）。
【００５５】
アプリケーション選択コマンドが指定するアプリケーションが実装されているのであれば、ステップＳ２０２にてアプリケーションの選択が可能であると判定される。一方、アプリケーション選択コマンドが指定するアプリケーションが実装されていなければ、ステップＳ２０２にてアプリケーションの選択が不可であると判定される。
アプリケーション選択コマンドが指定するアプリケーションが実装されているか否かの判定は、例えば以下のように行うことができる。
つまり、図３及び図４の例であれば、共通アプリケーションとは別に、第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとのそれぞれにアプリケーション識別子を割り当てておく。そのうえで、第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとの各アプリケーション識別子を、ＩＣカード上で動作が可能なアプリケーションを示すアプリケーションリストとして、例えばＤＦ１のディレクトリ情報ＤＩＲに格納しておく。また、アプリケーション選択コマンドについては、アプリケーション識別子によりアプリケーションを指定する。
そして、アプリケーション切替制御部１２１は、アプリケーション選択コマンドが示すアプリケーション識別子がアプリケーションリストに含まれているか否かについて判定する。アプリケーション切替制御部１２１は、アプリケーション選択コマンドが示すアプリケーション識別子がアプリケーションリストに含まれていれば、アプリケーション選択コマンドが指定するアプリケーションが実装されていると判定すればよい。一方、アプリケーション切替制御部１２１は、アプリケーション選択コマンドが示すアプリケーション識別子がアプリケーションリストに含まれていなければ、アプリケーション選択コマンドが指定するアプリケーションが実装されていないと判定すればよい。
【００５６】
アプリケーション切替制御部１２１は、ステップＳ２０２の判定結果を示すアプリケーション選択応答をリーダライタ２００に対して送信する（ステップＳ２０３）。
【００５７】
前述のように、指定のアプリケーションの選択が可能であることを示すアプリケーション選択応答が受信されるのに応じて、リーダライタ２００は認証コマンドを送信する。送信された認証コマンドは、通信部１０１にて受信される（ステップＳ２０４）。
【００５８】
ステップＳ２０４にて認証コマンドが受信されるのに応じて、アプリケーション切替制御部１２１は、ステップＳ２０２にて選択が可能であると判定した指定のアプリケーションに対応する鍵を利用して認証処理を実行する（ステップＳ２０５）。
本実施形態において、指定のアプリケーションに対応する鍵は、指定のアプリケーションに対応するアプリケーションデータとしてのファイルのうちの１つのファイルのデータである。
図４との対応での具体例としては、第１ポイントサービスアプリケーションが指定のアプリケーションである場合には、第１ポイントサービスアプリケーションデータＡＰＤ１に属するＩＥＦ１が、指定のアプリケーションに対応する鍵である。
また、第２ポイントサービスアプリケーションが指定のアプリケーションである場合には、第２ポイントサービスアプリケーションデータＡＰＤ２に属するＩＥＦ２が、指定のアプリケーションに対応する鍵である。
【００５９】
ステップＳ２０５において、アプリケーション切替制御部１２１は、ステップＳ２０２にて選択が可能であると判定したアプリケーションに対応するアプリケーションデータに属するファイルのうちから鍵のファイルを読み出す。そして、アプリケーション切替制御部１２１は、読み出した鍵と、ステップＳ２０４にて受信された認証コマンドに含まれる認証情報とを利用して認証処理を実行する。
【００６０】
アプリケーション切替制御部１２１は、ステップＳ２０５の認証処理によって認証が成立した場合、アプリケーション選択情報ＩＡＰについて、ステップＳ２０２にて選択が可能であると判定したアプリケーションを示すように更新する（ステップＳ２０６）。
図４にて説明したように、本実施形態のアプリケーション選択情報ＩＡＰは、共通アプリケーションが対応するＤＦのディレクトリ情報ＤＩＲに含まれている。ステップＳ２０６において、アプリケーション切替制御部１２１は、共通アプリケーションが対応するＤＦのディレクトリ情報にアクセスし、ディレクトリ情報に含まれるアプリケーション選択情報ＩＡＰを更新する。
【００６１】
そして、アプリケーション切替制御部１２１は、ステップＳ２０５の認証処理による認証結果を示す認証応答をリーダライタ２００に対して送信する（ステップＳ２０７）。
なお、ステップＳ２０５の認証処理の結果として認証が不成立であった場合には、アプリケーション切替制御部１２１は、ステップＳ２０６の処理をスキップしてステップＳ２０７にて認証が不成立であることを示す認証応答を送信すればよい。
【００６２】
ステップＳ２０７により送信した認証応答が認証成立を示している場合、リーダライタ２００からは、指定のアプリケーションにおいて定義されるコマンドがステップＳ１０５により送信される。このようにリーダライタ２００から送信されたコマンドは、通信部１０１にて受信される（ステップＳ２０８）。
【００６３】
ステップＳ２０８にてコマンドが受信されるのに応じて、アプリケーション実行部１２２は、アプリケーション選択情報ＩＡＰを参照する（ステップＳ２０９）。この際、アプリケーション実行部１２２は、共通アプリケーションが対応するＤＦのディレクトリ情報にアクセスし、ディレクトリ情報に含まれるアプリケーション選択情報ＩＡＰを読み込む。
アプリケーション選択情報ＩＡＰを参照することにより、アプリケーション実行部１２２は、現在選択されているアプリケーションが、例えば第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとのうちのいずれであるのかを認識できる。
【００６４】
そこで、アプリケーション実行部１２２は、アプリケーション選択情報ＩＡＰが示すアプリケーションのもとで、ステップＳ２０８にて受信されたコマンドに応答した処理を実行する（ステップＳ２１０）。
この場合において、コマンドに応答した処理としてアプリケーションデータを利用する場合、アプリケーション実行部１２２は、以下のようにアプリケーションデータを取得する。つまり、アプリケーション実行部１２２は、共通アプリケーションデータＣＡＰＤに含まれるアプリケーションデータのうち、アプリケーション選択情報ＩＡＰが示すアプリケーションに対応するアプリケーションデータを選択対象とする。アプリケーション実行部１２２は、選択対象としたアプリケーションデータに属するファイルのうちから、今回の処理に必要なファイルを読み出す。このようにして、アプリケーション実行部１２２は、ステップＳ２０８において必要なアプリケーションデータとしてのファイルを取得し、取得したファイルを処理する。
そして、アプリケーション実行部１２２は、ステップＳ２１０による処理結果を示すコマンド応答をリーダライタ２００に対して送信する（ステップＳ２１１）。
【００６５】
なお、リーダライタ２００におけるステップＳ１０５としての所定のコマンドの送信とステップＳ１０６としてのコマンド応答の受信は、対応のアプリケーションのもとで実行される処理の手順に従って、繰り返し実行されてよい。
これに伴って、ＩＣカード１００におけるステップＳ２０８〜Ｓ２１１の処理も繰り返し実行されてよい。
【００６６】
このようにして、本実施形態においては、複数のアプリケーションのうちのいずれか１つのアプリケーションを機能させて、リーダライタ２００とＩＣカード１００との間で所定の手順による処理を実行させることができる。
【００６７】
＜第２実施形態＞
続いて、第２実施形態について説明する。図７は、第２実施形態における記憶媒体１０３のファイル構造例を示している。同図は、図４と同様に、ＩＣカード１００に第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとが実装された例に対応する。なお、同図において、図４と同一部分には同一符号を付して説明を省略する。
【００６８】
同図に示すように、本実施形態におけるアプリケーション選択情報は、共通アプリケーションデータＣＡＰＤに属するファイルのうちの１つとして設けられる。具体的には、本実施形態のアプリケーション選択情報は、共通アプリケーションデータＣＡＰＤに含まれるＷＥＦ３として設けられる。
この場合、ＤＦ１に対応するディレクトリ情報ＤＩＲには、アプリケーション選択情報ＩＡＰを含める必要はない。
【００６９】
本実施形態のアプリケーション切替制御部１２１は、図６のステップＳ２０６においてアプリケーション選択情報を更新するためには、ＷＥＦ３にアクセスし、ＷＥＦ３に格納されるデータを書き換えればよい。
また、本実施形態のアプリケーション実行部１２２は、図６のステップＳ２０９においてアプリケーション選択情報を参照するためには、ＷＥＦ３にアクセスすればよい。
【００７０】
＜第３実施形態＞
続いて、第３実施形態について説明する。図８は、第３実施形態における記憶媒体１０３のファイル構造例を示している。同図は、図４と同様に、ＩＣカード１００に第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとが実装された例に対応する。なお、同図において、図４と同一部分には同一符号を付して説明を省略する。
【００７１】
図８に示されるように、本実施形態においては、共通アプリケーションデータＣＡＰＤに属するファイルとして、共有ファイルであるＷＥＦ４が設けられる。
共有ファイルは、第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとで共有されるデータを格納したファイルである。
即ち、アプリケーション実行部１２２は、アプリケーション選択情報が第１ポイントサービスアプリケーションを示している場合には、第１ポイントサービスアプリケーションデータＡＰＤ１に含まれるＷＥＦ１、ＩＥＦ１などとともに、ＷＥＦ４も処理することができる。
また、アプリケーション実行部１２２は、アプリケーション選択情報が第１ポイントサービスアプリケーションを示している場合には、第２ポイントサービスアプリケーションデータＡＰＤ２に含まれるＷＥＦ２、ＩＥＦ２などとともに、ＷＥＦ４も処理することができる。
【００７２】
例えば第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとで互いに重複する内容のデータがある場合を例に挙げる。この場合において、互いに重複する内容のデータのファイルを第１ポイントサービスアプリケーションデータＡＰＤ１と第２ポイントサービスアプリケーションデータＡＰＤ２とでそれぞれ個別に格納することができる。しかし、この場合には、同じ内容の２つのファイルが記憶媒体１０３に記憶されることになってしまう。
そこで、本実施形態のように、互いに重複する内容のデータを共有ファイルとして設けるようにすれば、第１ポイントサービスアプリケーションと第２ポイントサービスアプリケーションとで互いに重複する内容のデータを１つに共通化することができる。これにより、記憶媒体１０３の記憶容量の使用の効率化をさらに促進させることが可能になる。
なお、同図においては、共有ファイルとしてＷＥＦ４の１つのみが示されているが、共有ファイルは複数が設けられてもよい。
【００７３】
＜第４実施形態＞
続いて第４実施形態について説明する。第４実施形態において、共通アプリケーションのもとで機能する複数のアプリケーションは、第１クレジットカード機能アプリケーションと第２クレジットカード機能アプリケーションである。
第１クレジットカード機能アプリケーションは、特定のクレジットカード会社に対応するユーザＡ名義のクレジットカードの機能を提供するアプリケーションである。一方、第２クレジットカード機能アプリケーションは、例えば第１クレジットカード機能アプリケーションとクレジットカード会社が同じではあるが、ユーザＢ名義のクレジットカードの機能を提供するアプリケーションである。このようなＩＣカードは、例えば、１枚のＩＣカードを、家族などにおける複数の人ごとに対応する複数の名義のクレジットカードとして使用したいような場合に利用できる。
【００７４】
図９は、上記のように第１クレジットカード機能アプリケーションと第２クレジットカード機能アプリケーションとが実装されたＩＣカード１００における記憶媒体１０３のデータ構造例を示している。同図において、図３と同一部分には同一符号を付している。
同図に示すように、アプリケーションデータ領域１３２には、図３と同様に、共通アプリケーションプログラムＰＲＧに対応する共通アプリケーションデータＣＡＰＤが設けられる。
そのうえで、本実施形態における共通アプリケーションデータＣＡＰＤにおいては、第１クレジットカード機能アプリケーションデータＡＰＤ１１と第２クレジットカード機能アプリケーションデータＡＰＤ１２とが設けられる。
【００７５】
また、本実施形態の共通アプリケーションプログラムＰＲＧの場合、第１差分プログラム部ｐｔ１１は、共通プログラム部ｐｔ１０以外で、第１クレジットカード機能アプリケーションに対応するプログラム内容の部分である。また、第２差分プログラム部ｐｔ１２は、共通プログラム部ｐｔ１０以外で、第２クレジットカード機能アプリケーションに対応するプログラム内容の部分である。
【００７６】
第１クレジットカード機能アプリケーションが選択されているとき、共通アプリケーションプログラムＰＲＧにおいては、共通プログラム部ｐｔ１０と第１差分プログラム部ｐｔ１１が実行される。そして、共通プログラム部ｐｔ１０と第１差分プログラム部ｐｔ１１が実行される状態のもとで、第１クレジットカード機能アプリケーションデータＡＰＤ１１が利用される。このようにして、第１ポイントサービスアプリケーションとしての機能が得られる。
また、第２クレジットカード機能アプリケーションが選択されているとき、共通アプリケーションプログラムＰＲＧにおいては、共通プログラム部ｐｔ１０と第２差分プログラム部ｐｔ１２が実行される。そして、共通プログラム部ｐｔ１０と第２差分プログラム部ｐｔ１２が実行される状態のもとで、第２クレジットカード機能アプリケーションデータＡＰＤ１２が利用される。このようにして、第２ポイントサービスアプリケーションとしての機能が得られる。
【００７７】
図１０は、図９に示したデータ構造に対応する記憶媒体１０３のファイル構造を示している。同図において、図４と同一部分については同一符号を付して説明を省略する。
同図に示されるように、ＤＦ１には共通アプリケーションデータＣＡＰＤとしてのファイルが格納される。また、ＤＦ１に格納されるファイルは、第１クレジットカード機能アプリケーションデータＡＰＤ１１に属するファイルと、第２クレジットカード機能アプリケーションデータＡＰＤ１２に属するファイルとに分けられる。
第１クレジットカード機能アプリケーションデータＡＰＤ１１に属するファイルは、ＷＥＦ１１とＩＥＦ１１である。第２クレジットカード機能アプリケーションデータＡＰＤ１２に属するファイルは、ＷＥＦ１２とＩＥＦ１２である。
【００７８】
また、本実施形態におけるアプリケーション選択情報ＩＡＰは、選択されたアプリケーションとして、第１クレジットカード機能アプリケーションと第２クレジットカード機能アプリケーションとのうちのいずれか一方を示す。
【００７９】
本実施形態において、共通アプリケーションプログラムＰＲＧの実行により動作する共通アプリケーションは、共通アプリケーションデータＣＡＰＤからファイルを読み出すにあたり、アプリケーション選択情報を参照する。
参照したアプリケーション選択情報が第１クレジットカード機能アプリケーションを示していれば、共通アプリケーションは、共通プログラム部ｐｔ１０と第１差分プログラム部ｐｔ１１とによるプログラムに従って、以下の処理を実行する。つまり、共通アプリケーションは、ＤＦ１の階層下における第１クレジットカード機能アプリケーションデータＡＰＤ１１に含まれるファイル（ＷＥＦ１１、ＩＥＦ１１）のうちから必要なファイルを読み出し、読み出したファイルの処理を実行する。この場合には、ＩＣカードにおいては、第１クレジットカード機能アプリケーションとしての機能が得られる。
一方、参照したアプリケーション選択情報が第２クレジットカード機能アプリケーションを示していれば、共通アプリケーションは、共通プログラム部ｐｔ１０と第２差分プログラム部ｐｔ１２とによるプログラムに従って、以下の処理を実行する。つまり、共通アプリケーションは、ＤＦ１の階層下における第２クレジットカード機能アプリケーションデータＡＰＤ１２に含まれるファイル（ＷＥＦ１２、ＩＥＦ１２）のうちから必要なファイルを読み出し、読み出したファイルの処理を実行する。この場合のＩＣカードにおいては、第２クレジットカード機能アプリケーションとしての機能が得られる。
【００８０】
このようにして、本実施形態のＩＣカードは、１つの共通アプリケーションプログラムＰＲＧにより、第１クレジットカード機能アプリケーションと第２クレジットカード機能アプリケーションとの２つのアプリケーションの機能をＩＣカード上で切り替えて動作させることができる。
【００８１】
なお、これまでの実施形態においては、共通アプリケーションのもとで切り替えが可能な複数のアプリケーションとして、ポイントサービスアプリケーションまたはクレジットカード機能アプリケーションを例に挙げた。しかし、共通アプリケーションのもとで切り替えが可能な複数のアプリケーションについては、特に限定されない。
【００８２】
なお、上述のＩＣカード１００またはリーダライタ２００の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述のＩＣカード１００またはリーダライタ２００としての処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやＷＡＮ、ＬＡＮ、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、ＣＤ−ＲＯＭ等の非一過性の記録媒体であってもよい。また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部または外部に設けられた記録媒体も含まれる。配信サーバの記録媒体に記憶されるプログラムのコードは、端末装置で実行可能な形式のプログラムのコードと異なるものでもよい。すなわち、配信サーバからダウンロードされて端末装置で実行可能な形でインストールができるものであれば、配信サーバで記憶される形式は問わない。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に端末装置で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【００８３】
１００  ＩＣカード、１０１  通信部、１０２  制御部、１０３  記憶媒体、１２１  アプリケーション切替制御部、１２２  アプリケーション実行部、１３１  プログラム領域、１３２  アプリケーションデータ領域、２００  リーダライタ
【図１】
2015228160.tif 000003
【図２】
2015228160.tif 000004
【図３】
2015228160.tif 000005
【図４】
2015228160.tif 000006
【図５】
2015228160.tif 000007
【図６】
2015228160.tif 000008
【図７】
2015228160.tif 000009
【図８】
2015228160.tif 000010
【図９】
2015228160.tif 000011
【図１０】
2015228160.tif 000012