説明

携帯可能電子装置、ICカード、通信システム、および携帯可能電子装置の制御方法

【課題】効率的に通信を行うことができる携帯可能電子装置、ICカード、通信システム、および携帯可能電子装置の制御方法を提供する。
【解決手段】実施形態に係る携帯可能電子装置は、通信手段と、処理手段と、設定手段と、再送手段とを有する。通信手段は、外部装置とのデータの送受信を行う。処理手段は、通信手段により受信するデータに含まれるコマンドに応じた処理を実行する。設定手段は、外部装置へデータを再送信する再送間隔を設定する。再送手段は、外部装置へデータを送信してから設定手段により設定した再送間隔が経過するまでの間に外部装置からのデータの受信が無い場合、外部装置へ最後に送信したデータを再び送信する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明の実施形態は、携帯可能電子装置、ICカード、通信システム、および携帯可能電子装置の制御方法に関する。
【背景技術】
【0002】
ICカードなどの携帯可能電子装置と端末装置との通信方式には、ICカードが、データを端末装置へ送信した後に、端末装置から次のデータを受信するまで、所定の時間間隔ごとに最後の送信したデータを端末装置へ再送し続ける機能を有するものがある。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】ETSI TS102613
【発明の概要】
【発明が解決しようとする課題】
【0004】
この発明の一形態は、効率的に通信を行うことができる携帯可能電子装置、ICカード通信システム、および携帯可能電子装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
この実施の形態によれば、携帯可能電子装置は、通信手段と、処理手段と、設定手段と、再送手段とを有する。通信手段は、外部装置とのデータの送受信を行う。処理手段は、通信手段により受信するデータに含まれるコマンドに応じた処理を実行する。設定手段は、外部装置へデータを再送信する再送間隔を設定する。再送手段は、外部装置へデータを送信してから設定手段により設定した再送間隔が経過するまでの間に外部装置からのデータの受信が無い場合、外部装置へ最後に送信したデータを再び送信する。
【図面の簡単な説明】
【0006】
【図1】図1は、ICカードおよびICカードシステムの構成例を示すブロック図である。
【図2】図2は、端末装置の一例としての携帯電話機の構成例を示すブロック図である。
【図3】図3は、ICカードシステムにおける通信手順の一例として第1の通信手順を説明するための図である。
【図4】図4は、ICカードシステムにおける第1の通信手順を示すシーケンス図である。
【図5】図5は、リセットフレームの構成例を示す図である。
【図6】図6は、ICカードシステムにおける通信手順の一例として第2の通信手順を説明するための図である。
【図7】図7は、ICカードシステムにおける第2の通信手順を示すシーケンス図である。
【図8】図8は、ICカードシステムにおける通信手順の一例として第3の通信手順を説明するための図である。
【図9】図9は、ICカードシステムにおける第3の通信手順を示すシーケンス図である。
【図10】図10は、ICカードにおける処理例を説明するためのフローチャートである。
【発明を実施するための形態】
【0007】
以下、実施の形態について図面を参照して詳細に説明する。
図1は、携帯可能電子装置としてのICカード1と端末装置2とを有するICカードシステムの構成例を示すブロック図である。
図1に示すICカードシステムは、ICカード1と端末装置2とが双方向にデータの送受信を行う通信システムである。たとえば、ICカードシステムは、ICカード1が端末装置2としての携帯電話機に装着される運用形態が想定される。このような運用形態では、端末装置2にICカード1が装着された状態でICカード1と端末装置2とがデータ通信を行う。また、ICカード1と端末装置2との通信方式は、たとえば、SWP通信などの全2重通信である。ICカード1と端末装置2とのSWP通信の一例としては、「ETSI TS102613」で規定された通信規格に準ずるものを想定する。
【0008】
ICカード1は、端末装置2からの電源供給により動作する。たとえば、上記ICカード1は、上記端末装置2と物理的、電気的に接触して通信を行う接触式の携帯可能電子装置(接触式ICカード)である。ただし、上記ICカード1は、アンテナあるいは無線通信部等により上記端末装置2と非接触の状態で無線通信を行う非接触式の携帯可能電子装置(非接触式ICカード)であっても良い。さらには、上記ICカード1は、非接触式ICカードとしての通信機能と接触式ICカードとしての通信機能とを有する複合型のICカード(デュアルインターフェースICカード)であっても良い。
【0009】
図1に示すように、上記ICカード1は、制御部(CPU)11、プログラムメモリ12、ワーキングメモリ13、データメモリ14、通信制御部15、電源部16、および、インターフェース17などを有する。
上記ICカード1は、カード状の本体Cにより構成される。上記ICカード1を形成するカード状の本体Cには、1つあるいは複数のICチップ1aとインターフェース17とが内蔵される。上記ICチップ1aは、制御部(CPU)11、プログラムメモリ12、ワーキングメモリ13、データメモリ14、通信制御部15および電源部16などを有している。上記ICチップ1aは、上記インターフェース17に接続された状態でモジュール化され、当該ICカード1を形成するカード状の本体C内に埋設される。
【0010】
上記制御部11は、ICカード1全体の制御を司る。上記制御部11は、CPUなどのプロセッサを有する。上記制御部11は、上記プログラムメモリ12あるいはデータメモリ14に記憶されている制御プログラムおよび制御データなどに基づいて動作する。たとえば、上記制御部11は、上記プログラムメモリ12に記憶されている制御プログラムを実行することにより、端末装置2との通信制御を行ったり、端末装置2から与えられるコマンドに応じた処理を行ったりする。
【0011】
また、上記制御部11は、時間を計時するタイマ11aを有する。タイマ11aは、たとえば、応答データの送信タイミングを計る。
上記プログラムメモリ12は、読み出し専用のメモリ(ROM:リードオンリーメモリ)により構成される。上記プログラムメモリ12は、当該ICカード1の仕様に応じた動作を司る制御プログラムおよび制御データなどを記憶する。
【0012】
上記ワーキングメモリ13は、揮発性のメモリ(RAM;ランダムアクセスメモリ)により構成される。上記ワーキングメモリ13は、データを一時保管するバッファメモリとして機能する。例えば、上記ワーキングメモリ13には、端末装置2との通信処理において、送受信されるデータを一時的に保管する通信バッファとして利用可能である。また、上記ワーキングメモリ13は、種々の書込みデータなどを一時的に保持するメモリとしても利用される。
【0013】
上記データメモリ(不揮発性メモリ)14は、データの書き込みが可能な不揮発性のメモリである。上記データメモリ14は、例えば、EEPROMあるいはフラッシュメモリなどにより構成される。上記データメモリ14には、当該ICカード1の使用目的に応じた種々の情報(アプリケーションプログラムおよび運用データなど)が書込まれる。当該ICカード1が複数の使用目的に使用される場合、上記データメモリ14には、各使用目的に応じた複数のアプリケーションが記憶される。
【0014】
上記通信制御部15は、上記インターフェース17を介して端末装置2とのデータ通信を制御するものである。当該ICカード1が接触式ICカードである場合、通信制御部15は、端末装置2と物理的・電気的に接触するコンタクト部としてのインターフェース17を介してデータを送受信する。なお、非接触型のICカードであれば、上記通信制御部15は、インターフェース17としてのアンテナにより送受信するデータを変調あるいは復調する。
【0015】
上記電源部16は、当該ICカード1の各部を動作させるための電力およびクロックパルスを供給する。たとえば、当該ICカード1が接触型のICカードである場合、上記電源部16は、インターフェース17を介して外部装置から直接的に供給される電力およびクロックパルスを各部へ供給する。なお、当該ICカードが非接触型のICカードである場合、上記電源部16は、上記インターフェース17としてのアンテナにより受信した電波から電力およびクロックパルスを生成し、当該ICカード内の各部に供給する。
【0016】
また、ワーキングメモリ13は、通信確立処理において設定される通信設定などの設定データを記憶する。たとえば、ワーキングメモリ13は、1回に送受信できる伝送フレームの最大数(以下、最大フレーム数、ウインドウサイズ(Window size)とも称する)の設定値などの通信設定値を記憶する。また、ワーキングメモリ13は、最後に送信したレスポンスなどのデータの再送回数、および、最後に送出したデータの再送間隔などの設定値も記憶する。ワーキングメモリ13は、通信確立処理において設定されるウインドウサイズ、再送回数および再送間隔などの通信設定値を当該端末装置2との通信処理が終了するまで記憶する。ただし、通信中に通信設定値の変更が指示された場合、ワーキングメモリ13の記憶する通信設定値は、適宜更新される。
【0017】
次に、端末装置2の構成について説明する。
上記端末装置2は、ICカード1を動作させるための電源を供給するとともに、当該ICカード1とのデータ通信を行う。本実施の形態では、端末装置2が携帯電話機である場合を想定する。ただし、端末装置2は、携帯電話機に限定されるものではなく、ICカード1の通信方式に対応するカードリーダライタを具備する電子装置であれば良い。たとえば、端末装置2は、ICカード1の通信方式に対応するカードリーダライタを具備する電子計算機などであっても良い。
【0018】
端末装置2としての携帯電話機は、各ユーザが所持するICカード1を装着した状態で携帯電話機としての通信が利用可能となる運用形態が想定される。また、ICカード1は、端末装置2としての携帯電話機に設けられたICカード用のソケットに装着される。携帯電話機のICカード用のソケットに装着された状態で、携帯電話機のインターフェースとしてのコンタクト部とICカード1のインターフェースとが接触してデータ通信が可能となる。また、上記携帯電話機2は、ICカード1に物理的に接触しているコンタクト部を介して当該ICカード1に動作用の電力およびクロックパルスを供給する。
【0019】
図2は、端末装置2の一例としての携帯電話機の構成例を示すブロック図である。
図2に示す構成例では、携帯電話機2は、制御部31、RAM32、ROM33、不揮発性メモリ34、ICカード用のインターフェース(ICカードインターフェース)35、アンテナ37、通信部38、音声部39、振動部40、表示部41、操作部42および電源部43などを有する。
【0020】
上記制御部31は、携帯電話機2全体の制御を司るものである。上記制御部31は、CPU、内部メモリ、各種のインターフェースなどを有する。また、上記制御部31は、上記表示部41の表示を制御する表示制御機能、PLL(Phase Locked Loop)回路、データストリーム経路切換え、DMA(Direct Memory Access)コントローラ、割り込みコントローラ、タイマ、UART(Universal Asynchronous Receiver Transmitter)、秘匿、HDLC(High-level Data Link Control procedure)フレーミング、ディバイスコントローラなどの機能を有する。
【0021】
上記RAM32は、作業用のデータを記憶するための揮発性メモリである。RAM32は、ICカード1との通信設定情報として、通信確立処理において設定する設定データを記憶する。たとえば、RAM32は、ICカード1との通信に適用するウインドウサイズの設定値などの通信設定値を記憶する。また、RAM32は、端末装置2がICカード1に対して指定したデータの再送回数およびデータの再送間隔などの情報を記憶しても良い。上記ROM33は、制御プログラムおよび制御データなどが記憶されている不揮発性メモリである。上記制御部31は、上記ROM33に記憶されている制御プログラムを実行することにより、当該携帯電話機2の制御を実現している。
【0022】
上記不揮発性メモリ34は、種々のデータが記憶される書き換え可能な不揮発性メモリである。上記不揮発性メモリ34には、種々のアプリケーションプログラム(アプリケーション)、制御データ、および、ユーザデータなどが記憶される。上記制御部31は、上記不揮発性メモリ34に記憶されているアプリケーションプログラムを実行することにより、種々の機能を実現する。
【0023】
上記ICカードインターフェース35は、ICカード1が装着されるインターフェースである。上記ICカードインターフェース35は、上記制御部31に接続されている。これにより、上記制御部31は、上記ICカードインターフェース35を介して上記ICカード1とのデータ通信が可能となっている。
【0024】
上記通信部38は、通信用のアンテナ37を介して通話データあるいはデータ通信用のデータを電波で送受信する。上記音声部39は、音声の入出力を行う。上記振動部40は、当該携帯電話機2全体を振動させる振動機構により構成される。上記表示部41は、上記制御部31により表示の表示内容などが制御される。上記操作部42は、キーボードなどにより構成され、ユーザによる操作指示が入力される。上記電源部43は、バッテリーなどにより構成され、当該携帯電話機2内の各部に電源を供給する。また、上記電源部43は、上記ICカードインターフェース35を介して接続されたICカード1にも電源を供給する機能も有している。
【0025】
次に、ICカード1と端末装置2との通信について説明する。
本実施例のICカードシステムにおいて、ICカード1と端末装置2とは、たとえば、「ETSI」で規定される通信規格に準ずるSWP通信などの全2重通信を行うものを想定する。たとえば、本ICカードシステムにおいて、ICカード1と端末装置2とは、送受信するデータの形式が予め決められるものとする。また、ICカード1と端末装置2とは、フレーム単位のデータを伝送する。1フレーム当りの伝送データ量は、規定のサイズである。すなわち、端末装置2とICカート1とで送受信されるデータは、規定サイズのフレーム単位で分割して送受信され、1回に送受信できるフレーム数が通信設定値により設定されるものとする。
【0026】
図3は、本ICカードシステムにおける通信手順の一例として第1の通信手順を説明するための図である。また、図4は、本ICカードシステムにおける第1の通信手順を示すシーケンス図である。
まず、端末装置2とICカード1とは、通信確立処理を行う。端末装置2とICカード1とは、通信確立処理により通信設定の初期値を設定する。通信確立処理において、端末装置2は、ICカード1へリセットを要求するリセットフレーム(Uフレーム)を送信し(S11)、ICカード1は、リセットフレームで指定された各種の通信設定を行い(S12)、端末装置2へリセットの受信確認(Uフレーム)を送信する(S13)。
【0027】
リセットフレームにおいて、端末装置2は、ICカード1に対して、1回で送受信するフレーム数(ウインドウサイズ:Window Size)、データの再送回数、および、データの再送間隔を指定する。ウインドウサイズ、データの再送回数、および、データの再送間隔は、リセットフレームに含まれるパラメータを用いて指定される。なお、図3及び図4に示す第1の通信手順においては、リセットフレームは、ウインドウサイズが「4」、データの再送回数が「回数制限無し」、データの再送間隔が「デフォルト(T1[ms])」をそれぞれ指定するものであると想定する。
【0028】
リセットフレームを受信したICカード1は、当該リセットフレームで指定されたウインドウサイズに従って当該端末装置2との間で1回に送受信するデータのフレーム数を設定する。たとえば、リセットフレームで指定されるウインドウサイズが「4」であれば、ICカード1は、端末装置2との間で1回に送受信するデータのフレーム数を「4」に設定する。
【0029】
また、上記レスポンスとは、端末装置2から受信したコマンドに対する応答であり、当該コマンドに対する処理結果などのデータを含むものである。
リセットフレームで指定されるデータの再送回数は、次のデータが端末装置2から受信できない場合に、ICカード1がデータを再送する再送回数の上限値である。たとえば、コマンドに対する応答として送信したレスポンスの受信確認がコマンドの送信元(端末装置2)から受信できない場合に、ICカード1は、再送回数の上限値に達するまで当該レスポンスを再送する。
【0030】
また、リセットフレームで指定されるデータの再送間隔は、次のデータが端末装置2から受信できない場合に、ICカード1がデータを再送する時間間隔である。たとえば、コマンドに対する応答として送信したレスポンスに対する受信確認がコマンドの送信元(端末装置2)から受信できない場合、ICカード1は、再送間隔で当該レスポンスを再送する。
【0031】
上記のようなリセットフレームを受信したICカード1は、データの再送回数、および、データの再送間隔を設定する。データの再送回数およびデータの再送間隔は、通信確立処理時に端末装置2からICカード1へ送信されるリセットフレームにおけるパラメータで指定される。従って、ICカード1は、端末装置2から受信したリセットフレームにおけるパラメータに従ってデータの再送回数およびデータの再送間隔を設定する。
【0032】
図5は、リセットフレームの構成例を示す図である。
図5に示す構成例では、リセットフレームは、識別情報と各種の指定値を示すパラメータとを含む。図5に示す例において、識別情報は、当該フレームがリセット要求であることを示す固定値(「1111 1001」)である。図5に示す例において、ウインドウサイズ(WS)パラメータは、ウインドウサイズを指定するパラメータ、データの再送回数の上限値を示すパラメータ、および、データの再送間隔を示すパラメータを含む構成としている。すなわち、図5に示す例において、8ビットのパラメータのうち上位1ビットが再送間隔を指定するパラメータであり、上位2ビット〜4ビット(3ビット)が再送回数の上限値を指定するパラメータであり、下位4ビットがウインドウサイズを指定するパラメータである。
【0033】
図5に示す例において、設定すべきウインドウサイズは、4ビットで指定される。ウインドウサイズは、1回に送受信できる最大フレーム数である。つまり、リセットフレームで指定されたウインドウサイズを送受信可能な最大フレーム数として、ICカード1と端末装置2とは、最大フレーム数までのフレーム数で構成されるデータを送受信(フレーム交換)する。たとえば、最大フレーム数としては、4までの数値が設定される。ただし、図5に示す例のようにウインドウサイズを4ビットのデータで指定する場合、最大フレーム数としては、4ビットで表現できる数値(0〜15)までが設定可能である。
【0034】
また、図5に示す例では、データの再送間隔は、1ビットのパラメータで指定される。図5に示す例のように、再送間隔を指定するパラメータを1ビットとすれば、再送間隔は、「0」か「1」の何れかの値で指定する。図5に示す例では、「0」が再送間隔をデフォルト値に指定し、「1」がデフォルト値の所定数倍(例えば、2倍)を指定することを想定している。なお、再送間隔のデフォルト値は、ウインドウサイズに応じて決めるもので良い。また、図5に示す例では、「1」を指定する場合、端末装置2からのデータの受信待ち時間をデフォルト値(T1[ms])よりも長くすることを想定して、再送間隔をデフォルト値の2倍(T2[ms])に長くするものとしている。
【0035】
図5に示す例において、再送回数の上限値は、3ビットで指定する。また、再送回送の制限値として、0回(つまり、再送無し)と再送回数無制限(つまり、再送回送無限大)とを指定できるようにするものとする。この場合、3ビットのパラメータでは、再送回数の上限値としては、0(「000」)、1(「001」)、2(「010」)、3(「011」)、4(「100」)、5(「101」)、6(「110」)、あるいは、制限無し(「111」)の何れかが指定できる。
上記のようなリセットフレームを受信したICカード1は、ウインドウサイズ、再送間隔、再送回数の上限値を設定し、リセットの受信確認を端末装置2へ送信することにより、通信確立処理が完了する。
【0036】
リセットの受信確認を受信した後、つまり、通信確立処理が完了した後、端末装置2は、ウインドウサイズ以内のフレーム数からなるデータとしてのコマンド(Iフレーム)をICカード1へ送信する(S14)。ICカード1は、端末装置2からのIフレーム(コマンド)を受信すると、当該Iフレームに対する受信確認(Sフレーム)を送信する(S15)。さらに、ICカード1は、Iフレームとしてのコマンドに対するコマンド処理として、当該コマンドで要求された処理を実行し、その処理結果を含むレスポンスデータを生成する(S16)。ICカード1は、コマンド処理が終了すると、当該コマンドの処理結果を含むレスポンスデータを当該コマンドに対するレスポンス(Iフレーム)として端末装置2へ送信する(S17)。
【0037】
ICカード1は、レスポンスを送信してからの経過時間をタイマ11aにより計時する。当該レスポンスを送信した後、ICカード1は、端末装置2からの次の送信データ(当該レスポンスの受信確認あるいは次のコマンド)の受信待ちとなる。受信待ちの状態のままレスポンスを送信してからの経過時間が再送間隔に達すると、ICカード1は、当該データの再送回数が設定されている再送回数の上限値に達しているか否かを判断する。当該データの再送回数が再送回数の上限値に達していない場合、ICカード1は、当該レスポンスを端末装置2へ再送する(S18)。
【0038】
また、レスポンスを再送した後も端末装置2から次のデータが受信できなければ、ICカード1は、当該データの再送回数が設定されている再送回数の上限値に達するまで、当該レスポンスの再送を繰り返し実行する(S19)。また、データの再送回数が上限値に達するまでに端末装置2からレスポンスの受信確認を受信できた場合(S20)、ICカード1は、次のデータの受信待ち状態となる。また、端末装置2から次のデータが受信できないまま当該データの再送回数が設定されている再送回数の上限値に達した場合、ICカード1は、端末装置2との通信処理を強制的に終了する。
【0039】
次に、データの再送回数が上限値に達した場合の動作例について説明する。
図6は、データの再送回数が上限値に達した場合の通信手順の一例として第2の通信手順を説明するための図である。また、図7は、本ICカードシステムにおける第2の通信手順を示すシーケンス図である。
まず、端末装置2とICカード1とは、通信確立処理を行う。端末装置2とICカード1とは、通信確立処理により通信設定の初期値を設定する。通信確立処理において、端末装置2は、ICカード1へリセットを要求するリセットフレーム(Uフレーム)を送信し(S21)、ICカード1は、リセットフレームで指定された各種の通信設定を行い(S22)、端末装置2へリセットの受信確認(Uフレーム)を送信する(S23)。
【0040】
第2の通信手順における通信確立処理は、上記第1の通信手順と同様な手順で実施される。すなわち、第2の通信手順の通信確立処理においても、端末装置2は、ICカード1に対して、1回で送受信するフレーム数(ウインドウサイズ)、データの再送回数、および、データの再送間隔をリセットフレームで指定する。ただし、図6及び図7に示す第2の通信手順においては、リセットフレームは、データの再送回数として「1回」を指定し、データの再送間隔として「デフォルト(T1[ms])」をそれぞれ指定する。
【0041】
リセットフレームを受信したICカード1は、当該リセットフレームのパラメータに従って、ウインドウサイズ、データの再送回数、および、データの再送間隔を設定する。図6及び図7に示す例では、リセットフレームにおいてデータの再送回数が「1回」、データの再送間隔が「デフォルト(T1[ms])」に指定される。このため、第2の通信手順の通信確立処理において、ICカード1は、データの再送回数の上限値を「1回」に設定し、データの再送間隔を「T1[ms]」に設定する。
【0042】
通信確立処理が完了した後(端末装置2がICカード1からのリセットの受信確認を受信した後)、端末装置2は、ウインドウサイズ以内のフレーム数からなるデータとしてのコマンド(Iフレーム)をICカード1へ送信する(S24)。
【0043】
ICカード1は、端末装置2からのIフレーム(コマンド)を受信すると、当該Iフレームの受信完了を示す受信確認(Sフレーム)を送信する(S25)。Iフレーム(コマンド)の受信を完了すると、ICカード1は、当該コマンドに対するコマンド処理として、当該コマンドで要求された処理を実行し、その処理結果を含むレスポンスデータを生成する(S26)。ICカード1は、コマンド処理が終了すると、当該コマンドの処理結果を含むレスポンスデータを当該コマンドに対するレスポンス(Iフレーム)として端末装置2へ送信する(S27)。
【0044】
ICカード1は、レスポンスを送信してからの経過時間をタイマ11aにより計時する。当該レスポンスを送信した後、ICカード1は、端末装置2からの次の送信データ(当該レスポンスの受信確認あるいは次のコマンド)の受信待ちとなる。受信待ちの状態のままレスポンスを送信してからの経過時間が再送間隔に達すると、ICカード1は、当該データの再送回数が設定されている再送回数の上限値に達しているか否かを判断する。当該データの再送回数が再送回数の上限値に達していない場合、ICカード1は、当該レスポンスを端末装置2へ再送する(S28)。
【0045】
第2の通信手順では、再送回数の上限値が「1回」であるため、ICカード1は、レスポンスの再送を1回のみ実施する。すなわち、最初のレスポンスを送信してから再送間隔が経過する間に端末装置2から次のデータが受信できなければ、ICカード1は、レスポンスを1回のみ再送する(S28)。レスポンスを再送してから再送間隔が経過する間に端末装置2から次のデータが受信できなければ、ICカード1は、レスポンスの2回目の再送を行うことなく、通信を強制的に終了する(S29)。なお、レスポンスを再送してから再送間隔が経過するまでに端末装置2からレスポンスの受信確認を受信できた場合、ICカード1は、端末装置2との通信状態を継続し、端末装置2からの次のデータの受信待ち状態となる。
【0046】
次に、データの再送間隔をデフォルト値と異なる値に設定する場合の動作例について説明する。
図8は、レスポンスの再送送信をデフォルト値(T1)の2倍となる値(T2)に設定する場合の通信手順の一例として第3の通信手順を説明するための図である。また、図9は、本ICカードシステムにおける第3の通信手順を示すシーケンス図である。
まず、端末装置2とICカード1とは、通信確立処理を行う。端末装置2とICカード1とは、通信確立処理により通信設定の初期値を設定する。通信確立処理において、端末装置2は、ICカード1へリセットを要求するリセットフレーム(Uフレーム)を送信し(S31)、ICカード1は、リセットフレームで指定された各種の通信設定を行い(S32)、端末装置2へリセットの受信確認(Uフレーム)を送信する(S33)。
【0047】
第3の通信手順における通信確立処理の手順は、上記第1及び第2の通信手順と同様である。すなわち、通信確立処理においても、端末装置2は、ICカード1に対して、1回で送受信するフレーム数(ウインドウサイズ)、データの再送回数、および、データの再送間隔をリセットフレームで指定する。ただし、図8及び図9に示す第3の通信手順においては、リセットフレームは、データの再送回数として「1回」を指定し、データの再送間隔として「デフォルト(T1)の2倍(T2[ms])」をそれぞれ指定する。
【0048】
リセットフレームを受信したICカード1は、当該リセットフレームのパラメータに従って、ウインドウサイズ、データの再送回数、および、データの再送間隔を設定する。図8及び図9に示す例では、リセットフレームにおいてデータの再送回数が「1回」、データの再送間隔が「T2」に指定される。このため、第3の通信手順の通信確立処理において、ICカード1は、データの再送回数の上限値を「1回」に設定し、データの再送間隔を「T2[ms]」に設定する。
【0049】
通信確立処理が完了した後(端末装置2がICカード1からのリセットの受信確認を受信した後)、端末装置2は、ウインドウサイズ以内のフレーム数からなるデータとしてのコマンド(Iフレーム)をICカード1へ送信する(S34)。
【0050】
ICカード1は、端末装置2からのIフレーム(コマンド)を受信すると、当該Iフレームの受信完了を示す受信確認(Sフレーム)を送信する(S35)。Iフレーム(コマンド)の受信を完了すると、ICカード1は、当該コマンドに対するコマンド処理として、当該コマンドで要求された処理を実行し、その処理結果を含むレスポンスデータを生成する(S36)。ICカード1は、コマンド処理が終了すると、当該コマンドの処理結果を含むレスポンスデータを当該コマンドに対するレスポンス(Iフレーム)として端末装置2へ送信する(S37)。
【0051】
ICカード1は、レスポンスを送信してからの経過時間をタイマ11aにより計時する。当該レスポンスを送信した後、ICカード1は、端末装置2からの次の送信データ(当該レスポンスの受信確認あるいは次のコマンド)の受信待ちとなる。受信待ちの状態のままレスポンスを送信してからの経過時間が再送間隔T2に達すると、ICカード1は、当該データの再送回数が設定されている再送回数の上限値に達しているか否かを判断する。当該データの再送回数が再送回数の上限値に達していない場合、ICカード1は、当該レスポンスを端末装置2へ再送する(S38)。
【0052】
第3の通信手順では、再送間隔がT1の2倍の「T2[ms]」である。T1が再送間隔のデフォルト値(標準値)であるとすると、第3の通信手順において、ICカード1は、データの再送間隔をデフォルト値の2倍に設定することを意味する。言い換えると、本システムでは、端末装置2がデータの再送間隔としてデフォルト値よりも長い時間をICカードに対して指定できる。このため、ICカード1は、デフォルト値の再送間隔T1よりも長い時間T2で端末装置2からの次のデータの受信待ちが可能となる。第3の通信手順において、T1よりも長い再送間隔T2でも端末装置2から次のデータが受信でない場合、ICカード1は、再送回数の上限に達するまで当該レスポンスを再送する(S38)。
【0053】
また、レスポンスを再送してから再送間隔T2が経過するまでに端末装置2からレスポンスの受信確認を受信した場合(S39)、ICカード1は、端末装置2との通信状態を継続し、端末装置2からの次のデータの受信待ち状態となる。なお、再送間隔T2でのレスポンスの再送が設定された再送回数の上限を超えた場合、ICカード1は、レスポンスの再送を終了し、端末装置2との通信状態を強制的に終了する。
【0054】
図8及び図9に示す例では、ICカード1は、最初のレスポンスを送信してから再送間隔T2後に再送したレスポンスに対し、その再送から時間T2以内にレスポンスの受信確認を端末装置2から受信している。このため、第3の通信手順において、ICカード1は、T2後に再送したレスポンスに対する受信確認の受信によって、端末装置2との通信状態を継続できる。
【0055】
次に、上述した各通信手順を実現するICカード1の処理例について説明する。
図10は、ICカード1における処理例を説明するためのフローチャートである。
まず、ICカード1のCPU11は、端末装置2からの電源供給を受けて起動する(ステップS50)。起動したICカード1のCPU11は、端末装置2との通信確立処理を行う(ステップS51〜S55)。通信確立処理において、ICカードのCPU11は、まず、インターフェース17を介して端末装置2からリセットフレームを受信する(ステップS51)。リセットフレームを受信すると(ステップS51、YES)、ICカード1のCPU11は、リセットフレームに含まれるパラメータに従って、ウインドウサイズ、データの再送回数、および、データの再送間隔などを設定する(ステップS52〜S54)。
【0056】
たとえば、ICカード1のCPU11は、リセットフレームにおけるデータの再送回数を示すパラメータに従って当該端末装置2へのデータの再送回数の上限値を設定する(ステップS52)。また、ICカード1のCPU11は、リセットフレームにおけるデータの再送間隔を示すパラメータに従って当該端末装置2へのデータの再送間隔を設定する(ステップS53)。また、ICカード1のCPU11は、リセットフレームにおけるウインドウサイズなどの各種の通信設定を示すパラメータに従って当該端末装置2との間で1回に送受信する最大のフレーム数(ウインドウサイズ)などの通信設定を行う(ステップS54)。
【0057】
リセットフレームによる端末装置2との通信設定を行うと、ICカード1のCPU11は、リセット受信確認を端末装置2へ送信し、通信確立処理を終了する(ステップS55)。このような通信確立処理により、ICカード1は、ステップS52〜S54での通信設定に基づく端末装置2との通信が可能となる。
【0058】
通信確立処理が終了した後、ICカード1のCPU11は、端末装置2からのフレーム(データ)の受信待ち状態となる(ステップS56)。この状態において端末装置2からフレームを受信した場合(ステップS56、YES)、ICカードのCPU11は、端末装置2から受信したフレームに対する受信確認を端末装置2へ送信する(ステップS57)。また、フレームを受信したICカード1のCPU11は、受信したフレームに対応する処理が必要であるか否かを判断する(ステップS58)。たとえば、ICカード1のCPU11は、受信したフレームが処理を要求するコマンドであるか否かを判断する。
【0059】
受信したフレームに対応する処理が必要ないと判断した場合(ステップS58、YES)、ICカード1のCPU11は、端末装置2からの次のフレームの受信待ち状態となり、上記ステップS56へ進む。ただし、この場合、ICカード1のCPU11は、フレームの受信確認を送信完了した時点からの経過時間(つまり、端末装置2への最後のデータ送信からの経過時間)をタイマ11aにより計時する。
【0060】
受信したフレームがコマンドである場合(ステップS58、YES)、ICカード1のCPU11は、当該コマンドに対するコマンド処理として、当該コマンドで要求される処理を実行し、当該コマンドの処理結果を示すレスポンスデータを作成する(ステップS59)。コマンド処理が終了すると、ICカード1のCPU11は、当該コマンドに対するレスポンスを端末装置2へ送信し(ステップS60)、上記ステップS56へ進む。ICカード1のCPU11は、当該レスポンスの送信完了時点からの経過時間(つまり、端末装置2への最後のデータ送信からの経過時間)をタイマ11aにより計時する。
【0061】
フレームを受信待ちの状態において、ICカード1のCPU11は、タイマ11aが計時する端末装置2への最後のデータ送信からの経過時間を監視している。すなわち、端末装置2からのフレームの受信が無い状態では、ICカード1のCPU11は、端末装置2への最後のデータ送信からの経過時間が設定されている再送間隔を経過しているか否かを判断する(ステップS61)。
【0062】
この判断により端末装置2への最後のデータ送信からの経過時間が再送間隔を経過していると判断した場合(ステップS61、YES)、ICカード1のCPU11は、最後に端末装置2へ送ったデータ(例えば、レスポンス)の再送回数が設定している再送回数の上限値を超えたか否かを判断する(ステップS62)。
【0063】
最後に端末装置2へ送信したデータの再送回数が再送回数の上限値を超えていないと判断した場合(ステップS62、YES)、ICカード1のCPU11は、最後に端末装置2へ送信したデータを再び端末装置2へ送信する(ステップS63)。この場合、ICカード1のCPU11は、再送したデータの送信完了時点からの経過時間をタイマ11aにより計時し、上記ステップS56へ進む。
【0064】
最後に端末装置2へ送信したデータの再送回数が再送回数の上限値を超えると判断した場合(ステップS62、NO)、ICカード1のCPU11は、端末装置2との通信状態を強制的に終了する(ステップS64)。すなわち、データの再送回数が再送回数の上限値を超えると、ICカード1は、データの再送を終了し、端末装置2との通信状態を強制的に遮断する。
【0065】
なお、再送回数の上限値あるいは再送間隔は、通信確立処理においてだけでなく、任意のタイミングで実施できるようにしても良い。たとえば、端末装置2がICカード1に供給するコマンドにおいて再送回数の上限値あるいは再送間隔を変更できるようにしても良い。このような制御は、再送回数の上限値あるいは再送間隔を変更(設定)するコマンドを規定しておくことにより実現できる。この場合、ICカード1のCPU1は、ステップS58において再送回数の上限値あるいは再送間隔の変更を要求するコマンドを判断し、ステップS59におけるコマンド処理として当該コマンドで指定される再送回数の上限値あるいは再送間隔の変更を実行するようにすれば良い。また、この場合、ICカード1のCPU1は、ステップS60の処理として再送回数の上限値あるいは再送間隔の変更結果をレスポンスとして端末装置2へ送信し、ステップS56へ進むようにすれば良い。
【0066】
以上の処理によれば、ICカードは、端末装置からの指示に応じてデータの再送回数の上限値およびデータの再送間隔を設定できる。また、データの再送回数が再送回数の上限値を超えた場合、ICカードは、端末装置との通信を強制的に終了する。このような通信制御によれば、ICカードと端末装置とは、良好な通信状態を保つことができ、効率的な通信を行える。
【0067】
上記のように、本実施形態のICカードは、外部装置からの指示を解釈及び実行し、その結果を応答する。ICカードは、外部装置からの受信待ち状態において設定した再送間隔が経過する間に当該外部装置からのデータ受信がない場合、最後に送信したデータを再送する機能を有する。ICカードは、外部装置から指定されるパラメータに従ってデータの再送間隔およびデータの再送回数を設定する。さらに、ICカードは、再送回数の上限値までデータを再送しても、外部装置から受信確認応答あるいは次のフレームが受信できない場合、外部装置との通信を強制的に終了する。これらの処理により、ICカード、および、ICカードと外部装置とからなるICカードシステムは、通信の効率を向上することができる。
【0068】
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0069】
1…ICカード、C…本体、1a…ICチップ、2…端末装置(携帯電話機、外部装置)、11…CPU、11a…タイマ、12…プログラムメモリ、13…ワーキングメモリ、14…データメモリ、15…通信制御部、16…電源部、17…インターフェース、31…制御部、32…RAM、34…不揮発性メモリ、35…インターフェース。

