説明

無線タグリーダ、無線タグシステム、プログラムおよび無線通信方法

【課題】 検出可能領域内の無線タグを短時間で検出する。
【解決手段】 各々タグ情報を保持した複数の無線タグと、無線タグリーダとが通信する。前記無線タグリーダが、前記複数の無線タグに読み出し要求信号を同時に送信し、各前記無線タグが、あらかじめ保持する、前記タグ情報からブルームフィルタアルゴリズムに基づき生成されたブルームフィルタを所定の符号化方式によって符号化してブルームフィルタ信号を生成し、生成した前記ブルームフィルタ信号を前記無線タグリーダに送信し、前記無線タグリーダが、前記複数の無線タグからの前記ブルームフィルタ信号を同時に受信して衝突ブルームフィルタ信号を取得し、前記衝突ブルームフィルタ信号を復号して各前記ブルームフィルタの論理和をとった合成ブルームフィルタを取得し、前記合成ブルームフィルタに対し、あらかじめ与えられたタグ情報を検証する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、無線タグリーダ、無線タグシステム、プログラムおよび無線通信方法に関する。
【背景技術】
【0002】
近年、物品の効率的な管理を行うために無線タグシステムを導入するケースが増えてきている。無線タグシステムでは、管理対象となる物品に埋め込まれるRFIDタグと、RFIDタグからデータを読み出すリーダライタとを使用する。この無線タグシステムにおいて、リーダライタによるデータ読出し時に、複数のRFIDタグから同時に応答があると、データの衝突(コリジョン)が発生する問題がある。
【0003】
従来におけるアンチコリジョン(Anti-Collision) 技術としては、ALOHA 系と二分木探索とが有力であった。
【0004】
ALOHA 系は、リーダライタ が、RFIDタグへの問い合わせに対する返答信号に衝突を検出した場合、RFIDタグのタグID の最上位ビット(MSB) から順番に条件を絞った問い合わせを行い、衝突の原因となるRFIDタグのうち1つのみが反応する条件になるまでこれを繰り返す方式である。このALOHA系は、RFIDタグに搭載すべきロジック回路が簡易である点が特徴である。しかし、この方式では、同時に反応するRFIDタグが1つになるまで、複数ステップによる絞り込み手続きを行うため、ステップ数が多くなると読み出しに時間がかかるという欠点がある。
【0005】
一方、二分木探索は、異なるタグID を持つRFIDタグが同時に応答した場合に、タグID のうち差分部分(ビット値が異なる部分)のみがリーダライタ によって衝突信号として検出でき、且つ、共通部分(ビット値が同一の部分)についてはそのまま読み出しが可能である符号化方式の場合に適用できる。例えばマンチェスター符号化の場合は、0と1とが同時に送信された場合は衝突を検出できる。この二分木探索を用いる場合も、複数ステップによる絞り込み手続きを行うため、ステップ数が多くなると読み出しに時間がかかるという欠点がある。
【0006】
以上の他、従来におけるアンチコリジョン技術を示した文献として特開2004-62665号(特許文献1)がある。
【0007】
この特許文献1におけるアンチコリジョン機構は、従来のアルゴリズム(JIS-X6323-3, ISO/IEC15693-3) をベースに、衝突が発生した場合はRFIDタグの応答スロット開始位置をずらすという簡易なアルゴリズムで、アンチコリジョン機能を実現する。単にスロットをずらしただけでは再び衝突が起きる可能性があるが、十分なID 空間があれば(特許文献1の説明では56bit 以上としている) 再び衝突が起きる可能性は低く、数回の試行でタグID が取得できるとしている。
【0008】
しかし、この特許文献1に記載の技術でも、数回の試行でタグIDを1つ取得できるのみである。従って、リーダライタによる検出可能領域内の全てのRFIDタグからタグIDを取得するには、すなわち、検出可能領域内に存在する全てRFIDタグを検出するには、多くの時間を要するという問題がある。
【特許文献1】特開2004-62665公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明は、検出可能領域内に存在する無線タグを短時間で検出できる無線タグリーダ、無線タグシステム、プログラムおよび無線通信方法を提供する。
【課題を解決するための手段】
【0010】
本発明の一態様としての無線タグリーダは、各々タグ情報と前記タグ情報からブルームフィルタアルゴリズムに基づき生成されたブルームフィルタとを保持した複数の無線タグと通信する無線タグリーダであって、前記ブルームフィルタの読み出しを要求する読み出し要求信号を前記複数の無線タグに同時に送信する送信手段と、前記複数の無線タグの各々からのブルームフィルタ信号を同時に受信して衝突ブルームフィルタ信号を取得する受信手段と、前記衝突ブルームフィルタ信号を復号して、各前記ブルームフィルタの論理和をとった合成ブルームフィルタを取得する復号手段と、タグ情報を格納するデータ格納手段と、前記合成ブルームフィルタに対し前記データ格納部内のタグ情報を検証するフィルタ検証手段と、を備える。
【0011】
本発明の一態様としての無線タグシステムは、複数の無線タグと前記複数の無線タグと通信する無線タグリーダとを備えた無線タグシステムであって、各前記無線タグは、前記タグ情報と、前記タグ情報からブルームフィルタアルゴリズムにより生成されたブルームフィルタとを格納したメモリ手段と、前記無線タグリーダから前記ブルームフィルタの読み出し要求を受けた場合は、前記メモリ手段内の前記ブルームフィルタを所定の符号化方式によって符号化してブルームフィルタ信号を生成し、生成した前記ブルームフィルタ信号を前記無線タグリーダに送信する応答手段と、を有し、前記無線タグリーダは、前記ブルームフィルタの読み出しを要求する読み出し要求信号を前記複数の無線タグに同時に送信する送信手段と、前記複数の無線タグからの前記ブルームフィルタ信号を同時に受信して衝突ブルームフィルタを取得する受信手段と、前記衝突ブルームフィルタ信号を復号して、各前記ブルームフィルタの論理和をとった合成ブルームフィルタを取得する復号手段と、タグ情報を格納するデータ格納手段と、前記合成ブルームフィルタに対し前記データ格納部内のタグ情報を検証するフィルタ検証手段と、を有した、ことを特徴とする。
【0012】
本発明の一態様としてのプログラムは、各々タグ情報と前記タグ情報からブルームフィルタアルゴリズムに基づき生成されたブルームフィルタとを保持した複数の無線タグと通信する手段としてコンピュータを機能させるプログラムであって、前記ブルームフィルタの読み出しを要求する読み出し要求信号を前記複数の無線タグに同時に送信する送信手段、前記複数の無線タグの各々からのブルームフィルタ信号を同時に受信して衝突ブルームフィルタ信号を取得する受信手段、前記衝突ブルームフィルタ信号を復号して、各前記ブルームフィルタの論理和をとった合成ブルームフィルタを取得する復号手段、前記合成ブルームフィルタに対し、あらかじめ与えられたタグ情報を検証するフィルタ検証手段、として前記コンピュータを機能させる。
【0013】
本発明の一態様としての無線通信方法は、各々タグ情報を保持した複数の無線タグと、無線タグリーダとが通信する無線通信方法であって、前記無線タグリーダが、前記複数の無線タグに読み出し要求信号を同時に送信し、各前記無線タグが、あらかじめ保持する、前記タグ情報からブルームフィルタアルゴリズムに基づき生成されたブルームフィルタを所定の符号化方式によって符号化してブルームフィルタ信号を生成し、生成した前記ブルームフィルタ信号を前記無線タグリーダに送信し、前記無線タグリーダが、前記複数の無線タグからの前記ブルームフィルタ信号を同時に受信して衝突ブルームフィルタ信号を得、前記衝突ブルームフィルタ信号を復号して各前記ブルームフィルタの論理和をとった合成ブルームフィルタを得、前記合成ブルームフィルタに対し、あらかじめ与えられたタグ情報を検証する、ことを特徴とする。
【発明の効果】
【0014】
本発明により、検出可能領域内に存在する無線タグを短時間で検出できる。
【発明を実施するための最良の形態】
【0015】
図1は、本発明の実施の形態に従った無線タグシステムの構成を概略的に示すブロック図である。
【0016】
この無線タグシステムは、複数のRFIDタグ11と、検出可能領域21に存在するRFIDタグ11と通信するリーダライタ31と、リーダライタ31に対し検出可能領域21内に存在するRFIDタグを検出することを指示するアプリケーション装置41とを備える。
【0017】
RFIDタグ11は、メモリ部12と、リーダライタ31からの読み出し要求に応じてメモリ部12内のデータを読み出し読み出したデータをリーダライタ31に返すタグ回路13とを備える。
【0018】
メモリ部12内には、RFIDタグ11に固有に割り当てられたタグIDと、このタグIDから生成されたブルームフィルタ(後述)と、ブルームフィルタのビット列から生成されたCRCまたはパリティとが格納されている。この他、メモリ部12内には、RFIDタグ11が取り付けられる物品の物品情報 (例えば服飾品のサイズ等)が格納されてもよい。
【0019】
RFIDタグ11におけるタグ回路13は、リーダライタ31からの読み出し要求を受けると、メモリ部12内のブルームフィルタと、CRC、パリティまたはIDタグとを読み出し、符号化および変調を施して、リーダライタ31に送信する。ブルームフィルタのみを送信しても良い。送信の際の変調方式としては、例えばASK、FSK等を用いることができる。
【0020】
図2(A)は、RFIDタグ11からリーダライタ31へ送信するデータ内容の一例を示す。図2(B)は、図2(A)のデータをNRZ符号化して生成した符号化信号を示し、この符号化信号がさらに変調されることでリーダライタ31に送信される。
【0021】
符号化方式には、他の送信信号との衝突時に、ビット単位でOR演算となることが要求される。上記NRZ符号化方式にはこの性質を持たせることができる。なお、データの送信方向は、ブルームフィルタ側およびCRC(orタグID)側のどちらからでも良い。
【0022】
ここでブルームフィルタについて簡単に説明する。なお、ブルームフィルタの詳細については、Broder et al., Network Applications of Bloom Filters: A Survey 等を参照されたい。
【0023】
ブルームフィルタとは、ある任意のデータdがデータ集合X に含まれるかどうかをハッシュ関数の応用により確率的に検査するためのフィルタである。
【0024】
データ集合Xより生成されたブルームフィルタBF-Xに対して、定められた手続きを行うことで、あるデータd がデータ集合Xに含まれるか否かを「検証」することができる。手続きの結果、positive(陽性) ないしnegative(陰性) という2通りの結果が得られる。
【0025】
陰性の結果が得られた場合は、データ集合X にデータd が含まれている可能性は無い。一方、陽性の結果が得られた場合は、データ集合Xにデータd が含まれる可能性が高い。すなわち、陽性の結果が得られても、必ずしもデータ集合X にデータd が含まれているとは限らない。データ集合Xにデータdが含まれていないにも拘わらず陽性の結果が得られる場合を偽陽性と呼ぶ。
【0026】
以下、このような性質を有するブルームフィルタの生成方法について説明する。
【0027】
ブルームフィルタの生成には以下のパラメータを用いる。
【0028】
・m:フィルタの長さ
・k:繰り返し回数(用意するハッシュ関数の個数)
ブルームフィルタの生成は以下の手順に従う。
【0029】
(1)ブルームフィルタの生成手順
1.長さmのビット列Fを用意し、全て0にセットする。
2.値域が[1,m] となる、k 個の独立したハッシュ関数hn() (ただしn=1・・・k ) を用意する。同一のハッシュアルゴリズムに対してそれぞれ異なる定数(salt) を与えることでk 個の独立したハッシュ関数hn()を用意しても良い。
3.入力データ集合X の各要素xi に対して、次の処理を行う。
(a) p = 1 とする
(b) もしp > k ならば終了
(c) 2.で用意したハッシュ関数hp() を用い、idx = hp(xi) を計算
(d) ビット列F のidx ビット目を1 にする(既に1が立っていた場合は、ビット値をそのまま1とする)
(e) p に1 を加える
(f) 手順3.(b) へ戻る
【0030】
要するに、入力データ集合Xの要素xiの各々について、k個のハッシュ関数からそれぞれハッシュ値idxを求め、ビット列Fのidxビット目にそれぞれ1を立てることでブルームフィルタを生成する。
【0031】
次に、入力データ集合Xにデータdが含まれるか否かの検証(フィルタ検証)は以下の手順で行う。
【0032】
(2)フィルタ検証の手順
1.p = 1 とする。
2.もしp>k ならば陽性を返す。
3.検証したいデータd について、idx = hp(d)を計算。
4.ビット列F のidx ビット目を調べ、0 ならば陰性を返す。
5.p に1 を加える。
6.手順2.に戻る。
【0033】
要するに、k個のハッシュ関数にそれぞれデータdを入力し、各々のハッシュ関数の出力idxに対応するビット位置が全て1であれば陽性を返し、各々のハッシュ関数の出力idxに対応するビット位置の少なくともいずれかが0であれば陰性を返す。
【0034】
ここで、偽陽性が発生する場合、すなわち、データ集合Xにデータdが含まれないにも拘わらず手順2.において陽性が返される場合は、各々のハッシュ関数の出力idxに対応するビット位置がたまたま全て1であった場合である。例えばデータAおよびデータBからなるデータ集合Yから生成されたブルームフィルタBF-Yがあるとする。このブルームフィルタBF-Yにおける1の位置、すなわちデータAに基づく1の位置とデータBに基づく1の位置とのORをとった位置が、データdに基づく1の位置を包含する場合がある。このような場合に、ブルームフィルタBF-Yを用いてデータdの検証を行うと、偽陽性が発生することとなる。
【0035】
ここで、偽陽性の発生確率Rfp は、Rfp=sk・・・(式1)として表される。ただし、sはブルームフィルタ内の全ビットのうち1 になっているビットの比率を表すサチュレーション(saturation)である。例えば、k = 10 かつs = 0.5の場合はRfp = 0.510となる。
【0036】
上述したように、RFIDタグ11におけるメモリ部12内には、RFIDタグ11のタグIDから生成されたブルームフィルタが格納されている。つまり、このブルームフィルタは1つのデータ(タグID)から生成されたものである。なお、タグID からのブルームフィルタの生成では、フィルタ長mに対し、用意するハッシュ関数の個数kが小さく設定されることが好ましい。この場合、生成されるブルームフィルタのビットのほとんどが0となる。
【0037】
図1において、リーダライタ31における制御部32は、アプリケーション装置41からRFIDタグの検出指示を受け取ると、RFIDタグ11と通信を行う通信部33に対し、検出可能領域21内のRFIDタグ11からデータを読み出すことを指示する。
【0038】
通信部33は、検出可能領域21に読み出し要求信号を送信する。通信部33は、読み出し要求信号を受け取った単数または複数のRFIDタグ11から返されるデータ信号を受信する。通信部33は、受信したデータ信号を復調および復号する。複数のRFIDタグ11からデータ信号が返された場合、すなわち通信部33が複数のRFID11からのデータ信号を同時に受信した場合、衝突(コリジョン)が発生する。
【0039】
図3は、2つのRFIDタグ11(第1および第2のRFIDタグ)から同時に応答があった場合に生じるコリジョンを説明する図である。
【0040】
図3(A)は、各RFIDタグの送信データの内容を示す。図3(B)は第1のRFIDタグの送信データをNRZ符号化して生成した符号化信号を示す。図3(C)は第2のRFIDタグの送信データをNRZ符号化して生成した符号化信号を示す。図3(D)は通信部33において受信された衝突信号を復調して得た符号化信号(観測信号)を示す。
【0041】
図3(D)から理解されるように、通信部33において得た符号化信号は、第1のRFIDタグから送信されたNRZ符号化信号と、第2のRFIDタグから送信されたNRZ符号化信号とのOR合成値となる。
【0042】
以降の説明では、通信部33は、ブルームフィルタとCRCとからなるデータを、単数のRFIDタグ11から受信、または複数のRFIDタグ11から同時に受信したとする。
【0043】
通信部33は、受信したデータ(単数のRFIDタグ11からのデータまたは複数のRFIDタグ11からのデータをOR合成した合成データ)におけるCRC(受信CRC)と、受信したデータにおけるブルームフィルタ(受信フィルタ)とが整合するか否かを検査する。
【0044】
整合する場合は、通信部33は、単数のRFID11タグからデータを受信したと(コリジョンが発生していないと)判断し、整合しない場合は複数のRFID11タグからデータを受信したと(コリジョンが発生したと)判断する。通信部33が、複数のRFIDタグ11からデータを受信したと判断した場合、受信CRCは、各RFIDタグ11からのCRCのOR合成値(合成CRC)となり、受信フィルタは、各RFIDタグ11からのブルームフィルタのOR合成値(合成フィルタ)となる。通信部33は、コリジョンの発生の有無を制御部32に通知し、また、コリジョンの発生の有無と受信フィルタとをフィルタ検証部34に渡す。
【0045】
リーダライタ31におけるデータ格納部35は、既知のタグIDを複数格納している。また、データ格納部35内には、タグIDの各々から生成されたブルームフィルタが、各タグIDに対応づけられて格納されている。なお、RFIDタグの生産時には、全く同じフィルタが生成されるタグID を持つRFIDタグを排除するように管理することが望ましい。
【0046】
フィルタ検証部34は、通信部33からコリジョンが発生している旨を受け取った場合は、上述したフィルタ検証の手順に従い、受信フィルタ(合成フィルタ)に対してデータ格納部35内の各タグIDを検証する。フィルタ検証部34は、検証の結果が陽性であるタグIDを全て検出し、検出したタグIDを制御部32に渡す。
【0047】
ここで、フィルタ検証部34は、フィルタ検証の際、合成フィルタにおいて参照したビット位置を記憶しておく。フィルタ検証部34は、フィルタ検証の後、合成フィルタにおいて参照されなかったビット位置が存在するか否かを検査し、存在する場合、そのビット位置に1が立っているか否かを検査する。フィルタ検証部34は、1が立っている場合、未知のタグIDを持つRFIDタグ11が検出可能領域21内に存在することを決定する。ただし、ハッシュ衝突が発生した場合は、未知のタグIDを持つRFIDタグ11が存在したとしてもその存在が隠れてしまう可能性がある。すなわち、既知の複数のタグIDによる複数のブルームフィルタのOR合成値が、ある未知のタグIDによるブルームフィルタを包含する場合は、仮に未知のタグIDを持つRFIDタグが存在したとしても、その存在が隠れてしまう。フィルタ検証部34は、未知のタグIDを持つRFIDタグ11が存在すると判断した場合は、その旨を制御部32に通知しても良い。
【0048】
一方、フィルタ検証部34は、通信部33からコリジョンが発生していない旨を受け取った場合は、受信フィルタと同一のフィルタを持つタグIDをデータ格納部35から検出し、検出したタグIDを制御部32に渡す。なお、上述と同様に、この受信フィルタに対してデータ格納部35内の各タグIDを検証して、検証の結果が陽性であるタグIDを検出し、検出したタグIDを制御部32に渡しても良い。
【0049】
制御部32は、フィルタ検証部34から受け取ったタグIDと、通信部33から受け取ったコリジョンの発生の有無とを、アプリケーション装置41に渡す。制御部32は、フィルタ検証部34から未知のタグIDを持つRFIDタグ11が存在する旨を受けとった場合は、その旨もアプリケーション装置41に渡す。
【0050】
以上では、RFIDタグ11から読み出すデータはブルームフィルタおよびCRCである例を説明したが、RFIDタグ11から読み出すデータがブルームフィルタおよびタグIDである場合は例えば以下のようになる。
【0051】
通信部33は、単数のRFIDタグ11からのデータ、または複数のRFIDタグ11からのデータをOR合成した合成データにおける、受信フィルタおよび受信タグIDをフィルタ検証部34に渡す。
【0052】
フィルタ検証部34は、受信タグIDと同一のタグIDがデータ格納部35に存在するか否かを検査し、存在しない場合はコリジョンが発生したと判断する。この場合、フィルタ検証部34は、受信フィルタに対してデータ格納部35内の各タグIDを検証する。フィルタ検証部34は、検査の結果、陽性であった全てのタグIDと、コリジョンが発生した旨とを、制御部32に渡す。
【0053】
一方、フィルタ検証部34は、受信タグIDと同一のタグIDがデータ格納部35に存在する場合は、コリジョンが発生していないと判断する。この場合、フィルタ検証部34は、このタグIDと、コリジョンが発生していない旨とを制御部32に渡す。これによりフィルタ検証等を行わずに済むため、処理を高速化できる。
【0054】
制御部32は、フィルタ検証部34から受け取ったタグIDと、コリジョンの発生の有無とをアプリケーション装置41へ返す。
【0055】
ところで、上述したように、フィルタ検証部34におけるフィルタ検証では、偽陽性が発生し得る。偽陽性発生確率Rfpは、上記(式1)に示したように、受信フィルタ(例えば合成フィルタ)のサチュレーション(1の占める割合)sと、ブルームフィルタ生成時に用いるハッシュ関数の個数kとを用いて、Rfp=skとして、計算できる。
【0056】
そこで、本実施の形態では、この偽陽性発生確率Rfpを用いて、受信フィルタの品質がアプリケーションの要求を満たすか否かを判断する。より詳細には、アプリケーション装置41からリーダライタ31に偽陽性発生数許容閾値ANFP(acceptable numberof false positives)を与え、この偽陽性発生数許容閾値ANFPと、データ格納部35内の既知のタグIDの数(Nとする)と、上記偽陽性発生確率Rfpとに基づき、受信フィルタの品質がアプリケーションの要求を満たすか否かを判断する。以下これについてさらに詳しく説明する。
【0057】
制御部32は、アプリケーション装置41から偽陽性発生数許容閾値ANFPを受け取る。
【0058】
また、制御部32は、フィルタ検証部34から受信フィルタを受け取り、上記(式1)に従って、偽陽性発生確率Rfpを計算する。kの値は例えばあらかじめフィルタ検証部34に保持されている。
【0059】
また、制御部32は、データ格納部35に格納されたタグIDの数Nをあらかじめ保持しているか、またはタグIDの数Nをフィルタ検証部34から受け取る。
【0060】
制御部32は、計算した偽陽性発生確率Rfp と、既知のタグIDの数Nとを乗算して偽陽性発生の期待値E(=Rfp×N)を計算する。制御部32は、計算した期待値Eと、偽陽性発生数許容閾値ANFPとを比較する。期待値Eが偽陽性発生数許容閾値ANFP を上まわる場合は、既存の衝突回避方式またはこれに類似した方式を用いて、同時に応答するRFIDタグの個数を制限する。例えば、リーダライタ31は、受信フィルタのサチュレーションsを下げるため、タグIDにおける特定ビット(例えば最上位ビット)が0であるRFIDタグのみが返答することを要請する読み出し要求信号を送信する。この結果、検出可能領域に存在するRFIDタグのうち、応答するRFIDタグをおよそ半数にできる。これにより、品質の高い受信フィルタを得ることができる。受信フィルタの品質が極端に悪い場合は、複数ビットを条件付けすることにより反応するRFIDタグの数をさらに絞り込んでもよい。
【0061】
ただし、条件付けするビット数が1個の場合は2回、2個の場合は4回、3個の場合は8回と、条件付けするビット数が多くなるほど、多くの読み出し回数が必要になる。すなわち、条件付けするビット数が多すぎると、本実施の形態の利点であるRFIDタグ検出の高速さを損なう可能性がある。このため、RFIDタグが保有するブルームフィルタ長を十分長いものとして、十分多数のRFIDタグからの同時読み出しを行った場合でも、受信フィルタのサチュレーションが十分低くなるようにすることが望ましい。
【0062】
以上に説明した本実施の形態では、タグIDから生成されたブルームフィルタと、CRC(orタグID、パリティ)とをRFIDタグから読み出したが、これに代えて、以下のようにしても良い。例えば、物品情報から生成したブルームフィルタをRFIDタグに格納しておき、RFIDタグからブルームフィルタと物品情報(またはCRC、パリティ)とを読み出すようにしても良い。この場合、各RFIDタグの物品情報を格納した格納部をリーダライタ内に設けておく必要がある。これについては、以降に説明する実施例(第2の例)において、詳しく説明する。
【0063】
以下に、本発明の代表的な実施例を2つ示す。
【0064】
(第1の例:パレットIDの読み出しによる検品の例)
物流過程において、検品は手間がかかる重要な作業の一つである。一方で、物流の各段階におけるコスト圧縮や速度の向上への要求は非常に強い。ここで、RFIDタグを用いて検品を行う方式を考える。例えば、部品等の検品を行う場合に、部品を格納するパレットにRFID タグを格納する。
【0065】
ここで、部品やパレットが十分に大きい場合は、リーダライタが同時に読み取れるタグの個数は少ないため、個々に読み出しを行ってもそれほど大きな時間がかかるわけではない。
【0066】
一方で、例えば電子部品の場合のように、パレットのサイズが小さく相対的に同時に読みとれるRFIDタグの個数が多い場合(例えば100個程度)は、従来のアンチコリジョンの手続きでは、読み出しに時間がかかってしまう。
【0067】
パレットの検品の場合は、現在の検出可能領域にどのRFIDタグが「あるべき」かが、リーダライタによってあらかじめ判っている。ここで、ブルームフィルタを格納したRFIDタグをパレットに貼り付け、本発明を実施すると、本発明のコリジョン耐性の効果により、少数(例えば1回)の読み出し操作によって、リーダライタの検出可能領域に存在すべきRFIDタグが全て揃っているか否かを検証できる。
【0068】
ここで、タグIDを64ビットとし、このタグIDから生成されたブルームフィルタの長さmを2048ビット、ハッシュ関数の個数kを10、同時に読み出すRFIDタグの数nを100とすると、合成フィルタにおけるビット0の占める割合は、以下のようになる。
【数1】

