(57)【要約】【課題】複数の処理を行う場合に処理の最適化及び効率化を図ることが可能な非接触ＩＣカード及びＩＣカードプログラムを提供する。【解決手段】非接触通信の相手である外部装置によって誘起される起電力の大きさを計測する起電力サンプリング回路１６と、起電力サンプリング回路１６の計測値の変化に基づいて、外部装置３０によって今後供給される起電力の大きさの経過時間に対する変化を予測し、予測結果及び実行予定の複数のタスクのそれぞれの実行に必要な起電力の大きさに基づいて各タスクの実行開始時期を決定し、実行するＣＰＵ２０とを備える非接触ＩＣカード１０。【選択図】図１
2005107809.tif 000002
【特許請求の範囲】
【請求項１】
非接触通信の相手である外部装置によって供給される電力の大きさを計測する電力計測手段と、
前記電力計測手段によって計測される電力の経過時間に対する変化に基づいて、前記外部装置によって今後供給される電力の大きさの経過時間に対する変化を予測する電力予測手段と、
複数の所定の処理について、各処理の実行に必要な電力を含む処理情報を記憶する処理情報記憶手段と、
前記電力予測手段によって予測される今後の電力の変化と、前記処理情報記憶手段によって記憶されている実行予定の複数の処理のそれぞれの実行に必要な電力の大きさとに基づいて各処理の実行開始時期を決定する実行開始時期決定手段と、
前記実行開始時期決定手段によって決定された実行開始時期に従って、処理を実行する処理実行手段と、
を備える非接触ＩＣカード。
【請求項２】
請求項１に記載の非接触ＩＣカードにおいて、
前記処理情報記憶手段は、前記複数の所定の処理について各処理の実行にかかる処理時間を含む処理情報を記憶し、
前記実行開始時期決定手段は、前記処理情報記憶手段によって記憶されている処理時間に基づいて処理の実行開始時期を決定すること、
を特徴とする非接触ＩＣカード。
【請求項３】
請求項１又は請求項２に記載の非接触ＩＣカードにおいて、
前記電力計測手段は、前記外部装置によって供給される電力の大きさを異なる複数の時点で計測し、
前記電力計測手段による計測結果を記憶する計測結果記憶手段と、
前記計測結果記憶手段によって記憶されている計測結果に基づいて、経過時間に対する電力の大きさの変化を算出する変化量算出手段とを備え、
前記電力予測手段は、前記変化量算出手段によって算出される経過時間に対する電力の大きさの変化に基づいて、今後供給される電力の大きさの経過時間に対する変化を予測すること、
を特徴とする非接触ＩＣカード。
【請求項４】
請求項１から請求項３までのいずれか１項に記載の非接触ＩＣカードにおいて、
前記電力計測手段は、前記外部装置から供給されるクロック又は内部で発振しているクロックに同期した一定の間隔で前記電力の大きさをサンプリングし、多段階で数値化すること、
を特徴とする非接触ＩＣカード。
【請求項５】
請求項１から請求項４までのいずれか１項に記載の非接触ＩＣカードにおいて、
前記実行開始時期決定手段は、前記実行予定の複数の処理のうちのより大きな電力を必要とする処理の実行開始時期を優先して決定すること、
を特徴とする非接触ＩＣカード。
【請求項６】
請求項１から請求項５までのいずれか１項に記載の非接触ＩＣカードにおいて、
予想基準情報を記憶する予想基準情報記憶手段を備え、
前記電力予測手段は、前記予測基準情報記憶手段によって記憶されている予測基準情報に基づいて、前記外部装置によって今後供給される電力の大きさの経過時間に対する変化を予測すること、
を特徴とする非接触ＩＣカード。
【請求項７】
非接触通信の相手である外部装置によって供給される電力の量を計測する電力計測手段を備える非接触ＩＣカードのＣＰＵに実行させるＩＣカードプログラムであって、
前記電力計測手段による異なる複数の時点における計測結果に基づいて、経過時間に対する電力の大きさの変化を算出する電力変化算出手順と、
前記電力変化算出手順において算出した電力の変化に基づいて、前記外部装置によって今後供給される電力の大きさの経過時間に対する変化を予測する電力予測手順と、
前記電力予測手順によって予測した今後の電力の変化と、実行予定の複数の処理のそれぞれの実行に必要な電力の大きさとに基づいて各処理の実行開始時期を決定する実行開始時期決定手順と、
前記実行開始時期決定手順によって決定された実行開始時期に従って処理を実行する処理実行手順とを備えること、
を特徴とするＩＣカードプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リーダライタなどの外部装置と非接触通信を行う非接触ＩＣカード及びこの非接触ＩＣカードのＣＰＵに実行させるＩＣカードプログラムに関するものである。
【背景技術】
【０００２】
非接触ＩＣ力一ドは、ＩＣチップとアンテナコイルとを備え、外部装置から送られる電磁波をアンテナコイルで受け、起電力を誘起することによって、処理を実行するための電力を得ている（例えば、特許文献１参照。）。
この起電力の大きさは、外部装置から発せられる電磁波が一定の強さの場合には、ＩＣカードと外部装置との距離に応じて変化する。ＩＣカードは、コプロセッサによる演算に代表される通常の処理に比べて大きな電カを必要とする処理を行う場合には、この処理を実行する直前に供給されている電カを評価し、実行可能な電カが供給されているかどうかを確認し、その瞬間の供給電カによって処理の可否を判定している。
このようにＩＣカードは、処理の可否を瞬時値で判断するため、外部装置へ近づいていて、これから十分な供給電カが得られて処理可能となる場合に、処理できないと判定する、逆に、外部装置から離れつつあって十分な供給電力が得られなくなる場合に、現時点の電力が十分なために処理可能と判定するおそれがあった。
【特許文献１】特願２００３−２２３６１８（［０００３］〜［０００５］、図５）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
そこで、本出願人は、これらの課題を解決する非接触ＩＣカードを提案している（特願２００２−１１５６５１参照。）。
この非接触ＩＣカードは、起電力の時間的な変化をＩＣチップ内部に記録することでＩＣ力一ドの移動速度を算出し、次の瞬間の外部装置及びＩＣカードの距離と、供給電力量とを予測することでＩＣカード内部での処理を最適化する。
しかし、この非接触ＩＣカードは、電力予想に基づいて、予定している一の処理が実行できるか否かを判定しているため、例えば、複数の処理を順に行う場合には、２番目の処理にとって十分な電力が供給されているにもかかわらず、１番目の処理を実行可能なより大きな電力が供給されるのを待たなければならず、処理の非効率化、遅延を招くおそれがあった。
また、ＩＣカードのＯＳが高度化し、複数の命令を受け付け、各命令に応じた複数の処理を時分割で並列的に実行するマルチタスクが可能となっている。従って、本来実行しようとしている処理とは別の処理が並列的に実行され、各処理を実行するタイミングの予想が困難となるおそれがあった。
【０００４】
本発明の課題は、複数の処理を行う場合に処理の最適化及び効率化を図ることが可能な非接触ＩＣカード及びＩＣカードプログラムを提供することである。
【課題を解決するための手段】
【０００５】
本発明は、以下のような解決手段により、前記課題を解決する。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。すなわち、請求項１の発明は、非接触通信の相手である外部装置（３０）によって供給される電力の大きさを計測する電力計測手段（１６）と、前記電力計測手段によって計測される電力の経過時間に対する変化に基づいて、前記外部装置によって今後供給される電力の大きさの経過時間に対する変化を予測する電力予測手段（２０，Ｓ１３０）と、複数の所定の処理について、各処理の実行に必要な電力を含む処理情報を記憶する処理情報記憶手段（１９）と、前記電力予測手段によって予測される今後の電力の変化と、前記処理情報記憶手段によって記憶されている実行予定の複数の処理のそれぞれの実行に必要な電力の大きさとに基づいて各処理の実行開始時期を決定する実行開始時期決定手段（２０，Ｓ１５０，Ｓ１８０）と、前記実行開始時期決定手段によって決定された実行開始時期に従って、処理を実行する処理実行手段（２０，Ｓ１６０）と、を備える非接触ＩＣカード（１０）である。
【０００６】
請求項２の発明は、請求項１に記載の非接触ＩＣカードにおいて、前記処理情報記憶手段は、前記複数の所定の処理について各処理の実行にかかる処理時間を含む処理情報を記憶し、前記実行開始時期決定手段は、前記処理情報記憶手段によって記憶されている処理時間に基づいて処理の実行開始時期を決定すること、を特徴とする非接触ＩＣカード（１０）である。
【０００７】
請求項３の発明は、請求項１又は請求項２に記載の非接触ＩＣカードにおいて、前記電力計測手段は、前記外部装置によって供給される電力の大きさを異なる複数の時点で計測し、前記電力計測手段による計測結果を記憶する計測結果記憶手段（１７）と、前記計測結果記憶手段によって記憶されている計測結果に基づいて、経過時間に対する電力の大きさの変化を算出する変化量算出手段（２０，Ｓ１２０）とを備え、前記電力予測手段は、前記変化量算出手段によって算出される経過時間に対する電力の大きさの変化に基づいて、今後供給される電力の大きさの経過時間に対する変化を予測すること、を特徴とする非接触ＩＣカード（１０）である。
【０００８】
請求項４の発明は、請求項１から請求項３までのいずれか１項に記載の非接触ＩＣカードにおいて、前記電力計測手段は、前記外部装置から供給されるクロック又は内部で発振しているクロックに同期した一定の間隔で前記電力の大きさをサンプリングし、多段階で数値化すること、を特徴とする非接触ＩＣカード（１０）である。
【０００９】
請求項５の発明は、請求項１から請求項４までのいずれか１項に記載の非接触ＩＣカードにおいて、前記実行開始時期決定手段は、前記実行予定の複数の処理のうちのより大きな電力を必要とする処理の実行開始時期を優先して決定すること、を特徴とする非接触ＩＣカード（１０）である。
【００１０】
請求項６の発明は、請求項１から請求項５までのいずれか１項に記載の非接触ＩＣカードにおいて、予想基準情報を記憶する予想基準情報記憶手段（１９）を備え、前記電力予測手段は、前記予測基準情報記憶手段によって記憶されている予測基準情報に基づいて、前記外部装置によって今後供給される電力の大きさの経過時間に対する変化を予測すること、を特徴とする非接触ＩＣカード（１０）である。
【００１１】
請求項７の発明は、非接触通信の相手である外部装置（３０）によって供給される電力の量を計測する電力計測手段（１６）を備える非接触ＩＣカードのＣＰＵに実行させるＩＣカードプログラムであって、前記電力計測手段による異なる複数の時点における計測結果に基づいて、経過時間に対する電力の大きさの変化を算出する電力変化算出手順（Ｓ１２０）と、前記電力変化算出手順において算出した電力の変化に基づいて、前記外部装置によって今後供給される電力の大きさの経過時間に対する変化を予測する電力予測手順（Ｓ１３０）と、前記電力予測手順によって予測した今後の電力の変化と、実行予定の複数の処理のそれぞれの実行に必要な電力の大きさとに基づいて各処理の実行開始時期を決定する実行開始時期決定手順（Ｓ１５０，Ｓ１８０）と、前記実行開始時期決定手順によって決定された実行開始時期に従って処理を実行する処理実行手順（Ｓ１６０）とを備えること、を特徴とするＩＣカードプログラムである。
【発明の効果】
【００１２】
本発明による非接触ＩＣカード及びＩＣカードプログラムによれば、以下の効果を得ることが可能となった。
（１）計測した電力の大きさの経過時間に対する変化に基づいて予測した今後の電力の変化と、実行予定の処理の必要起電力とに基づいて、各処理の実行順などの実行開始時期を決定することによって、供給される電力の大きさに適した処理の実行を可能とし、処理の最適化及び効率化を図る。
（２）処理時間に基づいて各処理の実行開始時期を決定することによって、より一層処理の最適化及び効率化を図る。
（３）特に、最も大きな電力を必要とする処理の実行開始時期を優先して決定することによって、電力不足による処理の実行不能の事態の発生を防止する。
（４）例えば、経過時間（速度一定の場合の非接触ＩＣカード及び外部装置間の距離）及び起電力の大きさの関係を示す関数などの予測基準情報に基づいて予測を行い、より一層処理の最適化及び効率化を図る。
【発明を実施するための最良の形態】
【００１３】
本発明は、非接触ＩＣカードにおいて複数の処理を行う場合に処理の最適化及び効率化を図るという目的を、非接触通信の相手である外部装置によって誘起される起電力の大きさを計測する起電力サンプリング回路と、起電力サンプリング回路の計測値の変化に基づいて、外部装置によって今後供給される起電力の大きさの経過時間に対する変化を予測し、予測結果及び実行予定の複数の処理のそれぞれの実行に必要な起電力の大きさに基づいて各処理の実行開始時期を決定し、実行するＣＰＵとを非接触ＩＣカードに設けることによって実現する。
【実施例】
【００１４】
図１は、本発明による非接触ＩＣカードの構成を示すブロック図である。
図１に示すように、非接触ＩＣカード１０は、カード基材内にＩＣチップ１１と、ＩＣチップ１１に接続されたアンテナコイル１２などを備え、リーダライタなどの外部装置３０（後述する図２参照）と非接触通信を行うＩＣカードである。
アンテナコイル１２は、ＩＣチップ１１の整流回路１３及び復／変調回路１５などに接続されている巻線コイルと、巻線コイルの両端に接続されている同調用のコンデンサなどを有し、電磁誘導方式に基づいて電磁波及びアナログ信号間の変換を行い、ＩＣチップ１１が処理を実行するための電気エネルギーとなる起電力を誘起させるとともに、リーダライタなどの外部装置及びＩＣチップ１１間の非接触通信を媒介する。
ＩＣチップ１１は、整流回路１３、定電圧回路１４、復／変調回路１５、起電力サンプリング回路１６、揮発性メモリ１７、ＲＯＭ１８、不揮発性メモリ１９、ＣＰＵ２０、コプロセッサ２１などを備えている。ＩＣチップ１１は、アンテナコイル１２を通じて外部装置３０から送出される交流電磁波を受信し、電磁誘導によって電力、クロックの供給を受け、通信を行う。
【００１５】
整流回路１３は、アンテナコイル１２で誘起した交流の起電力を直流に整流し、定電圧回路１４、起電力サンプリング回路１６へ出力し、定電圧回路１４は、この直流電圧をＩＣチップ１１が必要とする一定の電圧に調整し、揮発性メモリ１７、ＲＯＭ１８、不揮発性メモリ１９、ＣＰＵ２０、コプロセッサ２１に供給する。
復／変調回路１５は、バス２２を通してＣＰＵ２０に接続されており、アンテナコイル１２を介して受信したデータを復調してバス２２ヘ出力し、ＣＰＵ２０からバス２２を介して転送された送信データを変調してアンテナコイル１２ヘ出力する。
起電力サンプリング回路１６は、アンテナコイル１２で誘起される起電力の大きさを異なる複数の時点で計測する。具体的には、起電力サンプリング回路１６は、アンテナコイル１２で検出したクロックに同期して、定電圧化される前の起電力の大きさ（外部装置３０から供給される電力の大きさ）を一定の間隔でサンプリングし、多段階で数値化し、起電力段階データとしてバス２２を介してＣＰＵ２０へ出力する。なお、非接触ＩＣカード１０がクロック発振回路を備えている場合には、起電力サンプリング回路１６は、このクロック発振回路で発振しているクロックに同期して起電力の大きさをサンプリングしてもよい。
【００１６】
揮発性メモリ１７は、ＲＡＭなどの電力供給が断たれると記憶している内容が消失する揮発性の記憶媒体、ＲＯＭ１８は、マルチタスク機能を有するオペレーティングシステムなどのＣＰＵ２０が実行するプログラムを格納し、電源供給を断っても記憶している内容が消失しない不揮発性の読み出し専用メモリ、不揮発性メモリ１９はＥＥＰＲＯＭ，ＦＲＡＭなどの随時書き換え可能な不揮発性メモリである。
ＣＰＵ２０は、揮発性メモリ１７、ＲＯＭ１８、不揮発性メモリ１９に記憶されている実行可能プログラムを実行する中央演算装置であって、速度算出機能、判定機能、電力予測機能、実行開始時期決定機能などの各種機能を実現する。各機能の詳細については、図５などを参照しながら後述する。コプロセッサ２１は、ＣＰＵ２０を補完し、性能を強化するプロセッサであって、データの暗号化、復号などの計算量の多い処理を専用に行う演算手段である。
【００１７】
不揮発性メモリ１９は、処理情報を記憶している。処理情報とは、ＣＰＵ２０が実行可能な所定の処理について各処理の実行に必要な起電力の大きさ（以下、「必要起電力」という。）及び各処理にかかる処理時間などの各処理についての情報である。本実施例においては、コマンドに応じて行う一連の処理であるタスクを処理単位として、このタスクの必要起電力を起電力サンプリング回路１６から出力される起電力段階データに合わせて換算し、多段階で数値化した値を記憶している。従って、本実施例においては、以下のように各タスクが定義、記憶されている。
タスク１：４以上の必要起電力、処理時間＝Ｔ1 の処理
タスク２：３以上の必要起電力、処理時間＝Ｔ2 の処理
タスク３：３以上の必要起電力、処理時間＝Ｔ3 の処理
タスク１は、コプロセッサ２１での演算を行う暗号化、復号など、周辺回路を駆動するための大きな起電力が必要な処理である。なお、ＣＰＵ２０が行う他のタスクについても同様に定義されている。
【００１８】
図２は、外部装置３０による電磁波供給範囲を説明する図である。
図２に示すように、外部装置３０は非接触ＩＣカード１０とデータを送受信する機器であって、非接触ＩＣカード１０と同様にアンテナコイルを利用して電磁波を発生させている。図２の円弧は外部装置３０が発生させている電磁波の強さ（電界強度、磁界強度など）を表している。ここでは「０〜５」の６段階で電磁波の強さを区別し、「５」は外部装置３０に近く、最も大きな起電力が非接触ＩＣカード１０に誘起される領域、「０」は、外部装置３０から遠くて電磁波が弱く、非接触ＩＣカード１０を活性化する十分な起電力が得られない領域である。なお、電磁波の強さを「Ｏ〜５」の６段階に数値化する機能はＩＣチップ１１に搭載させておく。
【００１９】
図３は、非接触ＩＣカード１０内に記憶される起電力計測履歴を説明する図で、ここではラストインーファーストアウト方式のメモリとしてリングバッファを使用して起電力計測履歴を保持する例を示している。リングバッファとは、データを環状に記憶していくものであって、データは、最初のバッファから最後のバッファに書き込まれた後に、最初のバッファに上書きされる。つまり、順次、新しいデータが書き込まれるとともに古いデータが消去される。
図３に示すように、起電力サンプリング回路１２から出力された起電力段階データは、サンプリング間隔Δｔでリングバッファの末尾から順次書き込まれ、起電力計測履歴として記憶されている。従って、図３の末尾（右端）側ほど新しいデータである。例えば、起電力計測履歴は、経過時間（サンプリング間隔）毎に、初期状態「００００００００」、Δｔ経過「０００００００１」、２Δｔ経過「００００００１２」、ｎΔｔ経過「１２３４５５５４」、（ｎ＋１）Δｔ経過「２３４５５５４３」となる。
【００２０】
このようなリングバッファ内の起電力計測履歴のデータ「・・・ｐi ，ｐi+1 ・・・」を電力供給量系列（ｐi ）と呼んだとき、これに基づいてＣＰＵ２０は、外部装置３０に対する非接触ＩＣカード１０自体の移動速度と方向を次のように認識する。すなわち、電磁波の強さは、外部装置３０に近いほど大きく、外部装置３０から遠いほど小さく、電磁波の強さを示す起電力計測履歴のデータは外部装置３０との距離に対応し、サンプリングの時間間隔が一定のとき、隣り含う起電力段階データの差は速度（起電力の大きさの時間経過に対する変化の割合）を与えることになる。従って、ｉΔｔ経過後の速度ｖi は、ｖi ＝ｐi+1 −ｐi として求めることができる。したがって、ｎΔｔ経過後の電力供給量系列が「１２３４５５５４」である場合には、Δｔ毎の各経過時間における速度は、「１，１，１，１，０，０，−１」で表される。なお、これらΔｔ毎に算出された速度「・・・ｖi ，ｖi+1・・・」を速度系列と呼ぶ。各経過時間における速度が正の値であるときには、非接触ＩＣカード１０が外部装置３０に近づいていることを示し、負の値であるときには、遠ざかっていることを示している。なお、この電力供給系列（ｐｉ）、速度系列（ｖｉ）の生成、算出を、非接触ＩＣカード１０のハードウェア、ソフトウェアのどちらで行ってもよい。
【００２１】
図４は、外部装置３０に対する非接触ＩＣカード１０の移動速度の違いを説明するための図であって、図２と同様に円弧と数字により外部装置３０が発生させている電磁波の強さを６段階で区別している。また、サンプリング間隔が一定（Δｔ）の場合の非接触ＩＣカード１０の移動軌跡における各サンプリング点を「△」、「□」で示し、「△」は非接触ＩＣカード１０が通常の速さで移動、「□」は「△」より速い速度で「△」と同じ軌跡を移動した場合を示している。
各サンプリング点において起電力サンプリング回路１６から出力される起電力段階データは、サンプリング点が「△」である場合には、「・・・１２３４５５５５３２１・・・」、「□」である場合には、「・・・１３５５３１・・・」となる。サンプリングして得た電力供給量系列（ｐi ）と、これから算出した速度系列（ｖi ）とから今後外部装置３０によってＩＣカード１０に誘起される起電力を予測することが可能であり、この予測結果に基づいて実行予定の各処理の実行開始時期を決定する例について図５を参照しながら説明する。
【００２２】
図５は、本発明による非接触ＩＣカードの動作及びＩＣカードプログラムを示すフローチャートであって、起電力を予測して実行予定の各処理の実行開始時期を決定する処理を示している。
ステップ１００（以下、「ステップ」を「Ｓ」という。）において、非接触ＩＣカード１０は、外部装置３０から、タスク１、タスク２、タスク３の実行を要求するコマンドを受信する。つまり、非接触ＩＣカード１０においてタスク１、タスク２及びタスク３が実行予定の処理である。
図５に示すように、Ｓ１１０において、非接触ＩＣカード１０は、一定の間隔（Δｔ）で起電力の大きさを計測し、電力供給量系列（ｐｉ）を得る。ＣＰＵ２０は、隣り合う起電力段階データの差から速度系列（ｖi ）を算出し（Ｓ１２０）、現在の起電力の大きさと速度系列から今後の起電力の変化を予測する（Ｓ１３０）。即ち、現在の速度が正であれば起電力は大きくなり、負であれば起電力は減少すること、また、速度が起電力の変化の大きさに対応することなどを考慮して今後の起電力を予測する。次に、非接触ＩＣカード１０は、この予測結果に基づいて各タスクの実行順などの実行開始時期を必要起電力が大きい順に優先して決定する。具体的には、先ず、速度が負又はゼロである場合には、ＣＰＵ２０は、Δｔ後の予測起電力が必要起電力の最大値「４」（タスク１）を上回るか否かを判定する（Ｓ１４０，Ｓ１７０）。上回ると判定した場合には、ＣＰＵ２０は、タスク１、タスク２、タスク３の順（タスク１、タスク３、タスク２の順でもよい。）、つまり、実行開始時期を必要起電力の大きいタスクからとし（Ｓ１８０）、実行する（Ｓ１６０）。予測起電力が下回る場合には、その旨のレスポンスを外部装置３０へ送信、Ｓ１１０へ戻って待機状態となるなど、タスク１、タスク２、タスク３を実行しない（Ｓ１９０）。
【００２３】
一方、速度が正である場合には、必要起電力の最も大きいタスク１のスケジューリングを行う。具体的には、予測起電力がタスク１の必要起電力「４」以上となる時点を予測し、タスク１の実行開始時期とする。タスク１の実行開始時期までの待ち時間がタスク２若しくはタスク３、又は、タスク２及びタスク３の処理時間よりも長く、かつ、各タスクの実行開始時期での予測起電力が必要起電力を上回っている場合には、条件を満たすタスクの実行順をタスク１よりも前とし、満たさない場合には、タスク１の後とし、各タスクの実行開始時期を決定する（Ｓ１５０）。非接触ＩＣカード１０は、この実行開始時期に従って各タスクを実行する（Ｓ１６０，１９０）。
【００２４】
図６は、実行開始時期の決定を説明する説明図である。図６（ａ）は、従来の非接触ＩＣカードのタスク実行スケジュール（各タスクの実行開始時期）、図６（ｂ）及び図６（ｃ）は、非接触ＩＣカード１０によって決定された、図４の各軌跡に対応するタスク実行スケジュールを示している。図４及び図６を用いてＣＰＵ２０による実行開始時期の決定をより具体的に説明する。なお、非接触ＩＣカード１０が図４の各軌跡の＃Ａ，＃Ｂの時点（以下、「時点Ａ」、「時点Ｂ」という。）に位置しているとして説明する。
非接触ＩＣカード１０が図４の「□」の軌跡で移動した場合には、時点Ａにおいて、起電力計測履歴のデータは、「・・・１３」、速度は、「２」となり、速度が速く、予測起電力がすぐにタスク１の必要起電力を上回ると予想できるため、ＣＰＵ２０は、図６（ｂ）に示すように、タスク１、タスク２、タスク３の順に実行するように実行開始時期を決定する。
【００２５】
また、非接触ＩＣカード１０が図４の「△」の軌跡で移動した場合には、時点Ｂにおいて、起電力計測履歴のデータは、「・・・１２」、速度は、「１」となり、速度が「□」に比べて遅く、予測起電力がタスク１の必要起電力を上回るまでに時間がある。この時間がタスク２及びタスク３の処理時間よりも長く、かつ、タスク２及びタスク３の実行開始時点での予測起電力が必要起電力を上回っているため、ＣＰＵ２０は、図６（ｃ）に示すように、タスク２、タスク３、タスク１の順に実行するように実行開始時期を決定する。
一方、図６（ａ）に示すように、時点Ａにおいて、最適化前のタスク２、タスク１、タスク３の順で実行する場合には、タスク２の後にタスク１を実行する時点で非接触ＩＣカード１０が外部装置３０から遠ざかり、起電力が十分に得られないおそれがある。また、時点Ｂにおいてこの順で実行する場合には、タスク２の後にタスク１の実行を開始する時点においても起電力が不十分であって、タスク１の実行を待ち、タスク１の実行後にタスク３を実行しなければならず、処理時間が長くなるおそれがある。
【００２６】
このように本実施例によれば、非接触ＩＣカード１０は、外部装置３０に対する移動速度、近づく／離れるという移動方向を認識することが可能となった。
計測した起電力の大きさの経過時間に対する変化に基づいて予測した今後の起電力の変化と、実行予定のタスクの必要起電力とに基づいて、各タスクの実行順などの実行開始時期を決定するため、誘起する起電力、つまり、外部装置３０から供給される電力の大きさに適したタスクを実行することができ、処理の最適化及び効率化を図ることが可能となった。
また、処理時間に基づいて実行開始時期を決定するため、より一層処理の最適化及び効率化を図ることが可能となった。
特に、最も大きな起電力を必要とするタスクの実行開始時期を優先して決定することによって、電力不足によるタスクの実行不能の事態の発生を防止することが可能となった。
【００２７】
（変形例）
以上説明した実施例に限定されることなく、種々の変形や変更が可能であって、それらも本発明の均等の範囲内である。例えば、非接触ＩＣカード１０は、電磁誘導方式での非接触通信を外部装置３０と行うが、静電結合方式の非接触通信を行ってもよく、非接触通信の通信方式は限定されない。外部装置３０から供給される電力の量が非接触ＩＣカード１０及び外部装置３０間の距離に応じて異なり、この量の変化を非接触ＩＣカード１０が検出することができればよい。
【００２８】
非接触ＩＣカード１０は、起電力の大きさを計測するが、計測対象はこれに限られず、外部装置３０から供給される電力（電気的エネルギー）の量を示すものであって、その供給量が非接触ＩＣカード１０及び外部装置３０間の距離に依存するものであればよい。同様に、非接触ＩＣカード１０は、今後の起電力の大きさを予測しているが予測対象は、これに限られない。また、非接触ＩＣカード１０は、速度を算出しているが、これに限られず、計測起電力の大きさの時間経過に対する変化の割合を示す値を算出できればよい。
【００２９】
非接触ＩＣカード１０は、コマンドに対応して行う一連の処理であるタスク毎に処理情報を記憶し、実行開始時期を決定しているが、処理毎に区切ることができれば、どのような内容の処理を一つの処理とするかは、任意であって、例えば、複数のタスクを一つの処理としてもよく、コマンドに対応して行う複数の処理（読み出しコマンドであれば、コマンド解析、ファイル検索、読み出しなど）の個々を一つの処理としてもよい。
【００３０】
非接触ＩＣカード１０は、起電力段階データ、必要起電力などを６段階に数値化しているが、段階数は、これに限られない。多ければ多いほど正確な予測、実行開始時期の決定を行うことができる一方、処理が複雑化するなどの欠点がある。これらを考慮して任意に設定することが可能である。
【００３１】
非接触ＩＣカード１０は、処理情報を不揮発性メモリ１９に記憶しているが、処理情報を書き換える必要がなければ、ＲＯＭ１８に記憶していてもよい。同様に書き換える必要のないデータについては、ＲＯＭ１８に記憶していてもよい。
【００３２】
非接触ＩＣカード１０は、予測基準情報を不揮発性メモリ１９（又はＲＯＭ１８）に記憶し、この予測基準情報に基づいて電力（起電力）の大きさの経過時間に対する変化を予測してもよい。
予測基準情報とは、この予測を行うために基準となる情報であって、例えば、経過時間（非接触ＩＣカード１０及び外部装置３０間の距離）及び起電力の大きさの関係を示す関数を予測基準情報として記憶していれば、非接触ＩＣカード１０は、異なる時点における起電力の大きさを計測し、この関数に基づいてより正確な予測起電力を算出することができ、より一層処理の最適化及び効率化が可能となる。また、以前の使用機会における起電力の計測値、速度などの履歴情報を予測基準情報として記憶していてもよい。
一方、速度（計測起電力の大きさの時間経過に対する変化の割合を示す値）の増減などを計算することによって起電力の最大値、その時点を予測してもよい。
【図面の簡単な説明】
【００３３】
【図１】ＩＣカードの構成を示すブロック図である。
【図２】外部装置３０による電磁波供給範囲を説明する図である。
【図３】非接触ＩＣカード１０内に記憶される起電力計測履歴を説明する図である。
【図４】外部装置３０に対する非接触ＩＣカード１０の移動速度の違いを説明するための図である。
【図５】非接触ＩＣカードの動作及びＩＣカードプログラムを示すフローチャートである。
【図６】実行開始時期の決定を説明する説明図である。
【符号の説明】
【００３４】
１０  非接触ＩＣカード
１１  ＩＣチップ
１２  アンテナ
１３  整流回路
１４  定電圧回路
１５  復／変調回路
１６  起電力サンプリング回路
１７  揮発性メモリ
１８  ＲＯＭ
１９  不揮発性メモリ
２０  ＣＰＵ
２１  コプロセッサ
２２  バス
【図１】
2005107809.tif 000003
【図２】
2005107809.tif 000004
【図３】
2005107809.tif 000005
【図４】
2005107809.tif 000006
【図５】
2005107809.tif 000007
【図６】
2005107809.tif 000008
【手続補正書】
【提出日】平成15年10月2日(2003.10.2)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
図３は、非接触ＩＣカード１０内に記憶される起電力計測履歴を説明する図で、ここではファーストインーファーストアウト方式のメモリとしてリングバッファを使用して起電力計測履歴を保持する例を示している。リングバッファとは、データを環状に記憶していくものであって、データは、最初のバッファから最後のバッファに書き込まれた後に、最初のバッファに上書きされる。つまり、順次、新しいデータが書き込まれるとともに古いデータが消去される。
図３に示すように、起電力サンプリング回路１２から出力された起電力段階データは、サンプリング間隔Δｔでリングバッファの末尾から順次書き込まれ、起電力計測履歴として記憶されている。従って、図３の末尾（右端）側ほど新しいデータである。例えば、起電力計測履歴は、経過時間（サンプリング間隔）毎に、初期状態「００００００００」、Δｔ経過「０００００００１」、２Δｔ経過「００００００１２」、ｎΔｔ経過「１２３４５５５４」、（ｎ＋１）Δｔ経過「２３４５５５４３」となる。