【特許請求の範囲】
【請求項1】
携帯可能電子装置であって、
外部装置とのデータの送受信を行う通信手段と、
前記通信手段により受信するデータに含まれるコマンドに応じた処理を実行する処理手段と、
前記外部装置へデータを再送信する再送間隔を設定する設定手段と、
前記外部装置へデータを送信してから前記設定手段により設定した再送間隔が経過するまでの間に前記外部装置からのデータの受信が無い場合、前記外部装置へ最後に送信したデータを再び送信する再送手段と、
を有することを特徴とする携帯可能電子装置。
【請求項2】
前記通信手段は、前記再送間隔を指定するパラメータを含むデータを前記外部装置から受信し、
前記設定手段は、前記通信手段により前記外部装置から受信するデータに含まれる前記再送間隔を指定するパラメータに基づいて、前記再送間隔を設定する、
ことを特徴とする前記請求項2に記載の携帯可能電子装置。
【請求項3】
携帯可能電子装置であって、
外部装置とのデータの送受信を行う通信手段と、
前記通信手段により受信するデータに含まれるコマンドに応じた処理を実行する処理手段と、
前記外部装置へデータを再送信する再送回数の上限値を設定する設定手段と、
前記外部装置へデータを送信してから再送間隔が経過するまでの間に前記外部装置からのデータの受信が無い場合、前記設定手段により設定した再送回数の上限値に達するまで前記外部装置へ最後に送信したデータを再送する再送手段と、
を有することを特徴とする携帯可能電子装置。
【請求項4】
前記通信手段は、前記再送回数を指定するパラメータを含むデータを前記外部装置から受信し、
前記設定手段は、前記通信手段により前記外部装置から受信するデータに含まれる前記再送回数の上限値を指定するパラメータに基づいて前記再送回数の上限値を設定する、
ことを特徴とする前記請求項3に記載の携帯可能電子装置。
【請求項5】
さらに、前記再送手段による前記データの再送回数が前記設定手段により設定した再送回数の上限値に達した場合、前記外部装置との通信を終了する制御手段を有する、
ことを特徴とする前記請求項3又は4に記載の携帯可能電子装置。
【請求項6】
ICカードであって、
外部装置とのデータの送受信を行う通信手段と、前記通信手段により受信するデータに含まれるコマンドに応じた処理を実行する処理手段と、前記外部装置へデータを再送信する再送間隔を設定する設定手段と、前記外部装置へデータを送信してから前記設定手段により設定した再送間隔が経過するまでの間に前記外部装置からのデータの受信が無い場合、前記外部装置へ最後に送信したデータを再び送信する再送手段とを有するモジュールと、
前記モジュールを具備する本体と、
を有することを特徴とするICカード。
【請求項7】
ICカードであって、
外部装置とのデータの送受信を行う通信手段と、前記通信手段により受信するデータに含まれるコマンドに応じた処理を実行する処理手段と、前記外部装置へデータを再送信する再送回数の上限値を設定する設定手段と、前記外部装置へデータを送信してから再送間隔が経過するまでの間に前記外部装置からのデータの受信が無い場合、前記設定手段により設定した再送回数の上限値に達するまで前記外部装置へ最後に送信したデータを再送する再送手段とを有するモジュールと、
前記モジュールを具備する本体と、
を有することを特徴とするICカード。
【請求項8】
外部装置と携帯可能電子装置とを有する通信システムであって、
前記外部装置は、
前記携帯可能電子装置とのデータの送受信を行う第1の通信手段と、
前記第1の通信手段により前記携帯可能電子装置にデータの再送間隔を指定するデータを送信する指定手段と、を有し、
前記携帯可能電子装置は、
前記外部装置とのデータの送受信を行う第2の通信手段と、
前記第2の通信手段により受信するデータに含まれるコマンドに応じた処理を実行する処理手段と、
前記外部装置へデータを再送信する再送間隔を設定する設定手段と、
前記外部装置へデータを送信してから前記設定手段により設定した再送間隔が経過するまでの間に前記外部装置からのデータの受信が無い場合、前記外部装置へ最後に送信したデータを再び送信する再送手段と、を有する、
ことを特徴とする通信システム。
【請求項9】
外部装置と携帯可能電子装置とを有する通信システムであって、
前記外部装置は、
前記携帯可能電子装置とのデータの送受信を行う第1の通信手段と、
前記第1の通信手段により前記携帯可能電子装置にデータの再送回数を指定するデータを送信する指定手段と、を有し、
前記携帯可能電子装置は、
前記外部装置とのデータの送受信を行う第2の通信手段と、
前記第2の通信手段により受信するデータに含まれるコマンドに応じた処理を実行する処理手段と、
前記外部装置へデータを再送信する再送回数の上限値を設定する設定手段と、
前記外部装置へデータを送信してから再送間隔が経過するまでの間に前記外部装置からのデータの受信が無い場合、前記設定手段により設定した再送回数の上限値に達するまで前記外部装置へ最後に送信したデータを再送する再送手段と、を有する、
ことを特徴とする通信システム。
【請求項10】
外部装置とのデータの送受信を行う通信部と前記通信部により受信するデータに含まれるコマンドに応じた処理を実行する制御部とを有する携帯可能電子装置に用いられる通信制御方法であって、
前記外部装置へデータを再送信する再送間隔を設定し、
前記外部装置へデータを送信してから前記設定した再送間隔が経過するまでの間に前記外部装置からのデータの受信が無い場合、前記外部装置へ最後に送信したデータを再び送信する、
を有することを特徴とする携帯可能電子装置の制御方法。
【請求項11】
外部装置とのデータの送受信を行う通信部と、前記通信部により受信するデータに含まれるコマンドに応じた処理を実行する制御部とを有する携帯可能電子装置に用いられる通信制御方法であって、
前記外部装置へデータを再送信する再送回数の上限値を設定し、
前記外部装置へデータを送信してから再送間隔が経過するまでの間に前記外部装置からのデータの受信が無い場合、前記設定した再送回数の上限値に達するまで前記外部装置へ最後に送信したデータを再送する、
ことを特徴とする携帯可能電子装置の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate