米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 大日本印刷株式会社

発明の名称 携帯型情報処理装置
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2003−30609(P2003−30609A)
公開日 平成15年1月31日(2003.1.31)
出願番号 特願2001−212023(P2001−212023)
出願日 平成13年7月12日(2001.7.12)
代理人 【識別番号】100091476
【弁理士】
【氏名又は名称】志村 浩
【テーマコード(参考)】
5B035
5B076
【Fターム(参考)】
5B035 AA06 BB09 CA11 CA29 
5B076 AB17
発明者 神力 哲夫 / 入澤 和義 / 柴田 直人
要約 課題
ICカードに格納された特定のアプリケーションについて、新機能を容易に追加する。

解決手段
ICカード100内の領域M2に、複数のアプリケーションA〜Eを用意し、外部装置200側からアプリケーション選択コマンドを与えることにより、カレントアプリケーションを指定し、指定情報を領域M5に記録する。通常の実行コマンドは、OSプログラムからカレントアプリケーションに引き渡され実行される。特別なコマンドとして、複数のアプリケーションに跨がって実行される連続実行コマンドを用意し、各連続実行コマンドごとに、領域M6内に連続実行規則を格納しておく。連続実行コマンドが与えられた場合、連続実行規則に基づいて、複数のアプリケーションに跨がったルーチンが所定の順序で実行される。
特許請求の範囲
【請求項1】 携帯時には単体として持ち運びされ、アクセス時には外部装置から与えた所定のコマンドに対して所定のレスポンスが返されるように構成された携帯型情報処理装置において、OSプログラムが記録された第1の領域と、複数のアプリケーションプログラムが記録された第2の領域と、データを格納する第3の領域と、作業領域として用いられる第4の領域と、前記複数のアプリケーションプログラムの中から選択されたカレントアプリケーションを指定するカレントアプリケーション指定情報を格納する第5の領域と、前記複数のアプリケーションプログラムに跨がった複数のルーチンを所定の順序で実行すべきことを示す連続実行規則を格納する第6の領域と、を有する記憶手段と、前記OSプログラムの管理下で前記アプリケーションプログラムを実行する演算処理手段と、前記外部装置から与えられたコマンドを受信して前記演算処理手段に引き渡すとともに、前記演算処理手段から与えられたレスポンスを前記外部装置へ送信する処理を行う送受信手段と、を備え、前記演算処理手段は、カレントアプリケーションを指定するためのアプリケーション選択コマンドが与えられたとき、または、OSプログラムの指示により特定のカレントアプリケーションが指定されたときに、該カレントアプリケーションを示すカレントアプリケーション指定情報を前記第5の領域に格納する処理を行い、単一アプリケーション用実行コマンドが与えられたときに、前記第5の領域に格納されているカレントアプリケーション指定情報によって、その時点においてカレントアプリケーションとして指定されているアプリケーションプログラムに基づいて、与えられたコマンドを実行する処理を行い、複数アプリケーション用連続実行コマンドが与えられたときに、前記第6の領域に格納されている連続実行規則に基づいて、複数のルーチンを所定の順序で実行する処理を行う機能を有することを特徴とする携帯型情報処理装置。
【請求項2】 請求項1に記載の携帯型情報処理装置において、連続実行規則が、第1のルーチンの実行後に第2のルーチンを実行すべき旨の順序を示す規則に加えて、第1のルーチンの実行により生成されるパラメータを、第2のルーチンに引き渡す旨の規則を含んでいることを特徴とする携帯型情報処理装置。
【請求項3】 請求項2に記載の携帯型情報処理装置において、連続実行規則が、第2のルーチンとなるべき複数の候補を定め、第1のルーチンの実行により生成されるパラメータに基づいて、前記複数の候補の中の1つのルーチンを第2のルーチンとして選択しこれを実行すべき旨の規則を含んでいることを特徴とする携帯型情報処理装置。
【請求項4】 請求項1〜3のいずれかに記載の携帯型情報処理装置において、演算処理手段が、送受信手段から単一アプリケーション用実行コマンドまたは複数アプリケーション用連続実行コマンドが与えられたときに、両者を区別せずに、その時点においてカレントアプリケーションとして指定されているアプリケーションプログラムに基づいて、与えられたコマンドの実行を試みる処理を行い、エラーが生じた場合には、与えられたコマンドを複数アプリケーション用連続実行コマンドと認識して、連続実行規則に基づく処理を実行することを特徴とする携帯型情報処理装置。
【請求項5】 請求項1〜4のいずれかに記載の携帯型情報処理装置において、第6の領域に複数の連続実行規則が格納されており、演算処理手段は、与えられた複数アプリケーション用連続実行コマンドに対応した連続実行規則に基づいて、複数のルーチンを所定の順序で実行する処理を行うことを特徴とする携帯型情報処理装置。
【請求項6】 請求項5に記載の携帯型情報処理装置において、演算処理手段が、新たな連続実行規則を含む連続実行規則追加コマンドが与えられたときに、第6の領域に前記新たな連続実行規則を格納する処理を行うことを特徴とする携帯型情報処理装置。
発明の詳細な説明
【0001】
【発明の属する技術分野】本発明は、ICカードのような携帯型情報処理装置に関し、特に、携帯時には単体として持ち運びされ、アクセス時には外部装置から与えた所定のコマンドに対して所定のレスポンスが返されるように構成された携帯型情報処理装置に関する。
【0002】
【従来の技術】電子機器の小型化が進むに従って、一般社会における携帯型情報処理装置の担う役割も益々重要になってきている。特に、小型の携帯型情報処理装置の代表とも言うべきICカードは、近年、様々な分野において実用化されてきており、今後も広く普及するものと予想される。このICカードのような携帯型情報処理装置は、通常は、身体あるいは車両などに伴って携帯され、必要に応じて、パソコンなどに接続されたリーダライタ装置と交信させることによって、外部からのアクセスが可能になる。
【0003】現在、一般に普及しているICカードは、CPUを内蔵したタイプのものであり、内部メモリへのアクセスは、内蔵されたCPUを介してのみ可能となっている。このため、実用上十分なセキュリティが確保されている。一般に、ICカードと外部装置との間のやりとりは、外部装置側からICカードに対してコマンドを送信し、このコマンドに対する返事として、ICカードから外部装置に対してレスポンスを送信する、というプロセスを繰り返すことによって実行される。ICカード内には、通常、情報処理装置としての基本的な機能を統括制御するためのOSプログラムと、このOSプログラムの管理下で実行されるアプリケーションプログラムとが用意される。OSプログラムもアプリケーションプログラムも、外部装置から与えられたコマンドに基づいて何らかの処理を実行し、何らかのレスポンスを返す処理を行うプログラムであるという点では共通する。
【0004】最近は、ICカードに内蔵されるメモリの記憶容量も増加してきており、OSプログラムの他に、複数のアプリケーションプログラムが格納されたICカードも広く利用されるようになってきている。また、このようなアプリケーションプログラムをEEPROMなどの書き込み可能な不揮発性メモリに格納できるようにしておき、必要なアプリケーションプログラムを後から追加インストールするような利用形態も普及してきている。このように、複数のアプリケーションプログラムが用意されたICカードに対して、コマンドを与えて何らかの処理を実行させる場合、予め、当該ICカードに対してアプリケーション選択コマンドを与えて特定のアプリケーションを準備状態にする処理が実行される。一般に、アプリケーション選択コマンドによって準備状態となったアプリケーションは、「カレントアプリケーション」と呼ばれている。外部装置側から与えられるアプリケーション用の実行コマンドは、OSプログラムによって、その時点で「カレントアプリケーション」として準備状態になっているアプリケーションプログラムに引き渡されて実行される。
【0005】
【発明が解決しようとする課題】上述したように、ICカード内に複数のアプリケーションプログラムをインストールしておくことにより、1枚のICカードを種々の用途に利用することができる。また、必要に応じて、新たなアプリケーションプログラムを追加インストールすることも可能であるため、新たな用途を追加することもできる。しかしながら、従来のICカードでは、既にインストールされているアプリケーションプログラムに、付加的な機能を追加することは困難である。これは、1つのアプリケーションプログラムをインストールすると、当該アプリケーションのためのプログラム領域、データ領域などがメモリ上に確定するため、新たな機能のためのルーチンを付加することが困難になるためである。したがって、従来のICカードでは、1つのアプリケーションに付加機能を追加する必要が生じた場合、アプリケーションプログラムごと新規なプログラムに入れ替えざるを得ず、大掛かりな改訂作業が必要になる。
【0006】そこで本発明は、複数のアプリケーションプログラムを格納した携帯型情報処理装置において、特定のアプリケーションについて、新機能を容易に追加することができる新規な構成を提供することを目的とする。
【0007】
【課題を解決するための手段】(1) 本発明の第1の態様は、携帯時には単体として持ち運びされ、アクセス時には外部装置から与えた所定のコマンドに対して所定のレスポンスが返されるように構成された携帯型情報処理装置において、OSプログラムが記録された第1の領域と、複数のアプリケーションプログラムが記録された第2の領域と、データを格納する第3の領域と、作業領域として用いられる第4の領域と、複数のアプリケーションプログラムの中から選択されたカレントアプリケーションを指定するカレントアプリケーション指定情報を格納する第5の領域と、複数のアプリケーションプログラムに跨がった複数のルーチンを所定の順序で実行すべきことを示す連続実行規則を格納する第6の領域と、を有する記憶手段と、OSプログラムの管理下でアプリケーションプログラムを実行する演算処理手段と、外部装置から与えられたコマンドを受信して演算処理手段に引き渡すとともに、演算処理手段から与えられたレスポンスを外部装置へ送信する処理を行う送受信手段と、を設け、演算処理手段は、カレントアプリケーションを指定するためのアプリケーション選択コマンドが与えられたとき、または、OSプログラムの指示により特定のカレントアプリケーションが指定されたときに、該カレントアプリケーションを示すカレントアプリケーション指定情報を第5の領域に格納する処理を行い、単一アプリケーション用実行コマンドが与えられたときに、第5の領域に格納されているカレントアプリケーション指定情報によって、その時点においてカレントアプリケーションとして指定されているアプリケーションプログラムに基づいて、与えられたコマンドを実行する処理を行い、複数アプリケーション用連続実行コマンドが与えられたときに、第6の領域に格納されている連続実行規則に基づいて、複数のルーチンを所定の順序で実行する処理を行う機能を有するようにし、別なアプリケーションプログラムのルーチンを利用することにより、付加的な機能を実現できるようにしたものである。
【0008】(2) 本発明の第2の態様は、上述の第1の態様に係る携帯型情報処理装置において、連続実行規則として、第1のルーチンの実行後に第2のルーチンを実行すべき旨の順序を示す規則に加えて、第1のルーチンの実行により生成されるパラメータを、第2のルーチンに引き渡す旨の規則を用いるようにしたものである。
【0009】(3) 本発明の第3の態様は、上述の第2の態様に係る携帯型情報処理装置において、連続実行規則として、第2のルーチンとなるべき複数の候補を定め、第1のルーチンの実行により生成されるパラメータに基づいて、複数の候補の中の1つのルーチンを第2のルーチンとして選択しこれを実行すべき旨の規則を用いるようにしたものである。
【0010】(4) 本発明の第4の態様は、上述の第1〜第3の態様に係る携帯型情報処理装置において、演算処理手段が、送受信手段から単一アプリケーション用実行コマンドまたは複数アプリケーション用連続実行コマンドが与えられたときに、両者を区別せずに、その時点においてカレントアプリケーションとして指定されているアプリケーションプログラムに基づいて、与えられたコマンドの実行を試みる処理を行い、エラーが生じた場合には、与えられたコマンドを複数アプリケーション用連続実行コマンドと認識して、連続実行規則に基づく処理を実行するようにしたものである。
【0011】(5) 本発明の第5の態様は、上述の第1〜第4の態様に係る携帯型情報処理装置において、第6の領域に複数の連続実行規則を格納するようにし、演算処理手段が、与えられた複数アプリケーション用連続実行コマンドに対応した連続実行規則に基づいて、複数のルーチンを所定の順序で実行する処理を行うことをができるようにしたものである。
【0012】(6) 本発明の第6の態様は、上述の第5の態様に係る携帯型情報処理装置において、演算処理手段が、新たな連続実行規則を含む連続実行規則追加コマンドが与えられたときに、第6の領域に新たな連続実行規則を格納する処理を行うことができるようにしたものである。
【0013】
【発明の実施の形態】以下、本発明を図示する実施形態に基づいて説明する。図1は、本発明の一実施形態に係る携帯型情報処理装置(具体的には、ICカード)100の構成を示すブロック図である。この携帯型情報処理装置100は、携帯時には単体として持ち運びされ、アクセス時には外部装置(具体的には、リーダライタ装置)200に接続される。この外部装置200から所定のコマンドを与えると、携帯型情報処理装置100内部において所定の処理が実施され、その結果がレスポンスとして外部装置200へと返される。
【0014】携帯型情報処理装置100の基本構成要素は、図示のとおり、記憶手段110、演算処理手段120、送受信手段130である。記憶手段110には、種々のプログラムやデータが記録される。演算処理手段120は、この記憶手段110内のプログラムに基づいて、外部装置200から与えられるコマンドを実行する。外部装置200に対する送受信処理は、送受信手段130によって行われる。送受信手段130と外部装置200との間の交信は、物理的に電極を接触させて電気信号をやりとりする接触方式で行ってもよいし、電磁的な信号路を形成して情報をやりとりする非接触方式で行ってもよい。外部装置200から与えられたコマンドは、送受信手段130で受信され、演算処理手段120によって実行される。コマンドの実行後、演算処理手段120から何らかのレスポンスが出力され、送受信手段130によって外部装置200へと送信される。このように、携帯型情報処理装置100と外部装置200との間の交信は、外部装置200からのコマンド送信と携帯型情報処理装置100からのレスポンス送信を交互に繰り返すことにより行われる。
【0015】記憶手段110内には、図示のとおり、6つの領域が設けられている。第1の領域M1には、この携帯型情報処理装置100による処理動作を統括管理するためのOSプログラムが格納されている。演算処理手段120は、基本的には、このOSプログラムの管理下で種々の処理を実行することになる。第2の領域M2には、複数のアプリケーションプログラムが格納されている。図では、具体的に、5種類のアプリケーションプログラムA〜Eが用意されている例が示されている。通常、これらの各アプリケーションプログラムは、それぞれ異なる用途に利用されるプログラムになる。たとえば、プログラムAは、このICカードを病院用診察カードとして利用するための処理を行うプログラムであり、プログラムBは、このICカードをクレジットカードとして利用するための処理を行うプログラムであり、プログラムCは、このICカードを図書館用貸出カードとして利用するための処理を行うプログラムであり、…といった具合である。
【0016】第3の領域M3には、データが格納されている。このデータは、OSプログラムや各アプリケーションプログラムが利用するためのデータであり、複数のプログラムから共通して利用されるデータもあれば、個々のアプリケーションプログラムに固有のデータもある。なお、実用上は、特定のアプリケーションプログラムに固有のデータは、当該アプリケーションプログラムの格納領域に隣接した領域に格納するのが一般的であるが、ここでは便宜上、いずれのアプリケーションで用いられるデータも、第3の領域M3内に格納されるものとして以下の説明を行う。また、第4の領域M4は、演算処理手段120が種々の演算処理を行う上での作業領域として利用される領域であり、第5の領域M5は、カレントアプリケーション指定情報を格納するための領域である。ここで、「カレントアプリケーション」とは、第2の領域M2に格納されている複数のアプリケーションプログラムA〜Eの中から選択された1つのアプリケーションであり、「現時点で選択されているアプリケーション」ということになる。外部装置200から与えられたコマンドは、原則的に(後述するように、単一アプリケーション用実行コマンドである限りは)、この「カレントアプリケーション」によって実行される。なお、この第5の領域M5は、第4の領域M4の一部として取り扱うことも可能であるが、本発明においては重要な構成要素であるため、ここでは「カレントアプリケーション指定情報」を格納するための専用の領域として、第5の領域M5を定義することにする。
【0017】上述した第1の領域M1〜第5の領域M5は、従来のICカードにおいても利用されている領域である。本発明の特徴は、更に、第6の領域M6を設け、ここに連続実行規則R1〜R3を格納するようにし、第2の領域M2内に用意されている複数のアプリケーションプログラムに跨がった複数のルーチンを実行できるようにした点にある。ここで、連続実行規則R1〜R3は、後に詳述するように、それぞれ複数のアプリケーションプログラムに跨がった複数のルーチンを所定の順序で実行すべきことを示す規則であり、演算処理手段120は、この連続実行規則に基づいて、外部から与えられたコマンドを複数のアプリケーションに処理させることができる。
【0018】なお、図1に示す実施形態では、記憶手段110を1つのブロックで示しているが、実際には、ICカード内にはROM,EEPROMなどの不揮発性メモリと、RAMなどの揮発性メモリとが内蔵されており、各領域M1〜M6は、これら複数のメモリに適宜分散して設けられている。この実施形態では、OSプログラムを格納する第1の領域M1はROM内に設けられている(一部は、EEPROM内に設けて書き替えができるようにしてもよい)。また、作業領域として利用される第4の領域M4およびカレントアプリケーション指定情報を格納する第5の領域M5は、RAM内に設けられている。このICカードでは、電力はすべて外部装置200側から供給されるので、外部装置200との交信が完了し、外部装置200が切り離されると、第4の領域M4および第5の領域M5の内容はすべて失われることになる。一方、アプリケーションプログラムを格納する第2の領域M2、データを格納する第3の領域M3、連続実行規則を格納する第6の領域M6は、いずれもEEPROM内に設けられている。したがって、これらの情報は、外部装置200が切り離された後もそのまま保持されることになる。また、EEPROMは書換えや追加書込が可能であるため、アプリケーションプログラム、データ、連続実行規則は、いずれも修正したり追加したりすることができる。
【0019】演算処理手段120は、ICカード用のCPUから構成されており、OSプログラムの管理下で、アプリケーションプログラムA〜Eを実行する機能を有している。上述したように、外部装置200から与えられたコマンドは、送受信手段130を介して演算処理手段120に引き渡される。一般に、コマンドは、OSプログラムに実行させるためのコマンド(以下、OSプログラム用実行コマンドという)と、アプリケーションプログラムに実行させるためのコマンド(以下、アプリケーション用実行コマンドという)とに分類できる。いずれの種類のコマンドであるかは、通常、コマンド名の部分で認識する。演算処理手段120は、与えられたコマンドがOSプログラム用実行コマンドであった場合には、第1の領域M1内のOSプログラムに基づいてこれを実行し、与えられたコマンドがアプリケーション用実行コマンドであった場合には、第2の領域M2内のアプリケーションプログラムに基づいてこれを実行する。第2の領域M2内には、複数のアプリケーションプログラムA〜Eが格納されているが、このうちの1つが、第5の領域M5に格納されているカレントアプリケーション指定情報によって、カレントアプリケーションとして指定されており、与えられたアプリケーション用実行コマンドは、カレントアプリケーションによって実行されることになる。
【0020】このように、従来のICカードの場合、アプリケーション用実行コマンドは、現時点でカレントアプリケーションとして指定されているアプリケーションプログラムによって実行されることを前提としたコマンドであり、単一のアプリケーションプログラムを前提としたコマンドとなっている。たとえば、アプリケーションプログラムAがカレントアプリケーションとして指定されていた場合、外部装置200からは、このアプリケーションプログラムAが解釈実行可能なアプリケーション用実行コマンドを与える必要がある。別言すれば、アプリケーションプログラムAをカレントアプリケーションとして指定している状態では、アプリケーションプログラムAが解釈実行可能なアプリケーション用実行コマンド以外は実行することができないことになる。
【0021】本発明の基本的な着眼点は、アプリケーションプログラムAがカレントアプリケーションとして指定されている状態であっても、たとえば、アプリケーションプログラムB内のルーチンを利用した処理を行うことができれば、実質的に、アプリケーションプログラムAの機能を拡張させることができるであろう、という技術思想に基づくものである。このように、複数のアプリケーション間を跨がうようにしてコマンドを処理することができれば、単一のアプリケーションでは対応できないような仕事を、複数のアプリケーションの連携動作により処理することが可能になる。
【0022】たとえば、アプリケーションプログラムAが、このICカードを病院用診察カードとして利用するための処理を行うプログラムであったとしよう。ここで、病院に設置された外部装置200を用いて、このICカードを病院用診察カードとして利用する場合を考えると、当然、アプリケーションプログラムAがカレントアプリケーションとして指定され、プログラムAに基づいて診療のための種々の処理が実行されることになる。そして、たまたま診療会計処理を行う必要が生じたが、アプリケーションプログラムA自身には、1か月間の医療費を集計する機能が備わっていなかったとする。この場合、従来のICカードでは、このような1か月間の医療費の集計処理を、ICカード内部で実行させることはできない。ところが本発明に係るICカードでは、このような集計機能を搭載したアプリケーションプログラムBを追加インストールし、1ヶ月間の医療費を集計する処理については、このアプリケーションプログラムB内のルーチンを利用するような連続実行規則を用意すれば、ICカード内での集計処理が可能になる。このような方法をとれば、あたかもアプリケーションプログラムAの機能を拡張したような取り扱いが可能になる。
【0023】このような処理を実現するために、本発明では、アプリケーションプログラムに実行させるべきコマンドに、2通りのコマンドを用意している。第1のコマンドは、従来どおり、カレントアプリケーションとして指定されている単一のアプリケーションによって実行させるべきコマンドであり、ここでは「単一アプリケーション用実行コマンド」と呼ぶことにする。一方、第2のコマンドは、本発明に特有のコマンドであり、カレントアプリケーションとして指定されているアプリケーション以外のアプリケーションプログラムのルーチンを利用して実行させるべきコマンドであり、ここでは「複数アプリケーション用連続実行コマンド」と呼ぶことにする。上述の例の場合、1か月間の医療費を集計する処理は、カレントアプリケーションとして指定されているアプリケーションプログラムAと、これとは別なアプリケーションプログラムBとを連続的に(処理途中でレスポンスを発生させることなしに)実行させる「複数アプリケーション用連続実行コマンド」を与えることにより実現できるようになる。
【0024】結局、本発明に係るICカードに対しては、図2に示すような3つのタイプのコマンドを与えることができる。すなわち、「OSプログラム用実行コマンド」、「単一アプリケーション用実行コマンド」、「複数アプリケーション用連続実行コマンド」の3つのタイプのコマンドである。
【0025】ここで、「OSプログラム用実行コマンド」は、OSプログラムによって実行されるコマンドであり、たとえば、図2に示すように、「アプリケーション選択コマンド」、「アプリケーション追加コマンド」、「連続実行規則追加コマンド」のようなコマンドが用意される(実際には、この他にも種々のコマンドが用意される)。「アプリケーション選択コマンド」は、カレントアプリケーションを指定するためのコマンドであり、たとえば「SELECT−APPLICATION PROG−A」のように、コマンド名(SELECT−APPLICATION)と、特定のアプリケーションを指定する情報(PROG−A)をもったコマンドになる。演算処理手段120は、このような「アプリケーション選択コマンド」が与えられると、OSプログラムに基づいて、指定されたアプリケーションプログラムをカレントアプリケーションとして示す「カレントアプリケーション指定情報」を第5の領域M5に書き込む処理を実行する。上述した例のように、「SELECT−APPLICATION PROG−A」なるコマンドが与えられた場合、第5の領域M5には、「アプリケーションプログラムA」がカレントアプリケーションである旨の指定情報(たとえば、「PROG−A」なるデータ)が書き込まれることになる。
【0026】なお、第5の領域M5への「カレントアプリケーション指定情報」の書込処理は、「アプリケーション選択コマンド」が与えられた場合だけでなく、OSプログラムの指示により特定のカレントアプリケーションが指定されたときにも実行される。具体的には、OSプログラムの起動時に、デフォルト指定された特定のアプリケーションプログラムが、カレントアプリケーションとして自動的に指定され、当該デフォルトのアプリケーションプログラムを指定する「カレントアプリケーション指定情報」が第5の領域M5に書き込まれる。
【0027】一方、「アプリケーション追加コマンド」および「連続実行規則追加コマンド」も、OSプログラムによって実行されるべき「OSプログラム用実行コマンド」である。「アプリケーション追加コマンド」は、第2の領域M2に新たなアプリケーションプログラムを追加書込するためのコマンドであり、コマンド名に後続して、当該プログラムのオブジェクトコードが外部装置200側から与えられることになる。演算処理手段120は、OSプログラムに基づいて、与えられた新規アプリケーションのオブジェクトコードを、第2の領域M2(通常は、EEPROMからなる領域)へ書き込む処理を実行する。また、「連続実行規則追加コマンド」は、第6の領域M6に新たな連続実行規則を追加書込するためのコマンドであり、コマンド名に後続して、当該連続実行規則を示すコードが外部装置200側から与えられることになる。演算処理手段120は、OSプログラムに基づいて、与えられた新規規則を示すコードを、第6の領域M6(通常は、EEPROMからなる領域)へ書き込む処理を実行する。
【0028】以上、本実施形態に係るICカードで用いられる「OSプログラム用実行コマンド」の一例を説明した。通常は、この他にも種々の「OSプログラム用実行コマンド」が用意されているが、ここでは詳しい説明は省略する。
【0029】一方、「単一アプリケーション用実行コマンド」は、カレントアプリケーションとして指定されている特定のアプリケーションプログラムに実行させるべきコマンドであり、従来のICカードにおける一般的なアプリケーション用実行コマンドに相当するものである。図示の例のように、プログラムA用コマンド、プログラムB用コマンド、プログラムC用コマンド、…と各アプリケーションプログラムごとに所定のコマンドが用意されることになる。具体的にどのようなコマンドが用意されるかは、個々のアプリケーションプログラムに依存して定まるが、たとえば、特定のユーザデータを第3の領域M3に書き込むコマンドや、特定のユーザデータを第3の領域M3から読み出すコマンドや、特定のユーザデータを検索するコマンドや、与えられたデータと読み出したユーザデータとの間で所定の演算を実行してその結果をレスポンスとして返すコマンドなど千差万別である。もちろん、プログラムA,B用に共通したコマンドを用意することも可能である。
【0030】いずれにせよ、この「単一アプリケーション用実行コマンド」は、コマンドを与えた時点においてカレントアプリケーションとして指定されている単一のアプリケーションプログラムによって実行処理されるコマンドであり、実行後には、何らかのレスポンスが外部装置200に返される(外部装置200に対して、何らかのデータを送信する場合もあれば、単に、処理が正常終了したことを示す確認を送信する場合もある)。また、カレントアプリケーションとして指定されているアプリケーションプログラムが、与えられたコマンドを実行することができない場合(たとえば、プログラムAがカレントアプリケーションとして指定されている状態において、プログラムB用コマンドが与えられたような場合)には、エラーを示すレスポンスが外部装置200に返されることになる。
【0031】本発明の特徴となる「複数アプリケーション用連続実行コマンド」は、コマンドを与えた時点においてカレントアプリケーションとして指定されている単一のアプリケーションプログラムだけでは、実行処理することができないコマンドであり、カレントアプリケーションとそれ以外のアプリケーションプログラムとを連続的に実行することにより処理することが可能なコマンドということになる。たとえば、カレントアプリケーションとして指定されているプログラムAによる処理を実行した後、更に、別なアプリケーションプログラムBを実行することにより処理が完了するようなコマンドが、本発明の特徴となる「複数アプリケーション用連続実行コマンド」になる。このようなコマンドを用いれば、外部装置200側から見れば、あたかもアプリケーションプログラムAに新たな機能(プログラムBの機能)が追加されたような取り扱いが可能になる。
【0032】もっとも、このような「複数アプリケーション用連続実行コマンド」を演算処理手段120に実行させるためには、予め、第6の領域M6に連続実行規則を用意しておく必要がある。別言すれば、演算処理手段120は、「複数アプリケーション用連続実行コマンド」が与えられた場合、この第6の領域M6に格納されている連続実行規則に基づいて、複数のアプリケーションに跨がる複数のルーチンを所定の順序で実行する処理を行うことになる。実用上は、第6の領域M6には、複数の連続実行規則を格納しておくようにし、「複数アプリケーション用連続実行コマンド」には、どの連続実行規則を用いるコマンドであるかを指定する情報を含ませておくようにする。図1には、第6の領域M6内に3つの規則R1,R2,R3が格納されている状態が示されているが、この場合は、「複数アプリケーション用連続実行コマンド」としては、図2の下欄に示すように、規則R1に基づくコマンド、規則R2に基づくコマンド、規則R3に基づくコマンドの3通りのコマンドを用いることができる。各コマンドに、コマンド名の部分やパラメータの部分に、規則R1〜R3のいずれか1つを示す情報を含ませておくようにすれば、演算処理手段120は、当該コマンドを受け取ったときに、規則R1〜R3のいずれに従って処理すべきかを認識することができる。
【0033】図3は、規則R1〜R3の一例を示すブロック図である。演算処理手段120は、このような規則に基づいて、「複数アプリケーション用連続実行コマンド」の処理を所定の順序で実行することになる。
【0034】たとえば、規則R1は、プログラムAを実行した後、プログラムBを実行すべきことを示す規則である。通常、プログラムAやBは、何らかのデータやパラメータを伴うコマンドを実行するためのルーチンの集合から構成されている。したがって、実際には、規則R1は、プログラムAに対して与えるべき「プログラムA用コマンド」とプログラムBに対して与えるべき「プログラムB用コマンド」とを含んでいることになる。従来のICカードにおいて、「プログラムA用コマンド」が単一アプリケーション用実行コマンドとして演算処理手段120に与えられた場合、プログラムAによって、このコマンドが実行された後、その結果がレスポンスとして外部装置200側に返されることになる。これに対して、本発明に係るICカードにおいて、図3に示すような規則1に基づく「複数アプリケーション用連続実行コマンド」が与えられた場合は、この規則1に定められている所定の「プログラムA用コマンド」がプログラムAに引き渡されて実行された後、続いて、この規則1に定められている所定の「プログラムB用コマンド」がプログラムBに引き渡されて実行され、その結果が、レスポンスとして外部装置200側に返されることになる。すなわち、プログラムAによる所定の処理とプログラムBによる所定の処理とが連続的に実施され、この連続的な処理の結果がレスポンスとして返されることになる。そして、このとき、プログラムAの実行により生成されるパラメータXが、プログラムBへと引き渡される。結局、プログラムAの処理の結果を利用して、プログラムBが続いて実行されることになる。
【0035】前述した例のように、アプリケーションプログラムAが、ICカードを病院用診察カードとして利用するための処理を行うプログラムであり、アプリケーションプログラムBが、集計処理機能をもったプログラムであり、1か月間の医療費の集計処理を、アプリケーションプログラムB内の処理ルーチンを利用して行うような場合には、規則R1のように、プログラムAからプログラムBへとパラメータXを引き渡すような処理が利用できる。この場合、「複数アプリケーション用連続実行コマンド」として、「1か月間の医療費の集計コマンド」なるコマンドを定義しておき、このコマンドを実行するための規則R1を連続実行規則として定めておけばよい。具体的には、まず、プログラムAに対して1か月分の医療費リストを読み出す読出コマンドを実行させ、読み出された医療費リストをパラメータXとして取り出し、続いて、プログラムBに対して、このパラメータXを与えてその集計を行う集計コマンドを実行させ、その結果をレスポンスとする、というような規則R1を定めておけばよい。プログラムAにはもともと1か月間の医療費の集計処理を行う機能は用意されていなかったとしても、集計処理の部分だけをプログラムBのルーチンを利用して実施することができるので、外部装置200側から見れば、プログラムAに新たな集計機能が付加されたような取り扱いが可能になる。
【0036】図3に示す規則R1は、2つのアプリケーションプログラムA,Bを順番に実行させる規則であるが、もちろん、3つ以上のアプリケーションプログラムを順次実行させるような規則を定義することも可能である。また、必ずしもプログラム単位での実行順序を定義する必要はなく、ある1つのアプリケーションプログラム中の特定のルーチンについての実行順序を定めた連続実行規則を定義してもかまわない。図3の規則R2は、このようにルーチン単位での実行規則を定めた例である。すなわち、まず、プログラムCの中の特定のルーチンc1を実行し(必要に応じて、何らかのパラメータを与えてルーチンc1を実行するようにしてもよい)、その結果得られるパラメータXを用いてプログラムDを実行し、続いて、その結果得られるパラメータYを用いてプログラムE内の特定のルーチンe2を実行し、更に、その結果得られるパラメータZを用いて再びプログラムC内の特定のルーチンc2を実行し、その結果をレスポンスとして返す処理が行われることになる。
【0037】一般に、1つのアプリケーションプログラムは、複数のルーチンの集合体であるから、結局、本発明における連続実行規則とは、複数のアプリケーションプログラムに跨がった複数のルーチンを所定の順序で実行すべきことを示す規則ということができる。したがって、本願では、「ルーチン」という文言を、プログラムを構成する1つ1つのルーチンを示す意味で用いるだけでなく、ルーチンの集合体であるプログラム全体を示す意味でも用いることにする。
【0038】なお、連続実行規則は、必ずしも常に一定の順序で実行すべきルーチンを定義した規則にする必要はなく、1つのルーチンの実行により生成されるパラメータに基づいて、後続して実行すべきルーチンが変わるような規則であってもかまわない。この場合、後続して実行されるべきルーチンとして複数の候補を定めておき、パラメータの値に応じて、この複数の候補の中からどれを選択して実行すべきかを定めた規則を用意しておけばよい。図3の規則R3は、このような規則の一例である。この例では、プログラムEに後続するルーチンとして、プログラムB、プログラムD、プログラムB内のルーチンb8という3通りの候補が定められており、プログラムEの実行によって得られるパラメータXに基づいて、いずれか1つの候補が後続して実行されることになる。具体的には、図示の例の場合、パラメータXが正の場合は、プログラムBが実行され、パラメータXが負の場合は、プログラムDが実行され、パラメータXが0の場合は、プログラムB内のルーチンb8が実行されることになる。
【0039】図3には、本発明において用意される連続実行規則を、3つの例として示したが、もちろん、連続実行規則としては、任意の規則を自由に定義することが可能である。しかも、図2の上欄に示すように、「OSプログラム用実行コマンド」のひとつとして、「連続実行規則追加コマンド」を用意しておけば、前述したように、必要に応じて、新たな連続実行規則を第6の領域M6に追加して格納することができる。
【0040】また、場合によっては、カレントアプリケーションとなっているアプリケーションプログラムによる実質的な処理は全く行われず、全く別なアプリケーションプログラムによる処理のみが実行される場合もある。たとえば、プログラムAがカレントアプリケーションとして指定されている場合に、プログラムB内のルーチンのみによって処理が行われる「複数アプリケーション用連続実行コマンド」が与えられた場合、プログラムAは実質的な処理には何ら関与せず、実質的な処理はプログラムBのみによって行われることになる。しかし、この場合も、外部装置200側からみれば、見掛け上、カレントアプリケーションとして選択されているアプリケーションプログラムAに対して何らかのコマンドを与えたら、これに対するレスポンスが戻ってきたように取り扱われる。いわば、アプリケーションプログラムAは、処理の窓口としての機能を果たすことになる。
【0041】なお、実用上の観点からは、「複数アプリケーション用連続実行コマンド」を利用する頻度は、「単一アプリケーション用実行コマンド」を利用する頻度に比べれば、低いことが予想される。このような観点に立てば、外部装置200から何らかのコマンドが与えられるたびに、演算処理手段120において、与えられたコマンドが「単一アプリケーション用実行コマンド」であるのか、「複数アプリケーション用連続実行コマンド」であるのかをその都度認識する処理を行うのは非効率的である。そこで、実用上は、演算処理手段120は、コマンドを受け取ったら、当該コマンドが、「単一アプリケーション用実行コマンド」であろうが、「複数アプリケーション用連続実行コマンド」であろうが、両者を区別せずに、とりあえず、その時点においてカレントアプリケーションとして指定されているアプリケーションプログラムに基づいて、与えられたコマンドの実行を試みる処理を行い、エラーが生じた場合には、与えられたコマンドを「複数アプリケーション用連続実行コマンド」と認識して、第6の領域M6に格納されている連続実行規則に基いて処理を実行するようにしておけばよい。
【0042】以上、本発明に係る携帯型情報処理装置をICカードの例について説明したが、本発明はICカードに限らず、その他の携帯型情報処理装置においても同様に適用が可能である。
【0043】
【発明の効果】以上のとおり本発明によれば、複数のアプリケーションプログラムを格納した携帯型情報処理装置において、特定のアプリケーションについて、新機能を容易に追加することができるようになる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013