図面 (/)

技術 電子情報記憶媒体、コマンド処理方法、及びコマンド処理プログラム

出願人 大日本印刷株式会社
発明者 吉川雅起
出願日 2016年10月7日 (3年10ヶ月経過) 出願番号 2016-199121
公開日 2018年4月12日 (2年3ヶ月経過) 公開番号 2018-060455
状態 未査定
技術分野 マルチプログラミング
主要キーワード コマンド処理プログラム 仮想マシンプログラム SELECTコマンド 共用データ ラベル値 ICリーダ アプリ毎 ICカード発行機
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2018年4月12日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (7)

課題

ICカード等の電子情報記憶媒体において、一のアプリコマンド処理を実行させた後に、他のアプリを選択し直すことなく、当該他のアプリにコマンド処理を実行させることを可能とする。

解決手段

複数のアプリを同時に選択状態とし、複数のアプリが選択状態にある場合において、コマンドを受信した場合に、選択状態にあるアプリのうち、当該コマンドに応じたコマンド処理を実行可能なアプリによりコマンド処理を実行する電子情報記憶媒体とする。

概要

背景

近年、Java(登録商標)言語に代表されるプログラム言語解釈機能を備えた仮想マシン(VM:Virtual Machine)が組み込まれ、アプリケーション(以下、「アプリ」という場合がある)の追加/削除が可能なマルチアプリケーションICカードが普及しつつある(例えば、特許文献1)。

こうした複数のアプリを搭載可能なICカードでは、SELECTコマンドにより一つのアプリを選択してからコマンドを送信することにより、選択状態にあるアプリに当該コマンドに応じたコマンド処理を実行させることができる。

概要

ICカード等の電子情報記憶媒体において、一のアプリにコマンド処理を実行させた後に、他のアプリを選択し直すことなく、当該他のアプリにコマンド処理を実行させることを可能とする。複数のアプリを同時に選択状態とし、複数のアプリが選択状態にある場合において、コマンドを受信した場合に、選択状態にあるアプリのうち、当該コマンドに応じたコマンド処理を実行可能なアプリによりコマンド処理を実行する電子情報記憶媒体とする。

目的

本発明は、一のアプリを選択コマンドにより選択して当該アプリにコマンド処理を実行させた後に、他のアプリを選択コマンドにより選択し直すことなく、当該他のアプリにコマンド処理を実行させることができる電子情報記憶媒体等を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

複数のアプリケーションを記憶する記憶部と、外部装置からコマンドを受信した場合に処理を行う処理部とを備える電子情報記憶媒体であって、前記処理部は、前記アプリケーションを選択する選択コマンドを受信した場合に、当該アプリケーションが選択状態にあることを示す選択状態情報を前記記憶部に記憶させ、前記選択コマンド以外の非選択コマンドを受信した場合に、前記選択状態にあるアプリケーションにより当該非選択コマンドに応じたコマンド処理を実行し、複数のアプリケーションが選択状態にある場合において、前記非選択コマンドを受信した場合に、選択状態にあるアプリケーションのうち、当該非選択コマンドに応じたコマンド処理を実行可能なアプリケーションによりコマンド処理を実行することを特徴とする電子情報記憶媒体。

請求項2

請求項1に記載の電子情報記憶媒体であって、前記記憶部は、OSと、前記アプリケーション毎に当該アプリケーションが実行可能なコマンド処理を示す可能処理情報を更に記憶し、前記処理部は、前記OSを実行することにより、前記非選択コマンドを受信した場合に、前記選択状態情報及び前記可能処理情報を参照して、選択状態にあるアプリケーションであって、当該非選択コマンドに応じたコマンド処理を実行可能なアプリケーションを特定し、特定したアプリケーションを実行することにより、受信した前記非選択コマンドに応じたコマンド処理を実行することを特徴とする電子情報記憶媒体。

請求項3

請求項1に記載の電子情報記憶媒体であって、前記処理部は、前記選択コマンドを受信した場合に、当該選択コマンドにより選択されたアプリケーションを実行することにより、当該アプリケーションが選択状態にあることを示す選択状態情報を前記記憶部に記憶させ、前記非選択コマンドを受信した場合に、アプリケーションを実行することにより、前記選択状態情報を参照して当該アプリケーションが選択状態にある場合であって、当該非選択コマンドに応じたコマンド処理を実行可能な場合に、当該コマンド処理を実行することを特徴とする電子情報記憶媒体。

請求項4

請求項1乃至3の何れか一項に記載の電子情報記憶媒体であって、前記記憶部は、複数のアプリケーションが選択状態にある場合において、当該複数のアプリケーションの何れもがアクセス可能なデータを記憶することを特徴とする電子情報記憶媒体。

請求項5

複数のアプリケーションを記憶する記憶部と、外部装置からコマンドを受信した場合に処理を行う処理部とを備える電子情報記憶媒体によるコマンド処理方法であって、前記処理部が、前記アプリケーションを選択する選択コマンドを受信した場合に、当該アプリケーションが選択状態にあることを示す選択状態情報を前記記憶部に記憶させる工程と、前記選択コマンド以外の非選択コマンドを受信した場合に、前記選択状態にあるアプリケーションにより当該非選択コマンドに応じたコマンド処理を実行する工程と、複数のアプリケーションが選択状態にある場合において、前記非選択コマンドを受信した場合に、選択状態にあるアプリケーションのうち、当該非選択コマンドに応じたコマンド処理を実行可能なアプリケーションによりコマンド処理を実行する工程と、を含むことを特徴とするコマンド処理方法。

請求項6

複数のアプリケーションを記憶する記憶部と、外部装置からコマンドを受信した場合に処理を行う処理部とを備える電子情報記憶媒体における前記処理部を、前記アプリケーションを選択する選択コマンドを受信した場合に、当該アプリケーションが選択状態にあることを示す選択状態情報を前記記憶部に記憶させる手段、前記選択コマンド以外の非選択コマンドを受信した場合に、前記選択状態にあるアプリケーションにより当該非選択コマンドに応じたコマンド処理を実行する手段、複数のアプリケーションが選択状態にある場合において、前記非選択コマンドを受信した場合に、選択状態にあるアプリケーションのうち、当該非選択コマンドに応じたコマンド処理を実行可能なアプリケーションによりコマンド処理を実行する手段、として機能させることを特徴とするコマンド処理プログラム

技術分野

0001

ICチップ等の電子情報記憶媒体の技術分野に関する。

背景技術

0002

近年、Java(登録商標)言語に代表されるプログラム言語解釈機能を備えた仮想マシン(VM:Virtual Machine)が組み込まれ、アプリケーション(以下、「アプリ」という場合がある)の追加/削除が可能なマルチアプリケーションICカードが普及しつつある(例えば、特許文献1)。

0003

こうした複数のアプリを搭載可能なICカードでは、SELECTコマンドにより一つのアプリを選択してからコマンドを送信することにより、選択状態にあるアプリに当該コマンドに応じたコマンド処理を実行させることができる。

先行技術

0004

特開2007−206765号公報

発明が解決しようとする課題

0005

しかしながら、従来、SELECTコマンドにより選択することができるアプリは一つだけであるため、選択したアプリ以外のアプリが実行可能なコマンド処理を実行させるためには、改めてSELECTコマンドを送信してアプリを選択し直す必要がある。

0006

そこで、本発明は、一のアプリを選択コマンドにより選択して当該アプリにコマンド処理を実行させた後に、他のアプリを選択コマンドにより選択し直すことなく、当該他のアプリにコマンド処理を実行させることができる電子情報記憶媒体等を提供することを目的とする。

課題を解決するための手段

0007

上記課題を解決するために、請求項1に記載の発明は、複数のアプリケーションを記憶する記憶部と、外部装置からコマンドを受信した場合に処理を行う処理部とを備える電子情報記憶媒体であって、前記処理部は、前記アプリケーションを選択する選択コマンドを受信した場合に、当該アプリケーションが選択状態にあることを示す選択状態情報を前記記憶部に記憶させ、前記選択コマンド以外の非選択コマンドを受信した場合に、前記選択状態にあるアプリケーションにより当該非選択コマンドに応じたコマンド処理を実行し、複数のアプリケーションが選択状態にある場合において、前記非選択コマンドを受信した場合に、選択状態にあるアプリケーションのうち、当該非選択コマンドに応じたコマンド処理を実行可能なアプリケーションによりコマンド処理を実行することを特徴とする。

0008

請求項2に記載の発明は、請求項1に記載の電子情報記憶媒体であって、前記記憶部は、OSと、前記アプリケーション毎に当該アプリケーションが実行可能なコマンド処理を示す可能処理情報を更に記憶し、前記処理部は、前記OSを実行することにより、前記非選択コマンドを受信した場合に、前記選択状態情報及び前記可能処理情報を参照して、選択状態にあるアプリケーションであって、当該非選択コマンドに応じたコマンド処理を実行可能なアプリケーションを特定し、特定したアプリケーションを実行することにより、受信した前記非選択コマンドに応じたコマンド処理を実行することを特徴とする。

0009

請求項3に記載の発明は、請求項1に記載の電子情報記憶媒体であって、前記処理部は、前記選択コマンドを受信した場合に、当該選択コマンドにより選択されたアプリケーションを実行することにより、当該アプリケーションが選択状態にあることを示す選択状態情報を前記記憶部に記憶させ、前記非選択コマンドを受信した場合に、アプリケーションを実行することにより、前記選択状態情報を参照して当該アプリケーションが選択状態にある場合であって、当該非選択コマンドに応じたコマンド処理を実行可能な場合に、当該コマンド処理を実行することを特徴とする。

0010

請求項4に記載の発明は、請求項1乃至3の何れか一項に記載の電子情報記憶媒体であって、前記記憶部は、複数のアプリケーションが選択状態にある場合において、当該複数のアプリケーションの何れもがアクセス可能なデータを記憶することを特徴とする。

0011

請求項5に記載の発明は、複数のアプリケーションを記憶する記憶部と、外部装置からコマンドを受信した場合に処理を行う処理部とを備える電子情報記憶媒体による処理方法であって、前記処理部が、前記アプリケーションを選択する選択コマンドを受信した場合に、当該アプリケーションが選択状態にあることを示す選択状態情報を前記記憶部に記憶させる工程と、前記選択コマンド以外の非選択コマンドを受信した場合に、前記選択状態にあるアプリケーションにより当該非選択コマンドに応じたコマンド処理を実行する工程と、複数のアプリケーションが選択状態にある場合において、前記非選択コマンドを受信した場合に、選択状態にあるアプリケーションのうち、当該非選択コマンドに応じたコマンド処理を実行可能なアプリケーションによりコマンド処理を実行する工程と、を含むことを特徴とする。

0012

請求項6に記載の発明は、複数のアプリケーションを記憶する記憶部と、外部装置からコマンドを受信した場合に処理を行う処理部とを備える電子情報記憶媒体における前記処理部を、前記アプリケーションを選択する選択コマンドを受信した場合に、当該アプリケーションが選択状態にあることを示す選択状態情報を前記記憶部に記憶させる手段、前記選択コマンド以外の非選択コマンドを受信した場合に、前記選択状態にあるアプリケーションにより当該非選択コマンドに応じたコマンド処理を実行する手段、複数のアプリケーションが選択状態にある場合において、前記非選択コマンドを受信した場合に、選択状態にあるアプリケーションのうち、当該非選択コマンドに応じたコマンド処理を実行可能なアプリケーションによりコマンド処理を実行する手段、として機能させることを特徴とする。

発明の効果

0013

本発明によれば、コマンド処理を実行させる複数のアプリを同時に選択状態としておくことにより、一のアプリを選択して当該アプリにコマンド処理を実行させた後に、他のアプリを選択し直すことなく、当該他のアプリにコマンド処理を実行させることができる。

図面の簡単な説明

0014

(A)は、ICチップ1aのハードウェア構成例を示す図である。(B)は、ICチップ1aの機能ブロック例を示す図である。
(A)は、アプリにコマンド処理を実行させる場合の従来例を示す概念図であり、(B)は、アプリにコマンド処理を実行させる場合の本実施形態の例を示す概念図である。
第1実施例における記憶領域Mの構成例を示す図である。
第1実事例におけるCPU10動作例を示すフローチャートである。
第2実施例における記憶領域Mの構成例を示す図である。
第2実事例におけるCPU10動作例を示すフローチャートである。

実施例

0015

以下、図面を参照して本発明の実施形態について詳細に説明する。まず、図1等を参照して、ICカード1に搭載されたICチップ1aの概要構成及び機能について説明する。図1(A)は、ICチップ1aのハードウェア構成例を示す図であり、図1(B)は、ICチップ1aの機能ブロック例を示す図である。なお、ICカード1は、キャッシュカードクレジットカード電子マネーカード社員カード等として使用される。或いは、ICカード1は、スマートフォン携帯電話機等の通信機器に組み込まれる。ICチップ1aは本発明における電子情報記憶媒体を構成するが、この電子情報記憶媒体は通信機器の回路基板上に直接組み込んで構成するようにしてもよい。

0016

[1.ICチップ1aの概要構成及び機能]
図1(A)に示すように、ICチップ1aは、CPU10、ROM(Read Only Memory)11、データを一時的に記憶するための揮発性メモリであるRAM(Random Access Memory)12、不揮発性メモリであるフラッシュメモリ13、及びI/O回路14を備えて構成される。なお、フラッシュメモリの代わりに「Electrically Erasable Programmable Read-Only Memory」を採用しても構わない。

0017

