説明

携帯可能電子装置、ICカード、データ処理装置および携帯可能電子装置の通信制御方法

【課題】 効率的な通信制御を行える携帯可能電子装置、ICカード、データ処理装置および携帯可能電子装置の通信制御方法を提供する。
【解決手段】 実施の形態によれば、携帯可能電子装置は、通信手段と、設定手段と、依頼手段と、速度変更手段と、データ量変更手段とを有する。通信手段は、外部装置と通信する。設定手段は、通信手段による外部装置との通信に用いる通信速度および受信可能な最大データ量の初期設定を含む通信設定を行う。依頼手段は、通信手段により外部装置に対して通信速度の変更を依頼するデータを送信する。速度変更手段は、依頼手段により依頼した通信速度の変更に対する許可通知を受信した後、通信手段による前記外部装置との通信速度を変更する。データ量変更手段は、速度変更手段により通信速度を変更する場合、1回に通信可能な最大データ量を速度変更手段による変更後の通信速度に対応する最大データ量に更新する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、たとえば、携帯可能電子装置、ICカード、データ処理装置および携帯可能電子装置の通信制御方法に関する。
【背景技術】
【0002】
従来、ICカードと上位装置との通信速度は、起動時の初期応答、あるいは、初期応答直後のネゴシエーションで設定する。また、ICカードと上位装置とが1回に通信で受信できる最大のデータ量も、起動時の初期応答、あるいは、初期応答直後のネゴシエーションで設定する。従来のICカードと上位装置とは、ネゴシエーション以降、アプリケーション単位あるいはコマンド単位などで、通信速度あるいは受信可能な最大データ量を変更することができない。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】ISO/IEC 7816−3
【発明の概要】
【発明が解決しようとする課題】
【0004】
本実施形態では、効率的な通信制御を行える携帯可能電子装置、ICカード、データ処理装置および携帯可能電子装置の通信制御方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
実施形態によれば、携帯可能電子装置は、通信手段と、設定手段と、依頼手段と、速度変更手段と、データ量変更手段とを有する。通信手段は、外部装置と通信する。設定手段は、通信手段による外部装置との通信に用いる通信速度および受信可能な最大データ量の初期設定を含む通信設定を行う。依頼手段は、通信手段により外部装置に対して通信速度の変更を依頼するデータを送信する。速度変更手段は、依頼手段により依頼した通信速度の変更に対する許可通知を受信した後、通信手段による前記外部装置との通信速度を変更する。データ量変更手段は、速度変更手段により通信速度を変更する場合、1回に通信可能な最大データ量を速度変更手段による変更後の通信速度に対応する最大データ量に更新する。
【図面の簡単な説明】
【0006】
【図1】図1は、ICカードの構成例を概略的に示す図である。
【図2】図2は、ICカードとの通信機能を有するICカード処理装置の構成例を概略的に示す図である。
【図3】図3は、通信速度に対応するIFSDおよびIFSCを示すテーブルの構成例を示す図である。
【図4】図4は、第1の通信制御の例を概略的に示す図である。
【図5】図5は、第2の通信制御の例を概略的に示す図である。
【図6】図6は、第3の通信制御の例を概略的に示す図である。
【図7】図7は、第3の通信制御の例を概略的に示す図である。
【発明を実施するための形態】
【0007】
以下、実施の形態について、図面を参照して説明する。
【0008】
まず、実施の形態に係る携帯可能電子装置としてのICカードの構成について説明する。
図1は、ICカード1の構成例を概略的に示すブロック図である。
【0009】
携帯可能電子装置としてのICカード1は、データ処理装置(上位装置)としてのICカード処理装置2からのコマンドに応じて処理を実行する。すなわち、ICカード1とICカード処理装置2とは、互いにデータを送受信する通信機能を有し、図1に示すようなICカード処理システムを構成している。
【0010】
上記ICカード1は、上記ICカード処理装置2などの上位装置から電力などの供給を受けた際、活性化される(動作可能な状態になる)ようになっている。例えば、上記ICカード1が接触型の通信によりICカード処理装置2と接続される場合、つまり、ICカード1が接触型のICカードで構成される場合、上記ICカード1は、通信インターフェースとしてのコンタクト部を介してICカード処理装置2からの動作電源及び動作クロックの供給を受けて活性化される。
【0011】
また、上記ICカード1が非接触型の通信方式によりICカード処理装置2と接続される場合、つまり、上記ICカード1が非接触式のICカードで構成される場合、上記ICカード1は、通信インターフェースとしてのアンテナ及び変復調回路などを介してICカード処理装置2からの電波を受信し、その電波から図示しない電源部により動作電源及び動作クロックを生成して活性化するようになっている。
【0012】
図1に示すように、ICカード1は、CPU(セントラル・プロセッシング・ユニット)11、ROM(リード・オンリ・メモリ)12、RAM(ランダム・アクセス・メモリ)13、通信ユニット(UART)14、コプロセッサ(Co−Processor)15、および、不揮発性メモリ(NV(EEPROM))16などを有している。
【0013】
上記CPU11、ROM12、RAM13、通信ユニット14、コプロセッサ15および不揮発性メモリ16は、ICチップなどにより一体的に形成されたモジュールCaにより構成される。このモジュールCaは、当該ICカード1を形成する筐体(本体)Cの内部に埋設される。すなわち、上記ICカード1は、モジュールCaが埋設された筐体Cにより構成されている。
【0014】
また、上記ICカード1は、上位装置としての上記ICカード処理装置2から電力などの供給を受けた際、活性化し(動作可能な状態となり)、上記ICカード処理装置2からのコマンドに応じて動作するようになっている。ICカード処理装置2は、本ICカード1の通信方式に適合したリーダライタが接続されたパーソナルコンピュータなどにより構成される。たとえば、ICカード処理装置2は、図示しない制御部がアプリケーションプログラムを実行することにより、ICカード1に対してコマンドを送信したり、ICカード1からのレスポンスを受信したりする機能を実現している。
【0015】
上記CPU11は、当該ICカード1全体の制御およびデータ処理などを司るものである。上記CPU11は、制御プログラム等に基づいて動作することにより種々の処理を行う。上記ROM12は、制御用プログラムおよび制御データなどが予め格納されている不揮発性メモリである。上記RAM13は、ワーキングメモリとして機能する揮発性のメモリである。
【0016】
上記通信ユニット14は、通信手段として機能し、上位装置としてのICカード処理装置2とのデータ通信を制御するものである。また、上記通信ユニット14は、上記ICカード1が動作するための電源を受給する手段としても機能する。上記コプロセッサ15は、暗号化あるいは復号化などの演算の補助を行うものである。上記不揮発性メモリ16は、各種データやアプリケーション(アプリケーションプログラム)などを記憶する書き換え可能な不揮発性メモリである。
【0017】
不揮発性メモリ16は、テーブル16aを有する。テーブル16aは、ICカードとICカード処理装置との通信速度と、ICカード処理装置2が1回の通信で受信可能な最大データ量(IFSD)と、ICカード1が1回の通信で受信可能な最大データ量(IFSC)と、を対応づけて記憶する。CPU11は、テーブル16aを参照することにより、通信速度に対応するIFSDとIFSCとが決定できる。テーブル16aの構成例については、後で説明する。
【0018】
また、上記通信ユニット14は、ICカード1の通信方式に応じた構成を有している。たとえば、上記ICカード1の通信方式が接触式の通信方式である場合、上記通信ユニット14は、上位装置としてのICカード処理装置2のコンタクト部と物理的に接触するためのコンタクト部などにより構成される。この場合、ICカード1は、ICカード処理装置2と物理的に接触している上記通信ユニット14によりICカード処理装置2からの電源を受給する。つまり、上記ICカード1が接触式ICカードである場合、上記ICカード1は、通信ユニット14としてのコンタクト部を介してICカード処理装置2からの動作電源および動作クロックの供給を受けて活性化される。
【0019】
また、上記ICカード1の通信方式が非接触式(無線式)の通信方式である場合、上記通信ユニット14は、電波の送受信を行うアンテナおよび通信を制御する通信制御部等により構成される。この場合、上記ICカード1は、通信ユニット14により受信した電波から図示しない電源部により動作電源および動作クロックを生成するようになっている。つまり、上記ICカード1が非接触式ICカードである場合、上記ICカード1は、通信ユニット14としてのアンテナおよび通信制御部等を介してICカード処理装置2からの電波を受信し、その電波から図示しない電源部により動作電源および動作クロックを生成して活性化するようになっている。
【0020】
次に、ICカード処理装置2の構成について説明する。
図2は、ICカード(携帯可能電子装置)1との通信機能を有する上位装置としてのICカード処理装置2の構成例を概略的に示すブロック図である。
上記ICカード処理装置2は、図2に示すように、制御部21、表示部(ディスプレイ)22、操作部(キーボード、テンキー)24、及び、カードリーダライタ25などを有している。
【0021】
上記制御部21は、ICカード処理装置2全体の動作を制御するものである。上記制御部21は、CPU、種々のメモリ及び各種インターフェースなどにより構成される。たとえば、上記制御部21は、電子計算機により構成される。上記制御部21は、CPUがメモリに記憶したプログラムを実行することにより種々の処理を実現する。たとえば、制御部21は、ICカード1との通信制御用のプログラムをCPUが実行することにより、カードリーダライタ25を介したICカード1との通信を制御する機能を有する。また、制御部21は、データ処理用のプログラムをCPUが実行することにより、ICカード1から受信したデータを基づく種々の処理を行う機能を有する。
【0022】
制御部21は、不揮発性のメモリで構成するテーブル21aを有する。テーブル21aは、テーブル16aと同様な情報を記憶する。つまり、テーブル21aは、ICカードとICカード処理装置との通信速度と、ICカード処理装置2が1回の通信で受信可能な最大データ量(IFSD)と、ICカード1が1回の通信で受信可能な最大データ量(IFSC)と、を対応づけて記憶する。制御部21のCPUは、テーブル21aを参照することにより、通信速度に対応するIFSDとIFSCとが決定できる。
【0023】
上記表示部22は、上記制御部21の制御により種々の情報を表示する表示装置である。上記操作部23は、当該ICカード処理装置2の操作員が操作するキーボード、および、使用者IDあるいはパスワードなど数字などの情報を入力する為のテンキーなどで構成する。操作部は、操作員により種々の操作指示あるいはデータなどが入力される。
【0024】
上記カードリーダライタ25は、上記ICカード1との通信を行うためのインターフェース装置である。上記カードリーダライタ25は、上記ICカード1の通信方式に応じたインターフェースにより構成される。たとえば、上記ICカード1が接触型のICカードである場合、上記カードリーダライタ25は、ICカード1のコンタクト部と物理的かつ電気的に接続するための接触部などにより構成される。
【0025】
また、上記ICカード1が非接触型のICカードである場合、上記カードリーダライタ25は、ICカード1との無線通信を行うためのアンテナおよび通信制御などにより構成される。上記カードリーダライタ25では、上記ICカード1に対する電源供給、クロック供給、リセット制御、データの送受信が行われるようになっている。このような機能によってカードリーダライタ25は、上記制御部21による制御に基づいて上記ICカード1の活性化(起動)、種々のコマンドの送信、及び送信したコマンドに対する応答の受信などを行なう。
【0026】
以下、ICカード1とICカード処理装置2との通信制御について説明する。
ICカードシステムでは、ICカードのリセット処理後、互いの通信設定を行う。本ICカードシステムでは、通信設定において、ICカード1とICカード処理装置2とのネゴシエーションにより通信速度を設定する。また、本ICカードシステムは、通信設定において、1回の通信でICカード1が受信できる最大データ量(IFSC)と1回の通信でICカード処理装置2が受信できる最大データ量(IFSD)とを設定する。つまり、ICカードおよびICカード処理装置は、リセット直後の通信設定において、それぞれが通信速度、ICカード1が受信可能な最大データ量(IFSD)、および、ICカード処理装置2が受信可能な最大データ量(IFSC)を設定する。
【0027】
さらに、本実施形態のICカードシステムでは、通信設定後の実際の通信中に、通信速度を変更する機能を有する。また、ICカードシステムでは、通信速度の変更に伴ってIFSDおよびIFSCも変更する。本実施の形態において、通信速度の変更は、ICカード1からICカード処理装置2へ依頼するものとする。ただし、ICカード処理装置2からICカード1に通信速度の変更を要求しても良い。また、通信速度を変更する回数は、所望の回数(例えば、1回だけなど)に限定できるようにしても良い。
【0028】
まず、ICカード1とICカード処理装置2との通信速度に対する、ICカード1が受信可能な最大データ量(IFSD)、および、ICカード処理装置2が受信可能な最大データ量(IFSC)の関係について説明する。本ICカードシステムにおいて、ICカード1およびICカード処理装置2は、それぞれ通信速度に対するIFSDおよびIFSCを記憶したテーブル16a、21aを有する。通信設定の整合性を保つため、ICカード1が有するテーブル16aとICカード処理装置2が有するテーブル21aとは、同じ情報を記憶する。
【0029】
図3は、テーブル16aおよびテーブル21aに記憶するデータの例を示す図である。
図3に示す例において、テーブル16a及び21aには、通信速度が基準クロックに対する倍率で設定されている。テーブル16a及び21aは、これらの各通信速度に対応づけて、ICカード1が受信可能な最大データ量(IFSD)と、ICカード処理装置2が受信可能な最大データ量(IFSC)とを記憶する。図3に示す例では、通信速度Vaに対しては、IFSDがDaと設定され、IFSCがCaと設定されている。また、通信速度Vbに対して、IFSDがDbと設定され、IFSCがCbと設定されている。なお、IFSDの値とIFSCの値とは、同じで値を設定するようにしても良い。
【0030】
ICカード1のCPU11は、テーブル16aを参照して通信速度に対応するIFSDの値およびIFSCの値を決定することができる。従って、ICカード1のCPU11は、ICカード処理装置2との通信速度を変更した場合、テーブル16aを参照して変更後の通信速度に対応するIFSDの値およびIFDCの値を決定し、設定する。また、ICカード処理装置2の制御部21は、テーブル21aを参照して通信速度に対応するIFSDの値およびIFSCの値を決定することができる。従って、ICカード処理装置2の制御部21は、ICカード1との通信速度を変更した場合、テーブル21aを参照して変更後の通信速度に対応するIFSDの値およびIFDCを決定し、設定する。
【0031】
次に、ICカード1からICカード処理装置2に対して通信速度の変更を依頼する第1の通信制御について説明する。
第1の通信制御では、ICカード1が通信速度の変更をICカード処理装置2へ依頼する。ICカード処理装置2が通信速度の変更を許可した後、ICカード1とICカード処理装置2とは、通信速度をICカード1が依頼した通信速度に変更する。通信速度に変更する場合、ICカード1とICカード処理装置2とは、ICカード処理装置が受信可能な最大データ量(IFSD)とICカードが受信可能な最大データ量(IFSC)とを通信速度に応じた値に変更する。このように、通信速度、IFSDおよびIFSCを変更した状態で、ICカード1とICカード処理装置2とは、データ通信を継続する。
【0032】
図4は、第1の通信制御の例を概略的に示すシーケンス図である。
図4に示す例において、まず、ICカード処理装置2は、ICカード1へ電源を供給するととともに、リセット処理を要求する(ステップS1)。ICカード1のCPU11は、ICカード処理装置2からの電力供給を受けてリセット処理し(ステップS2)、初期応答(ATR:Answer To Reset)をICカード処理装置2へ送信する(ステップS3)。ICカード1とICカード処理装置2とは、通信速度変更手続き(PPS:Protocol and Parameter Selection)などを含むネゴシエーションによって、通信速度、IFSDおよびIFSCの設定を含む通信設定を実施する(ステップS4)。図4に示す例では、通信速度の初期設定値として、通信速度Va、IFSDがDa、IFSCがCaに設定されるものとする。
【0033】
通信設定が完了すると、ICカード処理装置2の制御部21は、ICカード1に対して処理を要求するコマンドを生成し(ステップS5)、生成したコマンドをカードリーダライタ25により現在設定されている通信速度でICカード1へ送信する(ステップS6)。たとえば、図4に示す例では、ICカード処理装置2の制御部21は、ICカード1に対するREAD BINARYコマンドを生成し(ステップS5)、生成したREAD BINARYコマンドをカードリーダライタ25により通信速度VaでICカード1へ送信する(ステップS6)。
【0034】
ICカード1は、通信ユニット14によりICカード処理装置2からのコマンドを受信する。ICカード処理装置2からのコマンドを受信すると、ICカード1のCPU11は、受信したコマンドに対する処理(コマンド処理)を実行し、コマンド処理結果を示すレスポンスデータを作成する(ステップS7)。図4に示す例では、ICカード1のCPU11は、通信ユニット14によりICカード処理装置2から受信したREAD BINARYコマンドに対応する処理を実施する。READ BINARYコマンドに対する処理として、CPU11は、当該コマンドで指定されたバイナリデータを読出し、読み出したデータをレスポンスデータにセットする(ステップS7)。
【0035】
第1の通信制御において、ICカード1のCPU11は、作成したレスポンスデータの内容に基づいて通信速度を変更すべきか否かを判断する(ステップS9)。たとえば、ICカード1のCPU11は、作成したレスポンスデータのデータ量が所定の閾値よりも多いか否かにより、通信速度を変更するか否かを判断する。図4に示す例では、ICカード1のCPU11は、READ BINARYコマンドに対するレスポンスデータのデータ量が所定閾値よりも多いために通信速度をVbに変更すべきと判断するものとする(ステップS8)。
【0036】
通信速度を変更すべきと判断した場合、ICカード1のCPU11は、通信速度をVbに変更することをICカード処理装置2に依頼するリクエストデータ(通信速度の変更依頼のリクエストデータ)を作成する(ステップS9)。図4に示す例では、ICカード1のCPU11は、通信速度をVbに変更する旨の通信速度の変更依頼のリクエストデータを作成する(ステップS9)。ICカード1のCPU11は、作成した通信速度の変更依頼のリクエストデータを通信ユニット14によりICカード処理装置2へ送信する(ステップS10)。
【0037】
ICカード処理装置2は、カードリーダライタ25によりICカード1からの通信速度の変更依頼のリクエストデータを受信する。カードリーダライタ25により通信速度の変更依頼のリクエストデータを受信したICカード処理装置2の制御部21は、当該リクエストデータで依頼された通信速度の変更が可能か否かを判断する(ステップS11)。通信速度の変更が可能であると判断した場合、ICカード処理装置2の制御部21は、通信速度の変更を許可する通知(通信速度の変更許可通知)を作成し(ステップS12)、カードリーダライタ25により作成した通信速度の変更許可通知をICカード1へ送信する(ステップS13)。なお、通信速度の変更が不可であると判断した場合、ICカード処理装置2の制御部21は、通信速度の変更不可通知を作成してカードリーダライタ25によりICカード1へ送信する。
【0038】
ICカード1へ通信速度の変更許可通知を送信すると、ICカード処理装置2の制御部21は、ICカード1との通信速度の設定を依頼された通信速度に変更する(ステップS14)。通信速度を変更すると、ICカード処理装置2の制御部21は、通信速度の変更に伴って、ICカード処理装置2が1回の通信で受信可能な最大データ量(IFSD)とICカード1が1回の通信で受信可能な最大データ量(IFSC)とを再設定する(ステップS14)。ICカード処理装置2の制御部21は、テーブル21aを参照して、変更後の通信速度に対応するIFSDとIFSCとを決定する。これにより、ICカード処理装置2の制御部21は、IFSDの値とIFSCの値とを変更後の通信速度に対応する値に再設定する(ステップS15)。
【0039】
図4に示す例では、カードリーダライタ25により通信速度をVbに変更する旨を依頼するリクエストデータを受信したICカード処理装置2の制御部21は、通信速度をVbに変更することを許可し(ステップS11)、通信速度の変更許可通知を作成する(ステップS12)。ICカード処理装置2の制御部21は、カードリーダライタ25により通信速度の変更許可通知をICカード1へ送信する(ステップS13)。
【0040】
通信速度の変更許可通知を送信したICカード処理装置2の制御部21は、ICカード1との通信速度の設定をVaからVbに変更する(ステップS14)。通信速度をVbに変更すると、ICカード処理装置2の制御部21は、テーブル21aを参照して、変更後の通信速度Vbに対応するIFSD(Db)とIFSC(Cb)とを決定する。これにより、ICカード処理装置2の制御部21は、変更後の通信速度Vbに対応するIFSD(Db)とIFSC(Cb)とを設定する(ステップS15)。
【0041】
一方、ICカード1は、通信ユニット14によりICカード処理装置2からの通信速度の変更許可通知を受信する。通信速度の変更許可通知を受信したICカード1のCPU11は、通信速度を変更する(ステップS16)。通信速度を変更すると、ICカード1のCPU11は、通信速度の変更に伴って、ICカード処理装置2が1回の通信で受信可能な最大データ量(IFSD)とICカード1が1回の通信で受信可能な最大データ量(IFSC)とを再設定する(ステップS17)。ICカード1のCPU11は、テーブル16aを参照して、変更後の通信速度に対応するIFSDとIFSCとを決定する。これにより、ICカード1のCPU11は、IFSDの値とIFSCの値とをICカード処理装置2と同様な変更後の通信速度に対応する値に再設定する(ステップS17)。
【0042】
図4に示す例では、ICカード1のCPU11は、通信速度の変更許可通知を受信すると、通信速度をVaからVbに変更し(ステップS16)、テーブル16aを参照して変更後の通信速度Vbに対応するIFSD(Db)とIFSC(Cb)とを決定する。これにより、ICカード1のCPU11は、IFSDの値とIFSCの値とをICカード処理装置2と同様な変更後の通信速度に対応する値に再設定する
通信速度を変更し、変更後の通信速度に対応したIFSDおよびIFCSを設定すると、ICカード1のCPU11は、READ BINARYコマンドに対するレスポンスデータを変更後の通信速度Vb、IFSD(Db)およびIFSC(Cb)で通信ユニット14によりICカード処理装置2へ送信する(ステップS18)。
【0043】
第1の通信制御では、一旦通信速度、IFSDおよびIFCSを変更した後、ICカード1及びICカード処理装置2は、変更された通信速度でコマンドおよびレスポンスデータの送受信などのデータ通信を実行する。図4に示す例では、ICカード1がREAD BINARYコマンドに対するレスポンスデータを送信した後、ICカード1及びICカード処理装置2は、変更された通信速度Vb、IFSD(Db)およびIFSC(Cb)でコマンドおよびレスポンスデータの送受信を実行する。
【0044】
上記したように、第1の通信制御において、ICカードは、通信速度を変更すべきか否かを判断し、通信速度を変更すべきと判断した場合には通信速度を変更することをICカード処理装置へ依頼する。依頼した通信速度の変更をICカード処理装置が許可した場合、ICカードは、通信速度を依頼した通信速度に変更するとともに、変更後の通信速度に対応したIFSDおよびIFSCを設定し、ICカード処理装置とのデータの送受信を行う。これにより、第1の通信制御によれば、ICカードにおける判断によって、ICカード及びICカード処理装置間の通信速度、IFSDおよびIFSCを変更する制御が可能となる。
【0045】
次に、ICカード1からICカード処理装置2に対して通信速度の変更を依頼する第2の通信制御について説明する。
第2の通信制御では、ICカード1が1回だけ通信速度を変更することをICカード処理装置2へ依頼する。ICカード処理装置2が1回だけの通信速度の変更を許可した後、ICカード1とICカード処理装置2とは、1回だけ通信速度をICカード1が依頼した通信速度に変更する。通信速度を変更する場合、ICカード1とICカード処理装置2とは、それぞれIFSDおよびIFSCも変更した通信速度に対応する値に変更(再設定)する。ICカード1は、変更した通信速度、IFSDおよびIFSCで1回だけICカード処理装置2へデータ(レスポンスデータ)を送信する。変更した通信速度でのICカード1からICカード処理装置2へのデータ送信が終了すると、ICカード1とICカード処理装置2とは、それぞれ通信速度を変更前の通信速度に戻し、IFSDおよびIFSCも変更前の通信速度に応じたIFSDおよびIFSCに戻す。
【0046】
図5は、第2の通信制御の例を概略的に示すシーケンス図である。
図5に示す例において、まず、ICカード処理装置2は、ICカード1へ電源を供給するととともに、リセット処理を要求する(ステップS31)。ICカード1のCPU11は、ICカード処理装置2からの電力供給を受けてリセット処理し(ステップS32)、初期応答(ATR:Answer To Reset)を通信ユニット14によりICカード処理装置2へ送信する(ステップS33)。ICカード1のCPU11とICカード処理装置2の制御部21とは、通信速度変更手続き(PPS:Protocol and Parameter Selection)などを含むネゴシエーションによって、互いに通信速度の設定を含む通信設定を実施する(ステップS34)。図5に示す例では、通信速度の初期設定値として通信速度Vaが設定されるものとする。
【0047】
通信設定が完了すると、ICカード処理装置2の制御部21は、ICカード1に対して処理を要求するコマンドを生成し(ステップS35)、生成したコマンドをカードリーダライタ25により現在設定されている通信速度、IFSDおよびIFSCでICカード1へ送信する(ステップS36)。たとえば、図5に示す例では、ICカード処理装置2の制御部21は、ICカード1に対してバイナリデータの読出しを要求するREAD BINARYコマンドを生成し(ステップS35)、生成したREAD BINARYコマンドをカードリーダライタ25により通信速度Vaで、IFSDをDaとし、IFSCをCaとしてICカード1へ送信する(ステップS36)。
【0048】
ICカードは、通信ユニット14によりICカード処理装置2からのコマンドを受信する。通信ユニット14によりコマンドを受信した場合、ICカード1のCPU11は、受信したコマンドで要求される処理(コマンド処理)を実行し、コマンド処理結果を示すレスポンスデータを作成する(ステップS37)。図5に示す例では、ICカード1のCPU11は、ICカード処理装置2から受信したREAD BINARYコマンドを実施する。READ BINARYコマンドに対する処理として、CPU11は、当該コマンドで指定されたバイナリデータを読出し、読み出したデータをレスポンスデータにセットする(ステップS37)。
【0049】
第2の通信制御において、ICカード1のCPU11は、作成したレスポンスデータの内容に基づいて1回(1つのレスポンスデータを送信する間)だけ通信速度を変更すべきか否かを判断する(ステップS38)。たとえば、ICカード1のCPU11は、作成したレスポンスデータのデータ量が所定の閾値よりも多い場合、1回だけ通信速度を変更すべきであると判断するものとする。図5に示す例では、第2の通信制御として、ICカード1のCPU11は、READ BINARYコマンドに対するレスポンスデータのデータ量が所定閾値よりも多いため、1回だけ(つまり、READ BINARYコマンドに対するレスポンスデータを送信するときだけ)通信速度をVbに変更すべきであると判断するものとする(ステップS38)。
【0050】
1回だけ通信速度をVaからVbに変更すべきと判断した場合、ICカード1のCPU11は、1回だけ通信速度をVbに変更することを依頼する通信速度の変更依頼のリクエストデータを作成する(ステップS39)。ICカード1のCPU11は、作成したリクエストデータを通信ユニット14によりICカード処理装置2へ送信する(ステップS40)。
【0051】
ICカード処理装置2は、カードリーダライタ25によりICカード1から1回だけ通信速度を変更する旨のリクエストデータを受信する(ステップS40)。1回だけ通信速度を変更する旨のリクエストデータを受信したICカード処理装置2の制御部21は、当該リクエストデータで依頼された1回だけの通信速度の変更が可能か否かを判断する(ステップS41)。1回だけの通信速度の変更が可能であると判断した場合、ICカード処理装置2の制御部21は、1回だけの通信速度の変更を許可する変更許可通知を作成し(ステップS42)、作成した変更許可通知をカードリーダライタ25によりICカード1へ送信する(ステップS43)。
【0052】
変更許可通知を送信すると、ICカード処理装置2の制御部21は、通信速度の設定を変更する(ステップS44)。通信速度を変更した場合、ICカード処理装置2の制御部21は、IFSDの値を変更後の通信速度に対応するIFSDの値に変更し、IFSCの値を変更後の通信速度に対応するIFSCの値に変更する。
【0053】
なお、1回のみの通信速度の変更が不可であると判断した場合、ICカード処理装置2の制御部21は、通信速度の変更が不可である旨の通信速度の変更不可通知を作成してカードリーダライタ25によりICカード1へ送信する。
【0054】
図5に示す例では、ICカード処理装置2の制御部21は、1回だけ通信速度をVbに変更する旨を依頼するリクエストデータをICカード1から受信する(ステップS40)。当該リクエストデータを受信したICカード処理装置2の制御部21は、1回だけ通信速度をVbに変更することを許可し(ステップS41)、1回だけ通信速度の変更を許可する変更許可通知を作成する(ステップS42)。
【0055】
ICカード処理装置2の制御部21は、1回だけ通信速度をVbへ変更することを許可する変更許可通知をカードリーダライタ25によりICカード1へ送信する(ステップS43)。変更許可通知を送信すると、ICカード処理装置2の制御部21は、ICカード1との通信速度の設定をVaからVbに変更する(ステップS44)。通信速度をVbに変更した場合、ICカード処理装置2の制御部21は、IFSDの値を変更後の通信速度Vbに対応するIFSDの値(Db)に変更し、IFSCの値を変更後の通信速度Vbに対応するIFSCの値(Cb)に変更する(ステップS45)。
【0056】
ICカード1は、1回だけの通信速度の変更許可通知を通信ユニット14によりICカード処理装置2から受信する(ステップS43)。1回だけの通信速度の変更許可通知を受信したICカード1のCPU11は、1回だけ通信速度を変更依頼した通信速度に変更する(ステップS46)。通信速度を変更すると、ICカード1のCPU11は、IFSDの値を変更後の通信速度に対応するIFSDの値に変更し、IFSCの値を変更後の通信速度に対応するIFSCの値に変更する(ステップS47)。
【0057】
通信速度、IFSDおよびIFSCを変更した後、ICカード1のCPU11は、通信ユニット14によりコマンドの処理結果を示すレスポンスデータを変更後の通信速度、IFSDおよびIFSCでICカード処理装置2へ送信する(ステップS48)。
【0058】
変更後の通信速度、IFSDおよびIFSCでデータ(レスポンスデータ)を送信すると、ICカード1のCPU11は、通信速度を元の通信速度に戻す(ステップS49)。さらに、通信速度を元の通信速度に戻すと、ICカード1のCPU11は、IFSDの値、およびIFSCの値も、変更前の通信速度に対応するIFSDの値およびIFSCの値に戻す(ステップS50)。
【0059】
図5に示す例では、1回だけ通信速度をVbへ変更することを許可する変更許可通知を受信すると、ICカード1のCPU11は、通信速度をVaからVbに変更する(ステップS46)。通信速度をVbに変更すると、ICカード1のCPU11は、IFSDの値を変更前の通信速度Vaに対応するIFSDの値Daから通信速度Vbに対応するIFSDの値Dbに変更し、IFSCの値を変更前の通信速度Vaに対応するIFSCの値Caから変更後の通信速度に対応するIFSCの値Cbに変更する(ステップS47)。
【0060】
通信速度をVb、IFSDをDbおよびIFSCをCbを変更した後、ICカード1のCPU11は、通信ユニット14によりコマンドの処理結果を示すレスポンスデータを通信速度Vb、IFSD(Db)およびIFSC(Cb)でICカード処理装置2へ送信する(ステップS48)。通信速度Vb、IFSD(Db)およびIFSC(Cb)でデータ(レスポンスデータ)を送信すると、ICカード1のCPU11は、通信速度Vbを元の通信速度Vaに戻す(ステップS49)。通信速度Vbを元の通信速度Vaに戻すと、ICカード1のCPU11は、IFSDの値およびIFSCの値も、変更前の通信速度Vaに対応するIFSDの値(Da)およびIFSCの値(Ca)に戻す(ステップS50)。
【0061】
ICカード処理装置2は、カードリーダライタ25により1回限定で変更した通信速度、IFSDおよびIFSCで、ICカード1からコマンドの処理結果を示すレスポンスデータを受信する(ステップS48)。変更後の通信速度、IFSDおよびIFSCでICカード1からのレスポンスデータを受信すると、ICカード処理装置2の制御部21は、通信速度を変更前の通信速度に戻す(ステップS51)。通信速度を元の通信速度に戻すと、ICカード処理装置2の制御部21は、IFSDの値およびIFSCの値も、変更前の通信速度に対応するIFSDの値およびIFSCの値に戻す(ステップS52)。
【0062】
図5に示す例では、通信速度Vb、IFSD(Db)およびIFSC(Cb)でICカード1からのREAD BINARYコマンドに対するレスポンスデータの受信が完了すると、ICカード処理装置2の制御部21は、通信速度Vbを変更前の通信速度Vaに戻す(ステップS51)。通信速度Vbを元の通信速度Vaに戻すと、ICカード処理装置2の制御部21は、IFSDの値およびIFSCの値も、変更前の通信速度Vaに対応するIFSDの値(Da)およびIFSCの値(Ca)に戻す(ステップS52)。
【0063】
上記したように、第2の通信制御において、ICカードは、1回データを送信する間(つのレスポンスデータを送信する間)だけ通信速度を変更すべきか否かを判断し、1回だけ通信速度を変更すべきと判断した場合にはICカード処理装置へ1回だけ通信速度を変更することを依頼する。1回だけの通信速度の変更をICカード処理装置が許可した場合、ICカードは、1回データを送信する間(1つのレスポンスデータを送信する間)だけ通信速度を依頼した通信速度に変更するとともに、IFSDの値およびIFSCの値も、変更後の通信速度に対応するIFSDの値およびIFSCの値に変更する。ICカードは、変更した通信速度、IFSDおよびIFSCで1つのデータ列(レスポンスデータ)をICカード処理装置へ送信した後、変更した通信速度、IFSDおよびIFSCを元の通信速度、IFSDおよびIFSCに戻す。これにより、第2の通信制御によれば、ICカードにおける判断によって、ICカードからICカード処理装置へ1つのデータ列(1つのレスポンスデータ)を送信する間だけ通信速度、IFSDおよびIFSCを変更する制御が可能となる。
【0064】
次に、第3の通信制御について説明する。
第3の通信制御では、特定のコマンドに対するレスポンスデータの送信について、通信速度、IFSDおよびIFSCを変更する。特定のコマンドは、ICカード1が1回だけ通信速度の変更をICカード処理装置2に依頼し、ICカード処理装置2が通信速度の変更を認めた種類のコマンドであるものとする。すなわち、種類Aのコマンド(コマンドA)を受信したICカード1が当該コマンドAに対するレスポンスデータを送信する間だけ通信速度を変更することをICカード処理装置2へ依頼し、その依頼をICカード処理装置が許可した場合、ICカードとICカード処理装置とは、そのコマンドAだけでなく、それ以降の種類Aのコマンドに対するレスポンスデータの通信においても通信速度、IFSDおよびIFSCを変更する。
【0065】
また、所定の種類のコマンドに対するレスポンスデータを送受信する間、ICカードとICカード処理装置とは、通信速度、IFSDおよびIFSCを変更するように予め設定しても良い。この場合、ICカード1は、受信したコマンドが所定の種類のコマンドであれば、通信速度、IFSDおよびIFSCを変更してレスポンスデータを送信する。ICカード処理装置2は、送信したコマンドが所定の種類のコマンドであれば、通信速度、IFSDおよびIFSCを変更して当該コマンドに対するレスポンスデータを受信する。
【0066】
図6及び図7は、第3の通信制御の例を概略的に示すシーケンス図である。
図6及び図7に示す例において、まず、ICカード処理装置2は、ICカード1へ電源を供給するととともに、リセット処理を要求する(ステップS61)。ICカード1のCPU11は、ICカード処理装置2からの電力供給を受けてリセット処理し(ステップS62)、初期応答(ATR:Answer To Reset)を通信ユニット14によりICカード処理装置2へ送信する(ステップS63)。ICカード1のCPU11とICカード処理装置2の制御部21とは、通信速度変更手続き(PPS:Protocol and Parameter Selection)などを含むネゴシエーションによって、互いに通信速度の設定を含む通信設定を実施する(ステップS64)。図6及び図7に示す例では、通信速度の初期設定値として通信速度Vaが設定されるものとする。
【0067】
通信設定が完了すると、ICカード処理装置2の制御部21は、ICカード1に対して処理を要求するコマンドAを生成し(ステップS65)、生成したコマンドAをカードリーダライタ25により現在設定されている通信速度、IFSDおよびIFSCでICカード1へ送信する(ステップS66)。たとえば、図6及び図7に示す例では、ICカード処理装置2の制御部21は、コマンドAとしてREAD BINARYコマンドを生成し(ステップS65)、通信速度をVaとし、IFSDをDaとし、IFSCをCaとして、生成したREAD BINARYコマンドをカードリーダライタ25によりICカード1へ送信する(ステップS66)。
【0068】
ICカード1は、通信ユニット14によりICカード処理装置2からのコマンドAを受信する(ステップS66)。通信ユニット14によりコマンドAを受信した場合、ICカード1のCPU11は、受信したコマンドAで要求される処理(コマンド処理)を実行し、コマンド処理結果を示すレスポンスデータを作成する(ステップS67)。図6及び図7に示す例では、ICカード1のCPU11は、ICカード処理装置2から受信したREAD BINARYコマンドを実施する。READ BINARYコマンドに対する処理として、CPU11は、当該コマンドで指定されたバイナリデータを読出し、読み出したデータをレスポンスデータにセットする(ステップS67)。
【0069】
レスポンスデータを作成すると、ICカード1のCPU11は、作成したレスポンスデータを送信する間だけ通信速度を変更すべきか否かを判断する(ステップS68)。第3の通信制御では、ICカード1のCPU11は、実行(受信)したコマンドの種類が通信速度を変更すべきコマンドの種類であれば、当該コマンドに対するレスポンスデータを送信する間だけ通信速度を変更すべきであると判断する。
【0070】
たとえば、ICカード1のCPU11は、作成したレスポンスデータのデータ量が所定の閾値よりも多い場合、当該レスポンスデータを送信する間だけ通信速度を変更すべきであると判断するものとする。この場合、ICカード1のCPU11は、通信速度を変更すべきと判断したレスポンスデータの元となったコマンドAの種類を記憶しておく。ICカード1のCPU11は、記憶した種類のコマンドを再び受信した場合には、当該コマンドに対するレスポンスデータを送信する間の通信速度を変更すべきと判断する。
【0071】
当該コマンドAに対するレスポンスデータを送信する間だけ通信速度を変更すべきと判断した場合、ICカード1のCPU11は、レスポンスデータを送信する間だけ通信速度を変更することを依頼する通信速度の変更依頼のリクエストデータを作成する(ステップS69)。ICカード1のCPU11は、作成したリクエストデータを通信ユニット14によりICカード処理装置2へ送信する(ステップS70)。
【0072】
図6及び図7に示す例では、ICカード1のCPU11は、READ BINARYコマンドに対するレスポンスデータのデータ量が所定閾値よりも多いため、1回だけ(つまり、READ BINARYコマンドに対するレスポンスデータを送信する間だけ)通信速度をVbに変更すべきであると判断するものとする(ステップS68)。当該READ BINARYコマンドに対するレスポンスデータを送信する間だけ通信速度をVaからVbに変更すべきと判断した場合、ICカード1のCPU11は、レスポンスデータを送信する間だけ通信速度をVaからVbに変更することを依頼する通信速度の変更依頼のリクエストデータを作成し(ステップS69)、作成したリクエストデータを通信ユニット14によりICカード処理装置2へ送信する(ステップS70)。
【0073】
ICカード処理装置2は、カードリーダライタ25によりICカード1から1回(1つのレスポンスデータを送信する間)だけ通信速度を変更する旨のリクエストデータを受信する(ステップS70)。1回だけ通信速度を変更する旨のリクエストデータを受信したICカード処理装置2の制御部21は、当該リクエストデータで依頼された1回だけの通信速度の変更が可能か否かを判断する(ステップS71)。1回だけの通信速度の変更が可能であると判断した場合、ICカード処理装置2の制御部21は、1回だけの通信速度の変更を許可する変更許可通知を作成し(ステップS72)、作成した変更許可通知をカードリーダライタ25によりICカード1へ送信する(ステップS73)。なお、1回のみの通信速度の変更が不可であると判断した場合、ICカード処理装置2の制御部21は、通信速度の変更が不可である旨の通信速度の変更不可通知を作成してカードリーダライタ25によりICカード1へ送信する。
【0074】
変更許可通知を送信すると、ICカード処理装置2の制御部21は、通信速度の設定を変更する(ステップS74)。通信速度を変更した場合、ICカード処理装置2の制御部21は、IFSDの値を変更後の通信速度に対応するIFSDの値に変更し、IFSCの値を変更後の通信速度に対応するIFSCの値に変更する(ステップS75)。通信速度、IFSD及びIFSCを変更した場合、ICカード処理装置2の制御部21は、通信速度を変更したコマンドの種類(コマンドA)を示す情報を制御部21内のメモリに記憶する(ステップS76)。
【0075】
図6及び図7に示す例では、ICカード処理装置2の制御部21は、1回だけ通信速度をVbに変更する旨を依頼するリクエストデータをICカード1から受信する(ステップS70)。当該リクエストデータを受信したICカード処理装置2の制御部21は、1回だけ通信速度をVbに変更することを許可し(ステップS71)、1回だけ通信速度の変更を許可する変更許可通知を作成する(ステップS72)。ICカード処理装置2の制御部21は、1回だけ通信速度をVbへ変更することを許可する変更許可通知をカードリーダライタ25によりICカード1へ送信する(ステップS73)。
【0076】
変更許可通知を送信すると、ICカード処理装置2の制御部21は、ICカード1との通信速度の設定をVaからVbに変更する(ステップS74)。通信速度をVbに変更した場合、ICカード処理装置2の制御部21は、IFSDの値を変更後の通信速度Vbに対応するIFSDの値(Db)に変更し、IFSCの値を変更後の通信速度Vbに対応するIFSCの値(Cb)に変更する(ステップS75)。この場合、ICカード処理装置2の制御部21は、通信速度を変更したコマンドの種類がREAD BINARYコマンドであることを示す情報を制御部21内のメモリに記憶する(ステップS76)。
【0077】
ICカード1は、1回だけの通信速度の変更許可通知を通信ユニット14によりICカード処理装置2から受信する(ステップS73)。1回だけの通信速度の変更許可通知を受信したICカード1のCPU11は、1回だけ通信速度を変更依頼した通信速度に変更する(ステップS77)。通信速度を変更すると、ICカード1のCPU11は、IFSDの値を変更後の通信速度に対応するIFSDの値に変更し、IFSCの値を変更後の通信速度に対応するIFSCの値に変更する(ステップS78)。また、ICカード1のCPU11は、通信速度を変更したコマンドの種類(コマンドA)を示す情報をRAM13或は不揮発性メモリ16に記憶する(ステップS79)。
【0078】
通信速度、IFSDおよびIFSCを変更した後、ICカード1のCPU11は、通信ユニット14によりコマンドの処理結果を示すレスポンスデータを変更後の通信速度、IFSDおよびIFSCでICカード処理装置2へ送信する(ステップS80)。変更後の通信速度、IFSDおよびIFSCでデータ(レスポンスデータ)を送信すると、ICカード1のCPU11は、通信速度を元の通信速度に戻す(ステップS81)。通信速度を元の通信速度に戻すと、ICカード1のCPU11は、IFSDの値およびIFSCの値も変更前の通信速度に対応するIFSDの値およびIFSCの値に戻す(ステップS82)。
【0079】
図6及び図7に示す例では、1回だけ通信速度をVbへ変更することを許可する変更許可通知を受信すると、ICカード1のCPU11は、通信速度をVaからVbに変更する(ステップS77)。通信速度をVbに変更すると、ICカード1のCPU11は、IFSDの値を変更前の通信速度Vaに対応するIFSDの値Daから通信速度Vbに対応するIFSDの値Dbに変更し、IFSCの値を変更前の通信速度Vaに対応するIFSCの値Caから変更後の通信速度に対応するIFSCの値Cbに変更する(ステップS78)。さらに、ICカード1のCPU11は、通信速度を変更したコマンドの種類がREAD BINARYコマンドであることを示す情報をRAM13或は不揮発性メモリ16に記憶する(ステップS79)。
【0080】
通信速度をVb、IFSDをDbおよびIFSCをCbを変更した後、ICカード1のCPU11は、通信ユニット14によりREAD BINARYコマンドに対する処理結果を示すレスポンスデータを通信速度Vb、IFSD(Db)およびIFSC(Cb)でICカード処理装置2へ送信する(ステップS80)。通信速度Vb、IFSD(Db)およびIFSC(Cb)でレスポンスデータを送信すると、ICカード1のCPU11は、通信速度Vbを元の通信速度Vaに戻す(ステップS81)。通信速度Vbを元の通信速度Vaに戻すと、ICカード1のCPU11は、IFSDの値およびIFSCの値も、変更前の通信速度Vaに対応するIFSDの値(Da)およびIFSCの値(Ca)に戻す(ステップS82)。
【0081】
ICカード処理装置2は、カードリーダライタ25により1回限定で変更した通信速度、IFSDおよびIFSCで、ICカード1からコマンドの処理結果を示すレスポンスデータを受信する(ステップS80)。変更後の通信速度、IFSDおよびIFSCでICカード1からのレスポンスデータを受信すると、ICカード処理装置2の制御部21は、通信速度を変更前の通信速度に戻す(ステップS83)。通信速度を元の通信速度に戻すと、ICカード処理装置2の制御部21は、IFSDの値およびIFSCの値も、変更前の通信速度に対応するIFSDの値およびIFSCの値に戻す(ステップS84)。
【0082】
図6及び図7に示す例では、通信速度Vb、IFSD(Db)およびIFSC(Cb)でICカード1からのREAD BINARYコマンドに対するレスポンスデータの受信が完了すると、ICカード処理装置2の制御部21は、通信速度Vbを変更前の通信速度Vaに戻す(ステップS83)。通信速度Vbを元の通信速度Vaに戻すと、ICカード処理装置2の制御部21は、IFSDの値およびIFSCの値も変更前の通信速度Vaに対応するIFSDの値(Da)およびIFSCの値(Ca)に戻す(ステップS84)。
【0083】
上述の処理以降も、ICカード処理装置2は、ICカード1に要求する処理のコマンドを順次作成し、ICカード1へ供給する。
たとえば、ICカード処理装置2の制御部21がコマンドAとは異なる種類のコマンドBを生成したものとする(ステップS85)。ICカード処理装置2の制御部21は、生成したコマンドをカードリーダライタ25により現在設定されている通信速度、IFSDおよびIFSCでICカード1へ送信する(ステップS86)。
【0084】
ICカード1は、通信ユニット14によりICカード処理装置2からのコマンドBを受信する(ステップS86)。コマンドBを受信した場合、ICカード1のCPU11は、受信したコマンドBに対するコマンド処理を実行し、コマンド処理結果を示すレスポンスデータを作成する(ステップS87)。ICカード1のCPU11は、作成したレスポンスデータを送信する間の通信速度を変更すべきか否かを判断する(ステップS88)。ここでは、ICカード1のCPU11は、実行したコマンドBの種類が通信速度を変更すべき種類のコマンドでなく、レスポンスデータの内容も通信速度を変更すべきものでないため、通信速度を変更すべきでないと判断したものとする(ステップS88)。この場合、ICカード1のCPU11は、生成したレスポンスデータを通信ユニット14により現在設定されている通信速度、IFSDおよびIFSCのままでICカード処理装置2へ送信する(ステップS89)。
【0085】
ICカード処理装置2の制御部21が再びコマンドAを生成したものとする(ステップS90)。ICカード処理装置2の制御部21は、生成したコマンドAをカードリーダライタ25により現在設定されている通信速度、IFSDおよびIFSCでICカード1へ送信する(ステップS91)。
【0086】
ICカード1は、通信ユニット14によりICカード処理装置2からのコマンドAを受信する(ステップS91)。コマンドAを受信した場合、ICカード1のCPU11は、受信したコマンドAに対するコマンド処理を実行し、コマンド処理結果を示すレスポンスデータを作成する(ステップS92)。ICカード1のCPU11は、作成したレスポンスデータを送信する間の通信速度を変更すべきか否かを判断する(ステップS93)。ここでは、ICカード1のCPU11は、実行したコマンドAの種類が通信速度を変更すべき種類のコマンドA(RAM13に記憶したコマンドA)であるため、通信速度を変更すべきであると判断したものとする(ステップS93)。
【0087】
通信速度を変更すべき種類のコマンドを受信した場合、ICカード1のCPU11は、上記ステップS69、S70と同様な手順により、通信速度の変更をICカード処理装置2に依頼する(ステップS94、S95)。ICカード処理装置2の制御部21は、上記ステップS70〜S75と同様な処理手順により、通信速度の変更を許可し(ステップS96)、通信速度の許可を示す変更許可通知をICカード1へ送信する(ステップS97、S98)。変更許可通知を送信したICカード処理装置2の制御部21は、通信速度、IFSD及びIFSCを変更する(ステップS99、S100)。
【0088】
ICカード1は、通信ユニット14によりICカード処理装置2から通信速度の変更許可を受ける(ステップS98)。通信速度の変更許可を受けた後、ICカード1のCPU11は、上記ステップS77〜S82と同様な処理手順により、通信速度、IFSD及びIFSCを変更し(ステップS101、S102)、変更した通信速度、IFSD及びIFSCでレスポンスデータを送信する(ステップS103)。レスポンスデータの送信が完了すると、ICカード1のCPU11は、通信速度、IFSDおよびIFSCを元の設定に戻す(ステップS104、S105)。
【0089】
ICカード処理装置2は、カードリーダライタ25により変更した通信速度、IFSD及びIFSCでICカード1からレスポンスデータを受信する(ステップS103)。ICカード1からのレスポンスデータの受信が完了すると、ICカード1のCPU11は、上記ステップS83、S84と同様な処理手順により、通信速度、IFSDおよびIFSCを元の設定に戻す(ステップS106、S107)。
【0090】
なお、レスポンスデータの通信速度を変更したコマンド(1回だけ通信速度を変更すべきコマンド)の種類をICカード及びICカード処理装置が記憶する場合、ICカード処理装置2およびICカード1は、上記ステップS94〜S98の省略しても良い。つまり、ICカード処理装置2は、通信速度を変更すべきコマンドを送信した後にICカードからの依頼なしで、通信速度、IFSD及びIFSCを変更し、ICカード1は、通信速度を変更すべきコマンドを受信した場合にICカード処理装置への依頼および変更許可通知無しで、通信速度、IFSD及びIFSCを変更しても良い。
【0091】
この場合、ICカード処理装置2の制御部21は、ICカード1からのレスポンスデータの受信を完了した後、通信速度、IFSD及びIFSCの設定値を元の値に戻し、ICカード1のCPU11は、ICカード処理装置2へのレスポンスデータの送信を完了した後、通信速度、IFSD及びIFSCの設定値を元の値に戻す。
【0092】
上記したように、第3の通信制御において、ICカードおよびICカード処理装置は、レスポンスデータを送受信する間だけ通信速度を変更すべきコマンドを記憶しておく。通信速度を変更すべきコマンドをICカード処理装置からICカードへ送信した場合、ICカードは、当該コマンドに対するレスポンスデータをICカード処理装置へ送信する間だけ通信速度、IFSDおよびIFSCを変更し、ICカード処理装置は、当該コマンドに対するレスポンスデータをICカードから受信する間だけ通信速度、IFSDおよびIFSCを変更するようにしたものである。これにより、第3の通信制御によれば、特定のコマンドに対する応答についてのみ通信速度、IFSD及びIFSCを変更でき、効率的な通信速度、IFSD及びIFSCの制御部が可能となる。
【0093】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0094】
Ca…モジュール、C…筐体(本体)、1…ICカード(携帯可能電子装置)、2…ICカード処理装置(データ処理装置)、11…CPU、12…ROM、13…RAM、14…通信ユニット、15…コプロセッサ、16…不揮発性メモリ、21…制御部、22…表示部、23…操作部、25…カードリーダライタ。