【0069】
この結果と、上記式(1)とに基づき、偽陽性発生確率Rfpを計算すると、以下の通りである。
【数2】

【0070】
この偽陽性発生確率が所望の精度に満たない場合は、前述した本発明の実施の形態で述べたように、ビットを条件付けすることにより読み出しを2度以上に分割したり、あるいは一度に読み出す個数を減らしたりするなど、システム全体の工夫で対応可能である。
【0071】
(第2の例:靴屋の例)
靴屋の小売店舗を考える。靴屋では、店舗倉庫に様々な種類、様々なサイズの靴を揃える必要がある。例えば、店舗倉庫に1000足の靴が格納され、入荷および販売が繰り返されているものとする。
【0072】
店員は客のサイズを聞いた上で、PDA(アプリケーション装置)と組み合わされた電子タグリーダ(リーダライタ)に靴の型式とサイズとの情報を入力する。この時、靴の型式およびサイズは、店頭に展示されている靴に付けられたRFIDタグから読み取っても良い。この後、電子タグリーダを持った店員は、店舗倉庫へと移動する。
【0073】
店舗倉庫内の各靴箱にはRFIDタグが貼り付けられ、RFIDタグには、(ID, 型式, サイズ)が記録されている。また、RFIDタグには、この組み合わせのうち、(型式, サイズ)から生成されたブルームフィルタが記録されている。
【0074】
各々のRFIDタグは、電子タグリーダからの読み出し要求に対して、保持するブルームフィルタと、その生成元となった(型式, サイズ)との組み合わせを返信する。
【0075】
店舗倉庫内では、電子タグリーダはこの読み出し要求を1回または複数回行って、電子タグリーダの読み出し範囲(検出可能範囲)内に、目的の (型式, サイズ) を持つRFIDタグが存在するか否かを検証する。目的の(型式, サイズ) を持つRFIDタグが存在する場合は、電子タグリーダはその旨を店員に通知する。この際、電子タグリーダの出力レベルを徐々に下げて読み出し範囲を狭め、これにより目的の(型式、サイズ)を持つRFIDタグの存在箇所をさらに絞り込んでもよい。なお、靴箱に取り付けられたRFIDタグは、会計時に、POSレジスタ 等でも読み取りの対象となり得る。
【0076】
以上のように、本発明の実施の形態によれば、複数のRFIDタグの同時応答信号から、各RFIDタグに保持されるブルームフィルタをOR合成した合成ブルームフィルタを取得し、この合成ブルームフィルタに対し、あらかじめ保持しているタグ情報(タグIDや物品情報等)を検証するようにしたため、検出可能領域内に存在するRFIDタグを短時間で検出することができる。
【0077】
また、本実施の形態によれば、ブルームフィルタにCRC等のエラー検出コードまたはタグIDを付加してリーダライタに送信するようにしたため、コリジョンが発生したか否かをリーダライタにおいて簡易に検出できる。
【0078】
また、本実施の形態によれば、偽陽性発生確率を計算し、計算した偽陽性発生確率が偽陽性発生数許容閾値を満たさない場合は、ビットによる条件付けを行って読み出しを行うようにしたため、所望の検出精度を維持しつつ、データ読出しが可能となる。
【0079】
また、本実施の形態によれば、フィルタ検証の際ブルームフィルタにおいて参照されなかったビット位置にビット1が立っているか否かを検査するため、あらかじめ保持しているタグ情報以外のタグ情報を持つRFIDタグが、検出可能領域内に存在するか否かを判断できる。
【図面の簡単な説明】
【0080】
【図1】本発明の実施の形態に従った無線タグシステムの構成を概略的に示すブロック図である。
【図2】図2(A)は、送信データの内容の一例を示し、図2(B)は図2(A)のデータをNRZ符号化して生成した符号化信号の一例を示す。
【図3】複数のRFIDタグから同時に応答があった場合に生じるコリジョンを説明する図である。
【符号の説明】
【0081】
11:RFIDタグ
12:メモリ部
13:タグ回路
31:リーダライタ(無線タグリーダ)
32:制御部
33:通信部
34:フィルタ検証部
35:データ格納部
41:アプリケーション装置。

