(57)【特許請求の範囲】
【請求項１】
携帯可能電子装置であって、
フレーム単位のデータで構成されるデータを送受信する通信手段と、
受信可能な最大フレーム数と受信データにおける最初のフレームの受信完了時点から応答を開始するまでのタイムアウト時間の初期値とを設定する設定手段と、
前記通信手段により受信するデータの最初のフレームの受信完了時点からの経過時間が設定されているタイムアウト時間を経過した時に当該データの受信確認を送信する応答手段と、
前記通信手段によるデータの全フレームの受信完了から当該データに対する受信確認を送信するまでの待ち時間に応じてタイムアウト時間を補正する調整手段と、
を有することを特徴とする携帯可能電子装置。
【請求項２】
前記調整手段は、前記待ち時間が第１の時間よりも長い場合、前記タイムアウト時間を短くする、
ことを特徴とする前記請求項１に記載の携帯可能電子装置。
【請求項３】
前記調整手段は、前記待ち時間が第１の時間よりも短く、かつ、第２の時間よりも長い場合、前記タイムアウト時間を維持する、
ことを特徴とする前記請求項１又は２の何れかに記載の携帯可能電子装置。
【請求項４】
前記調整手段は、前記待ち時間が第２の時間よりも短い場合、前記タイムアウト時間を初期値に戻す、
ことを特徴とする前記請求項１乃至３の何れか１項に記載の携帯可能電子装置。
【請求項５】
前記調整手段は、前記待ち時間が第２の時間よりも短い場合、前記タイムアウト時間を長くする、
ことを特徴とする前記請求項１乃至３の何れか１項に記載の携帯可能電子装置。
【請求項６】
さらに、外部装置から受信した設定データに従って前記調整手段によりタイムアウト時間の調整する調整モードかタイムアウト時間を初期値に固定する固定モードかの何れかを設定するモード設定手段を有する、
ことを特徴とする前記請求項１乃至５の何れか１項に記載の携帯可能電子装置。
【請求項７】
ＩＣカードであって、
フレーム単位のデータで構成されるデータを送受信する通信手段と、受信可能な最大フレーム数と受信データにおける最初のフレームの受信完了時点から応答を開始するまでのタイムアウト時間の初期値とを設定する設定手段と、前記通信手段により受信するデータの最初のフレームの受信完了時点からの経過時間が設定されているタイムアウト時間を経過した時に当該データの受信確認を送信する応答手段と、
前記通信手段によるデータの全フレームの受信完了から当該データに対する受信確認を送信するまでの待ち時間に応じてタイムアウト時間を補正する調整手段と、を有するモジュールと、
前記モジュールを有する本体と、
を有することを特徴とするＩＣカード。
【請求項８】
携帯可能電子装置に用いられる通信方法であって、
受信可能な最大フレーム数と受信データにおける最初のフレームの受信完了時点から応答を開始するまでのタイムアウト時間の初期値とを設定し、
フレーム単位のデータで構成されるデータを受信し、
前記受信するデータの最初のフレームの受信完了時点からの経過時間が設定されているタイムアウト時間を経過した時に当該データの受信確認を送信し、
前記データの全フレームの受信完了から当該データに対する受信確認を送信するまでの待ち時間に応じてタイムアウト時間を補正する、
ことを特徴とする携帯可能電子装置に用いられる通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明の実施形態は、ＩＣカードなどの携帯可能電子装置、および携帯可能電子装置に用いられる通信方法に関する。
【背景技術】
【０００２】
ＩＣカードなどの携帯可能電子装置は、端末装置とデータ通信を行うことにより様々な処理を実行する。携帯可能電子装置と端末装置との通信方式には、フレーム単位に分けたデータを送受信するものがある。フレーム単位のデータを送受信する通信方式では、１回に送受信可能な最大フレーム数を最初に設定しておき、最大フレーム数以内のフレームでデータを送受信する。しかしながら、１回に送受信可能な最大フレーム数が固定である場合、実際に送受信するデータのサイズに応じた効率的な通信が難しいことがある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ＥＴＳＩ  ＴＳ１０２６１３
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この発明の一形態は、効率的に通信を行うことができる携帯可能電子装置、ＩＣカードおよび携帯可能電子装置に用いられる通信方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
この実施の形態によれば、携帯可能電子装置は、通信手段と、設定手段と、応答手段と、調整手段とを有する。通信手段は、フレーム単位のデータで構成されるデータを送受信する。設定手段は、受信可能な最大フレーム数と受信データにおける最初のフレームの受信完了時点から応答を開始するまでのタイムアウト時間の初期値とを設定する。応答手段は、通信手段により受信するデータの最初のフレームの受信完了時点からの経過時間が設定されているタイムアウト時間を経過した時に当該データの受信確認を送信する。調整手段は、通信手段によるデータの全フレームの受信完了から当該データに対する受信確認を送信するまでの待ち時間に応じてタイムアウト時間を補正する。
【図面の簡単な説明】
【０００６】
【図１】図１は、ＩＣカードおよびＩＣカードシステムの構成例を示すブロック図である。
【図２】図２は、端末装置の一例としての携帯電話機の構成例を示すブロック図である。
【図３】図３は、タイムアウト時間の固定モードでＩＣカードと端末装置とが送受信するフレームの例を示す図である。
【図４】図４は、タイムアウト時間の調整モードでＩＣカードと端末装置とが送受信するフレームの例を示す図である。
【図５】図５は、調整モードにおけるＩＣカードと端末装置とによる通信手順の例を示すシーケンス図である。
【図６】図６は、ＩＣカードにおける通信処理の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【０００７】
以下、実施の形態について図面を参照して詳細に説明する。  
図１は、携帯可能電子装置としてのＩＣカード１と端末装置２とを有するＩＣカードシステムの構成例を示すブロック図である。  
図１に示すＩＣカードシステムは、ＩＣカード１と端末装置２とが双方向にデータの送受信を行う通信システムである。たとえば、ＩＣカードシステムは、ＩＣカード１が端末装置２としての携帯電話機に装着される運用形態が想定される。このような運用形態では、端末装置２にＩＣカード１が装着された状態でＩＣカード１と端末装置２とがデータ通信を行う。また、ＩＣカード１と端末装置２との通信方式は、たとえば、ＳＷＰ通信などの全２重通信である。
【０００８】
ＩＣカード１は、端末装置２からの電源供給により動作する。たとえば、上記ＩＣカード１は、上記端末装置２と物理的、電気的に接触して通信を行う接触式の携帯可能電子装置（接触式ＩＣカード）である。ただし、上記ＩＣカード１は、アンテナあるいは無線通信部等により上記端末装置２と非接触の状態で無線通信を行う非接触式の携帯可能電子装置（非接触式ＩＣカード）であっても良い。さらには、上記ＩＣカード１は、非接触式ＩＣカードとしての通信機能と接触式ＩＣカードとしての通信機能とを有する複合型のＩＣカード（デュアルインターフェースＩＣカード）であっても良い。
【０００９】
図１に示すように、上記ＩＣカード１は、制御部（ＣＰＵ）１１、プログラムメモリ１２、ワーキングメモリ１３、データメモリ１４、通信制御部１５、電源部１６、および、インターフェース１７などを有する。  
上記ＩＣカード１は、カード状の本体Ｃにより構成される。上記ＩＣカード１を形成するカード状の本体Ｃには、１つ（あるいは複数）のＩＣチップ１ａとインターフェース１７とが埋設される。上記ＩＣチップ１ａは、制御部（ＣＰＵ）１１、プログラムメモリ１２、ワーキングメモリ１３、データメモリ１４、通信制御部１５および電源部１６などを有している。上記ＩＣチップ１ａは、上記インターフェース１７に接続された状態でモジュール化され、当該ＩＣカード１を形成するカード状の本体Ｃ内に埋設される。
【００１０】
上記制御部１１は、ＩＣカード１全体の制御を司る。上記制御部１１は、ＣＰＵなどのプロセッサを有する。上記制御部１１は、上記プログラムメモリ１２あるいはデータメモリ１４に記憶されている制御プログラムおよび制御データなどに基づいて動作する。たとえば、上記制御部１１は、上記プログラムメモリ１２に記憶されている動作を司る制御プログラムを実行することにより、端末装置２から与えられるコマンドに応じた処理を実行する。上記制御部１１は、時間を計時するタイマ１１ａを有する。タイマ１１ａは、たとえば、応答データの送信タイミングを計る。
【００１１】
上記プログラムメモリ１２は、読み出し専用のメモリ（ＲＯＭ：リードオンリーメモリ）により構成される。上記プログラムメモリ１２は、当該ＩＣカード１の仕様に応じた動作を司る制御プログラムおよび制御データなどを記憶する。
【００１２】
上記ワーキングメモリ１３は、揮発性のメモリ（ＲＡＭ；ランダムアクセスメモリ）により構成される。上記ワーキングメモリ１３は、データを一時保管するバッファメモリとして機能する。例えば、上記ワーキングメモリ１３には、端末装置２との通信処理において、送受信されるデータを一時的に保管する通信バッファとして利用可能である。また、上記ワーキングメモリ１３は、種々の書込みデータなどを一時的に保持するメモリとしても利用される。
【００１３】
上記データメモリ（不揮発性メモリ）１４は、データの書き込みが可能な不揮発性のメモリである。上記データメモリ１４は、例えば、ＥＥＰＲＯＭあるいはフラッシュメモリなどにより構成される。上記データメモリ１４には、当該ＩＣカード１の使用目的に応じた種々の情報（アプリケーションプログラムおよび運用データなど）が書込まれる。当該ＩＣカード１が複数の使用目的に使用される場合、上記データメモリ１４には、各使用目的に応じた複数のアプリケーションが記憶される。
【００１４】
上記通信制御部１５は、上記インターフェース１７を介して端末装置２とのデータ通信を制御するものである。当該ＩＣカード１が接触式ＩＣカードである場合、通信制御部１５は、端末装置２と物理的・電気的に接触するコンタクト部としてのインターフェース１７を介してデータを送受信する。なお、非接触型のＩＣカードであれば、上記通信制御部１５は、インターフェース１７としてのアンテナにより送受信するデータを変調あるいは復調する。
【００１５】
上記電源部１６は、当該ＩＣカード１の各部を動作させるための電力およびクロックパルスを供給する。たとえば、当該ＩＣカード１が接触型のＩＣカードである場合、上記電源部１６は、インターフェース１７を介して外部装置から直接的に供給される電力およびクロックパルスを各部へ供給する。なお、当該ＩＣカードが非接触型のＩＣカードである場合、上記電源部１６は、上記インターフェース１７としてのアンテナにより受信した電波から電力およびクロックパルスを生成し、当該ＩＣカード内の各部に供給する。
【００１６】
また、ワーキングメモリ１３は、通信確立処理において設定される通信設定などの設定データを記憶する。たとえば、ワーキングメモリ１３は、後述する連続伝送フレームの最大数（以下、最大フレーム数（Sliding Window size）とも称する）の設定値を記憶する。また、ワーキングメモリ１３は、フレームを受信してから受信確認を送信するまでの時間（タイムアウト時間）の設定値、および、初期値を記憶する。ワーキングメモリ１３は、通信確立処理において設定されるタイムアウト時間の初期値を当該通信処理が終了するまで記憶する。ただし、ワーキングメモリ１３が記憶するタイムアウト時間の設定値は、現在設定されているタイムアウト時間を示すものであり、適宜更新される。
【００１７】
次に、端末装置２の構成について説明する。  
上記端末装置２は、ＩＣカード１を動作させるための電源を供給するとともに、当該ＩＣカード１とのデータ通信を行う。ここでは、端末装置２が携帯電話機である場合を想定する。端末装置２としての携帯電話機は、各ユーザが所持するＩＣカード１を装着した状態で携帯電話機としての通信が利用可能となる運用形態が想定される。また、ＩＣカード１は、端末装置２としての携帯電話機に設けられたＩＣカード用のソケットに装着される。携帯電話機のＩＣカード用のソケットに装着された状態で、携帯電話機のインターフェースとしてのコンタクト部とＩＣカード１のインターフェースとが接触してデータ通信が可能となる。また、上記携帯電話機２は、ＩＣカード１に物理的に接触しているコンタクト部を介して当該ＩＣカード１に動作用の電力およびクロックパルスを供給する。
【００１８】
図２は、端末装置２の一例としての携帯電話機の構成例を示すブロック図である。  
図２に示す構成例では、携帯電話機２は、制御部３１、ＲＡＭ３２、ＲＯＭ３３、不揮発性メモリ３４、ＩＣカード用のインターフェース（第１インターフェース）３５、メモリカード用のインターフェース（第２インターフェース）３６、アンテナ３７、通信部３８、音声部３９、振動部４０、表示部４１、操作部４２および電源部４３などを有する。
【００１９】
上記制御部３１は、携帯電話機２全体の制御を司るものである。上記制御部３１は、ＣＰＵ、内部メモリ、各種のインターフェースなどを有する。また、上記制御部３１は、その基本機能として、上記表示部４１の表示を制御する表示制御機能、ＰＬＬ（Phase Locked Loop）回路、データストリーム経路切換え、ＤＭＡ（Direct Memory Access）コントローラ、割り込みコントローラ、タイマ、ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）、秘匿、ＨＤＬＣ（High-level Data Link Control procedure）フレーミング、ディバイスコントローラなどの機能を有している。
【００２０】
上記ＲＡＭ３２は、作業用のデータを記憶するための揮発性メモリである。ＲＡＭ３２は、ＩＣカード１との通信設定情報として、通信確立処理において設定する設定データを記憶する。たとえば、ＲＡＭ３２は、後述する連続伝送フレームの最大数（以下、最大フレーム数（Sliding Window size）とも称する）の設定値を記憶する。また、ＲＡＭ３２は、フレームを受信してから受信確認を送信するまでの時間（タイムアウト時間）の設定値、および、初期値を記憶する。ＲＡＭ３２は、通信確立処理において設定されるタイムアウト時間の初期値を当該通信処理が終了するまで記憶する。ただし、ＲＡＭ３２が記憶するタイムアウト時間の設定値は、現在設定されているタイムアウト時間を示すものであり、適宜更新される。
【００２１】
上記ＲＯＭ３３は、制御プログラムや制御データなどが記憶されている不揮発性メモリである。上記ＲＯＭ３３は、不揮発性メモリである。たとえば、上記ＲＯＭ３３には、当該携帯電話機２の基本的な制御を行うための制御プログラムおよび制御データが予め記憶されている。上記制御部３１は、上記ＲＯＭ３３に記憶されている制御プログラムを実行することにより、当該携帯電話機２の基本的な制御を実現している。
【００２２】
上記不揮発性メモリ３４は、種々のデータが記憶される書き換え可能な不揮発性メモリである。上記不揮発性メモリ３４には、種々のアプリケーションプログラム（アプリケーション）、制御データ、および、ユーザデータなどが記憶される。上記制御部３１は、上記不揮発性メモリ３４に記憶されているアプリケーションプログラムを実行することにより、種々の機能を実現する。
【００２３】
上記第１インターフェース３５は、ＩＣカード１が装着されるインターフェースである。上記第１インターフェース３５は、上記制御部３１に接続されている。これにより、上記制御部３１は、上記第１インターフェース３５を介して上記ＩＣカード１とのデータ通信が可能となっている。上記第２インターフェース３６は、上記メモリカードＭが着脱可能なインターフェースである。上記第２インターフェース３６は、上記制御部３１に接続されている。上記制御部３１は、上記第２インターフェース３６に装着されたメモリカードＭへのアクセス（データの書込みあるいは読出し）が可能となっている。
【００２４】
上記通信部３８は、通信用のアンテナ３７を介して通話データあるいはデータ通信用のデータを電波で送受信する。上記音声部３９は、アナログフロントエンド部及びオーディオ部を有し、音声の入出力を行う。上記振動部４０は、当該携帯電話機２全体を振動させる振動機構により構成される。上記表示部４１は、上記制御部３１により表示のオンオフや表示内容などが制御される。上記操作部４２は、キーボードなどにより構成され、ユーザによる操作指示が入力される。上記電源部４３は、バッテリーなどにより構成され、当該携帯電話機２内の各部に電源を供給するようになっている。また、上記電源部４３は、上記第１インターフェース３５を介して接続されたＩＣカード１および上記第２インターフェース３６を介して接続されたメモリカードＭにも電源を供給する機能も有している。
【００２５】
次に、ＩＣカード１と端末装置２との通信について説明する。  
本実施例のＩＣカードシステムでは、ＩＣカード１と端末装置２とは、たとえば、ＳＷＰ通信などの全２重通信を行う。本システムでは、伝送するデータの形式が予め決められる。ＩＣカード１と端末装置２とは、データをフレーム単位で伝送する。１フレーム当りの伝送データ量は、規定のサイズであり、送受信すべきデータがフレーム単位に分割して送受信される。
【００２６】
まず、端末装置２とＩＣカード１とは、通信確立処理により通信設定の初期値を設定する。通信確立処理において、端末装置２はＩＣカード１へリセット要求を送信し、ＩＣカード１は端末装置２へ設定データを返す。リセット要求において、端末装置２は、ＩＣカード１に対して、連続して伝送できるフレームの最大数（以下、Sliding Window size（ＷＳ）と称する）、および、受信確認の応答となるレスポンスのタイムアウト時間（Acknowledge time）などをパラメータで設定する。タイムアウト時間の初期値は、ＷＳ値に応じた長さの時間が設定される。
【００２７】
Sliding Window sizeの値（ＷＳ値）は、たとえば、「２」、「３」および「４」の何れかが設定されるものとする。タイムアウト時間の初期値は、ＷＳ値に応じて決定される時間であるものとする。タイムアウト時間の初期値は、ＷＳ値が小さくなるほど、短い時間に設定される。また、タイムアウト時間は、端末装置２とＩＣカード１との通信速度、および、各フレームの大きさなどに応じた値に設定する。たとえば、ＷＳ値が「４」である場合のタイムアウト時間の初期値を５ｍｓ程度とする。この場合、ＷＳ値が「４」である場合のタイムアウト時間の初期値「５ｍｓ」を基準として、ＷＳ値が「３」であれば、タイムアウト時間の初期値は４．５〜３．０ms程度（例えば３．７５ｍｓ）とし、ＷＳ値が「２」であれば、タイムアウト時間の初期値は３．５〜２．０ｍｓ程度（たとえば、２．５ｍｓ）とするようにしても良い。
【００２８】
上述のように、タイムアウト時間の初期値は、ＷＳ値に応じて決定され、ＷＳ値が大きければ大きいほど大きい値となる。従って、タイムアウト時間を初期値に固定すると、受信確認などの応答を出力するタイミングは、実際に伝送するフレーム数が設定されているＷＳ値よりも少ない場合であっても、ＷＳ値に応じて設定された時間となる。この結果として、実際に伝送するフレーム数が設定されているＷＳ値よりも少ない場合、余計な待ち時間が発生する。
【００２９】
本実施形態のＩＣカードシステムでは、ＩＣカードは、通信確立処理（つまり、リセット時）において、タイムアウト時間を初期値に固定する固定モードか自動調整する調整モードかを選択する。たとえば、図３は、タイムアウト時間を初期値に固定する固定モードにおける通信例を示す図である。
【００３０】
まず、タイムアウト時間を初期値に固定する固定モードでの処理例について説明する。  
図３に示す例では、ＷＳ（Sliding Window size）＝４の場合を想定している。図３に示すように、Sliding Window sizeは、端末装置２とＩＣカード１との通信確立処理において設定される。端末装置２は、ＩＣカード１に、ＷＳ＝４でのリセット（ＲＳＥＴ）を要求するフレーム（U-Frame）を送信する。ＩＣカード１は、ＷＳ値を４に設定し、初期設定完了を示すフレーム（U-Frame）を端末装置２へ返す。以降の通信において、端末装置２は、ＷＳ値を「４」としてＩＣカード１とのフレーム交換を行う。
【００３１】
タイムアウト時間（Acknowledge time）の初期値は、たとえば、ＷＳ（Sliding Window Size）に対して、以下のような式により算出される。  
タイムアウト時間＝（デフォルトの固定値）×ＷＳ／（ＷＳに設定可能な最大値）
ここでは、ＷＳ値が２、３、４の何れかに設定され、ＷＳ値として設定可能な最大値が「４」であるものとする。また、デフォルトの固定値を５ｍｓとすると、タイムアウト時間（Acknowledge time）は、以下の式により算出されることとなる。  
タイムアウト時間（Acknowledge time）＝５ms×ＷＳ／４
上記の式によれば、ＷＳ値が「４」である場合、タイムアウト時間の初期値は５ｍｓ×４／４＝５ｍｓとなり、ＷＳ値が「３」である場合、タイムアウト時間の初期値は５ｍｓ×３／４＝３．７５ｍｓとなり、ＷＳ値が「２」である場合、タイムアウト時間の初期値は５ｍｓ×２／４＝２．５ｍｓとなる。
【００３２】
上記のようなタイムアウト時間の初期値の設定を含む通信確立処理が完了すると、端末装置２とＩＣカード１とは、フレーム交換を開始する。端末装置２は、設定したＷＳの値を最大値とする複数フレームごとのデータとして、送信メッセージをＩＣカード１へ送信する。たとえば、最大数のフレームで収まらない大きなデータを送信する場合、端末装置２は、送信データをＷＳ値を最大値とする複数フレームからなるデータに分割してＩＣカード１へ送信する。
【００３３】
すなわち、タイムアウト時間が固定モードである場合、ＷＳ＝４が設定されれば、送信メッセージ（I-Frame）にフレーム数によらず、４フレームで送られる送信メッセージに対応するタイムアウト時間が固定値として設定される。このため、４フレームで送られる送信メッセージ（I-Frame）に対しては、対応するタイムアウト時間で応答ができる。ただし、送信メッセージ（I-Frame）のフレーム数が最大値（「４」）よりも３フレーム以下であれば、当該送信メッセージの受信を完了した後、フレーム数が最大値（「４」）よりも少ないフレーム数分の待ち時間が発生する。
【００３４】
たとえば、図３に示す例において、端末装置２から４フレームからなる送信メッセージ（I-Frame）を受信した場合、ＩＣカード１は、受信した最初のフレームの終わりからＷＳ値に応じて設定されたタイムアウト時間が経過した時点で受信確認の通知を送信する。また、端末装置２から３フレームからなる送信メッセージ（I-Frame）を受信した場合、ＩＣカード１は、３フレーム分のデータを受信した後、１（４−３＝１）フレーム分のデータが受信可能な待ち時間を待ってから受信確認の通知を送信する。また、端末装置２から２フレームからなる送信メッセージ（I-Frame）を受信した場合、ＩＣカード１は、２フレーム分のデータを受信した後、２（４−２＝２）フレーム分のデータが受信可能な待ち時間を待ってから受信確認の通知を送信する。
【００３５】
上述したように、タイムアウト時間を初期値に固定する固定モードでは、設定されたＷＳ値よりも少ないフレーム数の送信メッセージを受信した場合、ＩＣカード１は、受信完了から応答を送信するまでの間に待ち時間が発生する。ＷＳ値に対してフレーム数が少なければ少ないほど、ＩＣカード１は、受信完了から応答送信までの間における待ち時間が拡大する。
【００３６】
次に、タイムアウト時間を自動的に調整する調整モードでの通信について説明する。  
図４は、タイムアウト時間を自動的に調整する調整モードにおいて送受信されるフレームの例を示す図である。また、図５は、タイムアウト時間が調整モードである場合における端末装置２とＩＣカート１との通信シーケンスの例を示す図である。  
通信確立処理において、ＩＣカード１は、ＷＳを設定する。図４および図５に示す例では、ＷＳ＝４とする。通信確立処理において、ＩＣカード１は、設定されたＷＳの値に対応するタイムアウト時間（Acknowledge time）の初期値ＡＴ０を設定される。ＷＳ値に対応するタイムアウト時間の初期値ＡＴ０は、例えば、上述した式により算出される。
【００３７】
また、通信確立処理において、端末装置２は、ＩＣカード１へのリセット要求とともに、タイムアウト時間（Acknowledge time）を固定モードとするか調整モードとするかを指定するようにしても良い。たとえば、端末装置２は、通信確立処理においてＩＣカード１へ送信するリセット要求を含むＵＡフレームにおいて、タイムアウト時間を固定モードとするか調整モードとするかを指定するパラメータを付与する。ＩＣカード１は、リセット要求を含むＵＡフレームのパラメータによりタイムアウト時間を固定モードとするか調整モードとするかを選択する。
【００３８】
タイムアウト時間を自動調整する調整モードである場合、ＩＣカード１は、実際に端末装置２からの送信メッセージ（I-Frame）の受信完了から、タイムアウト時間が経過するまでの時間に応じて、現在設定されているタイムアウト時間を調整（補正）するか否かを判断する。たとえば、送信メッセージの受信完了からのタイムアウト時間までの経過時間Ｔが第１基準値Ａ以上かつ第２基準値Ａ＋α以下である場合、ＩＣカード１は、タイムアウト時間の変更を行わずに、現在のタイムアウト時間の設定値を維持する。
【００３９】
また、送信メッセージの受信完了からのタイムアウト時間までの経過時間Ｔが第１基準値Ａ未満である場合、ＩＣカード１は、タイムアウト時間の設定値をＷＳ値に応じたタイムアウト時間の初期値に補正する調整を行う。また、送信メッセージの受信完了からのタイムアウト時間までの経過時間Ｔが第２基準値Ａ＋αより長い場合、ＩＣカード１は、タイムアウト時間の設定値を短くする調整を行う。たとえば、ＩＣカード１は、現在のタイムアウト時間をＢ（０＜Ｂ＜１）倍することにより、タイムアウト時間を短い時間に調整する。Ｂの値は、たとえば、０．５から０．７５程度が想定される。ただし、タイムアウト時間を短い値に調整する方法は、Ｂ倍する方法に限定されるものでない。たとえば、タイムアウト時間は、現在の設定値から所定時間を減算した値に調整するようにしても良い。
【００４０】
すなわち、端末装置２から送信メッセージ（I-Frame）を受信した場合、ＩＣカード１は、受信した最初のフレームの終わりからタイムアウト時間が経過した時点で受信確認の通知を送信する。受信確認を通知するＩＣカード１は、送信メッセージの受信を完了した時点と設定中のタイムアウト時間に従って受信確信を送信した時点との時間差ｔにより、現在設定されているタイムアウト時間ＡＴ０を変更（調整）するか否かを判断する。
【００４１】
たとえば、図４に示す例では、ＷＳを「４」に設定した通信確立処理の直後に端末装置２から４フレームの送信メッセージ（I-Frame）を受信した場合、時間差ｔがＡ≦ｔ≦Ａ＋αであるため、ＩＣカード１は、タイムアウト時間の調整を実行しない。  
また、図４に示す例では、４フレームの送信メッセージを受信した次に３フレームの送信メッセージを受信した場合、時間差ｔがｔ≧Ａ＋αであるため、ＩＣカード１は、タイムアウト時間の設定値ＡＴをタイムアウト時間ＡＴ０をよりも短い時間ＡＴ１に調整（更新）する。
【００４２】
また、図４に示す例では、３フレームの送信メッセージを受信した次に３フレームの送信メッセージを受信した場合、Ａ≦ｔ≦Ａ＋αであるため、ＩＣカード１は、タイムアウト時間の調整を実行しない。  
また、図４に示す例では、３フレームの送信メッセージの受信に応じてタイムアウト時間をＡＴ１に調整した後に４フレームの送信メッセージを受信した場合、時間差ｔがｔ≦Ａとなるため、ＩＣカード１は、タイムアウト時間の設定値ＡＴをタイムアウト時間の初期値ＡＴ０に変更する。
【００４３】
なお、ＩＣカード１では、タイムアウト時間を短くすることによって全フレームの送信メッセージを受信しきれないうちに受信確認を送信することがあっても良い。たとえば、図４に示す例では、タイムアウト時間ＡＴ１の場合には４フレームからなる送信メッセージを受信しきれないようになっている。この場合、ＩＣカード１は、調整された短いタイムアウト時間で受信確認を送信した際、タイムアウト時間を初期設定に戻すとともに、受信確認が未通知のフレームについては未通知のフレームを受信してからタイムアウト時間が経過した時点で受信確認を送信する。
【００４４】
つまり、図４に示す例において、ＩＣカード１は、４フレームからなる送信メッセージに対してタイムアウト時間ＡＴ１で受信確認を送信する際、タイムアウト時間を初期値ＡＴ０に変更するとともに、受信確認を送信する際に受信中であった残りフレームの受信開始からタイムアウト時間ＡＴ０が経過した時点で、残りフレームの受信確認を端末装置２へ送信する。
【００４５】
次に、ＩＣカード１における調整モードでの処理例について説明する。  
図６は、ＩＣカード１における調整モードでの処理の流れを説明するためのフローチャートである。  
まず、ＩＣカード１は、端末装置２からのリセット要求に応じて通信確立処理を行う（ステップＳ１１）。端末装置２は、ＩＣカード１に対してリセット要求とともに、ＷＳの設定値を指定する。ＩＣカード１のＣＰＵ１１は、端末装置２に指定されたＷＳ値を設定する。ＣＰＵ１１は、端末装置２から指定されたＷＳ値をワーキングメモリ１３に保存することにより、ＷＳ値を設定する。ＷＳ値を設定した場合、ＣＰＵ１１は、ＷＳ値に応じたタイムアウト時間ＡＴの初期値ＡＴ０を算出する。算出したタイムアウト時間の初期値ＡＴ０を算出すると、ＣＰＵ１１は、算出した初期値をタイムアウト時間ＡＴとしてワーキングメモリ１３に保存する。
【００４６】
通信確立処理が完了すると、ＩＣカード１のＣＰＵ１１は、端末装置２からの送信メッセージ（フレーム）の受信待ち状態となる。端末装置２から送信メッセージを受信した場合（ステップＳ１２、ＹＥＳ）、ＩＣカード１のＣＰＵ１１は、端末装置２から受信する送信メッセージにおける最初のフレームの受信完了からの経過時間をタイマ１１ａにより計時する。ＣＰＵ１１は、タイマ１１ａが計時する経過時間がワーキングメモリ１３に記憶している現在の設定されているタイムアウト時間になったか否かを監視する（ステップＳ１３）。
【００４７】
また、送信メッセージを受信する場合、ＣＰＵ１１は、送信メッセージの受信完了を監視する（ステップＳ１４）。タイマ１１ａにより計時する経過時間がタイムアウト時間になる前に送信メッセージの受信が完了した場合（ステップＳ１４、ＹＥＳ）、ＣＰＵ１１は、送信メッセージの受信完了時点から、タイマ１１ａにより計時する経過時間がタイムアウト時間になるまでの時間（時間差）ｔを計時する（ステップＳ１５）。
【００４８】
タイマ１１ａにより計時する経過時間がタイムアウト時間になった場合（ステップＳ１３、ＹＥＳ）、ＣＰＵ１１は、受信したフレームに対する受信確認のレスポンスを端末装置２へ送信する（ステップＳ１６）。受信確認を送信する場合、ＣＰＵ１１は、端末装置２との通信におけるタイムアウト時間の動作モードが調整モードであるか否かを判断する（ステップＳ１７）。調整モードである場合（ステップＳ１７、ＹＥＳ）、ＣＰＵ１１は、端末装置２からの送信メッセージの全フレームを受信済みであるか否かを確認する（ステップＳ１８）。送信メッセージの全フレームが受信済みでない場合（ステップＳ１８、ＮＯ）、ＣＰＵ１１は、タイムアウト時間ＡＴを初期値ＡＴ０に戻す（ステップＳ１９）。この場合、ＣＰＵ１１は、ステップＳ１３へ戻り、受信確認を送信していない残りフレームの受信処理を実行する。
【００４９】
送信メッセージの全フレームが受信済みであることを確認した場合（ステップＳ１８、ＹＥＳ）、ＣＰＵ１１は、受信完了からタイムアウト時間になるまでの時間差ｔが第１基準値Ａ以上であるか否かを判断する（ステップＳ２０）。時間差ｔが第１基準値Ａ未満であると判断した場合（ステップＳ２０、ＮＯ）、ＣＰＵ１１は、タイムアウト時間ＡＴを初期値ＡＴ０に更新する（ステップＳ２１）。この場合、ＣＰＵ１１は、ステップＳ１２へ戻り、次のフレームの受信待ち状態となる。また、第１基準値Ａは、通信速度に応じて設定する時間である。たとえば、第１基準値Ａは、１フレーム分の受信時間よりも短く、フレームの受信完了から確実に受信確認の送信を開始できるまでの時間よりも長い時間であることが考えられる。
【００５０】
なお、全フレームの受信完了から受信確認を送信するまでの時間差ｔが第１基準値Ａ未満となった場合、ＩＣカード１は、直ちに、タイムアウト時間を初期値に戻すのではなく、徐々にタイムアウト時間を長くするような調整を行うようにしても良い。たとえば、ＣＰＵ１１は、時間差ｔが第１基準値Ａ未満となった場合、１よりも大きい倍率Ｃをタイムアウト時間ＡＴに乗算することにより、タイムアウト時間ＡＴをより長い時間に調整しても良い。
【００５１】
また、時間差ｔが第１の基準値Ａ以上であると判断した場合（ステップＳ２０、ＹＥＳ）、ＣＰＵ１１は、さらに、時間差ｔが第２基準値（Ａ＋α）以下であるか否かを判断する（ステップＳ２２）。時間差ｔが第２基準値（Ａ＋α）以下であると判断した場合（ステップＳ２０、ＹＥＳ）、ＣＰＵ１１は、ワーキングメモリ１３に記憶している現在のタイムアウト時間ＡＴを更新することなく、現在のタイムアウト時間の設定値を継続する。この場合、ＣＰＵ１１は、ステップＳ１２へ戻り、次のフレームの受信待ち状態となる。また、第２基準値Ａ＋αも、通信速度に応じて設定する時間である。たとえば、第２基準値Ａ＋αにおけるαは、タイムアウト時間の設定値の継続を許容する範囲となる時間である。
【００５２】
時間差ｔが第２の基準値（Ａ＋α）よりも大きいと判断した場合（ステップＳ２０、ＮＯ）、ＣＰＵ１１は、ワーキングメモリ１３に記憶している現在のタイムアウト時間ＡＴを調整する（ステップＳ２３）。たとえば、ＣＰＵ１１は、ワーキングメモリ１３に記憶している現在のタイムアウト時間ＡＴに倍率Ｂを乗算することにより、タイムアウト時間ＡＴを更新する。ＣＰＵ１１は、倍率Ｂを０＜Ｂ＜１とすることによりタイムアウト時間ＡＴを短い値に設定できる。たとえば、倍率Ｂは、０．５〜０．７５とすることによりタイムアウト時間を１／２〜３／４短縮できる。
【００５３】
上記のように、実施の形態のＩＣカードは、全フレームの受信完了から受信確認を送信する時間差が所定の基準時間よりも長い場合、第１フレームの受信完了から受信確認を送信するまでのタイムアウト時間を短い値に調整する。これにより、ＩＣカードが受信確認を送信するまでの待ち時間が長くなることを抑制できる。
【００５４】
また、ＩＣカードは、全フレームの受信完了から受信確認を送信する時間差が基準時間よりも長ければ、その都度タイムアウト時間を短くする。これにより、設定された最大連続フレーム（ＷＳ）よりも少ないフレーム数の受信が連続するような場合には、徐々にタイムアウト時間を短くして実際に受信しているフレーム数に適したタイムアウト時間に調整することができる。この結果、端末装置とＩＣカードとの通信処理全体における時間も短縮することができる。
【００５５】
上記のように、本実施形態のＩＣカードは、外部装置からの指示を解釈及び実行し、その結果を応答する。ＩＣカードと外部装置とは、データ交換用に最大データ長が規定された可変長のデータ形式（フレーム）を使用し、一方からの受信確認または次フレーム送信要求無しに対して、他方からフレームを連続送信することができる。また、フレームの連続送信数の最大値が設定された場合、最大数のフレームを送信した後に受信確認または次フレーム送信要求を待つ通信方式において、ＩＣカード又は端末装置は、受信確認を送信するまでの時間の初期値が活性化時に設定される。ＩＣカード又は端末装置は、初期値を設定した以降のフレーム交換において、実際の受信完了時と受信確認の送信時との時間差に応じて、受信確認送信までの時間を自動的に調整する。
【００５６】
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５７】
１…ＩＣカード、Ｃ…本体、１ａ…ＩＣチップ、２…端末装置（携帯電話機、外部装置）、１１…ＣＰＵ、１１ａ…タイマ、１２…プログラムメモリ、１３…ワーキングメモリ、１４…データメモリ、１５…通信制御部、１６…電源部、１７…インターフェース、３１…制御部、３２…ＲＡＭ、３４…不揮発性メモリ、３５…インターフェース。
【図１】
0005602075.tif 000002
【図２】
0005602075.tif 000003
【図３】
0005602075.tif 000004
【図４】
0005602075.tif 000005
【図５】
0005602075.tif 000006
【図６】
0005602075.tif 000007