I/O回路14は、外部端末2とのインターフェイスを担う。これにより、ICチップ1aは、ICリーダライタを備える外部端末2との間で接触又は非接触で通信を行うことができる。接触式のICチップ1aの場合、I/O回路14には、例えば、C1〜C8の8個の端子が備えられている。例えば、C1端子は電源端子(ICチップ1aへ電源供給する端子)、C2端子はリセット端子、C3端子はクロック端子、C5端子はグランド端子、C7端子は外部端末2との間で通信を行うための端子である。一方、非接触式のICチップ1aの場合、I/O回路14には、例えば、アンテナ、及び変復調回路が備えられている。なお、外部端末2の例としては、ICカード発行機ATM改札機認証用ゲート等が挙げられる。或いは、ICチップ1aが通信機器に組み込まれる場合、外部端末2には通信機器の機能を担う制御部が該当する。

0018

RAM12は、OSやアプリに関する情報を記憶する記憶領域を有する。また、RAM12は、外部端末2から受信したSELECTコマンドにより選択されたアプリを示す選択状態情報を記憶する。更に、RAM12は、アプリ毎に実行可能なコマンド処理に対応するコマンドを示すコマンドリストを記憶する。

0019

フラッシュメモリ13には、OSやアプリといった各種プログラムを記憶する。

0020

CPU10は、コンピュータの一例であり、図1(B)に示すハードウェアとして、フラッシュメモリ13に記憶された各種プログラムを実行する演算装置である。各種プログラムには、仮想マシンプログラム、Java等のプログラム言語で記述されるアプリが含まれる。OS、及び仮想マシンプログラムは、複数のネイティブコード実行コード群)で記述される。OSは、ICチップ1aの動作を直接コントロールするソフトウェアである。OS、及び仮想マシンプログラムは、ROM11に記憶されてもよい。なお、以下、OS又はアプリを主語として処理の説明をする場合、実際には、CPU10がOS又はアプリを実行することにより処理が行われる。

0021

仮想マシンプログラムは、CPU10を仮想マシンとして機能させるプログラムである。OS上で動作する仮想マシンは、ソースコードとネイティブコードとの間の中間コードであるバイトコード解釈、実行する。プログラマーにより作成されたアプリには、ソースコードが例えば実行順に記述される。そして、このようなアプリは、コンパイラによって仮想マシンの実行形式に変換(つまり、ソースコードからバイトコードに変換)され、インストール(フラッシュメモリ13に記憶)されることになる。このため、フラッシュメモリ13に記憶されているアプリは、複数の命令それぞれを示すバイトコードを例えば実行順に記述する。

0022

仮想マシンは、アプリに記述されたバイトコードを実行順に取得し、該取得したバイトコードを解釈して当該バイトコードが示す命令を実行する。当該命令の実行による処理を、バイトコード処理という。バイトコード処理の内容は、仮想マシンプログラムに規定されている。また、仮想マシンは、アプリに記述された複数のバイトコードのうち、次に実行するべきバイトコードの位置(アプリにおける位置)を特定可能な特定情報指し示すプログラムカウンタを備える。ここで、特定情報の例として、バイトコードのアドレス(バイトコードが記憶されたフラッシュメモリ13におけるアドレス)、バイトコードのオフセット、バイトコードのラベル値が挙げられる。例えば、公知のComputed gotoアルゴリズムでは、GNU C対応の拡張機能であるlabel as valueにより、ラベル値としてのアドレスに直接ジャンプすることができる。

0023

次に、図2を用いて、ICチップ1aが外部端末2からコマンドを受信した際のCPU10の動作について簡単に説明する。外部端末2がICチップ1aにインストールされているアプリにコマンドを送信し、コマンドに応じたコマンド処理を実行させるためには、予め当該コマンド処理を実行させるアプリを選択してICチップ1a内において選択状態としておく必要がある。例えば、ICチップ1aにアプリ1、アプリ2がインストールされている場合に、外部端末2がアプリ1にコマンド処理を実行させるためには、まず、アプリ1を選択するSELECTコマンドをICチップ1aに送信し、ICチップ1a内においてアプリ1が選択状態となった後に、アプリ1が処理可能なコマンドを送信することにより、コマンド処理を実行させることができる。そして、ICチップ1aのCPU10は、コマンド処理を実行すると、その結果を含むレスポンスを外部端末2に送信する。

0024

なお、従来、ICチップ1a内において選択状態とすることができるアプリの数は1つであった。したがって、図2(A)に示すように、アプリXにコマンド処理Aを実行させ、次いで、アプリYにコマンド処理Cを実行させ、次いで、アプリXにコマンド処理Bを実行させる場合には、
(1)アプリXを選択するSELECTコマンドを送信
→(2)アプリXにコマンド処理Aを実行させるためのコマンドを送信
→(3)アプリYを選択するSELECTコマンドを送信
→(4)アプリYにコマンド処理Cを実行させるためのコマンドを送信
→(5)アプリXを選択するSELECTコマンドを送信
→(6)アプリXにコマンド処理Bを実行させるためのコマンドを送信
という手順を踏まなければならなかった。

0025

これに対して、本実施形態のICチップ1aでは、同時に複数のアプリを選択状態として保持することができるように構成されている(具体的な構成例については後述する)。したがって、上記例と同様に、アプリXにコマンド処理Aを実行させ、次いで、アプリYにコマンド処理Cを実行させ、次いで、アプリXにコマンド処理Bを実行させる場合には、
(1)アプリXを選択するSELECTコマンドを送信
→(2)アプリYを選択するSELECTコマンドを送信
→(3)アプリXにコマンド処理Aを実行させるためのコマンドを送信
→(4)アプリYにコマンド処理Cを実行させるためのコマンドを送信
→(5)アプリXにコマンド処理Bを実行させるためのコマンドを送信
という手順を踏めばよい。

0026

すなわち、本実施形態のICチップ1aでは、同時に複数のアプリを選択状態として保持することができることから、アプリを選択し直す必要がないため外部端末2とICチップ1a間でのコマンド及びレスポンスをやりとりする回数を減少させることができる。なお、このとき、ICチップ1aは、アプリX及びアプリYによりアクセスされるデータを共用データとして保持することとする。これにより、アプリXとアプリYを、一つの共用データについて処理可能ないわば一つのアプリとして取り扱うことができる。

0027

また、従来では、例えば、アプリPがコマンド処理D及びコマンド処理Eを実行可能である場合において、更に、コマンド処理Fを実行可能とするためには、アプリPを削除して、コマンド処理Fに対応するプログラムを含む改訂版のアプリPをインストールする必要があった。これに対して、本実施形態のICチップ1aでは、同時に複数のアプリを選択状態として保持することができることから、コマンド処理Fに対応するプログラムを含むアプリQを追加でインストールし、アプリP及びアプリQを選択状態とすることにより、適宜、コマンド処理D、コマンド処理E及びコマンド処理Fを実行させることができるようになる。すなわち、コマンド処理Fに対応するパッチアプリをインストールすることでアプリPが実行できなかったコマンド処理を実行させることができるようになる。なお、このときも、ICチップ1aは、アプリP及びアプリQによりアクセスされるデータを共用データとして保持することとする。これにより、アプリQをアプリPの一部(パッチアプリ)として取り扱うことができる。

0028

なお、従来であれば一つのアプリしか選択状態とすることができなかったため、異なるアプリを選択するSELECTコマンドを複数回受信した場合には、直近に受信したSELECTコマンドにより選択されたアプリのみが選択状態として保持されていた。これに対して、本実施形態のICチップ1aは、例えば、SELECTコマンドを受信する度に、当該SELECTコマンドにより選択されたアプリを選択状態として保持し、選択状態にあるアプリを指定するSELECT解除コマンドを受信した場合に、当該指定されたアプリを非選択状態とする。

0029

本実施形態のICチップ1a(「電子情報記憶媒体」の一例)は、複数のアプリを記憶するフラッシュメモリ13(「記憶部」の一例)と、外部端末2(「外部装置」の一例)からコマンドを受信した場合に処理を行うCPU10(「処理部」の一例)とを備え、CPU10は、アプリを選択するSELECTコマンド(「選択コマンド」の一例)を受信した場合に、当該アプリが選択状態にあることを示す選択状態情報をRAM12(「記憶部」の一例)に記憶させ、SELECTコマンド以外のコマンドを受信した場合に、選択状態にあるアプリにより当該コマンドに応じたコマンド処理を実行し、複数のアプリが選択状態にある場合において、当該コマンドを受信した場合に、選択状態にあるアプリケーションのうち、当該コマンドに応じたコマンド処理を実行可能なアプリによりコマンド処理を実行する。

0030

したがって、本実施形態のICチップ1aによれば、コマンド処理を実行させる複数のアプリを同時に選択状態としておくことにより、一のアプリを選択して当該アプリにコマンド処理を実行させた後に、他のアプリを選択し直すことなく、当該他のアプリにコマンド処理を実行させることができる。

0031

次に、本発明に係るICチップ1aの実施例を第1実施例、第2実施例に分けて説明する。第1実施例は、OSが選択状態にあるアプリを管理する実施例であり、第2実施例は、各アプリが自らが選択状態にあるかを管理する実施例である。なお、何れの実施例においても、ICチップ1aには、アプリ1、アプリ2、アプリ3、アプリ4がインストールされている。また、第1実施例を図3図4を用いて説明し、第2実施例を図5図6を用いて説明する。

0032

[2.第1実施例]
図3は、第1実施例におけるRAM12上の記憶領域Mを示す概念図である。記憶領域Mには、ICチップ1aのOSが使用するOS用記憶領域200と、選択状態にあるアプリ(複数のアプリが選択状態にある場合は当該複数のアプリ)が使用する選択状態アプリ用記憶領域210と、アプリ1が使用するアプリ1用記憶領域220と、アプリ2が使用するアプリ2用記憶領域230と、アプリ3が使用するアプリ3用記憶領域240と、アプリ4が使用するアプリ4用記憶領域250を有する。

0033

OS用記憶領域200には、OS用データ201、選択状態情報202、及びコマンドリスト203が記憶されている。選択状態情報202は、外部端末2から受信したSELECTコマンドにより選択されたアプリを識別するための情報である。図3の例では、「○」で示されているアプリ(すなわち、アプリ1及びアプリ4)が選択状態にあることを示し、「X」で示されているアプリ(すなわち、アプリ2及びアプリ3)が非選択状態にあることを示している。また、コマンドリスト203は、アプリ毎に、受信した場合にコマンド処理が実行可能なコマンド(「CLA」及び「INS」の組み合わせで識別されるコマンド)を示している。図3の例では、アプリ1は、「CLA」、「INS」の組み合わせが「00」、「01」又は「00」、「02」であるコマンドについてコマンド処理を実行可能であることを示している。OS用データ201は、選択状態情報202、及びコマンドリスト203以外のOSが処理を行うために必要なデータを含む。

0034

選択状態アプリ用記憶領域210には、選択状態にあるアプリがアクセス可能な共用データ211が記憶される。例えば、共用データ211が、ポイントデータであると仮定した場合に、選択状態にあるアプリ1のコマンド処理によりポイント加算や減算がなされ、選択状態にあるアプリ4のコマンド処理によりポイントが外部端末2に参照するために取得される。

0035

また、アプリ1用記憶領域220には、アプリ1がアクセス可能なアプリ1用データ221が記憶され、アプリ2用記憶領域230には、アプリ2がアクセス可能なアプリ2用データ231が記憶され、アプリ3用記憶領域240には、アプリ3がアクセス可能なアプリ3用データ241が記憶され、アプリ4用記憶領域250には、アプリ4がアクセス可能なアプリ4用データ251が記憶されている。

0036

図4は、第1実施例におけるCPU10の動作例を示すフローチャートである。なお、本フローチャートに示す処理は、外部端末2からコマンドを受信した場合に実行される。

0037

まず、ICチップ1aのOS(を実行するCPU10)は、外部端末2から受信したコマンドがSELECTコマンド(「選択コマンド」の一例)であるか否かを判定する(ステップS101)。OSは、SELECTコマンドを受信したと判定した場合には(ステップS101:YES)、SELECTコマンドで選択されたアプリを選択状態とする(ステップS102)。例えば、アプリ1が選択されたのであれば、選択状態情報202におけるアプリ1について選択状態を「〇」に更新する。次いで、OSは、選択状態情報202の更新結果を含むレスポンスを外部端末2に送信し(ステップS106)、当該フローチャートに示す処理を終了する。

0038

