(57)【要約】      （修正有）【課題】活性化が行われにくい使用形態であっても自己診断を実行できるＩＣカード、携帯可能電子装置およびＩＣカードにおける自己診断方法を提供する。【解決手段】ＩＣカード１は、計数手段と、判断手段と、実行手段とを有する。計数手段は、特定のコマンドを受けた回数を計数する。判断手段は、計数手段により計数した特定のコマンドを受けた回数が上限値に達したか否かを判断する。実行手段は、判断手段により特定のコマンドを受けた回数が上限値に達したと判断した場合、自己診断を実行する。【選択図】図１
2013069062.tif 000002
【特許請求の範囲】
【請求項１】
外部からのコマンドを処理するＩＣカードにおいて、
特定のコマンドを受けた回数を計数する計数手段と、
前記計数手段により計数した特定のコマンドを受けた回数が上限値に達したか否かを判断する判断手段と、
前記判断手段により特定のコマンドを受けた回数が上限値に達したと判断した場合、自己診断を実行する実行手段と、
を有することを特徴とするＩＣカード。
【請求項２】
前記計数手段は、前記実行手段により自己診断が実行された場合に計数した回数を初期値に戻す、
ことを特徴とする前記請求項１に記載のＩＣカード。
【請求項３】
さらに、前記実行手段により実行した自己診断により不具合を検知した場合、前記特定のコマンドの処理を実行せずに不具合が発生していることを示す情報を応答する応答手段を有する、
ことを特徴とする前記請求項１又は２に記載のＩＣカード。
【請求項４】
前記実行手段は、当該ＩＣカードの起動時に実行する自己診断処理の一部を自己診断として実行する、
ことを特徴とする前記請求項１乃至３の何れか１項に記載のＩＣカード。
【請求項５】
さらに、第１の上限値と前記第１上限値よりも大きい第２の上限値とを記憶する記憶手段を有し、
前記判断手段は、前記計数手段により計数した特定のコマンドを受けた回数が前記第１の上限値であるか否かを判断する第１の判断機能と、前記計数手段により計数した特定のコマンドを受けた回数が前記第２の上限値であるか否かを判断する第２の判断機能とを有し、
前記実行手段は、前記第１の判断機能により特定のコマンドを受けた回数が第１上限値であると判断した場合、第１の自己診断を実行し、前記第２の判断機能により特定のコマンドを受けた回数が第１上限値であると判断した場合、第２の自己診断を実行する、
ことを特徴とする前記請求項１乃至４の何れか１項に記載のＩＣカード。
【請求項６】
前記計数手段は、第１の特定コマンドを受けた回数を計数する第１カウンタと、第２の特定カウントを受けた回数を計数する第２カウンタとを有し、
前記判断手段は、前記第１の特定コマンドを受けた場合には、前記第１カウンタの値が第１上限値以上であるか否かを判断し、前記第２の特定コマンドを受けた場合には、前記第２カウンタの値が第２上限値であるか否かを判断し、
前記実行手段は、前記第１カウンタの値が第１上限値以上であると判断した場合には第１の自己診断を実行し、前記第２カウンタの値が第２上限値以上であると判断した場合には第２の自己診断を実行する、
ことを特徴とする前記請求項１乃至４の何れか１項に記載のＩＣカード。
【請求項７】
外部からのコマンドを処理するＩＣカードにおいて、
特定のコマンドを受けた回数を計数する計数手段と、前記計数手段により計数した特定のコマンドを受けた回数が上限値に達したか否かを判断する判断手段と、前記判断手段により特定のコマンドを受けた回数が上限値に達したと判断した場合、自己診断を実行する実行手段とを有するモジュールと
前記モジュールを有する本体と、
を有することを特徴とするＩＣカード。
【請求項８】
外部からのコマンドを処理する携帯可能電子装置において、
特定のコマンドを受けた回数を計数する計数手段と、
前記計数手段により計数した特定のコマンドを受けた回数が上限値に達したか否かを判断する判断手段と、
前記判断手段により特定のコマンドを受けた回数が上限値に達したと判断した場合、自己診断を実行する実行手段と、
を有することを特徴とする携帯可能電子装置。
【請求項９】
外部からのコマンドを処理するＩＣカードにおける自己診断方法であって、
特定のコマンドを受けた回数を計数し、
前記計数した特定のコマンドを受けた回数が上限値に達したか否かを判断し、
前記判断により特定のコマンドを受けた回数が上限値に達したと判断した場合、自己診断を実行する、
ことを特徴とするＩＣカードにおける自己診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＣカード、携帯可能電子装置及びＩＣカードにおける自己診断方法に関する。
【背景技術】
【０００２】
ＩＣカードは、活性化時に自己診断処理を実施するように実装されている場合が多い。従来のＩＣカードは、活性化する毎に自己診断を実行し、アプリケーションが動作する前に故障を検知する。しかしながら、長期間電源のオフされないような運用形態では、ＩＣカードは、自己診断が行わない可能性がある。たとえば、携帯電話機に接続されるＩＣカードは、携帯電話機自体が長期間にわたって電源の遮断及び投入を実施されない場合、長期間自己診断が行われない。長期間自己診断が実施されないＩＣカードでは、アプリケーション処理を実行中に故障が発生してしまう可能性がある。アプリケーション処理の実行途中で故障が発生すると、中途まで処理したアプリケーション状態を元に戻す必要があり、復旧が困難な状況となることがある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ＩＳＯ／ＩＥＣ７８１６−３
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この発明は、活性化が行われにくい使用形態であっても自己診断を実行できるＩＣカード、携帯可能電子装置およびＩＣカードにおける自己診断方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
実施形態によれば、ＩＣカードは、実施形態によれば、ＩＣカードは、計数手段と、判断手段と、実行手段とを有する。計数手段は、特定のコマンドを受けた回数を計数する。判断手段は、計数手段により計数した特定のコマンドを受けた回数が上限値に達したか否かを判断する。実行段は、判断手段により特定のコマンドを受けた回数が上限値に達したと判断した場合、自己診断を実行する。
【図面の簡単な説明】
【０００６】
【図１】図１は、実施形態に係るＩＣカードの構成例を概略的に示す図である。
【図２】図２は、実施形態に係るＩＣカードが装着される端末装置としての携帯電話機の構成例を概略的に示す図である。
【図３】図３は、ＩＣカードの第１の動作例を説明するためのフローチャートである。
【図４】図４は、ＩＣカードの第２の動作例を説明するためのフローチャートである。
【図５】図５は、ＩＣカードの第３の動作例を説明するためのフローチャートである。
【発明を実施するための形態】
【０００７】
以下、実施形態について、図面を参照して説明する。  
図１は、実施の形態に係る携帯可能電子装置としてのＩＣカード１のハードウエア構成を概略的に示すブロック図である。  
図１に示すように、ＩＣカード１は、端末装置２と通信を行うことによりＩＣカードシステムを構成している。このＩＣカードシステムは、ＩＣカード１と端末装置２とが双方向にデータの送受信を行う通信システムである。端末装置２は、たとえば、携帯電話機が想定され、ＩＣカード１は、端末装置２としての携帯電話機に装着される運用形態が想定される。
【０００８】
このようなシステムでは、端末装置２としての携帯電話機にＩＣカード１が装着された状態でＩＣカード１と携帯電話機とがデータ通信を行う。このような運用形態では、ＩＣカード１が携帯電話機２に常に装着された状態であることが想定され、携帯電話機の電源がオフされなけば、ＩＣカード１自体も電気的にはオフされない。このため、携帯電話機の電源が長期に亘ってオフされなければ、ＩＣカード１も長期に亘って起動処理が実施されない可能性がある。
【０００９】
ＩＣカード１は、端末装置２からの電源供給により動作する。たとえば、上記ＩＣカード１は、上記端末装置２と物理的、電気的に接触して通信を行う接触式の携帯可能電子装置（接触式ＩＣカード）である。ただし、上記ＩＣカード１は、アンテナあるいは無線通信部等により上記端末装置２と非接触の状態で無線通信を行う非接触式の携帯可能電子装置（非接触式ＩＣカード）であっても良い。さらには、上記ＩＣカード１は、非接触式ＩＣカードとしての通信機能と接触式ＩＣカードとしての通信機能とを有する複合型のＩＣカード（デュアルインターフェースＩＣカード）であっても良い。
【００１０】
図１に示すように、上記ＩＣカード１は、制御部（ＣＰＵ）１１、プログラムメモリ（ＲＯＭ）１２、ワーキングメモリ（ＲＡＭ）１３、データメモリ（不揮発性メモリ）１４、通信制御部１５、電源部１６、および、インターフェース１７などを有する。  
上記ＩＣカード１は、カード状の本体Ｃにより構成される。上記ＩＣカード１を形成するカード状の本体Ｃには、１つ（あるいは複数）のＩＣチップ１ａとインターフェース１７とが埋設される。上記ＩＣチップ１ａは、制御部１１、プログラムメモリ１２、ワーキングメモリ１３、データメモリ１４、通信制御部１５および電源部１６などを有している。上記ＩＣチップ１ａは、上記インターフェース１７に接続された状態でモジュール化され、当該ＩＣカード１を形成するカード状の本体Ｃ内に埋設される。
【００１１】
上記制御部１１は、ＩＣカード１全体の制御を司る。上記制御部１１は、ＣＰＵなどのプロセッサを有する。上記制御部１１は、上記プログラムメモリ１２あるいはデータメモリ１４に記憶されている制御プログラムおよび制御データなどに基づいて動作する。たとえば、上記制御部１１は、上記プログラムメモリ１２に記憶されている動作を司る制御プログラムを実行することにより、端末装置２から与えられるコマンドに応じた処理を実行する。
【００１２】
上記プログラムメモリ１２は、読み出し専用のメモリ（ＲＯＭ：リードオンリーメモリ）により構成される。上記プログラムメモリ１２は、当該ＩＣカード１の仕様に応じた動作を司る制御プログラムおよび制御データなどを記憶する。
【００１３】
上記ワーキングメモリ１３は、揮発性のメモリ（ＲＡＭ；ランダムアクセスメモリ）により構成される。上記ワーキングメモリ１３は、データを一時保管するバッファメモリとして機能する。例えば、上記ワーキングメモリ１３には、端末装置２との通信処理において、送受信されるデータを一時的に保管する通信バッファとして利用可能である。また、上記ワーキングメモリ１３は、種々の書込みデータなどを一時的に保持するメモリとしても利用される。
【００１４】
上記データメモリ（不揮発性メモリ）１４は、データの書き込みが可能な不揮発性のメモリである。上記データメモリ１４は、例えば、ＥＥＰＲＯＭあるいはフラッシュメモリなどにより構成される。上記データメモリ１４には、当該ＩＣカード１の使用目的に応じた種々の情報（アプリケーションプログラムおよび運用データなど）が書込まれる。当該ＩＣカード１が複数の使用目的に使用される場合、上記データメモリ１４には、各使用目的に応じた複数のアプリケーションが記憶される。
【００１５】
また、上記データメモリ１４は、特定のコマンドを受信した回数（特定の処理を実施した回数）をカウントするカウンタ１４ａ、１４ｂを有する。また、カウンタ１４ａ、１４ｂは、特定の複数のコマンドについてそれぞれの受信した回数をカウントするものであっても良い。たとえば、後述する動作例では、カウンタ１４ａは、ＥＴＳＩ  ＴＳ  １００．９７７で規定されるＳＴＡＴＵＳコマンドの受信回数をカウントするものを想定する。上記ＳＴＡＴＵＳコマンドは、通常の処理工程においては、定期的に実施される可能性が高いコマンドである。このため、カウンタ１４ａでカウントするＳＴＡＴＵＳコマンドの受信回数は、処理時間あるいは一連の処理によるＩＣカードの稼働状況を示す値となりうる。
【００１６】
なお、カウンタ１４ａ、１４ｂは、活性化後の一連の処理における特定コマンド（例えば、ＳＴＡＴＵＳコマンド）の受信回数を計数するものであるから、揮発性のメモリ（ＲＡＭ）であるワーキングメモリ１３に設けても良い。
【００１７】
上記通信制御部１５は、上記インターフェース１７を介して端末装置２とのデータ通信を制御するものである。当該ＩＣカード１が接触式ＩＣカードである場合、通信制御部１５は、端末装置２と物理的・電気的に接触するコンタクト部としてのインターフェース１７を介してデータを送受信する。なお、非接触型のＩＣカードであれば、上記通信制御部１５は、インターフェース１７としてのアンテナにより送受信するデータを変調あるいは復調する。
【００１８】
上記電源部１６は、当該ＩＣカード１の各部を動作させるための電力およびクロックパルスを供給する。たとえば、当該ＩＣカード１が接触型のＩＣカードである場合、上記電源部１６は、インターフェース１７を介して外部装置から直接的に供給される電力およびクロックパルスを各部へ供給する。なお、当該ＩＣカードが非接触型のＩＣカードである場合、上記電源部１６は、上記インターフェース１７としてのアンテナにより受信した電波から電力およびクロックパルスを生成し、当該ＩＣカード内の各部に供給する。
【００１９】
次に、端末装置２の構成について説明する。  
上記端末装置２は、ＩＣカード１を動作させるための電源を供給するとともに、当該ＩＣカード１とのデータ通信を行う。ここでは、端末装置２が携帯電話機である場合を想定する。端末装置２としての携帯電話機は、各ユーザが所持するＩＣカード１を装着した状態で携帯電話機としての通信が利用可能となる運用形態が想定される。また、ＩＣカード１は、端末装置２としての携帯電話機に設けられたＩＣカード用のソケットに装着される。携帯電話機のＩＣカード用のソケットに装着された状態で、携帯電話機のインターフェースとしてのコンタクト部とＩＣカード１のインターフェースとが接触してデータ通信が可能となる。また、上記携帯電話機２は、ＩＣカード１に物理的に接触しているコンタクト部を介して当該ＩＣカード１に動作用の電力およびクロックパルスを供給する。
【００２０】
図２は、端末装置２の一例としての携帯電話機の構成例を示すブロック図である。  
図２に示す構成例では、携帯電話機２は、制御部３１、ＲＡＭ３２、ＲＯＭ３３、不揮発性メモリ３４、ＩＣカード用のインターフェース（内部インターフェース）３５、アンテナ３７、通信部３８、音声部３９、振動部４０、表示部４１、操作部４２および電源部４３などを有する。
【００２１】
上記制御部３１は、携帯電話機２全体の制御を司るものである。上記制御部３１は、ＣＰＵ、内部メモリ、各種のインターフェースなどを有する。また、上記制御部３１は、その基本機能として、上記表示部４１の表示を制御する表示制御機能、ＰＬＬ（Phase Locked Loop）回路、データストリーム経路切換え、ＤＭＡ（Direct Memory Access）コントローラ、割り込みコントローラ、タイマ、ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）、秘匿、ＨＤＬＣ（High-level Data Link Control procedure）フレーミング、ディバイスコントローラなどの機能を有している。
【００２２】
上記ＲＡＭ３２は、作業用のデータを記憶するための揮発性メモリである。上記ＲＯＭ３３は、制御プログラムや制御データなどが記憶されている不揮発性メモリである。たとえば、上記ＲＯＭ３３には、当該携帯電話機２の基本的な制御を行うための制御プログラムおよび制御データが予め記憶されている。上記制御部３１は、上記ＲＡＭ３２を用いて上記ＲＯＭ３３に記憶されている制御プログラムを実行することにより、当該携帯電話機２の基本的な制御を実現している。
【００２３】
上記不揮発性メモリ３４は、種々のデータが記憶される書き換え可能な不揮発性メモリである。上記不揮発性メモリ３４には、種々のアプリケーションプログラム（アプリケーション）、制御データ、および、ユーザデータなどが記憶される。上記制御部３１は、上記不揮発性メモリ３４に記憶されているアプリケーションプログラムを実行することにより、種々の機能を実現する。
【００２４】
上記内部インターフェース３５は、ＩＣカード１が装着されるインターフェースである。上記内部インターフェース３５は、上記制御部３１に接続されている。これにより、上記制御部３１は、上記内部インターフェース３５を介して上記ＩＣカード１とのデータ通信が可能となっている。
【００２５】
上記通信部３８は、通信用のアンテナ３７を介して通話データあるいはデータ通信用のデータを電波で送受信する。上記音声部３９は、アナログフロントエンド部及びオーディオ部を有し、音声の入出力を行う。上記振動部４０は、当該携帯電話機２全体を振動させる振動機構により構成される。上記表示部４１は、上記制御部３１により表示のオンオフや表示内容などが制御される。上記操作部４２は、キーボードなどにより構成され、ユーザによる操作指示が入力される。上記電源部４３は、バッテリーなどにより構成され、当該携帯電話機２内の各部に電源を供給するようになっている。また、上記電源部４３は、上記内部インターフェース３５を介して接続されたＩＣカード１にも電源を供給する機能も有している。
【００２６】
次に、ＩＣカード１におけるコマンド処理について説明する。  
本実施形態のＩＣカードシステムにおいて、ＩＣカード１は、端末装置２として携帯電話機に装着された状態で使用されるものであり、端末装置２側から電源電圧の供給を常時受けているものとする。すなわち、ＩＣカードは、端末装置２の電源がオフされなければ、ＩＣカードは、起動処理が実施されないような使用形態であることを想定する。
【００２７】
まず、端末装置２に装着された状態のＩＣカード１における第１の動作例を説明する。  
図３は、端末装置２に装着された状態のＩＣカード１における第１の動作例（第１のコマンド処理例）を説明するためのフローチャートである。  
端末装置２に装着された状態のＩＣカード１は、端末装置２から電源電圧が供給され、制御部１１を含む各部が動作可能な状態となっている。このような状態において、制御部１１は、端末装置２からのコマンド受信待ち状態となっている（ステップＳ１１）。端末装置２からのコマンドを受信した場合（ステップＳ１１、ＹＥＳ）、制御部１１は、受信したコマンドに含まれるコマンドを示す情報（コマンドコード）により当該コマンドを識別する（ステップＳ１２）。受信したコマンドを識別すると、制御部１１は、受信したコマンドが自己診断を実施する判断基準となる特定コマンドであるか否かを判定する（ステップＳ１３）。
【００２８】
自己診断を実施する判断基準となる特定コマンドは、定期的に実施される可能性が高いコマンドが設定される。たとえば、自己診断を実施する判断基準となる特定コマンドとしては、ＥＴＳＩ  ＴＳ  １００．９７７で規定されるＳＴＡＴＵＳコマンドがある。ＳＴＡＴＵＳコマンドは、ＩＣカードに状態を示す情報を要求するコマンドであり、一定の間隔で実行される可能性が高い。
【００２９】
また、ＩＣカード１の制御部１１は、コマンドを受信した場合、受信したコマンドを解釈し、そのコマンドが指示する内容に応じてコマンド処理モジュールへ処理を移行させる役割を果たすコマンドディスパッチャー機能を有する。たとえば、ＩＣカード１の制御部１１は、自己診断を実施する判断基準となる特定コマンドとしてのＳＴＡＴＵＳコマンドを受信した場合、コマンドディスパッチャー機能により受信したコマンドがＳＴＡＴＵＳコマンドであることを解釈し、自己診断を行うかどうかを判断する判断処理を実行する。
【００３０】
受信したコマンドが特定コマンドでないと判断した場合（ステップＳ１３、ＮＯ）、制御部１１は、受信したコマンドに対応するコマンド処理を実行する（ステップＳ２０）。このコマンド処理が終了すると、制御部１１は、上記ステップＳ１１へ戻って次のコマンドの受信待ちとなる。
【００３１】
また、受信したコマンドが特定コマンドであると判断した場合（ステップＳ１３、ＹＥＳ）、制御部１１は、特定コマンドに対応して設けた特定コマンド受信カウンタ１４ａのカウント値を更新する（ステップＳ１４）。特定コマンド受信カウンタ１４ａは、不揮発性メモリ１４に設けられ、特定コマンドを受信するごとにカウント値を更新する。たとえば、特定コマンド受信カウンタ１４ａは、特定コマンドを受信するごとにカウント値がインクリメントされる。
【００３２】
特定コマンド受信カウンタ１４ａのカウント値を更新すると、制御部１１は、特定コマンド受信カウンタ１４ａのカウント値が所定の上限値以上であるか否かを判断する（ステップＳ１５）。この上限値は、自己診断を実行するための閾値である。つまり、特定コマンドを上限値の回数受信するごとに、制御部１１は、自己診断を実行するものと判断するようになっている。また、上限値は、予め設定され、不揮発性メモリ１４などに記憶される。不揮発性メモリ１４に記憶する上限値は、設定が変更できるようにしても良い。
【００３３】
特定コマンド受信カウンタ１４ａのカウント値が所定の上限値未満であると判断した場合（ステップＳ１５、ＮＯ）、制御部１１は、当該特定コマンドに対応するコマンド処理を実行し（ステップＳ２０）、上記ステップＳ１１へ戻って、次のコマンドの受信待ち状態となる。
【００３４】
また、特定コマンド受信カウンタ１４ａのカウント値が所定の上限値以上であると判断した場合（ステップＳ１５、ＹＥＳ）、制御部１１は、特定コマンド受信カウンタ１４ａのカウント値をクリアする（ステップＳ１６）。特定コマンド受信カウンタ１４ａのカウント値をクリアすると、制御部１１は、実行すべき自己診断の内容を決定する（ステップＳ１７）。本動作例では、起動時ではなくて、ＩＣカード１が実際のコマンド処理中に自己診断を行う。このため、自己診断処理に多くの処理を要すると、ＩＣカード１と端末装置２との通信による一連の処理が全体としてスムーズに実施されてない可能性が発生する。このため、本動作例は、自己診断処理（起動時に実行する自己診断処理）の１部の処理を分散して実行するようにする。このため、上記ステップＳ１７では、カウンタ値が上限値に達するごとに、どのような内容の自己診断を行うかを決定する。
【００３５】
たとえば、起動時に実施する自己診断処理を複数の自己診断処理に分割し、それらの分割した自己診断処理を、カウンタ値が上限値に達するごとに、順番に実行するものとする。具体例としては、自己診断処理に、不揮発性メモリの正当性チェック、および、ＲＡＭの正当性チェックが含まれる場合、最初にカウンタ値が上限値に達した場合には津揮発性メモリの正当性チェックを行い、次にカウンタ値が上限値に達した場合にはＲＡＭの正当性チェックを行うというように、自己診断処理に含まれる複数の処理を順番に実行するようする。
【００３６】
実行すべき自己診断の内容を決定すると、制御部１１は、決定した内容の自己診断処理（通常の自己診断処理の一部の処理）を実行する（ステップＳ１８）。この自己診断処理により故障が検知された場合（ステップＳ１９、ＹＥＳ）、制御部１１は、ＩＣカード内に故障が発生している旨のレスポンス（エラー応答）を作成し、端末装置２へ通知する（ステップＳ２１）。エラー応答を行うと、制御部１１は、当該ＩＣカード１におけるコマンド処理を中止する。また、上記自己診断処理により故障が検知されなかった場合（ステップＳ１９、ＮＯ）、制御部１１は、当該コマンドに対応するコマンド処理を実行し（ステップＳ２０）、上記ステップＳ１１へ戻る。
【００３７】
以上の第１の動作例では、特定コマンドの受信回数が所定の上限値以上となった場合に、自己診断処理を実施する。これにより、再起動などが行われない運用形態で使用されるＩＣカードであっても、自己診断を実施できる。この結果として、ハードウエアの故障などを自ら早期に発見できるＩＣカードを提供できる。
【００３８】
また、特定コマンドの受信回数が所定の上限値以上となったことにより実行する自己診断処理は、活性化時に実施する自己診断処理の一部の処理とする。これにより、分散して自己診断処理を実行でき、コマンド処理中であるＩＣカードにおける動作能力の低下を抑えることできる。
【００３９】
次に、端末装置２に装着された状態のＩＣカード１における第２の動作例を説明する。  
図４は、端末装置２に装着された状態のＩＣカード１における第２の動作例（第２のコマンド処理例）を説明するためのフローチャートである。  
端末装置２からのコマンドを受信した場合（ステップＳ３１、ＹＥＳ）、制御部１１は、受信したコマンドに含まれるコマンドを示す情報（コマンドコード）により当該コマンドを識別する（ステップＳ３２）。受信したコマンドを識別すると、制御部１１は、受信したコマンドが自己診断を実施する判断基準となる特定コマンドであるか否かを判定する（ステップＳ３３）。自己診断を実施する判断基準となる特定コマンドは、第１の動作例と同様であり、たとえば、ＥＴＳＩ  ＴＳ  １００．９７７で規定されるＳＴＡＴＵＳコマンドである。
【００４０】
受信したコマンドが特定コマンドでないと判断した場合（ステップＳ３３、ＮＯ）、制御部１１は、受信したコマンドに対応するコマンド処理を実行する（ステップＳ４２）。このコマンド処理が終了すると、制御部１１は、上記ステップＳ３１へ戻って次のコマンドの受信待ちとなる。
【００４１】
また、受信したコマンドが特定コマンドであると判断した場合（ステップＳ３３、ＹＥＳ）、制御部１１は、特定コマンドに対応して設けた特定コマンド受信カウンタ１４ａのカウント値を更新する（ステップＳ３４）。たとえば、制御部１１は、特定コマンドを受信するごとに、不揮発性メモリ１４内に設けた特定コマンド受信カウンタ１４ａのカウンタ値をインクリメントする。
【００４２】
特定コマンド受信カウンタ１４ａのカウント値を更新すると、制御部１１は、特定コマンド受信カウンタ１４ａのカウント値が所定の第１上限値であるか否かを判断する（ステップＳ３５）。この第１上限値は、第１の自己診断を実行することを決定するための閾値である。つまり、特定コマンドを第１上限値の回数だけ受信すると、制御部１１は、第１の自己診断を実行するものとする。
【００４３】
特定コマンド受信カウンタ１４ａのカウント値が第１上限値であると判断した場合（ステップＳ３５、ＮＯ）、制御部１１は、第１の自己診断を実行する（ステップＳ３６）。なお、第１上限値および第１の自己診断の内容は、予め設定され、不揮発性メモリ１４などに記憶される。また、不揮発性メモリ１４に記憶する第１上限値および第１の自己診断の内容は、変更可能としても良い。
【００４４】
また、特定コマンド受信カウンタ１４ａのカウント値が第１上限値でないと判断した場合（ステップＳ２５、ＮＯ）、制御部１１は、さらに、特定コマンド受信カウンタ１４ａのカウント値が所定の第２上限値であるか否かを判断する（ステップＳ３７）。この第２上限値は、第１上限値よりも大きい値であり、第２の自己診断を実行することを決定するための閾値である。つまり、特定コマンドを第２上限値の回数だけ受信すると、制御部１１は、第２の自己診断を実行するものとする。
【００４５】
特定コマンド受信カウンタ１４ａのカウント値が第２上限値であると判断した場合（ステップＳ３７、ＮＯ）、制御部１１は、特定コマンド受信カウンタのカウント値をクリアし（ステップＳ３８）、第２の自己診断を実行する（ステップＳ３９）。なお、第２上限値および第２の自己診断の内容は、予め設定され、不揮発性メモリ１４などに記憶されるものとする。また、不揮発性メモリ１４に記憶する第２上限値および第２の自己診断の内容は、変更可能としても良い。
【００４６】
第１の自己診断あるいは第２の自己診断により故障が検知された場合（ステップＳ４０ＹＥＳ）、制御部１１は、当該ＩＣカード１内に故障が発生している旨のレスポンス（エラー応答）を作成し、端末装置２へ通知する（ステップＳ４１）。エラー応答を行うと、制御部１１は、当該ＩＣカード１におけるコマンド処理を中止する。また、第１の自己診断あるいは第２の自己診断において故障が検出されなかった場合（ステップＳ４２、ＮＯ）、制御部１１は、当該コマンドに対応するコマンド処理を実行し（ステップＳ４２）、上記ステップＳ３１へ戻る。
【００４７】
以上の第２の動作例によれば、ＩＣカードは、特定コマンドの受信回数に対する複数の上限値（設定値）と、各上限値に対応する自己診断の内容とを設定しておき、特定コマンドの受信回数が何れかの上限値となるごとに、当該上限値に対応づけて内容の自己診断を実施する。これにより、再起動などが行われない運用形態で使用されるＩＣカードであっても、自己診断を段階的に実施できる。この結果として、ハードウエアの故障などを自ら早期に発見できるＩＣカードを提供できる。
【００４８】
次に、端末装置２に装着された状態のＩＣカード１における第３の動作例を説明する。  
図５は、端末装置２に装着された状態のＩＣカード１における第３の動作例（第３のコマンド処理例）を説明するためのフローチャートである。  
端末装置２からのコマンドを受信した場合（ステップＳ５１、ＹＥＳ）、制御部１１は、受信したコマンドに含まれるコマンドを示す情報（コマンドコード）により当該コマンドを識別する（ステップＳ５２）。受信したコマンドを識別すると、制御部１１は、受信したコマンドが第１の自己診断を実施する判断基準となる第１の特定コマンドであるか否かを判定する（ステップＳ５３）。
【００４９】
受信したコマンドが第１の特定コマンドでないと判断した場合（ステップＳ５３、ＮＯ）、制御部１１は、さらに、受信したコマンドが第２の自己診断を実施する判断基準となる第２の特定コマンドであるか否かを判定する（ステップＳ５４）。第１の特定コマンドと第２の特定コマンドとは、それぞれ定期的な使用が想定されるコマンドであっても良いし、第１の特定コマンドは、コマンド処理の内容が第１の自己診断の内容に関連のあるものとし、第２の特定コマンドは、コマンド処理の内容が第２の自己診断の内容に関連のあるものとしても良い。
【００５０】
受信したコマンドが第１の特定コマンドでも第２の特定コマンドでもないと判断した場合（ステップＳ５４、ＮＯ）、制御部１１は、受信したコマンドに対応するコマンド処理を実行する（ステップＳ５５）。このコマンド処理が終了すると、制御部１１は、上記ステップＳ５１へ戻って次のコマンドの受信待ちとなる。
【００５１】
また、受信したコマンドが第１の特定コマンドであると判断した場合（ステップＳ５３、ＹＥＳ）、制御部１１は、第１の特定コマンドに対応して設けた第１特定コマンド受信カウンタ１４ａのカウント値を更新する（ステップＳ５６）。たとえば、制御部１１は、第１の特定コマンドを受信するごとに、不揮発性メモリ１４内に設けた第１特定コマンド受信カウンタ１４ａのカウンタ値をインクリメントする。
【００５２】
第１特定コマンド受信カウンタ１４ａのカウント値を更新すると、制御部１１は、第１特定コマンド受信カウンタ１４ａのカウント値が第１上限値以上であるか否かを判断する（ステップＳ５７）。この第１上限値は、第１の特定コマンドに対応する第１の自己診断を実行することを決定するための閾値である。つまり、第１の特定コマンドを第１上限値の回数だけ受信すると、制御部１１は、第１の自己診断を実行するものとする。
【００５３】
第１特定コマンド受信カウンタ１４ａのカウント値が第１上限値であると判断した場合（ステップＳ５７、ＮＯ）、制御部１１は、第１特定コマンド受信カウンタ１４ａのカウント値をクリアし（ステップＳ５８）、第１の自己診断を実行する（ステップＳ５９）。たとえば、第１の自己診断の内容は、第１の特定コマンドに対応づけて予め設定しておく。ただし、第１の自己診断の内容は、上記ステップＳ１７のように、第１特定コマンド受信カウンタ１４ａのカウント値が第１上限値に達するごとに決定するようにしても良い。
【００５４】
また、受信したコマンドが第２の特定コマンドであると判断した場合（ステップＳ５４、ＹＥＳ）、制御部１１は、第２の特定コマンドに対応して設けた第２特定コマンド受信カウンタ１４ｂのカウント値を更新する（ステップＳ６０）。たとえば、制御部１１は、第１の特定コマンドを受信するごとに、不揮発性メモリ１４内に設けた第２特定コマンド受信カウンタ１４ａのカウンタ値をインクリメントする。
【００５５】
第２特定コマンド受信カウンタ１４ｂのカウント値を更新すると、制御部１１は、第２特定コマンド受信カウンタ１４ｂのカウント値が第２上限値以上であるか否かを判断する（ステップＳ６１）。第２上限値は、第２の特定コマンドに対応する第２の自己診断を実行することを決定するための閾値である。つまり、第２の特定コマンドを第２上限値の回数だけ受信すると、制御部１１は、第２の自己診断を実行するものとする。
【００５６】
なお、第３の動作例では、第１上限値と第２上限値とは相関関係のない値を設定して良い。たとえば、第１上限値と第２上限値とは同じ値であって良い。たとえば、第１上限値、第２上限値、第１の自己診断の内容、及び第２の自己診断の内容は、予め設定され、不揮発性メモリ１４などに記憶される。また、不揮発性メモリ１４に記憶する第１上限値、第２上限値、第１の自己診断の内容および第２の自己診断の内容は、変更可能としても良い。
【００５７】
第２特定コマンド受信カウンタ１４ｂのカウント値が第２上限値であると判断した場合（ステップＳ６１、ＮＯ）、制御部１１は、第２特定コマンド受信カウンタ１４ｂのカウント値をクリアし（ステップＳ６２）、第２の自己診断を実行する（ステップＳ６３）。たとえば、第２の自己診断の内容は、第２の特定コマンドに対応づけて予め設定しておく。ただし、第２の自己診断の内容は、上記ステップＳ１７のように、第２特定コマンド受信カウンタ１４ｂのカウント値が第２上限値に達するごとに決定するようにしても良い。
【００５８】
第１の自己診断あるいは第２の自己診断により故障が検知された場合（ステップＳ６４、ＹＥＳ）、制御部１１は、当該ＩＣカード１内に故障が発生している旨のレスポンス（エラー応答）を作成し、端末装置２へ通知する（ステップＳ６５）。エラー応答を行うと、制御部１１は、当該ＩＣカード１におけるコマンド処理を中止する。また、第１の自己診断あるいは第２の自己診断において故障が検出されなかった場合（ステップＳ６４、ＮＯ）、制御部１１は、当該コマンドに対応するコマンド処理を実行し（ステップＳ５５）、上記ステップＳ３１へ戻る。
【００５９】
以上の第３の動作例によれば、ＩＣカードは、特定の２つのコマンドについて受信回数をカウントし、第１の特定コマンドの受信回数が第１上限値（設定値）に達した場合には第１の自己診断を実施し、第２の特定コマンドの受信回数が第２上限値（設定値）に達した場合には第２の自己診断を実施するようにできる。これにより、再起動などが行われない運用形態で使用されるＩＣカードであっても、受信したコマンドの種類と回数とに応じた自己診断を適宜実施できる。この結果として、ハードウエアの故障などを自ら早期に発見できるＩＣカードを提供できる。
【００６０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６１】
１…ＩＣカード、Ｃ…本体、１ａ…ＩＣチップ、２…端末装置（携帯電話機）、１１…制御部（ＣＰＵ）、１２…プログラムメモリ（ＲＯＭ）、１３…ワーキングメモリ（ＲＡＭ）、１４…データメモリ（不揮発性メモリ）、１４ａ、１４ｂ…特定コマンド受信カウンタ、１５…通信制御部、１６…電源部、１７…インターフェース。
【図１】
2013069062.tif 000003
【図２】
2013069062.tif 000004
【図３】
2013069062.tif 000005
【図４】
2013069062.tif 000006
【図５】
2013069062.tif 000007