説明

非接触ICカード読取装置および通信方法

【課題】非接触ICカード読取装置が複数種類の非接触ICカードと通信する場合において、それぞれの非接触ICカードの応答性が低下することを抑制する。
【解決手段】非接触ICカード読取装置100は、複数種類の非接触ICカードと通信可能な装置である。この非接触ICカード読取装置100は、複数種類の非接触ICカードにそれぞれ対応する複数種類の応答要求信号を送信する送信部と、複数種類の非接触ICカードのうち、応答要求信号を受信した非接触ICカードから返信された応答信号を受信する受信部と、応答信号の受信の状況に基づいて、複数種類の応答要求信号のうち、送信部が送信する応答要求信号の種類を少なくとも決定する制御部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、非接触ICカードと通信を行って、非接触ICカードに記憶されたデータを読み取る非接触ICカード読取装置に関する。
【背景技術】
【0002】
近年、入室管理システムや自動改札システム、個人認証システム、決済システムなどの種々のシステムにおいて、非接触ICカードの利用が進められている。このようなシステムに用いられる非接触ICカードには様々な種類が存在しており、例えば、種類によって、無線の変調方式や通信速度、符号化方式などが異なる。そのため、従来は、システムで利用される非接触ICカードの種類に応じて、その非接触ICカードと通信可能な非接触ICカード読取装置を個別に用意する必要があった。
【0003】
しかし、非接触ICカードの種類毎に個別に非接触ICカード読取装置を用意する場合には、システムにおいて利用する非接触ICカードの種類を変更しようとすると、新たにその種類に対応する非接触ICカード読取装置を設置する必要があり、そのための導入コストが嵩むという問題があった。
【0004】
このような問題に対処するため、例えば、特許文献1には、複数種類の非接触ICカードと通信可能な非接触式ICカードリーダライタが開示されている。この装置では、複数種類の非接触ICカードのそれぞれに対応したポーリング信号を順次送信することで、複数種類の非接触ICカードとの通信を可能としている。
【0005】
ところが、特許文献1に記載の装置では、異なる種類のポーリング信号を一定の順序でサイクリックに送信しているにすぎないため、1種類の非接触ICカードのみと通信可能な装置に比べて、非接触ICカードの応答速度が遅く感じられる場合があるという問題があった。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2001−143023号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
このような問題を考慮し、本発明が解決しようとする課題は、非接触ICカード読取装置が複数種類の非接触ICカードと通信する場合において、それぞれの非接触ICカードの応答性が低下することを抑制することにある。
【課題を解決するための手段】
【0008】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【0009】
[適用例1]複数種類の非接触ICカードと通信可能な非接触ICカード読取装置であって、前記複数種類の非接触ICカードにそれぞれ対応する複数種類の応答要求信号を送信する送信部と、前記複数種類の非接触ICカードのうち、前記応答要求信号を受信した非接触ICカードから返信された応答信号を受信する受信部と、前記応答信号の受信の状況に基づいて、前記複数種類の応答要求信号のうち、前記送信部が送信する前記応答要求信号の種類を少なくとも決定する制御部と、を備える非接触ICカード読取装置。
【0010】
このような構成の非接触ICカード読取装置であれば、非接触ICカードから返信された応答信号の受信状況に基づいて、非接触ICカードに対して送信する応答要求信号の種類を適応的に決定することができる。そのため、非接触ICカード読取装置が複数種類の非接触ICカードと通信する場合において、それぞれの非接触ICカードの応答性が低下することを抑制することが可能になる。
【0011】
[適用例2]適用例1に記載の非接触ICカード読取装置であって、前記制御部は、前記応答信号の受信の状況に基づいて、前記複数種類の応答要求信号のうち、前記送信部が送信する前記応答要求信号の種類と該種類毎の前記応答要求信号の送信の頻度とを決定する、非接触ICカード読取装置。
【0012】
このような構成であれば、非接触ICカードに対して送信する応答要求信号の種類だけではなく、応答要求信号の種類毎の送信の頻度を、応答信号の受信の状況に基づいて適応的に決定することができる。そのため、非接触ICカード読取装置が複数種類の非接触ICカードと通信する場合において、それぞれの非接触ICカードの応答性が低下することを、より効果的に抑制することが可能になる。
【0013】
[適用例3]適用例2に記載の非接触ICカード読取装置であって、前記制御部は、更に、前記決定された応答要求信号の種類と頻度とに応じて、前記送信部が前記応答要求信号を送信する順序を決定し、前記送信部は、前記順序に従って前記複数種類の応答要求信号を送信する、非接触ICカード読取装置。
【0014】
このような構成であれば、送信部は、制御部によって決定された順序に従って応答要求信号を送信すればよいので、処理を簡略化することができる。
【0015】
[適用例4]適用例3に記載の非接触ICカード読取装置であって、前記順序には、全ての種類の前記応答要求信号を送信する順序が固定的に定められた第1の部分と、送信を行う前記応答要求信号の順序が変更可能な第2の部分とが含まれ、前記制御部は、前記順序のうちの前記第2の部分について、前記送信部が送信する前記応答要求信号の順序を決定する、非接触ICカード読取装置。
【0016】
このような構成であれば、応答要求信号を送信する順序のうちの、第2の部分がどのように変更されたとしても、第1の部分によって全種類の応答要求信号を送信することができる。そのため、各種類の応答要求信号に対する応答信号の受信の状況を的確に捉えることが可能になる。
【0017】
[適用例5]適用例4に記載の非接触ICカード読取装置であって、前記制御部は、前記順序のうちの前記第1の部分において前記送信部が送信した前記応答要求信号に応じて返信された前記応答信号の受信の状況に基づいて、前記順序のうちの前記第2の部分について、前記送信部が送信する前記応答要求信号の順序を決定する、非接触ICカード読取装置。
【0018】
このような構成であれば、応答要求信号を送信する順序のうちの第1の部分のみによって応答信号の受信の状況を捉えればよいので、処理を簡略化することができる。
【0019】
[適用例6]適用例4または適用例5に記載の非接触ICカード読取装置であって、前記制御部は、更に、前記順序のうちの前記第2の部分において送信された前記応答要求信号に応じて前記応答信号の返信を受けた場合には、該応答信号を返信した前記非接触ICカードに対してデータの読取処理を行う、非接触ICカード読取装置。
【0020】
このような構成であれば、応答信号の受信の状況に基づいて、データの読取処理を行う対象の非接触ICカードの種類を決定することができる。
【0021】
[適用例7]適用例4ないし適用例6のいずれか一項に記載の非接触ICカード読取装置であって、前記制御部は、前記順序のうちの前記第1の部分において送信された前記応答要求信号に応じて前記応答信号の返信を受けた場合には、該応答信号を返信した前記非接触ICカードに対してデータの読取処理を行わない、非接触ICカード読取装置。
【0022】
このような構成であれば、前記順序の第1の部分では、応答信号の受信の状況を捉える処理だけを行えばよいので、処理を簡略化することができる。
【0023】
[適用例8]適用例2ないし適用例7のいずれか一項に記載の非接触ICカード読取装置であって、前記制御部は、前記非接触ICカードの種類毎に前記応答信号を受信した回数を計数し、該計数された前記非接触ICカードの種類毎の受信回数に応じて、前記送信部が送信する前記応答要求信号の種類と頻度とを決定する、非接触ICカード読取装置。
【0024】
このような構成であれば、各種類の非接触ICカードからの応答信号の受信の回数(頻度)に応じて、送信部が送信する応答要求信号の種類と頻度とが決定される。そのため、例えば、応答頻度の高い非接触ICカードの種類に対して、応答要求信号を送信する頻度を高めることなどができる。この結果、非接触ICカード読取装置が複数種類の非接触ICカードと通信する場合において、それぞれの非接触ICカードの応答性が低下することを、より効果的に抑制することが可能になる。
【0025】
[適用例9]適用例1に記載の非接触ICカード読取装置であって、前記送信部は、前記複数種類の応答要求信号のうち全ての種類の応答要求信号を送信し、その後、前記制御部にて決定された種類の応答要求信号を所定の回数送信し、前記制御部は、前記送信部によって送信された全ての種類の応答要求信号に応じて返信された応答信号の受信の状況に基づいて、前記送信部が送信する前記応答要求信号の種類を決定する、非接触ICカード読取装置。
【0026】
このような構成の非接触ICカード読取装置であれば、全ての種類の応答要求信号を送信した後に、応答のあった種類の非接触ICカードに対して優先的に応答要求信号を送信することができる。この結果、非接触ICカード読取装置が複数種類の非接触ICカードと通信する場合において、それぞれの非接触ICカードの応答性が低下することを、より効果的に抑制することが可能になる。
【0027】
なお、本発明は、上述した非接触ICカード読取装置としての構成のほか、非接触ICカードとの通信方法や、非接触ICカードと通信を行うためのコンピュータプログラムとしても構成することができる。コンピュータプログラムは、コンピュータが読取可能な記録媒体に記録されていてもよい。
【図面の簡単な説明】
【0028】
【図1】本発明の第1実施例としての非接触ICカード読取装置を備える入室管理システムの概略構成を示す説明図である。
【図2】ポーリング処理のフローチャートである。
【図3】メインルーチンのフローチャートである。
【図4】頻度決定処理の詳細なフローチャートである。
【図5】ログデータの一例を示す説明図である。
【図6】順序データの一例を示す説明図である。
【図7】順序データの更新の具体例を示す説明図である。
【図8】順序データ中にタイプ値Tを均等に配置する方法を示す説明図である。
【図9】カード捕捉処理のフローチャートである。
【図10】非接触ICカードの応答確認を行う他のタイミングを示す図である。
【図11】第2実施例において実行されるメインルーチンのフローチャートである。
【図12】第2実施例における順序データの初期状態を示す説明図である。
【図13】第2実施例において実行されるポーリング処理のフローチャートである。
【図14】第3実施例において実行されるメインルーチンのフローチャートである。
【図15】第3実施例において実行される対象決定処理のフローチャートである。
【図16】第3実施例において実行されるカード捕捉処理のフローチャートである。
【発明を実施するための形態】
【0029】
以下、本発明の実施の形態を、いくつかの実施例に基づいて次の順序で説明する。
A.第1実施例:
(A1)装置構成:
(A2)ポーリング処理の基本的な流れ:
(A3)メインルーチン:
(A4)頻度決定処理:
(A5)カード捕捉処理:
B.第2実施例:
C.第3実施例:
D.変形例:
【0030】
A.第1実施例:
(A1)装置構成:
図1は、本発明の実施例としての非接触ICカード読取装置100を備える入室管理システム10の概略構成を示す説明図である。入室管理システム10は、非接触ICカード20と通信を行う非接触ICカード読取装置100と、ドアロック解除装置200と、を備えている。非接触ICカード読取装置100とドアロック解除装置200とは、所定のインタフェース30によって接続されている。なお、以下では、非接触ICカード20のことを単に「ICカード20」といい、非接触ICカード読取装置100のことを「読取装置100」という。
【0031】
ICカード20には、入室管理システム10を利用する利用者に一意に割り当てられたID番号が記憶されている。読取装置100によって、ICカード20からID番号が読み取られると、そのID番号は、ドアロック解除装置200に転送される。ドアロック解除装置200は、読取装置100から受信したID番号と、予め内部に記憶されたID番号テーブル210とを照合する。そして、該当するID番号がID番号テーブル210に登録されている場合には、ドアロック機構220を制御してドアロックを解除する。
【0032】
読取装置100は、通信の規格が異なる複数種類(本実施例では3種類)のICカード20と通信することができる。以下では、規格の異なるICカードをそれぞれ、タイプ1カード21、タイプ2カード22、タイプ3カード23、という。本実施例において、これらのICカード21,22,23は、読取装置100との通信時における信号の符号化方式がそれぞれ異なっている。具体的には、タイプ1カード21が符号化方式としてモディファイドミラー方式を、タイプ2カード22がマンチェスター方式を、タイプ3カード23がNRZ方式を採用している。なお、本実施例では、これらのICカードは、それぞれ、符号化方式が異なることとしたが、無線の変調方式が異なることとしてもよいし、通信速度が異なることとしてもよい。また、符号化方式、変調方式、通信速度のすべてが異なることとしてもよい。その他にも、例えば、通信プロトコルやコマンド体系、搬送波の周波数、通信距離などが異なることとしてもよい。
【0033】
読取装置100は、制御部110と送信回路120と受信回路130とを備えている。送信回路120と受信回路130とには、ICカード20との無線通信に用いられる電波を送出するアンテナ140が接続されている。
【0034】
制御部110は、CPU112とRAM114とROM116とを備えるコンピュータとして構成されている。CPU112は、ROM116に記憶された制御プログラムに基づいて、後述する種々の処理を実行する。RAM114には、CPU112による制御プログラムの実行によってログデータ117と順序データ118とが記憶される。これらのデータの詳細については後述する。
【0035】
送信回路120は、アンテナ140を駆動して所定の通信距離範囲内に搬送波としての電波を送信する機能を備えている。送信回路120は、この電波を制御部110からの指令に応じて変調させることにより、各種信号をICカード20に送信する。
【0036】
受信回路130は、送信回路120によって送信された電波に重畳された信号をICカード20から受信する。そして、受信した信号を制御部110に伝達する。
【0037】
(A2)ポーリング処理の基本的な流れ:
図2は、読取装置100の制御部110が、ICカード20の応答を確認するために実行するポーリング処理のフローチャートである。本実施例の読取装置100は、複数種類のICカード20と通信可能であるが、ここでは、まず、ポーリング処理の基本的な流れを示すため、タイプ1カード21の応答を確認する場合のポーリング処理について説明する。
【0038】
ポーリング処理が開始されると、制御部110は、送信回路120を用いて所定の周波数(例えば、13.56MHz)の搬送波の送信を開始し、この搬送波を変調して、タイプ1カード21の符号化方式であるモディファイドミラー方式で符号化した応答要求信号を送信する(ステップS10)。
【0039】
応答要求信号を送信すると、制御部110は、受信回路130を介して、ICカード20からモディファイドミラー方式で符号化された応答信号を受信したかを判断する(ステップS12)。応答信号を受信した場合には、制御部110は、モディファイドミラー方式で符号化したリード信号を送信する(ステップS14)。そして、応答信号を送信したICカード20から、モディファイドミラー方式によって符号化されたデータ(ID番号)を受信し(ステップS16)、搬送波の送信を停止して当該ポーリング処理を終了する。
【0040】
上記ステップS12において、応答信号が受信されない場合には、制御部110は、応答要求信号の送信からの経過時間が所定の時間を超えたか(つまり、タイムアウトしたか)を判断する(ステップS18)。このタイムアウト時間は、ICカード20の種類毎に予め定められている。タイムアウトしていなければ、制御部110は、処理をステップS12に再度戻すことで、応答信号の受信を待つ。一方、タイムアウトすれば、ステップS14およびステップS16の処理をスキップし、搬送波の送信を停止して当該ポーリング処理を終了する。つまり、ステップS18においてタイムアウトした場合には、タイプ1カード21の応答が確認されなかったことになる。
【0041】
以上、タイプ1カード21に対するポーリング処理について説明したが、タイプ2カード22に対してポーリング処理を行う場合には、応答要求信号や応答信号、リード信号、データが、マンチェスター方式によって符号化される。また、タイプ3カード23に対してポーリング処理を行う場合には、これらの信号およびデータは、NRZ方式によって符号化される。タイプ2カード22やタイプ3カード23に対するポーリング処理の流れは、図2に示した流れと同様である。
【0042】
(A3)メインルーチン:
図3は、読取装置100の制御部110が、電源投入状態において繰り返し実行するメインルーチンのフローチャートである。このメインルーチンが開始されると、制御部110は、まず、ICカード20の応答の状況(より詳しくは、ICカード20の種類毎の応答の頻度)に応じて、それぞれの種類の非接触ICカード20に対してポーリングを行う頻度や順序を決定するための頻度決定処理を実行する(ステップS100)。そして、この頻度決定処理において決定された順序に基づいて、各種類のICカード20に対してポーリングを行うカード捕捉処理を実行する(ステップS200)。このメインルーチンは、概ね1秒に1回のサイクルで実行される。
【0043】
(A4)頻度決定処理:
図4は、メインルーチンのステップS100で実行される頻度決定処理の詳細なフローチャートである。この頻度決定処理が開始されると、制御部110は、送信回路120を介して搬送波の送信を開始し、タイプ1カード21の符号化方式であるモディファイドミラー方式で符号化した応答要求信号を送信する(ステップS105)。
【0044】
応答要求信号を送信すると、続いて、制御部110は、モディファイドミラー方式で符号化された応答信号を受信したかを判断する(ステップS110)。応答信号を受信した場合には、制御部110は、タイプ1カード21の応答を確認した旨を、RAM114内のログデータ117に記録する(ステップS115)。
【0045】
図5は、ログデータ117の一例を示す説明図である。ログデータ117には、各種類のICカード20の応答の状況が記録される。具体的には、このログデータ117には、当該頻度決定処理によって各種類のICカード20が応答した応答回数(図5では10回分)と、各応答回において応答が確認されたICカード20の種類とが記録される。応答が確認されたICカード20の種類には、各応答回に「1」という数値が対応付けられている。後述するカード捕捉処理では、このログデータ117の記録は行われないため、図5のログデータ117は、当該頻度決定処理のみによって記録される内容を示している。なお、上述したポーリング処理では、応答信号を受信したICカード20から、データの読み込みを行ったが(図2のステップS14,S16)、当該頻度決定処理では、ICカード20の応答が確認されてもデータの読み込みは行わない。データの読み込みは、後述するカード捕捉処理において行われる。
【0046】
上記ステップS110において、応答信号が受信されない場合には、制御部110は、応答要求信号の送信からの経過時間がタイムアウトしたかを判断する(ステップS120)。タイムアウトしていなければ、制御部110は、処理をステップS110に再度戻すことで、タイプ1カード21からの応答信号の受信を待つ。一方、タイムアウトすれば、ステップS115の処理をスキップする。
【0047】
続いて、制御部110は、タイプ2カード22の符号化方式であるマンチェスター方式で符号化した応答要求信号を送信する(ステップS125)。応答要求信号を送信すると、制御部110は、マンチェスター方式で符号化された応答信号を受信したかを判断する(ステップS130)。
【0048】
応答信号を受信した場合には、制御部110は、今回の頻度決定処理においてタイプ2カード22の応答を確認した旨を、ログデータ117に記録する(ステップS135)。これに対して、応答信号が受信されない場合には、制御部110は、応答要求信号の送信からの経過時間がタイムアウトしたかを判断する(ステップS140)。タイムアウトしていなければ、制御部110は、処理をステップS130に再度戻すことで、タイプ2カード22からの応答信号の受信を待つ。一方、タイムアウトすれば、ステップS135の処理をスキップする。
【0049】
続いて、制御部110は、タイプ3カード23の符号化方式であるNRZ方式で符号化した応答要求信号を送信する(ステップS145)。応答要求信号を送信すると、制御部110は、NRZ方式で符号化された応答信号を受信したかを判断する(ステップS150)。
【0050】
応答信号を受信した場合には、制御部110は、今回の頻度決定処理においてタイプ3カード23の応答を確認した旨を、ログデータ117に記録する(ステップS155)。これに対して、応答信号が受信されない場合には、制御部110は、応答要求信号の送信からの経過時間がタイムアウトしたかを判断する(ステップS160)。タイムアウトしていなければ、制御部110は、処理をステップS150に再度戻すことで、タイプ3カード23からの応答信号の受信を待つ。一方、タイムアウトすれば、ステップS155の処理をスキップする。
【0051】
以上の処理によって、全ての種類のICカード20に対する応答の確認が終了すると、制御部110は、ログデータ117を参照し、後述するカード捕捉処理において各種類のICカード20に対して実行するポーリング処理の頻度を算出する(ステップS165)。なお、以下では、「各種類のICカード20に対して実行するポーリング処理の頻度」のことを、単に「頻度」ともいう。制御部110は、ログデータ117に記録された「応答回数」の全回数で、各種類のICカード20毎の応答回数の合計をそれぞれ除算することでICカード20の種類毎の頻度の算出を行う。図5に示したログデータ117の場合には、全10回の応答回数のうち、タイプ1カード21が8回、タイプ2カード22が1回、タイプ3カード23が1回、応答しているので、頻度は、それぞれ、80%、10%、10%と算出される。こうしてそれぞれのICカード20に対するポーリング処理の頻度が算出されると、制御部110は、算出されたそれぞれの頻度に応じて、順序データ118を更新し(ステップS170)、当該頻度決定処理を終了する。
【0052】
図6は、順序データ118の一例を示す説明図である。順序データ118には、後述するカード捕捉処理においてポーリングを行う対象のICカード20の種類と順序とが記録されている。図中、矩形の枠内に「1」、「2」、「3」と示した値は、それぞれ、タイプ1カード21、タイプ2カード22、タイプ3カード23を示している。以下では、これらの値「1」、「2」、「3」を、「タイプ値T」という。図6に示した順序データ118によれば、後述するカード捕捉処理において、ポーリング処理が、タイプ1カード21、タイプ2カード22、タイプ3カード23の順で各4回ずつ、合計12回(N=12)実行されることになる。図6中に、「固定順序」と示した順序は、図4の頻度決定処理において、各種類のICカード20の応答確認を行う順序を示している。図3に示したように、本実施例のメインルーチンは、概ね1秒に1回のサイクルで実行される。そのため、図6に示した期間(固定順序+順序データ)は概ね1秒である。なお、図中、固定順序と示した部分が、本願出願当初の請求項に記載された「第1の部分」に相当し、「順序データ118」と示した部分が、「第2の部分」に相当する。
【0053】
図7は、順序データ118の更新の具体例を示す説明図である。図7(a)には、順序データ118の初期状態を示している。初期状態の順序データ118は、図6に示した順序データ118と同じである。図7(b)には、1回目の頻度決定処理において、タイプ1カード21からの応答があった場合の順序データ118の更新結果を示している。この場合には、全1回の応答回数においてタイプ1カード21の応答が1回、確認されているため、上記ステップS165における頻度の算出処理では、タイプ1カード21の頻度が100%、タイプ2カード22の頻度が0%、タイプ3カード23の頻度が0%と算出される。そのため、順序データ118には、全12回の順序すべてについて、タイプ値Tとして「1」が配置される。
【0054】
図7(c)には、2回目の頻度決定処理において、タイプ2カード22からの応答があった場合の順序データ118の更新結果を示している。この場合には、全2回の応答回数において、タイプ1カード21とタイプ2カード22とがそれぞれ1回ずつ応答しているため、上記ステップS165では、タイプ1カード21の頻度が50%、タイプ2カード22の頻度が50%、タイプ3カードの頻度が0%と算出される。そのため、順序データ118には、タイプ値Tとして、「1」と「2」とが、それぞれ6回ずつ均等に配置される。この結果、順序データ118は、例えば、「1,2,1,2,1,2,1,2,1,2,1,2」となる。
【0055】
図7(d)には、3回目の頻度決定処理において、タイプ1カード21からの応答があった場合の順序データ118の更新結果を示している。この場合には、全3回の応答回数において、タイプ1カード21が2回、タイプ2カード22が1回応答しているため、上記ステップS165では、タイプ1カード21の頻度が66.7%、タイプ2カード22の頻度が、33.3%、タイプ3カード23の頻度が0%と算出される。そのため、順序データ118には、全12回分の順序中、タイプ値Tとして、「1」が8回、「2」が4回登場するようにこれらの値が均等に配置される。この結果、順序データ118は、例えば、「1,1,2,1,1,2,1,1,2,1,1,2」となる。
【0056】
図7(e)には、4回目の頻度決定処理において、タイプ3カード23からの応答があった場合の順序データ118の更新結果を示している。この場合には、全4回の応答回数において、タイプ1カード21が2回、タイプ2カード22が1回、タイプ3カード23が1回応答しているため、上記ステップS165では、タイプ1カード21の頻度が50%、タイプ2カード22の頻度が25%、タイプ3カード23の頻度が25%と算出される。そのため、順序データ118には、全12回分の順序中、タイプ値Tとして、「1」が6回、「2」が3回、「3」が3回登場するようにこれらの値が均等に配置される。この結果、順序データ118は、例えば、「1,1,2,3,1,1,2,3,1,1,2,3」となる。
【0057】
図7(f)には、5〜10回目の頻度決定処理のすべてにおいて、タイプ1カード21からの応答があった場合の順序データ118の更新結果を示している。この場合には、全10回の応答回数において、タイプ1カード21が8回、タイプ2カード22が1回、タイプ3カード23が1回応答しているため、上記ステップS165では、タイプ1カード21の頻度が80%、タイプ2カード22の頻度が10%、タイプ3カード23の頻度が10%と算出される。そのため、順序データ118には、全12回分の順序中、タイプ値Tとして、「1」が10回、「2」が1回、「3」が1回登場するようにこれらの値が均等に配置される。この結果、順序データ118は、例えば、「1,1,1,1,1,1,1,1,2,3,1,1」となる。以上のように、順序データ118内に配置するタイプ値Tのそれぞれの個数は、各種類のICカード20の応答回数に応じて決定される。ただし、順序データ118に含まれるタイプ値Tの全個数(本実施例では12個)は、カード捕捉処理が一定の周期で実行されるように、一定に保つことが好ましい。
【0058】
図8は、順序データ118中にタイプ値Tを均等に配置する方法を示す説明図である。本実施例では、制御部110は、「最高平均方式」の考え方に基づく演算によって、順序データ118中に各タイプ値Tを配置する。具体的には、ICカード20の種類毎に算出された頻度をそれぞれ1から12(順序データ118に配置されるタイプ値Tの個数)で除算し、この除算によって得られた値を、タイプ値Tの全個数分、昇順に選択する。そして、選択した値に対応するタイプ値Tを、順番に順序データ118内に配置していく。こうすることで、順序データ118中に各タイプ値Tを均等に配置することが可能になる。図8(a)には、図7(e)に示した順序データ118にタイプ値Tを配置するための計算例を示し、図8(b)には、図7(f)に示した順序データ118にタイプ値Tを配置するための計算例を示した。
【0059】
以上で説明したように、本実施例では、頻度決定処理において算出されたそれぞれの頻度に比例した個数で、順序データ118内に各タイプ値Tの配置が行われる。本実施例では、更に、このようにしてタイプ値Tの配置された順序データ118に対して、これまでの頻度決定処理の中で1回でも応答があった種類のICカード20について、そのICカード20に対応するタイプ値Tを少なくとも1つ含ませる処理を行う(以下、かかる処理のことを「調整処理」という)。具体的には、頻度が0%超ではあるが、個数が1個未満と算出されたタイプ値Tを、最も多く順序データ118に含まれるタイプ値Tのいずれかと交換する処理を行う。こうすることで、滅多に利用されない種類のICカード20に対しても、必ずポーリング処理が実行されることになるため、滅多に利用されない種類のICカード20が利用できなくなることを防止することができる。
【0060】
(A5)カード捕捉処理:
図9は、上述した頻度決定処理に引き続いて実行されるカード捕捉処理のフローチャートである。このカード捕捉処理が実行されると、まず、制御部110は、順序データ118を参照する位置を表す「順序値N」を「1」に初期化する(ステップS205)。図6に示したように、「N=1」は、順序データ118の先頭の位置を示している。なお、本実施例では、順序値Nの最大値Nmaxは、「12」である。
【0061】
続いて、制御部110は、順序データ118の先頭からN個目に記録されたタイプ値Tを取得し(ステップS210)、取得したタイプ値Tが「1」であるかを判断する(ステップS215)。取得したタイプ値Tが「1」であれば、制御部110は、タイプ1カード21に対して、図2に示したポーリング処理を実行する(ステップS220)。これに対して、取得したタイプ値Tが「1」でなければ、制御部110は、取得したタイプ値Tが「2」であるかを判断する(ステップS225)。取得したタイプ値が「2」であれば、制御部110は、タイプ2カード22に対して、図2に示したポーリング処理を実行する(ステップS230)。
【0062】
本実施例では、順序データ118には、タイプ値Tとして、「1」、「2」、「3」のいずれかが記録されているため、上記ステップS210で取得されたタイプ値Tが「1」でも「2」でもない場合には、ステップS210で取得されたタイプ値Tは「3」になる。そのため、ステップS225においてタイプ値Tが「2」ではないと判断された場合には、制御部110は、タイプ3カード23に対して、図2に示したポーリング処理を実行する(ステップS235)。
【0063】
以上の処理によって、タイプ1カード21、タイプ2カード22、タイプ3カード23のいずれかに対してタイプ値Tに応じたポーリング処理を実行すると、制御部110は、順序値Nに「1」を加算する(ステップS240)。そして、加算後の順序値Nが、順序値Nの最大値Nmax以下であるかを判断する(ステップS245)。順序値Nが最大値Nmax以下であれば、処理をステップS210に戻す。こうすることで、順序データ118に記録されたすべてのタイプ値Tに応じて、各種類のICカード20にポーリング処理が実行される。一方、順序値Nが最大値Nmaxを超えれば、制御部110は、当該カード捕捉処理を終了する。
【0064】
以上で説明した第1実施例の読取装置100は、カード捕捉処理に先立って実行される頻度決定処理において各ICカード20の応答の頻度を把握し、このICカード20毎の応答の頻度に応じて、カード捕捉処理において実際にポーリングを行うICカード20の種類や種類毎の頻度、ポーリングの順序を適応的に決定する。そのため、例えば、応答頻度の低いICカード20よりも、応答頻度の高いICカード20に対して多くのポーリングを行うことができる。この結果、読取装置100が複数種類のICカード20と通信する場合において、それぞれのICカード20の応答性が一律に低下してしまうことを抑制することが可能になる。
【0065】
また、本実施例では、カード捕捉処理時(より具体的にはポーリング時)に、ログデータ117や順序データ118の更新処理および頻度の算出処理を行わない。そのため、ポーリング処理の際に、リード処理等の本来の処理以外に時間を要することがない。この結果、読取装置100の処理速度を向上させることができるので、ICカード20の応答性を向上させることが可能になる。
【0066】
なお、本実施例では、図6中に「固定順序」と示したように、全ての種類のICカード20に対する応答確認を、カード捕捉処理の実行に先立って行っている。しかし、この応答確認は、全ての種類のICカード20に対して行いさえすればよく、そのタイミングは任意である。例えば、図10(a)に「固定順序」と示したタイミングのように、順序データ118を2つに区分するようなタイミングで行ってもよい。また、図10(b)に「固定順序」と示したタイミングのように、順序データ118中に分散するようなタイミングで行ってもよい。いずれのタイミングにおいても、制御部110は、全種類のICカード20に対する応答確認が終了した時点で、頻度の算出や順序データ118の更新を行えばよい。図10(a)や図6のように、各ICカード20に対する応答確認をまとめて行えば、図4に示したような一連の頻度決定処理によって頻度の算出や順序データ118の更新を行うことができる。そのため応答を確認するための処理とポーリングを行うための処理とを頻繁に切り換える必要がないので、処理を簡略化することができる。また、応答確認を分散したタイミングで実行すれば、ICカード20からのデータの読み取りが行われない期間が順序データ118中のある部分に集中することがない。そのため、ICカード20の応答性が低下することをより抑制することができる。例えば、応答確認を分散したタイミングで実行すれば、利用されるICカード20の種類が頻繁に入れ替わらない状況等において、リード処理が開始されるまでにまとまった待ち時間が発生してしまうことを抑制することが可能になる。
【0067】
また、本実施例では、頻度決定処理中に、ICカード20から応答があったとしても、そのICカード20に対してデータのリードを行わないこととした(図4参照)。しかし、頻度決定処理中においても、応答のあったICカード20に対してデータのリードを行うこととしてもよい。こうすることで、メインルーチン実行中のどのタイミングでもデータのリードを行うことが可能になる。
【0068】
B.第2実施例:
上述した第1実施例では、ポーリング処理中にICカード20が応答しても、その応答結果を頻度の算出に利用していない。これに対して、第2実施例では、ポーリング処理中におけるICカード20の応答の有無に基づいて頻度の算出を行う。なお、第2実施例における読取装置100の構成は、第1実施例と同様である。
【0069】
図11は、第2実施例において読取装置100の制御部110が繰り返し実行するメインルーチンのフローチャートである。このメインルーチンが実行されると、まず、制御部110は、順序データを参照する位置を表す順序値Nを「1」に初期化する(ステップS300)。
【0070】
図12は、本実施例において制御部110が参照する順序データ118bの初期状態を示す説明図である。本実施例では、後述する順序データ118bの更新処理においてタイプ値Tが変更されない範囲(図中、「固定順序」と示した範囲)も、順序データ118bの中に含まれることとし、この「固定順序」に対しても、順序値Nが割り振られていることとした。そのため、本実施例では、順序値Nの最大値Nmaxを「15」とした。
【0071】
順序値Nを初期化すると、制御部110は、順序データ118bの先頭からN個目に記録されたタイプ値Tを取得し(ステップS305)、取得したタイプ値Tが「1」であるかを判断する(ステップS310)。この結果、取得したタイプ値Tが「1」であれば、制御部110は、タイプ1カード21に対して、図13に示すポーリング処理を実行する(ステップS315)。
【0072】
図13は、第2実施例において実行されるポーリング処理のフローチャートである。本実施例のポーリング処理は、図2に示した第1実施例のポーリング処理に対して、ステップS17の処理が追加されている。このステップS17では、制御部110は、応答信号を受信したICカード20からのデータをリードした際に、そのICカード20の応答を確認した旨をログデータ117に記録する処理を行う。
【0073】
上記ステップS305において、取得したタイプ値Tが「1」でなければ、制御部110は、取得したタイプ値Tが「2」であるかを判断する(ステップS320)。取得したタイプ値が「2」であれば、制御部110は、タイプ2カード22に対して、図13に示したポーリング処理を実行する(ステップS325)。ステップS305において取得したタイプ値Tが「1」でも「2」でもない場合には、制御部110は、タイプ3カード23に対して、図13に示したポーリング処理を実行する(ステップS330)。
【0074】
以上の処理によって、順序データ118bに従うポーリング処理を実行すると、制御部110は、順序値Nに「1」を加算する(ステップS335)。そして、加算後の順序値Nが、順序値Nの最大値Nmax以下であるかを判断する(ステップS340)。順序値Nが最大値Nmax以下であれば、処理をステップS305に戻す。こうすることで、順序データ118bに記録されたすべてのタイプ値Tに対してポーリング処理が実行される。
【0075】
ステップS340において、順序値Nが最大値Nmaxを超えたと判断されれば、制御部110は、第1実施例と同様に、ログデータ117を参照して各種類のICカード20に対してポーリング処理を行う頻度を算出し(ステップS345)、算出された頻度に基づいて、順序データ118bを更新する(ステップS350)。この順序データ118bの更新時には、図12に示した順序データ118bのうち、「固定順序」と示した部分を除いた部分について更新を行う。更新のアルゴリズムは第1実施例と同様である。ただし、本実施例では、図12中に「固定順序」と示した順序において、全ての種類のICカード20に対してポーリング処理が実行されるため、第1実施例で説明した「調整処理」は行わなくてもよい。
【0076】
以上で説明した第2実施例によれば、順序データ118bに従って実行される毎回のポーリング処理において、ICカード20から応答があれば、そのICカード20についてログデータ117の更新が行われる。この結果、各種類のICカード20に対してポーリング処理を行う頻度を算出する際に、各種類のICカード20の応答の状況を正確に反映させることが可能になる。
【0077】
なお、本実施例においても、順序データ118b内においてタイプ値Tが固定される順序は、図10に示したように任意に設定可能である。また、本実施例では、順序データ118bに従うポーリング処理が完了した後で(つまり、順序値Nが最大値Nmaxに達した後で)、頻度の算出と順序データ118bの更新とをまとめて行うこととした。しかし、ポーリング処理においてログデータ117の更新を行った際に、その都度、頻度の算出と順序データ118bの更新とを行うこととしてもよい。
【0078】
C.第3実施例:
上述した第1実施例および第2実施例では、各種類のICカード20の応答の状況を記録したログデータ117に基づいて、それぞれのICカード20に対して行うポーリング処理の頻度を決定した。これに対して、第3実施例では、ポーリング処理を行うICカード20の種類を、各種類のICカード20の応答の状況に応じて、より単純な処理で決定する。なお、第3実施例における読取装置100の構成は、第1実施例とほぼ同様であるが、本実施例では読取装置100のRAM114に、ログデータ117と順序データ118とは記憶されていない。
【0079】
図14は、第3実施例において読取装置100の制御部110が繰り返し実行するメインルーチンのフローチャートである。本実施例では、このメインルーチンが開始されると、制御部110は、まず、ポーリング処理を行う対象のICカードの種類を決定するための対象決定処理を実行し(ステップS100c)、その後、カード捕捉処理(ステップS200c)を実行する。
【0080】
図15は、上述した対象決定処理のフローチャートである。この対象決定処理と、第1実施例の頻度決定処理とで共通する処理については、図4と図15とに同じステップ番号を付している。本実施例の対象決定処理と第1実施例の頻度決定処理とでは、各種類のICカード20から応答信号を受信した場合の処理が異なる。すなわち、第1実施例では、各種類のICカード20から応答信号を受信した場合には、ログデータ117に対して、そのICカード20から応答があった旨を記録した(ステップS115,S135,S155)。これに対して、本実施例では、各種類のICカード20から応答信号を受信した場合には、そのICカード20に対応するフラグをオンにし、他のフラグをオフにする処理を行う(ステップS115c,S135c,S155c)。
【0081】
具体的には、制御部110は、タイプ1カード21からの応答があった場合には、タイプ1カード21に対応するフラグ1をオンにし、タイプ2カード22に対応するフラグ2と、タイプ3カード23に対応するフラグ3とをオフにする(ステップS115c)。また、タイプ2カード22からの応答があった場合には、フラグ2をオンにし、フラグ1とフラグ3とをオフにする(ステップS135c)。また、タイプ3カード23からの応答があった場合には、フラグ3をオンにし、フラグ1とフラグ2とをオフにする(ステップS155c)。これらのフラグの状態は、制御部110のRAM114内に記録される。
【0082】
本実施例では、制御部110は、以上のようにして3種類のフラグのオン/オフ状態を決定すると、頻度の算出や順序データの更新を行うことなく、以下に説明するカード捕捉処理を実行する。
【0083】
図16は、第3実施例において実行されるカード捕捉処理のフローチャートである。本実施例のカード捕捉処理と、第1実施例のカード頻度処理とで共通する処理については、図9と図16とで同じステップ番号を付している。このカード捕捉処理が開始されると、まず、制御部110は、ポーリング処理を実行する回数を示す繰り返し数Mを「1」に初期化する(ステップS205c)。
【0084】
続いて、制御部110は、RAM114に記録されたフラグ1がオンであるかを判断する(ステップS215c)。フラグ1がオンであれば、制御部110は、タイプ1カード21に対するポーリング処理を実行する(ステップS220)。本実施例において実行するポーリング処理の処理内容は、第1実施例と同様である(図2参照)。フラグ1がオフであれば、制御部110は、続いて、フラグ2がオンであるかを判断し(ステップS225c)、フラグ2がオンであれば、タイプ2カード22に対するポーリング処理を実行する(ステップS230)。フラグ1もフラグ2もオフであれば、制御部110は、タイプ3カード23に対するポーリング処理を実行する(ステップS235)。
【0085】
以上の処理によって、フラグの状態に応じたポーリング処理が終了すると、制御部110は、繰り返し数Mに「1」を加算する(ステップS240c)。そして、加算後の繰り返し数Mが、その最大値Mmax以下であるかを判断する(ステップS245c)。本実施例では、繰り返し数Mの最大値Mmaxは、第1実施例の順序データ118に合わせて、「12」とする。ステップS245cにおいて、繰り返し数Mが最大値Mmax以下であると判断されれば、制御部110は、処理をステップS215cに戻す。こうすることで、同じ種類のICカード20に対して、Mmax回のポーリング処理が実行されることになる。一方、繰り返し数Mが最大値Mmaxを超えれば、制御部110は、当該カード捕捉処理を終了する。
【0086】
以上で説明した第3実施例によれば、カード捕捉処理に先立って実行される対象決定処理において、ポーリングを行う対象のICカード20が1種類決定される。そして、この対象決定処理に引き続いて実行されるカード捕捉処理では、対象決定処理によって決定された種類のICカード20に対して、所定回数(Mmax回)連続して優先的にポーリング処理が実行されることになる。このような第3実施例によれば、ログデータ117の更新や頻度の算出、順序データ118の更新等を行う必要がないので、読取装置100の処理速度を向上させることができる。このような単純な処理内容は、特に、入室管理システム10で用いられるICカード20の種類が頻繁に変更されない場合に好適である。
【0087】
D.変形例:
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、ソフトウェアによって実現した機能は、ハードウェアによって実現するものとしてもよい。そのほか、以下のような変形が可能である。
【0088】
(D1)変形例1:
上述した各実施例のポーリング処理では、ICカード20の応答が確認された場合に、そのICカード20からドアロック解除装置200によって用いられるデータ(ID番号)を読み取る処理を行っている。しかし、このポーリング処理では、データの読取処理に加えて、例えば、ドアロック解除装置200によるID番号の認証結果や、ICカード20を利用した日時などの情報を書き込む処理を行うこととしてもよい。また、データの読み込み処理を省略し、種々の情報を書き込む処理のみを行うこととしてもよい。
【0089】
(D2)変形例2:
上述した実施例では、ログデータ117内に、各種類のICカード20の応答の状況が逐次記録されることとしたが、このログデータ117に記録する応答回数には上限を設けてもよい。この場合、応答回数が上限を超える場合には、古い記録から順次削除していき、最新の記録を優先して残していくこととする。例えば、100回分の最新の応答の履歴を記録可能とすれば、頻度の算出時には、この100回の回数で、各種類のICカード20の応答回数を除算する。このようにすることで、ユーザに利用されているICカード20の種類の傾向を、頻度の算出に効果的に反映させることが可能になる。なお、その他にも、過去1ヶ月分のみの応答の履歴を記録可能とするなど、応答の状況を記録する時期について限度を設けることとしてもよい。
【0090】
(D3)変形例3:
上述した各実施例では、本発明を入室管理システム10に適用した例を説明したが、本発明は、自動改札システムや、個人認証システム、決済システムなど、複数種類のICカード20が利用可能な様々なシステムに適用することが可能である。
【符号の説明】
【0091】
10…入室管理システム
20…非接触ICカード
21…タイプ1カード
22…タイプ2カード
23…タイプ3カード
30…インタフェース
100…非接触ICカード読取装置
110…制御部
112…CPU
114…RAM
116…ROM
117…ログデータ
118,118b…順序データ
120…送信回路
130…受信回路
140…アンテナ
200…ドアロック解除装置
210…ID番号テーブル
220…ドアロック機構