一方、OSは、SELECTコマンドを受信していない(すなわち、SELECTコマンド以外のコマンド(「非選択コマンド」の一例)を受信したと判定した場合には(ステップS101:NO)、選択状態情報202及びコマンドリスト203を参照し、アプリを特定する(ステップS103)。具体的には、まず、選択状態情報202を参照し、選択状態にあるアプリを特定し、次いで、特定したアプリの中から、受信したコマンドに含まれる「CLA」及び「INS」の組み合わせとコマンドリスト203に含まれる「CLA」及び「INS」の組み合わせを比較し、一致するアプリを特定する。なお、図示しないが、該当するアプリが存在しない場合には、エラーを示すレスポンスを外部端末2に送信する。

0039

次に、OSは、ステップS103の処理で特定したアプリに、受信したコマンドを受け渡す(ステップS104)。

0040

これに対して、アプリ(を実行するCPU10)は、OSからコマンドを受け取ると(ステップS201)、コマンド処理を実行し(ステップS202)、次いで、コマンド処理の結果を示すコマンド処理結果情報をOSに受け渡す(ステップS203)。

0041

これに対して、OS(を実行するCPU10)は、アプリからコマンド処理結果情報を受け取ると(ステップS105)、コマンド処理結果情報を含むレスポンスを外部端末2に送信し(ステップS106)、当該フローチャートに示す処理を終了する。

0042

以上説明したように第1実施例におけるICチップ1a(「電子情報記憶媒体」の一例)は、RAM12(「記憶部」の一例)が、OSと、アプリ毎に当該アプリが実行可能なコマンド処理を示すコマンドリスト203(「可能処理情報」の一例)を記憶し、CPU10は、OSを実行することにより、SELECTコマンド以外のコマンド(「非選択コマンド」の一例)を受信した場合に、選択状態情報202及びコマンドリスト203を参照して、選択状態にあるアプリであって、当該コマンドに応じたコマンド処理を実行可能なアプリを特定し、特定したアプリを実行することにより、受信したコマンドに応じたコマンド処理を実行する。

0043

[3.第2実施例]
図5は、第2実施例におけるRAM12の記憶領域Mを示す概念図である。記憶領域Mには、ICチップ1aのOSが使用するOS用記憶領域200と、選択状態にあるアプリ(複数のアプリが選択状態にある場合は当該複数のアプリ)が使用する選択状態アプリ用記憶領域210と、アプリ1が使用するアプリ1用記憶領域220と、アプリ2が使用するアプリ2用記憶領域230と、アプリ3が使用するアプリ3用記憶領域240と、アプリ4が使用するアプリ4用記憶領域250を有する。

0044

OS用記憶領域200には、OS用データ201が記憶されている。

0045

選択状態アプリ用記憶領域210には、選択状態にあるアプリがアクセス可能な共用データ211が記憶される。共用データ211は、例えば、ポイントデータであって、選択状態にあるアプリ1のコマンドにより加算や減算され、選択状態にアプリ4のコマンドにより外部端末2が参照するために取得される。

0046

また、アプリ1用記憶領域220には、アプリ1がアクセス可能なアプリ1用データ221、選択状態情報222、及びコマンドリスト223が記憶されている。選択状態情報222は、アプリ1が選択状態にあるか否かを示す情報であり、「〇」が格納されている場合にはアプリ1が選択状態にあることを示し、「X」が格納されている場合にはアプリ1が選択状態にないことを示している。選択状態情報222は、アプリ1がアプリ1を選択するSELECTコマンドを受け取った場合に「〇」に更新する。コマンドリスト223は、アプリ1が、受信した場合にコマンド処理が実行可能なコマンド(「CLA」及び「INS」の組み合わせで識別されるコマンド)を示している。図5の例では、アプリ1は、「CLA」、「INS」の組み合わせが「00」、「01」又は「00」、「02」であるコマンドについてコマンド処理を実行可能であることを示している。

0047

アプリ1用記憶領域220と同様に、アプリ2用記憶領域230には、アプリ2がアクセス可能なアプリ2用データ231、選択状態情報232、及びコマンドリスト233が記憶され、アプリ3用記憶領域240には、アプリ3がアクセス可能なアプリ3用データ241、選択状態情報242、及びコマンドリスト243が記憶され、アプリ4用記憶領域250には、アプリ4がアクセス可能なアプリ4用データ251、選択状態情報252、及びコマンドリスト253が記憶される。なお、選択状態情報232、選択状態情報242、選択状態情報252は、選択状態情報222と同様なので説明を省略する。また、コマンドリスト233、コマンドリスト243、コマンドリスト253についてもコマンドリスト223と同様なので説明を省略する。

0048

図6は、第2実施例におけるCPU10の動作例を示すフローチャートである。なお、本フローチャートに示す処理は、外部端末2からコマンドを受信した場合に実行される。

0049

まず、ICチップ1aのOS(を実行するCPU10)は、外部端末2から受信したコマンドがSELECTコマンド(「選択コマンド」の一例)であるか否かを判定する(ステップS301)。OSは、SELECTコマンドを受信したと判定した場合には(ステップS301:YES)、SELECTコマンドで選択されたアプリに、選択されたことを示す選択情報を受け渡す(ステップS302)。

0050

これに対して、アプリ(を実行するCPU10)は、OSから選択情報を受け取ると(ステップS401)、選択状態情報を選択状態に更新し(ステップS402)、更新結果を示す更新結果情報をOSに受け渡す(ステップS403)。ステップS402の処理について、例えば、選択情報を受け取ったアプリがアプリ1である場合には、アプリ1が選択状態情報222を「〇」に更新する。

0051

これに対して、OS(を実行するCPU10)は、更新結果情報を受け取ると(ステップS303)、更新結果情報を含むレスポンスを外部端末2に送信し(ステップS309)、当該フローチャートに示す処理を終了する。

0052

一方、OSは、ステップS301の処理において、SELECTコマンドを受信していない(すなわち、SELECTコマンド以外のコマンド(「非選択コマンド」の一例)を受信したと判定した場合には(ステップS301:NO)、インストールされているアプリの中から一つのアプリを選択する(ステップS304)。次いで、ステップS304の処理で選択したアプリに、受信したコマンドを受け渡す(ステップS305)。

0053

これに対して、アプリ(を実行するCPU10)は、OSからコマンドを受け取ると(ステップS411)、自アプリが選択状態であり、且つ、当該コマンドに対応するコマンド処理を実行可能か否かを判定する(ステップS412)。例えば、コマンドを受け取ったアプリがアプリ1である場合には、アプリ1は、選択状態情報222を参照して「〇」である場合には自アプリが選択状態であると判定する。また、アプリ1は、受け取ったコマンドに含まれる「CLA」及び「INS」の組み合わせとコマンドリスト223に含まれる「CLA」及び「INS」の組み合わせを比較し、一致した場合に、受け取ったコマンドに対応するコマンド処理を実行可能と判定する。

0054

アプリは、自アプリが選択状態であり、且つ、当該コマンドに対応するコマンド処理を実行可能と判定した場合には(ステップS412:YES)、当該コマンド処理を実行し(ステップS413)、次いで、コマンド処理の結果を示すコマンド処理結果情報をOSに受け渡す(ステップS414)。

0055

一方、アプリは、自アプリが選択状態でない、又は、当該コマンドに対応するコマンド処理を実行可能でないと判定した場合には(ステップS412:NO)、自アプリでは処理を行えないことを示す処理不能情報をOSに受け渡す(ステップS415)。

0056

これに対して、OS(を実行するCPU10)は、アプリからコマンド処理結果情報又は処理不能情報を受け取る(ステップS306)。次いで、OSは、アプリからコマンド処理結果情報を受け取ったか否かを判定する(ステップS307)。

0057

このとき、OSは、アプリからコマンド処理結果情報を受け取ったと判定した場合には(ステップS307:YES)、次いで、コマンド処理結果情報を含むレスポンスを外部端末2に送信し(ステップS309)、当該フローチャートに示す処理を終了する。一方、OSは、アプリからコマンド処理結果情報を受け取っていないと判定した場合(処理不能情報を受け取ったと判定した場合)には(ステップS307:NO)、次いで、全てのアプリを選択したか否かを判定する(ステップS308)。OSは全てのアプリを選択していないと判定した場合には(ステップS308:NO)、ステップS304の処理に移行する。つまり、OSは、コマンド処理結果情報が返されるまで順次アプリにコマンドを受け渡していく。OSは、全てのアプリを選択したと判定した場合には(ステップS308:YES)、処理不能情報を含むレスポンスを外部端末2に送信し(ステップS309)、当該フローチャートに示す処理を終了する。

0058

以上説明したように、第2実施例におけるICチップ1a(「電子情報記憶媒体」の一例)は、CPU10が、SELECTコマンドを受信した場合に、当該SELECTコマンドにより選択されたアプリを実行することにより、当該アプリが選択状態にあることを示す選択状態情報222、232、242、252をRAM12(「記憶部」の一例)に記憶させ、SELECTコマンド以外のコマンド(「非選択コマンド」の一例)を受信した場合に、アプリを実行することにより、選択状態情報222、232、242、252を参照して当該アプリが選択状態にある場合であって、当該コマンドに応じたコマンド処理を実行可能な場合に、当該コマンド処理を実行する。

0059

また、第1実施例及び第2実施例におけるICチップ1aは、RAM12(「記憶部」の一例)は、複数のアプリが選択状態にある場合において、当該複数のアプリケーションの何れもがアクセス可能な共用データ211を記憶する。これにより複数のアプリを、一つの共用データ211について処理可能ないわば一つのアプリとして取り扱うことができる。

0060

なお、第1実施例及び第2実施例では、記憶領域MをRAM12上の領域として説明したが、記憶領域M又はその一部をフラッシュメモリ13上に設けることとしてもよい。

0061

1ICカード
2外部端末
1aICチップ
10 CPU
11 ROM
12 RAM
13フラッシュメモリ
14 I/O回路

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • オムロン株式会社の「 制御システムおよび制御装置」が 公開されました。( 2020/06/04)

    【課題】コンピューティングリソースとして複数の演算部を利用できる場合に効率的な処理を実現する。【解決手段】制御装置は、1または複数の処理が割り当てられた第1のタスクを第1の制御周期で周期実行するための... 詳細

  • 富士通株式会社の「 情報処理装置および情報処理プログラム」が 公開されました。( 2020/06/04)

    【課題】プロセスに通信の実行を要求する際にそのプロセスの起動状態に応じた処理を選択して実行する。【解決手段】第1のプロセス1は、起動処理の実行過程において、制御データ11aを作成して記憶部11に格納す... 詳細

  • 日立オートモティブシステムズ株式会社の「 車両制御装置およびプログラム実行方法」が 公開されました。( 2020/06/04)

    【課題】 複数のコアに搭載されたアプリケーションソフトウェアのモジュールが、プラットフォームのAPIを複数のコアから利用する際、ROM使用量、演算負荷、応答性等の面でバランスの取れた処理を実施する。... 詳細

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