JP4747450B2 - Portable information processing device - Google Patents
Portable information processing device Download PDFInfo
- Publication number
- JP4747450B2 JP4747450B2 JP2001212023A JP2001212023A JP4747450B2 JP 4747450 B2 JP4747450 B2 JP 4747450B2 JP 2001212023 A JP2001212023 A JP 2001212023A JP 2001212023 A JP2001212023 A JP 2001212023A JP 4747450 B2 JP4747450 B2 JP 4747450B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- application
- program
- area
- given
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【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】
【発明の効果】
以上のとおり本発明によれば、複数のアプリケーションプログラムを格納した携帯型情報処理装置において、特定のアプリケーションについて、新機能を容易に追加することができるようになる。
【図面の簡単な説明】
【図1】本発明の基本的な実施形態に係る携帯型情報処理装置の構成を示すブロック図である。
【図2】図1に示す携帯型情報処理装置において利用可能な3つのタイプのコマンドの例を示す図である。
【図3】図1に示す携帯型情報処理装置内に格納される連続実行規則の例を示す図である。
【符号の説明】
100…携帯型情報処理装置(ICカード)
110…記憶手段
120…演算処理手段
130…送受信手段
200…外部装置(リーダライタ装置)
A〜E…アプリケーションプログラム
M1〜M6…記憶手段110内の領域
R1〜R3…連続実行規則
X,Y,Z…パラメータ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a portable information processing apparatus such as an IC card, and in particular, is carried as a single unit when being carried and is configured to return a predetermined response to a predetermined command given from an external device when accessed. The present invention relates to a type information processing apparatus.
[0002]
[Prior art]
As electronic devices become smaller, the role played by portable information processing devices in the general society has become increasingly important. In particular, IC cards, which can be said to be representative of small portable information processing apparatuses, have been put into practical use in various fields in recent years, and are expected to be widely used in the future. A portable information processing device such as an IC card is usually carried with the body or a vehicle, and accesses from the outside by communicating with a reader / writer device connected to a personal computer or the like as necessary. Is possible.
[0003]
Currently, IC cards that are widely used are of a type with a built-in CPU, and access to the internal memory is possible only through the built-in CPU. For this reason, practically sufficient security is ensured. In general, the exchange between an IC card and an external device is a process in which a command is transmitted from the external device side to the IC card, and a response is transmitted from the IC card to the external device in response to this command. It is executed by repeating. In the IC card, an OS program for generally controlling basic functions as the information processing apparatus and an application program executed under the management of the OS program are prepared. The OS program and the application program are common in that they are programs that execute some processing based on a command given from an external device and return some response.
[0004]
Recently, the storage capacity of a memory built in an IC card has been increased, and an IC card storing a plurality of application programs in addition to an OS program has been widely used. In addition, a usage form in which such an application program can be stored in a writable non-volatile memory such as an EEPROM, and a necessary application program is additionally installed later has been widespread. As described above, when an IC card having a plurality of application programs is given a command to execute some processing, an application selection command is given to the IC card in advance to set a specific application in a ready state. Is executed. In general, an application that is in a ready state by an application selection command is called a “current application”. The application execution command given from the external device side is delivered and executed by the OS program to the application program that is in the ready state as the “current application” at that time.
[0005]
[Problems to be solved by the invention]
As described above, by installing a plurality of application programs in an IC card, one IC card can be used for various purposes. In addition, since a new application program can be additionally installed as necessary, a new application can be added. However, with a conventional IC card, it is difficult to add an additional function to an already installed application program. This is because, when one application program is installed, a program area, a data area, and the like for the application are fixed on the memory, and it becomes difficult to add a routine for a new function. Therefore, in the conventional IC card, when it is necessary to add an additional function to one application, the application program must be replaced with a new program, and a large revision work is required.
[0006]
Accordingly, an object of the present invention is to provide a novel configuration in which a new function can be easily added to a specific application in a portable information processing apparatus storing a plurality of application programs.
[0007]
[Means for Solving the Problems]
(1) A first aspect of the present invention is a portable information processing apparatus configured to be carried as a single unit when being carried, and to return a predetermined response to a predetermined command given from an external device when accessed.
A first area in which an OS program is recorded, a second area in which a plurality of application programs are recorded, a third area for storing data, a fourth area used as a work area, and a plurality of applications A fifth area for storing current application designating information for designating the current application selected from the program, and continuous execution indicating that a plurality of routines across a plurality of application programs should be executed in a predetermined order Storage means having a sixth area for storing rules;
Arithmetic processing means for executing an application program under the control of an OS program;
A transmission / reception means for receiving a command given from the external device and delivering the command to the arithmetic processing means, and performing a process of sending a response given from the arithmetic processing means to the external device;
The arithmetic processing means is
When an application selection command for designating the current application is given, or when a specific current application is designated by an instruction of the OS program, current application designation information indicating the current application is stored in the fifth area. Process
When an execution command for a single application is given, the given command is executed based on the application program designated as the current application at that time by the current application designation information stored in the fifth area. Process
When a continuous execution command for a plurality of applications is given, based on the continuous execution rules stored in the sixth area, a function of executing a plurality of routines in a predetermined order is provided.
An additional function can be realized by using a routine of another application program.
[0008]
(2) According to a second aspect of the present invention, in the portable information processing device according to the first aspect described above,
As a continuous execution rule, in addition to the rule indicating the order in which the second routine should be executed after the execution of the first routine, the parameter generated by the execution of the first routine is passed to the second routine This rule is used.
[0009]
(3) According to a third aspect of the present invention, in the portable information processing device according to the second aspect described above,
As a continuous execution rule, a plurality of candidates to be the second routine are determined, and one routine among the plurality of candidates is selected as the second routine based on parameters generated by the execution of the first routine. The rule that this should be executed is used.
[0010]
(4) According to a fourth aspect of the present invention, in the portable information processing device according to the first to third aspects described above,
When the arithmetic processing means is given a single application execution command or a multi-application continuous execution command from the transmission / reception means, based on the application program designated as the current application at that time, without distinguishing between the two , A process that attempts to execute the given command, and if an error occurs, the given command is recognized as a continuous execution command for multiple applications, and the process based on the continuous execution rule is executed It is.
[0011]
(5) According to a fifth aspect of the present invention, in the portable information processing device according to the first to fourth aspects described above,
A plurality of continuous execution rules are stored in the sixth area, and the arithmetic processing means executes a plurality of routines in a predetermined order based on the continuous execution rules corresponding to the given continuous execution commands for multiple applications. It is possible to perform processing.
[0012]
(6) According to a sixth aspect of the present invention, in the portable information processing device according to the fifth aspect described above,
The arithmetic processing means can perform processing for storing a new continuous execution rule in the sixth area when a continuous execution rule addition command including a new continuous execution rule is given.
[0013]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be described based on the illustrated embodiments. FIG. 1 is a block diagram showing a configuration of a portable information processing apparatus (specifically, an IC card) 100 according to an embodiment of the present invention. The portable information processing apparatus 100 is carried as a single unit when being carried, and is connected to an external apparatus (specifically, a reader / writer apparatus) 200 when accessed. When a predetermined command is given from the
[0014]
The basic components of the portable information processing apparatus 100 are a
[0015]
As shown in the figure, six areas are provided in the
[0016]
Data is stored in the third area M3. This data is data that is used by the OS program and each application program, and there is data that is commonly used by a plurality of programs and data that is unique to each application program. In practice, data specific to a specific application program is generally stored in an area adjacent to the storage area of the application program, but here, for convenience, data used in any application is The following description will be made assuming that the data is stored in the third area M3. The fourth area M4 is an area used as a work area when the
[0017]
The first area M1 to the fifth area M5 described above are areas that are also used in conventional IC cards. The feature of the present invention is that a sixth area M6 is further provided, in which continuous execution rules R1 to R3 are stored, and a plurality of application programs prepared in the second area M2 are straddled. The point is that multiple routines can be executed. Here, the continuous execution rules R1 to R3 are rules indicating that a plurality of routines straddling a plurality of application programs should be executed in a predetermined order, as will be described in detail later. Can cause a plurality of applications to process a command given from the outside based on this continuous execution rule.
[0018]
In the embodiment shown in FIG. 1, the
[0019]
The arithmetic processing means 120 is composed of an IC card CPU and has a function of executing the application programs A to E under the management of the OS program. As described above, the command given from the
[0020]
Thus, in the case of a conventional IC card, the application execution command is a command that is assumed to be executed by the application program currently specified as the current application, and is based on a single application program. It is a command. For example, when the application program A is designated as the current application, it is necessary to give an application execution command that can be interpreted and executed by the application program A from the
[0021]
The basic point of view of the present invention is that even if the application program A is designated as the current application, for example, if processing using a routine in the application program B can be performed, the application is substantially This is based on the technical idea that the function of the program A can be expanded. In this way, if a command can be processed so as to straddle a plurality of applications, a task that cannot be handled by a single application can be processed by a cooperative operation of the plurality of applications.
[0022]
For example, suppose that the application program A is a program that performs processing for using this IC card as a hospital examination card. Here, when the case where this IC card is used as a medical examination card for a hospital using the
[0023]
In order to realize such processing, in the present invention, two commands are prepared as commands to be executed by the application program. The first command is a command to be executed by a single application designated as the current application, as in the past, and is referred to as a “single application execution command” here. On the other hand, the second command is a command peculiar to the present invention and is a command to be executed using a routine of an application program other than the application designated as the current application. It will be called "command". In the case of the above-described example, the process of totaling medical expenses for one month is performed by continuously generating an application program A designated as the current application and an application program B different from this (in the middle of processing, a response is generated). This can be realized by giving a “continuous execution command for multiple applications” to be executed.
[0024]
Eventually, three types of commands as shown in FIG. 2 can be given to the IC card according to the present invention. That is, there are three types of commands: “OS program execution command”, “single application execution command”, and “multiple application continuous execution command”.
[0025]
Here, the “OS program execution command” is a command executed by the OS program. For example, as shown in FIG. 2, “application selection command”, “application addition command”, “continuous execution rule addition command” (In fact, various other commands are also prepared). The “application selection command” is a command for designating a current application. For example, a command name (SELECT-APPLICATION PROG-A) and information (PROG-) for designating a specific application, such as “SELECT-APPLICATION PROG-A”. It becomes a command with A). When such an “application selection command” is given, the arithmetic processing means 120 writes “current application designation information” indicating the designated application program as the current application in the fifth area M5 based on the OS program. Execute. As in the above-described example, when the command “SELECT-APPLICATION PROG-A” is given, designation information (for example, “PROG” in the fifth area M5 indicates that “application program A” is the current application. -A ") is written.
[0026]
Note that the “current application designation information” is written into the fifth area M5 not only when an “application selection command” is given, but also when a specific current application is designated by an instruction from the OS program. Is also executed. Specifically, when the OS program is started, a specific application program designated by default is automatically designated as the current application, and “current application designation information” for designating the default application program is the fifth area M5. Is written to.
[0027]
On the other hand, the “application addition command” and “continuous execution rule addition command” are also “OS program execution commands” to be executed by the OS program. The “application addition command” is a command for additionally writing a new application program in the second area M2, and the object code of the program is given from the
[0028]
Heretofore, an example of the “OS program execution command” used in the IC card according to the present embodiment has been described. Usually, various other “OS program execution commands” are prepared, but detailed description thereof is omitted here.
[0029]
On the other hand, the “single application execution command” is a command to be executed by a specific application program designated as the current application, and corresponds to a general application execution command in a conventional IC card. As in the example shown in the figure, predetermined commands are prepared for each application program, such as a program A command, a program B command, a program C command,. The specific commands to be prepared are determined depending on individual application programs. For example, a command for writing specific user data to the third area M3 or a specific user data for the third user M3 A command to read from the area M3, a command to search for specific user data, a command to execute a predetermined operation between given data and the read user data, and return the result as a response is there. Of course, it is also possible to prepare a common command for the programs A and B.
[0030]
In any case, this “execution command for single application” is a command that is executed by a single application program specified as the current application at the time of giving the command, and after execution, some response is external It is returned to the apparatus 200 (some data may be transmitted to the
[0031]
The “continuous execution command for multiple applications”, which is a feature of the present invention, is a command that cannot be executed only by a single application program designated as the current application at the time when the command is given. This is a command that can be processed by continuously executing other application programs. For example, after executing the process by the program A designated as the current application, a command that completes the process by executing another application program B is a feature of “continuous for multiple applications”. Run command ". If such a command is used, it is possible to handle the application program A as if a new function (the function of the program B) is added as viewed from the
[0032]
However, in order for the arithmetic processing means 120 to execute such a “continuous execution command for multiple applications”, it is necessary to prepare a continuous execution rule in the sixth area M6 in advance. In other words, when the “multiple application continuous execution command” is given, the
[0033]
FIG. 3 is a block diagram illustrating an example of the rules R1 to R3. Based on such rules, the arithmetic processing means 120 executes the processing of “sequential execution commands for multiple applications” in a predetermined order.
[0034]
For example, the rule R1 is a rule indicating that the program B should be executed after the program A is executed. Usually, the programs A and B are composed of a set of routines for executing a command with some data and parameters. Therefore, in practice, the rule R1 includes a “program A command” to be given to the program A and a “program B command” to be given to the program B. In a conventional IC card, when a “program A command” is given to the arithmetic processing means 120 as an execution command for a single application, after the command is executed by the program A, the result is returned as a response to the
[0035]
As in the example described above, the application program A is a program for performing processing for using an IC card as a hospital medical card, and the application program B is a program having a counting processing function for one month. When the medical expenses are aggregated by using a processing routine in the application program B, a process of passing the parameter X from the program A to the program B can be used as in the rule R1. In this case, if a command called “Aggregation command for medical expenses for one month” is defined as a “continuous execution command for multiple applications”, and a rule R1 for executing this command is defined as a continuous execution rule. Good. Specifically, first, the program A is caused to execute a read command for reading the medical cost list for one month, the read medical cost list is taken out as the parameter X, and then the program B is A rule R1 may be determined such that a summing command for summing up the parameters X is executed and the result is a response. Even if the program A originally does not have a function for performing the totaling process of the medical expenses for one month, only the part of the totaling process can be performed by using the routine of the program B. From the side, the program A can be handled as if a new counting function was added.
[0036]
The rule R1 shown in FIG. 3 is a rule for executing the two application programs A and B in order, but it is of course possible to define a rule for sequentially executing three or more application programs. Further, it is not always necessary to define the execution order in units of programs, and a continuous execution rule that defines the execution order for a specific routine in a certain application program may be defined. The rule R2 in FIG. 3 is an example in which an execution rule is defined for each routine in this way. That is, first, a specific routine c1 in the program C is executed (the routine c1 may be executed by giving some parameters as necessary), and the program D is obtained using the parameter X obtained as a result. Subsequently, a specific routine e2 in the program E is executed using the parameter Y obtained as a result, and a specific routine c2 in the program C is executed again using the parameter Z obtained as a result. Then, processing for returning the result as a response is performed.
[0037]
In general, since one application program is a collection of a plurality of routines, the continuous execution rule in the present invention is to execute a plurality of routines across a plurality of application programs in a predetermined order. It can be said that the rule indicates. Therefore, in the present application, the term “routine” is used not only to indicate each routine constituting the program but also to indicate the entire program that is a collection of routines.
[0038]
Note that the continuous execution rule does not necessarily need to be a rule that defines routines to be executed in a certain order at all times, and the routine to be executed subsequently changes based on parameters generated by the execution of one routine. Such rules may be used. In this case, a plurality of candidates are defined as routines to be executed subsequently, and a rule is set that determines which of the plurality of candidates should be selected and executed according to the parameter value. Just keep it. The rule R3 in FIG. 3 is an example of such a rule. In this example, three candidates of a program B, a program D, and a routine b8 in the program B are determined as a routine that follows the program E, and one of the candidates is determined based on the parameter X obtained by executing the program E. One candidate will be executed subsequently. Specifically, in the illustrated example, when the parameter X is positive, the program B is executed, when the parameter X is negative, the program D is executed, and when the parameter X is 0, the program B is executed. This routine b8 is executed.
[0039]
In FIG. 3, the continuous execution rules prepared in the present invention are shown as three examples. Of course, as the continuous execution rules, any rule can be freely defined. In addition, as shown in the upper column of FIG. 2, if a “continuous execution rule addition command” is prepared as one of the “OS program execution commands”, as described above, a new continuous command is created as necessary. Execution rules can be added and stored in the sixth area M6.
[0040]
In some cases, no substantial processing is performed by the application program that is the current application, and only processing by a completely different application program is executed. For example, when the program A is designated as the current application and the “continuous execution command for multiple applications” that is processed only by the routine in the program B is given, the program A does not perform any substantial processing. The substantial process is performed only by the program B without being involved. However, in this case as well, when viewed from the
[0041]
From a practical point of view, it is expected that the frequency of using “multiple application continuous execution commands” is lower than the frequency of using “single application execution commands”. From this point of view, every time any command is given from the
[0042]
The portable information processing apparatus according to the present invention has been described with respect to an example of an IC card. However, the present invention is not limited to an IC card and can be similarly applied to other portable information processing apparatuses.
[0043]
【The invention's effect】
As described above, according to the present invention, a new function can be easily added to a specific application in a portable information processing apparatus that stores a plurality of application programs.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a portable information processing apparatus according to a basic embodiment of the present invention.
FIG. 2 is a diagram showing examples of three types of commands that can be used in the portable information processing apparatus shown in FIG. 1;
FIG. 3 is a diagram showing an example of continuous execution rules stored in the portable information processing apparatus shown in FIG. 1;
[Explanation of symbols]
100: Portable information processing apparatus (IC card)
110: Storage means
120: Arithmetic processing means
130: Transmission / reception means
200: External device (reader / writer device)
AE ... Application program
M1 to M6: Areas in the storage means 110
R1 to R3 ... Continuous execution rules
X, Y, Z ... parameters
Claims (6)
OSプログラムが記録された第1の領域と、複数のアプリケーションプログラムが記録された第2の領域と、データを格納する第3の領域と、作業領域として用いられる第4の領域と、前記複数のアプリケーションプログラムの中から選択されたカレントアプリケーションを指定するカレントアプリケーション指定情報を格納する第5の領域と、前記複数のアプリケーションプログラムに跨がった複数のルーチンを所定の順序で実行すべきことを示す連続実行規則を格納する第6の領域と、を有する記憶手段と、
前記OSプログラムの管理下で前記アプリケーションプログラムを実行する演算処理手段と、
前記外部装置から与えられたコマンドを受信して前記演算処理手段に引き渡すとともに、前記演算処理手段から与えられたレスポンスを前記外部装置へ送信する処理を行う送受信手段と、
を備え、前記演算処理手段は、
カレントアプリケーションを指定するためのアプリケーション選択コマンドが与えられたとき、または、OSプログラムの指示により特定のカレントアプリケーションが指定されたときに、該カレントアプリケーションを示すカレントアプリケーション指定情報を前記第5の領域に格納する処理を行い、
単一アプリケーション用実行コマンドが与えられたときに、前記第5の領域に格納されているカレントアプリケーション指定情報によって、その時点においてカレントアプリケーションとして指定されているアプリケーションプログラムに基づいて、与えられたコマンドを実行する処理を行い、
複数アプリケーション用連続実行コマンドが与えられたときに、前記第6の領域に格納されている連続実行規則に基づいて、複数のルーチンを所定の順序で実行する処理を行う機能を有することを特徴とする携帯型情報処理装置。In a portable information processing apparatus configured to be carried as a single unit when being carried, and to return a predetermined response to a predetermined command given from an external device when accessed,
A first area in which an OS program is recorded; a second area in which a plurality of application programs are recorded; a third area in which data is stored; a fourth area used as a work area; A fifth area for storing current application designating information for designating a current application selected from the application programs and a plurality of routines across the plurality of application programs should be executed in a predetermined order Storage means having a sixth area for storing continuous execution rules;
Arithmetic processing means for executing the application program under the management of the OS program;
A transmission / reception means for receiving a command given from the external device and delivering the command to the arithmetic processing means, and performing a process of sending a response given from the arithmetic processing means to the external device;
The arithmetic processing means includes:
When an application selection command for designating the current application is given, or when a specific current application is designated by an instruction of the OS program, current application designation information indicating the current application is stored in the fifth area. Process to store,
When an execution command for a single application is given, the given command is determined based on the application program designated as the current application at that time by the current application designation information stored in the fifth area. Perform the process to be executed,
A function of performing a process of executing a plurality of routines in a predetermined order based on a continuous execution rule stored in the sixth area when a continuous execution command for a plurality of applications is given. A portable information processing device.
連続実行規則が、第1のルーチンの実行後に第2のルーチンを実行すべき旨の順序を示す規則に加えて、第1のルーチンの実行により生成されるパラメータを、第2のルーチンに引き渡す旨の規則を含んでいることを特徴とする携帯型情報処理装置。The portable information processing device according to claim 1,
In addition to the rule indicating the order that the second routine should be executed after the execution of the first routine, the continuous execution rule passes the parameter generated by the execution of the first routine to the second routine. A portable information processing apparatus including the following rules.
連続実行規則が、第2のルーチンとなるべき複数の候補を定め、第1のルーチンの実行により生成されるパラメータに基づいて、前記複数の候補の中の1つのルーチンを第2のルーチンとして選択しこれを実行すべき旨の規則を含んでいることを特徴とする携帯型情報処理装置。The portable information processing device according to claim 2,
The continuous execution rule defines a plurality of candidates to be the second routine, and selects one of the plurality of candidates as the second routine based on a parameter generated by the execution of the first routine And a portable information processing apparatus including a rule that this should be executed.
演算処理手段が、送受信手段から単一アプリケーション用実行コマンドまたは複数アプリケーション用連続実行コマンドが与えられたときに、両者を区別せずに、その時点においてカレントアプリケーションとして指定されているアプリケーションプログラムに基づいて、与えられたコマンドの実行を試みる処理を行い、エラーが生じた場合には、与えられたコマンドを複数アプリケーション用連続実行コマンドと認識して、連続実行規則に基づく処理を実行することを特徴とする携帯型情報処理装置。The portable information processing apparatus according to any one of claims 1 to 3,
When the arithmetic processing means is given a single application execution command or a multi-application continuous execution command from the transmission / reception means, based on the application program designated as the current application at that time, without distinguishing between the two The process of trying to execute the given command is performed, and when an error occurs, the given command is recognized as a continuous execution command for multiple applications, and the process based on the continuous execution rule is executed. A portable information processing device.
第6の領域に複数の連続実行規則が格納されており、演算処理手段は、与えられた複数アプリケーション用連続実行コマンドに対応した連続実行規則に基づいて、複数のルーチンを所定の順序で実行する処理を行うことを特徴とする携帯型情報処理装置。The portable information processing apparatus according to any one of claims 1 to 4,
A plurality of continuous execution rules are stored in the sixth area, and the arithmetic processing means executes a plurality of routines in a predetermined order based on the continuous execution rules corresponding to the given continuous execution commands for multiple applications. A portable information processing apparatus that performs processing.
演算処理手段が、新たな連続実行規則を含む連続実行規則追加コマンドが与えられたときに、第6の領域に前記新たな連続実行規則を格納する処理を行うことを特徴とする携帯型情報処理装置。The portable information processing device according to claim 5,
The portable information processing, wherein the arithmetic processing means performs a process of storing the new continuous execution rule in a sixth area when a continuous execution rule addition command including a new continuous execution rule is given. apparatus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001212023A JP4747450B2 (en) | 2001-07-12 | 2001-07-12 | Portable information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001212023A JP4747450B2 (en) | 2001-07-12 | 2001-07-12 | Portable information processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003030609A JP2003030609A (en) | 2003-01-31 |
JP4747450B2 true JP4747450B2 (en) | 2011-08-17 |
Family
ID=19047251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001212023A Expired - Fee Related JP4747450B2 (en) | 2001-07-12 | 2001-07-12 | Portable information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4747450B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10324996A1 (en) * | 2003-06-03 | 2005-02-17 | Giesecke & Devrient Gmbh | Chip card with at least one application |
JP2013069108A (en) * | 2011-09-22 | 2013-04-18 | Toshiba Corp | Ic card, portable electronic device and ic card control method |
EP2801049B1 (en) * | 2012-01-08 | 2018-11-14 | ImagiStar LLC | System and method for item self-assessment as being extant or displaced |
JP2014186367A (en) * | 2013-03-21 | 2014-10-02 | Toshiba Corp | Ic card and portable electronic device |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6442785A (en) * | 1987-08-10 | 1989-02-15 | Hitachi Maxell | Ic card and system for processing information |
JP3231467B2 (en) * | 1993-03-24 | 2001-11-19 | 大日本印刷株式会社 | Information recording medium with built-in CPU |
JP2001060156A (en) * | 1999-08-24 | 2001-03-06 | Nippon Telegr & Teleph Corp <Ntt> | Application linkage system and method, and recording medium recorded with program therefor |
JP3744286B2 (en) * | 1999-11-11 | 2006-02-08 | 日本電信電話株式会社 | IC card program execution control method and system, and storage medium storing execution control program |
-
2001
- 2001-07-12 JP JP2001212023A patent/JP4747450B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003030609A (en) | 2003-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2514954B2 (en) | IC card | |
JP2537199B2 (en) | IC card | |
CN101061466B (en) | Apparatus and method for processing data of flash memory | |
KR960005397B1 (en) | Portable electronic apparatus | |
JPH03240127A (en) | Program control system | |
KR970004106B1 (en) | Ic card | |
JP4393733B2 (en) | Portable information recording medium | |
JPS63204493A (en) | Portable electronic device | |
KR20140108666A (en) | Writing data in a non-volatile memory of a smart card | |
JP4747450B2 (en) | Portable information processing device | |
JP3923546B2 (en) | IC card | |
JP4747451B2 (en) | Data access method to portable information recording medium | |
JP3231467B2 (en) | Information recording medium with built-in CPU | |
JP2537200B2 (en) | Portable electronic devices | |
JPH01217689A (en) | Portable electronic equipment | |
JP2003016410A (en) | Ic card | |
JP7438432B1 (en) | Electronic information storage medium, IC chip, IC card, record writing method, and program | |
CN110337637A (en) | Data processing method and equipment | |
JP2005346338A (en) | Portable information storage medium, program therefor, and processing analysis method of portable information storage medium | |
JPH0855204A (en) | Ic card with cpu and accessible address limiting method of ic card with cpu | |
JPH06309531A (en) | Checking method for instruction format given to ic card | |
JPH03291786A (en) | Ic card | |
JPS63223995A (en) | Portable electronic equipment | |
JP4026796B2 (en) | IC card with command distribution function | |
JP4071377B2 (en) | IC card |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080514 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110411 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110419 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110502 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4747450 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140527 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |