読書装置、制御方法、及びプログラム
【課題】情報処理装置からの電文情報を記憶媒体に送信する際の通信をより適切に制御することを目的とする。
【解決手段】記憶部を有し、情報処理装置から電文情報を受信して電文情報を記憶媒体に送信する読書装置が、記憶媒体から記憶媒体の属性を示す属性情報を取得し、記憶媒体の属性を示す属性情報と電文情報を送信する回数を示す回数情報とが対応付けられて記憶された上記記憶部から、取得した属性情報に対応する回数情報を読み出し、情報処理装置から電文情報を受信すると、回数情報の回数に応じて電文情報を記憶媒体に送信する制御を行うことによって課題を解決する。
【解決手段】記憶部を有し、情報処理装置から電文情報を受信して電文情報を記憶媒体に送信する読書装置が、記憶媒体から記憶媒体の属性を示す属性情報を取得し、記憶媒体の属性を示す属性情報と電文情報を送信する回数を示す回数情報とが対応付けられて記憶された上記記憶部から、取得した属性情報に対応する回数情報を読み出し、情報処理装置から電文情報を受信すると、回数情報の回数に応じて電文情報を記憶媒体に送信する制御を行うことによって課題を解決する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、読書装置、制御方法、及びプログラムに関する。
【背景技術】
【0002】
近年、シンクライアント型のリーダライタ(シンクライアント型RW)が提案されている。シンクライアント型RWは、ネットワークを介してサーバと接続され、サーバで作成された非接触式のICカード(非接触ICカード)へのコマンド情報をサーバから受信し、受信したコマンド情報を非接触ICカードに転送するものである。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ここで、シンクライアント型RWについては、各種の機能を極力実装しないことで、即ちサーバが作成したコマンド情報を非接触ICカードに転送する機能のみを実装することで廉価な装置が実現されている。故に、シンクライアント型RW(読書装置の一例)とサーバ(情報処理装置の一例)と非接触ICカード(媒体の一例)とからなるシステムでは、シンクライアント型RWと非接触ICカード間で通信エラー(異常)が発生した場合、通信エラーの検出および再送するコマンド情報(電文情報の一例)の再作成がサーバで行われることになる。
このため、シンクライアント型RWと非接触ICカード間で通信エラーが一度でも発生すると、シンクライアント型RWがネットワークを介して接続されたサーバからのコマンド情報を待つことになり、そのリカバリーに多くの時間が必要となる。例えば、そのリカバリーの間に、非接触ICカードがシンクライアント型RWと通信が可能な範囲(通信可能範囲)から外れてしまい、必要な通信が完結しない事態が発生する問題がある。
【0004】
本発明はこのような問題点に鑑みなされたもので、情報処理装置からの電文情報を記憶媒体に送信する際の通信をより適切に制御することを目的とする。
【課題を解決するための手段】
【0005】
そこで、本発明に係る読書装置は、記憶部を有し、情報処理装置から電文情報を受信して前記電文情報を記憶媒体に送信する読書装置であって、前記記憶媒体から前記記憶媒体の属性を示す属性情報を取得する取得手段と、記憶媒体の属性を示す属性情報と電文情報を送信する回数を示す回数情報とが対応付けられて記憶された前記記憶部から、前記取得手段で取得された属性情報に対応する回数情報を読み出す読出手段と、前記情報処理装置から電文情報を受信すると、前記回数情報の回数に応じて前記電文情報を前記記憶媒体に送信する制御を行う制御手段と、を有することを特徴とする。
【0006】
また、本発明に係る読書装置は、記憶部を有し、情報処理装置から電文情報を受信して前記電文情報を記憶媒体に送信する読書装置であって、前記記憶媒体から前記記憶媒体の属性を示す属性情報を取得する取得手段と、記憶媒体の属性を示す属性情報と電文情報を送信する回数を特定するための第1の回数特定情報とが対応付けられて記憶された前記記憶部から、前記取得手段で取得された属性情報に対応する第1の回数特定情報を読み出す第1の読出手段と、前記情報処理装置から電文情報を受信すると、電文情報の種別を示す電文種別情報と電文情報を送信する回数を特定するための第2の回数特定情報とが対応付けられて記憶された前記記憶部から、前記受信した電文情報の電文種別情報に対応する第2の回数特定情報を読み出す第2の読出手段と、前記第1の読出手段で読み出された第1の回数特定情報と前記第2の読出手段で読み出された第2の回数特定情報とから前記電文情報を送信する回数を算出し、算出した回数に応じて前記電文情報を前記記憶媒体に送信する制御を行う制御手段と、を有することを特徴とする。
【0007】
なお、本発明は、システム、記録媒体などとしてもよい。
【発明の効果】
【0008】
本発明によれば、情報処理装置からの電文情報を記憶媒体に送信する際の通信をより適切に制御することができる。
【図面の簡単な説明】
【0009】
【図1】通信システムの構成の一例を示す図である。
【図2】携帯電話の構成の一例を示す図である。
【図3】通信可能領域の一例を示す図である。
【図4】通信可能領域の一例を示す図である。
【図5】各装置のハードウェアの構成の一例を示す図である。
【図6】各装置のモジュールの構成の一例を示す図である。
【図7】通信システムのシーケンスの一例を示す図である。
【図8】送信回数テーブルの一例を示す図である。
【図9】受信時処理に係るフローチャートの一例を示す図である。
【図10】送信回数決定処理に係るフローチャートの一例を示す図である。
【図11】送信回数・送信間隔テーブルの一例を示す図である。
【図12】受信時処理に係るフローチャートの一例を示す図である。
【図13】送信回数・送信間隔決定処理に係るフローチャートの一例を示す図である。
【図14】カードレスポンス受信処理に係るフローチャートの一例を示す図である。
【図15】コマンド種別毎送信回数テーブルの一例を示す図である。
【図16】送信回数決定処理に係るフローチャートの一例を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について図面に基づいて説明する。
【0011】
<第1の実施形態>
図1は、本実施形態に係る通信システムの構成の一例を示す図である。本通信システムは、サーバ100、RW(リーダライタ)200、及び媒体300を含んで構成される。サーバ100は、情報処理装置(コンピュータ)の一例である。RW200は、読書装置(コンピュータ)の一例である。媒体300は、記憶媒体(コンピュータ)の一例であり、非接触ICカード、お財布機能を有する携帯電話(お財布機能付き携帯)、PDA機能を有するNFC(Near Field Communication:近距離無線通信)携帯電話(PDA機能付きNFC携帯)、NFC携帯端末などである。
サーバ100及びRW200は、ネットワーク900を介して通信可能に接続される。なお、通信の形態については、有線、無線、有線および無線の混合など、特定の形態に限定されるものではない。また、RW200及び媒体300間では、無線の通信が行われる。例えば、RW200からキャリアが送信されて電磁誘導により媒体300に電力が供給され、キャリアの変調によりRW200と媒体300間で通信が行われる。
【0012】
ここで、RW200と媒体300間の通信の特性について説明する。ここでは、媒体300としては携帯電話を例に挙げて説明する。図2は、携帯電話の構成の一例を示す図である。
図2(A)は、携帯電話301(バッテリー面)の一例を示す図である。携帯電話301のアンテナ302は、バッテリー(電池パック)を囲む位置に大きく設けられている。図2(B)は、携帯電話303(バッテリー面)の一例を示す図である。携帯電話303のアンテナ304は、バッテリーが設けられていない位置に小さく設けられている。
図2(C)は、携帯電話305(液晶面)の一例を示す図である。携帯電話305のアンテナ306は、液晶ディスプレイが設けられている位置にアンテナ302より小さいがアンテナ304よりは大きく設けられている。付言するならば、アンテナの形状は、四角形に限られるものはなく、円形、楕円形、四角形とは異なる他の多角形であってもよい。
このように、携帯電話によってアンテナの形態(パターン、形状、設置位置など)が異なるが、アンテナの形態が異なると、携帯電話によってRW200との通信ができる領域(通信可能領域)も異なる。また、携帯電話のアンテナ付近の金属物の実装による影響(配線基板や筐体の金属部分がアンテナと電磁的に干渉する相対的な位置関係など)によっても、携帯電話とRW200との通信ができる領域(通信可能領域)が異なる。そこで、通信可能領域について説明する。
【0013】
図3は、通信可能領域の一例を示す図である。図3(A)は、携帯電話301の通信可能領域410の一例を示す図である。通信可能領域410には、通信ができない領域を示す通信不可領域(411、412、413)が生じている。
図3(B)は、携帯電話303の通信可能領域420の一例を示す図である。通信可能領域420には、通信不可領域(421、422)が生じている。図3(C)は、携帯電話305の通信可能領域430の一例を示す図である。通信可能領域430には、通信不可領域431が生じている。
ここで、携帯電話301、303、305とRW200間で発生する通信不可領域は、携帯電話301、303、305のアンテナの形状のみで決定されるものではなく、携帯電話301、303、305のアンテナのみならず、携帯電話301、303、305のアンテナ付近の金属物の実装による影響やRW200の通信特性などにより、任意の形態をとる。
【0014】
例えば、軌道414又は軌道415に沿って携帯電話301が移動された場合、通信不可領域を通過しないので、通信可能領域410内で通信は切断されない。しかしながら、軌道416に沿って携帯電話301が移動された場合、通信不可領域411を横切ることになり、通信不可領域411では通信ができなくなるので、通信可能領域410内で通信が切断され得る(通信エラーが発生し得る)。
通信エラーが発生した場合、RW200は、コマンドを再送する必要があるが、この際、サーバ100を介すると多くの時間を要してしまう。そこで、RW200には、通信可能領域、通信不可領域などの通信の特性を考慮したコマンドを送信する構成が備えられている。本実施形態では、RW200は、通信の特性を考慮して規定されたコマンドを送信する回数(送信回数)を有し、送信回数に従ってコマンドをRW200に送信する。
【0015】
ここで、通信の特性と送信回数との関係についてより具体的に説明する。例えば、媒体300としては、交通と電子マネーにだけ使用可能な第1の非接触ICカード、交通と電子マネー以外に銀行でも使用可能であり、非接触インタフェース以外に接触インタフェース(クレジットで使用できる接触インタフェース)が設けられ、第1の非接触ICカードよりメモリの容量が大きい第2の非接触ICカードが存在する。
同じRW200から電磁波を送っても、容量の大きな第2の非接触ICカードでは、第1の非接触ICカードに比べて動作するための消費電力を多く必要とする。このため、結果として、RW200と第2の非接触ICカード間の通信可能領域の方が狭くなり、通信ができない状態が生じやすくなる。
即ち、第2の非接触ICカードでは、コマンドを再送する確率は高くなるので、RW200に送信回数を設定するときは、第1の非接触ICカードの送信回数よりも大きな送信回数を設定することが好適(合理的)である。
【0016】
また、例えば、非接触ICカードを構成するICチップについてみると、ICチップの線幅の設計ルールが狭くなると消費電力が小さくてすみ、通信可能領域は大きくなる。即ち、線幅の設計ルールが狭いICチップを有する非接触ICカードの送信回数は、線幅の設計ルールが大きいICチップを有する非接触ICカードの送信回数よりも少なくてよい。したがって、ICチップの線幅の設計ルールにより、最適な送信回数を設定することが好適である。
また、例えば、ICチップのハードウェアの構成についてみると、ハードウェアの構成により、非接触ICカードの処理時間が異なる。例えば、暗号処理を可能な限りハードウェア(回路)で実行する構成にすると、ソフトウェアで暗号処理を行う場合よりも、非接触ICカード内の処理時間は短くなる。したがって、この場合、非接触ICカードが通信不可領域にかかるまでにコマンドを処理できるので、送信回数も少なくてよい。故に、ICチップのハードウェアの構成により、最適な送信回数を設定することが好適である。
【0017】
また、例えば、ICチップの暗号処理に対するセキュリティについてみると、セキュリティ上の要求は段々と高くなっている。仮に、ISO/IEC15408に関わるセキュリティの評価・認証を取得しようとすると、DPA(差分電力解析:Differential Power Analysis)、フォルトアタック(Fault Attack)等に対抗するために、故意に電力を多く消費し、処理時間を多くすることが多い。したがって、ICチップのセキュリティ対策ごとに、最適な送信回数を設定することが好適である。
また、例えば、定期乗車券として用いられる第1の非接触ICカード、及びチャージ(入金)されている金額から乗車区間に対応する運賃が差し引かれることにより乗車券を購入しないで鉄道を利用できる第2の非接触ICカードが一の定期券入れに存在する場合がある。この場合、例えば、RW200は、2枚の非接触ICカードがあることを検知し、一枚のみをかざす案内をする。そのため、非接触ICカードが2枚あることを検知しやすいように、夫々の非接触ICカードで異なるアンテナの形状を採用している。即ち、非接触ICカードのアンテナの形態(特性)により通信の特性(通信可能領域、通信不可領域等)に差異が生じるので、アンテナごとに最適な送信回数を設定することが好適である。
【0018】
また、例えば、2つのICチップ(デュアルチップ)を有する消費電力の大きな非接触ICカードについてみると、RW200で遠くまで通信距離を確保するため、非接触ICカード内の信号処理の結果がRW200で検知しやすいように信号処理の特徴を際立たせるための工夫をする場合がある。
この場合、遠くでの信号処理に有益な処理方法が、遠くからRW200の近くまでの間で、反対にRW200で非接触ICカードの信号を検知しにくくなる現象を起こすことがある。この場合、遠方でRW200と非接触ICカード間で通信が開始されるが、途中で通信が途絶える可能性がある。したがって、途中で再度、コマンド(通信パケット)を送信することが必要となることを想定した送信回数を設定することが好適である。
【0019】
ここまでは、非接触ICカードに実装されたICチップの特性やアンテナの特性の違いに基づき、最適な送信回数を規定する必要があることを説明した。しかしながら、非接触ICカードの機能は、お財布機能付き携帯、PDA機能付きNFC携帯等にも実装されている。
即ち、お財布機能付き携帯内のアンテナとしては、図2に示したように、バッテリーの周辺に実装するもの、液晶ディスプレイの周りに実装するもの、バッテリーの上部に実装されるもの、アンテナも巻線形状のもの、コイル状のもの等の様々な形状がある。故に、お財布機能付き携帯内のアンテナに応じて通信の特性が異なる。
また、通信においては、アンテナの周りの金属物の実装による影響(配線基板や筐体の金属部分がアンテナと電磁的に干渉する相対的な位置関係による影響など)も大きい。即ち、お財布機能付き携帯、PDA機能付きNFC携帯毎に、設けられている金属物は異なるので、通信の特性は異なる。
したがって、お財布機能付き携帯、PDA機能付きNFC携帯毎に、非接触ICカード用とは異なるお財布機能付き携帯およびPDA機能付きNFC携帯に専用のICチップが実装されるとしても、通信距離や、通信可能領域の中で生じる通信不可領域が個々に異なるので、最適な送信回数を設定することが好適である。
【0020】
上述の内容を踏まえることで、媒体300の属性ごとに送信回数を規定したテーブルを用いる構成に想到する。
ここで、媒体300の属性とは、媒体300の形状、媒体300のアンテナの形状、媒体300が実装するICチップの種別(メモリの容量、接触式I/Fの有無、消費電力の差異、製造メーカ、不揮発性メモリの種類(EEPROM、FERAM等)、製造プロセス(設計線幅)、ハードウェア構成(暗号のハードウェア化の程度など))、媒体300の実装形態(ICカード、ICタグ、携帯電話、NFC携帯端末など)等である。
【0021】
これまでは、媒体300に着目して差異を述べたが、それらを読み取るRW200のアンテナの形状、アンテナの特性の設定方法などにより、媒体300とRW200間の通信の特性は異なる。したがって、同じ媒体300との通信においても、RW200に最適な送信回数を設定することが好適である。
【0022】
上述した事由を踏まえ、通信の特性について図4を用いて更に説明する。
図4(A)及び(B)に示すように、同じRW200でも異なる媒体(非接触ICカード307、308)により、通信不可領域(451)がある場合とない場合とがある。
また、図4(C)及び(D)に示すように、同じ媒体(非接触ICカード309)でも異なるRW(201、202)により、通信不可領域(461、471)が異なることがある。
このように、RW200及び媒体300の組み合わせにより、通信の特性が異なり得る。
なお、以下では、媒体300としては非接触ICカードを想定して説明するが、媒体300の属性としては上記の何れの属性を用いてもよい(なお、任意に属性を組み合わせて採用することができる。)。
【0023】
次に、各装置のハードウェアの構成について図5を用いて説明する。図5は、各装置のハードウェアの構成の一例を示す図である。
図5(A)は、サーバ100のハードウェアの構成の一例を示す図である。サーバ100は、CPU(Central Processing Unit)110、ROM(Read Only Memory)120、RAM(Random Access Memory)130、HDD(Hard disk drive)140、入出力デバイス150、及びI/F(interface)160を含んで構成される。
【0024】
CPU110は、サーバ100全体の制御を司る。例えば、CPU110は、ROM120に記憶されている各種のプログラム等を実行し、後述するサーバ100の機能を実現する。
ROM120は、各種のプログラム、各種の処理の際に使用するデータ等の各種のデータを記憶する。なお、ROM120は、各種のデータを記憶する記憶装置の一例である。RAM130は、CPU110の主メモリ、ワークエリア等として機能する。なお、RAM130は、各種のデータを一時的に記憶する一時記憶装置の一例である。
HDD140は、大容量の記憶領域を有する外部記憶装置の一例である。入出力デバイス150は、ディスプレイ、マウス、キーボードなどを含んで構成され、例えばマウス、キーボードなどのユーザによる操作(ユーザ操作)に応答して、データを入力或いは出力する。I/F160は、有線又は無線の通信を行うための通信インタフェースであり、例えば、LANケーブル等の各種のケーブルを介してネットワーク900に接続する。
【0025】
図5(B)は、RW200のハードウェアの構成の一例を示す図である。RW200は、CPU210、ROM220、RAM230、RF(Radio Frequency)回路240、ANT(antenna)250、及びI/F260を含んで構成される。
CPU210は、RW200全体の制御を司る。例えば、CPU210は、ROM220に記憶されている各種のプログラム等を実行し、後述するRW200の機能、フローチャートに係る処理を実現する。
【0026】
ROM220は、各種のプログラム、各種の処理の際に使用するデータ、後述のテーブル等の各種のデータを記憶する。ROM220は、電気的にデータの書き込み、データの消去が可能なメモリであり、EEPROM(Electrically Erasable and Programmable Read Only Memory)などである。なお、ROM220は、各種のデータを記憶する記憶装置の一例である。RAM230は、CPU210の主メモリ、ワークエリア等として機能する。なお、RAM230は、各種のデータを一時的に記憶する一時記憶装置の一例である。
RF回路240は、ANT250と高周波信号のやりとりを行うと共に、電力の供給と、データの変調および復調とを行う。ANT250は、高周波信号(高周波エネルギー)を電波(電磁波)として空間に放射(送信)する。また、ANT250は、空間の電波(電磁波)を高周波信号(高周波エネルギー)に変換(受信)する。I/F260は、有線又は無線の通信を行うための通信インタフェースであり、例えば、各種のケーブルを介してネットワーク900に接続する。
【0027】
図5(C)は、媒体300のハードウェアの構成の一例を示す図である。媒体300は、CPU310、ROM320、RAM330、RF回路340、及びANT350を含んで構成される。
CPU210は、媒体300全体の制御を司る。例えば、CPU310は、ROM320に記憶されている各種のプログラム等を実行し、後述する媒体300の機能を実現する。
【0028】
ROM320は、各種のプログラム、各種の処理の際に使用するデータ等の各種のデータを記憶する。なお、ROM320は、各種のデータを記憶する記憶装置の一例である。RAM330は、CPU310の主メモリ、ワークエリア等として機能する。なお、RAM330は、各種のデータを一時的に記憶する一時記憶装置の一例である。
RF回路340は、ANT350と高周波信号のやりとりを行うと共に、電力の供給と、データの変調および復調とを行う。ANT350は、高周波信号(高周波エネルギー)を電波(電磁波)として空間に放射(送信)する。また、ANT350は、空間の電波(電磁波)を高周波信号(高周波エネルギー)に変換(受信)する。
【0029】
次に、各装置のモジュールの構成について図6を用いて説明する。図6は、各装置のモジュールの構成の一例を示す図である。各モジュールの機能は、各装置の各CPUにより各プログラムが実行されることにより実現される。ただし、各モジュールの機能の一部又は全部について、専用のハードウェアにより実現されてもよい。
図6(A)は、サーバ100のモジュールの構成の一例を示す図である。サーバ100は、制御部170、記憶部180、及び通信部190を有する。
制御部170は、記憶部180、及び通信部190を制御し、サーバ100全体を制御する。記憶部180は、制御部170からの指示に基づいてRAM130、HDD140等の記憶装置のデータについての読み出し、書き込み等を行う。通信部190は、制御部170からの指示に基づいてI/F160を介してRW200と通信を行う。例えば、通信部190は、制御部170の制御のもと各種のコマンドをI/F160を介してRW200に送信する。
【0030】
図6(B)は、RW200のモジュールの構成の一例を示す図である。RW200は、制御部270、記憶部280、及び通信部290を有する。
制御部270は、記憶部280及び通信部290を制御し、RW200全体を制御する。記憶部280は、制御部270からの指示に基づいてROM220、RAM230等の記憶装置のデータについての読み出し、書き込み等を行う。例えば、記憶部280は、制御部270の制御のもとROM220内のデータを取得する。
通信部290は、制御部270からの指示に基づいてI/F260を介してサーバ100と通信を行う。例えば、通信部290は、I/F260を介して、サーバ100からの各種のコマンドを受信し、制御部270に通知する。また、通信部290は、制御部270からの指示に基づいてRF回路240及びANT250を介して媒体300と通信を行う。例えば、通信部290は、RF回路240及びANT250を介して、制御部270の制御のもとコマンドを媒体300に送信する。
【0031】
図6(C)は、媒体300のモジュールの構成の一例を示す図である。媒体300は、制御部370、記憶部380、及び通信部390を有する。
制御部370は、記憶部380及び通信部390を制御し、媒体300全体を制御する。記憶部380は、制御部370からの指示に基づいてROM320、RAM330等の記憶装置のデータについての読み出し、書き込み等を行う。
通信部390は、制御部370からの指示に基づいてRF回路340及びANT350を介してRW200と通信を行う。例えば、通信部390は、制御部370の制御のもとコマンドに対する処理を行い、処理の結果(コマンドへの応答)を、RF回路340及びANT350を介してRW200に送信する。
【0032】
次に、通信システムにおける通信制御について図7を用いて説明する。図7は、通信システムのシーケンスの一例を示す図である。
SQ5では、サーバ100は、媒体300の種別を取得する指示(媒体種別取得情報)を含む媒体種別取得コマンドを生成し、生成した媒体種別取得コマンドを含むカードコマンド中継コマンドを生成し、生成したカードコマンド中継コマンドをRW200に送信する。SQ10では、RW200は、カードコマンド中継コマンドを受信すると、媒体種別取得コマンドとして媒体300に送信する。
SQ15では、媒体300は、媒体種別取得コマンドを受信すると、ROM320等から、RW200が媒体300を識別するためのID、媒体300の種別を示す媒体種別情報(属性情報の一例)、各カードコマンドのタイムアウト時間を決定するための最大応答時間情報などを読み出し、これらを含む媒体種別取得レスポンスをRW200に送信する。SQ20では、RW200は、媒体種別取得レスポンスを受信すると、カードコマンド中継レスポンスとしてサーバ100に送信する。
【0033】
SQ25では、RW200は、媒体種別取得レスポンスに含まれる媒体種別情報をもとに、例えば媒体300の種別を判定し、送信回数テーブルから送信回数を取得し、送信回数を決定する。なお、SQ25の送信回数を決定する処理の詳細については後述する。
ここで、媒体300の種別を判定する方法について説明する。例えば、各種の非接触ICカード用のICチップについては、ICチップの種類が複数存在し、それぞれ異なるICコードが割り当てられている。よって、RW200は、媒体300からICコードを取得することでICチップを区別(識別)できる。
また、例えば、携帯電話用のICチップには、キャリア識別コード(携帯電話事業会社を識別する識別子)、携帯電話の機種コード等の情報が書き込まれている領域がある。したがって、RW200は、媒体300からその情報を取得することにより、携帯電話の機種を識別できる。
即ち、属性コードを媒体300に設定し、RW200で属性コードを取得する構成を採用する場合、媒体300の属性毎(ICチップの種別ごと、アンテナの形状ごと、金属部分の通信の特性に応じた影響ごと等)に送信回数が送信回数テーブルに設定されることになる。
【0034】
ここで、送信回数テーブルについて図8を用いて説明する。図8は、送信回数テーブルの一例を示す図である。送信回数テーブルは、ROM220に記憶されている。送信回数テーブルには、媒体種別情報と送信回数情報とが対応付けられて規定されている。例えば、媒体種別情報「0001」と送信回数情報「001」とが対応付けられてROM220に記憶されている。
本実施形態では、送信回数テーブルを記憶した設定用の非接触ICカードが管理者等によりRW200にかざされることにより、設定用の非接触ICカードの送信回数テーブルがROM220に記憶され、或いはROM220の送信回数テーブルが設定用の非接触ICカードの送信回数テーブルで更新される。ただし、他の設定方法を採用してもよい。例えば、サーバ100から送信回数テーブルの情報が送信される構成であってもよい。
また、データを記憶する構成は、上述の構成に限られるものではない。例えば、カンマなどの区切り記号による区切り形式のデータ(ファイル)であってもよい。
なお、本シーケンスでは、SQ20の後にSQ25が行われる構成を示したが、この構成に限られるものではない。例えば、RW200がSQ25の処理を行ってからSQ20の処理を行う構成を採用してもよい。
【0035】
SQ30では、サーバ100は、セキュリティ性の低い媒体300への指示、例えば暗号化されていない媒体300への指示を作成するためのカードコマンド(非暗号電文情報)を生成し、生成したカードコマンドを含むカードコマンド中継コマンドをRW200に送信する。また、RW200は、カードコマンド中継コマンドを受信すると、SQ25で取得した送信回数に応じてカードコマンドを媒体300に送信する(SQ35、SQ45、SQ55)。
例えば、RW200は、送信回数情報「003」を取得した場合は、カードコマンドを媒体300に3回送信する。なお、送信する構成は、この構成に限られるものではない。例えば、一定の時間が経過してもカードレスポンス(返答)がないとRW200で判断した場合、或いは通信が正常でないとRW200で判断した場合、カードコマンドを送信する構成としてもよい。
他方、媒体300は、カードコマンドを受信すると、カードコマンドに従って処理を行い、カードレスポンスをRW200に送信する(SQ40、SQ60)。なお、通信が途絶えた場合、RW200でカードレスポンスが受信されないこともある(SQ50)。SQ65では、RW200は、カードレスポンスをカードコマンド中継レスポンスとしてサーバ100に送信する。
【0036】
次に、RW200が媒体種別取得レスポンス、及びカードコマンド中継コマンドを受信したときの処理(受信時処理)について図9を用いて説明する。図9は、受信時処理に係るフローチャートの一例を示す図である。
まず、制御部270は、媒体種別取得レスポンスを受信すると、送信回数決定処理を行う(S5)。送信回数決定処理では、制御部270は、送信回数を決定してRAM230に記憶する。なお、送信回数決定処理の詳細については後述する。
続いて、制御部270は、カードコマンド中継コマンドを受信すると、カードコマンドを媒体300に送信する(S10)。続いて、制御部270は、媒体300からカードレスポンスを受信する(S15)。なお、上述のように、制御部270がカードレスポンスを受信しないこともある。続いて、制御部270は、RAM230上の送信回数が「0」であるか否かを判断する(S20)。このとき、制御部270は、送信回数が「0」であると判断した場合、処理を終了する。他方、制御部270は、送信回数が「0」でないと判断した場合、S25に処理を移す。
S25では、制御部270は、RAM230上の送信回数を「1」減算し、処理をS10に移す。
【0037】
図10は、送信回数決定処理に係るフローチャートの一例を示す図である。
まず、制御部270は、送信回数テーブルに媒体種別情報に対応した値(送信回数情報)が存在するか否かを判断する。このとき、制御部270は、存在すると判断した場合、S110に処理を移し、他方、存在しないと判断した場合、S115に処理を移す。
S110では、制御部270は、送信回数テーブルから送信回数情報を取得(読出)し、取得した送信回数情報(送信回数)を送信回数として決定し、RAM230に記憶する。S115では、制御部270は、送信回数テーブルからデフォルトの送信回数情報を取得し、取得した送信回数情報(送信回数)を送信回数として決定し、RAM230に記憶する。
【0038】
上述した構成によれば、カードコマンドの送信をリトライする動作をRW200単独で行うことが可能となる。また、RW200としては、より適切に通信を行うことが可能となる最低限の構成を採用しているので、RW200を廉価に提供できる。
例えば、従来のシンクライアント型RWを用いた通信システムである場合、サーバは、暗号回路を有し、カードコマンド中継レスポンスの論理的な整合性をサーバで検証し、論理的に不整合がある場合、再度、非接触ICカード等への暗号化した指示を含むコマンドをシンクライアント型RWに送信する。そして、シンクライアント型RWから非接触ICカード等に上記指示を含むコマンドが送信されることになる。
【0039】
しかしながら、本実施形態では、セキュリティ性の低い媒体300への指示を含むカードコマンド(平文コマンド)についての送信を制御するものであるので、RW200が暗号回路を具備して媒体300への指示を暗号化する必要はない。
即ち、本実施形態では、平文コマンドの送信を簡易な処理で制御することから、読書装置が高価になることを回避しつつ、迅速な平文コマンドの再送処理が可能となる。
【0040】
また、本実施形態は、上述した構成に限られるものではない。例えば、RW200を廉価に製造しようとする場合、送信回数については、シンプルな非接触ICカードであれば、例えば2回、デュアルチップを有する非接触ICカードであれば、シンプルな非接触ICカードに比べて通信性能が著しく劣るので、例えば4回、お財布機能付き携帯については機種ごとに差はあるが、性能が良くない機種もあるので、例えば3回、というように複数の属性をまとめた簡易な送信回数テーブルを採用してもよい。
【0041】
また、本実施形態では、RW200は、カードレスポンスについては全てサーバ100に送信し、サーバ100が論理的な整合性を判断する。この場合、サーバ100は、論理的な整合性が取れたカードレスポンスがないと判断した場合、再度同じカードコマンド中継コマンドをRW200に送信する。
しかしながら、この構成に限られるものではない。例えば、RW200が、論理的に整合性の取れたカードレスポンスのみをサーバ100に送信し、論理的に整合がとれていないと判断したときは、再度、送信回数に応じてカードコマンドを送信する構成としてもよい。なお、RW200とサーバ100間の通信時間を考えた場合、媒体300ごとの通信の不具合の確率を想定し、RW200から複数回のカードコマンドを送信する方が、結果として、全体の処理時間が短時間で済み、且つ安定した通信環境を提供できると考えられる。
付言するならば、上述した何れの構成によっても、大量に市場に投入する読書装置を、廉価で且つ一定水準以上の通信性能を確保したものとすることが可能となる。
【0042】
また、RW200と媒体300間で通信が始まり、その後、RW200と媒体300間の相対位置(一定の場所)で特に通信が不良になることも論理的に存在する(例えばカードレスポンスの位相反転)。なお、位相反転とは、RW200と媒体300(非接触ICカード等)とが互いに影響しあって一定の位置の範囲内でのみ媒体300(非接触ICカード等)が負荷インピーダンスを変化させてもRW200に誘起される電圧値が変化しない、つまり、媒体300(非接触ICカード等)からのカードレスポンスをRW200で受信できない状態のことである。
そこで、RW200から媒体300に送信するカードコマンドのシーケンス上、通信不可領域に比較的に合致しやすい特定のカードコマンドに対して、特に多くのカードコマンドを送信する構成を採用してもよい。この場合、例えば、専用の送信回数テーブルを予めRW200に実装する。
【0043】
<第2の実施形態>
第1の実施形態では、通信不可領域などの通信の特性を考慮して規定された送信回数に応じてカードコマンドを送信する構成を示した。しかしながら、カードコマンドを送信するタイミングを加味していないので、通信に無駄が生じ得る。そこで、本実施形態では、カードコマンドを送信するタイミングを示す送信間隔を採用し、通信での無駄を低減する方法について説明する。
本実施形態では、第1の実施形態の構成と同一の構成については同一の符号を用いて、その説明を省略する。なお、送信回数テーブル、及び送信回数決定処理の構成が主に異なるので、これらについて説明する。
【0044】
本実施形態では、RW200は、送信回数・送信間隔テーブルを有する。そこで、送信回数・送信間隔テーブルについて図11を用いて説明する。
図11は、送信回数・送信間隔テーブルの一例を示す図である。送信回数・送信間隔テーブルには、媒体種別情報と送信回数情報と送信間隔情報とが対応付けられて規定されている。例えば、媒体種別情報「0001」と送信回数情報「001」と送信間隔情報「120」とが対応付けられてROM220に記憶されている。
【0045】
次に、受信時処理について図12を用いて説明する。図12は、受信時処理に係るフローチャートの一例を示す図である。
まず、制御部270は、送信回数・送信間隔決定処理を行う(S205)。送信回数・送信間隔決定処理では、制御部270は、送信回数、及び送信間隔を決定し、RAM230に記憶する。なお、送信回数・送信間隔決定処理の詳細については後述する。
続いて、制御部270は、カードコマンド中継コマンドを受信すると、カードコマンドを媒体300に送信する(S210)。続いて、制御部270は、カードレスポンス受信処理を行う(S215)。カードレスポンス受信処理では、制御部270は、カードレスポンスの受信が完了したか否か(送信間隔が経過したか否か)を示すフラグをセットする。なお、カードレスポンス受信処理の詳細については後述する。
【0046】
続いて、制御部270は、カードレスポンスの受信が完了したか否かを判断する(S220)。このとき、制御部270は、カードレスポンスの受信が完了したことを示すフラグがセットされていると判断した場合、正常終了する。他方、カードレスポンスの受信が未完了であることを示すフラグがセットされていると判断した場合、S225に処理を移す。
S225では、制御部270は、RAM230上の送信回数が「0」であるか否かを判断する。このとき、制御部270は、送信回数が「0」であると判断した場合、エラー終了し、新たに受信可能範囲内(例えば通信不可領域から通信可能領域)に媒体300が入ったときに、再度、受信時処理を再開する。他方、制御部270は、送信回数が「0」でないと判断した場合、S230に処理を移す。
S230では、制御部270は、RAM230上の送信回数を「1」減算し、処理をS210に移す。付言するならば、例えば、第1の実施形態の受信時処理と同様に、カードレスポンスの有無にかかわらず、送信間隔ごとに、送信回数分のカードコマンドを送信する構成を採用してもよい。
【0047】
図13は、送信回数・送信間隔決定処理に係るフローチャートの一例を示す図である。
まず、制御部270は、送信回数・送信間隔テーブルに媒体種別情報に対応した値(送信回数情報及び送信間隔情報)が存在するか否かを判断する(S305)。このとき、制御部270は、存在すると判断した場合、S310に処理を移し、他方、存在しないと判断した場合、S315に処理を移す。
S310では、制御部270は、送信回数・送信間隔テーブルから送信回数情報及び送信間隔情報を取得する。S315では、制御部270は、送信回数・送信間隔テーブルからデフォルトの送信回数情報及び送信間隔情報を取得する。なお、制御部270は、S310及びS315では、取得した送信回数情報(送信回数)を送信回数として決定し、取得した送信間隔情報(送信間隔)を送信間隔として決定し、これらをRAM230に記憶する。
【0048】
図14は、カードレスポンス受信処理に係るフローチャートの一例を示す図である。
まず、制御部270は、カードレスポンスの最初の1バイトを受信したか否かを判断する(S405)。このとき、制御部270は、受信したと判断した場合、S420に処理を移し、他方、受信していないと判断した場合、S410に処理を移す。
S410では、制御部270は、送信間隔が経過したか否かを判断する。このとき、制御部270は、経過したと判断した場合、S415に処理を移し、他方、経過していないと判断した場合、S405に処理を移す。S415では、制御部270は、カードレスポンスの受信が未完了であることを示すフラグをセットする(タイムアウト設定)。なお、フラグは、RAM230に記憶される。
【0049】
S420では、制御部270は、カードレスポンスの2バイト目以降を受信する。続いて、制御部270は、全バイト(例えば最終ビット)を受信したか否かを判断する(S425)。なお、本実施形態は、この構成に限られるものではなく、例えば、制御部270は、カードレスポンスに付加されているレスポンスの正当性を判断可能なデータ(正当性確認データ)等によりカードレスポンスの正当性を確認し、全バイトを受信したか否かを判断してもよい。
このとき、制御部270は、受信したと判断した場合、S430に処理を移し、他方、受信していないと判断した場合、S420に処理を移す。
S430では、制御部270は、カードレスポンスの受信が完了したことを示すフラグをセットする(受信完了設定)。なお、フラグは、RAM230に記憶される。
【0050】
上述した構成によれば、媒体300の属性ごとに送信間隔が設けられているので、通信エラー時におけるカードコマンドの送信をより適切に制御することができる。
【0051】
<第3の実施形態>
第2の実施形態では、送信間隔を採用し、通信での無駄を低減する方法について説明したが、本実施形態では、送信間隔を算出し、通信での無駄を低減する方法について説明する。
本実施形態では、第2の実施形態の構成と同一の構成については同一の符号を用いて、その説明を省略する。なお、送信間隔を取得する処理ではなく、送信間隔を算出する処理が行われる点が主に異なるので、送信間隔を算出する処理について説明する。
送信間隔を算出する処理は、S205の処理の前、S205の処理中、S205の処理の後の適宜のタイミングで制御部270により行われる。
【0052】
本通信システムでは、各種のカードコマンドの最大応答時間を算出するためのパラメータが媒体種別取得レスポンスに含まれて媒体300からRW200に送信され、RW200は、送信間隔(タイムアウト時間)を動的に決定する。なお、RW200が、上記タイミングとは異なる他のタイミング(適宜のタイミング)で、上記パラメータを取得する構成としてもよい。
ここで、送信間隔は、公知の技術である下記の式(1)を用いて算出される(日本工業規格−JIS−X6919−4:2010−ICカード実装仕様−第4部:高速処理用近接型ICカード参照のこと。)。
送信間隔[ms]=0.3020×[(B+1)×n+(A+1)]×4E・・・(1)
なお、nは、コマンドパラメタのブロック数又はサービスファイル数である。A、B、Eは、パラメータに含まれる値である。
【0053】
上述した構成によれば、媒体300の属性ごとに送信間隔が動的に算出されるので、通信エラー時におけるカードコマンドの送信をより適切に制御することができる。
なお、本実施形態では、媒体300に個々のケースで実装した場合の送信間隔の最悪値(最も時間を必要とするケース)、即ちどのように実装してもカードコマンドの送信が可能になる送信間隔を計算式により決定する構成について説明した。
しかしながら、現実には、媒体300に実装している条件については既に確定しているので、その実装に適した、最悪値より短い送信間隔を送信時間・送信間隔テーブルに設定して使用する構成としてもよい。
【0054】
<第4の実施形態>
第1の実施形態では、通信不可領域などの通信の特性を考慮して規定された送信回数に応じてカードコマンドを送信する構成を示した。しかしながら、送信するカードコマンドの種別による特性が加味されておらず、通信に無駄が生じ得る。そこで、本実施形態では、カードコマンドの種別を考慮して規定された送信回数を採用し、通信での無駄を低減する方法について説明する。
本実施形態では、第1の実施形態の構成と同一の構成については同一の符号を用いて、その説明を省略する。なお、テーブル、及び送信回数決定処理の構成が主に異なるので、これらについて説明する。
【0055】
本実施形態では、RW200は、カードコマンドの種別ごとの送信回数テーブル(コマンド種別毎送信回数テーブル)を更に有する。そこで、コマンド種別毎送信回数テーブルについて図15を用いて説明する。
図15は、コマンド種別毎送信回数テーブルの一例を示す図である。コマンド種別毎送信回数テーブルには、コマンド種別情報(電文種別情報の一例)と送信回数情報とが対応付けられて規定されている。例えば、コマンド種別情報「Read」と送信回数情報「1.5」とが対応付けられてROM220に記憶されている。
【0056】
図16は、送信回数決定処理に係るフローチャートの一例を示す図である。
まず、制御部270は、送信回数テーブルに媒体種別情報に対応した値(送信回数情報)が存在するか否かを判断する(S505)。このとき、制御部270は、存在すると判断した場合、S510に処理を移し、他方、存在しないと判断した場合、S515に処理を移す。
S510では、制御部270は、送信回数テーブルから送信回数情報を取得し(第1の回数特定情報の第1の読出しを行い)、S520に処理を移す。S515では、制御部270は、送信回数テーブルからデフォルトの送信回数情報を取得し、S520に処理を移す。
S520では、制御部270は、コマンド種別毎送信回数テーブルから送信回数情報を取得する(第2の回数特定情報の第2の読出しを行う)。続いて、制御部270は、取得した2種類の送信回数情報から送信回数を決定し、RAM230に記憶する。例えば、制御部270は、S510で送信回数情報「2」を取得し、S520で送信回数情報「1.5」を取得した場合、送信回数として「3(=2×1.5)」を決定する。
【0057】
なお、送信回数の決定方法は、2種類の送信回数情報を用いた乗算などの四則算に限られるものではない。例えば、2種類の送信回数情報を係数とし、予め定める基本送信回数(RW200に個別の標準的な送信回数)が用いられて送信回数が算出される構成としてもよい。例えば、基本送信回数が「3」であり、送信回数情報が「2」であり、送信回数情報が「1.5」である場合、送信回数として「9(=3×2×1.5)」が決定される。
また、本実施形態は、上述した構成に限られるものではない。例えば、S515の処理に代えて、予め規定したデフォルトの送信回数情報をROM220から読み出して送信回数を決定して記憶する処理を採用しもよい。この場合、制御部270は、S520、S525の処理を行うことなく、処理を終了する。
【0058】
上述した構成によれば、カードコマンドの種別ごとに送信回数が算出されるので、通信エラー時におけるカードコマンドの送信をより適切に制御することができる。
【0059】
<その他の実施形態>
本実施形態は、上述した実施形態の構成に限られるものではない。例えば、通信の特性が良くない媒体(デュアルチップの非接触ICカード、携帯電話等)である場合、細かな属性ごとに送信回数を設定するのではなく、デュアルチップの非接触ICカード、携帯電話等のまとまりで送信回数を一定以上に設定してもよい。
また、上述した各実施形態の構成は、適宜組み合わせて採用することができる。また、各種のプログラムは、CD−ROM等の記録媒体に記録されていてもよい。
【0060】
以上、上述した構成によれば、情報処理装置からの電文情報を記憶媒体に送信する際の通信をより適切に制御することができるようになる。
【0061】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0062】
100 サーバ
200 RW
300 媒体
【技術分野】
【0001】
本発明は、読書装置、制御方法、及びプログラムに関する。
【背景技術】
【0002】
近年、シンクライアント型のリーダライタ(シンクライアント型RW)が提案されている。シンクライアント型RWは、ネットワークを介してサーバと接続され、サーバで作成された非接触式のICカード(非接触ICカード)へのコマンド情報をサーバから受信し、受信したコマンド情報を非接触ICカードに転送するものである。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ここで、シンクライアント型RWについては、各種の機能を極力実装しないことで、即ちサーバが作成したコマンド情報を非接触ICカードに転送する機能のみを実装することで廉価な装置が実現されている。故に、シンクライアント型RW(読書装置の一例)とサーバ(情報処理装置の一例)と非接触ICカード(媒体の一例)とからなるシステムでは、シンクライアント型RWと非接触ICカード間で通信エラー(異常)が発生した場合、通信エラーの検出および再送するコマンド情報(電文情報の一例)の再作成がサーバで行われることになる。
このため、シンクライアント型RWと非接触ICカード間で通信エラーが一度でも発生すると、シンクライアント型RWがネットワークを介して接続されたサーバからのコマンド情報を待つことになり、そのリカバリーに多くの時間が必要となる。例えば、そのリカバリーの間に、非接触ICカードがシンクライアント型RWと通信が可能な範囲(通信可能範囲)から外れてしまい、必要な通信が完結しない事態が発生する問題がある。
【0004】
本発明はこのような問題点に鑑みなされたもので、情報処理装置からの電文情報を記憶媒体に送信する際の通信をより適切に制御することを目的とする。
【課題を解決するための手段】
【0005】
そこで、本発明に係る読書装置は、記憶部を有し、情報処理装置から電文情報を受信して前記電文情報を記憶媒体に送信する読書装置であって、前記記憶媒体から前記記憶媒体の属性を示す属性情報を取得する取得手段と、記憶媒体の属性を示す属性情報と電文情報を送信する回数を示す回数情報とが対応付けられて記憶された前記記憶部から、前記取得手段で取得された属性情報に対応する回数情報を読み出す読出手段と、前記情報処理装置から電文情報を受信すると、前記回数情報の回数に応じて前記電文情報を前記記憶媒体に送信する制御を行う制御手段と、を有することを特徴とする。
【0006】
また、本発明に係る読書装置は、記憶部を有し、情報処理装置から電文情報を受信して前記電文情報を記憶媒体に送信する読書装置であって、前記記憶媒体から前記記憶媒体の属性を示す属性情報を取得する取得手段と、記憶媒体の属性を示す属性情報と電文情報を送信する回数を特定するための第1の回数特定情報とが対応付けられて記憶された前記記憶部から、前記取得手段で取得された属性情報に対応する第1の回数特定情報を読み出す第1の読出手段と、前記情報処理装置から電文情報を受信すると、電文情報の種別を示す電文種別情報と電文情報を送信する回数を特定するための第2の回数特定情報とが対応付けられて記憶された前記記憶部から、前記受信した電文情報の電文種別情報に対応する第2の回数特定情報を読み出す第2の読出手段と、前記第1の読出手段で読み出された第1の回数特定情報と前記第2の読出手段で読み出された第2の回数特定情報とから前記電文情報を送信する回数を算出し、算出した回数に応じて前記電文情報を前記記憶媒体に送信する制御を行う制御手段と、を有することを特徴とする。
【0007】
なお、本発明は、システム、記録媒体などとしてもよい。
【発明の効果】
【0008】
本発明によれば、情報処理装置からの電文情報を記憶媒体に送信する際の通信をより適切に制御することができる。
【図面の簡単な説明】
【0009】
【図1】通信システムの構成の一例を示す図である。
【図2】携帯電話の構成の一例を示す図である。
【図3】通信可能領域の一例を示す図である。
【図4】通信可能領域の一例を示す図である。
【図5】各装置のハードウェアの構成の一例を示す図である。
【図6】各装置のモジュールの構成の一例を示す図である。
【図7】通信システムのシーケンスの一例を示す図である。
【図8】送信回数テーブルの一例を示す図である。
【図9】受信時処理に係るフローチャートの一例を示す図である。
【図10】送信回数決定処理に係るフローチャートの一例を示す図である。
【図11】送信回数・送信間隔テーブルの一例を示す図である。
【図12】受信時処理に係るフローチャートの一例を示す図である。
【図13】送信回数・送信間隔決定処理に係るフローチャートの一例を示す図である。
【図14】カードレスポンス受信処理に係るフローチャートの一例を示す図である。
【図15】コマンド種別毎送信回数テーブルの一例を示す図である。
【図16】送信回数決定処理に係るフローチャートの一例を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について図面に基づいて説明する。
【0011】
<第1の実施形態>
図1は、本実施形態に係る通信システムの構成の一例を示す図である。本通信システムは、サーバ100、RW(リーダライタ)200、及び媒体300を含んで構成される。サーバ100は、情報処理装置(コンピュータ)の一例である。RW200は、読書装置(コンピュータ)の一例である。媒体300は、記憶媒体(コンピュータ)の一例であり、非接触ICカード、お財布機能を有する携帯電話(お財布機能付き携帯)、PDA機能を有するNFC(Near Field Communication:近距離無線通信)携帯電話(PDA機能付きNFC携帯)、NFC携帯端末などである。
サーバ100及びRW200は、ネットワーク900を介して通信可能に接続される。なお、通信の形態については、有線、無線、有線および無線の混合など、特定の形態に限定されるものではない。また、RW200及び媒体300間では、無線の通信が行われる。例えば、RW200からキャリアが送信されて電磁誘導により媒体300に電力が供給され、キャリアの変調によりRW200と媒体300間で通信が行われる。
【0012】
ここで、RW200と媒体300間の通信の特性について説明する。ここでは、媒体300としては携帯電話を例に挙げて説明する。図2は、携帯電話の構成の一例を示す図である。
図2(A)は、携帯電話301(バッテリー面)の一例を示す図である。携帯電話301のアンテナ302は、バッテリー(電池パック)を囲む位置に大きく設けられている。図2(B)は、携帯電話303(バッテリー面)の一例を示す図である。携帯電話303のアンテナ304は、バッテリーが設けられていない位置に小さく設けられている。
図2(C)は、携帯電話305(液晶面)の一例を示す図である。携帯電話305のアンテナ306は、液晶ディスプレイが設けられている位置にアンテナ302より小さいがアンテナ304よりは大きく設けられている。付言するならば、アンテナの形状は、四角形に限られるものはなく、円形、楕円形、四角形とは異なる他の多角形であってもよい。
このように、携帯電話によってアンテナの形態(パターン、形状、設置位置など)が異なるが、アンテナの形態が異なると、携帯電話によってRW200との通信ができる領域(通信可能領域)も異なる。また、携帯電話のアンテナ付近の金属物の実装による影響(配線基板や筐体の金属部分がアンテナと電磁的に干渉する相対的な位置関係など)によっても、携帯電話とRW200との通信ができる領域(通信可能領域)が異なる。そこで、通信可能領域について説明する。
【0013】
図3は、通信可能領域の一例を示す図である。図3(A)は、携帯電話301の通信可能領域410の一例を示す図である。通信可能領域410には、通信ができない領域を示す通信不可領域(411、412、413)が生じている。
図3(B)は、携帯電話303の通信可能領域420の一例を示す図である。通信可能領域420には、通信不可領域(421、422)が生じている。図3(C)は、携帯電話305の通信可能領域430の一例を示す図である。通信可能領域430には、通信不可領域431が生じている。
ここで、携帯電話301、303、305とRW200間で発生する通信不可領域は、携帯電話301、303、305のアンテナの形状のみで決定されるものではなく、携帯電話301、303、305のアンテナのみならず、携帯電話301、303、305のアンテナ付近の金属物の実装による影響やRW200の通信特性などにより、任意の形態をとる。
【0014】
例えば、軌道414又は軌道415に沿って携帯電話301が移動された場合、通信不可領域を通過しないので、通信可能領域410内で通信は切断されない。しかしながら、軌道416に沿って携帯電話301が移動された場合、通信不可領域411を横切ることになり、通信不可領域411では通信ができなくなるので、通信可能領域410内で通信が切断され得る(通信エラーが発生し得る)。
通信エラーが発生した場合、RW200は、コマンドを再送する必要があるが、この際、サーバ100を介すると多くの時間を要してしまう。そこで、RW200には、通信可能領域、通信不可領域などの通信の特性を考慮したコマンドを送信する構成が備えられている。本実施形態では、RW200は、通信の特性を考慮して規定されたコマンドを送信する回数(送信回数)を有し、送信回数に従ってコマンドをRW200に送信する。
【0015】
ここで、通信の特性と送信回数との関係についてより具体的に説明する。例えば、媒体300としては、交通と電子マネーにだけ使用可能な第1の非接触ICカード、交通と電子マネー以外に銀行でも使用可能であり、非接触インタフェース以外に接触インタフェース(クレジットで使用できる接触インタフェース)が設けられ、第1の非接触ICカードよりメモリの容量が大きい第2の非接触ICカードが存在する。
同じRW200から電磁波を送っても、容量の大きな第2の非接触ICカードでは、第1の非接触ICカードに比べて動作するための消費電力を多く必要とする。このため、結果として、RW200と第2の非接触ICカード間の通信可能領域の方が狭くなり、通信ができない状態が生じやすくなる。
即ち、第2の非接触ICカードでは、コマンドを再送する確率は高くなるので、RW200に送信回数を設定するときは、第1の非接触ICカードの送信回数よりも大きな送信回数を設定することが好適(合理的)である。
【0016】
また、例えば、非接触ICカードを構成するICチップについてみると、ICチップの線幅の設計ルールが狭くなると消費電力が小さくてすみ、通信可能領域は大きくなる。即ち、線幅の設計ルールが狭いICチップを有する非接触ICカードの送信回数は、線幅の設計ルールが大きいICチップを有する非接触ICカードの送信回数よりも少なくてよい。したがって、ICチップの線幅の設計ルールにより、最適な送信回数を設定することが好適である。
また、例えば、ICチップのハードウェアの構成についてみると、ハードウェアの構成により、非接触ICカードの処理時間が異なる。例えば、暗号処理を可能な限りハードウェア(回路)で実行する構成にすると、ソフトウェアで暗号処理を行う場合よりも、非接触ICカード内の処理時間は短くなる。したがって、この場合、非接触ICカードが通信不可領域にかかるまでにコマンドを処理できるので、送信回数も少なくてよい。故に、ICチップのハードウェアの構成により、最適な送信回数を設定することが好適である。
【0017】
また、例えば、ICチップの暗号処理に対するセキュリティについてみると、セキュリティ上の要求は段々と高くなっている。仮に、ISO/IEC15408に関わるセキュリティの評価・認証を取得しようとすると、DPA(差分電力解析:Differential Power Analysis)、フォルトアタック(Fault Attack)等に対抗するために、故意に電力を多く消費し、処理時間を多くすることが多い。したがって、ICチップのセキュリティ対策ごとに、最適な送信回数を設定することが好適である。
また、例えば、定期乗車券として用いられる第1の非接触ICカード、及びチャージ(入金)されている金額から乗車区間に対応する運賃が差し引かれることにより乗車券を購入しないで鉄道を利用できる第2の非接触ICカードが一の定期券入れに存在する場合がある。この場合、例えば、RW200は、2枚の非接触ICカードがあることを検知し、一枚のみをかざす案内をする。そのため、非接触ICカードが2枚あることを検知しやすいように、夫々の非接触ICカードで異なるアンテナの形状を採用している。即ち、非接触ICカードのアンテナの形態(特性)により通信の特性(通信可能領域、通信不可領域等)に差異が生じるので、アンテナごとに最適な送信回数を設定することが好適である。
【0018】
また、例えば、2つのICチップ(デュアルチップ)を有する消費電力の大きな非接触ICカードについてみると、RW200で遠くまで通信距離を確保するため、非接触ICカード内の信号処理の結果がRW200で検知しやすいように信号処理の特徴を際立たせるための工夫をする場合がある。
この場合、遠くでの信号処理に有益な処理方法が、遠くからRW200の近くまでの間で、反対にRW200で非接触ICカードの信号を検知しにくくなる現象を起こすことがある。この場合、遠方でRW200と非接触ICカード間で通信が開始されるが、途中で通信が途絶える可能性がある。したがって、途中で再度、コマンド(通信パケット)を送信することが必要となることを想定した送信回数を設定することが好適である。
【0019】
ここまでは、非接触ICカードに実装されたICチップの特性やアンテナの特性の違いに基づき、最適な送信回数を規定する必要があることを説明した。しかしながら、非接触ICカードの機能は、お財布機能付き携帯、PDA機能付きNFC携帯等にも実装されている。
即ち、お財布機能付き携帯内のアンテナとしては、図2に示したように、バッテリーの周辺に実装するもの、液晶ディスプレイの周りに実装するもの、バッテリーの上部に実装されるもの、アンテナも巻線形状のもの、コイル状のもの等の様々な形状がある。故に、お財布機能付き携帯内のアンテナに応じて通信の特性が異なる。
また、通信においては、アンテナの周りの金属物の実装による影響(配線基板や筐体の金属部分がアンテナと電磁的に干渉する相対的な位置関係による影響など)も大きい。即ち、お財布機能付き携帯、PDA機能付きNFC携帯毎に、設けられている金属物は異なるので、通信の特性は異なる。
したがって、お財布機能付き携帯、PDA機能付きNFC携帯毎に、非接触ICカード用とは異なるお財布機能付き携帯およびPDA機能付きNFC携帯に専用のICチップが実装されるとしても、通信距離や、通信可能領域の中で生じる通信不可領域が個々に異なるので、最適な送信回数を設定することが好適である。
【0020】
上述の内容を踏まえることで、媒体300の属性ごとに送信回数を規定したテーブルを用いる構成に想到する。
ここで、媒体300の属性とは、媒体300の形状、媒体300のアンテナの形状、媒体300が実装するICチップの種別(メモリの容量、接触式I/Fの有無、消費電力の差異、製造メーカ、不揮発性メモリの種類(EEPROM、FERAM等)、製造プロセス(設計線幅)、ハードウェア構成(暗号のハードウェア化の程度など))、媒体300の実装形態(ICカード、ICタグ、携帯電話、NFC携帯端末など)等である。
【0021】
これまでは、媒体300に着目して差異を述べたが、それらを読み取るRW200のアンテナの形状、アンテナの特性の設定方法などにより、媒体300とRW200間の通信の特性は異なる。したがって、同じ媒体300との通信においても、RW200に最適な送信回数を設定することが好適である。
【0022】
上述した事由を踏まえ、通信の特性について図4を用いて更に説明する。
図4(A)及び(B)に示すように、同じRW200でも異なる媒体(非接触ICカード307、308)により、通信不可領域(451)がある場合とない場合とがある。
また、図4(C)及び(D)に示すように、同じ媒体(非接触ICカード309)でも異なるRW(201、202)により、通信不可領域(461、471)が異なることがある。
このように、RW200及び媒体300の組み合わせにより、通信の特性が異なり得る。
なお、以下では、媒体300としては非接触ICカードを想定して説明するが、媒体300の属性としては上記の何れの属性を用いてもよい(なお、任意に属性を組み合わせて採用することができる。)。
【0023】
次に、各装置のハードウェアの構成について図5を用いて説明する。図5は、各装置のハードウェアの構成の一例を示す図である。
図5(A)は、サーバ100のハードウェアの構成の一例を示す図である。サーバ100は、CPU(Central Processing Unit)110、ROM(Read Only Memory)120、RAM(Random Access Memory)130、HDD(Hard disk drive)140、入出力デバイス150、及びI/F(interface)160を含んで構成される。
【0024】
CPU110は、サーバ100全体の制御を司る。例えば、CPU110は、ROM120に記憶されている各種のプログラム等を実行し、後述するサーバ100の機能を実現する。
ROM120は、各種のプログラム、各種の処理の際に使用するデータ等の各種のデータを記憶する。なお、ROM120は、各種のデータを記憶する記憶装置の一例である。RAM130は、CPU110の主メモリ、ワークエリア等として機能する。なお、RAM130は、各種のデータを一時的に記憶する一時記憶装置の一例である。
HDD140は、大容量の記憶領域を有する外部記憶装置の一例である。入出力デバイス150は、ディスプレイ、マウス、キーボードなどを含んで構成され、例えばマウス、キーボードなどのユーザによる操作(ユーザ操作)に応答して、データを入力或いは出力する。I/F160は、有線又は無線の通信を行うための通信インタフェースであり、例えば、LANケーブル等の各種のケーブルを介してネットワーク900に接続する。
【0025】
図5(B)は、RW200のハードウェアの構成の一例を示す図である。RW200は、CPU210、ROM220、RAM230、RF(Radio Frequency)回路240、ANT(antenna)250、及びI/F260を含んで構成される。
CPU210は、RW200全体の制御を司る。例えば、CPU210は、ROM220に記憶されている各種のプログラム等を実行し、後述するRW200の機能、フローチャートに係る処理を実現する。
【0026】
ROM220は、各種のプログラム、各種の処理の際に使用するデータ、後述のテーブル等の各種のデータを記憶する。ROM220は、電気的にデータの書き込み、データの消去が可能なメモリであり、EEPROM(Electrically Erasable and Programmable Read Only Memory)などである。なお、ROM220は、各種のデータを記憶する記憶装置の一例である。RAM230は、CPU210の主メモリ、ワークエリア等として機能する。なお、RAM230は、各種のデータを一時的に記憶する一時記憶装置の一例である。
RF回路240は、ANT250と高周波信号のやりとりを行うと共に、電力の供給と、データの変調および復調とを行う。ANT250は、高周波信号(高周波エネルギー)を電波(電磁波)として空間に放射(送信)する。また、ANT250は、空間の電波(電磁波)を高周波信号(高周波エネルギー)に変換(受信)する。I/F260は、有線又は無線の通信を行うための通信インタフェースであり、例えば、各種のケーブルを介してネットワーク900に接続する。
【0027】
図5(C)は、媒体300のハードウェアの構成の一例を示す図である。媒体300は、CPU310、ROM320、RAM330、RF回路340、及びANT350を含んで構成される。
CPU210は、媒体300全体の制御を司る。例えば、CPU310は、ROM320に記憶されている各種のプログラム等を実行し、後述する媒体300の機能を実現する。
【0028】
ROM320は、各種のプログラム、各種の処理の際に使用するデータ等の各種のデータを記憶する。なお、ROM320は、各種のデータを記憶する記憶装置の一例である。RAM330は、CPU310の主メモリ、ワークエリア等として機能する。なお、RAM330は、各種のデータを一時的に記憶する一時記憶装置の一例である。
RF回路340は、ANT350と高周波信号のやりとりを行うと共に、電力の供給と、データの変調および復調とを行う。ANT350は、高周波信号(高周波エネルギー)を電波(電磁波)として空間に放射(送信)する。また、ANT350は、空間の電波(電磁波)を高周波信号(高周波エネルギー)に変換(受信)する。
【0029】
次に、各装置のモジュールの構成について図6を用いて説明する。図6は、各装置のモジュールの構成の一例を示す図である。各モジュールの機能は、各装置の各CPUにより各プログラムが実行されることにより実現される。ただし、各モジュールの機能の一部又は全部について、専用のハードウェアにより実現されてもよい。
図6(A)は、サーバ100のモジュールの構成の一例を示す図である。サーバ100は、制御部170、記憶部180、及び通信部190を有する。
制御部170は、記憶部180、及び通信部190を制御し、サーバ100全体を制御する。記憶部180は、制御部170からの指示に基づいてRAM130、HDD140等の記憶装置のデータについての読み出し、書き込み等を行う。通信部190は、制御部170からの指示に基づいてI/F160を介してRW200と通信を行う。例えば、通信部190は、制御部170の制御のもと各種のコマンドをI/F160を介してRW200に送信する。
【0030】
図6(B)は、RW200のモジュールの構成の一例を示す図である。RW200は、制御部270、記憶部280、及び通信部290を有する。
制御部270は、記憶部280及び通信部290を制御し、RW200全体を制御する。記憶部280は、制御部270からの指示に基づいてROM220、RAM230等の記憶装置のデータについての読み出し、書き込み等を行う。例えば、記憶部280は、制御部270の制御のもとROM220内のデータを取得する。
通信部290は、制御部270からの指示に基づいてI/F260を介してサーバ100と通信を行う。例えば、通信部290は、I/F260を介して、サーバ100からの各種のコマンドを受信し、制御部270に通知する。また、通信部290は、制御部270からの指示に基づいてRF回路240及びANT250を介して媒体300と通信を行う。例えば、通信部290は、RF回路240及びANT250を介して、制御部270の制御のもとコマンドを媒体300に送信する。
【0031】
図6(C)は、媒体300のモジュールの構成の一例を示す図である。媒体300は、制御部370、記憶部380、及び通信部390を有する。
制御部370は、記憶部380及び通信部390を制御し、媒体300全体を制御する。記憶部380は、制御部370からの指示に基づいてROM320、RAM330等の記憶装置のデータについての読み出し、書き込み等を行う。
通信部390は、制御部370からの指示に基づいてRF回路340及びANT350を介してRW200と通信を行う。例えば、通信部390は、制御部370の制御のもとコマンドに対する処理を行い、処理の結果(コマンドへの応答)を、RF回路340及びANT350を介してRW200に送信する。
【0032】
次に、通信システムにおける通信制御について図7を用いて説明する。図7は、通信システムのシーケンスの一例を示す図である。
SQ5では、サーバ100は、媒体300の種別を取得する指示(媒体種別取得情報)を含む媒体種別取得コマンドを生成し、生成した媒体種別取得コマンドを含むカードコマンド中継コマンドを生成し、生成したカードコマンド中継コマンドをRW200に送信する。SQ10では、RW200は、カードコマンド中継コマンドを受信すると、媒体種別取得コマンドとして媒体300に送信する。
SQ15では、媒体300は、媒体種別取得コマンドを受信すると、ROM320等から、RW200が媒体300を識別するためのID、媒体300の種別を示す媒体種別情報(属性情報の一例)、各カードコマンドのタイムアウト時間を決定するための最大応答時間情報などを読み出し、これらを含む媒体種別取得レスポンスをRW200に送信する。SQ20では、RW200は、媒体種別取得レスポンスを受信すると、カードコマンド中継レスポンスとしてサーバ100に送信する。
【0033】
SQ25では、RW200は、媒体種別取得レスポンスに含まれる媒体種別情報をもとに、例えば媒体300の種別を判定し、送信回数テーブルから送信回数を取得し、送信回数を決定する。なお、SQ25の送信回数を決定する処理の詳細については後述する。
ここで、媒体300の種別を判定する方法について説明する。例えば、各種の非接触ICカード用のICチップについては、ICチップの種類が複数存在し、それぞれ異なるICコードが割り当てられている。よって、RW200は、媒体300からICコードを取得することでICチップを区別(識別)できる。
また、例えば、携帯電話用のICチップには、キャリア識別コード(携帯電話事業会社を識別する識別子)、携帯電話の機種コード等の情報が書き込まれている領域がある。したがって、RW200は、媒体300からその情報を取得することにより、携帯電話の機種を識別できる。
即ち、属性コードを媒体300に設定し、RW200で属性コードを取得する構成を採用する場合、媒体300の属性毎(ICチップの種別ごと、アンテナの形状ごと、金属部分の通信の特性に応じた影響ごと等)に送信回数が送信回数テーブルに設定されることになる。
【0034】
ここで、送信回数テーブルについて図8を用いて説明する。図8は、送信回数テーブルの一例を示す図である。送信回数テーブルは、ROM220に記憶されている。送信回数テーブルには、媒体種別情報と送信回数情報とが対応付けられて規定されている。例えば、媒体種別情報「0001」と送信回数情報「001」とが対応付けられてROM220に記憶されている。
本実施形態では、送信回数テーブルを記憶した設定用の非接触ICカードが管理者等によりRW200にかざされることにより、設定用の非接触ICカードの送信回数テーブルがROM220に記憶され、或いはROM220の送信回数テーブルが設定用の非接触ICカードの送信回数テーブルで更新される。ただし、他の設定方法を採用してもよい。例えば、サーバ100から送信回数テーブルの情報が送信される構成であってもよい。
また、データを記憶する構成は、上述の構成に限られるものではない。例えば、カンマなどの区切り記号による区切り形式のデータ(ファイル)であってもよい。
なお、本シーケンスでは、SQ20の後にSQ25が行われる構成を示したが、この構成に限られるものではない。例えば、RW200がSQ25の処理を行ってからSQ20の処理を行う構成を採用してもよい。
【0035】
SQ30では、サーバ100は、セキュリティ性の低い媒体300への指示、例えば暗号化されていない媒体300への指示を作成するためのカードコマンド(非暗号電文情報)を生成し、生成したカードコマンドを含むカードコマンド中継コマンドをRW200に送信する。また、RW200は、カードコマンド中継コマンドを受信すると、SQ25で取得した送信回数に応じてカードコマンドを媒体300に送信する(SQ35、SQ45、SQ55)。
例えば、RW200は、送信回数情報「003」を取得した場合は、カードコマンドを媒体300に3回送信する。なお、送信する構成は、この構成に限られるものではない。例えば、一定の時間が経過してもカードレスポンス(返答)がないとRW200で判断した場合、或いは通信が正常でないとRW200で判断した場合、カードコマンドを送信する構成としてもよい。
他方、媒体300は、カードコマンドを受信すると、カードコマンドに従って処理を行い、カードレスポンスをRW200に送信する(SQ40、SQ60)。なお、通信が途絶えた場合、RW200でカードレスポンスが受信されないこともある(SQ50)。SQ65では、RW200は、カードレスポンスをカードコマンド中継レスポンスとしてサーバ100に送信する。
【0036】
次に、RW200が媒体種別取得レスポンス、及びカードコマンド中継コマンドを受信したときの処理(受信時処理)について図9を用いて説明する。図9は、受信時処理に係るフローチャートの一例を示す図である。
まず、制御部270は、媒体種別取得レスポンスを受信すると、送信回数決定処理を行う(S5)。送信回数決定処理では、制御部270は、送信回数を決定してRAM230に記憶する。なお、送信回数決定処理の詳細については後述する。
続いて、制御部270は、カードコマンド中継コマンドを受信すると、カードコマンドを媒体300に送信する(S10)。続いて、制御部270は、媒体300からカードレスポンスを受信する(S15)。なお、上述のように、制御部270がカードレスポンスを受信しないこともある。続いて、制御部270は、RAM230上の送信回数が「0」であるか否かを判断する(S20)。このとき、制御部270は、送信回数が「0」であると判断した場合、処理を終了する。他方、制御部270は、送信回数が「0」でないと判断した場合、S25に処理を移す。
S25では、制御部270は、RAM230上の送信回数を「1」減算し、処理をS10に移す。
【0037】
図10は、送信回数決定処理に係るフローチャートの一例を示す図である。
まず、制御部270は、送信回数テーブルに媒体種別情報に対応した値(送信回数情報)が存在するか否かを判断する。このとき、制御部270は、存在すると判断した場合、S110に処理を移し、他方、存在しないと判断した場合、S115に処理を移す。
S110では、制御部270は、送信回数テーブルから送信回数情報を取得(読出)し、取得した送信回数情報(送信回数)を送信回数として決定し、RAM230に記憶する。S115では、制御部270は、送信回数テーブルからデフォルトの送信回数情報を取得し、取得した送信回数情報(送信回数)を送信回数として決定し、RAM230に記憶する。
【0038】
上述した構成によれば、カードコマンドの送信をリトライする動作をRW200単独で行うことが可能となる。また、RW200としては、より適切に通信を行うことが可能となる最低限の構成を採用しているので、RW200を廉価に提供できる。
例えば、従来のシンクライアント型RWを用いた通信システムである場合、サーバは、暗号回路を有し、カードコマンド中継レスポンスの論理的な整合性をサーバで検証し、論理的に不整合がある場合、再度、非接触ICカード等への暗号化した指示を含むコマンドをシンクライアント型RWに送信する。そして、シンクライアント型RWから非接触ICカード等に上記指示を含むコマンドが送信されることになる。
【0039】
しかしながら、本実施形態では、セキュリティ性の低い媒体300への指示を含むカードコマンド(平文コマンド)についての送信を制御するものであるので、RW200が暗号回路を具備して媒体300への指示を暗号化する必要はない。
即ち、本実施形態では、平文コマンドの送信を簡易な処理で制御することから、読書装置が高価になることを回避しつつ、迅速な平文コマンドの再送処理が可能となる。
【0040】
また、本実施形態は、上述した構成に限られるものではない。例えば、RW200を廉価に製造しようとする場合、送信回数については、シンプルな非接触ICカードであれば、例えば2回、デュアルチップを有する非接触ICカードであれば、シンプルな非接触ICカードに比べて通信性能が著しく劣るので、例えば4回、お財布機能付き携帯については機種ごとに差はあるが、性能が良くない機種もあるので、例えば3回、というように複数の属性をまとめた簡易な送信回数テーブルを採用してもよい。
【0041】
また、本実施形態では、RW200は、カードレスポンスについては全てサーバ100に送信し、サーバ100が論理的な整合性を判断する。この場合、サーバ100は、論理的な整合性が取れたカードレスポンスがないと判断した場合、再度同じカードコマンド中継コマンドをRW200に送信する。
しかしながら、この構成に限られるものではない。例えば、RW200が、論理的に整合性の取れたカードレスポンスのみをサーバ100に送信し、論理的に整合がとれていないと判断したときは、再度、送信回数に応じてカードコマンドを送信する構成としてもよい。なお、RW200とサーバ100間の通信時間を考えた場合、媒体300ごとの通信の不具合の確率を想定し、RW200から複数回のカードコマンドを送信する方が、結果として、全体の処理時間が短時間で済み、且つ安定した通信環境を提供できると考えられる。
付言するならば、上述した何れの構成によっても、大量に市場に投入する読書装置を、廉価で且つ一定水準以上の通信性能を確保したものとすることが可能となる。
【0042】
また、RW200と媒体300間で通信が始まり、その後、RW200と媒体300間の相対位置(一定の場所)で特に通信が不良になることも論理的に存在する(例えばカードレスポンスの位相反転)。なお、位相反転とは、RW200と媒体300(非接触ICカード等)とが互いに影響しあって一定の位置の範囲内でのみ媒体300(非接触ICカード等)が負荷インピーダンスを変化させてもRW200に誘起される電圧値が変化しない、つまり、媒体300(非接触ICカード等)からのカードレスポンスをRW200で受信できない状態のことである。
そこで、RW200から媒体300に送信するカードコマンドのシーケンス上、通信不可領域に比較的に合致しやすい特定のカードコマンドに対して、特に多くのカードコマンドを送信する構成を採用してもよい。この場合、例えば、専用の送信回数テーブルを予めRW200に実装する。
【0043】
<第2の実施形態>
第1の実施形態では、通信不可領域などの通信の特性を考慮して規定された送信回数に応じてカードコマンドを送信する構成を示した。しかしながら、カードコマンドを送信するタイミングを加味していないので、通信に無駄が生じ得る。そこで、本実施形態では、カードコマンドを送信するタイミングを示す送信間隔を採用し、通信での無駄を低減する方法について説明する。
本実施形態では、第1の実施形態の構成と同一の構成については同一の符号を用いて、その説明を省略する。なお、送信回数テーブル、及び送信回数決定処理の構成が主に異なるので、これらについて説明する。
【0044】
本実施形態では、RW200は、送信回数・送信間隔テーブルを有する。そこで、送信回数・送信間隔テーブルについて図11を用いて説明する。
図11は、送信回数・送信間隔テーブルの一例を示す図である。送信回数・送信間隔テーブルには、媒体種別情報と送信回数情報と送信間隔情報とが対応付けられて規定されている。例えば、媒体種別情報「0001」と送信回数情報「001」と送信間隔情報「120」とが対応付けられてROM220に記憶されている。
【0045】
次に、受信時処理について図12を用いて説明する。図12は、受信時処理に係るフローチャートの一例を示す図である。
まず、制御部270は、送信回数・送信間隔決定処理を行う(S205)。送信回数・送信間隔決定処理では、制御部270は、送信回数、及び送信間隔を決定し、RAM230に記憶する。なお、送信回数・送信間隔決定処理の詳細については後述する。
続いて、制御部270は、カードコマンド中継コマンドを受信すると、カードコマンドを媒体300に送信する(S210)。続いて、制御部270は、カードレスポンス受信処理を行う(S215)。カードレスポンス受信処理では、制御部270は、カードレスポンスの受信が完了したか否か(送信間隔が経過したか否か)を示すフラグをセットする。なお、カードレスポンス受信処理の詳細については後述する。
【0046】
続いて、制御部270は、カードレスポンスの受信が完了したか否かを判断する(S220)。このとき、制御部270は、カードレスポンスの受信が完了したことを示すフラグがセットされていると判断した場合、正常終了する。他方、カードレスポンスの受信が未完了であることを示すフラグがセットされていると判断した場合、S225に処理を移す。
S225では、制御部270は、RAM230上の送信回数が「0」であるか否かを判断する。このとき、制御部270は、送信回数が「0」であると判断した場合、エラー終了し、新たに受信可能範囲内(例えば通信不可領域から通信可能領域)に媒体300が入ったときに、再度、受信時処理を再開する。他方、制御部270は、送信回数が「0」でないと判断した場合、S230に処理を移す。
S230では、制御部270は、RAM230上の送信回数を「1」減算し、処理をS210に移す。付言するならば、例えば、第1の実施形態の受信時処理と同様に、カードレスポンスの有無にかかわらず、送信間隔ごとに、送信回数分のカードコマンドを送信する構成を採用してもよい。
【0047】
図13は、送信回数・送信間隔決定処理に係るフローチャートの一例を示す図である。
まず、制御部270は、送信回数・送信間隔テーブルに媒体種別情報に対応した値(送信回数情報及び送信間隔情報)が存在するか否かを判断する(S305)。このとき、制御部270は、存在すると判断した場合、S310に処理を移し、他方、存在しないと判断した場合、S315に処理を移す。
S310では、制御部270は、送信回数・送信間隔テーブルから送信回数情報及び送信間隔情報を取得する。S315では、制御部270は、送信回数・送信間隔テーブルからデフォルトの送信回数情報及び送信間隔情報を取得する。なお、制御部270は、S310及びS315では、取得した送信回数情報(送信回数)を送信回数として決定し、取得した送信間隔情報(送信間隔)を送信間隔として決定し、これらをRAM230に記憶する。
【0048】
図14は、カードレスポンス受信処理に係るフローチャートの一例を示す図である。
まず、制御部270は、カードレスポンスの最初の1バイトを受信したか否かを判断する(S405)。このとき、制御部270は、受信したと判断した場合、S420に処理を移し、他方、受信していないと判断した場合、S410に処理を移す。
S410では、制御部270は、送信間隔が経過したか否かを判断する。このとき、制御部270は、経過したと判断した場合、S415に処理を移し、他方、経過していないと判断した場合、S405に処理を移す。S415では、制御部270は、カードレスポンスの受信が未完了であることを示すフラグをセットする(タイムアウト設定)。なお、フラグは、RAM230に記憶される。
【0049】
S420では、制御部270は、カードレスポンスの2バイト目以降を受信する。続いて、制御部270は、全バイト(例えば最終ビット)を受信したか否かを判断する(S425)。なお、本実施形態は、この構成に限られるものではなく、例えば、制御部270は、カードレスポンスに付加されているレスポンスの正当性を判断可能なデータ(正当性確認データ)等によりカードレスポンスの正当性を確認し、全バイトを受信したか否かを判断してもよい。
このとき、制御部270は、受信したと判断した場合、S430に処理を移し、他方、受信していないと判断した場合、S420に処理を移す。
S430では、制御部270は、カードレスポンスの受信が完了したことを示すフラグをセットする(受信完了設定)。なお、フラグは、RAM230に記憶される。
【0050】
上述した構成によれば、媒体300の属性ごとに送信間隔が設けられているので、通信エラー時におけるカードコマンドの送信をより適切に制御することができる。
【0051】
<第3の実施形態>
第2の実施形態では、送信間隔を採用し、通信での無駄を低減する方法について説明したが、本実施形態では、送信間隔を算出し、通信での無駄を低減する方法について説明する。
本実施形態では、第2の実施形態の構成と同一の構成については同一の符号を用いて、その説明を省略する。なお、送信間隔を取得する処理ではなく、送信間隔を算出する処理が行われる点が主に異なるので、送信間隔を算出する処理について説明する。
送信間隔を算出する処理は、S205の処理の前、S205の処理中、S205の処理の後の適宜のタイミングで制御部270により行われる。
【0052】
本通信システムでは、各種のカードコマンドの最大応答時間を算出するためのパラメータが媒体種別取得レスポンスに含まれて媒体300からRW200に送信され、RW200は、送信間隔(タイムアウト時間)を動的に決定する。なお、RW200が、上記タイミングとは異なる他のタイミング(適宜のタイミング)で、上記パラメータを取得する構成としてもよい。
ここで、送信間隔は、公知の技術である下記の式(1)を用いて算出される(日本工業規格−JIS−X6919−4:2010−ICカード実装仕様−第4部:高速処理用近接型ICカード参照のこと。)。
送信間隔[ms]=0.3020×[(B+1)×n+(A+1)]×4E・・・(1)
なお、nは、コマンドパラメタのブロック数又はサービスファイル数である。A、B、Eは、パラメータに含まれる値である。
【0053】
上述した構成によれば、媒体300の属性ごとに送信間隔が動的に算出されるので、通信エラー時におけるカードコマンドの送信をより適切に制御することができる。
なお、本実施形態では、媒体300に個々のケースで実装した場合の送信間隔の最悪値(最も時間を必要とするケース)、即ちどのように実装してもカードコマンドの送信が可能になる送信間隔を計算式により決定する構成について説明した。
しかしながら、現実には、媒体300に実装している条件については既に確定しているので、その実装に適した、最悪値より短い送信間隔を送信時間・送信間隔テーブルに設定して使用する構成としてもよい。
【0054】
<第4の実施形態>
第1の実施形態では、通信不可領域などの通信の特性を考慮して規定された送信回数に応じてカードコマンドを送信する構成を示した。しかしながら、送信するカードコマンドの種別による特性が加味されておらず、通信に無駄が生じ得る。そこで、本実施形態では、カードコマンドの種別を考慮して規定された送信回数を採用し、通信での無駄を低減する方法について説明する。
本実施形態では、第1の実施形態の構成と同一の構成については同一の符号を用いて、その説明を省略する。なお、テーブル、及び送信回数決定処理の構成が主に異なるので、これらについて説明する。
【0055】
本実施形態では、RW200は、カードコマンドの種別ごとの送信回数テーブル(コマンド種別毎送信回数テーブル)を更に有する。そこで、コマンド種別毎送信回数テーブルについて図15を用いて説明する。
図15は、コマンド種別毎送信回数テーブルの一例を示す図である。コマンド種別毎送信回数テーブルには、コマンド種別情報(電文種別情報の一例)と送信回数情報とが対応付けられて規定されている。例えば、コマンド種別情報「Read」と送信回数情報「1.5」とが対応付けられてROM220に記憶されている。
【0056】
図16は、送信回数決定処理に係るフローチャートの一例を示す図である。
まず、制御部270は、送信回数テーブルに媒体種別情報に対応した値(送信回数情報)が存在するか否かを判断する(S505)。このとき、制御部270は、存在すると判断した場合、S510に処理を移し、他方、存在しないと判断した場合、S515に処理を移す。
S510では、制御部270は、送信回数テーブルから送信回数情報を取得し(第1の回数特定情報の第1の読出しを行い)、S520に処理を移す。S515では、制御部270は、送信回数テーブルからデフォルトの送信回数情報を取得し、S520に処理を移す。
S520では、制御部270は、コマンド種別毎送信回数テーブルから送信回数情報を取得する(第2の回数特定情報の第2の読出しを行う)。続いて、制御部270は、取得した2種類の送信回数情報から送信回数を決定し、RAM230に記憶する。例えば、制御部270は、S510で送信回数情報「2」を取得し、S520で送信回数情報「1.5」を取得した場合、送信回数として「3(=2×1.5)」を決定する。
【0057】
なお、送信回数の決定方法は、2種類の送信回数情報を用いた乗算などの四則算に限られるものではない。例えば、2種類の送信回数情報を係数とし、予め定める基本送信回数(RW200に個別の標準的な送信回数)が用いられて送信回数が算出される構成としてもよい。例えば、基本送信回数が「3」であり、送信回数情報が「2」であり、送信回数情報が「1.5」である場合、送信回数として「9(=3×2×1.5)」が決定される。
また、本実施形態は、上述した構成に限られるものではない。例えば、S515の処理に代えて、予め規定したデフォルトの送信回数情報をROM220から読み出して送信回数を決定して記憶する処理を採用しもよい。この場合、制御部270は、S520、S525の処理を行うことなく、処理を終了する。
【0058】
上述した構成によれば、カードコマンドの種別ごとに送信回数が算出されるので、通信エラー時におけるカードコマンドの送信をより適切に制御することができる。
【0059】
<その他の実施形態>
本実施形態は、上述した実施形態の構成に限られるものではない。例えば、通信の特性が良くない媒体(デュアルチップの非接触ICカード、携帯電話等)である場合、細かな属性ごとに送信回数を設定するのではなく、デュアルチップの非接触ICカード、携帯電話等のまとまりで送信回数を一定以上に設定してもよい。
また、上述した各実施形態の構成は、適宜組み合わせて採用することができる。また、各種のプログラムは、CD−ROM等の記録媒体に記録されていてもよい。
【0060】
以上、上述した構成によれば、情報処理装置からの電文情報を記憶媒体に送信する際の通信をより適切に制御することができるようになる。
【0061】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0062】
100 サーバ
200 RW
300 媒体
【特許請求の範囲】
【請求項1】
記憶部を有し、情報処理装置から電文情報を受信して前記電文情報を記憶媒体に送信する読書装置であって、
前記記憶媒体から前記記憶媒体の属性を示す属性情報を取得する取得手段と、
記憶媒体の属性を示す属性情報と電文情報を送信する回数を示す回数情報とが対応付けられて記憶された前記記憶部から、前記取得手段で取得された属性情報に対応する回数情報を読み出す読出手段と、
前記情報処理装置から電文情報を受信すると、前記回数情報の回数に応じて前記電文情報を前記記憶媒体に送信する制御を行う制御手段と、を有することを特徴とする読書装置。
【請求項2】
前記記憶部には、記憶媒体の属性を示す属性情報と電文情報を送信する間隔を示す時間情報とが対応付けられて記憶され、
前記読出手段は、前記記憶部から、前記取得手段で取得された属性情報に対応する時間情報を更に読み出し、
前記制御手段は、前記情報処理装置から電文情報を受信すると、前記時間情報の間隔ごとに、前記回数情報の回数に応じて前記電文情報を前記記憶媒体に送信する制御を行うことを特徴とする請求項1記載の読書装置。
【請求項3】
電文情報を送信する間隔を示す時間情報を前記記憶媒体との通信の結果を用いて算出する算出手段を更に有し、
前記制御手段は、前記情報処理装置から電文情報を受信すると、前記算出手段で算出された時間情報の間隔ごとに、前記回数情報の回数に応じて前記電文情報を前記記憶媒体に送信する制御を行うことを特徴とする請求項1記載の読書装置。
【請求項4】
前記制御手段は、前記記憶媒体から前記電文情報に対する返答を受信するまで、前記電文情報を送信する制御を行うことを特徴とする請求項1乃至3の何れか1項記載の読書装置。
【請求項5】
記憶部を有し、情報処理装置から電文情報を受信して前記電文情報を記憶媒体に送信する読書装置であって、
前記記憶媒体から前記記憶媒体の属性を示す属性情報を取得する取得手段と、
記憶媒体の属性を示す属性情報と電文情報を送信する回数を特定するための第1の回数特定情報とが対応付けられて記憶された前記記憶部から、前記取得手段で取得された属性情報に対応する第1の回数特定情報を読み出す第1の読出手段と、
前記情報処理装置から電文情報を受信すると、電文情報の種別を示す電文種別情報と電文情報を送信する回数を特定するための第2の回数特定情報とが対応付けられて記憶された前記記憶部から、前記受信した電文情報の電文種別情報に対応する第2の回数特定情報を読み出す第2の読出手段と、
前記第1の読出手段で読み出された第1の回数特定情報と前記第2の読出手段で読み出された第2の回数特定情報とから前記電文情報を送信する回数を算出し、算出した回数に応じて前記電文情報を前記記憶媒体に送信する制御を行う制御手段と、を有することを特徴とする読書装置。
【請求項6】
記憶部を有し、情報処理装置から電文情報を受信して前記電文情報を記憶媒体に送信する読書装置における制御方法であって、
前記記憶媒体から前記記憶媒体の属性を示す属性情報を取得する取得工程と、
記憶媒体の属性を示す属性情報と電文情報を送信する回数を示す回数情報とが対応付けられて記憶された前記記憶部から、前記取得工程で取得された属性情報に対応する回数情報を読み出す読出工程と、
前記情報処理装置から電文情報を受信すると、前記回数情報の回数に応じて前記電文情報を前記記憶媒体に送信する制御を行う制御工程と、を有することを特徴とする制御方法。
【請求項7】
記憶部を有し、情報処理装置から電文情報を受信して前記電文情報を記憶媒体に送信する読書装置における制御方法であって、
前記記憶媒体から前記記憶媒体の属性を示す属性情報を取得する取得工程と、
記憶媒体の属性を示す属性情報と電文情報を送信する回数を特定するための第1の回数特定情報とが対応付けられて記憶された前記記憶部から、前記取得工程で取得された属性情報に対応する第1の回数特定情報を読み出す第1の読出工程と、
前記情報処理装置から電文情報を受信すると、電文情報の種別を示す電文種別情報と電文情報を送信する回数を特定するための第2の回数特定情報とが対応付けられて記憶された前記記憶部から、前記受信した電文情報の電文種別情報に対応する第2の回数特定情報を読み出す第2の読出工程と、
前記第1の読出工程で読み出された第1の回数特定情報と前記第2の読出工程で読み出された第2の回数特定情報とから前記電文情報を送信する回数を算出し、算出した回数に応じて前記電文情報を前記記憶媒体に送信する制御を行う制御工程と、を有することを特徴とする制御方法。
【請求項8】
記憶部を有し、情報処理装置から電文情報を受信して前記電文情報を記憶媒体に送信するコンピュータを、
前記記憶媒体から前記記憶媒体の属性を示す属性情報を取得する取得手段と、
記憶媒体の属性を示す属性情報と電文情報を送信する回数を示す回数情報とが対応付けられて記憶された前記記憶部から、前記取得手段で取得された属性情報に対応する回数情報を読み出す読出手段と、
前記情報処理装置から電文情報を受信すると、前記回数情報の回数に応じて前記電文情報を前記記憶媒体に送信する制御を行う制御手段として機能させるプログラム。
【請求項9】
記憶部を有し、情報処理装置から電文情報を受信して前記電文情報を記憶媒体に送信するコンピュータを、
前記記憶媒体から前記記憶媒体の属性を示す属性情報を取得する取得手段と、
記憶媒体の属性を示す属性情報と電文情報を送信する回数を特定するための第1の回数特定情報とが対応付けられて記憶された前記記憶部から、前記取得手段で取得された属性情報に対応する第1の回数特定情報を読み出す第1の読出手段と、
前記情報処理装置から電文情報を受信すると、電文情報の種別を示す電文種別情報と電文情報を送信する回数を特定するための第2の回数特定情報とが対応付けられて記憶された前記記憶部から、前記受信した電文情報の電文種別情報に対応する第2の回数特定情報を読み出す第2の読出手段と、
前記第1の読出手段で読み出された第1の回数特定情報と前記第2の読出手段で読み出された第2の回数特定情報とから前記電文情報を送信する回数を算出し、算出した回数に応じて前記電文情報を前記記憶媒体に送信する制御を行う制御手段として機能させるプログラム。
【請求項1】
記憶部を有し、情報処理装置から電文情報を受信して前記電文情報を記憶媒体に送信する読書装置であって、
前記記憶媒体から前記記憶媒体の属性を示す属性情報を取得する取得手段と、
記憶媒体の属性を示す属性情報と電文情報を送信する回数を示す回数情報とが対応付けられて記憶された前記記憶部から、前記取得手段で取得された属性情報に対応する回数情報を読み出す読出手段と、
前記情報処理装置から電文情報を受信すると、前記回数情報の回数に応じて前記電文情報を前記記憶媒体に送信する制御を行う制御手段と、を有することを特徴とする読書装置。
【請求項2】
前記記憶部には、記憶媒体の属性を示す属性情報と電文情報を送信する間隔を示す時間情報とが対応付けられて記憶され、
前記読出手段は、前記記憶部から、前記取得手段で取得された属性情報に対応する時間情報を更に読み出し、
前記制御手段は、前記情報処理装置から電文情報を受信すると、前記時間情報の間隔ごとに、前記回数情報の回数に応じて前記電文情報を前記記憶媒体に送信する制御を行うことを特徴とする請求項1記載の読書装置。
【請求項3】
電文情報を送信する間隔を示す時間情報を前記記憶媒体との通信の結果を用いて算出する算出手段を更に有し、
前記制御手段は、前記情報処理装置から電文情報を受信すると、前記算出手段で算出された時間情報の間隔ごとに、前記回数情報の回数に応じて前記電文情報を前記記憶媒体に送信する制御を行うことを特徴とする請求項1記載の読書装置。
【請求項4】
前記制御手段は、前記記憶媒体から前記電文情報に対する返答を受信するまで、前記電文情報を送信する制御を行うことを特徴とする請求項1乃至3の何れか1項記載の読書装置。
【請求項5】
記憶部を有し、情報処理装置から電文情報を受信して前記電文情報を記憶媒体に送信する読書装置であって、
前記記憶媒体から前記記憶媒体の属性を示す属性情報を取得する取得手段と、
記憶媒体の属性を示す属性情報と電文情報を送信する回数を特定するための第1の回数特定情報とが対応付けられて記憶された前記記憶部から、前記取得手段で取得された属性情報に対応する第1の回数特定情報を読み出す第1の読出手段と、
前記情報処理装置から電文情報を受信すると、電文情報の種別を示す電文種別情報と電文情報を送信する回数を特定するための第2の回数特定情報とが対応付けられて記憶された前記記憶部から、前記受信した電文情報の電文種別情報に対応する第2の回数特定情報を読み出す第2の読出手段と、
前記第1の読出手段で読み出された第1の回数特定情報と前記第2の読出手段で読み出された第2の回数特定情報とから前記電文情報を送信する回数を算出し、算出した回数に応じて前記電文情報を前記記憶媒体に送信する制御を行う制御手段と、を有することを特徴とする読書装置。
【請求項6】
記憶部を有し、情報処理装置から電文情報を受信して前記電文情報を記憶媒体に送信する読書装置における制御方法であって、
前記記憶媒体から前記記憶媒体の属性を示す属性情報を取得する取得工程と、
記憶媒体の属性を示す属性情報と電文情報を送信する回数を示す回数情報とが対応付けられて記憶された前記記憶部から、前記取得工程で取得された属性情報に対応する回数情報を読み出す読出工程と、
前記情報処理装置から電文情報を受信すると、前記回数情報の回数に応じて前記電文情報を前記記憶媒体に送信する制御を行う制御工程と、を有することを特徴とする制御方法。
【請求項7】
記憶部を有し、情報処理装置から電文情報を受信して前記電文情報を記憶媒体に送信する読書装置における制御方法であって、
前記記憶媒体から前記記憶媒体の属性を示す属性情報を取得する取得工程と、
記憶媒体の属性を示す属性情報と電文情報を送信する回数を特定するための第1の回数特定情報とが対応付けられて記憶された前記記憶部から、前記取得工程で取得された属性情報に対応する第1の回数特定情報を読み出す第1の読出工程と、
前記情報処理装置から電文情報を受信すると、電文情報の種別を示す電文種別情報と電文情報を送信する回数を特定するための第2の回数特定情報とが対応付けられて記憶された前記記憶部から、前記受信した電文情報の電文種別情報に対応する第2の回数特定情報を読み出す第2の読出工程と、
前記第1の読出工程で読み出された第1の回数特定情報と前記第2の読出工程で読み出された第2の回数特定情報とから前記電文情報を送信する回数を算出し、算出した回数に応じて前記電文情報を前記記憶媒体に送信する制御を行う制御工程と、を有することを特徴とする制御方法。
【請求項8】
記憶部を有し、情報処理装置から電文情報を受信して前記電文情報を記憶媒体に送信するコンピュータを、
前記記憶媒体から前記記憶媒体の属性を示す属性情報を取得する取得手段と、
記憶媒体の属性を示す属性情報と電文情報を送信する回数を示す回数情報とが対応付けられて記憶された前記記憶部から、前記取得手段で取得された属性情報に対応する回数情報を読み出す読出手段と、
前記情報処理装置から電文情報を受信すると、前記回数情報の回数に応じて前記電文情報を前記記憶媒体に送信する制御を行う制御手段として機能させるプログラム。
【請求項9】
記憶部を有し、情報処理装置から電文情報を受信して前記電文情報を記憶媒体に送信するコンピュータを、
前記記憶媒体から前記記憶媒体の属性を示す属性情報を取得する取得手段と、
記憶媒体の属性を示す属性情報と電文情報を送信する回数を特定するための第1の回数特定情報とが対応付けられて記憶された前記記憶部から、前記取得手段で取得された属性情報に対応する第1の回数特定情報を読み出す第1の読出手段と、
前記情報処理装置から電文情報を受信すると、電文情報の種別を示す電文種別情報と電文情報を送信する回数を特定するための第2の回数特定情報とが対応付けられて記憶された前記記憶部から、前記受信した電文情報の電文種別情報に対応する第2の回数特定情報を読み出す第2の読出手段と、
前記第1の読出手段で読み出された第1の回数特定情報と前記第2の読出手段で読み出された第2の回数特定情報とから前記電文情報を送信する回数を算出し、算出した回数に応じて前記電文情報を前記記憶媒体に送信する制御を行う制御手段として機能させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2013−45424(P2013−45424A)
【公開日】平成25年3月4日(2013.3.4)
【国際特許分類】
【出願番号】特願2011−185070(P2011−185070)
【出願日】平成23年8月26日(2011.8.26)
【出願人】(593092482)JR東日本メカトロニクス株式会社 (85)
【Fターム(参考)】
【公開日】平成25年3月4日(2013.3.4)
【国際特許分類】
【出願日】平成23年8月26日(2011.8.26)
【出願人】(593092482)JR東日本メカトロニクス株式会社 (85)
【Fターム(参考)】
[ Back to top ]