(57)【要約】【課題】受信エラー発生に起因したコマンド処理時間の短縮化に優れた通信装置を提供すること。【解決手段】通信装置は、通信媒体と通信する通信手段と、前記通信手段により前記通信媒体に対してコマンドを含む第１の情報を送信し、前記コマンドに対する前記通信媒体からの応答の受信エラーの検出に対応して、応答要求及び前記コマンドを含む第２の情報を送信する通信制御手段と、を備える。【選択図】図５
2011150597.tif 000002
【特許請求の範囲】
【請求項１】
通信媒体と通信する通信手段と、
前記通信手段により前記通信媒体に対してコマンドを含む第１の情報を送信し、前記コマンドに対する前記通信媒体からの応答の受信エラーの検出に対応して、応答要求及び前記コマンドを含む第２の情報を送信する通信制御手段と、
を備えた通信装置。
【請求項２】
前記通信制御手段は、前記コマンドに対する前記通信媒体からの応答の受信待ち時間のタイムアウトの検出に対応して、前記第２の情報を送信することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記通信制御手段は、前記コマンドに対する前記通信媒体からの応答に含まれたエラーチェックコードに基づくエラー検出に対応して、前記第２の情報を送信することを特徴とする請求項１に記載の通信装置。
【請求項４】
前記通信制御手段は、前記受信エラーの検出前に送信する前記第１の情報に含まれた第１の処理識別情報と、前記受信エラーの検出後に送信する前記第２の情報に含まれた第２の処理識別情報とを同一の処理識別情報に制御することを特徴とする請求項１に記載の通信装置。
【請求項５】
通信装置と通信する通信手段と、
前記通信手段により前記通信装置からの第１の処理識別情報及びコマンドを含む第１の情報の受信エラーの検出に対応して、第２の処理識別情報を更新せずに維持し、前記通信手段により前記通信装置からの前記第１の処理識別情報、応答要求、及び前記コマンドを含む第２の情報を受信した場合、前記第２の情報に含まれた前記コマンドに対応した処理を実行し、コマンド実行結果を送信し、前記第２の処理識別情報を第３の処理識別情報へ更新する応答処理を実行するコマンド処理手段と、
を備えた通信媒体。
【請求項６】
通信装置と通信する通信手段と、
前記通信手段により前記通信装置からの第１の処理識別情報及びコマンドを含む第１の情報の受信に対応して、前記第１の情報に含まれた前記コマンドに対応した処理を実行し、第２の処理識別情報を第３の処理識別情報へ更新し、コマンド実行結果を送信する第１の応答処理を実行し、前記通信手段により前記通信装置からの前記第１の処理識別情報、応答要求、及び前記コマンドを含む第２の情報を受信した場合、前記第２の情報に含まれた前記コマンドに対応した処理を実行することなく、前記コマンド実行結果を送信する第２の応答処理を実行するコマンド処理手段と、
を備えた通信媒体。
【請求項７】
前記コマンド処理手段は、前記第２の応答処理において前記第３の処理識別情報を更新せずに維持することを特徴とする請求項６に記載の通信媒体。
【請求項８】
前記コマンド処理手段は、前記第２の情報を受信した場合に、前記第１の情報に含まれた前記第１の処理識別情報と前記第２の情報に含まれた前記第１の処理識別情報とが同一であり、且つ前記第２の処理識別情報が前記第３の処理識別情報へ更新されていることから、前記第２の応答処理を実行することを特徴とする請求項６に記載の通信媒体。
【請求項９】
通信媒体に対してコマンドを含む第１の情報を送信し、
前記コマンドに対する前記通信媒体からの応答の受信エラーの検出に対応して、応答要求及び前記コマンドを含む第２の情報を送信する通信方法。
【請求項１０】
通信装置からの第１の処理識別情報及びコマンドを含む第１の情報の受信エラーの検出に対応して、第２の処理識別情報を更新せずに維持し、
前記通信装置からの前記第１の処理識別情報、応答要求、及び前記コマンドを含む第２の情報を受信した場合、前記第２の情報に含まれた前記コマンドに対応した処理を実行し、前記第２の処理識別情報を第３の処理識別情報へ更新し、コマンド実行結果を送信する応答処理を実行する通信方法。
【請求項１１】
通信装置からの第１の処理識別情報及びコマンドを含む第１の情報の受信に対応して、前記第１の情報に含まれた前記コマンドに対応した処理を実行し、コマンド実行結果を送信する第１の応答処理を実行し、第２の処理識別情報を第３の処理識別情報へ更新する第１の応答処理を実行し、
前記通信装置からの前記第１の処理識別情報、応答要求、及び前記コマンドを含む第２の情報を受信し、前記第２の情報に含まれた前記コマンドに対応した処理を実行することなく、前記コマンド実行結果を送信する第２の応答処理を実行する通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣカード等の通信媒体と通信する通信装置に関する。また、本発明は、オペレータが操作する通信端末等の通信装置と通信する通信媒体に関する。また、本発明は、これら通信装置及び通信媒体に適用可能な通信方法に関する。
【背景技術】
【０００２】
近年、様々な機能を備えたＩＣカードが登場している。例えば、金属端子等により構成される接触インターフェースと電波を送受信するためのアンテナ等により構成される非接触インターフェースを備えたＩＣカードが登場している（特許文献１参照）。
【０００３】
また、複数の通信プロトコルに対応可能なＩＣカードも登場している。例えばＴＣＰ／ＩＰとＩＳＯ７８１６のどちらの通信プロトコルにも対応可能なＩＣカードが提案されている（特許文献２参照）。
【０００４】
これらＩＣカードの登場によりＩＣカードの用途は広がり、例えば、ＩＣカードは、クレジットカード、定期券、旅券、免許証、その他の商取引の決済に使われるだけでなく、社員証、会員証、保険証などのＩＤカードとしても様々な分野で使われるようになっている。
【０００５】
例えば、ＩＣカードを処理する端末は、ＩＣカードに対してコマンドを送信し、ＩＣカードからのコマンド実行結果（レスポンス）を待つ。ＩＣカードは、端末から送信されるコマンドを受信し、受信コマンドに基づく動作を実行し、コマンド実行結果（レスポンス）を端末へ送信する。
【０００６】
ＩＣカードと端末とがコマンドを送受信する場合、受信エラーが発生することがあり、非接触通信の場合、受信エラー発生の傾向は高くなる。例えば、端末が、ＩＣカードからのレスポンスの受信エラーを検出すると、端末は、ＩＣカードに対して応答要求を送信する。ＩＣカードは、端末からの応答要求を受信し、レスポンスの受信エラーの発生を検出し、端末に対してコマンド再送要求を送信する。端末は、ＩＣカードからのコマンド再送要求を受信すると、ＩＣカードに対してコマンドを再送信する。ＩＣカードは、端末から再送信されたコマンドを受信し、受信コマンドに基づく動作を実行し、コマンド実行結果を端末へ送信する。
【０００７】
このように、受信エラーが発生すると、端末とＩＣカードとの間の通信処理が増えて、結果的にコマンド処理時間が長くなることがある。ＩＣカード事業者又はＩＣカードユーザからは、より使い勝手の良いＩＣカードが要求されており、コマンド処理時間の短縮化は重要である。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−２１６２３４号公報
【特許文献２】特開２００４−１５１８６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記した特許文献１、２の何れにも、上記したような受信エラー発生に起因したコマンド処理時間の短縮化に関する技術は開示されていない。
【００１０】
本発明の目的は、受信エラー発生に起因したコマンド処理時間の短縮化に優れた通信装置、通信媒体、及び通信方法を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の一実施形態係る通信装置は、通信媒体と通信する通信手段と、前記通信手段により前記通信媒体に対してコマンドを含む第１の情報を送信し、前記コマンドに対する前記通信媒体からの応答の受信エラーの検出に対応して、応答要求及び前記コマンドを含む第２の情報を送信する通信制御手段と、を備える。
【００１２】
本発明の一実施形態係る通信媒体は、通信装置と通信する通信手段と、前記通信手段により前記通信装置からの第１の処理識別情報及びコマンドを含む第１の情報の受信エラーの検出に対応して、第２の処理識別情報を更新せずに維持し、前記通信手段により前記通信装置からの前記第１の処理識別情報、応答要求、及び前記コマンドを含む第２の情報を受信した場合、前記第２の情報に含まれた前記コマンドに対応した処理を実行し、コマンド実行結果を送信し、前記第２の処理識別情報を第３の処理識別情報へ更新する応答処理を実行するコマンド処理手段と、を備える。
【００１３】
本発明の一実施形態係る通信方法は、通信媒体に対してコマンドを含む第１の情報を送信し、前記コマンドに対する前記通信媒体からの応答の受信エラーの検出に対応して、応答要求及び前記コマンドを含む第２の情報を送信する。
【発明の効果】
【００１４】
本発明によれば、受信エラー発生に起因したコマンド処理時間の短縮化に優れた通信装置、通信媒体、及び通信方法を提供できる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係るＩＣカードシステムの概略構成を示すブロック図である。
【図２】図１に示すＩＣカードシステムのカードリーダ／ライタの概略構成を示すブロック図である。
【図３】図１に示すＩＣカードシステムのＩＣカードの概略構成を示すブロック図である。
【図４】第１のエラー処理（ＩＣカードがコマンドを正しく受信できなかった場合のエラー処理）の一例を示す図である。
【図５】第２のエラー処理（ＩＣカードがコマンドを正しく受信できなかった場合のエラー処理）の一例を示す図である。
【図６】第３のエラー処理（端末がコマンドを正しく受信できなかった場合のエラー処理）の一例を示す図である。
【図７】第４のエラー処理（端末がコマンドを正しく受信できなかった場合のエラー処理）の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照し、本発明の実施形態について説明する。
【００１７】
図１は、本発明の一実施形態に係るＩＣカードシステム（別称、スマートカードシステム）の概略構成を示すブロック図である。図１に示すように、ＩＣカードシステムは、端末１（通信装置）及びＩＣカード２（通信媒体）により構成される。端末１は、本体（上位装置）１１、ディスプレイ１２、キーボード１３、カードリーダ／ライタ１４を備えている。端末１はＩＣカード２と通信可能に構成されており、端末１はＩＣカード２に対してデータを送信したり、ＩＣカード２からのデータを受信したりする。
【００１８】
本体１１は、複数の通信方式及び複数のアプリケーションを選択的に実行することができる。ディスプレイ１２は、ＩＣカード２との通信結果及び認証結果等を表示する。キーボード１３は、本体１１に対して文字や数字等を入力する。カードリーダ／ライタ１４は、ＩＣカード２と通信する。
【００１９】
なお、本実施形態では、ＩＣカード２が、非接触式のカードであるケースについて説明するが、ＩＣカード２は、非接触式及び接触式の両者をサポートするコンビ型のカードであってもよい。
【００２０】
図２は、本発明の一実施形態に係るカードリーダ／ライタ１４の概略構成を示すブロック図である。図２に示すように、カードリーダ／ライタ１４は、アンテナ１４１、通信Ｉ／Ｆ１４２、ＣＰＵ１４３、データメモリ１４４、ＲＡＭ１４５、ＲＯＭ１４６を備えている。ＣＰＵ１４３は、例えば通信制御手段として機能し、ＩＣカード２に対してコマンドを含む情報の送信を制御したり、ＩＣカード２からの応答の受信エラー（タイムアウト又はエラーチェックコードに基づくエラー）を検出したり、後述するBlock Numberの設定、維持、及び更新を制御したりする。また、データメモリ１４４は、設定、維持、又は更新されるBlock Numberを記憶する。
【００２１】
図３は、本発明の一実施形態に係るＩＣカードの概略構成を示すブロック図である。図３に示すように、ＩＣカード２は、例えばプラスチックカードであり、ＩＣチップ２０（ＩＣモジュール）を備え、ＩＣチップ２０は、通信Ｉ／Ｆ２０１、ＣＰＵ２０４、データメモリ２０５、ＲＡＭ２０６、ＲＯＭ２０７を備えている。さらに、図３に示すように、ＩＣカード２は、アンテナ２１を備えている。ＣＰＵ２０４は、例えばコマンド処理手段として機能し、端末１から送信されるコマンドを解釈し、実行したり、端末２に対してコマンド実行結果の返信を制御したり、後述するBlock Numberの設定、維持、及び更新を制御したりする。また、データメモリ２０５は、設定、維持、又は更新されるBlock Numberを記憶する。
【００２２】
次に、エラーの発生が無いケースのコマンド処理の一例について説明する。
【００２３】
例えば、上記した端末１（ＣＰＵ１４３、通信Ｉ／Ｆ１４２、アンテナ１４１）は、初期値としてBlock Number = 0（処理識別情報 = 0）を設定し、ＩＣカード２に対して第１のコマンドを含む第１の情報を送信し、ＩＣカード２からの第１のコマンド実行結果（レスポンス）を待つ。第１の情報は、設定されたBlock Number = 0、第１のコマンド、エラーチェックコードなどを含む。エラーチェックコードは、第１の情報に含まれたデータのエラーをチェックするために利用されるコードであり、例えば、エラーチェックコードとして、CRC（Cyclic Redundancy Check）コード又はパリティコードがある。
【００２４】
ＩＣカード２（ＣＰＵ２０４、通信Ｉ／Ｆ２０１、アンテナ２１）は、初期値としてBlock Number = 1(処理識別情報 = 1)を設定し、端末１から送信される第１のコマンドを受信し、第１のコマンドを解釈、実行し、Block Number = 1をBlock Number = 0へ更新し、第１のコマンド実行結果（レスポンス）を端末１へ送信する。第１のコマンド実行結果は、更新されたBlock Number = 0、エラーチェックコードなどを含む。エラーチェックコードは、第１のコマンド実行結果に含まれたデータのエラーをチェックするために利用されるコードであり、例えば、エラーチェックコードとして、CRCコード又はパリティコードがある。
【００２５】
端末１（ＣＰＵ１４３、通信Ｉ／Ｆ１４２、アンテナ１４１）は、ＩＣカード２からの第１のコマンド実行結果（レスポンス）を受信し、Block Number = 0をBlock Number = 1へ更新し、ＩＣカード２に対して第２のコマンドを含む第２の情報を送信し、ＩＣカード２からの第２のコマンド実行結果（レスポンス）を待つ。第２の情報は、更新されたBlock Number = 1、第２のコマンド、エラーチェックコードなどを含む。
【００２６】
なお、端末１とＩＣカード２とが通信し、上記したように、端末１の初期値として設定されるBlock Numberと、ＩＣカード２の初期値として設定されるBlock Numberとは、異なる値となる。また、端末１で設定されたBlock Numberは、処理の進行とともに“０”→“１”→“０”と切り替わるフラグであり、同様に、ＩＣカード２で設定されたBlock Numberも、処理の進行とともに、“１”→“０”→“１”と切り替わるフラグである。
【００２７】
例えば、上記したように、端末１は、初期値としてBlock Number = 0 を設定し、ＩＣカード２に対する最初のコマンド送信処理では、初期値としてのBlock Number = 0を維持し、２回目以降のコマンド送信処理では、コマンド送信処理に応じてBlock Numberを“０”→“１”→“０”と切り替える。一方のＩＣカードは、初期値としてBlock Number = 1 を設定し、端末１に対する最初のレスポンス送信処理では、初期値としてのBlock Number = 1を維持し、２回目以降のレスポンス送信処理では、レスポンス送信処理に応じてBlock Numberを“１”→“０”→“１”と切り替える。これにより、正常なコマンド処理では、端末１から送信される所定コマンドに含まれるBlock Numberと、ＩＣカード２から前記所定コマンドに対するレスポンスに含まれるBlock Numberとが、同じになる。
【００２８】
次に、図４〜図８を参照して、第１〜第４のエラー処理の一例について説明する。なお、図４〜図７に示す略記はISOに従った記載で、略記の意味は、以下の通りである。
【００２９】
PCB：Protocol Control Byte
CID：Card Identifier
NAD：Node Address
INF：Information Field
CRC：Cyclic Redundancy Check
C-APDU：Command Application Protocol Data
I-Block：Information Block
R-APDU：Response Application Protocol Data
R-Block：Receive ready Block
最初に、図４を参照して、第１のエラー処理について説明する。図４は、第１のエラー処理（ＩＣカード２がコマンドを正しく受信できなかった場合のエラー処理）の一例を示す図である。この第１のエラー処理は、ISO1443-4に規定されているコマンド送受信時の通信処理に対応する。
【００３０】
上記した端末１とＩＣカード２との通信方式がＴ＝ＣＬプロトコルの場合、図４に示すように、仮に、ＩＣカード２が、端末１から送信される第１の情報（第１のコマンド）を正しく受信できなかった場合、ＩＣカード２（ＣＰＵ２０４）は、受信エラーを検出し無応答状態となる。このとき、ＩＣカード２は、初期値として設定されたBlock Number = 1を更新せずに維持する。なお、図４のケースでは、第１の情報は、端末１において初期値として設定されたBlock Number = 0 を含むPCB、CID、NAD、INF、CRCにより構成されており、ＩＣカード２は、端末１から送信される第１の情報に含まれたエラーチェックコード（例えばCRCコード）に基づいて受信エラーを検出している。
【００３１】
上記したように、ＩＣカード２が無応答状態となると、端末１（ＣＰＵ１４３）は、ＩＣカード２に対してコマンドを送信した後、レスポンスの受信エラー（レスポンスのタイムアウト）を検出し、端末１は、ＩＣカード２に対して、PCB、CID、CRCにより構成される応答要求を送信する。応答要求のPCBは、初期値として設定されたBlock Number = 0を含む。
【００３２】
ＩＣカード２は、応答要求を受信し、前回に正しく受信できなかった第１の情報に含まれたBlock Number = 0と、今回受信した応答要求に含まれたBlock Number = 0とが同一であることから（Block Numberが切り替わっていないことから）、コマンド受信異常に対応した応答要求であることを認識し、また、初期値として設定されたＩＣカード２のBlock Numberが更新されていないことから、コマンド受信異常に対応した応答要求であることを認識し、端末１に対して、PCB、CID、CRCにより構成されるコマンド再送要求を送信する。
【００３３】
端末１は、ＩＣカード２からのコマンド再送要求を受信し、ＩＣカード２に対して、再び第１の情報を送信する。第１の情報は、端末１において初期値として設定されたBlock Number = 0 を含むPCB、CID、NAD、INF、CRCにより構成されている。
【００３４】
上記した第１のエラー処理では、端末１とＩＣカード２との間の通信処理が増えるため、結果的にコマンド処理時間が長くなることがある。
【００３５】
そこで、図５を参照して説明する第２のエラー処理により、コマンド処理時間の短縮化を図ることができる。以下、第２のエラー処理について説明する。
【００３６】
上記した端末１とＩＣカード２との通信方式がＴ＝ＣＬプロトコルの場合、図５に示すように、仮に、ＩＣカード２が、端末１から送信される第１の情報（第１のコマンド）を正しく受信できなかった場合、ＩＣカード２（ＣＰＵ２０４）は、受信エラーを検出し無応答状態となる。このとき、ＩＣカード２は、初期値として設定されたBlock Number = 1を更新せずに維持する。なお、図５のケースでは、第１の情報は、端末１において初期値として設定されたBlock Number = 0 を含むPCB、CID、NAD、INF、CRCにより構成されており、ＩＣカード２は、端末１から送信される第１の情報に含まれたエラーチェックコード（例えばCRCコード）に基づいて受信エラーを検出している。
【００３７】
上記したように、ＩＣカード２が無応答状態となると、端末１（ＣＰＵ１４３）は、ＩＣカード２に対してコマンドを送信した後、レスポンスの受信エラー（レスポンスのタイムアウト）を検出する。このとき、端末１は、ＩＣカード２に対して、応答要求及び第１のコマンドを含む第２の情報を送信する。第２の情報は、PCB、CID、PCB、CID、NAD、INF、CRC等により構成されている。具体的には、第２の情報は、初期値として設定されたBlock Number = 0、応答要求、及び第１のコマンド、エラーチェックコードなどを含む。エラーチェックコードは、第２の情報に含まれたデータのエラーをチェックするために利用されるコードである。
【００３８】
ＩＣカード２は、第２の情報を受信し、前回に正しく受信できなかった第１の情報に含まれたBlock Number = 0と、今回受信した第２の情報に含まれたBlock Number = 0とが同一であることから（Block Numberが切り替わっていないことから）、コマンド受信異常に対応した応答要求であることを認識し、また、初期値として設定されたＩＣカード２のBlock Numberが更新されていないことから、コマンド受信異常に対応した応答要求であることを認識する。ＩＣカード２は、第２の情報に含まれた第１のコマンドを解釈し、実行し、Block Number = 1をBlock Number = 0へ更新し、Block Number = 0を含む第１のコマンド実行結果（レスポンス）を端末１へ送信する。第１のコマンド実行結果は、例えばPCB、CID、NAD、INF、CRCにより構成されている。
【００３９】
このように、第２のエラー処理では、端末１が、応答要求とコマンドとを併せて送信し、ＩＣカード２が、応答要求とコマンドとを併せて受信し、コマンドを解釈し実行しコマンド実行結果を返信することができる。よって、第２のエラー処理は、第１のエラー処理に比べて、端末１とＩＣカード２との間の通信処理（時間）を減らすことができ、結果的にコマンド処理時間の短縮化を図ることができる。また、第２のエラー処理は、第１のエラー処理に比べて、通信処理（時間）を減らすことができるので、消費電力を抑えることもできる。
【００４０】
次に、図６を参照して、第３のエラー処理について説明する。図６は、第３のエラー処理（端末１がコマンドを正しく受信できなかった場合のエラー処理）の一例を示す図である。この第３のエラー処理は、ISO1443-4に規定されているコマンド送受信時の通信処理である。
【００４１】
ＩＣカード２が、端末１から送信される第１の情報（第１のコマンド）を正しく受信すると、ＩＣカード２は、第１のコマンドを解釈、実行し、初期値として設定されたBlock Number = 1をBlock Number = 0へ更新し、第１のコマンド実行結果（レスポンス）を端末１へ送信する。第１のコマンド実行結果は、更新されたBlock Number = 0、エラーチェックコードなどを含む。なお、ＩＣカード２は、この第１のコマンド実行結果を所定期間にわたり記憶する。図６のケースでは、第１の情報は、端末１において初期値として設定されたBlock Number = 0 を含むPCB、CID、NAD、INF、CRCにより構成されており、ＩＣカード２は、端末１から送信される第１の情報に含まれたエラーチェックコード（例えばCRCコード）に基づいて受信エラーを検出している。また、第１のコマンド実行結果は、ＩＣカード２において初期値として設定されたBlock Number = 1 を含むPCB、CID、NAD、INF、CRCにより構成されている。
【００４２】
仮に、端末１が、ＩＣカード２から送信された第１のコマンド実行結果を正しく受信できなかった場合、端末１は、受信エラーを検出し、ＩＣカード１に対してPCB、CID、CRCにより構成された応答要求を送信する。応答要求のPCBは、端末１において初期値として設定されたBlock Number = 0を含む。なお、図６のケースでは、端末１が、ＩＣカード２から送信される第１のコマンド実行結果に含まれたエラーチェックコード（例えばCRCコード）に基づいて受信エラーを検出している。
【００４３】
ＩＣカード２は、端末１からの応答要求を受信し、前回受信した第１の情報に含まれたBlock Number = 0と、今回受信した応答要求に含まれたBlock Number = 0とが同一であることから（Block Numberが切り替わっていないことから）、コマンド受信異常に対応した応答要求であることを認識し、また、初期値として設定されたＩＣカード２のBlock Numberが更新されていることから、端末２側のコマンド受信異常であることを認識し、第１の情報に含まれた第１のコマンドに対応した処理は実行済みと判断し、第１のコマンドに対応した処理を実行せずに、記憶した第１のコマンド実行結果を端末１へ送信する。このように、ＩＣカード２は、第１のコマンドに対応した処理を実行しないので、Block Numberも更新せずに、Block Number = 0を維持する。よって、第１のコマンド実行結果は、Block Number = 0を含む。
【００４４】
端末１は、ＩＣカード２からの第１のコマンド実行結果を受信する。端末１は、第１のコマンド実行結果を正しく受信することができると、初期値として設定されたBlock Number = 0をBlock Number = 1へ更新し、ＩＣカード２に対して第２のコマンドを含む第２の情報を送信する。第２の情報は、更新されたBlock Number = 1、第２のコマンド、及びエラーチェックコードなどを含む。
【００４５】
ＩＣカード２は、端末１からの第２の情報を正しく受信することができると、第２の情報に含まれた第２のコマンドを解釈、実行し、Block Number = 1をBlock Number = 0へ更新し、第２のコマンド実行結果（レスポンス）を端末１へ送信する。第２のコマンド実行結果は、更新されたBlock Number = 0、エラーチェックコードなどを含む。なお、ＩＣカード２は、この第２のコマンド実行結果を所定期間にわたり記憶する。
【００４６】
次に、図７を参照して、第４のエラー処理について説明する。図７は、第４のエラー処理（端末１がコマンドを正しく受信できなかった場合のエラー処理）の一例を示す図である。
【００４７】
ＩＣカード２が、端末１から送信される第１の情報（第１のコマンド）を正しく受信すると、ＩＣカード２は、第１のコマンドを解釈、実行し、初期値として設定されたBlock Number = 1をBlock Number = 0へ更新し、第１のコマンド実行結果（レスポンス）を端末１へ送信する。第１のコマンド実行結果は、更新されたBlock Number = 0、エラーチェックコードなどを含む。なお、ＩＣカード２は、この第１のコマンド実行結果を所定期間にわたり記憶する。図７のケースでは、第１の情報は、端末１において初期値として設定されたBlock Number = 0 を含むPCB、CID、NAD、INF、CRCにより構成されており、ＩＣカード２は、端末１から送信される第１の情報に含まれたエラーチェックコード（例えばCRCコード）に基づいて受信エラーを検出している。また、第１のコマンド実行結果は、ＩＣカード２において初期値として設定されたBlock Number = 1 を含むPCB、CID、NAD、INF、CRCにより構成されている。
【００４８】
仮に、端末１が、ＩＣカード２から送信された第１のコマンド実行結果を正しく受信できなかった場合、端末１は、受信エラーを検出し、ＩＣカード１に対して応答要求及び第１のコマンドを含む第２の情報を送信する。第２の情報は、PCB、CID、PCB、CID、NAD、INF、CRC等により構成されている。具体的には、第２の情報は、端末１において初期値として設定されたBlock Number = 0を含む。
【００４９】
ＩＣカード２は、端末１からの第２の情報を受信し、前回受信した第１の情報に含まれたBlock Number = 0と、今回受信した第２の情報に含まれたBlock Number = 0とが同一であることから（Block Numberが切り替わっていないことから）、コマンド受信異常に対応した応答要求であることを認識し、また、初期値として設定されたＩＣカード２のBlock Numberが更新されていることから、端末２側のコマンド受信異常であることを認識し、第１の情報に含まれた第１のコマンドに対応した処理は実行済みと判断し、第１のコマンドに対応した処理を実行せずに、記憶した第１のコマンド実行結果を端末１へ送信する。このように、ＩＣカード２は、第１のコマンドに対応した処理を実行しないので、Block Numberも更新せずに、Block Number = 0を維持する。よって、第１のコマンド実行結果は、Block Number = 0を含む。
【００５０】
端末１は、ＩＣカード２からの第１のコマンド実行結果を受信する。端末１は、第１のコマンド実行結果を正しく受信することができると、初期値として設定されたBlock Number = 0をBlock Number = 1へ更新し、ＩＣカード２に対して第２のコマンドを含む第３の情報を送信する。第３の情報は、更新されたBlock Number = 1、第２のコマンド、及びエラーチェックコードなどを含む。
【００５１】
ＩＣカード２は、端末１からの第３の情報を正しく受信することができると、第２の情報に含まれた第２のコマンドを解釈、実行し、Block Number = 1をBlock Number = 0へ更新し、第２のコマンド実行結果（レスポンス）を端末１へ送信する。第２のコマンド実行結果は、更新されたBlock Number = 0、エラーチェックコードなどを含む。なお、ＩＣカード２は、この第２のコマンド実行結果を所定期間にわたり記憶する。
【００５２】
このように、第４のエラー処理により、端末１が、応答要求とコマンドとを併せて送信し、ＩＣカード２が、応答要求とコマンドとを併せて受信しても、コマンドを実行することなく、記憶したコマンド実行結果を返信することができる。これにより、ＩＣカード２は、応答要求とコマンドとを併せて受信した場合に、適切に対応することができる。
【００５３】
なお、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【符号の説明】
【００５４】
１…端末、２…ＩＣカード、３…ＩＣカードホルダ、１１…本体、１２…ディスプレイ、１３…キーボード、１４…カードリーダ／ライタ、２０…ＩＣチップ、２１…アンテナ、１４１…アンテナ、１４２…通信Ｉ／Ｆ、１４３…ＣＰＵ、１４４…データメモリ、１４５…ＲＡＭ、１４６…ＲＯＭ、２０１…通信Ｉ／Ｆ、２０４…ＣＰＵ、２０５…データメモリ、２０６…ＲＡＭ、２０７…ＲＯＭ
【図１】
2011150597.tif 000003
【図２】
2011150597.tif 000004
【図３】
2011150597.tif 000005
【図４】
2011150597.tif 000006
【図５】
2011150597.tif 000007
【図６】
2011150597.tif 000008
【図７】
2011150597.tif 000009