(57)【要約】【課題】効率的に通信を行うことができる携帯可能電子装置、ＩＣカード、通信システム、および携帯可能電子装置の制御方法を提供する。【解決手段】実施形態に係る携帯可能電子装置は、通信手段と、処理手段と、設定手段と、再送手段とを有する。通信手段は、外部装置とのデータの送受信を行う。処理手段は、通信手段により受信するデータに含まれるコマンドに応じた処理を実行する。設定手段は、外部装置へデータを再送信する再送間隔を設定する。再送手段は、外部装置へデータを送信してから設定手段により設定した再送間隔が経過するまでの間に外部装置からのデータの受信が無い場合、外部装置へ最後に送信したデータを再び送信する。【選択図】図１
2013003676.tif 000002
【特許請求の範囲】
【請求項１】
携帯可能電子装置であって、
外部装置とのデータの送受信を行う通信手段と、
前記通信手段により受信するデータに含まれるコマンドに応じた処理を実行する処理手段と、
前記外部装置へデータを再送信する再送間隔を設定する設定手段と、
前記外部装置へデータを送信してから前記設定手段により設定した再送間隔が経過するまでの間に前記外部装置からのデータの受信が無い場合、前記外部装置へ最後に送信したデータを再び送信する再送手段と、
を有することを特徴とする携帯可能電子装置。
【請求項２】
前記通信手段は、前記再送間隔を指定するパラメータを含むデータを前記外部装置から受信し、
前記設定手段は、前記通信手段により前記外部装置から受信するデータに含まれる前記再送間隔を指定するパラメータに基づいて、前記再送間隔を設定する、
ことを特徴とする前記請求項２に記載の携帯可能電子装置。
【請求項３】
携帯可能電子装置であって、
外部装置とのデータの送受信を行う通信手段と、
前記通信手段により受信するデータに含まれるコマンドに応じた処理を実行する処理手段と、
前記外部装置へデータを再送信する再送回数の上限値を設定する設定手段と、
前記外部装置へデータを送信してから再送間隔が経過するまでの間に前記外部装置からのデータの受信が無い場合、前記設定手段により設定した再送回数の上限値に達するまで前記外部装置へ最後に送信したデータを再送する再送手段と、
を有することを特徴とする携帯可能電子装置。
【請求項４】
前記通信手段は、前記再送回数を指定するパラメータを含むデータを前記外部装置から受信し、
前記設定手段は、前記通信手段により前記外部装置から受信するデータに含まれる前記再送回数の上限値を指定するパラメータに基づいて前記再送回数の上限値を設定する、
ことを特徴とする前記請求項３に記載の携帯可能電子装置。
【請求項５】
さらに、前記再送手段による前記データの再送回数が前記設定手段により設定した再送回数の上限値に達した場合、前記外部装置との通信を終了する制御手段を有する、
ことを特徴とする前記請求項３又は４に記載の携帯可能電子装置。
【請求項６】
ＩＣカードであって、
外部装置とのデータの送受信を行う通信手段と、前記通信手段により受信するデータに含まれるコマンドに応じた処理を実行する処理手段と、前記外部装置へデータを再送信する再送間隔を設定する設定手段と、前記外部装置へデータを送信してから前記設定手段により設定した再送間隔が経過するまでの間に前記外部装置からのデータの受信が無い場合、前記外部装置へ最後に送信したデータを再び送信する再送手段とを有するモジュールと、
前記モジュールを具備する本体と、
を有することを特徴とするＩＣカード。
【請求項７】
ＩＣカードであって、
外部装置とのデータの送受信を行う通信手段と、前記通信手段により受信するデータに含まれるコマンドに応じた処理を実行する処理手段と、前記外部装置へデータを再送信する再送回数の上限値を設定する設定手段と、前記外部装置へデータを送信してから再送間隔が経過するまでの間に前記外部装置からのデータの受信が無い場合、前記設定手段により設定した再送回数の上限値に達するまで前記外部装置へ最後に送信したデータを再送する再送手段とを有するモジュールと、
前記モジュールを具備する本体と、
を有することを特徴とするＩＣカード。
【請求項８】
外部装置と携帯可能電子装置とを有する通信システムであって、
前記外部装置は、
前記携帯可能電子装置とのデータの送受信を行う第１の通信手段と、
前記第１の通信手段により前記携帯可能電子装置にデータの再送間隔を指定するデータを送信する指定手段と、を有し、
前記携帯可能電子装置は、
前記外部装置とのデータの送受信を行う第２の通信手段と、
前記第２の通信手段により受信するデータに含まれるコマンドに応じた処理を実行する処理手段と、
前記外部装置へデータを再送信する再送間隔を設定する設定手段と、
前記外部装置へデータを送信してから前記設定手段により設定した再送間隔が経過するまでの間に前記外部装置からのデータの受信が無い場合、前記外部装置へ最後に送信したデータを再び送信する再送手段と、を有する、
ことを特徴とする通信システム。
【請求項９】
外部装置と携帯可能電子装置とを有する通信システムであって、
前記外部装置は、
前記携帯可能電子装置とのデータの送受信を行う第１の通信手段と、
前記第１の通信手段により前記携帯可能電子装置にデータの再送回数を指定するデータを送信する指定手段と、を有し、
前記携帯可能電子装置は、
前記外部装置とのデータの送受信を行う第２の通信手段と、
前記第２の通信手段により受信するデータに含まれるコマンドに応じた処理を実行する処理手段と、
前記外部装置へデータを再送信する再送回数の上限値を設定する設定手段と、
前記外部装置へデータを送信してから再送間隔が経過するまでの間に前記外部装置からのデータの受信が無い場合、前記設定手段により設定した再送回数の上限値に達するまで前記外部装置へ最後に送信したデータを再送する再送手段と、を有する、
ことを特徴とする通信システム。
【請求項１０】
外部装置とのデータの送受信を行う通信部と前記通信部により受信するデータに含まれるコマンドに応じた処理を実行する制御部とを有する携帯可能電子装置に用いられる通信制御方法であって、
前記外部装置へデータを再送信する再送間隔を設定し、
前記外部装置へデータを送信してから前記設定した再送間隔が経過するまでの間に前記外部装置からのデータの受信が無い場合、前記外部装置へ最後に送信したデータを再び送信する、
を有することを特徴とする携帯可能電子装置の制御方法。
【請求項１１】
外部装置とのデータの送受信を行う通信部と、前記通信部により受信するデータに含まれるコマンドに応じた処理を実行する制御部とを有する携帯可能電子装置に用いられる通信制御方法であって、
前記外部装置へデータを再送信する再送回数の上限値を設定し、
前記外部装置へデータを送信してから再送間隔が経過するまでの間に前記外部装置からのデータの受信が無い場合、前記設定した再送回数の上限値に達するまで前記外部装置へ最後に送信したデータを再送する、
ことを特徴とする携帯可能電子装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明の実施形態は、携帯可能電子装置、ＩＣカード、通信システム、および携帯可能電子装置の制御方法に関する。
【背景技術】
【０００２】
ＩＣカードなどの携帯可能電子装置と端末装置との通信方式には、ＩＣカードが、データを端末装置へ送信した後に、端末装置から次のデータを受信するまで、所定の時間間隔ごとに最後の送信したデータを端末装置へ再送し続ける機能を有するものがある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ＥＴＳＩ  ＴＳ１０２６１３
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この発明の一形態は、効率的に通信を行うことができる携帯可能電子装置、ＩＣカード通信システム、および携帯可能電子装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
この実施の形態によれば、携帯可能電子装置は、通信手段と、処理手段と、設定手段と、再送手段とを有する。通信手段は、外部装置とのデータの送受信を行う。処理手段は、通信手段により受信するデータに含まれるコマンドに応じた処理を実行する。設定手段は、外部装置へデータを再送信する再送間隔を設定する。再送手段は、外部装置へデータを送信してから設定手段により設定した再送間隔が経過するまでの間に外部装置からのデータの受信が無い場合、外部装置へ最後に送信したデータを再び送信する。
【図面の簡単な説明】
【０００６】
【図１】図１は、ＩＣカードおよびＩＣカードシステムの構成例を示すブロック図である。
【図２】図２は、端末装置の一例としての携帯電話機の構成例を示すブロック図である。
【図３】図３は、ＩＣカードシステムにおける通信手順の一例として第１の通信手順を説明するための図である。
【図４】図４は、ＩＣカードシステムにおける第１の通信手順を示すシーケンス図である。
【図５】図５は、リセットフレームの構成例を示す図である。
【図６】図６は、ＩＣカードシステムにおける通信手順の一例として第２の通信手順を説明するための図である。
【図７】図７は、ＩＣカードシステムにおける第２の通信手順を示すシーケンス図である。
【図８】図８は、ＩＣカードシステムにおける通信手順の一例として第３の通信手順を説明するための図である。
【図９】図９は、ＩＣカードシステムにおける第３の通信手順を示すシーケンス図である。
【図１０】図１０は、ＩＣカードにおける処理例を説明するためのフローチャートである。
【発明を実施するための形態】
【０００７】
以下、実施の形態について図面を参照して詳細に説明する。  
図１は、携帯可能電子装置としてのＩＣカード１と端末装置２とを有するＩＣカードシステムの構成例を示すブロック図である。  
図１に示すＩＣカードシステムは、ＩＣカード１と端末装置２とが双方向にデータの送受信を行う通信システムである。たとえば、ＩＣカードシステムは、ＩＣカード１が端末装置２としての携帯電話機に装着される運用形態が想定される。このような運用形態では、端末装置２にＩＣカード１が装着された状態でＩＣカード１と端末装置２とがデータ通信を行う。また、ＩＣカード１と端末装置２との通信方式は、たとえば、ＳＷＰ通信などの全２重通信である。ＩＣカード１と端末装置２とのＳＷＰ通信の一例としては、「ＥＴＳＩ  ＴＳ１０２６１３」で規定された通信規格に準ずるものを想定する。
【０００８】
ＩＣカード１は、端末装置２からの電源供給により動作する。たとえば、上記ＩＣカード１は、上記端末装置２と物理的、電気的に接触して通信を行う接触式の携帯可能電子装置（接触式ＩＣカード）である。ただし、上記ＩＣカード１は、アンテナあるいは無線通信部等により上記端末装置２と非接触の状態で無線通信を行う非接触式の携帯可能電子装置（非接触式ＩＣカード）であっても良い。さらには、上記ＩＣカード１は、非接触式ＩＣカードとしての通信機能と接触式ＩＣカードとしての通信機能とを有する複合型のＩＣカード（デュアルインターフェースＩＣカード）であっても良い。
【０００９】
図１に示すように、上記ＩＣカード１は、制御部（ＣＰＵ）１１、プログラムメモリ１２、ワーキングメモリ１３、データメモリ１４、通信制御部１５、電源部１６、および、インターフェース１７などを有する。  
上記ＩＣカード１は、カード状の本体Ｃにより構成される。上記ＩＣカード１を形成するカード状の本体Ｃには、１つあるいは複数のＩＣチップ１ａとインターフェース１７とが内蔵される。上記ＩＣチップ１ａは、制御部（ＣＰＵ）１１、プログラムメモリ１２、ワーキングメモリ１３、データメモリ１４、通信制御部１５および電源部１６などを有している。上記ＩＣチップ１ａは、上記インターフェース１７に接続された状態でモジュール化され、当該ＩＣカード１を形成するカード状の本体Ｃ内に埋設される。
【００１０】
上記制御部１１は、ＩＣカード１全体の制御を司る。上記制御部１１は、ＣＰＵなどのプロセッサを有する。上記制御部１１は、上記プログラムメモリ１２あるいはデータメモリ１４に記憶されている制御プログラムおよび制御データなどに基づいて動作する。たとえば、上記制御部１１は、上記プログラムメモリ１２に記憶されている制御プログラムを実行することにより、端末装置２との通信制御を行ったり、端末装置２から与えられるコマンドに応じた処理を行ったりする。
【００１１】
また、上記制御部１１は、時間を計時するタイマ１１ａを有する。タイマ１１ａは、たとえば、応答データの送信タイミングを計る。  
上記プログラムメモリ１２は、読み出し専用のメモリ（ＲＯＭ：リードオンリーメモリ）により構成される。上記プログラムメモリ１２は、当該ＩＣカード１の仕様に応じた動作を司る制御プログラムおよび制御データなどを記憶する。
【００１２】
上記ワーキングメモリ１３は、揮発性のメモリ（ＲＡＭ；ランダムアクセスメモリ）により構成される。上記ワーキングメモリ１３は、データを一時保管するバッファメモリとして機能する。例えば、上記ワーキングメモリ１３には、端末装置２との通信処理において、送受信されるデータを一時的に保管する通信バッファとして利用可能である。また、上記ワーキングメモリ１３は、種々の書込みデータなどを一時的に保持するメモリとしても利用される。
【００１３】
上記データメモリ（不揮発性メモリ）１４は、データの書き込みが可能な不揮発性のメモリである。上記データメモリ１４は、例えば、ＥＥＰＲＯＭあるいはフラッシュメモリなどにより構成される。上記データメモリ１４には、当該ＩＣカード１の使用目的に応じた種々の情報（アプリケーションプログラムおよび運用データなど）が書込まれる。当該ＩＣカード１が複数の使用目的に使用される場合、上記データメモリ１４には、各使用目的に応じた複数のアプリケーションが記憶される。
【００１４】
上記通信制御部１５は、上記インターフェース１７を介して端末装置２とのデータ通信を制御するものである。当該ＩＣカード１が接触式ＩＣカードである場合、通信制御部１５は、端末装置２と物理的・電気的に接触するコンタクト部としてのインターフェース１７を介してデータを送受信する。なお、非接触型のＩＣカードであれば、上記通信制御部１５は、インターフェース１７としてのアンテナにより送受信するデータを変調あるいは復調する。
【００１５】
上記電源部１６は、当該ＩＣカード１の各部を動作させるための電力およびクロックパルスを供給する。たとえば、当該ＩＣカード１が接触型のＩＣカードである場合、上記電源部１６は、インターフェース１７を介して外部装置から直接的に供給される電力およびクロックパルスを各部へ供給する。なお、当該ＩＣカードが非接触型のＩＣカードである場合、上記電源部１６は、上記インターフェース１７としてのアンテナにより受信した電波から電力およびクロックパルスを生成し、当該ＩＣカード内の各部に供給する。
【００１６】
また、ワーキングメモリ１３は、通信確立処理において設定される通信設定などの設定データを記憶する。たとえば、ワーキングメモリ１３は、１回に送受信できる伝送フレームの最大数（以下、最大フレーム数、ウインドウサイズ（Window size）とも称する）の設定値などの通信設定値を記憶する。また、ワーキングメモリ１３は、最後に送信したレスポンスなどのデータの再送回数、および、最後に送出したデータの再送間隔などの設定値も記憶する。ワーキングメモリ１３は、通信確立処理において設定されるウインドウサイズ、再送回数および再送間隔などの通信設定値を当該端末装置２との通信処理が終了するまで記憶する。ただし、通信中に通信設定値の変更が指示された場合、ワーキングメモリ１３の記憶する通信設定値は、適宜更新される。
【００１７】
次に、端末装置２の構成について説明する。  
上記端末装置２は、ＩＣカード１を動作させるための電源を供給するとともに、当該ＩＣカード１とのデータ通信を行う。本実施の形態では、端末装置２が携帯電話機である場合を想定する。ただし、端末装置２は、携帯電話機に限定されるものではなく、ＩＣカード１の通信方式に対応するカードリーダライタを具備する電子装置であれば良い。たとえば、端末装置２は、ＩＣカード１の通信方式に対応するカードリーダライタを具備する電子計算機などであっても良い。
【００１８】
端末装置２としての携帯電話機は、各ユーザが所持するＩＣカード１を装着した状態で携帯電話機としての通信が利用可能となる運用形態が想定される。また、ＩＣカード１は、端末装置２としての携帯電話機に設けられたＩＣカード用のソケットに装着される。携帯電話機のＩＣカード用のソケットに装着された状態で、携帯電話機のインターフェースとしてのコンタクト部とＩＣカード１のインターフェースとが接触してデータ通信が可能となる。また、上記携帯電話機２は、ＩＣカード１に物理的に接触しているコンタクト部を介して当該ＩＣカード１に動作用の電力およびクロックパルスを供給する。
【００１９】
図２は、端末装置２の一例としての携帯電話機の構成例を示すブロック図である。  
図２に示す構成例では、携帯電話機２は、制御部３１、ＲＡＭ３２、ＲＯＭ３３、不揮発性メモリ３４、ＩＣカード用のインターフェース（ＩＣカードインターフェース）３５、アンテナ３７、通信部３８、音声部３９、振動部４０、表示部４１、操作部４２および電源部４３などを有する。
【００２０】
上記制御部３１は、携帯電話機２全体の制御を司るものである。上記制御部３１は、ＣＰＵ、内部メモリ、各種のインターフェースなどを有する。また、上記制御部３１は、上記表示部４１の表示を制御する表示制御機能、ＰＬＬ（Phase Locked Loop）回路、データストリーム経路切換え、ＤＭＡ（Direct Memory Access）コントローラ、割り込みコントローラ、タイマ、ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）、秘匿、ＨＤＬＣ（High-level Data Link Control procedure）フレーミング、ディバイスコントローラなどの機能を有する。
【００２１】
上記ＲＡＭ３２は、作業用のデータを記憶するための揮発性メモリである。ＲＡＭ３２は、ＩＣカード１との通信設定情報として、通信確立処理において設定する設定データを記憶する。たとえば、ＲＡＭ３２は、ＩＣカード１との通信に適用するウインドウサイズの設定値などの通信設定値を記憶する。また、ＲＡＭ３２は、端末装置２がＩＣカード１に対して指定したデータの再送回数およびデータの再送間隔などの情報を記憶しても良い。上記ＲＯＭ３３は、制御プログラムおよび制御データなどが記憶されている不揮発性メモリである。上記制御部３１は、上記ＲＯＭ３３に記憶されている制御プログラムを実行することにより、当該携帯電話機２の制御を実現している。
【００２２】
上記不揮発性メモリ３４は、種々のデータが記憶される書き換え可能な不揮発性メモリである。上記不揮発性メモリ３４には、種々のアプリケーションプログラム（アプリケーション）、制御データ、および、ユーザデータなどが記憶される。上記制御部３１は、上記不揮発性メモリ３４に記憶されているアプリケーションプログラムを実行することにより、種々の機能を実現する。
【００２３】
上記ＩＣカードインターフェース３５は、ＩＣカード１が装着されるインターフェースである。上記ＩＣカードインターフェース３５は、上記制御部３１に接続されている。これにより、上記制御部３１は、上記ＩＣカードインターフェース３５を介して上記ＩＣカード１とのデータ通信が可能となっている。
【００２４】
上記通信部３８は、通信用のアンテナ３７を介して通話データあるいはデータ通信用のデータを電波で送受信する。上記音声部３９は、音声の入出力を行う。上記振動部４０は、当該携帯電話機２全体を振動させる振動機構により構成される。上記表示部４１は、上記制御部３１により表示の表示内容などが制御される。上記操作部４２は、キーボードなどにより構成され、ユーザによる操作指示が入力される。上記電源部４３は、バッテリーなどにより構成され、当該携帯電話機２内の各部に電源を供給する。また、上記電源部４３は、上記ＩＣカードインターフェース３５を介して接続されたＩＣカード１にも電源を供給する機能も有している。
【００２５】
次に、ＩＣカード１と端末装置２との通信について説明する。  
本実施例のＩＣカードシステムにおいて、ＩＣカード１と端末装置２とは、たとえば、「ＥＴＳＩ」で規定される通信規格に準ずるＳＷＰ通信などの全２重通信を行うものを想定する。たとえば、本ＩＣカードシステムにおいて、ＩＣカード１と端末装置２とは、送受信するデータの形式が予め決められるものとする。また、ＩＣカード１と端末装置２とは、フレーム単位のデータを伝送する。１フレーム当りの伝送データ量は、規定のサイズである。すなわち、端末装置２とＩＣカート１とで送受信されるデータは、規定サイズのフレーム単位で分割して送受信され、１回に送受信できるフレーム数が通信設定値により設定されるものとする。
【００２６】
図３は、本ＩＣカードシステムにおける通信手順の一例として第１の通信手順を説明するための図である。また、図４は、本ＩＣカードシステムにおける第１の通信手順を示すシーケンス図である。  
まず、端末装置２とＩＣカード１とは、通信確立処理を行う。端末装置２とＩＣカード１とは、通信確立処理により通信設定の初期値を設定する。通信確立処理において、端末装置２は、ＩＣカード１へリセットを要求するリセットフレーム（Ｕフレーム）を送信し（Ｓ１１）、ＩＣカード１は、リセットフレームで指定された各種の通信設定を行い（Ｓ１２）、端末装置２へリセットの受信確認（Ｕフレーム）を送信する（Ｓ１３）。
【００２７】
リセットフレームにおいて、端末装置２は、ＩＣカード１に対して、１回で送受信するフレーム数（ウインドウサイズ：Window Size）、データの再送回数、および、データの再送間隔を指定する。ウインドウサイズ、データの再送回数、および、データの再送間隔は、リセットフレームに含まれるパラメータを用いて指定される。なお、図３及び図４に示す第１の通信手順においては、リセットフレームは、ウインドウサイズが「４」、データの再送回数が「回数制限無し」、データの再送間隔が「デフォルト（Ｔ１［ｍｓ］）」をそれぞれ指定するものであると想定する。
【００２８】
リセットフレームを受信したＩＣカード１は、当該リセットフレームで指定されたウインドウサイズに従って当該端末装置２との間で１回に送受信するデータのフレーム数を設定する。たとえば、リセットフレームで指定されるウインドウサイズが「４」であれば、ＩＣカード１は、端末装置２との間で１回に送受信するデータのフレーム数を「４」に設定する。
【００２９】
また、上記レスポンスとは、端末装置２から受信したコマンドに対する応答であり、当該コマンドに対する処理結果などのデータを含むものである。  
リセットフレームで指定されるデータの再送回数は、次のデータが端末装置２から受信できない場合に、ＩＣカード１がデータを再送する再送回数の上限値である。たとえば、コマンドに対する応答として送信したレスポンスの受信確認がコマンドの送信元（端末装置２）から受信できない場合に、ＩＣカード１は、再送回数の上限値に達するまで当該レスポンスを再送する。
【００３０】
また、リセットフレームで指定されるデータの再送間隔は、次のデータが端末装置２から受信できない場合に、ＩＣカード１がデータを再送する時間間隔である。たとえば、コマンドに対する応答として送信したレスポンスに対する受信確認がコマンドの送信元（端末装置２）から受信できない場合、ＩＣカード１は、再送間隔で当該レスポンスを再送する。
【００３１】
上記のようなリセットフレームを受信したＩＣカード１は、データの再送回数、および、データの再送間隔を設定する。データの再送回数およびデータの再送間隔は、通信確立処理時に端末装置２からＩＣカード１へ送信されるリセットフレームにおけるパラメータで指定される。従って、ＩＣカード１は、端末装置２から受信したリセットフレームにおけるパラメータに従ってデータの再送回数およびデータの再送間隔を設定する。
【００３２】
図５は、リセットフレームの構成例を示す図である。  
図５に示す構成例では、リセットフレームは、識別情報と各種の指定値を示すパラメータとを含む。図５に示す例において、識別情報は、当該フレームがリセット要求であることを示す固定値（「1111 1001」）である。図５に示す例において、ウインドウサイズ（ＷＳ）パラメータは、ウインドウサイズを指定するパラメータ、データの再送回数の上限値を示すパラメータ、および、データの再送間隔を示すパラメータを含む構成としている。すなわち、図５に示す例において、８ビットのパラメータのうち上位１ビットが再送間隔を指定するパラメータであり、上位２ビット〜４ビット（３ビット）が再送回数の上限値を指定するパラメータであり、下位４ビットがウインドウサイズを指定するパラメータである。
【００３３】
図５に示す例において、設定すべきウインドウサイズは、４ビットで指定される。ウインドウサイズは、１回に送受信できる最大フレーム数である。つまり、リセットフレームで指定されたウインドウサイズを送受信可能な最大フレーム数として、ＩＣカード１と端末装置２とは、最大フレーム数までのフレーム数で構成されるデータを送受信（フレーム交換）する。たとえば、最大フレーム数としては、４までの数値が設定される。ただし、図５に示す例のようにウインドウサイズを４ビットのデータで指定する場合、最大フレーム数としては、４ビットで表現できる数値（０〜１５）までが設定可能である。
【００３４】
また、図５に示す例では、データの再送間隔は、１ビットのパラメータで指定される。図５に示す例のように、再送間隔を指定するパラメータを１ビットとすれば、再送間隔は、「０」か「１」の何れかの値で指定する。図５に示す例では、「０」が再送間隔をデフォルト値に指定し、「１」がデフォルト値の所定数倍（例えば、２倍）を指定することを想定している。なお、再送間隔のデフォルト値は、ウインドウサイズに応じて決めるもので良い。また、図５に示す例では、「１」を指定する場合、端末装置２からのデータの受信待ち時間をデフォルト値（Ｔ１［ｍｓ］）よりも長くすることを想定して、再送間隔をデフォルト値の２倍（Ｔ２［ｍｓ］）に長くするものとしている。
【００３５】
図５に示す例において、再送回数の上限値は、３ビットで指定する。また、再送回送の制限値として、０回（つまり、再送無し）と再送回数無制限（つまり、再送回送無限大）とを指定できるようにするものとする。この場合、３ビットのパラメータでは、再送回数の上限値としては、０（「000」）、１（「001」）、２（「010」）、３（「011」）、４（「100」）、５（「101」）、6（「110」）、あるいは、制限無し（「111」）の何れかが指定できる。  
上記のようなリセットフレームを受信したＩＣカード１は、ウインドウサイズ、再送間隔、再送回数の上限値を設定し、リセットの受信確認を端末装置２へ送信することにより、通信確立処理が完了する。
【００３６】
リセットの受信確認を受信した後、つまり、通信確立処理が完了した後、端末装置２は、ウインドウサイズ以内のフレーム数からなるデータとしてのコマンド（Ｉフレーム）をＩＣカード１へ送信する（Ｓ１４）。ＩＣカード１は、端末装置２からのＩフレーム（コマンド）を受信すると、当該Ｉフレームに対する受信確認（Ｓフレーム）を送信する（Ｓ１５）。さらに、ＩＣカード１は、Ｉフレームとしてのコマンドに対するコマンド処理として、当該コマンドで要求された処理を実行し、その処理結果を含むレスポンスデータを生成する（Ｓ１６）。ＩＣカード１は、コマンド処理が終了すると、当該コマンドの処理結果を含むレスポンスデータを当該コマンドに対するレスポンス（Ｉフレーム）として端末装置２へ送信する（Ｓ１７）。
【００３７】
ＩＣカード１は、レスポンスを送信してからの経過時間をタイマ１１ａにより計時する。当該レスポンスを送信した後、ＩＣカード１は、端末装置２からの次の送信データ（当該レスポンスの受信確認あるいは次のコマンド）の受信待ちとなる。受信待ちの状態のままレスポンスを送信してからの経過時間が再送間隔に達すると、ＩＣカード１は、当該データの再送回数が設定されている再送回数の上限値に達しているか否かを判断する。当該データの再送回数が再送回数の上限値に達していない場合、ＩＣカード１は、当該レスポンスを端末装置２へ再送する（Ｓ１８）。
【００３８】
また、レスポンスを再送した後も端末装置２から次のデータが受信できなければ、ＩＣカード１は、当該データの再送回数が設定されている再送回数の上限値に達するまで、当該レスポンスの再送を繰り返し実行する（Ｓ１９）。また、データの再送回数が上限値に達するまでに端末装置２からレスポンスの受信確認を受信できた場合（Ｓ２０）、ＩＣカード１は、次のデータの受信待ち状態となる。また、端末装置２から次のデータが受信できないまま当該データの再送回数が設定されている再送回数の上限値に達した場合、ＩＣカード１は、端末装置２との通信処理を強制的に終了する。
【００３９】
次に、データの再送回数が上限値に達した場合の動作例について説明する。  
図６は、データの再送回数が上限値に達した場合の通信手順の一例として第２の通信手順を説明するための図である。また、図７は、本ＩＣカードシステムにおける第２の通信手順を示すシーケンス図である。  
まず、端末装置２とＩＣカード１とは、通信確立処理を行う。端末装置２とＩＣカード１とは、通信確立処理により通信設定の初期値を設定する。通信確立処理において、端末装置２は、ＩＣカード１へリセットを要求するリセットフレーム（Ｕフレーム）を送信し（Ｓ２１）、ＩＣカード１は、リセットフレームで指定された各種の通信設定を行い（Ｓ２２）、端末装置２へリセットの受信確認（Ｕフレーム）を送信する（Ｓ２３）。
【００４０】
第２の通信手順における通信確立処理は、上記第１の通信手順と同様な手順で実施される。すなわち、第２の通信手順の通信確立処理においても、端末装置２は、ＩＣカード１に対して、１回で送受信するフレーム数（ウインドウサイズ）、データの再送回数、および、データの再送間隔をリセットフレームで指定する。ただし、図６及び図７に示す第２の通信手順においては、リセットフレームは、データの再送回数として「１回」を指定し、データの再送間隔として「デフォルト（Ｔ１［ｍｓ］）」をそれぞれ指定する。
【００４１】
リセットフレームを受信したＩＣカード１は、当該リセットフレームのパラメータに従って、ウインドウサイズ、データの再送回数、および、データの再送間隔を設定する。図６及び図７に示す例では、リセットフレームにおいてデータの再送回数が「１回」、データの再送間隔が「デフォルト（Ｔ１［ｍｓ］）」に指定される。このため、第２の通信手順の通信確立処理において、ＩＣカード１は、データの再送回数の上限値を「１回」に設定し、データの再送間隔を「Ｔ１［ｍｓ］」に設定する。
【００４２】
通信確立処理が完了した後（端末装置２がＩＣカード１からのリセットの受信確認を受信した後）、端末装置２は、ウインドウサイズ以内のフレーム数からなるデータとしてのコマンド（Ｉフレーム）をＩＣカード１へ送信する（Ｓ２４）。
【００４３】
ＩＣカード１は、端末装置２からのＩフレーム（コマンド）を受信すると、当該Ｉフレームの受信完了を示す受信確認（Ｓフレーム）を送信する（Ｓ２５）。Ｉフレーム（コマンド）の受信を完了すると、ＩＣカード１は、当該コマンドに対するコマンド処理として、当該コマンドで要求された処理を実行し、その処理結果を含むレスポンスデータを生成する（Ｓ２６）。ＩＣカード１は、コマンド処理が終了すると、当該コマンドの処理結果を含むレスポンスデータを当該コマンドに対するレスポンス（Ｉフレーム）として端末装置２へ送信する（Ｓ２７）。
【００４４】
ＩＣカード１は、レスポンスを送信してからの経過時間をタイマ１１ａにより計時する。当該レスポンスを送信した後、ＩＣカード１は、端末装置２からの次の送信データ（当該レスポンスの受信確認あるいは次のコマンド）の受信待ちとなる。受信待ちの状態のままレスポンスを送信してからの経過時間が再送間隔に達すると、ＩＣカード１は、当該データの再送回数が設定されている再送回数の上限値に達しているか否かを判断する。当該データの再送回数が再送回数の上限値に達していない場合、ＩＣカード１は、当該レスポンスを端末装置２へ再送する（Ｓ２８）。
【００４５】
第２の通信手順では、再送回数の上限値が「１回」であるため、ＩＣカード１は、レスポンスの再送を１回のみ実施する。すなわち、最初のレスポンスを送信してから再送間隔が経過する間に端末装置２から次のデータが受信できなければ、ＩＣカード１は、レスポンスを１回のみ再送する（Ｓ２８）。レスポンスを再送してから再送間隔が経過する間に端末装置２から次のデータが受信できなければ、ＩＣカード１は、レスポンスの２回目の再送を行うことなく、通信を強制的に終了する（Ｓ２９）。なお、レスポンスを再送してから再送間隔が経過するまでに端末装置２からレスポンスの受信確認を受信できた場合、ＩＣカード１は、端末装置２との通信状態を継続し、端末装置２からの次のデータの受信待ち状態となる。
【００４６】
次に、データの再送間隔をデフォルト値と異なる値に設定する場合の動作例について説明する。  
図８は、レスポンスの再送送信をデフォルト値（Ｔ１）の２倍となる値（Ｔ２）に設定する場合の通信手順の一例として第３の通信手順を説明するための図である。また、図９は、本ＩＣカードシステムにおける第３の通信手順を示すシーケンス図である。  
まず、端末装置２とＩＣカード１とは、通信確立処理を行う。端末装置２とＩＣカード１とは、通信確立処理により通信設定の初期値を設定する。通信確立処理において、端末装置２は、ＩＣカード１へリセットを要求するリセットフレーム（Ｕフレーム）を送信し（Ｓ３１）、ＩＣカード１は、リセットフレームで指定された各種の通信設定を行い（Ｓ３２）、端末装置２へリセットの受信確認（Ｕフレーム）を送信する（Ｓ３３）。
【００４７】
第３の通信手順における通信確立処理の手順は、上記第１及び第２の通信手順と同様である。すなわち、通信確立処理においても、端末装置２は、ＩＣカード１に対して、１回で送受信するフレーム数（ウインドウサイズ）、データの再送回数、および、データの再送間隔をリセットフレームで指定する。ただし、図８及び図９に示す第３の通信手順においては、リセットフレームは、データの再送回数として「１回」を指定し、データの再送間隔として「デフォルト（Ｔ１）の２倍（Ｔ２［ｍｓ］）」をそれぞれ指定する。
【００４８】
リセットフレームを受信したＩＣカード１は、当該リセットフレームのパラメータに従って、ウインドウサイズ、データの再送回数、および、データの再送間隔を設定する。図８及び図９に示す例では、リセットフレームにおいてデータの再送回数が「１回」、データの再送間隔が「Ｔ２」に指定される。このため、第３の通信手順の通信確立処理において、ＩＣカード１は、データの再送回数の上限値を「１回」に設定し、データの再送間隔を「Ｔ２［ｍｓ］」に設定する。
【００４９】
通信確立処理が完了した後（端末装置２がＩＣカード１からのリセットの受信確認を受信した後）、端末装置２は、ウインドウサイズ以内のフレーム数からなるデータとしてのコマンド（Ｉフレーム）をＩＣカード１へ送信する（Ｓ３４）。
【００５０】
ＩＣカード１は、端末装置２からのＩフレーム（コマンド）を受信すると、当該Ｉフレームの受信完了を示す受信確認（Ｓフレーム）を送信する（Ｓ３５）。Ｉフレーム（コマンド）の受信を完了すると、ＩＣカード１は、当該コマンドに対するコマンド処理として、当該コマンドで要求された処理を実行し、その処理結果を含むレスポンスデータを生成する（Ｓ３６）。ＩＣカード１は、コマンド処理が終了すると、当該コマンドの処理結果を含むレスポンスデータを当該コマンドに対するレスポンス（Ｉフレーム）として端末装置２へ送信する（Ｓ３７）。
【００５１】
ＩＣカード１は、レスポンスを送信してからの経過時間をタイマ１１ａにより計時する。当該レスポンスを送信した後、ＩＣカード１は、端末装置２からの次の送信データ（当該レスポンスの受信確認あるいは次のコマンド）の受信待ちとなる。受信待ちの状態のままレスポンスを送信してからの経過時間が再送間隔Ｔ２に達すると、ＩＣカード１は、当該データの再送回数が設定されている再送回数の上限値に達しているか否かを判断する。当該データの再送回数が再送回数の上限値に達していない場合、ＩＣカード１は、当該レスポンスを端末装置２へ再送する（Ｓ３８）。
【００５２】
第３の通信手順では、再送間隔がＴ１の２倍の「Ｔ２［ｍｓ］」である。Ｔ１が再送間隔のデフォルト値（標準値）であるとすると、第３の通信手順において、ＩＣカード１は、データの再送間隔をデフォルト値の２倍に設定することを意味する。言い換えると、本システムでは、端末装置２がデータの再送間隔としてデフォルト値よりも長い時間をＩＣカードに対して指定できる。このため、ＩＣカード１は、デフォルト値の再送間隔Ｔ１よりも長い時間Ｔ２で端末装置２からの次のデータの受信待ちが可能となる。第３の通信手順において、Ｔ１よりも長い再送間隔Ｔ２でも端末装置２から次のデータが受信でない場合、ＩＣカード１は、再送回数の上限に達するまで当該レスポンスを再送する（Ｓ３８）。
【００５３】
また、レスポンスを再送してから再送間隔Ｔ２が経過するまでに端末装置２からレスポンスの受信確認を受信した場合（Ｓ３９）、ＩＣカード１は、端末装置２との通信状態を継続し、端末装置２からの次のデータの受信待ち状態となる。なお、再送間隔Ｔ２でのレスポンスの再送が設定された再送回数の上限を超えた場合、ＩＣカード１は、レスポンスの再送を終了し、端末装置２との通信状態を強制的に終了する。
【００５４】
図８及び図９に示す例では、ＩＣカード１は、最初のレスポンスを送信してから再送間隔Ｔ２後に再送したレスポンスに対し、その再送から時間Ｔ２以内にレスポンスの受信確認を端末装置２から受信している。このため、第３の通信手順において、ＩＣカード１は、Ｔ２後に再送したレスポンスに対する受信確認の受信によって、端末装置２との通信状態を継続できる。
【００５５】
次に、上述した各通信手順を実現するＩＣカード１の処理例について説明する。  
図１０は、ＩＣカード１における処理例を説明するためのフローチャートである。  
まず、ＩＣカード１のＣＰＵ１１は、端末装置２からの電源供給を受けて起動する（ステップＳ５０）。起動したＩＣカード１のＣＰＵ１１は、端末装置２との通信確立処理を行う（ステップＳ５１〜Ｓ５５）。通信確立処理において、ＩＣカードのＣＰＵ１１は、まず、インターフェース１７を介して端末装置２からリセットフレームを受信する（ステップＳ５１）。リセットフレームを受信すると（ステップＳ５１、ＹＥＳ）、ＩＣカード１のＣＰＵ１１は、リセットフレームに含まれるパラメータに従って、ウインドウサイズ、データの再送回数、および、データの再送間隔などを設定する（ステップＳ５２〜Ｓ５４）。
【００５６】
たとえば、ＩＣカード１のＣＰＵ１１は、リセットフレームにおけるデータの再送回数を示すパラメータに従って当該端末装置２へのデータの再送回数の上限値を設定する（ステップＳ５２）。また、ＩＣカード１のＣＰＵ１１は、リセットフレームにおけるデータの再送間隔を示すパラメータに従って当該端末装置２へのデータの再送間隔を設定する（ステップＳ５３）。また、ＩＣカード１のＣＰＵ１１は、リセットフレームにおけるウインドウサイズなどの各種の通信設定を示すパラメータに従って当該端末装置２との間で１回に送受信する最大のフレーム数（ウインドウサイズ）などの通信設定を行う（ステップＳ５４）。
【００５７】
リセットフレームによる端末装置２との通信設定を行うと、ＩＣカード１のＣＰＵ１１は、リセット受信確認を端末装置２へ送信し、通信確立処理を終了する（ステップＳ５５）。このような通信確立処理により、ＩＣカード１は、ステップＳ５２〜Ｓ５４での通信設定に基づく端末装置２との通信が可能となる。
【００５８】
通信確立処理が終了した後、ＩＣカード１のＣＰＵ１１は、端末装置２からのフレーム（データ）の受信待ち状態となる（ステップＳ５６）。この状態において端末装置２からフレームを受信した場合（ステップＳ５６、ＹＥＳ）、ＩＣカードのＣＰＵ１１は、端末装置２から受信したフレームに対する受信確認を端末装置２へ送信する（ステップＳ５７）。また、フレームを受信したＩＣカード１のＣＰＵ１１は、受信したフレームに対応する処理が必要であるか否かを判断する（ステップＳ５８）。たとえば、ＩＣカード１のＣＰＵ１１は、受信したフレームが処理を要求するコマンドであるか否かを判断する。
【００５９】
受信したフレームに対応する処理が必要ないと判断した場合（ステップＳ５８、ＹＥＳ）、ＩＣカード１のＣＰＵ１１は、端末装置２からの次のフレームの受信待ち状態となり、上記ステップＳ５６へ進む。ただし、この場合、ＩＣカード１のＣＰＵ１１は、フレームの受信確認を送信完了した時点からの経過時間（つまり、端末装置２への最後のデータ送信からの経過時間）をタイマ１１ａにより計時する。
【００６０】
受信したフレームがコマンドである場合（ステップＳ５８、ＹＥＳ）、ＩＣカード１のＣＰＵ１１は、当該コマンドに対するコマンド処理として、当該コマンドで要求される処理を実行し、当該コマンドの処理結果を示すレスポンスデータを作成する（ステップＳ５９）。コマンド処理が終了すると、ＩＣカード１のＣＰＵ１１は、当該コマンドに対するレスポンスを端末装置２へ送信し（ステップＳ６０）、上記ステップＳ５６へ進む。ＩＣカード１のＣＰＵ１１は、当該レスポンスの送信完了時点からの経過時間（つまり、端末装置２への最後のデータ送信からの経過時間）をタイマ１１ａにより計時する。
【００６１】
フレームを受信待ちの状態において、ＩＣカード１のＣＰＵ１１は、タイマ１１ａが計時する端末装置２への最後のデータ送信からの経過時間を監視している。すなわち、端末装置２からのフレームの受信が無い状態では、ＩＣカード１のＣＰＵ１１は、端末装置２への最後のデータ送信からの経過時間が設定されている再送間隔を経過しているか否かを判断する（ステップＳ６１）。
【００６２】
この判断により端末装置２への最後のデータ送信からの経過時間が再送間隔を経過していると判断した場合（ステップＳ６１、ＹＥＳ）、ＩＣカード１のＣＰＵ１１は、最後に端末装置２へ送ったデータ（例えば、レスポンス）の再送回数が設定している再送回数の上限値を超えたか否かを判断する（ステップＳ６２）。
【００６３】
最後に端末装置２へ送信したデータの再送回数が再送回数の上限値を超えていないと判断した場合（ステップＳ６２、ＹＥＳ）、ＩＣカード１のＣＰＵ１１は、最後に端末装置２へ送信したデータを再び端末装置２へ送信する（ステップＳ６３）。この場合、ＩＣカード１のＣＰＵ１１は、再送したデータの送信完了時点からの経過時間をタイマ１１ａにより計時し、上記ステップＳ５６へ進む。
【００６４】
最後に端末装置２へ送信したデータの再送回数が再送回数の上限値を超えると判断した場合（ステップＳ６２、ＮＯ）、ＩＣカード１のＣＰＵ１１は、端末装置２との通信状態を強制的に終了する（ステップＳ６４）。すなわち、データの再送回数が再送回数の上限値を超えると、ＩＣカード１は、データの再送を終了し、端末装置２との通信状態を強制的に遮断する。
【００６５】
なお、再送回数の上限値あるいは再送間隔は、通信確立処理においてだけでなく、任意のタイミングで実施できるようにしても良い。たとえば、端末装置２がＩＣカード１に供給するコマンドにおいて再送回数の上限値あるいは再送間隔を変更できるようにしても良い。このような制御は、再送回数の上限値あるいは再送間隔を変更（設定）するコマンドを規定しておくことにより実現できる。この場合、ＩＣカード１のＣＰＵ１は、ステップＳ５８において再送回数の上限値あるいは再送間隔の変更を要求するコマンドを判断し、ステップＳ５９におけるコマンド処理として当該コマンドで指定される再送回数の上限値あるいは再送間隔の変更を実行するようにすれば良い。また、この場合、ＩＣカード１のＣＰＵ１は、ステップＳ６０の処理として再送回数の上限値あるいは再送間隔の変更結果をレスポンスとして端末装置２へ送信し、ステップＳ５６へ進むようにすれば良い。
【００６６】
以上の処理によれば、ＩＣカードは、端末装置からの指示に応じてデータの再送回数の上限値およびデータの再送間隔を設定できる。また、データの再送回数が再送回数の上限値を超えた場合、ＩＣカードは、端末装置との通信を強制的に終了する。このような通信制御によれば、ＩＣカードと端末装置とは、良好な通信状態を保つことができ、効率的な通信を行える。
【００６７】
上記のように、本実施形態のＩＣカードは、外部装置からの指示を解釈及び実行し、その結果を応答する。ＩＣカードは、外部装置からの受信待ち状態において設定した再送間隔が経過する間に当該外部装置からのデータ受信がない場合、最後に送信したデータを再送する機能を有する。ＩＣカードは、外部装置から指定されるパラメータに従ってデータの再送間隔およびデータの再送回数を設定する。さらに、ＩＣカードは、再送回数の上限値までデータを再送しても、外部装置から受信確認応答あるいは次のフレームが受信できない場合、外部装置との通信を強制的に終了する。これらの処理により、ＩＣカード、および、ＩＣカードと外部装置とからなるＩＣカードシステムは、通信の効率を向上することができる。
【００６８】
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６９】
１…ＩＣカード、Ｃ…本体、１ａ…ＩＣチップ、２…端末装置（携帯電話機、外部装置）、１１…ＣＰＵ、１１ａ…タイマ、１２…プログラムメモリ、１３…ワーキングメモリ、１４…データメモリ、１５…通信制御部、１６…電源部、１７…インターフェース、３１…制御部、３２…ＲＡＭ、３４…不揮発性メモリ、３５…インターフェース。
【図１】
2013003676.tif 000003
【図２】
2013003676.tif 000004
【図３】
2013003676.tif 000005
【図４】
2013003676.tif 000006
【図５】
2013003676.tif 000007
【図６】
2013003676.tif 000008
【図７】
2013003676.tif 000009
【図８】
2013003676.tif 000010
【図９】
2013003676.tif 000011
【図１０】
2013003676.tif 000012