【特許請求の範囲】
【請求項1】
各々タグ情報と前記タグ情報からブルームフィルタアルゴリズムに基づき生成されたブルームフィルタとを保持した複数の無線タグと通信する無線タグリーダであって、
前記ブルームフィルタの読み出しを要求する読み出し要求信号を前記複数の無線タグに同時に送信する送信手段と、
前記複数の無線タグの各々からのブルームフィルタ信号を同時に受信して衝突ブルームフィルタ信号を取得する受信手段と、
前記衝突ブルームフィルタ信号を復号して、各前記ブルームフィルタの論理和をとった合成ブルームフィルタを取得する復号手段と、
タグ情報を格納するデータ格納手段と、
前記合成ブルームフィルタに対し前記データ格納部内のタグ情報を検証するフィルタ検証手段と、
を備えた無線タグリーダ。
【請求項2】
前記フィルタ検証手段は、検証結果が陽性であるタグ情報を検出することを特徴とする請求項1に記載の無線タグリーダ。
【請求項3】
前記合成ブルームフィルタのビット列において所定ビットの占める割合を計算し、前記所定ビットの占める割合と、前記ブルームフィルタの生成のために使用されるハッシュ関数の数とに基づいて偽陽性発生確率を求める計算手段をさらに備えたことを特徴とする請求項1または2に記載の無線タグリーダ。
【請求項4】
前記偽陽性発生確率が、所定の偽陽性発生数許容閾値を満たさない場合は、前記送信手段は、所定の選択条件を満たすタグ情報を持つ無線タグのみが返信することを要求する読み出し要求信号を送信することを特徴とする請求項1乃至3のいずれかに記載の無線タグリーダ。
【請求項5】
前記フィルタ検証手段は、前記タグ情報の検証の際前記合成ブルームフィルタにおいて参照されなかったビット位置に前記所定ビットが立っていた場合は、前記データ格納手段に格納されたタグ情報以外のタグ情報を持つ無線タグが前記複数の無線タグの中に含まれることを決定することを特徴とする請求項3または4に記載の無線タグリーダ。
【請求項6】
前記タグ情報はタグID、または前記無線タグが取り付けられる物品の物品情報であることを特徴とする請求項1乃至5のいずれかに記載の無線タグリーダ。
【請求項7】
前記無線タグからのブルームフィルタ信号の符号化方式はNRZ符号化方式であり、
前記復号手段は、前記衝突ブルームフィルタ信号をNRZ復号することを特徴とする請求項1乃至6のいずれかに記載の無線タグリーダ。
【請求項8】
複数の無線タグと前記複数の無線タグと通信する無線タグリーダとを備えた無線タグシステムであって、
各前記無線タグは、
前記タグ情報と、前記タグ情報からブルームフィルタアルゴリズムにより生成されたブルームフィルタとを格納したメモリ手段と、
前記無線タグリーダから前記ブルームフィルタの読み出し要求を受けた場合は、前記メモリ手段内の前記ブルームフィルタを所定の符号化方式によって符号化してブルームフィルタ信号を生成し、生成した前記ブルームフィルタ信号を前記無線タグリーダに送信する応答手段と、を有し、
前記無線タグリーダは、
前記ブルームフィルタの読み出しを要求する読み出し要求信号を前記複数の無線タグに同時に送信する送信手段と、
前記複数の無線タグからの前記ブルームフィルタ信号を同時に受信して衝突ブルームフィルタを取得する受信手段と、
前記衝突ブルームフィルタ信号を復号して、各前記ブルームフィルタの論理和をとった合成ブルームフィルタを取得する復号手段と、
タグ情報を格納するデータ格納手段と、
前記合成ブルームフィルタに対し前記データ格納部内のタグ情報を検証するフィルタ検証手段と、を有した、
ことを特徴とする無線タグシステム。
【請求項9】
各々タグ情報と前記タグ情報からブルームフィルタアルゴリズムに基づき生成されたブルームフィルタとを保持した複数の無線タグと通信する手段としてコンピュータを機能させるプログラムであって、
前記ブルームフィルタの読み出しを要求する読み出し要求信号を前記複数の無線タグに同時に送信する送信手段、
前記複数の無線タグの各々からのブルームフィルタ信号を同時に受信して衝突ブルームフィルタ信号を取得する受信手段、
前記衝突ブルームフィルタ信号を復号して、各前記ブルームフィルタの論理和をとった合成ブルームフィルタを取得する復号手段、
前記合成ブルームフィルタに対し、あらかじめ与えられたタグ情報を検証するフィルタ検証手段、
として前記コンピュータを機能させるプログラム。
【請求項10】
各々タグ情報を保持した複数の無線タグと、無線タグリーダとが通信する無線通信方法であって、
記無線タグリーダが、前記複数の無線タグに読み出し要求信号を同時に送信し、
各前記無線タグが、あらかじめ保持する、前記タグ情報からブルームフィルタアルゴリズムに基づき生成されたブルームフィルタを所定の符号化方式によって符号化してブルームフィルタ信号を生成し、生成した前記ブルームフィルタ信号を前記無線タグリーダに送信し、
前記無線タグリーダが、前記複数の無線タグからの前記ブルームフィルタ信号を同時に受信して衝突ブルームフィルタ信号を取得し、前記衝突ブルームフィルタ信号を復号して各前記ブルームフィルタの論理和をとった合成ブルームフィルタを取得し、前記合成ブルームフィルタに対し、あらかじめ与えられたタグ情報を検証する、
ことを特徴とする無線通信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2006−270185(P2006−270185A)
【公開日】平成18年10月5日(2006.10.5)
【国際特許分類】
【出願番号】特願2005−81605(P2005−81605)
【出願日】平成17年3月22日(2005.3.22)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】