JP2011039810A - 通信装置、通信方法、プログラム、および通信システム - Google Patents
通信装置、通信方法、プログラム、および通信システム Download PDFInfo
- Publication number
- JP2011039810A JP2011039810A JP2009187044A JP2009187044A JP2011039810A JP 2011039810 A JP2011039810 A JP 2011039810A JP 2009187044 A JP2009187044 A JP 2009187044A JP 2009187044 A JP2009187044 A JP 2009187044A JP 2011039810 A JP2011039810 A JP 2011039810A
- Authority
- JP
- Japan
- Prior art keywords
- command
- response
- controller
- communication
- transmitted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
【課題】コントローラがコマンドを再送信するまで待機すべき時間を正確に把握する。
【解決手段】カードコマンド送信処理の後、リーダライタは、トータルウェイトタイムを算出し、acceptedパケットとしてコントローラ11に送信する(ステップS13)。具体的には、カードレスポンス最大応答待ち時間にカードコマンド送信処理時間を加算してカードウェイトタイムを算出する。さらに、次式に従いトータルウェイトタイムを算出する。
トータルウェイトタイム
=カードウェイトタイム×(リトライ回数+1)+カードアクセスレスポンス生成時間
本発明は、非接触通信システムに適用することができる。
【選択図】 図2
【解決手段】カードコマンド送信処理の後、リーダライタは、トータルウェイトタイムを算出し、acceptedパケットとしてコントローラ11に送信する(ステップS13)。具体的には、カードレスポンス最大応答待ち時間にカードコマンド送信処理時間を加算してカードウェイトタイムを算出する。さらに、次式に従いトータルウェイトタイムを算出する。
トータルウェイトタイム
=カードウェイトタイム×(リトライ回数+1)+カードアクセスレスポンス生成時間
本発明は、非接触通信システムに適用することができる。
【選択図】 図2
Description
本発明は、通信装置、通信方法、プログラム、および通信システムに関し、特に、例えば、非接触IC(Integrated Circuit)カードとデータを通信する場合に用いて好適な通信装置、通信方法、プログラム、および通信システムに関する。
従来、FeliCa(商標)に代表される非接触通信システムが存在する。この非接触通信システムは、例えば、コンビニエンスストアなどの店舗で利用される電子マネーシステムや、鉄道の駅の改札などで利用される自動改札システムなどに広く利用されている(例えば、特許文献1参照)。
図5は、従来の非接触通信システムの構成の一例を示している。この非接触通信システム50は、コントローラ51、リーダライタ(R/W)52、および非接触ICカード53から構成される。
コントローラ51は、R/Wコマンドを用いてリーダライタ52を制御し、非接触ICカード53に記録されているデータを取得する。また、コントローラ51は、R/Wコマンドを用いてリーダライタ52を制御し、非接触ICカード53にデータを記録させる。
リーダライタ52は、コントローラ51からの制御に従い、カードコマンドを用いて非接触ICカード53を制御することにより、非接触ICカード53に記憶されているデータ)を読み出してコントローラ51に送信する。また、リーダライタ52は、コントローラ51からの制御に従い、カードコマンドを用いて非接触ICカード53を制御することにより、非接触ICカード53に所定のデータを記憶させる。
非接触ICカード53は、リーダライタ52からのカードコマンドに応じた処理を実行することにより、例えば、記憶しているデータをリーダライタ52に送信したり、リーダライタ52から送信されたデータを記憶したりする。
なお、非接触ICカード53の代わりに、非接触ICカード53と同等のICチップが内蔵された携帯電話機などが用いられることもある。
次に、非接触通信システム50の一連の動作について説明する。図6は、非接触通信システム50の一連の動作を説明するタイミングチャートである。
初めに、コントローラ51とリーダライタ52との間で相互認証処理が行われる(ステップS201,S211)。この相互認証処理が終了すると、コントローラ51からの制御(ステップS202)に従い、リーダライタ52がポーリング処理を開始する(ステップS212)。一方、利用者によってリーダライタ52に近づけられた非接触ICカード53は、リーダライタ52のポーリング処理に応じ、リーダライタ52にレスポンスを送信する(ステップS231)。非接触ICカード53からのレスポンスを受信したリーダライタ52は、ポーリング処理の完了をコントローラ51に通知する。
ポーリング処理が完了した後、コントローラ51は、レスポンスサービスコマンド(R/Wコマンド)をリーダライタ52に送信する(ステップS203)。これに応じて、リーダライタ52は、レスポンスサービスコマンド(カードコマンド)を非接触ICカード53に送信する(ステップS213)。これに応じて、非接触ICカード53は、レスポンスサービスコマンドに応じたレスポンス(カードレスポンス)をリーダライタ52に送信する(ステップS232)。リーダライタ52は、非接触ICカード53からのレスポンスをコントローラ51に中継する(ステップS214)。
非接触ICカード53からのレスポンスを確認したコントローラ51からの制御(ステップS204)に従い、リーダライタ52は、非接触ICカード53との間で相互認証処理を行い、相互認証処理の完了をコントローラ51に通知する(ステップS215,S233)。
リーダライタ52と非接触ICカード53との間の相互認証処理が完了したことを確認したコントローラ51は、リードコマンド(R/Wコマンド)をリーダライタ52に送信する(ステップS205)。これに応じて、リーダライタ52は、リードコマンド(カードコマンド)を非接触ICカード53に送信する(ステップS216)。これに応じて、非接触ICカード53は、内蔵されたメモリに書き込まれているデータをレスポンスとしてリーダライタ52に送信する(ステップS234)。リーダライタ52は、非接触ICカード53からのレスポンスをコントローラ51に中継する(ステップS217)。
非接触ICカード53のメモリに書き込まれていたデータを取得したコントローラ51は、ライトコマンド(R/Wコマンド)と、非接触ICカード53のメモリに新たに書き込ませるデータをリーダライタ52に送信する(ステップS206)。これに応じて、リーダライタ52は、これらを非接触ICカード53に中継する(ステップS218)。これに応じて、非接触ICカード53は、通知されたデータを内蔵するメモリに書き込み、書き込み終了を示すレスポンスをリーダライタ52に送信する(ステップS235)。リーダライタ52は、非接触ICカード53からのレスポンスをコントローラ51に中継する(ステップS219)。
以上で、非接触通信システム50による一連の動作の説明を終了する。
このような一連の動作によれば、例えば、非接触通信システム50を電子マネーシステムに利用している場合、非接触ICカード53に記録されている電子マネーの残金のデータを読み出し、この残金から商品の代金を減算し、減算結果を非接触ICカード53に記録させることなどができる。
ところで、従来の非接触通信システム50では、コントローラ51は、リーダライタ52や非接触ICカード53が各コマンドに応じた処理を実行するために要する時間を把握することができなかった。
したがって、コントローラ51は、R/Wコマンドをリーダライタ52に送信した後、リーダライタ52からのリーダライタレスポンスを受信するまでの間、他の処理を実行することなく待機せざるを得なかった。このため、コントローラ51のリソースを有効に活用することができなかった。
また、リーダライタレスポンスを受信するまで待機している時間が所定の閾値を超えるとタイムアウトと判断し、R/Wコマンドを再度送信することになるが、この判断の基準となる閾値を適切に設定することができなかった。
したがって、コントローラ51とリーダライタ52の間、およびリーダライタ52と非接触ICカード53の間が半2重通信の場合、返信されたレスポンスと再送されたコマンドとが輻輳して通信エラーとなってしまうことが発生し得た。特に、リーダライタ52の内部でリトライ処理を行うコマンドで衝突する可能性があった。
このような事態を防ぐためには、結局、タイムアウトの判断基準となる閾値を必要、且つ十分に長い時間に設定することになるので、動作が遅いとの印象を利用者に与えてしまう要因となっていた。
本発明はこのような状況に鑑みてなされたものであり、コントローラがコマンドを再送信するまで待機すべき時間を正確に把握できるようにするものである。
本発明の第1の側面である通信装置は、コントローラからの制御に従って情報処理装置と通信を行う通信装置において、前記コントローラから送信された前記通信装置に対する第1のコマンドに従い、前記情報処理装置に対する第2のコマンドを生成して前記情報処理装置に送信する第1の通信手段と、前記第2のコマンドに応じて前記情報処理装置から送信された前記通信装置に対する第1のレスポンスに基づき、前記コントローラに対する第2のレスポンスを生成して前記コントローラに送信する第2の通信手段と、送信した前記第1のコマンドに対応する前記第2のレスポンスを受信できない前記コントローラが前記第1のコマンドを再送信するまで待機すべき総待機時間を算出する算出手段とを含み、前記算出手段は、前記第1の通信手段により、前記コントローラから送信された前記第1のコマンドに従って前記第2のコマンドが生成されて前記情報処理装置に送信されるまでに要する第1の時間と、前記情報処理装置により、前記第2のコマンドに応じて前記第1のレスポンスが前記通信装置に送信されるまでに要する第2の時間と、前記第2の通信手段により、前記第1のレスポンスに基づいて前記第2のレスポンスが生成されて前記コントローラに送信されるまでに要する第3の時間とを用いて前記総待機時間を算出する。
前記第2の通信手段は、前記第2のコマンドに応じて前記情報処理装置から送信された前記通信装置に対する第1のレスポンスに基づき、前記コントローラに対する第2のレスポンスを生成して待機し、前記コントローラからの所定の前記第1のコマンドに応じて、前記第2のレスポンスを前記コントローラに送信するようにすることができる。
前記算出手段は、前記第1の時間を測定するか、または理論式を用いて算出することにより前記第1の時間を取得し、前記情報処理装置から取得する製造パラメータに基づいて、前記第2の時間を算出し、前記第3の時間を測定するか、または理論式を用いて算出することにより前記第3の時間を取得するようにすることができる。
前記算出手段は、さらに、前記第2のコマンドを送信した後に対応する前記第1のレスポンスを受信できない場合に前記第2のコマンドを再送信するリトライ処理の回数も用いて前記総待機時間を算出し、前記リトライ処理の回数は、前記第1のコマンドに含まれるようにすることができる。
前記算出手段は、次式に基づいて前記総待機時間を算出するようにすることができる。
総待機時間
=(第1の時間+第2の時間)×(リトライ処理の回数+1)+第3の時間
総待機時間
=(第1の時間+第2の時間)×(リトライ処理の回数+1)+第3の時間
本発明の第1の側面である通信方法は、コントローラから送信された通信装置に対する第1のコマンドに従い、情報処理装置に対する第2のコマンドを生成して前記情報処理装置に送信する第1の通信手段と、前記第2のコマンドに応じて前記情報処理装置から送信された前記通信装置に対する第1のレスポンスに基づき、前記コントローラに対する第2のレスポンスを生成して前記コントローラに送信する第2の通信手段と、送信した前記第1のコマンドに対応する前記第2のレスポンスを受信できない前記コントローラが前記第1のコマンドを再送信するまで待機すべき総待機時間を算出する算出手段とを備える通信装置の通信方法において、前記算出手段による、前記第1の通信手段により、前記コントローラから送信された前記第1のコマンドに従って前記第2のコマンドが生成されて前記情報処理装置に送信されるまでに要する第1の時間と、前記情報処理装置により、前記第2のコマンドに応じて前記第1のレスポンスが前記通信装置に送信されるまでに要する第2の時間と、前記第2の通信手段により、前記第1のレスポンスに基づいて前記第2のレスポンスが生成されて前記コントローラに送信されるまでに要する第3の時間とを用いて前記総待機時間を算出するステップを含む。
本発明の第1の側面であるプログラムは、コントローラから送信された通信装置に対する第1のコマンドに従い、情報処理装置に対する第2のコマンドを生成して前記情報処理装置に送信する第1の通信手段と、前記第2のコマンドに応じて前記情報処理装置から送信された前記通信装置に対する第1のレスポンスに基づき、前記コントローラに対する第2のレスポンスを生成して前記コントローラに送信する第2の通信手段と
を備える通信装置の制御用のプログラムであって、前記第1の通信手段により、前記コントローラから送信された前記第1のコマンドに従って前記第2のコマンドが生成されて前記情報処理装置に送信されるまでに要する第1の時間と、前記情報処理装置により、前記第2のコマンドに応じて前記第1のレスポンスが前記通信装置に送信されるまでに要する第2の時間と、前記第2の通信手段により、前記第1のレスポンスに基づいて前記第2のレスポンスが生成されて前記コントローラに送信されるまでに要する第3の時間とを用いて、送信した前記第1のコマンドに対応する前記第2のレスポンスを受信できない前記コントローラが前記第1のコマンドを再送信するまで待機すべき総待機時間を算出するステップを含む処理を通信装置のコンピュータに実行させる。
を備える通信装置の制御用のプログラムであって、前記第1の通信手段により、前記コントローラから送信された前記第1のコマンドに従って前記第2のコマンドが生成されて前記情報処理装置に送信されるまでに要する第1の時間と、前記情報処理装置により、前記第2のコマンドに応じて前記第1のレスポンスが前記通信装置に送信されるまでに要する第2の時間と、前記第2の通信手段により、前記第1のレスポンスに基づいて前記第2のレスポンスが生成されて前記コントローラに送信されるまでに要する第3の時間とを用いて、送信した前記第1のコマンドに対応する前記第2のレスポンスを受信できない前記コントローラが前記第1のコマンドを再送信するまで待機すべき総待機時間を算出するステップを含む処理を通信装置のコンピュータに実行させる。
本発明の第1の側面においては、第1の通信手段により、コントローラから送信された第1のコマンドに従って第2のコマンドが生成されて情報処理装置に送信されるまでに要する第1の時間と、情報処理装置により、第2のコマンドに応じて第1のレスポンスが通信装置に送信されるまでに要する第2の時間と、第2の通信手段により、第1のレスポンスに基づいて第2のレスポンスが生成されてコントローラに送信されるまでに要する第3の時間とを用いて総待機時間が算出される。
本発明の第2の側面である通信システムは、コントローラと、前記コントローラからの制御に従って情報処理装置と通信を行う通信装置とから構成される通信システムにおいて、前記コントローラが、前記通信装置に対する第1のコマンドを送信する送信手段と、前記通信装置から送信された第2のレスポンスを受信する受信手段とを含み、前記送信手段は、送信した前記第1のコマンドに対応する前記第2のレスポンスを前記受信手段が受信できない場合、前記通信装置から通知される総待機時間だけ待機した後、前記第1のコマンドを再送信する。また、前記通信装置が、前記コントローラから送信された前記第1のコマンドに従い、前記情報処理装置に対する第2のコマンドを生成して前記情報処理装置に送信する第1の通信手段と、前記第2のコマンドに応じて前記情報処理装置から送信された前記通信装置に対する第1のレスポンスに基づき、前記第2のレスポンスを生成して前記コントローラに送信する第2の通信手段と、送信した前記第1のコマンドに対応する前記第2のレスポンスを受信できない前記コントローラが前記第1のコマンドを再送信するまで待機すべき総待機時間を算出する算出手段とを含み、前記算出手段は、前記第1の通信手段により、前記コントローラから送信された前記第1のコマンドに従って前記第2のコマンドが生成されて前記情報処理装置に送信されるまでに要する第1の時間と、前記情報処理装置により、前記第2のコマンドに応じて前記第1のレスポンスが前記通信装置に送信されるまでに要する第2の時間と、前記第2の通信手段により、前記第1のレスポンスに基づいて前記第2のレスポンスが生成されて前記コントローラに送信されるまでに要する第3の時間とを用いて前記総待機時間を算出する。
本発明の第2の側面においては、通信装置では、第1の通信手段により、コントローラから送信された第1のコマンドに従って第2のコマンドが生成されて情報処理装置に送信されるまでに要する第1の時間と、情報処理装置により、第2のコマンドに応じて第1のレスポンスが通信装置に送信されるまでに要する第2の時間と、第2の通信手段により、第1のレスポンスに基づいて第2のレスポンスが生成されてコントローラに送信されるまでに要する第3の時間とを用いて総待機時間が算出されてコントローラに通知される。また、コントローラでは、送信した第1のコマンドに対応する第2のレスポンスが受信できない場合、通信装置から通知される総待機時間だけ待機した後、第1のコマンドが再送信される。
本発明の第1の側面によれば、コントローラに対して、コマンドを再送信するまで待機すべき正確な時間を通知することができる。
本発明の第2の側面によれば、コントローラがコマンドを再送信するまで待機すべき時間を正確に把握することができる。
以下、発明を実施するための最良の形態(以下、実施の形態と称する)について、図面を参照しながら詳細に説明する。
[実施の形態の構成例]
図1は、本実施の形態である通信システムの構成例を示している。
図1は、本実施の形態である通信システムの構成例を示している。
この通信システム10は、コントローラ11、リーダライタ(R/W)12、およびICカード13から構成される。
コントローラ11は、R/Wコマンドを用いてリーダライタ12を制御し、ICカード13に記録されているデータを取得する。また、コントローラ11は、R/Wコマンドを用いてリーダライタ12を制御し、ICカード13にデータを記録させる。
リーダライタ12は、コントローラ通信部21、データ処理部22、およびカード通信部24から構成される。
コントローラ通信部21は、コントローラ11から送信されたR/Wコマンドを受信し、そのパケットのフレーム構造を確認するとともに、暗号化されているR/Wコマンドを復号してデータ処理部22に出力する。また、コントローラ通信部21は、データ処理部22から入力された、データ処理部22の処理結果を暗号化し、さらにパケット化して、R/Wレスポンスとしてコントローラ11に送信する。
データ処理部22は、内蔵されたメモリ23に記録されているプログラムを実行することにより、以下の動作を行う。すなわち、データ処理部22は、コントローラ11からのR/Wコマンドがリーダライタ52の内部で閉じた処理を指示するものである場合、当該処理を実行し、その処理結果をコントローラ通信部21に出力する。また、データ処理部22は、コントローラ11からのR/WコマンドがICカード13との通信を伴う処理を指示するものである場合、対応するコマンドを発生してカード通信部24に出力する。さらに、データ処理部22は、カード通信部24から入力される、ICカード13からのレスポンスをコントローラ通信部21に出力する。
またさらに、データ処理部22は、カードコマンド送信処理に要する時間を計測したり、カードアクセスレスポンス生成処理に要する時間を算出したり、リトライ時の待機時間(トータルウェイトタイム)を算出したりする。
なお、カードコマンド送信処理に要する時間を計測する代わりに、所定の条件の下で論理値を算出するようにしてもよい。また、カードアクセスレスポンス生成処理に要する時間を算出する代わりに、所定の条件の下で計測した実測値を採用するようにしてもよい。
ここで、カードコマンド送信処理とは、カード通信部24にてカードコマンドを生成してICカード13に送信するまでの処理を指す。カードアクセスレスポンス生成処理とは、ICカード13から送信されたカードレスポンスを元にしてR/Wレスポンスを生成し、コントローラ11に送信するまでの処理を指す。
カード通信部24は、データ処理部22から入力されるコマンドを暗号化し、さらにパケット化することによりカードコマンドを生成してICカード13に送信する。また、カード通信部24は、ICカード13から送信されるカードレスポンスを受信し、そのパケットのフレーム構造を確認するとともに、暗号化されているカードコマンドを復号してデータ処理部22に出力する。
ICカード13は、リーダライタ12からのカードコマンドに応じた処理を実行することにより、例えば、記憶しているデータをリーダライタ12に送信したり、リーダライタ12から送信されたデータを記憶したりする。
ICカード13には、製造ID(IDm)と製造パラメータ(PMm)からなる製造IDブロックが予め記憶されている。製造IDは、各ICカード13に固有に付与されている識別情報である。製造パラメータには、ICカード13のバージョン情報と、コマンド処理時間を示す情報が含まれる。
なお、ICカード13は、リーダライタ12と非接触で通信する非接触ICカードであってもよいし、またはリーダライタ12と接触して通信する磁気ICカードなどであってもよい。さらに、ICカード13の代わりに、ICカード13と同等のICチップが内蔵された携帯電話機などを用いてもよい。
[動作説明]
次に、通信システム10の基本的な一連の動作について説明する。図2は、通信システム10の基本的な一連の動作を説明するタイミングチャートである。
次に、通信システム10の基本的な一連の動作について説明する。図2は、通信システム10の基本的な一連の動作を説明するタイミングチャートである。
なお、図2に示される一連の動作の前提として、既にコントローラ11とリーダライタ12との相互認証処理が完了し、さらに、リーダライタ12によるポーリング処理に応じてICカード13からレスポンスが返されているものとする。また、このレスポンスには、ICカード13の製造パラメータ(PMm)が含まれているものとする。
ポーリング処理が完了したことを確認したコントローラ11は、カードアクセスコマンド(R/Wコマンド)をリーダライタ12に送信する(ステップS1)。このカードアクセスコマンドには、ICカード13からのレスポンスが受信できない場合に再びカードコマンドを送信するリトライ処理の回数を示すリトライ回数が含まれているものとする。
カードアクセスコマンド(R/Wコマンド)を受信したリーダライタ12は、パース処理を実行する(ステップS11)。
具体的には、リーダライタ12のコントローラ通信部21が、コントローラ11から送信されたカードアクセスコマンド(R/Wコマンド)のフレーム構造を確認するとともに、その暗号を復号してデータ処理部22に出力する。データ処理部22は、コントローラ11からのカードアクセスコマンドに対応するコマンドを発生してカード通信部24に出力する。
さらに、データ処理部22は、ポーリング処理時に取得しているICカード13の製造パラメータを参照することにより、リーダライタ12から送信されるカードコマンドに応じてICカード13がレスポンスを返すまでに要する時間であるカードレスポンス最大応答待ち時間を算出する。なお、製造パラメータを参照してもカードレスポンス最大応答待ち時間が算出できないカードコマンドが送信される場合や、製造パラメータが取得できていない場合には、カードレスポンス最大応答待ち時間を、想定されている上限の値とする。
パース処理の後、リーダライタ12はカードコマンド送信処理を行う(ステップS12)。
具体的には、リーダライタ12のカード通信部24が、データ処理部22から入力されたコマンドを暗号化し、さらにパケット化することによりカードコマンドを生成してICカード13に送信する。なお、カード通信部24によってカードコマンド送信処理が行われている間、データ処理部22は、カードコマンド送信処理に要した時間(以下、カードコマンド送信処理時間と称する)を計測する。
カードコマンド送信処理の後、リーダライタ12は、トータルウェイトタイム(Total Wait Time)を算出し、acceptedパケットとしてコントローラ11に送信する(ステップS13)。
具体的には、リーダライタ12のデータ処理部22が、次式(1)に従い、ステップS11のパース処理で算出したカードレスポンス最大応答待ち時間に、ステップS12で計測したカードコマンド送信処理時間を加算してカードウェイトタイム(Card Wait Time)を算出する。
カードウェイトタイム
=カードレスポンス最大応答待ち時間+カードコマンド送信処理時間
・・・(1)
カードウェイトタイム
=カードレスポンス最大応答待ち時間+カードコマンド送信処理時間
・・・(1)
さらに、データ処理部22が、次式(2)に従い、リトライ回数に1を加算した数を、カードウェイトタイムに乗算し、さらに、カードアクセスレスポンス生成時間を加算してトータルウェイトタイムを算出する。
トータルウェイトタイム
=カードウェイトタイム×(リトライ回数+1)+カードアクセスレスポンス生成時間
・・・(2)
トータルウェイトタイム
=カードウェイトタイム×(リトライ回数+1)+カードアクセスレスポンス生成時間
・・・(2)
なお、カードアクセスレスポンス生成時間は、ICカード13からのレスポンスのデータ長によって異なるが、ICカード13からのレスポンスのデータ長が想定の最大長であるものとして算出する。
そして、データ処理部22が、算出したトータルウェイトタイムをコントローラ通信部21に出力し、コントローラ通信部21がこれをacceptedパケット化してコントローラ11に送信する。
なお、リーダライタ12がカードコマンド送信処理によってカードコマンドを送信してからカードウェイトタイムが経過してもICカード13からカードレスポンスが送信されてこない場合、リーダライタ12は、再びカードコマンド送信処理を実行してカードコマンドを送信することになる(ステップS14)。
そして、リーダライタ12からのカードコマンドに応じ、ICカード13がカードレスポンスを送信し(ステップS21)、これをリーダライタ12が受信すると、リーダライタ12は、カードアクセスレスポンス生成処理を実行する(ステップS15)。具体的には、カード通信部24がカードレスポンスを受信すると、それがデータ処理部22に出力される。データ処理部22は、カードレスポンスをコントローラ通信部21に出力する。コントローラ通信部21は、データ処理部22から入力されたカードレスポンスを暗号化し、さらにパケット化して、カードアクセスレスポンス(R/Wレスポンス)としてコントローラ11に送信する。
一方、コントローラ11は、リーダライタ12が送信したトータルウェイトタイムを示すacceptedパケットを受信した後、トータルウェイトタイムが経過してもリーダライタ12からカードアクセスレスポンスが送信されてこない場合、再びカードアクセスコマンドを送信するようにする。
以上で、通信システム10による一連の動作の説明を終了する。
以上説明したように、通信システム10においては、リーダライタ12が、カードウェイトタイムをリトライの判断基準とし、コントローラ11が、カードウェイトタイムに基づき、リトライ回数を考慮して算出されたトータルウェイトタイムをリトライの判断基準とする。これにより、コントローラ11の待機時間を適切に設定することができる。
[変形例]
ところで、上述した一連の動作では、ICカード13からのカードレスポンスを受信した場合、リーダライタ12は、これを元にしてカードアクセスレスポンスを生成し、自発的にコントローラ11に送信するようになされていた。
ところで、上述した一連の動作では、ICカード13からのカードレスポンスを受信した場合、リーダライタ12は、これを元にしてカードアクセスレスポンスを生成し、自発的にコントローラ11に送信するようになされていた。
以下に説明する一連の動作の変形例では、ICカード13からのカードレスポンスを受信した場合、リーダライタ12は、これを元にしてカードアクセスレスポンスを生成して待機し、コントローラ11からの要求に応じて、カードアクセスレスポンスをコントローラ11に送信するようにする。
具体的に説明する。図3は、通信システム10による一連の動作の変形例を説明するタイミングチャートである。
なお、図3に示される一連の動作の変形例も、図2に示された一連の動作と同様、既にコントローラ11とリーダライタ12との相互認証処理が完了し、さらに、リーダライタ12によるポーリング処理に応じてICカード13からレスポンスが返されていることを前提とする。また、このレスポンスには、ICカード13の製造パラメータ(PMm)が含まれているものとする。
ポーリング処理が完了したことを確認したコントローラ11は、プレーンメッセージ(ゲットキーバージョン(Get Key Version))コマンド(R/Wコマンド)をリーダライタ12に送信する(ステップS51)。
プレーンメッセージ(Plain Message)コマンド(R/Wコマンド)を受信したリーダライタ12は、パース処理を実行し、パース処理の後、カードコマンド送信処理を行う(ステップS61)。
カードコマンド送信処理の後、リーダライタ12は、トータルウェイトタイム(Total Wait Time)を算出し、acceptedパケットとしてコントローラ11に送信する(ステップS62)。
そして、リーダライタ12からのゲットキーバージョンコマンド(カードコマンド)に応じ、ICカード13がゲットキーバージョンレスポンス(カードレスポンス)を送信し(ステップS71)、これをリーダライタ12が受信すると、リーダライタ12は、カードアクセスレスポンスを生成する。具体的には、ゲットキーバージョンレスポンスを元にしてプレーンメッセージレスポンスを生成する。ただし、生成したプレーンメッセージレスポンスの送信は行わずに待機する。
一方、コントローラ11は、リーダライタ12からのacceptedパケットを受信した後、ゲットラストパケット(Get Last Packet)コマンド(R/Wコマンド)をリーダライタ12に送信する(ステップS52)。なお、ゲットラストパケットコマンドの送信タイミングは、通常、リーダライタ12からのacceptedパケットを受信し、それが示すトータルウェイトタイムが経過した後であるが、それ以前に送信してもよい。
コントローラ11からのゲットラストパケットコマンドに応じ、リーダライタ12は、既に生成済みのプレーンメッセージレスポンスをコントローラ11に送信する(ステップS63)。
なお、リーダライタ12は、コントローラ11からゲットラストパケットコマンド(R/Wコマンド)を受信した段階で、IC13からのカードレスポンスを受信していない場合、トータルウェイトタイムを示すacceptedパケットをコントローラ11に再送信することになる。
その後、コントローラ11が再びゲットラストパケットコマンド(R/Wコマンド)をリーダライタ12に送信すると(ステップS53)、これに応じて、リーダライタ12は、先ほど送信した、既に生成済みのプレーンメッセージレスポンスをコントローラ11に再び送信することになる(ステップS64)。
以上説明したように、通信システム10の一連の動作の変形例においては、リーダライタ12は、ICカード13からのカードレスポンスを受信した場合、これを元にしてカードアクセスレスポンスを生成して待機する。そして、コントローラ11からの要求(ゲットラストパケットコマンド)に応じ、カードアクセスレスポンスをコントローラ11に送信する。
これにより、コントローラ11は、リーダライタ12からカードアクセスレスポンスが送信されてくるまで待機する必要がなくなり、任意のタイミングでカードアクセスレスポンスを取得することができる。
[応用例]
図4は、図3に示された一連の動作の変形例を、1台のコントローラ11により、複数のリーダライタ12を制御する場合に応用した場合の動作を説明するタイミングチャートである。
図4は、図3に示された一連の動作の変形例を、1台のコントローラ11により、複数のリーダライタ12を制御する場合に応用した場合の動作を説明するタイミングチャートである。
同図に示すように、1台のコントローラ11が、3台のリーダライタ12に対してそれぞれR/Wコマンドを送信すると、各リーダライタ12から、トータルウェイトタイムを示すacceptedパケットがコントローラ11に送信される。
この後、コントローラ11が、各リーダライタ12から通知されたトータルウェイトタイムが経過した後、各リーダライタ12に対してゲットラストパケットコマンドを送信すれば、各リーダライタ12からのR/Wレスポンスを、輻輳を生じさせることなく取得することができる。
よって、1台のコントローラ11によって複数のリーダライタ12を並行して制御することが可能となる。
なお、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のコンピュータなどに、プログラム記録媒体からインストールされる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、プログラムは、1台のコンピュータにより処理されるものであってもよいし、複数のコンピュータによって分散処理されるものであってもよい。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであってもよい。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
10 通信システム, 11 コントローラ, 12 リーダライタ, 13 ICカード, 21 コントローラ通信部, 22 データ処理部, 23 メモリ, 24 カード通信部
Claims (8)
- コントローラからの制御に従って情報処理装置と通信を行う通信装置において、
前記コントローラから送信された前記通信装置に対する第1のコマンドに従い、前記情報処理装置に対する第2のコマンドを生成して前記情報処理装置に送信する第1の通信手段と、
前記第2のコマンドに応じて前記情報処理装置から送信された前記通信装置に対する第1のレスポンスに基づき、前記コントローラに対する第2のレスポンスを生成して前記コントローラに送信する第2の通信手段と、
送信した前記第1のコマンドに対応する前記第2のレスポンスを受信できない前記コントローラが前記第1のコマンドを再送信するまで待機すべき総待機時間を算出する算出手段と
を含み、
前記算出手段は、
前記第1の通信手段により、前記コントローラから送信された前記第1のコマンドに従って前記第2のコマンドが生成されて前記情報処理装置に送信されるまでに要する第1の時間と、
前記情報処理装置により、前記第2のコマンドに応じて前記第1のレスポンスが前記通信装置に送信されるまでに要する第2の時間と、
前記第2の通信手段により、前記第1のレスポンスに基づいて前記第2のレスポンスが生成されて前記コントローラに送信されるまでに要する第3の時間と
を用いて前記総待機時間を算出する
通信装置。 - 前記第2の通信手段は、前記第2のコマンドに応じて前記情報処理装置から送信された前記通信装置に対する第1のレスポンスに基づき、前記コントローラに対する第2のレスポンスを生成して待機し、前記コントローラからの所定の前記第1のコマンドに応じて、前記第2のレスポンスを前記コントローラに送信する
請求項1に記載の通信装置。 - 前記算出手段は、
前記第1の時間を測定するか、または理論式を用いて算出することにより前記第1の時間を取得し、
前記情報処理装置から取得する製造パラメータに基づいて、前記第2の時間を算出し、
前記第3の時間を測定するか、または理論式を用いて算出することにより前記第3の時間を取得する
請求項2に記載の通信装置。 - 前記算出手段は、さらに、
前記第2のコマンドを送信した後に対応する前記第1のレスポンスを受信できない場合に前記第2のコマンドを再送信するリトライ処理の回数も用いて前記総待機時間を算出し、
前記リトライ処理の回数は、前記第1のコマンドに含まれる
請求項2に記載の通信装置。 - 前記算出手段は、次式に基づいて前記総待機時間を算出する
総待機時間
=(第1の時間+第2の時間)×(リトライ処理の回数+1)+第3の時間
請求項4に記載の通信装置。 - コントローラから送信された通信装置に対する第1のコマンドに従い、情報処理装置に対する第2のコマンドを生成して前記情報処理装置に送信する第1の通信手段と、
前記第2のコマンドに応じて前記情報処理装置から送信された前記通信装置に対する第1のレスポンスに基づき、前記コントローラに対する第2のレスポンスを生成して前記コントローラに送信する第2の通信手段と、
送信した前記第1のコマンドに対応する前記第2のレスポンスを受信できない前記コントローラが前記第1のコマンドを再送信するまで待機すべき総待機時間を算出する算出手段と
を備える通信装置の通信方法において、
前記算出手段による、
前記第1の通信手段により、前記コントローラから送信された前記第1のコマンドに従って前記第2のコマンドが生成されて前記情報処理装置に送信されるまでに要する第1の時間と、
前記情報処理装置により、前記第2のコマンドに応じて前記第1のレスポンスが前記通信装置に送信されるまでに要する第2の時間と、
前記第2の通信手段により、前記第1のレスポンスに基づいて前記第2のレスポンスが生成されて前記コントローラに送信されるまでに要する第3の時間と
を用いて前記総待機時間を算出する
ステップを含む通信方法。 - コントローラから送信された通信装置に対する第1のコマンドに従い、情報処理装置に対する第2のコマンドを生成して前記情報処理装置に送信する第1の通信手段と、
前記第2のコマンドに応じて前記情報処理装置から送信された前記通信装置に対する第1のレスポンスに基づき、前記コントローラに対する第2のレスポンスを生成して前記コントローラに送信する第2の通信手段と
を備える通信装置の制御用のプログラムであって、
前記第1の通信手段により、前記コントローラから送信された前記第1のコマンドに従って前記第2のコマンドが生成されて前記情報処理装置に送信されるまでに要する第1の時間と、
前記情報処理装置により、前記第2のコマンドに応じて前記第1のレスポンスが前記通信装置に送信されるまでに要する第2の時間と、
前記第2の通信手段により、前記第1のレスポンスに基づいて前記第2のレスポンスが生成されて前記コントローラに送信されるまでに要する第3の時間と
を用いて、送信した前記第1のコマンドに対応する前記第2のレスポンスを受信できない前記コントローラが前記第1のコマンドを再送信するまで待機すべき総待機時間を算出する
ステップを含む処理を通信装置のコンピュータに実行させるプログラム。 - コントローラと、前記コントローラからの制御に従って情報処理装置と通信を行う通信装置とから構成される通信システムにおいて、
前記コントローラは、
前記通信装置に対する第1のコマンドを送信する送信手段と、
前記通信装置から送信された第2のレスポンスを受信する受信手段と
を含み、
前記送信手段は、送信した前記第1のコマンドに対応する前記第2のレスポンスを前記受信手段が受信できない場合、前記通信装置から通知される総待機時間だけ待機した後、前記第1のコマンドを再送信し、
前記通信装置は、
前記コントローラから送信された前記第1のコマンドに従い、前記情報処理装置に対する第2のコマンドを生成して前記情報処理装置に送信する第1の通信手段と、
前記第2のコマンドに応じて前記情報処理装置から送信された前記通信装置に対する第1のレスポンスに基づき、前記第2のレスポンスを生成して前記コントローラに送信する第2の通信手段と、
送信した前記第1のコマンドに対応する前記第2のレスポンスを受信できない前記コントローラが前記第1のコマンドを再送信するまで待機すべき総待機時間を算出する算出手段と
を含み、
前記算出手段は、
前記第1の通信手段により、前記コントローラから送信された前記第1のコマンドに従って前記第2のコマンドが生成されて前記情報処理装置に送信されるまでに要する第1の時間と、
前記情報処理装置により、前記第2のコマンドに応じて前記第1のレスポンスが前記通信装置に送信されるまでに要する第2の時間と、
前記第2の通信手段により、前記第1のレスポンスに基づいて前記第2のレスポンスが生成されて前記コントローラに送信されるまでに要する第3の時間と
を用いて前記総待機時間を算出する
通信システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009187044A JP2011039810A (ja) | 2009-08-12 | 2009-08-12 | 通信装置、通信方法、プログラム、および通信システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009187044A JP2011039810A (ja) | 2009-08-12 | 2009-08-12 | 通信装置、通信方法、プログラム、および通信システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011039810A true JP2011039810A (ja) | 2011-02-24 |
Family
ID=43767509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009187044A Withdrawn JP2011039810A (ja) | 2009-08-12 | 2009-08-12 | 通信装置、通信方法、プログラム、および通信システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011039810A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013045424A (ja) * | 2011-08-26 | 2013-03-04 | Jr East Mechatronics Co Ltd | 読書装置、制御方法、及びプログラム |
WO2018105260A1 (ja) * | 2016-12-09 | 2018-06-14 | ソニー株式会社 | 情報処理装置、および中継装置 |
-
2009
- 2009-08-12 JP JP2009187044A patent/JP2011039810A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013045424A (ja) * | 2011-08-26 | 2013-03-04 | Jr East Mechatronics Co Ltd | 読書装置、制御方法、及びプログラム |
WO2018105260A1 (ja) * | 2016-12-09 | 2018-06-14 | ソニー株式会社 | 情報処理装置、および中継装置 |
JPWO2018105260A1 (ja) * | 2016-12-09 | 2019-10-24 | ソニー株式会社 | 情報処理装置、および中継装置 |
TWI753052B (zh) * | 2016-12-09 | 2022-01-21 | 日商索尼股份有限公司 | 資訊處理裝置及中繼裝置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8291085B2 (en) | Value information transfer system and value information transfer method | |
JP6668611B2 (ja) | プログラム、情報処理装置、及び情報処理システム | |
KR20150083405A (ko) | 모바일 단말기를 화상형성장치에 사용 등록하는 방법 및 이를 이용한 화상형성장치, 모바일 단말기의 사용 등록을 요청하는 방법 및 이를 이용한 모바일 단말기 | |
JP2012123591A5 (ja) | ||
US20110113477A1 (en) | Information processing apparatus, information providing server, program, communication system, and login information providing server | |
JP6388375B2 (ja) | 情報処理装置及びその制御方法 | |
JP2006172051A (ja) | カードリーダ | |
TWI592876B (zh) | 行動裝置、驗證裝置及其驗證方法 | |
US7800517B2 (en) | Information processing apparatus, information processing method, and computer program | |
JP2011039810A (ja) | 通信装置、通信方法、プログラム、および通信システム | |
CN104933379B (zh) | 身份证信息获取方法、装置及系统 | |
JP2019138145A5 (ja) | 情報処理システム、及びその制御方法、プログラム | |
US8259946B2 (en) | Communication apparatus, reader/writer, communication system, and communication method | |
CN104850873A (zh) | 通信设备及其控制方法和信息处理设备及其控制方法 | |
US9400888B1 (en) | Systems and methods for mitigating effects of an unresponsive secure element during link establishment | |
JP2007086957A (ja) | 情報処理システム,クライアント装置,サーバ装置,情報処理方法,およびコンピュータプログラム | |
JP4049199B1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
KR101639865B1 (ko) | 카드 단말기 및 그를 이용한 결제 정보 처리 방법 | |
JP4534124B2 (ja) | 通信システム、情報処理装置、情報処理端末、情報処理方法、記録媒体、並びにプログラム | |
WO2017166056A1 (zh) | 充值方法 | |
JP2009134608A (ja) | 認証システム、認証方法および入退場管理システム | |
WO2010113284A1 (ja) | 情報機器管理システム、情報機器及び情報機器管理方法 | |
JP6613083B2 (ja) | 電子機器および制御方法 | |
JP2006338306A (ja) | 非接触icチップを利用した大量データ転送システムおよび方法 | |
JP4315091B2 (ja) | 非接触通信システムおよび非接触通信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20121106 |