以下、図を参照して、本発明の実施の形態について説明する。
図1は、本発明を適用した通信システム1の一実施の形態を示すブロック図である。通信システム1は、ICタグ11、リーダライタ12、パーソナルコンピュータ13、センサ14、および、情報処理装置15を含むように構成される。また、リーダライタ12は、コントローラ31およびアンテナ32を含むように構成される。さらに、情報処理装置15は、サーバ41およびデータベース42を含むように構成される。
リーダライタ12のコントローラ31には、パーソナルコンピュータ13およびセンサ14が接続される。また、パーソナルコンピュータ13と情報処理装置15のサーバ41は、ネットワーク21を介して、相互に接続されている。
ICタグ11は、各種の製品、商品、荷物などの有体物であるオブジェクト(以下、対象物と称する)の管理(例えば、対象物の識別、対象物に関する情報の管理など)を行うために、所定の取り付け位置(例えば、対象物の所定の位置、または、対象物を梱包する梱包材の所定の位置など)に取り付けられる。なお、図1は、ICタグ11が、缶入り飲料62−1乃至62−8である対象物を梱包した梱包材61に取り付けられている例を示している。また、以下、対象物を管理するために、ICタグ11が所定の取り付け位置に取り付けられていることを、単に、ICタグ11が対象物に取り付けられているとも表現する。
ICタグ11には、必要に応じて、対象物を識別するためのID、対象物の種類、個数、製造年月日、生産者など、対象物に関する情報(以下、対象物情報とも称する)が記憶される。また、ICタグ11には、ICタグ11の種類(例えば、メーカーや型名など)を識別するためのIDであるタグ識別IDが記憶される。さらに、ICタグ11には、対象物がリーダライタ12から発信される電波に影響を示す情報である電波影響レベルが記憶される。なお、以下、タグ識別IDおよび電波影響レベルの組み合わせをタグ情報と称する。
リーダライタ12のアンテナ32は、所定の電波を発信(放射)した状態で負荷状態を監視することにより、ICタグ11が通信可能な位置にあるか否かを検出し、ICタグ11とデータの送受信を行う。
コントローラ31は、アンテナ32から電波が発信される領域である通信領域32A内にICタグ11が進入した場合、アンテナ32を介して、ICタグ11から各種のデータを読み取ったり、ICタグ11に各種のデータを書き込んだりする。コントローラ31は、ICタグ11から読み取った各種のデータをパーソナルコンピュータ13に供給する。また、コントローラ31は、リーダライタ12の種類(例えば、メーカーおよび型名など)を識別するためのIDであるリーダライタ識別IDをパーソナルコンピュータ13に供給する。
さらに、コントローラ31は、ICタグ11とリーダライタ12との通信状態を調整するための設定値を示す情報である設定情報をパーソナルコンピュータ13から取得する。コントローラ31は、設定情報に基づいて、ICタグ11とリーダライタ12との間の通信状態がほぼ最適な状態となるようにリーダライタ12の設定を行う。
また、コントローラ31には、必要に応じて、光電センサ、マイクロ波センサ、超音波センサなどの物体の接近または通過を検出するセンサ14が接続される。コントローラ31は、センサ14から出力されるデータに基づいて、ICタグ11が取り付けられている対象物の接近を検出する。コントローラ31は、対象物の接近を検出した場合、ICタグ11からタグ情報をより確実に読み取れるように、リーダライタ12の設定を行う。
さらに、コントローラ31は、例えば、リーダライタ12が工場または倉庫などのラインに設けられる場合、対象物が通信領域32Aを通過するスケジュール、対象物の電波影響レベル、および、対象物に取り付けられるICタグ11のタグ識別IDを含む情報(以下、対象物通過予定情報と称する)をパーソナルコンピュータ13から取得する。コントローラ31は、対象物通過予定情報に基づいて、ICタグ11が取り付けられた対象物が通信領域32Aを通過するスケジュールに合わせて、通過する対象物の電波影響レベル、対象物に取り付けられているICタグ11のタグ識別ID、および、リーダライタ12のリーダライタ識別IDを含む情報(以下、通信環境情報と称する)をパーソナルコンピュータ13に供給する。
また、コントローラ31は、ICタグ11との通信が成功したか否かを示す情報、ICタグ11から読み取ったタグ情報、および、リーダライタ12のリーダライタ識別IDを含む情報(以下、通信結果情報と称する)をパーソナルコンピュータ13に供給する。なお、ICタグ11との通信が成功した場合、コントローラ31は、通信が成功したときのリーダライタ12の設定値を通信結果情報に含めるようにする。
パーソナルコンピュータ13は、ICタグ11から読み取られた各種のデータをコントローラ31から取得し、取得したデータに基づく処理を行う。また、パーソナルコンピュータ13は、ICタグ11に書き込む各種のデータをコントローラ31に供給する。さらに、パーソナルコンピュータ13は、コントローラ31から供給される通信環境情報、および、通信結果情報を、ネットワーク21を介してサーバ41に送信する。また、パーソナルコンピュータ13は、通信環境情報に基づいてデータベース42を用いて検索された設定情報を、ネットワーク21を介してサーバ41から取得する。さらに、パーソナルコンピュータ13は、必要に応じてユーザにより入力される、対象物通過予定情報を取得する。
サーバ41は、パーソナルコンピュータ13から受信した通信環境情報に対応する設定情報を、データベース42に蓄積されている設定情報データベース(図2を参照して後述)を用いて検索する。サーバ41は、検索した設定情報を、ネットワーク21を介してパーソナルコンピュータ13に供給する。また、サーバ41は、パーソナルコンピュータ13から送信されてくる通信結果情報に基づいて、設定情報データベースを適宜更新する。
なお、図1では、説明を簡単にするために、ICタグ11、リーダライタ12、パーソナルコンピュータ13、センサ14、および、情報処理装置15の数をそれぞれ1つとしたが、それらの装置の数は特に限定されない。すなわち、通信システム1においては、例えば、リーダライタ12、および、パーソナルコンピュータ13のセットを複数設けたり、情報処理装置15を複数設けることが可能である。また、例えば、1台のパーソナルコンピュータ13に複数のリーダライタ12を接続して使用することも可能である。
図2は、データベース42に蓄積されている設定情報データベースに格納されているデータのデータ構造の例を示す図である。設定情報データベースの各レコードは、通信環境情報および設定情報を含む。すなわち、通信環境情報と設定情報が互いに関連づけられている。
通信環境情報は、ICタグ11とリーダライタ12が通信を行う環境を示す情報であり、上述したように、タグ識別ID、リーダライタ識別ID、および、電波影響レベルを含む。
電波影響レベルは、リーダライタ12から発信される電波を対象物が吸収または遮断する度合いを示し、対象物の材質などに応じて設定される。例えば、電波を吸収も遮断もしない対象物の電波影響レベルはレベル0に設定され、電波を吸収する度合いが小さい対象物の電波影響レベルはレベル1に設定され、電波を吸収する度合いが中くらいの対象物の電波影響レベルはレベル2に設定され、電波を吸収する度合いが大きい対象物の電波影響レベルはレベル3に設定され、電波を遮断する対象物(例えば、金属など)の電波影響レベルはレベル4に設定される。
設定情報は、リーダライタ12の感度、電波発信間隔、磁界強度、および、ビーム角度の各設定値の範囲を示す情報を含む。
感度は、リーダライタ12から発信される電波の強さ、受信感度(SWR(Standing Wave Ratio))、および、利得値の範囲を含む。設定情報により示される電波の強さの範囲は、例えば、最大で1Wから4Wまでの範囲とされ、受信感度の範囲は、例えば、最大で1.0から1.5までの範囲とされ、利得値の範囲は、例えば、1 dBiから10dBiまでの範囲とされる。
電波発信間隔は、リーダライタ12から電波を発信する間隔を示す。設定情報に示される電波発信間隔の範囲は、例えば、最大で0.5msecから数100msecまでの範囲とされる。
磁界強度は、リーダライタ12から発信される電波の磁界の強度を示す。設定情報に示される磁界強度の範囲は、例えば、最大で0.05A/mから1.0A/mまでの範囲とされる。
ビーム角度は、リーダライタ12が、例えば、水平偏波、垂直偏波、円偏波などである電波を発信する角度を示す。設定情報に示されるビーム角度の範囲は、例えば、最大で30度から80度までの範囲とされる。
なお、設定情報に示される各設定値の範囲は、例えば、予め各種の実験を行うことにより、対応する通信環境情報により示される、ICタグ11、リーダライタ12、および、対象物の電波影響レベルの組み合わせからなる通信環境において、ICタグ11とリーダライタ12との間の通信状態が良好となる(通信の成功率が高くなる)と推定された範囲が設定される。すなわち、設定情報は、通信環境情報により示される通信環境において、ICタグ11とリーダライタ12との間の通信状態がほぼ最適な状態となるようにリーダライタ12を調整するための情報を含む。
図3は、ICタグ11の機能の構成の例を示すブロック図である。ICタグ11は、IC101およびアンテナ102を含むように構成される。IC101は、ASK変復調部111、BPSK変復調部112、CPU(Central Processing Unit)113、およびEEPROM(Electrically Erasable and Programmable Read Only Memory)114を含むように構成される。
ASK変復調部111は、アンテナ32から送信された変調波(ASK変調波)を検波して復調し、復調後のデータをBPSK変復調部112に供給する。
BPSK変復調部112は、ASK変復調部111から供給された変調波(BPSK変調波)を復調し、さらにマンチェスタコードの復調(デコード)を行う。BPSK変復調部112は、復調したデータをCPU113に供給する。
一方、ICタグ11からリーダライタ12へデータを送信する場合、BPSK変復調部112は、CPU73から供給されたデータをマンチェスタ符号化し、さらにBPSK変調する。BPSK変復調部112は、変調したデータをASK変復調部111に供給する。
ASK変復調部111は、BPSK変復調部112から供給されたデータに対応して、例えば、図示しない所定のスイッチング素子をオン/オフさせる。スイッチング素子がオン状態である場合には、所定の負荷がアンテナ102に並列に接続されることになり、スイッチング素子をオン/オフさせることによって、アンテナ102の負荷が変動する。ASK変復調部111は、アンテナ102の負荷の変動により、アンテナ102を介して受信している変調波をASK変調し、その変調波を、(アンテナ102を介して)リーダライタ12のアンテナ32に送信する。
逆に言えば、リーダライタ12は、ICタグ11からデータを受信するとき、すなわち、ICタグ11に所定のデータを送信させるとき、変調波の最大振幅を一定にして変調波(キャリア)を出力する。このリーダライタ12が出力する変調波(キャリア)が、ICタグ11のアンテナ102の負荷の変動により、ASK変調(負荷変調)される。
CPU113は、入力されたデータに基づいた所定の処理を実行する。例えば、入力されたデータがEEPROM114へのデータの書き込み要求である場合、書き込みが要求されたデータをEEPROM114に記憶させる(書き込む)。また、入力されたデータがEEPROM114に記憶されているデータの読み出し要求である場合、CPU113は、対応するデータをEEPROM114から読み出し、BPSK変復調部112に出力する。
EEPROM114は、不揮発性のメモリであり、ICタグ11が、リーダライタ12との通信を終了し、その電力供給が停止された後も、データを記憶し続ける。
また、ICタグ11では、アンテナ102および図示しないコンデンサで構成されるLC回路において、アンテナ32が放射した電波の一部が電気信号に変換され、その電気信号(変調波)を整流平滑化することで、包絡線検波が行われる。これにより生成される信号が、図示しない電圧レギュレータに供給され、安定化されて、直流電源としてICタグ11の各部に供給される。
図4は、ICタグ11のCPU113が所定のプログラムを実行することにより実現される機能の構成の例を示す図である。CPU113が所定のプログラムを実行することにより、通信制御部131、読み出し制御部132、電力制御部133、および、書き込み制御部134を含む機能が実現される。
通信制御部131は、アンテナ102、ASK変復調部111、および、BPSK変復調部112を介して、リーダライタ12と通信を行う。通信制御部131は、リーダライタ12から送信されてくる各種のデータ(コマンド)を、アンテナ102、ASK変復調部111、および、BPSK変復調部112を介して受信し、受信したコマンドを、必要に応じて、読み出し制御部132、書き込み制御部134、または、電力制御部133に供給する。また、通信制御部131は、読み出し制御部132または書き込み制御部134から供給される各種のコマンドに、コマンドの送信に必要な情報を付加し、情報を付加したコマンドを、BPSK変復調部112、ASK変復調部111、および、アンテナ102を介して、リーダライタ12に送信する。
読み出し制御部132は、リーダライタ12から送信された読み出しコマンドを通信制御部131から取得する。読み出し制御部132は、読み出しコマンドにより読み出しが要求されたデータをEEPROM114から読み出す。読み出し制御部132は、読み出したデータを格納した読み出し応答コマンドを生成し、生成した読み出し応答コマンドを通信制御部131に供給する。また、読み出し制御部132は、タグ情報の送信を行ったことを通知する情報を電力制御部133に供給する。
電力制御部133は、図示せぬ電圧レギュレータから供給される直流電力を監視するとともに、ICタグ11が消費する電力を制御する。
書き込み制御部134は、リーダライタ12から送信された書き込みコマンドを通信制御部131から取得し、書き込みコマンドに格納されているデータをEEPROM114に書き込む。
図5は、ICタグ11のEEPROM114に記憶されるデータの構成の例を示す図である。
EEPROM114の先頭には、タグ識別IDおよび電波影響レベルの組み合わせであるタグ情報が複数記憶されている。また、タグ情報は、図2を参照して上述したように、ごく短い数値データにより構成される。従って、リーダライタ12がICタグ11からタグ情報を読み取ることができる可能性は、EEPROM114に記憶されている他のデータに比べて高くなる。また、タグ情報が格納されている領域に続くデータ領域に、例えば、対象物情報などの各種のデータが記憶される。
図6は、リーダライタ12の機能の構成の例を示すブロック図である。リーダライタ12は、上述したようにアンテナ32およびコントローラ31を含むように構成される。また、コントローラ31は、CPU151、SCC(Serial Communication Controller)152、メモリ153、復調部154、変調部155、発振部156、および、ドライブ157により構成される。CPU151、SCC152、メモリ153、および、ドライブ157は、バス161を介して相互に接続されている。
CPU151は、復調部154を介してICタグ11から受信した応答コマンドや、SCC152およびバス161を介してパーソナルコンピュータ13から入力される制御信号の入力を受け、メモリ153に記憶されているプログラムに従って、入力された応答コマンドや制御信号に従った処理を実行する。例えば、CPU151は、ICタグ11に送信するコマンドを変調部155に出力したり、パーソナルコンピュータ13に出力するデータをバス161を介してSCC152に出力する。また、CPU151は、ICタグ11から送信された応答コマンドに対して所定の処理(例えば、マンチェスタ符号化されたデータの復号など)を施すとともに、ICタグ11に送信するコマンドに対しても、所定の処理(例えば、マンチェスタ符号化など)を行った後、変調部155に出力する。
また、CPU151は、SCC152およびバス161を介して、パーソナルコンピュータ13から受信した設定情報に基づいて、リーダライタ12の設定を行う。
SCC152は、パーソナルコンピュータ13から入力されたデータを、バス161を介して、CPU151に供給したり、CPU151から、バス161を介して入力されたデータを、パーソナルコンピュータ13に出力する。
メモリ153は、データの処理に必要な情報を予め記憶したり、処理途中のデータを一時的に記憶する。また、メモリ153は、CPU151が使用するプログラムを格納する。
復調部154は、アンテナ32を介して、ICタグ11から受信した変調波(例えば、ASK変調波)を復調し、復調したデータをCPU151に出力する。
変調部155は、発振部156より供給される所定の周波数(例えば13.56MHz)の搬送波を、CPU151より供給されるデータに基づいて変調(例えば、ASK変調)し、生成された変調波を、アンテナ32を介して、電波としてICタグ11に出力する。なお、例えば、ASK変調を行う場合、変調部155は、変調度を1未満にして、ASK変調を行うようにされており、これにより、データがローレベルのときにおいても、変調波の最大振幅がゼロにならないようにされている。
ドライブ157は、必要に応じてバス161に接続される。ドライブ157は、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア158が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じてメモリ153に転送され、記録される。
図7は、コントローラ31のCPU151が所定のプログラムを実行することにより実現される機能の構成の例を示すブロック図である。CPU151が所定のプログラムを実行することにより、対象物接近検出部181、設定調整部182、通信制御部183、読み取り制御部184、対象物通過予定管理部185、通信環境送信部186、書き込み制御部187、および、通信結果送信部188を含む機能が実現される。
対象物接近検出部181は、センサ14から出力されるデータを、バス161を介して受信する。対象物検出部121は、受信したデータに基づいて、ICタグ11が取り付けられている対象物の接近を検出する。対象物接近検出部181は、対象物の接近を検出した場合、対象物の接近を通知する情報(以下、対象物接近通知情報と称する)を設定調整部182に供給する。
設定調整部182は、SCC152およびバス161を介して、パーソナルコンピュータ15から設定情報を取得する。設定調整部182は、設定情報に基づいて、リーダライタ12の設定を行う。また、設定調整部182は、対象物接近検出部181から対象物接近情報を取得した場合、より確実にICタグ11からタグ情報を読み取れるように、リーダライタ12の設定を行う。設定調整部182は、リーダライタ12の設定を行ったことを通知する情報を通信制御部183に供給する。
通信制御部183は、ICタグ11から送信されてくる各種のコマンドを、アンテナ32および復調部154を介して受信する。通信制御部183は、必要に応じて、読み取り制御部184または書き込み制御部187に、受信したコマンドを供給する。また、通信制御部183は、読み取り制御部184または書き込み制御部187から供給される各種のコマンドに、コマンドの送信に必要な情報を付加し、情報を付加したコマンドを、変調部155、および、アンテナ32を介してICタグ11に送信する。また、通信制御部183は、ICタグ11との通信が成功したか否かを示す情報を、必要に応じて、通信環境送信部186、または、通信結果送信部188に供給する。さらに、通信制御部183は、設定調整部182によりリーダライタ12の設定が行われたことを通知する情報を読み取り制御部184および書き込み制御部187に供給する。
読み取り制御部184は、SCC152およびバス161を介して、パーソナルコンピュータ13から供給されるデータの読み取りを指令する情報に基づいて、ICタグ11からのデータの読み出しを要求する読み出しコマンドを生成し、生成した読み出しコマンドを通信制御部183に供給する。読み取り制御部184は、読み出しコマンドに対するICタグ11からの応答である読み出し応答コマンドを、通信制御部183から取得する。読み取り制御部184は、読み出し応答コマンドに格納されている、ICタグ11から読み取ったデータを、必要に応じて、バス161およびSCC152を介して、パーソナルコンピュータ13に供給する。また、読み取り制御部184は、ICタグ11からタグ情報を読み取った場合、読み取ったタグ情報を、通信環境送信部186に供給する。
対象物通過予定管理部185は、パーソナルコンピュータ13から送信されてくる対象物通過予定情報を、SCC152およびバス101を介して取得する。対象物通過予定管理部185は、対象物通過予定情報に基づいて、対象物が通過する予定に合わせて、通過する予定の対象物の電波影響レベル、および、対象物に取り付けられているICタグ11のタグ識別IDを含むタグ情報を、通信環境送信部186に供給する。
通信環境送信部186は、読み取り制御部184または対象物通過予定管理部185から供給されたタグ情報、および、メモリ153に記憶されているリーダライタ12のリーダライタ識別IDを含む通信環境情報を、通信結果送信部188に供給するとともに、バス161およびSCC152を介して、パーソナルコンピュータ13に供給する。
書き込み制御部187は、SCC152およびバス161を介して、パーソナルコンピュータ13から供給されるデータの書き込みを指令する情報に基づいて、ICタグ11へのデータの書き込みを要求する書き込みコマンドを生成し、生成した書き込みコマンドを通信制御部183に供給する。
また、書き込み制御部187は、必要に応じて、設定調整部182からリーダライタ12の現在の設定値を取得し、ICタグ11への設定値の書き込みを要求する書き込みコマンドを生成する。書き込み制御部187は、生成した書き込みコマンドを通信制御部183に供給する。
通信結果送信部188は、ICタグ11との通信が成功したことを示す情報を通信制御部183から取得した場合、現在のリーダライタ12の設定値を示す情報を設定調整部182から取得する。通信結果送信部188は、ICタグ11との通信が成功したことを示す情報、現在のリーダライタ12の設定値、通信を行ったICタグ11から読み取ったタグ情報、および、リーダライタ12のリーダライタ識別IDを含む通信結果情報を、バス161およびSCC152を介して、パーソナルコンピュータ13に供給する。
また、通信結果送信部188は、ICタグ11との通信が失敗したことを示す情報が通信制御部183から供給された場合、ICタグ11との通信が失敗したことを示す情報、通信を行ったICタグ11から読み取ったタグ情報、および、リーダライタ12のリーダライタ識別IDを含む通信結果情報を、バス161およびSCC152を介して、パーソナルコンピュータ13に供給する。
図8は、パーソナルコンピュータ13の機能の構成の例を示すブロック図である。パーソナルコンピュータ13は、CPU201、ROM202、RAM203、入力部204、出力部205、記録部206、通信部207、および、ドライブ208を含むように構成される。CPU201、ROM202、およびRAM203は、バス211を介して相互に接続され、入力部204、出力部205、記録部206、通信部207、および、ドライブ208は、入出力インタフェース212を介して相互に接続される。また、センサ14およびコントローラ31が、入出力インタフェース212に接続される。バス211および入出力インタフェース212は、相互に接続される。
CPU201は、入出力インタフェース212およびバス211を介して、ユーザが入力部204を用いて入力した処理の指示やデータの入力を受け、入力された処理の指示などに基づいて、ROM202に記憶されているプログラム、または、記録部206からRAM203にロードされたプログラムに従って各種の処理を実行する。
また、CPU201は、バス211および入出力インタフェース212を介して、コントローラ31と各種のデータの送受信を行う。さらに、CPU201は、バス211、入出力インタフェース212、通信部207、および、ネットワーク21を介して、サーバ41と各種のデータの送受信を行う。
ROM202は、CPU201が使用するプログラムや演算用のパラメータのうちの基本的に固定のデータを格納する。
RAM203は、CPU201の実行において使用するプログラムや、その実行において適宜変化するパラメータやデータを格納する。
入力部204は、例えば、キーボード、マウス、マイクロフォンなどにより構成され、ユーザがリーダライタ12またはパーソナルコンピュータ13に各種の指令やデータなどを入力するとき操作される。
出力部205は、例えば、ディスプレイ、スピーカなどにより構成され、CPU201により処理される画像を表示したり、各種のデータや音声などを出力する。
記録部206は、例えば、ハードディスクなどにより構成され、CPU201が実行するプログラムや各種のデータを記録する
通信部207は、例えば、ルータ、モデムなどのインタフェースにより構成され、有線通信または無線通信によりネットワーク21に接続して、ネットワーク21に接続されているサーバ41と通信を行う。
ドライブ208は、必要に応じて入出力インタフェース212に接続される。ドライブ208は、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア209が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部206に転送され、記録される。
図9は、情報処理装置15の機能の構成の例を示すブロック図である。情報処理装置15は、上述したようにサーバ41およびデータベース42を含むように構成される。また、サーバ41は、CPU251、ROM252、RAM253、入力部254、出力部255、記録部256、通信部257、および、ドライブ258を含むように構成される。CPU251、ROM252、およびRAM253は、バス261を介して相互に接続され、入力部254、出力部255、記録部256、通信部257、および、ドライブ258が、入出力インタフェース262を介して相互に接続される。また、データベース42が入出力インタフェース262に接続される。バス261および入出力インタフェース262は、相互に接続される。
CPU251は、入出力インタフェース262およびバス261を介して、ユーザが入力部254を用いて入力した処理の指示やデータの入力を受け、入力された処理の指示などに基づいて、ROM252に記憶されているプログラム、または、記録部256からRAM253にロードされたプログラムに従って各種の処理を実行する。
また、CPU251は、バス261、入出力インタフェース262、通信部257、および、ネットワーク21を介してパーソナルコンピュータ13と各種の情報の送受信を行う。さらに、CPU251は、データベース42に記憶されている設定情報データベースを適宜更新する。
ROM252は、CPU251が使用するプログラムや演算用のパラメータのうちの基本的に固定のデータを格納する。
RAM253は、CPU251の実行において使用するプログラムや、その実行において適宜変化するパラメータやデータを格納する。
入力部254は、例えば、キーボード、マウス、マイクロフォンなどにより構成され、ユーザがサーバ41に各種の指令やデータなどを入力するとき操作される。
出力部255は、例えば、ディスプレイ、スピーカなどにより構成され、CPU251により処理される画像を表示したり、各種のデータや音声などを出力する。
記録部256は、例えば、ハードディスクなどにより構成され、CPU251が実行するプログラムや各種のデータを記録する
通信部257は、例えば、ルータ、モデムなどのインタフェースにより構成され、有線通信または無線通信によりネットワーク21に接続して、ネットワーク21に接続されているパーソナルコンピュータ13と通信を行う。
ドライブ258は、必要に応じて入出力インタフェース262に接続される。ドライブ258は、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア259が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部256に転送され、記録される。
図10は、サーバ41のCPU251が所定のプログラムを実行することにより実現される機能の構成の例を示す図である。CPU251が所定のプログラムを実行することにより、設定情報検索部281、設定情報送信部282、通信結果受信部283、および、データベース更新部284を含む機能が実現される。
設定情報検索部281は、パーソナルコンピュータ13から送信されてくる通信環境情報を、ネットワーク21、通信部257、入出力インタフェース262、および、バス261を介して取得する。設定情報検索部281は、取得した通信環境情報に対応する設定情報を、データベース42に蓄積されている設定情報データベースを用いて検索する。設定情報検索部281は、検索した設定情報を設定情報送信部282に供給する。
設定情報送信部282は、取得した設定情報を、バス261、入出力インタフェース262、通信部257、および、ネットワーク21を介してパーソナルコンピュータ13に送信する。
通信結果受信部283は、パーソナルコンピュータ13から送信されてくる通信結果情報を、ネットワーク21、通信部257、入出力インタフェース262、および、バス261を介して取得し、取得した通信結果情報をデータベース更新部284に供給する。
データベース更新部284は、取得した通信結果情報に基づいて、データベース42に蓄積されている設定情報データベースを適宜更新する。また、データベース更新部284は、取得した通信結果情報をデータベース42に蓄積させる。
次に、図11乃至図13を参照して、通信システム1の処理を説明する。
まず、図11のフローチャートを参照して、リーダライタ12により実行される対象物情報読み取り処理を説明する。
ステップS1において、通信制御部183は、ICタグ11との通信が可能であるか否かを判定する。通信制御部183は、アンテナ32および復調部154を介して入力される信号を基に、ICタグ11との通信が可能であるか否かを判定する。この判定処理は、ICタグ11との通信が可能であると判定されるまで、定期的に繰り返され、ICタグ11との通信が可能であると判定された場合、例えば、通信領域32Aに進入したICタグ11の存在が認識された場合、処理はステップS2に進む。
ステップS2において、読み取り制御部184は、タグ情報の読み出しを要求する。具体的には、読み取り制御部184は、タグ情報の読み出しを要求する読み出しコマンドを生成する。読み取り制御部184は、通信制御部183、変調部155、および、アンテナ32を介して、生成した読み出しコマンド送信する。
ステップS3において、読み取り制御部184は、タグ情報の読み取りが成功したか否かを判定する。
ICタグ11は、後述する図12のステップS21において、ステップS2においてリーダライタ12から送信された読み出しコマンドを受信した場合、ステップS22において、タグ情報を含む読み出し応答コマンドをリーダライタ12に送信する。
読み取り制御部184は、アンテナ32、復調部154および通信制御部183を介して、ステップS1において送信した読み出しコマンドに対する応答であり、タグ情報を含む読み出し応答コマンドをICタグ11から受信した場合、ステップS3において、ICタグ11からのタグ情報の読み取りが成功したと判定し、処理はステップS4に進む。
ステップS4において、通信環境送信部186は、通信環境情報を送信する。具体的には、読み取り制御部184は、ステップS3において受信した読み出し応答コマンドに含まれるタグ情報を、通信環境送信部186に供給する。通信環境送信部186は、メモリ153に記憶されているリーダライタ識別IDを読み出す。通信環境送信部186は、取得したタグ情報(タグ識別IDおよび電波影響レベル)およびリーダライタ識別IDを含む通信環境情報を、通信結果送信部188に供給するとともに、バス161およびSCC152を介してパーソナルコンピュータ13に送信する。パーソナルコンピュータ13のCPU201は、受信した通信環境情報を、入出力インタフェース212、通信部207およびネットワーク21を介してサーバ41に送信する。
ステップS5において、設定調整部182は、設定情報を受信したか否かを判定する。ステップS5の判定処理は、設定情報を受信したと判定されるまで繰り返し実行される。
サーバ41は、後述する図13のステップS41において、リーダライタ12から送信された通信環境情報を受信した場合、ステップS43において、受信した通信環境情報に対応する設定情報を、ネットワーク21を介してパーソナルコンピュータ13に送信する。パーソナルコンピュータ13のCPU201は、受信した設定情報を、通信部207および入出力インタフェース212を介して、リーダライタ12に送信する。
設定調整部182は、SCC152およびバス161を介して、設定情報をパーソナルコンピュータ13から受信した場合、ステップS5において、設定情報を受信したと判定し、処理はステップS6に進む。
ステップS6において、設定調整部182は、リーダライタ12の設定を行う。具体的には、設定調整部182は、例えば、電波の強さ、受信感度、利得値、電波発信間隔、磁界強度、および、ビーム角度が、設定情報に示される各設定値の範囲の中央の値になるように、リーダライタ12の各部を制御する。設定調整部182は、リーダライタ12の設定を行ったことを通知する情報を通信制御部183に供給する。通信制御部183は、リーダライタ12の設定が行われたことを通知する情報を読み取り制御部184および書き込み制御部187に供給する。
ステップS7において、読み取り制御部184は、対象物情報の読み出しを要求する。具体的には、読み取り制御部184は、ICタグ11が取り付けられている対象物に関する対象物情報の読み出しを要求する読み出しコマンドを生成する。読み取り制御部184は、通信制御部183、変調部155、および、アンテナ32を介して、生成した読み出しコマンドをICタグ11に送信する。
ステップS8において、読み取り制御部184は、対象物情報の読み取りが成功したか否かを判定する。読み取り制御部184は、ステップS7において送信した読み出しコマンドに対する読み出し応答コマンドを受信できなかった場合、ICタグ11からの対象物情報の読み取りが失敗したと判定し、処理はステップS9に進む。
ステップS9において、通信制御部183は、ICタグ11との通信が失敗したことを通知する。具体的には、通信制御部183は、ICタグ11との通信が失敗したことを通知する情報を設定調整部182に供給する。
ステップS10において、設定調整部182は、全ての設定値を試みたか否かを判定する。設定調整部182は、設定情報に示される各設定値の範囲から求められる設定値(電波の強さ、受信感度、利得値、電波発信間隔、磁界強度、および、ビーム角度)の組み合わせのうち、まだリーダライタ12の設定に用いていない設定値の組み合わせが残っている場合、まだ全ての設定値を試みていないと判定し、処理はステップS6に戻る。
ステップS6において、設定調整部182は、まだリーダライタ12の設定に用いていない設定値の組み合わせとなるように、リーダライタ12の各部を制御する。すなわち、各設定値の範囲内でリーダライタ12の設定がさらに行われる。
その後、ステップS8において、対象物情報の読み取りが成功したと判定されるか、ステップS10において、全ての設定値を試みたと判定されるまで、ステップS6乃至S10の処理が繰り返し実行される。すなわち、設定情報に示される各設定値の範囲内で、リーダライタ12の電波の強さ、受信感度、利得値、電波発信間隔、磁界強度、および、ビーム角度が調整され、ICタグ11からの対象物情報の読み取りが試みられる。
ICタグ11は、後述する図12のステップS23において、ステップS7において送信された読み出しコマンドを受信した場合、ステップS24において、読み出しコマンドに対する応答であり、対象物情報を含む読み出し応答コマンドをリーダライタ12に送信する。
読み取り制御部184は、アンテナ32、復調部154および通信制御部183を介して、ステップS7において送信した読み出しコマンドに対する読み出し応答コマンドをICタグ11から受信した場合、ステップS8において、対象物情報の読み取りが成功したと判定し、ステップS9およびS10の処理がスキップされ、処理はステップS11に進む。
一方、ステップS10において、全ての設定値を試みたと判定された場合、すなわち、設定情報に示される各設定値の範囲内で、リーダライタ12の電波の強さ、受信感度、利得値、電波発信間隔、磁界強度、および、ビーム角度を調整したにも関わらず、ICタグ11から対象物情報を読み取れなかった場合、処理はステップS11に進む。
ステップS11において、通信結果送信部188は、通信結果を送信する。具体的には、通信制御部183は、ICタグ11との通信が成功したか否かを示す情報を通信結果送信部188に供給する。
ICタグ11との通信が成功した場合、ずなわち、ICタグ11から対象物情報を読み取れた場合、通信結果送信部188は、現在のリーダライタ12の設定値、すなわち、ICタグ11との通信が成功したときの電波の強さ、受信感度、利得値、電波発信間隔、磁界強度、および、ビーム角度の設定値を設定調整部182から取得する。通信結果送信部188は、ICタグ11との通信が成功したことを示す情報、現在のリーダライタ12の設定値、ICタグ11から読み取ったタグ情報、並びに、リーダライタ12のリーダライタ識別IDを含む通信結果情報を生成する。
ICタグ11との通信が失敗した場合、すなわち、ICタグ11から対象物情報を読み取れなかった場合、通信結果送信部188は、ICタグ11との通信が失敗したことを示す情報、ICタグ11から読み取ったタグ情報、および、リーダライタ12のリーダライタ識別IDを含む通信結果情報を生成する。
通信結果送信部188は、生成した通信結果情報を、バス161およびSCC152を介して、パーソナルコンピュータ13に供給する。パーソナルコンピュータ13のCPU201は、受信した通信結果情報を、入出力インタフェース212、通信部207およびネットワーク21を介してサーバ41に送信する。
サーバ41は、後述する図13のステップS44において、リーダライタ12より送信された通信結果情報を受信する。
その後、処理はステップS1に戻り、上述したステップS1以降の処理が実行される。
ステップS3において、ステップS2において送信した読み出しコマンドに対する読み出し応答コマンドを受信できなかった場合、タグ情報の読み取りが失敗したと判定され、処理はステップS1に戻り、上述したステップS1以降の処理が実行される。
次に、図12のフローチャートを参照して、図11のリーダライタ12の対象物情報読み取り処理に対応して、ICタグ11により実行される対象物情報送信処理を説明する。
ステップS21において、読み出し制御部132は、タグ情報の読み出しが要求されたか否かを判定する。具体的には、読み出し制御部132は、上述した図2のステップS1においてリーダライタ12から送信された読み出しコマンドを、アンテナ102、ASK変復調部111、BPSK変復調部112、および、通信制御部131を介して受信した場合、タグ情報の読み出しが要求されたと判定し、処理はステップS22に進む。
ステップS22において、読み出し制御部132は、タグ情報を送信する。具体的には、読み出し制御部132は、EEPROM114の先頭に繰り返し記憶されているタグ情報を全て読み出す。読み出し制御部132は、読み出した全てのタグ情報を含む読み出し応答コマンドを生成する。読み出し制御部132は、通信制御部131、BPSK変復調部112、ASK変復調部111、および、アンテナ102を介して、生成した読み出し応答コマンドをリーダライタ12に送信する。
なお、タグ情報を複数送信することにより、通信障害やノイズなどによりデータの一部に欠落やデータ化けなどが発生した場合でも、リーダライタ12がタグ情報を読み取れる可能性が高くなる。
ステップS21において、タグ情報の読み出しが要求されていないと判定された場合、ステップS22の処理はスキップされ、処理はステップS23に進む。
ステップS23において、読み出し制御部132は、対象物情報の読み出しが要求されたか否かを判定する。具体的には、読み出し制御部132は、上述した図11のステップS7においてリーダライタ12から送信された読み出しコマンドを、アンテナ102、ASK変復調部111、BPSK変復調部112、および、通信制御部131を介して受信した場合、対象物情報の読み出しが要求されたと判定し、処理はステップS24に進む。
ステップS24において、読み出し制御部132は、対象物情報を送信する。具体的には、読み出し制御部132は、読み出しが要求された対象物情報をEEPROM114から読み出す。読み出し制御部132は、読み出した対象物情報を含む読み出し応答コマンドを生成する。読み出し制御部132は、通信制御部131、BPSK変復調部112、ASK変復調部111、および、アンテナ102を介して、生成した読み出し応答コマンドをリーダライタ12に送信する。
その後、処理はステップS21に戻り、上述したステップS21以降の処理が実行される。
ステップS23において、対象物情報の読み出しが要求されていないと判定された場合、処理はステップS21に戻り、上述したステップS21以降の処理が実行される。
次に、図13のフローチャートを参照して、図11のリーダライタ12の対象物情報読み取り処理に対応して、サーバ41により実行される設定情報送信処理を説明する。
ステップS41において、設定情報検索部281は、通信環境情報を受信したか否かを判定する。ステップS41の判定処理は、通信環境情報を受信したと判定されるまで、繰り返し実行される。
設定情報検索部281は、上述した図11のステップS4においてリーダライタ12から送信された通信環境情報を、パーソナルコンピュータ13、ネットワーク21、通信部257、入出力インタフェース262、および、バス261を介して受信した場合、ステップS41において、通信環境情報を受信したと判定し、処理はステップS42に進む。
ステップS42において、設定情報検索部281は、設定情報を検索する。具体的には、設定情報検索部281は、受信した通信環境情報に含まれるタグ識別ID、リーダライタ識別ID、および、電波影響レベルの組み合わせに対応する設定情報を、データベース42に蓄積されている設定情報データベースを用いて検索する。設定情報検索部281は、検索した設定情報、すなわち、受信した通信環境情報に対応する設定情報を設定情報送信部282に供給する。
ステップS43において、設定情報送信部282は、設定情報を送信する。具体的には、設定情報送信部282は、設定情報検索部281から供給された設定情報を、バス261、入出力インタフェース262、通信部257、および、ネットワーク21を介してパーソナルコンピュータ13に送信する。
ステップS44において、通信結果受信部283は、通信結果を受信する。具体的には、通信結果受信部283は、上述した図11のステップS11においてリーダライタ12から送信された通信結果情報を、パーソナルコンピュータ13、ネットワーク21、通信部257、入出力インタフェース262、および、バス261を介して受信する。通信結果受信部283は、受信した通信結果情報をデータベース更新部284に供給する。
ステップS45において、データベース更新部284は、取得した通信結果情報をデータベース42に蓄積させる。
ステップS46において、データベース更新部284は、所定の量以上の通信結果が蓄積されたか否かを判定する。具体的には、データベース更新部284は、データベース42に蓄積されている通信結果情報のデータ量が所定の値以上である場合、所定の量以上の通信結果が蓄積されたと判定し、処理はステップS47に進む。
ステップS47において、データベース更新部284は、設定情報データベースを更新する。具体的には、データベース更新部284は、通信結果情報に含まれる各データを集計および解析し、設定情報に含まれる各設定値の範囲が適切であるか否かを判定する。
例えば、データベース更新部284は、設定情報データベースのレコードごとに、各レコードに対応する通信環境(ICタグ識別ID、電波影響レベル、および、リーダライタ識別IDの組み合わせ)におけるICタグ11とリーダライタ12との間の通信の成功率を算出する。データベース更新部284は、通信の成功率が所定の閾値以上である各レコードについて、通信が成功したときのリーダライタ12の設定値の分布を求める。データベース更新部284は、求めた分布に基づいて、通信の成功率が所定の閾値以上である各レコードに含まれる設定情報の各設定値の範囲を調整する。
また、データベース更新部284は、通信の成功率が所定の閾値未満である各レコードについて、設定情報の見直しが必要であることを情報処理装置15の管理者に通知する。管理者は、通信結果を分析したり、各種の実験を行ったりして、設定情報に示される設定値の見直しを行い、設定値を見直した設定情報に設定情報データベースの対応するレコードを更新する。
その後、処理はステップS41に戻り、上述したステップS41以降の処理が実行される。
ステップS46において、所定の量以上の通信結果が蓄積されていないと判定された場合、処理はステップS41に戻り、上述したステップS41以降の処理が実行される。
このようにして、それぞれの通信環境に対して適切な設定情報に基づいて、リーダライタ12の各設定値が調整され、ICタグ11とリーダライタ12との間の通信が行われるので、リーダライタ12により、ICタグ11のデータの読み取りをより確実に行うことができる。また、実際の通信結果に基づいて、設定情報データベースが適宜更新されるので、さらに確実にリーダライタ12によりICタグ11のデータの読み取りを行うことができる。
なお、以上では、ICタグ11からデータを読み取る場合の例を説明したが、それぞれの通信環境に対して適切な設定情報に基づいて、リーダライタ12の各設定値が調整され、ICタグ11とリーダライタ12との間の通信が行われるので、リーダライタ12により、ICタグ11へのデータの書き込みもより確実に行うことができる。
なお、ICタグ11からのタグ情報の読み取りは、設定情報に基づいてリーダライタ12の設定を行う前に行われるため、通信条件によっては、タグ情報の読み取り率が低くなる場合がある。ここで、より確実にICタグ11からタグ情報を読み取ることができるようにする方法について説明する。
例えば、工場や倉庫のラインのように、リーダライタ12の通信領域32Aを同様の対象物が連続して通過する場合、後続する対象物の一群に対応するタグ情報を記憶するとともに、それらの対象物に取り付けられた状態よりも通信条件が良好となるようにしたICタグ11(以下、先導タグと称する)を、その対象物の一群が通過する直前に通信領域32Aを通過させるようにする。これにより、リーダライタ12が、後続する対象物の一群に対応するタグ情報をより確実に読み取れるようになる。
また、例えば、センサ14により対象物の接近を検出した場合、対象物に取り付けられているICタグ11からデータを読み取りやすくするように、リーダライタ12の設定値を調整するようにしてもよい。以下、図14のフローチャートを参照して、この方法を用いた場合に、図11を参照して上述した処理の代わりにリーダライタ12により実行される対象物情報読み取り処理の例を説明する。
ステップS101において、対象物接近検出部181は、対象物の接近を検出したか否かを判定する。具体的には、対象物検出部121は、センサ14から出力されるデータに基づいて、ICタグ11が取り付けられた対象物の接近を監視し、対象物の接近を検出したと判定した場合、処理はステップS102に進む。
ステップS102において、設定調整部182は、タグ情報をより確実に読み取れるように、リーダライタ12の設定を一時的に変更する。具体的には、設定調整部182は、リーダライタ12の各部を制御して、アンテナ32から発信する電波を強くしたり、電波を発信する頻度を増やしたり、または、受信感度を高くするなどして、ICタグ11からタグ情報をより確実に読み取れるように、リーダライタ12の設定を一時的に変更する。
ステップS101において、対象物の接近を検出していないと判定された場合、ステップS102の処理はスキップされ、処理はステップS103に進む。
ステップS103以降の処理は、上述した図11のステップS1以降の処理と同様であり、その説明は省略する。
さらに、例えば、タグ情報をより確実に読み取れるように、ICタグ11の消費電力を制御するようにしてもよい。以下、図15のフローチャートを参照して、この方法を用いた場合に、図12を参照して上述した処理の代わりにICタグ11により実行される対象物情報送信処理の例を説明する。
ステップS131において、電力制御部133は、リーダライタ12からの電力の供給が開始されたか否かを判定する。電力制御部133は、図示せぬ電圧レギュレータから供給される直流電力を監視することにより、例えば、リーダライタ12の通信領域32AにICタグ11が進入し、リーダライタ12からの電力の供給が開始されたと判定した場合、処理はステップS132に進む。
ステップS132において、電力制御部133は、消費電力を抑制する。具体的には、電力制御部133は、ICタグ11の各部を制御して、タグ情報の送信以外の機能を制限し、ICタグ11が消費する電力のうち、タグ情報を送信するために必要な電力以外の消費を抑制する。
これにより、ICタグ11は、利用することができる機能(例えば、対象物管理情報の送信など)が制限される一方、リーダライタ12から受信する電波が弱く、供給される電力が弱くても、リーダライタ12にタグ情報を送信することができるようになる。
ステップS133において、上述した図12のステップS21の処理と同様に、タグ情報の読み出しが要求されたか否かが判定される。タグ情報の読み出しが要求されたと判定された場合、処理はステップS134に進む。
ステップS134において、上述した図12のステップS22の処理と同様に、タグ情報がリーダライタ12に送信される。
ステップS134において、電力制御部133は、消費電力を元に戻す。具体的には、読み出し制御部132は、タグ情報の送信を行ったことを通知する情報を電力制御部133に供給する。電力制御部133は、通常の機能が使用できるように、ICタグ11の各部を制御して、ICタグ11の消費電力を通常の状態に戻す。
ステップS133において、タグ情報の読み出しが要求されていないと判定された場合、ステップS134およびS135の処理はスキップされ、処理はステップS136に進む。
ステップS136において、上述した図12のステップS23の処理と同様に、対象物情報の読み出しが要求されたか否かが判定される。対象物情報の読み出しが要求されたと判定された場合、処理はステップS137に進む。
ステップS137において、上述した図12のステップS24の処理と同様に、対象物情報がリーダライタ12に送信される。
ステップS136において、対象物情報の読み出しが要求されていないと判定された場合、ステップS137の処理はスキップされ、処理はステップS138に進む。
ステップS138において、電力制御部133は、リーダライタ12からの電力の供給がなくなったか否かを判定する。電力制御部133は、図示せぬ電圧レギュレータから供給される直流電力を監視することにより、リーダライタ12からの電力の供給がなくなっていないと判定した場合、処理はステップS133に戻り、上述したステップS133以降の処理が実行される。
ステップS138において、例えば、リーダライタ12の通信領域32AからICタグ11が出て、リーダライタ12からの電力の供給がなくなったと判定された場合、処理はステップS131に戻り、上述したステップS131以降の処理が実行される。
以上のようにして、より確実にICタグ11からタグ情報を読み取ることができるようになる。
また、タグ情報をICタグ11から読み取る代わりに、外部から与えることにより、リーダライタ12がタグ情報を確実に取得できるようにしてもよい。
図16のフローチャートを参照して、タグ情報を外部から与える場合に、図11を参照して上述した処理の代わりに、リーダライタ12により実行される対象物情報読み取り処理の例を説明する。
ステップS161において、対象物通過予定管理部185は、対象物通過予定情報が送信されてきたか否かを判定する。具体的には、例えば、ユーザが、入力部204を介してパーソナルコンピュータ13に対象物通過情報を入力した場合、パーソナルコンピュータ13のCPU201は、入力された対象物通過予定情報を、入出力インタフェース212を介してリーダライタ12に送信する。
対象物通過予定管理部185は、SCC152およびバス161を介して、対象物通過予定情報をパーソナルコンピュータ13から受信した場合、ステップS161において、対象物通過予定情報を受信したと判定し、処理はステップS162に進む。
ステップS162において、対象物通過予定管理部185は、受信した対象物通過予定情報をメモリ153に記憶させる。
ステップS161において、対象物通過予定情報を受信していないと判定された場合、ステップS162の処理はスキップされ、処理はステップS163に進む。
ステップS163において、対象物通過予定管理部185は、対象物が通過する時間であるか否かを判定する。対象物通過予定管理部185は、対象物通過予定情報に基づいて、例えば、ICタグ11が取り付けられた対象物が通信領域32Aを通過する予定の時間より所定の時間(例えば、10秒)だけ前になった場合、対象物が通過する時間であると判定し、処理はステップS164に進む。
なお、例えば、工場や倉庫のラインなどのように、リーダライタ12の通信領域32Aを同じ対象物が連続して通過する場合、その対象物の一群が通過している間、リーダライタ12の設定を変更する必要がないため、その一群の先頭の対象物が通過する時間が対象物通過予定対象物情報に設定される。従って、その一群の先頭の対象物が通過する直前に、ステップS163において、対象物が通過する時間であると判定される。
ステップS164において、通信環境送信部186は、通信環境情報を送信する。具体的には、対象物通過予定管理部185は、対象物通過予定情報に基づいて、次に通過する対象物に取り付けられているICタグ11のタグ識別ID、および、その対象物の電波影響レベルを通信環境送信部186に供給する。通信環境送信部186は、メモリ153に記憶されているリーダライタ識別IDを読み出す。通信環境送信部186は、取得したタグ識別IDおよび電波影響レベル(タグ情報)、並びに、リーダライタ識別IDを含む通信環境情報を、通信結果送信部188に供給するとともに、バス161およびSCC152を介してパーソナルコンピュータ13に送信する。パーソナルコンピュータ13のCPU201は、受信した通信環境情報を、入出力インタフェース212、通信部207およびネットワーク21を介してサーバ41に送信する。
ステップS165において、上述した図11のステップS5の処理と同様に、通信環境情報を受信したか否かが判定される。ステップS164において送信した通信環境情報に対応する設定情報を受信したと判定された場合、処理はステップS166に進む。
ステップS166において、上述した図11のステップS6の処理と同様に、リーダライタ12の設定が行われる。その後、処理はステップS168に進む。
ステップS163において、対象物が通過する時間でないと判定された場合、処理はステップS167に進む。
ステップS167において、上述した図11のステップS1の処理と同様に、ICタグ11との通信が可能であるか否かが判定される。ICタグ11との通信が可能であると判定された場合、処理はステップS168に進む。
ステップS168乃至S172の処理は、上述した図11のステップS6乃至S11の処理と同様であり、その説明は省略する。
ステップS172の処理の後、処理はステップS161に戻り、ステップS161以降の処理が実行される。
ステップS167において、ICタグ11との通信が不可能であると判定された場合、処理はステップS161に戻り、ステップS161以降の処理が実行される。
このようにして、リーダライタ12がタグ情報をより確実に取得することができるようになる。
[本実施の形態が支援するビジネスモデル]
次に、図17を参照して、本発明の一実施の形態である通信システム1が支援するビジネスモデルの例を説明する。
登録機関501は、設定情報データベースの登録および管理、並びに、設定情報を提供する機関であり、情報処理装置15を保有する。
会社502は、リーダライタ511、521または531のメーカーまたは販売会社である。
会社503は、ICタグ11のメーカーまたは販売会社である。
メーカー504は、対象物541を製造する会社である。メーカー504は、リーダライタ511およびパーソナルコンピュータ512を保有し、ICタグ11により自社の製品である対象物541を管理する。
物流会社505は、メーカー504から供給される、ICタグ11が取り付けられた対象物541を保管したり、販売会社506に輸送したりする。物流会社505は、リーダライタ521およびパーソナルコンピュータ522を保有し、ICタグ11により対象物541を管理する。
販売会社506は、対象物541を一時保管するとともに、対象物541を顧客に販売する。販売会社506は、リーダライタ531およびパーソナルコンピュータ532を保有し、ICタグ11により対象物541を管理する。
例えば、会社502は、所定の登録料を支払って、自社のリーダライタ511、512または513の情報の登録を登録機関501に申請する。これにより、申請されたリーダライタ511、521または531の型式に対してリーダライタ識別IDが割り当てられる。会社502は、割り当てられたリーダライタ識別IDをリーダライタ511、521、または531に設定したものをユーザに提供する。
また、会社503は、所定の登録料を支払って、自社のICタグ11の情報の登録を登録機関501に申請する。これにより、申請されたICタグ11の型式に対してタグ識別IDが割り当てられる。会社503は、割り当てられたICタグ識別IDをICタグ11に設定したものをユーザに提供する。
メーカー504は、対象物541を管理するために用いるICタグ11のメーカーおよび型式、リーダライタ511のメーカーおよび型式、並びに、対象物541に関する情報(例えば、対象物の材質など)を提供するとともに、所定の登録料を支払って、自社の通信環境に対する設定情報の登録を登録期間501に申請する。
登録機関501は、リーダライタ511の型式およびICタグ11の型式がともに設定情報データベースに登録されている場合(リーダライタ識別IDおよびタグ識別IDが割り当てられている場合)、提供された対象物に関する情報に基づいて、対象物541の電波影響レベルを求める。
登録機関501は、ICタグ11のICタグ識別ID、リーダライタ521のリーダライタ識別ID、および、対象物541に対する電波影響レベルの組み合わせに対応する設定情報が既に設定情報データベースに登録されている場合、その設定情報をメーカー504に供給するようにサーバ41を設定する。
また、登録機関501は、ICタグ11のICタグ識別ID、リーダライタ521のリーダライタ識別ID、および、対象物541に対する電波影響レベルの組み合わせに対応する設定情報が既に設定情報データベースに登録されていない場合、その組み合わせに対する設定情報(各設定値の範囲)を実験などにより求める。登録機関501は、求めた設定情報を設定情報データベースに登録するとともに、メーカー504に供給するようにサーバ41を設定する。
メーカー541は、ICタグ11に対象物541の電波影響レベルを書き込んだICタグ11を対象物541に取り付け、ICタグ11から対象物情報の読み取る場合に、自社の通信環境に対応する設定情報を登録機関501から受信する。
なお、リーダライタ511のリーダライタ識別IDおよびICタグ11のICタグ識別IDのうち少なくとも一方が設定情報データベースに登録されていない場合、メーカー504は、自社の通信環境に対応する設定情報を登録することができない。
物流会社505も、リーダライタ521のリーダライタ識別IDおよびICタグ11のICタグ識別IDがともに設定情報データベースに登録されている場合、メーカー504と同様の手続きにより、自社の通信環境に対応する設定情報を登録機関501から受信することができるようになる。
販売会社506も、リーダライタ321のリーダライタ識別IDおよびICタグ11のICタグ識別IDがともに設定情報データベースに登録されている場合、メーカー504と同様の手続きにより、自社の通信環境に対応する設定情報を登録機関501から受信することができるようになる。
会社502は、自社のリーダライタの情報を設定情報データベースに登録することにより、設定情報データベースに情報が登録されているICタグに対するデータの読み書きの成功率および信頼性が向上する。従って、会社502のリーダライタの売り上げが伸びる可能性が高くなる。
また、会社503は、自社のICタグの情報を設定情報データベースに登録することにより、設定情報データベースに情報が登録されているリーダライタによるデータの読み書きの成功率および信頼性が向上する。従って、会社503のICタグの売り上げが伸びる可能性が高くなる。
さらに、メーカー504、物流会社505、または、販売会社506は、自社の通信環境に対応する設定情報の提供を受けることにより、ICタグ11のデータの読み書きの成功率および信頼性が向上する。従って、データの読み書きのやり直し、対象物を管理する上でのミスなどが削減され、作業性が向上し、コスト削減を達成することができる。
なお、以上の説明では、パーソナルコンピュータ13を介して、リーダライタ12と情報処理装置15とが通信する例を説明したが、リーダライタ12に通信手段を設けて、リーダライタ12と情報処理装置15が、ネットワーク21を介して直接通信を行うようにしてもよい。
また、上述したタグ識別IDの代わりに、ICタグ11に関する具体的な情報(例えば、メーカー名、型式、特性、形状など)を用いるようにしてもよい。
さらに、上述したリーダライタ識別IDの代わりに、リーダライタ12に関する具体的な情報(例えば、メーカー名、型式、特性など)を用いるようにしてもよい。
また、設定情報データベースを、例えば、リーダライタ12のメモリ153、または、パーソナルコンピュータ13の記録部206に格納するようにして、サーバ41との通信処理を省略するようにしてもよい。これにより、処理時間を短縮することができる。なお、この場合、例えば、設定情報データベースの登録機関から、定期的に、最新の設定情報データベースをネットワーク21を介して配布したり、最新の設定情報データベースを記録した記録媒体を配布するようにすることが望ましい。
さらに、ICタグ11との通信が成功したときのリーダライタ12の設定値をICタグ11に書き込むようにして、それ以降、同じ種類のリーダライタ12が、設定値が書き込まれたICタグ11と通信を行う場合、まず、ICタグ11に書き込まれている設定値を読み出し、読み出した設定値に基づいて、リーダライタ12の設定を調整するようにしてもよい。これにより、同じ種類のリーダライタ12は、より迅速にICタグ11に最適な設定を行うことができるようになる。
また、通信環境をより詳細に表すために、ICタグを取り付けた状態におけるICタグと対象物との位置関係を示す情報、対象物の形状を示す情報などを通信環境情報に含めるようにしてもよい。例えば、図1を参照して上述した例において、図18に示されるように、ICタグ11を梱包材61に取り付けた状態における、ICタグ11と対象物である缶入り飲料62−1乃至62−8との最小距離Lmin、缶入り飲料62−1乃至62−4の缶の表面により形成される波形の径Rおよび間隔Wなどを通信環境情報に含めるようにしてもよい。これにより、通信環境がより詳細に定義されるため、より適切な設定情報を提供することができるようになる。
さらに、設定情報は、必ずしも、感度、電波発信間隔、磁界強度、および、ビーム間隔の設定値を全て含む必要はなく、感度、電波発信間隔、磁界強度、および、ビーム間隔の設定値のうち少なくとも一つを含むようにし、リーダライタは、設定情報に含まれる設定値を調整するようにしてもよい。
また、本発明は、リーダライタ12だけでなく、ICタグへの書き込み機能がないリーダにも適用することが可能である。
さらに、本発明は、バーコード、2次元コードなどを用いた他の方式により非接触でデータを読み取るシステムにも適用することができる。例えば、バーコードまたは2次元コードの方式によりデータを読み取るシステムに適用する場合、コードが印刷された表面の材質や形状などの情報をコードに記録するようにする。そして、コードに記録された情報、および、コードを読み取る読み取り装置の種類に基づく設定情報を読み取り装置に提供し、提供された設定情報に基づいて、読み取り装置が設定を行うようにすればよい。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを記録する記録媒体は、図6または図9に示されるように、リムーバブルメディア158または259により構成されるだけでなく、装置本体にあらかじめ組み込まれた状態でユーザに提供される、プログラムが記録されているメモリ153または記録部256に含まれるハードディスクなどで構成される。
なお、本明細書において、プログラム格納媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
さらに、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。