【特許請求の範囲】
【請求項1】
複数種類の非接触ICカードと通信可能な非接触ICカード読取装置であって、
前記複数種類の非接触ICカードにそれぞれ対応する複数種類の応答要求信号を送信する送信部と、
前記複数種類の非接触ICカードのうち、前記応答要求信号を受信した非接触ICカードから返信された応答信号を受信する受信部と、
前記応答信号の受信の状況に基づいて、前記複数種類の応答要求信号のうち、前記送信部が送信する前記応答要求信号の種類を少なくとも決定する制御部と、
を備える非接触ICカード読取装置。
【請求項2】
請求項1に記載の非接触ICカード読取装置であって、
前記制御部は、前記応答信号の受信の状況に基づいて、前記複数種類の応答要求信号のうち、前記送信部が送信する前記応答要求信号の種類と該種類毎の前記応答要求信号の送信の頻度とを決定する、非接触ICカード読取装置。
【請求項3】
請求項2に記載の非接触ICカード読取装置であって、
前記制御部は、更に、前記決定された応答要求信号の種類と頻度とに応じて、前記送信部が前記応答要求信号を送信する順序を決定し、
前記送信部は、前記順序に従って前記複数種類の応答要求信号を送信する、非接触ICカード読取装置。
【請求項4】
請求項3に記載の非接触ICカード読取装置であって、
前記順序には、全ての種類の前記応答要求信号を送信する順序が固定的に定められた第1の部分と、送信を行う前記応答要求信号の順序が変更可能な第2の部分とが含まれ、
前記制御部は、前記順序のうちの前記第2の部分について、前記送信部が送信する前記応答要求信号の順序を決定する、非接触ICカード読取装置。
【請求項5】
請求項4に記載の非接触ICカード読取装置であって、
前記制御部は、前記順序のうちの前記第1の部分において前記送信部が送信した前記応答要求信号に応じて返信された前記応答信号の受信の状況に基づいて、前記順序のうちの前記第2の部分について、前記送信部が送信する前記応答要求信号の順序を決定する、非接触ICカード読取装置。
【請求項6】
請求項4または請求項5に記載の非接触ICカード読取装置であって、
前記制御部は、更に、前記順序のうちの前記第2の部分において送信された前記応答要求信号に応じて前記応答信号の返信を受けた場合には、該応答信号を返信した前記非接触ICカードに対してデータの読取処理を行う、非接触ICカード読取装置。
【請求項7】
請求項4ないし請求項6のいずれか一項に記載の非接触ICカード読取装置であって、
前記制御部は、前記順序のうちの前記第1の部分において送信された前記応答要求信号に応じて前記応答信号の返信を受けた場合には、該応答信号を返信した前記非接触ICカードに対してデータの読取処理を行わない、非接触ICカード読取装置。
【請求項8】
請求項2ないし請求項7のいずれか一項に記載の非接触ICカード読取装置であって、
前記制御部は、前記応答信号の受信の状況として前記非接触ICカードの種類毎に前記応答信号を受信した回数を計数し、該計数された前記非接触ICカードの種類毎の受信回数に応じて、前記送信部が送信する前記応答要求信号の種類と頻度とを決定する、非接触ICカード読取装置。
【請求項9】
請求項1に記載の非接触ICカード読取装置であって、
前記送信部は、前記複数種類の応答要求信号のうち全ての種類の応答要求信号を送信し、その後、前記制御部にて決定された種類の応答要求信号を所定の回数送信し、
前記制御部は、前記送信部によって送信された全ての種類の応答要求信号に応じて返信された応答信号の受信の状況に基づいて、前記送信部が送信する前記応答要求信号の種類を決定する、非接触ICカード読取装置。
【請求項10】
非接触ICカード読取装置が複数種類の非接触ICカードと通信するための通信方法であって、
前記複数種類の非接触ICカードにそれぞれ対応する複数種類の応答要求信号を送信する工程と、
前記複数種類の非接触ICカードのうち、前記応答要求信号を受信した非接触ICカードから返信された応答信号を受信する工程と、
前記応答信号の受信の状況に基づいて、前記複数種類の応答要求信号のうち、前記送信を行う前記応答要求信号の種類を少なくとも決定する工程と、
を備える通信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate