(57)【要約】      （修正有）【課題】セッションハンドルが正しくないＡＣＫコマンドを受信することによって通信損失が発生することを避けることができ、Ｇｅｎ２Ｖ２プロトコルと互換性がある、識別及びアクセス方法を提供する。【解決手段】タグ集団における受動性の無線周波数タグ３に対する識別とアクセスを提供する方法であって、パラメーターとしてリーダーＡの識別子を含む番号を含む、インベントリラウンドを開始するコマンド又はタグアクセスを開始するコマンドを受信するステップと、−リーダー識別子を形成するＮ個の並置されたビットの列を含む１６ビット値である第１又は第２のバインディングハンドルを生成するステップと、第１又は第２のバインディングハンドルをバックスキャッタするステップと、受信したＡＣＫコマンドの識別パラメーターを解析し、識別パラメーターがリーダー識別子を含んでいればＡＣＫコマンドを無視するステップとを有する。【選択図】図１
2018097863.tif 000002
【特許請求の範囲】
【請求項１】
タグ集団（タグ１〜５）における受動性の無線周波数タグ（タグ３）に対する識別とアクセスを提供する方法であって、
前記受動性のタグ（タグ３）は、タグをアクノリッジするためのＡＣＫコマンドを含むコマンドを受信するように構成しており、このＡＣＫコマンドは、１６ビットの数の形態の識別パラメーターを含み、
当該タグ（タグ３）は、
−  当該タグ（タグ３）がリーダー（リーダーＡ）に応答するインベントリラウンドにおける時点を決める値を保持するスロットカウンターと、
−  当該タグ（タグ３）がインベントリラウンドに参加し始めるときに１６ビットの値を生成するように構成しており、そして、当該リーダー（リーダーＡ）が当該タグ（タグ３）にアクセスし始めると別の１６ビット値を生成するように構成している、乱数発生器又は擬似乱数発生器と、
−  前記リーダーのコマンドに対する当該タグのふるまい及び応答を特徴づける状態と
を有し、前記状態は、Ｒｅａｄｙ、Ａｒｂｉｔｒａｔｅ、及びＯｐｅｎ又はＳｅｃｕｒｅｄを含む状態群に含まれる状態であり、
・  Ｒｅａｄｙは、現在インベントリラウンドに参加していないタグが保持している状態であり、
・  Ａｒｂｉｔｒａｔｅは、現在インベントリラウンドに参加しておりスロットカウンターが非ゼロの値を保持しているタグが保持している状態であり、
・  Ｏｐｅｎ又はＳｅｃｕｒｅｄは、リーダーがタグにアクセスし始めるときに当該タグが移行する状態であり、
当該方法は、Ｒｅａｄｙ状態である当該タグ（タグ３）によって初期に実行される、
−  パラメーターとしてＮビットの数の形態であるリーダー識別子（ＲＤ）を含み、インベントリラウンドを開始するコマンドであるインベントリ開始コマンドを受信するステップであって、ここで、Ｎは、１〜１５の範囲の整数である、ステップと、
−  乱数発生器又は擬似乱数発生器によって、１６ビットの値であり前記リーダー識別子（ＲＤ）を形成するＮ個の並置されたビットの列を含む第１のバインディングハンドルを生成するステップと、
−  前記リーダー（リーダーＡ）によって受信されるように前記第１のバインディングハンドルをバックスキャッタするステップと、
−  パラメーターとして第１のバインディングハンドルを含む、タグアクセスを開始するコマンドであるアクセス開始コマンドを受信するステップと、
−  乱数発生器又は擬似乱数発生器によって、当該第１のバインディングハンドル内において当該リーダー識別子（ＲＤ）の位置と同様な位置において第２のバインディングハンドル内にて位置しているリーダー識別子（ＲＤ）を形成するＮ個の並置されたビットの列を有し、１６ビットの値である第２のバインディングハンドルを生成するステップと、
−  前記リーダー（リーダーＡ）によって受信されるように前記第２のバインディングハンドルをバックスキャッタするステップと、
−  Ｏｐｅｎ又はＳｅｃｕｒｅｄ状態へと移行するステップと、
−  ＡＣＫコマンドを受信するステップと、
−  前記リーダー識別子（ＲＤ）と、前記第１又は第２のバインディングハンドル内の前記リーダー識別子（ＲＤ）の位置と同様な位置に位置している、前記ＡＣＫコマンドの識別パラメーターのＮビットによって形成されたコードとを比較し、前記リーダー識別子（ＲＤ）と前記コードが異なる場合に、前記ＡＣＫコマンドを無視するステップと
を有することを特徴とする方法。
【請求項２】
前記リーダー識別子（ＲＤ）と前記コードが合致する場合に、前記パラメーターの他のビット列と前記第２のバインディングハンドルの他のビット列とを比較し、これらのビット列どうしが合致する場合、前記ＡＣＫコマンドに応答する
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記状態群は、現在インベントリラウンドに参加しているタグのスロットカウンターの値がゼロに到達したときにそのタグが移行する状態であるＲｅｐｌｙを含み、
前記乱数発生器又は擬似乱数発生器は、当該タグがインベントリラウンドに参加し始めるときにＱビットの値を生成するように構成しており、ここで、Ｑは、０〜１５の範囲の整数であり、
前記インベントリ開始コマンドは、スロットカウントパラメーターとして前記Ｑを含み、
当該方法は、前記インベントリ開始コマンドを受信した後に実行される、
−  乱数発生器又は擬似乱数発生器によってＱビット値を生成し、それをスロットカウンターにロードするステップと、
−  前記Ｑビット値が非ゼロであればＡｒｂｉｔｒａｔｅ状態に移行し、そうでなければＲｅｐｌｙ状態に移行するステップと
を有する
ことを特徴とする請求項１又は２に記載の方法。
【請求項４】
前記第１のバインディングハンドルと前記第２のバインディングハンドルは、前記Ｎ個の並置されたビットの列とは異なるＱ個の並置されたビット列を含み、
前記Ｑ個の並置されたビット列は、Ｑビットの値を形成し、
前記Ｑビットの値は、前記第２のバインディングハンドル内におけるＱビットの値の位置と同様な位置に前記第１のバインディングハンドル内にて位置している
ことを特徴とする請求項３に記載の方法。
【請求項５】
Ｑは、０〜５の範囲内である。
ことを特徴とする請求項３又は４に記載の方法。
【請求項６】
前記第１及び第２のバインディングハンドルに残る１６−Ｎ−Ｑ個のビットの列は、前記乱数発生器又は擬似乱数発生器によってランダムに生成される
ことを特徴とする請求項４又は５に記載の方法。
【請求項７】
当該タグ（タグ３）は、インベントリラウンド内にてリーダーがタグを識別するために用いるセッションそれぞれに対して当該タグが前記リーダーに応答するかどうかを示す値を有するインベントリフラグを有し、
前記インベントリ開始コマンドは、パラメーターとしてセッション番号及びインベントリフラグ値を含み、
当該方法は、前記インベントリ開始コマンドを受信した後に実行される、前記インベントリ開始コマンドにおいて指定されたセッションに対するインベントリフラグを前記インベントリ開始コマンドにおいて指定された値にセットするステップを有する
ことを特徴とする請求項１〜６のいずれかに記載の方法。
【請求項８】
前記リーダー識別子（ＲＤ）は、５ビットの数であり、すなわち、Ｎ＝５である
ことを特徴とする請求項１〜７のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受動性のトランスポンダー（タグ）とリーダーの間の通信のための物理的及び論理的な要件を定める無線周波数識別プロトコルの分野に関する。本発明は、特に、無線周波数の受動性のタグに対する識別とアクセスを提供する方法に関する。
【０００２】
無線周波数識別において、用語「タグ」又は「トランスポンダー」は、質問信号の受信に応答して識別信号を発するように構成しているデバイスを意味している。ＲＦＩＤタグは、必ずしも、それ自身の内蔵電源又は電池を有していない。この場合、トランスポンダーにエネルギー供給するために必要な電力は、タグに質問するために用いられる、質問器としても知られているリーダーが発生させる電磁場から得られる。このようなタグは純粋に、バックスキャッタ通信に依存している。用語「受動性」は、この種のタグを意味している。
【背景技術】
【０００３】
無線周波数識別（ＲＦＩＤ）システムは、質問器として知られているリーダーと、及びラベル又はトランスポンダーとして知られているタグとを有する。一又は複数のＲＦＩＤリーダーは、あらゆる数の方法によって、一又は複数のＲＦＩＤタグと通信することができる。このような方法のいくつかはプロトコルと呼ばれており、これは、リーダーとタグの間の信号通信が特定の形態となることを求めるものである。ＥＰＣ  ＵＨＦ  Ｇｅｎ２エアインタフェースプロトコルは、広く用いられているプロトコルであり、これは、リーダーがまず８６０〜９６０ＭＨｚの周波数範囲の全体にわたって発信する場合における受動性のタグに対する物理的及び論理的な要件を定めている。以下、このプロトコルに言及するために用語「Ｇｅｎ２Ｖ２プロトコル」を用いる。
【０００４】
Ｇｅｎ２Ｖ２プロトコルによると、リーダーは、３つの基本的なオペレーションを用いてそれらの有効な読み取りゾーン内のタグ集団を管理する。これらのオペレーションのそれぞれは、複数のコマンドを有することができる。そのオペレーションは、以下のように定められる。
−  Ｓｅｌｅｃｔは、タグ集団を選ぶためのものである。Ｓｅｌｅｃｔオペレーション専用のコマンド群は、Ｓｅｌｅｃｔコマンドを含む。
−  Ｉｎｖｅｎｔｏｒｙは、タグ集団内の個別のタグを識別するためのものである。Ｉｎｖｅｎｔｏｒｙオペレーション専用のコマンド群は、Ｑｕｅｒｙ、ＱｕｅｒｙＡｄｊｕｓｔ、ＱｕｅｒｙＲｅｐ、ＡＣＫ及びＮＡＫのコマンドを含む。
−  Ａｃｃｅｓｓは、識別されたタグと通信するためのものである。リーダーは、タグをｒｅａｄ、ｗｒｉｔｅ、ｌｏｃｋ又はｋｉｌｌするというようなコアオペレーション、タグの認証のようなセキュリティ関連オペレーション、又はタグのメモリーにおける特定のファイルを開くというようなファイル関連オペレーションを行うことができる。Ａｃｃｅｓｓオペレーション専用のコマンド群は、Ｒｅｑ＿ＲＮ及びＡｕｔｈｅｎｔｉｃａｔｅコマンドなどを含む。
【０００５】
Ｓ０、Ｓ１、Ｓ２及びＳ３と表記される４つのセッションをリーダーはサポートしタグは提供する。タグは単一のインベントリラウンドの間に１つのみのセッションに参加し、複数のリーダーは共通のタグ集団を独立的にインベントリに入れるためにセッションを用いることができる。各タグは、「インベントリフラグ（Inventoried flag）」と表記される４つのフラグを有するインベントリフラグはそれぞれ、４つのセッションの１つに関連づけられる。タグは、その４つのセッションのそれぞれに対して独立したインベントリフラグを維持しなければならず、インベントリフラグはそれぞれ、値Ａ又は値Ｂの２つの値を有することができる。
【０００６】
また、各タグは、スロットカウンター及び状態を有し、これらはすべて、Ｓｅｌｅｃｔ、Ｉｎｖｅｎｔｏｒｙ及びＡｃｃｅｓｓオペレーションとともに実装することができる。スロットカウンターは、下で説明するように、タグが応答するインベントリラウンドにおける時点を判断するために用いられる値を含む。状態は、リーダーのコマンドに対するタグのふるまい及び応答を特徴づける。タグの状態群は、Ｒｅａｄｙ、Ａｒｂｉｔｒａｔｅ、Ｒｅｐｌｙ、Ａｃｋｎｏｗｌｅｄｇｅｄ、Ｏｐｅｎ、Ｓｅｃｕｒｅｄ及びＫｉｌｌｅｄを含む。
【０００７】
Ｒｅａｄｙは、Ｋｉｌｌｅｄでなく現在インベントリラウンドに参加していないエネルギー活性化されたタグが保持している状態である：エネルギー活性化された無線周波数（ＲＦ）電磁場に入る際、ｋｉｌｌされていないタグは、Ｒｅａｄｙ状態に入らなければならない。リーダーはまず、Ｓｅｌｅｃｔコマンドを発行して、Ｒｅａｄｙ状態のタグの集団を選択することができる。Ｓｅｌｅｃｔコマンドは、４つのセッションのいずれかにおいてタグのインベントリフラグをＡ又はＢのいずれかにセットすることができる。この場合、Ｓｅｌｅｃｔコマンドは、セッション番号とインベントリフラグ値を含む構成パラメーターを含む。また、Ｓｅｌｅｃｔコマンドは、選択基準を含むが、これについては、ここでは詳細に説明しない。Ｓｅｌｅｃｔコマンドを受信すると、各タグは、選択基準を評価して、その評価に応じて、当該コマンドにおいて指定されたセッションのインベントリフラグを当該コマンドに指定された値にセットすることができる。
【０００８】
その後に、リーダーは、Ｑｕｅｒｙコマンドを発行しなければならない。Ｑｕｅｒｙは、インベントリラウンドを開始し、どのタグがそのラウンドに参加するのかを決める。Ｑｕｅｒｙコマンドは、セッション番号、インベントリフラグ値、及びスロットカウントパラメーターＱと呼ばれる０〜１５の範囲の整数を含む。スロットカウントパラメーターは、インベントリラウンドにおけるスロットの数をセットする。Ｑｕｅｒｙコマンドを受信すると、指定されたセッションに対して合致したインベントリフラグ値を有するタグは、それらの乱数発生器又は擬似乱数発生器からＱビットの乱数値を引き出して、その値をそれらのスロットカウンターにロードしなければならない。その後に、タグは、そのスロットカウンターの値が非ゼロであるときに、Ａｒｂｉｔｒａｔｅ状態へと移行してサイレント状態を維持し、また、そのスロットカウンター中の値がゼロであるときに、Ｒｅｐｌｙ状態へと移行する。
【０００９】
Ａｒｂｉｔｒａｔｅは、現在のインベントリラウンドに参加しておりスロットカウンターが非ゼロ値を保持しているタグが保持している状態である。Ｑｕｅｒｙコマンドを発行した後であって、「即答時間」と呼ばれる時間Ｔ１以内に応答を受信しない場合、リーダーは、通常、一又は複数のＱｕｅｒｙＡｄｊｕｓｔ又はＱｕｅｒｙＲｅｐコマンドを発行する。ＱｕｅｒｙＡｄｊｕｓｔコマンドは、前回のＱｕｅｒｙにおけるセッション番号を含むが、スロットカウントパラメーターＱは、前回のＱｕｅｒｙよりも大きい又は小さい。Ａｒｂｉｔｒａｔｅ状態のタグは、現在進行中のインベントリラウンドに対応するＱｕｅｒｙＡｄｊｕｓｔを受信した際に自身のスロットカウンターの値を調整し、そして、新しいＱビット番号を選び、それを自身のスロットカウンターにロードしなければならない。その後に、タグは、前記番号がゼロであるときに、Ｒｅｐｌｙ状態へと移行し、前記番号が非ゼロであるときに、Ａｒｂｉｔｒａｔｅ状態に留まらなければならない。ＱｕｅｒｙＲｅｐコマンドは、スロットカウントパラメーターを変更せずに、前回のＱｕｅｒｙのセッション番号を含む。Ａｒｂｉｔｒａｔｅ状態において、タグは、そのタグが現在進行中のインベントリラウンドに対応するＱｕｅｒｙＲｅｐを受信するごとに、自身のスロットカウンターの値を１だけ減分しなければならず、自身のスロットカウンターの値がゼロに達したときにＲｅｐｌｙ状態へと移行しなければならない。なお、セッションパラメーターが以前のＱｕｅｒｙにおけるセッションパラメーターと合致するＱｕｅｒｙＲｅｐコマンドを受信し、かつ、Ｋｉｌｌ又はＡｃｃｅｓｓのコマンドのシーケンスの最中ではないようなＡｃｋｎｏｗｌｅｄｇｅｄ、Ｏｐｅｎ、Ｓｅｃｕｒｅｄ状態のタグは、現在のセッションに対する自身のインベントリフラグを反転させて（すなわち、適宜、Ａ→Ｂ又はＢ→Ａ）、Ｒｅａｄｙへと移行しなければならない。
【００１０】
Ｒｅｐｌｙ状態となる際、タグは、１６ビットの乱数又は擬似乱数（ＲＮ１６と呼ばれる）をバックスキャッタさせなければならない。これに応答して、リーダーは、タグのバックスキャッタされたＲＮ１６をエコーすることによってタグに対してアクノリッジしなければならない。これは、ＲＮ１６を含むＡＣＫコマンドを送ることによって行われなければならない。したがって、タグが同一のＲＮ１６を含むＡＣＫコマンド（有効なＡＣＫコマンド）を受信すると、当該タグは、Ａｃｋｎｏｗｌｅｄｇｅｄ状態へと移行しなければならない。その後に、タグは、「ＥＰＣメモリー」と呼ばれる自身のメモリーの一部に記憶されたＥＰＣコードを送らなければならない。ＥＰＣコードは、タグが取り付けられていたり取り付けられるようになる物体を識別する。なお、再びＥＰＣコードを受信することができるように、ＲＮ１６を含む別のＡＣＫコマンドを前記Ａｃｋｎｏｗｌｅｄｇｅｄ状態のタグに再び送ることができる。これとは逆に、タグが時間Ｔ２以内にＡＣＫコマンドを受信すること失敗、又は無効なＡＣＫ（すなわち、異なるＲＮ１６を有するＡＣＫコマンド）を受信すると、当該タグは、Ａｒｂｉｔｒａｔｅ状態に戻らなければならない。
【００１１】
Ａｃｃｅｓｓは、常に、リーダーが、前記タグＲＮ１６を含むＲｅｑ＿ＲＮコマンドを発行することによって、タグをＡｃｋｎｏｗｌｅｄｇｅｄ状態からＯｐｅｎ又はＳｅｃｕｒｅｄのいずれかの状態へと移行させることによって開始する。Ａｃｋｎｏｗｌｅｄｇｅｄ状態のタグが正しいＲＮ１６とともにＲｅｑ＿ＲＮを受信すると、当該タグは、ハンドルと呼ばれる新しい１６ビットの乱数又は擬似乱数を生成、格納及び、バックスキャッタさせ、Ｏｐｅｎ又はＳｅｃｕｒｅｄ状態へと移行しなければならない。その後に、リーダーが、このタグのみがＯｐｅｎ又はＳｅｃｕｒｅｄ状態であることを確実にすることを望む場合、そのリーダーは、パラメーターとして前記ハンドルともにＡＣＫコマンドを発行することができる。正しいハンドルとともにＡＣＫコマンドを受信するタグは、前記ハンドルをバックスキャッタすることによって応答して、その現在の状態（適宜、Ｏｐｅｎ又はＳｅｃｕｒｅｄ）に留まらなければならず、これに対して、正しくないハンドルとともにＡＣＫコマンドを受信したタグは、Ｏｐｅｎ又はＳｅｃｕｒｅｄ状態からＡｒｂｉｔｒａｔｅ状態へと移行しなければならない。
【００１２】
正しいハンドルとともにＲｅｑ＿ＲＮコマンドを受信したときにＯｐｅｎ状態又はＳｅｃｕｒｅｄ状態へと移行する選択は、当該タグのアクセスパスワードに依存する。このアクセスパスワードは、当該タグのメモリーに格納された値である。なお、Ｏｐｅｎ状態のタグは、一部のコマンドのみを実行することができ、これに対して、適切な権限を有するＳｅｃｕｒｅｄ状態のタグは、すべてのコマンドを実行することができる。Ｏｐｅｎ状態のタグは、認証が成功した後は、Ｓｅｃｕｒｅｄ状態へと移行しなければならない。前記認証を開始するために、リーダーは、タグのハンドルを含むＡｕｔｈｅｎｔｉｃａｔｅコマンドを発行することができる。
【００１３】
リーダーとタグは、Ｏｐｅｎ又はＳｅｃｕｒｅｄ状態において制限なく通信することができるが、リーダーは、ＱｕｅｒｙＲｅｐコマンドを発行することによって他のタグを識別して他のタグにアクセスするためにいつでも通信を終了させることができる。この場合、タグは、Ｏｐｅｎ又はＳｅｃｕｒｅｄ状態からＲｅａｄｙ状態へと移行しなければならない。リーダーがＱｕｅｒｙコマンドの後にＱ−１のＱｕｅｒｙＲｅｐコマンドを発行したときに、全体のプロセスが終了する。ここで、Ｑは、前記Ｑｕｅｒｙコマンドに含まれるスロットカウントパラメーターである。
【００１４】
図１は、リーダーＡとリーダーＢである２つのリーダーと、５つのタグ１、２、３、４、５を含むタグ集団とを有するＲＦＩＤシステムを示している。タグ１、２及び３は、リーダーＡの有効読み取りゾーン内にあり、タグ３、４及び５は、リーダーＢの有効な読み取りゾーン内にある。このことは、タグ１、２及び３が、リーダーＡが発生させたＲＦ電磁場から動作用エネルギー及びコマンドを受信し、応答をバックスキャッタすることができ、タグ３、４及び５が、リーダーＢが発生させたＲＦ電磁場から動作用エネルギー及びコマンドを受信し、応答をバックスキャッタすることができることを意味している。
【００１５】
例のみのために、図２−１〜図２−３（表１Ａ）は、Ｇｅｎ２Ｖ２プロトコルにしたがうリーダーＡとタグ１、２及び３の間のインベントリ及びアクセスのシーケンスを示している。第１の列は、リーダーＡに関連しており、特に、リーダーＡが発行するコマンド、及び通信シーケンスの間にリーダーＡが受信する応答を示している。最後の列は、タグに関連しており、特に、リーダーＡから受信したコマンドに応答してタグによって実行されるアクションを示している。中央の列は、メッセージの方向を示している：すなわち、右を指している矢印は、リーダーＡから少なくとも１つのタグへのコマンドを示しており、左を指している矢印は、少なくとも１つのタグからリーダーＡへの応答を示している。第２の列は、通信スロットを示しており、これは、ゼロから開始し、Ｑｕｅｒｙコマンドの後にリーダーＡがＱｕｅｒｙＲｅｐコマンドを発行するごとに毎回１だけ増分する。通信スロットがＱ−１に達すると、このシーケンスは終了する。ここで、Ｑは、Ｑｕｅｒｙコマンドに含まれるスロットカウントパラメーターである。第４の列は、コマンド又は応答に適用されるタイミング要件を示している。
【００１６】
図３−１及び図３−２（表１Ｂ）、図４−１及び図４−２（表１Ｃ）、図５−１及び図５−２（表１Ｄ）はそれぞれ、タグ１、２、３に関連している。各表において、第１の列は、タグの状態、第２の列は、当該タグのスロットカウンターの値、第３の列は、タグの乱数発生器又は擬似乱数発生器によって生成されたＲＮ１６又はハンドル（１６進の形態）を示しており、第４の列は、リーダーＡと通信するためにタグによって用いられるセッションを示しており、また、最後の列は、当該セッションに関連づけられたインベントリフラグ値を示している。
【００１７】
ステップ１において、リーダーＡはＲＦ電磁場を発生させる。この結果、リーダーＡの読み取りゾーン内にいるタグ１、２及び３は、Ｒｅａｄｙ状態となる。この段階において、これらのタグのそれぞれにおいて、スロットカウンターはいずれの値も含まず、ＲＮ１６又はハンドルはまだいずれも生成されておらず、リーダーＡとともに用いられるセッションはまだ定義されておらず、セッションが未定義であるので、インベントリフラグ値を適用することができない。
【００１８】
ステップ２において、リーダーＡは、Ｓｅｌｅｃｔコマンドを発行する。このＳｅｌｅｃｔコマンドは、セッション番号Ｓｘとインベントリフラグ値ＩＦＶｘを含む。説明している例において、セッション番号ＳｘはＳ２であり、インベントリフラグ値ＩＦＶｘはＡである。この結果、タグ１、２及び３は、それらのセッションＳ２に対するインベントリフラグ値をＡにセットする。
【００１９】
ステップ３において、リーダーＡは、Ｑｕｅｒｙコマンドを発行する。このＱｕｅｒｙコマンドは、セッション番号Ｓｘ、インベントリフラグ値ＩＦＶｘ、及び０〜１５の範囲のスロットカウントパラメーターＱを含む。説明している例において、セッション番号ＳｘはＳ２であり、インベントリフラグ値ＩＦＶｘはＡであり、スロットカウントパラメーターＱは８である。この結果、タグ１、２及び３は、Ａｒｂｉｔｒａｔｅ状態に入り、そして、それらの乱数発生器又は擬似乱数発生器を用いてＱビットの数及び１６ビットの数（ＲＮ１６）を生成する。説明している例において、タグ１によって生成されるＱビットの数及びＲＮ１６は、１と１１１１である。タグ２によって生成されるＱビットの数及びＲＮ１６は、２と２２２２である。タグ３によって生成するＱビットの数及びＲＮ１６は、３と３３３３である。通信スロットはゼロにセットされる。
【００２０】
ステップ４において、リーダーＡは、時間Ｔ１の間待ち、いずれの応答をも受信しない。なぜなら、タグ１、２又は３のいずれもそれらのスロットカウンターの値としてゼロを有していないからである。
【００２１】
ステップ５において、リーダーＡは、ＱｕｅｒｙＲｅｐコマンドを発行する。このＱｕｅｒｙＲｅｐコマンドは、前のＱｕｅｒｙＲｅｐコマンドのセッション番号、すなわち、Ｓ２、を含む。この結果、スロットカウンターが非ゼロ値を保持するタグ１、２及び３は、それらのスロットカウンターを減分する。また、タグ１のスロットカウンターの値がゼロとなるので、タグ１は、Ｒｅｐｌｙ状態へと移行する。通信スロットは１に増加する。
【００２２】
ステップ６において、タグ１は、そのＲＮ１６をバックスキャッタする。このＲＮ１６は、リーダーＡによって受信される。
【００２３】
ステップ７において、リーダーＡは、そのＲＮ１６をＡＣＫコマンド内でエコーさせることによってタグ１をアクノリッジする。この結果、タグ１は、Ａｃｋｎｏｗｌｅｄｇｅｄ状態へと移行する。
【００２４】
ステップ８において、タグ１は、そのＥＰＣコードを送る。このＥＰＣコードは、リーダーＡによって受信される。
【００２５】
ステップ９において、リーダーＡは、タグ１のＲＮ１６を含むＲｅｑ＿ＲＮコマンドを送る。このことによって、タグ１のアクセスパスワードに応じて、タグ１がＯｐｅｎ又はＳｅｃｕｒｅｄ状態へと移行する。
【００２６】
ステップ１０において、タグ１は、新しい１６ビットの乱数又は擬似乱数であるハンドルを生成、格納及びバックスキャッタする。このハンドルは、リーダーＡによって受信される。説明している例において、タグ１によって生成されるハンドルは、６６６６である。
【００２７】
ステップ１１において、リーダーＡは、タグ１のハンドルを含むＡｕｔｈｅｎｔｉｃａｔｅコマンドを送る。この結果、タグ１がＯｐｅｎ状態へと移行する。
【００２８】
ステップ１２において、タグ１は、Ｃｒｙｐｔｏ応答をバックスキャッタする。このＣｒｙｐｔｏ応答は、リーダーＡによって受信される。
【００２９】
ステップ１３において、リーダーＡは、他のタグを識別するためにＱｕｅｒｙＲｅｐコマンドを発行する。このＱｕｅｒｙＲｅｐコマンドは、前のＱｕｅｒｙコマンドのセッション番号、すなわち、Ｓ２、を含む。この結果、タグ１は、そのインベントリフラグを反転させ（Ａ→Ｂ）、Ｒｅａｄｙ状態へと移行する。それに加えて、セッションＳ２に対するインベントリフラグ値がＡであり、スロットカウンターが非ゼロ値を保持しているすべてのタグ、すなわち、タグ２及び３が、それらのスロットカウンターを減分する。タグ２のスロットカウンターの値がゼロとなるので、タグ２は、Ｒｅｐｌｙ状態へと移行する。通信スロットは２に増加する。
【００３０】
ステップ１４において、タグ２は、そのＲＮ１６をバックスキャッタする。このＲＮ１６は、リーダーＡによって受信される。
【００３１】
ステップ１５において、リーダーＡは、そのＲＮ１６をＡＣＫコマンド内でエコーさせることによってタグ２をアクノリッジする。この結果、タグ２は、Ａｃｋｎｏｗｌｅｄｇｅｄ状態へと移行する。
【００３２】
ステップ１６において、タグ２は、そのＥＰＣコードを送る。このＥＰＣコードは、リーダーＡによって受信される。
【００３３】
ステップ１７において、リーダーＡは、タグ２のＲＮ１６を含むＲｅｑ＿ＲＮコマンドを送る。このことによって、タグ２のアクセスパスワードに応じて、タグ２がＯｐｅｎ又はＳｅｃｕｒｅｄ状態へと移行する。
【００３４】
ステップ１８において、タグ２は、新しい１６ビットの乱数又は擬似乱数であるハンドルを生成、格納及びバックスキャッタする。このハンドルは、リーダーＡによって受信される。説明している例において、タグ２によって生成されるハンドルは、７７７７である。
【００３５】
ステップ１９において、リーダーＡは、タグ２のハンドルを含むＡｕｔｈｅｎｔｉｃａｔｅコマンドを送る。この結果、タグ２がＯｐｅｎ状態へと移行する。
【００３６】
ステップ２０において、タグ２は、Ｃｒｙｐｔｏ応答をバックスキャッタする。このＣｒｙｐｔｏ応答は、リーダーＡによって受信される。
【００３７】
ステップ２１において、リーダーＡは、他のタグを識別するためにＱｕｅｒｙＲｅｐコマンドを発行する。このＱｕｅｒｙＲｅｐコマンドは、前のＱｕｅｒｙコマンドのセッション番号、すなわち、Ｓ２、を含む。この結果、タグ２は、そのインベントリフラグを反転させ（Ａ→Ｂ）、Ｒｅａｄｙ状態へと移行する。それに加えて、セッションＳ２に対するインベントリフラグ値がＡでありスロットカウンターが非ゼロ値を保持するようなすべてのタグ、すなわち、タグ３のみは、そのスロットカウンターを減分する。タグ３のスロットカウンターの値がゼロとなるので、タグ３は、Ｒｅｐｌｙ状態へと移行する。通信スロットは３に増加する。
【００３８】
ステップ２２において、タグ３は、そのＲＮ１６をバックスキャッタする。このＲＮ１６は、リーダーＡによって受信される。
【００３９】
ステップ２３において、リーダーＡは、そのＲＮ１６をＡＣＫコマンド内でエコーさせることによってタグ３をアクノリッジする。この結果、タグ３は、Ａｃｋｎｏｗｌｅｄｇｅｄ状態へと移行する。
【００４０】
ステップ２４において、タグ３は、そのＥＰＣコードを送る。このＥＰＣコードは、リーダーＡによって受信される。
【００４１】
ステップ２５において、リーダーＡは、タグ３のＲＮ１６を含むＲｅｑ＿ＲＮコマンドを送る。このことによって、タグ３のアクセスパスワードに応じて、タグ３がＯｐｅｎ又はＳｅｃｕｒｅｄ状態へと移行する。
【００４２】
ステップ２６において、タグ３は、新しい１６ビットの乱数又は擬似乱数であるハンドルを生成し、格納し及びバックスキャッタする。このハンドルは、リーダーＡによって受信される。
【００４３】
ステップ２７において、リーダーＡは、タグ３のハンドルを含むＡｕｔｈｅｎｔｉｃａｔｅコマンドを送る。この結果、タグ３がＯｐｅｎ状態へと移行する。
【００４４】
ステップ２８において、タグ３は、Ｃｒｙｐｔｏ応答をバックスキャッタする。このＣｒｙｐｔｏ応答は、リーダーＡによって受信される。
【００４５】
ステップ２９において、リーダーＡは、他のタグを識別するためにＱｕｅｒｙＲｅｐコマンドを発行する。このＱｕｅｒｙＲｅｐコマンドは、前のＱｕｅｒｙコマンドのセッション番号、すなわち、Ｓ２、を含む。この結果、タグ３は、そのインベントリフラグを反転させ（Ａ→Ｂ）、Ｒｅａｄｙ状態へと移行する。他には何も起こらない。なぜなら、セッションＳ２に対するインベントリフラグ値としてＡを有するようなタグはリーダーＡの読み取りゾーン内にはこれ以上ないからである。通信スロットは４に増加する。
【００４６】
ステップ３０において、リーダーＡは、時間Ｔ１の間待ち、前のＱｕｅｒｙＲｅｐコマンドに対する応答をいずれも受信しない。
【００４７】
ステップ３１において、リーダーＡは、前のＱｕｅｒｙコマンドのセッション番号、すなわち、Ｓ２、を含む別のＱｕｅｒｙＲｅｐを発行する。何も起こらない。なぜなら、セッションＳ２に対するインベントリフラグ値としてＡを有するタグはリーダーＡの読み取りゾーン内にこれ以上ないからである。通信スロットは５に増加する。
【００４８】
ステップ３２において、リーダーＡは、時間Ｔ１の間待ち、前のＱｕｅｒｙＲｅｐコマンドに対する応答をいずれも受信しない。
【００４９】
ステップ３３において、リーダーＡは、前のＱｕｅｒｙコマンドのセッション番号、すなわち、Ｓ２、を含む別のＱｕｅｒｙＲｅｐを発行する。何も起こらない。なぜなら、セッションＳ２に対するインベントリフラグ値としてＡを有するタグはリーダーＡの読み取りゾーン内にこれ以上ないからである。通信スロットは６に増加する。
【００５０】
ステップ３４において、リーダーＡは、時間Ｔ１の間待ち、前のＱｕｅｒｙＲｅｐコマンドに対する応答をいずれも受信しない。
【００５１】
ステップ３５において、リーダーＡは、前のＱｕｅｒｙコマンドのセッション番号、すなわち、Ｓ２、を含む別のＱｕｅｒｙＲｅｐを発行する。何も起こらない。なぜなら、セッションＳ２に対するインベントリフラグ値としてＡを有するタグはリーダーＡの読み取りゾーン内にこれ以上ないからである。通信スロットは７に増加する。
【００５２】
ステップ３６において、リーダーＡは、時間Ｔ１の間待ち、前のＱｕｅｒｙＲｅｐコマンドに対する応答をいずれも受信しない。スロットカウントパラメーターが８であり、通信スロットが７に達したので、この他のタグを識別するための最後の不成功に終わった試みの後に、当該インベントリラウンドが終了する。
【００５３】
既に説明したように、リーダーによって発行されタグのために意図されたすべてのＡＣＫコマンドは、タグによって前に生成されバックスキャッタされた１６ビットの乱数を含んでいなければならない。この乱数は、ＲＮ１６又はハンドルのいずれかである。リーダーがＲｅｐｌｙ又はＡｃｋｎｏｗｌｅｄｇｅｄ状態のタグにＡＣＫコマンドを発行すると、エコーされる番号は、タグがＡｒｂｉｔｒａｔｅ状態からＲｅｐｌｙ状態へと移行するにしたがって、そのタグが前にバックスキャッタしたＲＮ１６でなければならない。リーダーが、Ｏｐｅｎ又はＳｅｃｕｒｅｄ状態のタグにＡＣＫコマンドを発行すると、エコーされる乱数は、タグのハンドルでなければならない。便宜上の理由で、ＡＣＫコマンドに含まれる、エコーされる１６ビットの乱数（ＲＮ１６又はハンドルのいずれか）は、「セッションハンドル」と呼ばれる。結果として、「セッションハンドル」は、タグのＲＮ１６又はハンドルを区別されずに意味することができる。ＡＣＫコマンドを受信すると、タグは、前記コマンドを実行する前にセッションハンドルが正しいかを確認しなければならない。
【００５４】
並列に動作する複数のＲＦＩＤリーダーを有するＲＦＩＤシステムにおいて、セッションハンドルが正しくないＡＣＫコマンドを受信することがある。なぜなら、意図的であるかどうかにかかわらず、複数のリーダーに対する有効な読み取りゾーン内に同時にいくつかのタグがいることがあるからである。例えば、図１に示した例において、タグ３は、リーダーＡ及びＢの両方の有効な読み取りゾーン内にある。したがって、タグ３は、リーダーＡと通信しながら、リーダーＢによって発行されたＡＣＫコマンドを聞くことがある。ＡＣＫコマンドは、例えば、タグ４のために意図されるものである。同じセッションハンドルを有する２つのタグと２つのリーダーが同時に通信する確率は、１／２16である。このＡＣＫコマンドに含まれるセッションハンドルは、タグ３のセッションハンドルとは異なることが多い。
【００５５】
セッションハンドルが正しくないＡＣＫコマンドを聞いたタグは、そのＡＣＫコマンドを実行してはならない。さらに、既に言及したように、当該タグの状態が、Ｏｐｅｎ又はＳｅｃｕｒｅｄである場合、当該タグは、Ａｒｂｉｔｒａｔｅ状態へと移行しなければならない。このことには問題がある。なぜなら、Ａｒｂｉｔｒａｔｅ状態への移行は、本質的に、タグと、そのタグが通信していたリーダーとの間の通信を終了させるからである。上記の例において、タグ３がＯｐｅｎ又はＳｅｃｕｒｅｄ状態であり、タグ４に対して意図されタグ４のセッションハンドルを含むＡＣＫコマンドを送っているリーダーＢから聞いた場合、タグ３はＡｒｂｉｔｒａｔｅ状態へと移行して、リーダーＡとの接続を失わなければならない。
【００５６】
タグが、リーダーとの通信を終了する場合、通常、後で当該タグを識別し当該タグにアクセスすることができる。しかし、このことは、タグがいくつもの読み取りゾーンを通り抜けるように速く動いている場合には必ずしも当てはまらない。
【発明の概要】
【発明が解決しようとする課題】
【００５７】
本発明は、セッションハンドルが正しくないＡＣＫコマンドを受信することによって通信損失が発生することを避けることができ、Ｇｅｎ２Ｖ２プロトコルと互換性がある、識別及びアクセス方法を提供することを目的とする。
【課題を解決するための手段】
【００５８】
このようにして、本発明は、タグ集団における無線周波数の受動性のタグに対する識別とアクセスを提供する方法に関する。前記受動性のタグは、タグをアクノリッジするためのＡＣＫコマンドを含むコマンドを受信するように構成しており、このＡＣＫコマンドは、１６ビットの数の形態の識別パラメーターを含み、当該タグは、
−  インベントリラウンドにおいてタグが応答する時点を決める値を保持するスロットカウンターと、
−  当該タグがインベントリラウンドに参加し始めるときに１６ビットの値を生成するように構成しており、そして、当該リーダーが当該タグにアクセスし始めると別の１６ビット値を生成するように構成している、乱数発生器又は擬似乱数発生器と、
−  前記リーダーのコマンドに対する当該タグのふるまい及び応答を特徴づける状態と
を有し、前記状態は、Ｒｅａｄｙ、Ａｒｂｉｔｒａｔｅ、及びＯｐｅｎ又はＳｅｃｕｒｅｄを含む状態群に含まれる状態であり、
・  Ｒｅａｄｙは、現在インベントリラウンドに参加していないタグが保持している状態であり、
・  Ａｒｂｉｔｒａｔｅは、現在インベントリラウンドに参加しておりスロットカウンターが非ゼロの値を保持しているタグが保持している状態であり、
・  Ｏｐｅｎ又はＳｅｃｕｒｅｄは、リーダーがタグにアクセスし始めるときに当該タグが移行する状態である。
【００５９】
本発明によると、当該方法は、Ｒｅａｄｙ状態である当該タグによって初期に実行される、
−  パラメーターとしてＮビットの数の形態であるリーダー識別子を含み、インベントリラウンドを開始するコマンドであるインベントリの開始コマンドを受信するステップであって、ここで、Ｎは、１〜１５の範囲の整数である、ステップと、
−  乱数発生器又は擬似乱数発生器によって、１６ビットの値であり前記リーダー識別子を形成するＮ個の並置されたビットの列を含む第１のバインディングハンドルを生成するステップと、
−  前記リーダーによって受信されるように前記第１のバインディングハンドルをバックスキャッタするステップと、
−  パラメーターとして第１のバインディングハンドルを含む、タグアクセスを開始するコマンドであるアクセス開始コマンドを受信するステップと、
−  乱数発生器又は擬似乱数発生器によって、当該第１のバインディングハンドル内において当該リーダー識別子の位置と同様な位置において当該第２のバインディングハンドル内にて位置しているリーダー識別子を形成するＮ個の並置されたビットの列を有し、１６ビットの値である第２のバインディングハンドルを生成するステップと、
−  前記リーダーによって受信されるように前記第２のバインディングハンドルをバックスキャッタするステップと、
−  Ｏｐｅｎ又はＳｅｃｕｒｅｄ状態へと移行するステップと、
−  ＡＣＫコマンドを受信するステップと、
−  前記リーダー識別子と、前記第１又は第２のバインディングハンドル内の当該リーダー識別子の位置と同様な位置に位置している、前記ＡＣＫコマンドの識別パラメーターのＮビットによって形成されたコードとを比較し、前記リーダー識別子と前記コードが異なる場合に、前記ＡＣＫコマンドを無視するステップと
を有する。
【００６０】
本発明は、インベントリ開始コマンド（inventory initiating command）と呼ぶ新しいコマンドを提供する。このコマンドをＧｅｎ２ｖ２プロトコル内にて統合することができる。好ましくは、このインベントリ開始コマンドは、Ｇｅｎ２Ｖ２プロトコルにおいて定められているコマンドシーケンスＳｅｌｅｃｔ／Ｑｕｅｒｙと同様な機能を提供する。インベントリ開始コマンドによって、リーダーが、インベントリラウンドを開始して、そのインベントリラウンドに参加するようにタグに指示することが可能になる。インベントリ開始コマンドを受信すると、当該タグは第１のバインディングハンドルを生成するべきである。これは、Ｑｕｅｒｙ、ＱｕｅｒｙＡｊｕｓｔ又はＱｕｅｒｙＲｅｐコマンドに対する応答であればＲＮ１６を当該タグが生成するようにである。しかし、第１のバインディングハンドルは、完全な乱数であるわけではないという点で古典的なＲＮ１６とは異なる。すなわち、第１のバインディングハンドルの一部がインベントリ開始コマンドに含まれるリーダー識別子によって作られている。リーダーの識別子は、他のすべてのリーダー、又は少なくとも読み取りゾーンのいくらかの部分を共通にしているリーダー、の値とは異なる固有な値を有するようにすることができる。このとき、当該タグは、第１のバインディングハンドルをバックスキャッタするべきである。これは、古典的なＲＮ１６に対して行ったであろうようにである。その後に、第１のバインディングハンドルがリーダーによって受信され、前記第１のバインディングハンドルは、識別パラメーターが第１のバインディングハンドルであるＡＣＫコマンドを用いることによって、タグを識別しアクノリッジするために用いることができる。
【００６１】
そして、ある時点において、リーダーは、タグとのＡｃｃｅｓｓオペレーションを開始するために、ＧｅｎＶ２プロトコルに定められた、アクセス開始コマンド、すなわち、Ｒｅｑ＿ＲＮコマンド、を送る。Ｇｅｎ２Ｖ２に定められているように、Ｒｅｑ＿ＲＮは、タグによって前にバックスキャッタされた１６ビット値を有するべきである。これは、この場合、第１のバインディングハンドルである。第１のバインディングハンドルを含むアクセス開始コマンドを受信すると、タグは、第２のバインディングハンドルを生成しなければならない。第２のバインディングハンドルは、完全な乱数であるわけではないという点で古典的なハンドルとは異なる：すなわち、第２のバインディングハンドルの一部がインベントリ開始コマンドに含まれるリーダー識別子によって作られている。このとき、当該タグは、古典的なハンドルに対して行ったであろうように、第２のバインディングハンドルをバックスキャッタし、Ｏｐｅｎ又はＳｅｃｕｒｅｄ状態へと移行するべきである。その後に、リーダーによって第２のバインディングハンドルが受信され、Ａｃｃｅｓｓオペレーションが適宜進行する。
【００６２】
この時点から、タグがＯｐｅｎ又はＳｅｃｕｒｅｄ状態にあるかぎり、リーダーが当該タグのために意図されたＡＣＫコマンドを発行すれば、前記ＡＣＫコマンドは、識別パラメーターとして第２のバインディングハンドルを有するべきである。Ｇｅｎ２Ｖ２プロトコルによると、Ｏｐｅｎ又はＳｅｃｕｒｅｄ状態のタグは、識別パラメーターが当該タグのハンドルとは異なるＡＣＫコマンドを受信すると、Ａｒｂｉｔｒａｔｅ状態に移行しなければならない。本発明によると、識別及びアクセスのシーケンスにおいてより早くインベントリ開始コマンドを受信し現在Ｏｐｅｎ又はＳｅｃｕｒｅｄ状態であるタグは、ＡＣＫコマンドを受信すると、前記ＡＣＫコマンドの識別パラメーターが第１の識別コマンドのリーダー識別子を含むかどうかを判断しなければならない。そうでなけれは、このことはＡＣＫコマンドが他のリーダーによって発行されたことを意味する。そして、当該タグは、ＡＣＫコマンドを単純に無視し、Ａｒｂｉｔｒａｔｅ状態へと移行しない。なお、この他のリーダーが本発明に係る方法を別のタグに対して識別しアクセスするために用いる場合、ＡＣＫコマンドにおける識別パラメーターが当該他のリーダーの識別子を含む。そうでなければ、ＡＣＫコマンドにおける識別パラメーターは、完全にランダムな数である。
【００６３】
また、本発明に係る方法は、以下の特徴の１つ又は組み合わせを有することができる。
【００６４】
１つの実施形態において、前記リーダー識別子と前記コードが合致する場合に、当該方法は、前記パラメーターの他のビット列と前記第２のバインディングハンドルの他のビット列とを比較するステップを有し、これらのビット列どうしが合致する場合、当該方法は、前記ＡＣＫコマンドに応答するステップを有する。
【００６５】
１つの実施形態において、前記状態群は、現在インベントリラウンドに参加しているタグのスロットカウンターの値がゼロに到達したときにそのタグが移行する状態であるＲｅｐｌｙを含み、前記乱数発生器又は擬似乱数発生器は、当該タグがインベントリラウンドに参加し始めるときにＱビットの値を生成するように構成しており、ここで、Ｑは、０〜１５の範囲の整数であり、このインベントリの開始コマンドは、スロットカウントパラメーターとしてＱを有し、
当該方法は、前記インベントリ開始コマンドを受信した後に実行される、
−  乱数発生器又は擬似乱数発生器によってＱビット値を生成し、それをスロットカウンターにロードするステップと、
−  前記Ｑビット値が非ゼロであればＡｒｂｉｔｒａｔｅ状態に移行し、そうでなければＲｅｐｌｙ状態に移行するステップと
を有する。
【００６６】
なお、第１及び第２のバインディングハンドルがＱビット値を含むことによって、タグ応答が正しいリーダーに対するものであるという自信を付加的に与える。
【００６７】
１つの実施形態において、第１のバインディングハンドルと第２のバインディングハンドルは、前記Ｎ個の並置されたビットの列とは異なるＱ個の並置されたビットの列を有し、このＱ個の並置されたビットの列は、Ｑビットの値を形成し、前記Ｑビットの値は、前記第２のバインディングハンドル内におけるＱビットの値の位置と同様な位置に前記第１のバインディングハンドル内にて位置している。
【００６８】
１つの実施形態において、Ｑは０〜５の範囲内である。
【００６９】
１つの実施形態において、前記第１及び第２のバインディングハンドルに残る１６−Ｎ−Ｑ個のビットの列は、前記乱数発生器又は擬似乱数発生器によってランダムに生成される。
【００７０】
１つの実施形態において、当該タグは、インベントリラウンド内にてリーダーがタグを識別するために用いるセッションそれぞれに対して当該タグが前記リーダーに応答するかどうかを示す値を有するインベントリフラグを有し、前記インベントリ開始コマンドは、パラメーターとしてセッション番号及びインベントリフラグ値を含み、当該方法は、前記インベントリ開始コマンドを受信した後に実行される、前記インベントリ開始コマンドにおいて指定されたセッションに対するインベントリフラグを前記インベントリ開始コマンドにおいて指定された値にセットするステップを有する。
【００７１】
１つの実施形態において、前記リーダー識別子は、５ビットの数であり、すなわち、Ｎ＝５である。
【００７２】
以下、添付の図面を参照しながら本発明について説明する。これは、例として与えられるものであって、本発明は、これによって一切制限されない。
【図面の簡単な説明】
【００７３】
【図１】既に言及しており、リーダーＡとリーダーＢである２つのリーダーと、５つのタグ１、２、３、４、５を有するタグ集団とを有するＲＦＩＤシステムの概略図である。タグ３は、リーダーＡとリーダーＢの両方の有効な読み取りゾーン内にある。
【図２−１】図２−１〜図２−３（表１Ａ）は、既に言及しており、リーダーＡとタグ１、２及び３の間のインベントリ及びアクセスのシーケンスを示している。
【図２−２】既に言及しており、リーダーＡとタグ１、２及び３の間のインベントリ及びアクセスのシーケンスを示している。
【図２−３】既に言及しており、リーダーＡとタグ１、２及び３の間のインベントリ及びアクセスのシーケンスを示している。
【図３−１】図３−１及び図３−２（表１Ｂ）は、既に言及しており、図２−１〜図２−３（表１Ａ）の通信シーケンスに沿った、タグ１、２及び３のいくらかの特徴を示している。
【図３−２】既に言及しており、図２−１〜図２−３（表１Ａ）の通信シーケンスに沿った、タグ１、２及び３のいくらかの特徴を示している。
【図４−１】図４−１及び４−２（表１Ｃ）は、既に言及しており、図２−１〜図２−３（表１Ａ）の通信シーケンスに沿った、タグ１、２及び３のいくらかの特徴を示している。
【図４−２】既に言及しており、図２−１〜図２−３（表１Ａ）の通信シーケンスに沿った、タグ１、２及び３のいくらかの特徴を示している。
【図５−１】図５−１及び図５−２（表１Ｄ）は、既に言及しており、図２−１〜図２−３（表１Ａ）の通信シーケンスに沿った、タグ１、２及び３のいくらかの特徴を示している。
【図５−２】既に言及しており、図２−１〜図２−３（表１Ａ）の通信シーケンスに沿った、タグ１、２及び３のいくらかの特徴を示している。
【図６−１】図６−１〜図６−３（表２Ａ）は、本発明の１つの実施形態に係るリーダーＡとタグ１、２及び３の間のインベントリ及びアクセスのシーケンスを示している。
【図６−２】本発明の１つの実施形態に係るリーダーＡとタグ１、２及び３の間のインベントリ及びアクセスのシーケンスを示している。
【図６−３】本発明の１つの実施形態に係るリーダーＡとタグ１、２及び３の間のインベントリ及びアクセスのシーケンスを示している。
【図７−１】図７−１及び図７−２（表２Ｂ）は、図６−１〜図６−３（表２Ａ）の通信シーケンスに沿った、タグ１、２及び３のいくつかの特徴を示している。
【図７−２】図６−１〜図６−３（表２Ａ）の通信シーケンスに沿った、タグ１、２及び３のいくつかの特徴を示している。
【図８−１】図８−１及び図８−２（表２Ｃ）は、図６−１〜図６−３（表２Ａ）の通信シーケンスに沿った、タグ１、２及び３のいくつかの特徴を示している。
【図８−２】図６−１〜図６−３（表２Ａ）の通信シーケンスに沿った、タグ１、２及び３のいくつかの特徴を示している。
【図９−１】図９−１及び図９−２（表２Ｄ）は、図６−１〜図６−３（表２Ａ）の通信シーケンスに沿った、タグ１、２及び３のいくつかの特徴を示している。
【図９−２】図６−１〜図６−３（表２Ａ）の通信シーケンスに沿った、タグ１、２及び３のいくつかの特徴を示している。
【発明を実施するための形態】
【００７４】
本発明に係る方法は、無線周波数の受動性のタグによって実行されるように意図されている。当該タグは、Ｇｅｎ２Ｖ２プロトコルを実行する手段を有しており、したがって、上で詳細に説明したように、以下を有する。
−  ＥＰＣコード及びアクセスパスワードが格納されるメモリーを有する。
−  各セッションＳ１、Ｓ２、Ｓ３、Ｓ４ごとに１つである４つのインベントリフラグを有する。リーダーは、インベントリラウンドの間においてタグを識別するために用いることができる。各インベントリフラグは、値Ａ又は値Ｂのいずれかを有し、この値は、タグがリーダーに応答するかどうかを示している。
−  リーダーによって開始されたインベントリラウンドにおいてタグが応答する時点を決める値を保持するスロットカウンターを有する。
−  以下を生成するように構成している乱数発生器又は擬似乱数発生器を有する。
・  タグがインベントリラウンドに参加し始めるとき、すなわち、適切なパラメーターを有するＱｕｅｒｙ、ＱｕｅｒｙＲｅｐ又はＱｕｅｒｙＡｄｊｕｓｔコマンドに応答して、ＲＮ１６と呼ばれる１６ビット値を生成する。
・  タグがインベントリラウンドに参加し始めるときに、すなわち、適切なパラメーターを有するＱｕｅｒｙ、ＱｕｅｒｙＲｅｐ又はＱｕｅｒｙＡｄｊｕｓｔに応答して、Ｑビット値を生成する。ここで、Ｑは、０〜１５の範囲の整数である。
・  アクセスオペレーションに参加し始めるとき、すなわち、パラメーターとしてＲＮ１６を有するＲｅｑ＿ＲＮコマンドに応答して、ハンドルと呼ばれる１６ビット値を生成する。
【００７５】
Ｇｅｎ２Ｖ２プロトコルで定められているように、リーダーのコマンドに対するタグのふるまい及び応答は、その状態によって定められる。その状態は、他のものに加えて、以下である。
・  Ｒｅａｄｙ：これは、現在インベントリラウンドに参加していないタグが保持している状態である。
−  Ａｒｂｉｔｒａｔｅ：これは、インベントリラウンドに参加しており、スロットカウンターが非ゼロの値を保持しているタグが保持している状態である。
−  Ｒｅｐｌｙ：これは、Ａｒｂｉｔｒａｔｅ状態のタグが、タグのスロットカウンターの値がゼロに到達したときに移行する状態である。
−  Ａｃｋｎｏｗｌｅｄｇｅｄ：これは、Ｒｅｐｌｙ状態のタグが、識別パラメーターがタグのＲＮ１６と同じであるＡＣＫコマンドをタグが受信したときに移行する状態である。
−  Ｏｐｅｎ又はＳｅｃｕｒｅｄ：これらは、Ａｃｋｎｏｗｌｅｄｇｅｄ状態のタグが、パラメーターがタグのＲＮ１６と同じであるＲｅｑ＿ＲＮコマンドをタグが受信したときに移行する状態である。
【００７６】
本発明によると、Ｇｅｎ２Ｖ２プロトコルに定められているコマンド群に、付加的なコマンドが加えられる。このコマンドは、開始コマンドと呼ばれ、コマンドシーケンスＳｅｌｅｃｔ／Ｑｕｅｒｙと同様な機能を提供する。このインベントリ開始コマンドは、以下のパラメーターを有する。
−  セッション番号Ｓｘ（Ｓ１、Ｓ２、Ｓ３又はＳ４）
−  インベントリフラグ値ＩＦＶｘ（Ａ又はＢ）
−  スロットカウントパラメーターＱ：ここで、Ｑは、０〜１５の範囲の整数である。
−  Ｎビット値の形態である、インベントリ開始コマンドを発行するリーダーの識別子ＲＤ：ここで、Ｎは、１〜１５の範囲の整数である。
【００７７】
Ｒｅａｄｙ状態の間にインベントリ開始コマンドを受信すると、タグは、以下のことをしなければならない：
−  インベントリ開始コマンドにおいて指示されたセッションＳｘに対するタグのインベントリフラグをインベントリ開始コマンドにおいて指定された値ＩＦＶｘにセットする。
−  乱数発生器又は擬似乱数発生器によってＱビット値を生成し、それをスロットカウンターにロードする。
−  前記Ｑビット値が非ゼロであればＡｒｂｉｔｒａｔｅ状態へと移行し、そうでなければＲｅｐｌｙ状態へと移行する。
−  乱数発生器又は擬似乱数発生器によって第１のバインディングハンドルと呼ばれる１６ビットの値を生成する。当該第１のバインディングハンドルは、インベントリ開始コマンドにおいて指定されたリーダー識別子ＲＤを形成するＮ個の並置されたビットの列を有する。Ｑ個の並置されたビットの列は、Ｑビット値及び１６−Ｎ−Ｑ個のランダムなビットの列を形成する。好ましくは、Ｎ＝５であり、Ｑは０〜５の範囲内である。説明している実施形態において、このバインディングハンドルは、以下の構造を有する：すなわち、４つの最上位ビットの列は、リーダー識別子を表しており、４つの最下位ビットの列は、Ｑビット値を表しており、８つの中間のビットの列は、ランダムな値である。別の実施形態において、第１のバインディングハンドルは、インベントリ開始コマンドにおいて指定されたリーダー識別子ＲＤを形成する、好ましくは、４又は５である、Ｎ個の並置されたビットの列と、及び１６−Ｎ個のランダムなビットの列とを有する。この他の実施形態において、バインディングハンドルは、好ましくは、以下の構造を有する。４つ又は５つの最上位ビットの列がリーダー識別子を表し、１２又は１１の最下位ビットの列は、ランダムな値である。
−  第１のバインディングハンドルをバックスキャッタする。
【００７８】
同じインベントリ及びアクセスのシーケンス内で第１の開始コマンドを前に受信したタグは、Ａｃｋｎｏｗｌｅｄｇｅｄ状態の間にＲｅｑ＿ＲＮコマンドを受けた際に、そのＲｅｑ＿ＲＮが当該タグの第１のバインディングハンドルをパラメーターとして有する場合に、以下のことを実行しなければならない：
−  Ｏｐｅｎ又はＳｅｃｕｒｅｄ状態へと移行する。終了状態の選択は、タグのアクセスパスワードに依存する（アクセスパスワードがゼロであれば、タグはＳｅｃｕｒｅｄ状態へと移行しなければならず、アクセスパスワードが非ゼロであれば、タグはＯｐｅｎ状態へと移行しなければならない）。
−  乱数発生器又は擬似乱数発生器によって、第１のバインディングハンドルと同じ構造を有する、第２のバインディングハンドルと呼ぶ１６ビットの値を生成する。例えば、４つの最上位ビットの列は、リーダー識別子を表しており、４つの最下位ビットの列は、Ｑビット値を表しており、８つの中間のビット列は、ランダムな値である。
−  第２のバインディングハンドルをバックスキャッタする。
【００７９】
例のみために、図６−１〜図６−３（表２Ａ）は、インベントリ開始コマンドを実装している、リーダーＡとタグ１、２及び３の間のインベントリ及びアクセスのシーケンスを示している。第１の列は、リーダーＡに関連しており、特に、リーダーＡが発行するコマンド、及び当該シーケンスの間にリーダーＡが受信する応答を示している。最後の列は、タグに関連しており、特に、リーダーＡからのコマンドに応答してタグによって実行されるアクションを示している。中央の列は、メッセージの方向を示している：すなわち、右を指している矢印は、リーダーＡから少なくとも１つのタグへのコマンドを示しており、左を指している矢印は、少なくとも１つのタグからリーダーＡへの応答を示している。第２の列は、通信スロットを示しており、これは、ゼロから開始し、インベントリ開始コマンドの後にリーダーＡがＱｕｅｒｙＲｅｐコマンドを発行するごとに毎回１だけ増分する。通信スロットがＱ−１に達すると、このシーケンスが終了する。第４の列は、コマンド又は応答に適用されるタイミング要件を示している。
【００８０】
図７−１及び図７−２（表２Ｂ）、図８−１及び図８−２（表２Ｃ）、図９−１及び図９−２（表２Ｄ）はそれぞれ、タグ１、２、３に関連している。図７−１及び図７−２（表２Ｂ）、図８−１及び図８−２（表２Ｃ）、図９−１及び図９−２（表２Ｄ）のそれぞれにおいて、第１の列は、タグの状態を示しており、第２の列は、タグのスロットカウンターの値を示しており、第３の列は、シーケンスのある時点におけるタグの乱数発生器又は擬似乱数発生器によって生成された第１又は第２のバインディングハンドル（１６進数における）を示しており、第４の列は、リーダーＡと通信するためにタグによって用いられるセッションを示しており、最後の列は、当該セッションに関連づけられたインベントリフラグ値を示している。
【００８１】
ステップ１において、リーダーＡはＲＦ電磁場を発生させる。この結果、リーダーＡの読み取りゾーン内にいるタグ１、２及び３は、Ｒｅａｄｙ状態となる。この段階において、これらのタグのそれぞれにおいて、スロットカウンターはいずれの値も含まず、まだ第１又は第２のバインディングハンドルが生成されていない。リーダーＡとともに用いられるセッションは、まだ定められておらず、また、インベントリフラグ値は適用可能ではない。なぜなら、セッションが定められていないからである。
【００８２】
ステップ２において、リーダーＡは、以下のパラメーターを有する第１の開始コマンドを発行する：
−  セッション番号Ｓ２
−  インベントリフラグ値Ａ
−  スロットカウントパラメーターＱとして８
−  リーダー識別子Ｃ（１６進数の形態、すなわち、２進法では１１００）
【００８３】
この結果、タグ１、２及び３は、それらのセッションＳ２に対するインベントリフラグ値をＡにセットする。また、タグ１、２及び３は、それらの乱数発生器又は擬似乱数発生器を用いて８ビットの数及び１６ビットの数（第１のバインディングハンドル）を生成する。説明している実施形態において、これらのバインディングハンドルは、以下の構造を有する：すなわち、４つの最上位ビットの列は、リーダー識別子を表しており、４つの最下位ビットの列は、Ｑビット値を表しており、８つの中間のビットの列は、ランダムな値である。図示した例において、タグ１によって生成される８ビットの数と第１のバインディングハンドルは、１とＣ６６１であり、タグ２によって生成される８ビットの数と第１のバインディングハンドルは、２とＣ７７２であり、タグ３によって生成される８ビットの数と第１のバインディングハンドルは、３とＣ８８３である。また、タグ１、２及び３は、Ａｒｂｉｔｒａｔｅ状態となる。それに加えて、通信スロットはゼロにセットされる。
【００８４】
ステップ３において、リーダーＡは、時間Ｔ１の間待ち、いずれの応答をも受信しない。なぜなら、タグ１、２又は３のいずれもそれらのスロットカウンターの値としてゼロを有していないからである。
【００８５】
ステップ４において、リーダーＡは、ＱｕｅｒｙＲｅｐコマンドを発行する。このＱｕｅｒｙＲｅｐコマンドは、前のＱｕｅｒｙＲｅｐコマンドのセッション番号、すなわち、Ｓ２、を含む。この結果、スロットカウンターが非ゼロ値を保持するタグ１、２及び３は、それらのスロットカウンターを減分する。また、タグ１のスロットカウンターの値がゼロとなるので、タグ１は、Ｒｅｐｌｙ状態へと移行する。通信スロットは１に増加する。
【００８６】
ステップ５において、タグ１は、その第１のバインディングハンドルをバックスキャッタする。この第１のバインディングハンドルは、リーダーＡによって受信される。
【００８７】
ステップ６において、リーダーＡは、その第１のバインディングハンドルをＡＣＫコマンド内でエコーさせることによってタグ１をアクノリッジする。この結果、タグ１は、Ａｃｋｎｏｗｌｅｄｇｅｄ状態へと移行する。
【００８８】
ステップ７において、タグ１は、そのＥＰＣコードを送る。このＥＰＣコードは、リーダーＡによって受信される。
【００８９】
ステップ８において、リーダーＡは、タグ１の第１のバインディングハンドルを含むＲｅｑ＿ＲＮコマンドを送る。このことによって、タグ１のアクセスパスワードに応じて、タグ１がＯｐｅｎ又はＳｅｃｕｒｅｄ状態へと移行する。
【００９０】
ステップ９において、タグ１は、新しい１６ビットの乱数又は擬似乱数、ハンドルを生成し、格納し、バックスキャッタする。このハンドルは、リーダーＡによって受信される。説明している例において、タグ１によって生成される第２のバインディングハンドルは、ＣＤＤ１である。
【００９１】
ステップ１０において、リーダーＡは、タグ１の第２のバインディングハンドルを含むＡｕｔｈｅｎｔｉｃａｔｅコマンドを送る。この結果、タグ１がＯｐｅｎ状態へと移行する。
【００９２】
ステップ１１において、タグ１は、Ｃｒｙｐｔｏ応答をバックスキャッタする。このＣｒｙｐｔｏ応答は、リーダーＡによって受信される。
【００９３】
ステップ１２において、リーダーＡは、他のタグを識別するためにＱｕｅｒｙＲｅｐコマンドを発行する。このＱｕｅｒｙＲｅｐコマンドは、前のＱｕｅｒｙコマンドのセッション番号、すなわち、Ｓ２、を含む。この結果、タグ１は、そのインベントリフラグを反転させ（Ａ→Ｂ）、Ｒｅａｄｙ状態へと移行する。それに加えて、セッションＳ２に対するインベントリフラグ値がＡであり、スロットカウンターが非ゼロ値を保持しているすべてのタグ、すなわち、タグ２及び３が、それらのスロットカウンターを減分する。タグ２のスロットカウンターの値がゼロとなるので、タグ２は、Ｒｅｐｌｙ状態へと移行する。通信スロットは２に増加する。
【００９４】
ステップ１３において、タグ２は、その第１のバインディングハンドルをバックスキャッタする。この第１のバインディングハンドルは、リーダーＡによって受信される。
【００９５】
ステップ１４において、リーダーＡは、その第１のバインディングハンドルをＡＣＫコマンド内でエコーさせることによってタグ２をアクノリッジする。この結果、タグ２は、Ａｃｋｎｏｗｌｅｄｇｅｄ状態へと移行する。
【００９６】
ステップ１５において、タグ２は、そのＥＰＣコードを送る。このＥＰＣコードは、リーダーＡによって受信される。
【００９７】
ステップ１６において、リーダーＡは、タグ２の第１のバインディングハンドルを含むＲｅｑ＿ＲＮコマンドを送る。このことによって、タグ２のアクセスパスワードに応じて、タグ２がＯｐｅｎ又はＳｅｃｕｒｅｄ状態へと移行する。
【００９８】
ステップ１７において、タグ２は、新しい１６ビットの乱数又は擬似乱数、第２のバインディングハンドルを生成し、格納し、バックスキャッタする。この第２のバインディングハンドルは、リーダーＡによって受信される。説明している例において、タグ２によって生成される第２のバインディングハンドルは、ＣＥＥ２である。
【００９９】
ステップ１８において、リーダーＡは、タグ２の第２のバインディングハンドルを含むＡｕｔｈｅｎｔｉｃａｔｅコマンドを送る。この結果、タグ２がＯｐｅｎ状態へと移行する。
【０１００】
ステップ１９において、タグ２は、Ｃｒｙｐｔｏ応答をバックスキャッタする。このＣｒｙｐｔｏ応答は、リーダーＡによって受信される。
【０１０１】
ステップ２０において、リーダーＡは、他のタグを識別するためにＱｕｅｒｙＲｅｐコマンドを発行する。このＱｕｅｒｙＲｅｐコマンドは、前のＱｕｅｒｙコマンドのセッション番号、すなわち、Ｓ２、を含む。この結果、タグ２は、そのインベントリフラグを反転させ（Ａ→Ｂ）、Ｒｅａｄｙ状態へと移行する。それに加えて、セッションＳ２に対するインベントリフラグ値がＡでありスロットカウンターが非ゼロ値を保持するようなすべてのタグ、すなわち、タグ３のみは、そのスロットカウンターを減分する。タグ３のスロットカウンターの値がゼロとなるので、タグ３は、Ｒｅｐｌｙ状態へと移行する。通信スロットは３に増加する。
【０１０２】
ステップ２１において、タグ３は、その第１のバインディングハンドルをバックスキャッタする。この第１のバインディングハンドルは、リーダーＡによって受信される。
【０１０３】
ステップ２２において、リーダーＡは、その第１のバインディングハンドルをＡＣＫコマンド内でエコーさせることによってタグ３をアクノリッジする。この結果、タグ３は、Ａｃｋｎｏｗｌｅｄｇｅｄ状態へと移行する。
【０１０４】
ステップ２３において、タグ３は、そのＥＰＣコードを送る。このＥＰＣコードは、リーダーＡによって受信される。
【０１０５】
ステップ２４において、リーダーＡは、タグ３の第１のバインディングハンドルを含むＲｅｑ＿ＲＮコマンドを送る。このことによって、タグ３のアクセスパスワードに応じて、タグ３がＯｐｅｎ又はＳｅｃｕｒｅｄ状態へと移行する。
【０１０６】
ステップ２５において、タグ３は、新しい１６ビットの乱数又は擬似乱数、第２のバインディングハンドルを生成し、格納し、バックスキャッタする。この第２のバインディングハンドルは、リーダーＡによって受信される。説明している例において、タグ３によって生成されるハンドルは、ＣＦＦ３である。
【０１０７】
ステップ２６において、リーダーＡは、タグ３のハンドルを含むＡｕｔｈｅｎｔｉｃａｔｅコマンドを送る。この結果、タグ３がＯｐｅｎ状態へと移行する。
【０１０８】
ステップ２７において、タグ３は、Ｃｒｙｐｔｏ応答をバックスキャッタする。このＣｒｙｐｔｏ応答は、リーダーＡによって受信される。
【０１０９】
ステップ２８において、リーダーＡは、他のタグを識別するためにＱｕｅｒｙＲｅｐコマンドを発行する。このＱｕｅｒｙＲｅｐコマンドは、前のＱｕｅｒｙコマンドのセッション番号、すなわち、Ｓ２、を含む。この結果、タグ３は、そのインベントリフラグを反転させ（Ａ→Ｂ）、Ｒｅａｄｙ状態へと移行する。他には何も起こらない。なぜなら、セッションＳ２に対するインベントリフラグ値としてＡを有するようなタグはリーダーＡの読み取りゾーン内にはこれ以上ないからである。通信スロットは４に増加する。
【０１１０】
ステップ２９において、リーダーＡは、時間Ｔ１の間待ち、前のＱｕｅｒｙＲｅｐコマンドに対する応答をいずれも受信しない。
【０１１１】
ステップ３０において、リーダーＡは、前のＱｕｅｒｙコマンドのセッション番号、すなわち、Ｓ２、を含む別のＱｕｅｒｙＲｅｐを発行する。何も起こらない。なぜなら、セッションＳ２に対するインベントリフラグ値としてＡを有するタグはリーダーＡの読み取りゾーン内にこれ以上ないからである。通信スロットは５に増加する。
【０１１２】
ステップ３１において、リーダーＡは、時間Ｔ１の間待ち、前のＱｕｅｒｙＲｅｐコマンドに対する応答をいずれも受信しない。
【０１１３】
ステップ３２において、リーダーＡは、前のＱｕｅｒｙコマンドのセッション番号、すなわち、Ｓ２、を含む別のＱｕｅｒｙＲｅｐを発行する。何も起こらない。なぜなら、セッションＳ２に対するインベントリフラグ値としてＡを有するタグはリーダーＡの読み取りゾーン内にこれ以上ないからである。通信スロットは６に増加する。
【０１１４】
ステップ３３において、リーダーＡは、時間Ｔ１の間待ち、前のＱｕｅｒｙＲｅｐコマンドに対する応答をいずれも受信しない。
【０１１５】
ステップ３４において、リーダーＡは、前のＱｕｅｒｙコマンドのセッション番号、すなわち、Ｓ２、を含む別のＱｕｅｒｙＲｅｐを発行する。何も起こらない。なぜなら、セッションＳ２に対するインベントリフラグ値としてＡを有するタグはリーダーＡの読み取りゾーン内にこれ以上ないからである。通信スロットは７に増加する。
【０１１６】
ステップ３５において、リーダーＡは、時間Ｔ１の間待ち、前のＱｕｅｒｙＲｅｐコマンドに対する応答をいずれも受信しない。スロットカウントパラメーターが８であり、通信スロットが７に達したので、この他のタグを識別するための最後の不成功に終わった試みの後に、当該インベントリラウンドが終了する。
【０１１７】
既に言及したように、タグ３は、リーダーＡとリーダーＢの両方に対する読み取りゾーン内にある。このことは、本発明に係る識別及びアクセスのシーケンスにおけるいずれの時においても、リーダーＢによって発行され別のタグのために意図されたＡＣＫコマンドを受信することができることを示唆している。このように、本発明によると、タグ３は、タグ３の識別子が位置するべき位置（好ましい実施形態において、前記識別パラメーターの４つの最上位のビットの列）におけるＡＣＫコマンドの識別パラメーターのビット列を解析して、どのリーダーが当該コマンドを発行したかを判断する。もちろん、リーダーＢは、タグ４とともに、本発明に係る識別及びアクセスのシーケンス（すなわち、インベントリ開始コマンドを伴うシーケンス）、又はＧｅｎ２Ｖ２プロトコルにしたがう古典的なインベントリ及びアクセスのシーケンス（すなわち、Ｓｅｌｅｃｔ及びＱｕｅｒｙコマンドを伴うシーケンス）を用いることができる。前者の場合、ＡＣＫコマンドに含まれる識別パラメーターは、タグ４の第１又は第２のバインディングハンドルであり、この第１又は第２のバインディングハンドルは、タグ４の識別子を含む。このように、タグ３の識別子が位置するべき位置におけるＡＣＫコマンドの識別パラメーターのビット列は、代わりにタグ４の識別子を形成し、タグ３は当該ＡＣＫコマンドが無効であると結論づける。後者の場合、当該ＡＣＫコマンドに含まれていた識別パラメーターは、１６ビットのランダムな値であり、これは、タグ４のＲＮ１６又はタグ４のハンドルのいずれかである。このように、タグ３の識別子が位置するべき位置におけるＡＣＫコマンドの識別パラメーターのビット列は、いずれのリーダー識別子も形成せず、タグ３は当該ＡＣＫコマンドが無効であると結論づける。
【０１１８】
リーダーとともに本発明にしたがって識別及びアクセスのシーケンスを実行しているタグがリーダーＢによって発行されたＡＣＫコマンドを受信すると、以下のようになる。
−  タグ３の状態がＯｐｅｎ又はＳｅｃｕｒｅｄでなければ、タグ３はリーダーＢからのＡＣＫコマンドを無視する（Ｇｅｎ２Ｖ２プロトコルで定められているように）。
−  タグ３の状態がＯｐｅｎ又はＳｅｃｕｒｅｄであり、識別パラメーターが正しいリーダー識別子を有していないが、当該識別パラメーターがタグ３の第２のバインディングハンドルとは異なる場合、タグ３はＡｒｂｉｔｒａｔｅへと移行して、リーダーＡとの通信をやめる（Ｇｅｎ２Ｖ２プロトコルに定められているように）。
−  タグ３の状態がＯｐｅｎ又はＳｅｃｕｒｅｄであり、識別パラメーターが正しいリーダー識別子を有しておらず、当該識別パラメーターがタグ３の第２のバインディングハンドルと等しい場合、タグ３はＡＣＫコマンドに応答し、リーダーＡとこれ以上動機しないようにすることができる（Ｇｅｎ２Ｖ２プロトコルに定められているように）。
−  しかし、タグ３の状態がＯｐｅｎ又はＳｅｃｕｒｅｄであり、識別パラメーターが正しいリーダー識別子を有していなければ、タグ３はリーダーＢからのＡＣＫコマンドを無視する。このことは本発明の目的である。
【０１１９】
なお、タグ３は、以下のようにリーダーＢから他の種類のコマンドを受信することができる。
−  タグ３がリーダーＢからインベントリ開始コマンドを受信すると、タグ３は、リーダーＡからリーダーＢへと切り替わらなければならず、その後に、リーダーＢによってインベントリされアクセスされることができる。
−  タグ３がリーダーＢからＲｅｑ＿ＲＮコマンドを受信した場合に、タグ３の状態がＲｅａｄｙ、Ａｒｂｉｔｒａｔｅ又はＲｅｐｌｙであるか、又は当該コマンドに含まれる１６ビット値が期待された値と合致しなければ、タグ３は当該Ｒｅｑ＿ＲＮコマンドを無視しなければならない。そうでなければ、１６ビット値が期待値された値と合致すれば（しかし、このことはほとんどない）、タグ３は、Ｒｅｑ＿ＲＮに応答しなければならず、リーダーＡとこれ以上同期しなくなることがある。
−  タグ３がリーダーＢからＡｕｔｈｅｎｔｉｃａｔｅコマンドを受信した場合に、タグ３の状態がＲｅａｄｙ、Ａｒｂｉｔｒａｔｅ、Ｒｅｐｌｙ又はＡｃｋｎｏｗｌｅｄｇｅｄであるか、又は当該コマンドに含まれる１６ビット値が期待されたバインディングハンドル値と合致しなければ、タグ３は当該コマンドを無視しなければならない。そうでなければ、１６ビット値が期待値された値と合致すれば（このことはほとんどない）、タグ３は、Ａｕｔｈｅｎｔｉｃａｔｅコマンドに応答しなければならず、リーダーＡともはや同期しなくなることがある。
−  タグ３がリーダーＢからＳｅｌｅｃｔコマンドを受信すると、タグ３はリーダーＡからリーダーＢへと切り替わらなければならず、その後にリーダーＢによってインベントリされアクセスされることができる。
−  タグ３がリーダーＢからＱｕｅｒｙコマンドを受信すると、タグ３はリーダーＡからリーダーＢへと切り替わらなければならず、その後にリーダーＢによってインベントリされアクセスされることができる。
−  タグ３がリーダーＢからＱｕｅｒｙＲｅｐ又はＱｕｅｒｙＡｄｊｕｓｔコマンドを受信すると、タグ３は当該コマンドを無視しなければならない。なぜなら、タグ３のセッションは、当該コマンドにおいて言及されたセッションとは異なるからである。
【０１２０】
本発明の特定の態様を特に参照しながら例示的な実施形態について詳細に説明したが、本発明の他の実施形態も可能であり、本発明の詳細は様々な自明な観点から変更することができることを理解することができるであろう。当業者が容易に理解できるように、本発明の趣旨及び範囲内から逸脱せずに異なる態様や改変が可能である。したがって、上記の開示、説明及び図面は、説明のみのためのものであり、請求の範囲によって定められる本発明の範囲を制限することは一切ない。
【図１】
2018097863.tif 000003
【図２−１】
2018097863.tif 000004
【図２−２】
2018097863.tif 000005
【図２−３】
2018097863.tif 000006
【図３−１】
2018097863.tif 000007
【図３−２】
2018097863.tif 000008
【図４−１】
2018097863.tif 000009
【図４−２】
2018097863.tif 000010
【図５−１】
2018097863.tif 000011
【図５−２】
2018097863.tif 000012
【図６−１】
2018097863.tif 000013
【図６−２】
2018097863.tif 000014
【図６−３】
2018097863.tif 000015
【図７−１】
2018097863.tif 000016
【図７−２】
2018097863.tif 000017
【図８−１】
2018097863.tif 000018
【図８−２】
2018097863.tif 000019
【図９−１】
2018097863.tif 000020
【図９−２】
2018097863.tif 000021
【外国語明細書】
2018097863000001.pdf