【特許請求の範囲】
【請求項1】
外部装置と通信する通信手段と、
前記通信手段による前記外部装置との通信に用いる通信速度および受信可能な最大データ量の初期設定を含む通信設定を行う設定手段と、
前記通信手段により前記外部装置に対して通信速度の変更を依頼するデータを送信する依頼手段と、
前記依頼手段により依頼した通信速度の変更に対する許可通知を受信した後、前記通信手段による前記外部装置との通信速度を変更する速度変更手段と、
前記速度変更手段により通信速度を変更する場合、1回に通信可能な最大データ量を前記速度変更手段による変更後の通信速度に対応する最大データ量に更新するデータ量変更手段と、
を有することを特徴とする携帯可能電子装置。
【請求項2】
さらに、前記通信手段により前記外部装置から受信したコマンドに対応する処理を実行するコマンド処理手段と、
前記コマンド処理手段によるコマンド処理の結果を示すレスポンスデータの内容に基づいて前記外部装置との通信速度を変更すべきか否かを判断する判断手段と、を有し、
前記依頼手段は、前記判断手段により前記外部装置との通信速度を変更すべきと判断した場合に前記外部装置へ通信速度の変更を依頼し、
前記速度変更手段は、前記依頼手段により依頼した通信速度の変更を許可する通知を受信した後、前記外部装置との通信速度を変更し、
前記データ量変更手段は、前記最大データ量を前記変更した通信速度に対応する最大データ量に更新する、
ことを特徴とする前記請求項1に記載の携帯可能電子装置。
【請求項3】
前記依頼手段は、前記外部装置との通信速度を1回だけ変更することを依頼し、
前記速度変更手段は、前記依頼手段により依頼した通信速度の変更を許可する通知を受信した後、1回データを送信する間だけ前記外部装置との通信速度を変更し、
前記データ量変更手段は、前記1回データを送信する間だけ前記最大データ量を前記変更する通信速度に対応する最大データ量に更新する、
ことを特徴とする前記請求項1又は2の何れか1項に記載の携帯可能電子装置。
【請求項4】
さらに、前記通信手段により前記外部装置から受信したコマンドに対応する処理を実行するコマンド処理手段と、
前記コマンド処理手段によるコマンド処理の結果を示すレスポンスデータの内容に基づいてレスポンスデータを送信する間の通信速度を変更すべきか否かを判断する判断手段と、を有し、
前記依頼手段は、前記判断手段によりレスポンスデータを送信する間の通信速度を変更すべきと判断した場合、当該レスポンスデータを送信する間の通信速度の変更を依頼し、
前記速度変更手段は、前記依頼手段により依頼した通信速度の変更を許可する通知を受信した後、前記レスポンスデータを送信する間だけ前記外部装置との通信速度を変更し、
前記データ量変更手段は、前記レスポンスデータを送信する間だけ前記最大データ量を前記変更する通信速度に対応する最大データ量に更新する、
ことを特徴とする前記請求項3に記載の携帯可能電子装置。
【請求項5】
さらに、前記通信手段により前記外部装置から受信したコマンドに対応する処理を実行するコマンド処理手段と、
前記コマンド処理手段によりコマンド処理を実行したコマンドの種類に基づいて前記外部装置との通信速度を変更すべきか否かを判断する判断手段と、を有し、
前記依頼手段は、前記判断手段により実行したコマンドの種類が前記外部装置との通信速度を変更すべきコマンドの種類であると判断した場合に前記外部装置へ通信速度の変更を依頼する、
ことを特徴とする前記請求項1に記載の携帯可能電子装置。
【請求項6】
さらに、前記通信手段により前記外部装置から受信したコマンドに対応する処理を実行するコマンド処理手段と、
前記コマンド処理手段によるコマンド処理を実行したコマンドの種類に基づいて当該コマンドに対するレスポンスデータを前記外部装置へ送信する間の通信速度を変更すべきか否かを判断する判断手段と、を有し、
前記依頼手段は、前記判断手段によりレスポンスデータを送信する間の通信速度を変更すべきと判断した場合に前記外部装置へ通信速度の変更を依頼する、
ことを特徴とする前記請求項5に記載の携帯可能電子装置。
【請求項7】
外部装置と通信する通信手段と、前記通信手段による前記外部装置との通信に用いる通信速度および受信可能な最大データ量の初期設定を含む通信設定を行う設定手段と、前記通信手段により前記外部装置に対して通信速度の変更を依頼するデータを送信する依頼手段と、前記依頼手段により依頼した通信速度の変更に対する許可通知を受信した後、前記通信手段による前記外部装置との通信速度を変更する速度変更手段と、前記速度変更手段により通信速度を変更する場合、1回に通信可能な最大データ量を前記速度変更手段による変更後の通信速度に対応する最大データ量に更新するデータ量変更手段と、を具備するモジュールと、
前記モジュールを具備する本体と、
を有することを特徴とするICカード。
【請求項8】
携帯可能電子装置に対して処理を要求するデータ処理装置であって、
前記携帯可能電子装置と通信する通信手段と、
前記通信手段による前記携帯可能電子装置との通信に用いる通信速度および受信可能な最大データ量の初期設定を含む通信設定を行う設定手段と、
前記通信手段により前記携帯可能電子装置から通信速度の変更を依頼するデータを受信した場合、前記通信手段による前記外部装置との通信速度を変更する速度変更手段と、
前記速度変更手段により通信速度を変更する場合、1回に通信可能な最大データ量を前記速度変更手段による変更後の通信速度に対応する最大データ量に更新するデータ量変更手段と、
を有することを特徴とするデータ処理装置。
【請求項9】
外部装置との通信手段を有する携帯可能電子装置における通信制御方法であって、
前記通信手段による前記外部装置との通信に用いる通信速度の初期設定を含む通信設定を行い、
前記通信手段により前記外部装置に対して通信速度の変更を依頼するデータを送信し、
前記依頼した通信速度の変更に対する許可通知を受信した後、前記通信手段による前記外部装置との通信速度を変更し、
前記通信手段による通信速度を変更する場合、1回に通信可能な最大データ量を変更後の通信速度に対応する最大データ量に更新する、
ことを特徴とする携帯可能電子装置の通信制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−194906(P2012−194906A)
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願番号】特願2011−59722(P2011−59722)
【出願日】平成23年3月17日(2011.3.17)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】