(57)【要約】【課題】無線ＩＣ（ＲＦＩＤ）インテロゲータから信号を受信するように構成され、アプリケーションプログラムから受信された命令に基づきＲＦＩＤインテロゲータを管理するように構成されたＲＦＩＤインテロゲータインターフェースを備えるＲＦＩＤシステム内のＲＦＩＤコントローラを提供する。【解決手段】ＲＦＩＤインテロゲータは、ＲＦＩＤタグからデータを受信するように構成される。コントローラは、さらに、ＲＦＩＤインテロゲータインターフェースから受信された信号を処理し、データをアプリケーションに供給するように構成されたコントローラコアも備える。【選択図】図１
2006228193.tif 000002
【特許請求の範囲】
【請求項１】
ＲＦＩＤシステム内の無線ＩＣ（ＲＦＩＤ）コントローラであって、
ＲＦＩＤタグからデータを受信するように構成されたＲＦＩＤインテロゲータから信号を受信するように構成され、アプリケーションプログラムから受信された命令に基づき前記ＲＦＩＤインテロゲータを管理するように構成されたＲＦＩＤインテロゲータインターフェースと、
前記ＲＦＩＤインテロゲータインターフェースにより受信された前記信号を処理し、前記データを前記アプリケーションプログラムに供給するように構成されたコントローラコアとを備えることを特徴とするコントローラ。
【請求項２】
前記ＲＦＩＤインテロゲータインターフェースは、どのＲＦＩＤインテロゲータが前記ＲＦＩＤタグから前記データを受信したかを前記アプリケーションプログラムに通知することを特徴とする請求項１に記載のコントローラ。
【請求項３】
データ処理ユニットの選択およびデータ処理ユニットの配置を受け取るように構成されたユーザインターフェースをさらに備え、
前記コントローラコアは、前記データ処理ユニットの前記選択および前記配置に基づいてＲＦＩＤインテロゲータインターフェースからの前記信号の処理を修正するように構成されることを特徴とする請求項１に記載のコントローラ。
【請求項４】
前記データ処理ユニットの前記配置および前記選択に基づいて構成ファイルを格納する管理サービスコンポーネントをさらに備えることを特徴とする請求項３に記載のコントローラ。
【請求項５】
前記ＲＦＩＤインテロゲータは、ＲＦＩＤインテロゲータに関連付けられたアンテナであり、前記アンテナは、前記ＲＦＩＤタグからデータを受信するように構成され、
前記ＲＦＩＤインテロゲータインターフェースは、前記アンテナから信号を受信するように構成され、前記アプリケーションプログラムから受信された命令に基づき前記アンテナを管理するように構成されることを特徴とする請求項１に記載のコントローラ。
【請求項６】
前記ＲＦＩＤインテロゲータインターフェースは、どのアンテナが前記ＲＦＩＤタグから前記データを受信したかを前記アプリケーションプログラムに通知することを特徴とする請求項５に記載のコントローラ。
【請求項７】
ユーザインターフェースをさらに備え、
前記ＲＦＩＤインテロゲータインターフェースは、
前記ＲＦＩＤインテロゲータインターフェースに結合され、それぞれが前記ＲＦＩＤタグから前記データを読み出すように構成された前記複数のＲＦＩＤインテロゲータのうちの１つにより供給されるデータを受信し、
前記複数のＲＦＩＤインテロゲータのうちのどれが前記ＲＦＩＤタグから前記データを受信したかの指示を、前記ＲＦＩＤタグからの前記データを使用する前記アプリケーションプログラムに供給するように構成され、
前記ユーザインターフェースは、前記ＲＦＩＤインテロゲータインターフェースにより受信された前記データを処理する際に使用されるデータ処理ユニットの選択および配置を受け取るように構成され、
前記コントローラコアは、前記ユーザインターフェースにより受信されたデータ処理ユニットの前記選択および前記配置に応じて前記ＲＦＩＤインテロゲータインターフェースにより受信された前記データを処理し、前記処理されたデータを前記アプリケーションプログラムに供給するように構成されることを特徴とする請求項１に記載のコントローラ。
【請求項８】
前記データ処理ユニットの前記配置および前記選択に基づいて構成ファイルを格納する管理サービスコンポーネントをさらに備えることを特徴とする請求項７に記載のコントローラ。
【請求項９】
前記複数のＲＦＩＤインテロゲータは、前記ＲＦＩＤインテロゲータインターフェースに結合されているＲＦＩＤインテロゲータに関連付けられた、それぞれが１つまたは複数のＲＦＩＤタグからデータを受信するように構成された複数のアンテナを備え、
前記ＲＦＩＤインテロゲータインターフェースは、前記複数のアンテナのうちの１つから、ＲＦＩＤタグから前記複数のアンテナのうちの前記１つから受信されるデータを受け取り、前記複数のアンテナのうちのどれが前記ＲＦＩＤタグから前記データを受信したかの指示をアプリケーションプログラムに供給するように構成されることを特徴とする請求項７に記載のコントローラ。
【請求項１０】
無線ＩＣ（ＲＦＩＤ）データを処理する方法であって、
第１のＲＦＩＤインテロゲータおよび第２のＲＦＩＤインテロゲータをＲＦＩＤインテロゲータインターフェースに接続すること、
前記第１のＲＦＩＤインテロゲータまたは前記第２のＲＦＩＤインテロゲータでＲＦＩＤタグを検出すること、および
前記第１のＲＦＩＤインテロゲータまたは前記第２のＲＦＩＤインテロゲータのうちのどれが前記ＲＦＩＤタグを検出したかを前記アプリケーションプログラムに通知することを備えることを特徴とする方法。
【請求項１１】
前記アプリケーションプログラムから前記ＲＦＩＤインテロゲータにコマンドを読み出すまたは書き込むことをさらに備えることを特徴とする請求項１０に記載の方法。
【請求項１２】
ＲＦＩＤデータを処理するためにデータ処理ユニットの配置を含む構成入力をユーザから受け取ること、
前記検出されたＲＦＩＤタグに関係するＲＦＩＤデータを前記第１のＲＦＩＤインテロゲータまたは前記第２のＲＦＩＤインテロゲータから受信すること、および
前記構成入力に基づいて前記ＲＦＩＤデータを処理することをさらに備えることを特徴とする請求項１０に記載の方法。
【請求項１３】
前記ＲＦＩＤデータを処理することは、前記構成入力に基づいて既存のプロセスから新しいプロセスにＲＦＩＤデータの前記処理を変更することを含むことを特徴とする請求項１０に記載の方法。
【請求項１４】
前記第１のＲＦＩＤインテロゲータおよび前記第２のＲＦＩＤインテロゲータを前記ＲＦＩＤインテロゲータインターフェースに接続することは、第１のＲＦＩＤアンテナおよび第２のＲＦＩＤアンテナをＲＦＩＤインテロゲータを介してＲＦＩＤインテロゲータインターフェースに接続することを含むことを特徴とする請求項１０に記載の方法。
【請求項１５】
前記第１のＲＦＩＤインテロゲータまたは前記第２のＲＦＩＤインテロゲータでＲＦＩＤタグを検出することは、前記第１のＲＦＩＤアンテナまたは前記第２のＲＦＩＤアンテナでＲＦＩＤタグを検出することを含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
前記第１のＲＦＩＤインテロゲータまたは前記第２のＲＦＩＤインテロゲータのうちのどれが前記ＲＦＩＤタグを検出したかを前記アプリケーションプログラムに通知することは、前記第１のＲＦＩＤアンテナまたは前記第２のＲＦＩＤアンテナのうちのどれが前記ＲＦＩＤタグを検出したかを前記アプリケーションプログラムに通知することを含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記アプリケーションプログラムから前記ＲＦＩＤアンテナにコマンドを読み出しまたは書き込むこと、および
前記ＲＦＩＤアンテナを前記ＲＦＩＤインテロゲータインターフェースに接続するために使用される前記ＲＦＩＤインテロゲータに前記コマンドをリダイレクトすることをさらに備えることを特徴とする請求項１４に記載の方法。
【請求項１８】
ＲＦＩＤデータを処理するためにデータ処理ユニットの配置を含む構成入力をユーザから受け取ること、
前記検出されたＲＦＩＤタグに関係するＲＦＩＤデータを前記第１のＲＦＩＤアンテナまたは前記第２のＲＦＩＤアンテナから受信すること、および
前記構成入力に基づいて前記ＲＦＩＤデータを処理することをさらに備えることを特徴とする請求項１５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の説明は、無線ＩＣ（ＲＦＩＤ）に関するものであり、特に、ＲＦＩＤシステムに関するものである。
【背景技術】
【０００２】
無線ＩＣ（ＲＦＩＤ）システムでは、インテロゲータおよびＲＦＩＤタグを使用して独自の商品を識別する。通常、インテロゲータは、商品に取り付けられたＲＦＩＤタグと通信する。インテロゲータは、リーダーとも呼ばれ、電波を通じてＲＦＩＤタグと通信し、ＲＦＩＤタグから読み取った情報をデジタル形式でコンピュータシステムに受け渡す。ＲＦＩＤタグは、通常、デジタル情報を格納するマイクロチップである。マイクロチップは、インテロゲータから信号を受信し、インテロゲータに信号を送信するアンテナに取り付けられる。ＲＦＩＤタグは、一意のシリアル番号を含み、顧客口座番号などの他の情報を含むことができる。
【０００３】
ＲＦＩＤタグは、アクティブタグ（ａｃｔｉｖｅ  ｔａｇｓ）、パッシブタグ（ｐａｓｓｉｖｅ  ｔａｇｓ）、またはセミパッシブタグ（ｓｅｍｉ−ｐａｓｓｉｖｅ  ｔａｇｓ）とすることができる。アクティブタグは、マイクロチップの回路に電力を供給し、信号をインテロゲータに送信する電源を含む。パッシブタグは、電源を含まない。パッシブタグは、回路および情報を送信に必要な電力をインテロゲータによって発生される電磁場から引き出す。セミパッシブタグは、アクティブタグに類似しているが、電源を使用してマイクロチップの回路を駆動するが、インテロゲータと通信しない。いくつかのセミパッシブタグは、インテロゲータからの信号によりアクティブ化されるまで非アクティブであり、これにより、電源の寿命を延ばす。
【発明の開示】
【課題を解決するための手段】
【０００４】
一般的な一態様では、ＲＦＩＤシステム内の無線ＩＣ（ＲＦＩＤ）コントローラが説明される。コントローラは、ＲＦＩＤインテロゲータから信号を受信するように構成され、アプリケーションプログラムから受信された命令に基づきＲＦＩＤインテロゲータを管理するように構成されたＲＦＩＤインテロゲータインターフェースを含む。ＲＦＩＤインテロゲータは、ＲＦＩＤタグからデータを受信するように構成されている。コントローラは、さらに、ＲＦＩＤインテロゲータインターフェースから受信された信号を処理し、データをアプリケーションプログラムに供給するように構成されたコントローラコアも含む。
【０００５】
実施例では、以下の特徴のうちの１つまたは複数を含むことができる。例えば、ＲＦＩＤインテロゲータは、ＲＦＩＤインテロゲータに関連付けられたアンテナとすることができる。アンテナは、ＲＦＩＤタグからデータを受信するように構成することができる。ＲＦＩＤインテロゲータインターフェースは、アンテナから信号を受信するように構成することができ、またアプリケーションプログラムから受信された命令に基づきアンテナを管理するように構成することができる。
【０００６】
ＲＦＩＤインテロゲータインターフェースは、ＲＦＩＤタグからデータを受信したＲＦＩＤインテロゲータまたはＲＦＩＤタグからデータを受信したアンテナをアプリケーションプログラムに通知することができる。コントローラは、データ処理ユニットの選択およびデータ処理ユニットの配置を受け取るように構成されたユーザインターフェースを含むことができる。コントローラコアは、データ処理ユニットの選択および配置に基づいてＲＦＩＤインテロゲータインターフェースからの信号の処理を修正するように構成することができる。コントローラは、さらに、データ処理ユニットの配置および選択に基づいて構成ファイルを格納する管理サービスコンポーネントを備えることもできる。
【０００７】
他の一般的な態様では、ＲＦＩＤインテロゲータインターフェースを含むＲＦＩＤコントローラが説明される。ＲＦＩＤインテロゲータインターフェースは、複数のＲＦＩＤインテロゲータのうちの１つにより供給されるデータを受信するように構成される。複数のＲＦＩＤインテロゲータがＲＦＩＤインテロゲータインターフェースに結合され、それぞれ、ＲＦＩＤタグからデータを読み取るように構成されている。ＲＦＩＤインテロゲータインターフェースは、さらに、複数のＲＦＩＤインテロゲータのうちのどれがＲＦＩＤタグからデータを受信したかを示す情報をアプリケーションプログラムに供給するように構成される。アプリケーションプログラムは、ＲＦＩＤタグからのデータを使用する。ユーザインターフェースは、ＲＦＩＤインテロゲータインターフェースにより受信されたデータを処理する際に使用されるデータ処理ユニットの選択および配置を受け取るように構成される。コントローラコアは、ユーザインターフェースから受信されたデータ処理ユニットの選択および配置に応じてＲＦＩＤインテロゲータインターフェースにより受信されたデータを処理するように構成される。コントローラコアは、さらに、処理済みのデータをアプリケーションプログラムに供給するようにも構成される。
【０００８】
本実施例では、以下の特徴のうちの１つまたは複数を含むことができる。例えば、管理サービスコンポーネントは、データ処理ユニットの配置および選択に基づいて構成ファイルを格納することができる。複数のＲＦＩＤインテロゲータは、ＲＦＩＤインテロゲータインターフェースに結合されたＲＦＩＤインテロゲータに関連付けられた複数のアンテナを含むことができる。アンテナはそれぞれ、１つまたは複数のＲＦＩＤタグからデータを受信するように構成することができる。ＲＦＩＤインテロゲータインターフェースは、複数のアンテナのうちの１つから、複数のアンテナのうちの１つによりＲＦＩＤタグから受信されたデータを受信するように構成することができる。ＲＦＩＤインテロゲータインターフェースは、さらに、複数のアンテナのうちのどれがＲＦＩＤタグからデータを受信したかを示す情報をアプリケーションプログラムに供給するように構成することもできる。
【０００９】
他の一般的な態様では、ＲＦＩＤデータを処理する方法について説明されている。この方法は、第１のＲＦＩＤインテロゲータおよび第２のＲＦＩＤインテロゲータをＲＦＩＤインテロゲータインターフェースに接続し、第１のＲＦＩＤインテロゲータまたは第２のＲＦＩＤインテロゲータでＲＦＩＤタグを検出し、第１のＲＦＩＤインテロゲータまたは第２のＲＦＩＤインテロゲータのうちのどちらがＲＦＩＤタグを検出したかをアプリケーションプログラムに通知することを含む。
【００１０】
実施例では、以下の特徴のうちの１つまたは複数を含むことができる。例えば、アプリケーションプログラムからＲＦＩＤインテロゲータにコマンドを読み書きすることができる。構成入力はユーザから受け取ることができ、構成入力は、ＲＦＩＤデータを処理するためにデータ処理ユニットの配置を含む。検出されたＲＦＩＤタグに関係するＲＦＩＤデータは、第１のＲＦＩＤインテロゲータまたは第２のＲＦＩＤインテロゲータから受信することができる。ＲＦＩＤデータは、構成入力に基づいて処理することができる。ＲＦＩＤデータを処理することは、構成入力に基づいて既存のプロセスから新しいプロセスにＲＦＩＤデータの処理を変更することを含むことができる。
【００１１】
第１のＲＦＩＤインテロゲータおよび第２のＲＦＩＤインテロゲータをＲＦＩＤインテロゲータインターフェースに接続することは、第１のＲＦＩＤアンテナおよび第２のＲＦＩＤアンテナをＲＦＩＤインテロゲータを介してＲＦＩＤインテロゲータインターフェースに接続することを含むことができる。第１のＲＦＩＤインテロゲータまたは第２のＲＦＩＤインテロゲータでＲＦＩＤタグを検出することは、第１のＲＦＩＤアンテナまたは第２のＲＦＩＤアンテナでＲＦＩＤタグを検出すること含むことができる。第１のＲＦＩＤインテロゲータまたは第２のＲＦＩＤインテロゲータのうちのどれがＲＦＩＤタグを検出したかをアプリケーションプログラムに通知することは、第１のＲＦＩＤアンテナまたは第２のＲＦＩＤアンテナのうちのどれがＲＦＩＤタグを検出したかをアプリケーションプログラムに通知することを含むことができる。
【００１２】
コマンドは、アプリケーションプログラムからＲＦＩＤアンテナに読み書きすることができ、またコマンドを、ＲＦＩＤインテロゲータにリダイレクトすることができ、ＲＦＩＤアンテナは、ＲＦＩＤインテロゲータを通じて、ＲＦＩＤインテロゲータインターフェースに接続される。構成入力を、ユーザから受信することができる。構成入力は、ＲＦＩＤデータを処理するためのデータ処理ユニットの配置を含むことができる。検出されたＲＦＩＤタグに関係するＲＦＩＤデータは、第１のＲＦＩＤアンテナまたは第２のＲＦＩＤアンテナから受信することができる。ＲＦＩＤデータは、構成入力に基づいて処理することができる。
【００１３】
上記のいくつかの態様は、１つまたは複数の以下の利点を有する。拡張性の理由から、ＲＦＩＤインテロゲータから受信されたデータは、一般に、最低レベルで処理される。しかし、数百個のインテロゲータおよび少数のＲＦＩＤコントローラを備えるＲＦＩＤシステムは、分散システムとして管理するには費用がかかる。この開示では、ＲＦＩＤコントローラは、容易に適合し構成できる柔軟なメカニズムを備え、そのため、ＲＦＩＤシステム全体を管理し維持するコストが低減される。ＲＦＩＤコントローラは、必要なデータ処理ユニットをユーザ側で選択できるようにし、ユーザ要件に合わせてデータ処理ユニットを配置することによりＲＦＩＤシステムをユーザ側で構成するためのツールを提供する。そのため、ＲＦＩＤコントローラは、どのようなシナリオにも容易に適合できる柔軟性を有し、そのため、新しいコントローラハードウェアおよび／またはソフトウェアを新しいＲＦＩＤシナリオ毎に開発する必要がなくなる。
【００１４】
アプリケーションプログラムは、ＲＦＩＤコントローラを通じて、単一のＲＦＩＤインテロゲータインターフェースによる直接読み出しまたは書き込みコマンドを使用して、複数のＲＦＩＤインテロゲータを制御することができる。ＲＦＩＤインテロゲータインターフェースは、複数のインテロゲータから非同期にＲＦＩＤイベントが届くのをリッスン（ｌｉｓｔｅｎ）することができる。アプリケーションプログラムは、さらに、ＲＦＩＤインテロゲータインターフェースを通じて複数のアンテナからＲＦＩＤ信号をリッスンすることもできる。例えば、アンテナは、電子商品棚（ｓｍａｒｔ  ｓｈｅｌｖｅｓ）、格納先、および倉庫内の複数のドックドア内に配置することが可能である。複数のインテロゲータまたはアンテナを多重化する際に、アプリケーションプログラムでは、「単一インテロゲータ間インターフェース」構成と同じ動作を実行するが、複数のインテロゲータまたはアンテナを使用するという事実は、アプリケーションプログラムにとっては必要ないが、アプリケーションプログラムでは、ＲＦＩＤタグを検出する正確なインテロゲータまたはアンテナを指定する情報を取り出すことができる。
【００１５】
他の特徴、目的、および利点は、添付の図面に関して以下の詳細な説明を読むと明らかになるであろう。
【００１６】
様々な図面の中の類似の参照番号は、類似の要素を示す。
【発明を実施するための最良の形態】
【００１７】
図１および２を参照すると、無線ＩＣ（ＲＦＩＤ）システム１０は、ＲＦＩＤハードウェア層１４、ＲＦＩＤコントローラコンポーネント１８、およびアプリケーションコンポーネント２２を含む。ＲＦＩＤハードウェア層１４およびＲＦＩＤコントローラコンポーネント１８は、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、パブリッシュ／サブスクライブプロトコル、ＲＳ−２３２Ｃ、ユーザデータグラムプロトコル（ＵＤＰ）、またはコンピューティングコンポーネント間での通信に好適な他のプロトコルなどのプロトコルを使用するバス１６により接続される。ＲＦＩＤコントローラコンポーネント１８およびアプリケーションコンポーネント２２は、ＴＣＰ／ＩＰ、ＨＴＴＰ、パブリッシュ／サブスクライブプロトコルなどのプロトコルを使用するバス２０により接続される。
【００１８】
コントローラコンポーネント１８は、ＲＦＩＤハードウェア層１４により集められた情報を処理し、その処理済み情報をアプリケーションコンポーネント２２に送信する。例えば、例示的な実装では、ＲＦＩＤハードウェア層１４が在庫商品に取り付けられたＲＦＩＤタグからのデータを記録することを含む。コントローラコンポーネント１８は、ＲＦＩＤハードウェア層１４により検出されたＲＦＩＤタグからデータを受信する。コントローラコンポーネント１８は、そのデータをフィルタ処理して誤った検出を除去し、データを集計して、一連のバッチによりアプリケーションコンポーネント２２に送信する。アプリケーションコンポーネント２２、例えば、倉庫管理アプリケーションでは、ＲＦＩＤハードウェア層１４により検出されたデータを使用して、倉庫内の在庫状況を更新する。
【００１９】
既存のＲＦＩＤシステムでは、単一のＲＦＩＤインテロゲータの動作を制御する専用ソフトウェアが作成される。時間の経過とともに、要求条件は変化するため、従来のＲＦＩＤシステムだとより新しいソフトウェアを必要とするか、または新しい機能が従来のＲＦＩＤシステムにおいて必要になる毎に旧いソフトウェアの修正が必要になる。例えば、ＲＦＩＤシステムは、例えば、ＲＦＩＤタグを検出し識別する、ＲＦＩＤタグから追加データを読み取る、ＲＦＩＤタグにデータを書き込む、データおよびイベントのフィルタ処理を行うなどの、一方のシナリオから他方のシナリオへの追加機能を実行するソフトウェアを必要とする。ときには、走査されたＲＦＩＤタグに応じて「オン」または「オフ」にする必要があるライトまたはコンベヤーベルトなどの追加機器が必要になる。
【００２０】
本明細書で説明されるように、既存のＲＦＩＤシステムとは異なり、ＲＦＩＤシステム１０のコントローラコンポーネント１８は、ＲＦＩＤハードウェア層１４から受信されたデータが要求されたシナリオ要件に応じて処理され、アプリケーションコンポーネント２２に送信できるように必要なシナリオを満たす構成とすることができる。一例では、ユーザは、異なる種類のデータ処理ユニットから選択し、例えば、シナリオの要件を満たすために、それらのデータ処理ユニットを連鎖として配列することができる。
【００２１】
ＲＦＩＤハードウェア層
ＲＦＩＤハードウェア層１４は、ＲＦＩＤタグ（例えば、ＲＦＩＤタグ２３ａ、ＲＦＩＤタグ２３ｂ、およびＲＦＩＤタグ２３ｃ）およびＲＦＩＤインテロゲータ（例えば、ＲＦＩＤインテロゲータ２６ａ、ＲＦＩＤインテロゲータ２６ｂ、およびＲＦＩＤインテロゲータ２６ｃ）の複数のグループを含む。電波信号を介して、ＲＦＩＤタグ２３ａ〜２３ｃからなるそれぞれのグループは、対応するＲＦＩＤインテロゲータ２６ａ〜２６ｃと通信する（例えば、ＲＦＩＤタグ２３ａはＲＦＩＤインテロゲータ２６ａと通信し、ＲＦＩＤタグ２３ｂはＲＦＩＤインテロゲータ２６ｂと通信し、ＲＦＩＤタグ２３ｃはＲＦＩＤインテロゲータ２６ｃと通信する）。例えば、ＲＦＩＤインテロゲータは、ＲＦＩＤタグがＲＦＩＤインテロゲータの無線フィールド内に入るか、またはＲＦＩＤタグが無線フィールドから出た場合にイベントを記録する。他の例では、ＲＦＩＤインテロゲータは、周期的にまたは連続的に、どのようなタグが検出されたかを判定する。ソフトウェアにより、すでに検出されているタグの旧い集合と現在検出されているタグの新しい集合との差を判別し、その差に基づいてイベントを生成する。ＲＦＩＤタグ２３ａ〜２３ｃのそれぞれのグループは、パッシブタグ、アクティブタグ、またはセミパッシブタグ、またはその３つの組合せとすることができる。
【００２２】
アプリケーションコンポーネント
アプリケーションコンポーネント２２は、アプリケーション３０およびノード３４を含む。アプリケーション３０は、ビジネスアプリケーションなどの、ＲＦＩＤタグからの情報を使用する任意のアプリケーションとすることができる。アプリケーション３０は、ノード３４を通じてコントローラコンポーネント１８にアクセスすることができる。ノード３４は、ＲＦＩＤコントローラ１８および他の種類のデバイスコントローラ（図に示されていない）から送られる情報を管理する役割を持つ。例えば、ノード３４は、Ａｕｔｏ−ＩＤ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ（ＡＩＩ）などのビジネス管理システム用のインフラストラクチャ内のノードとすることができる。アプリケーションコンポーネント２２は、コントローラコンポーネント１８と直接通信し、コントローラコンポーネント１８を監視するためのグラフィカルユーザインターフェース（ＧＵＩ）（図には示されていない）を実現するか、またはコントローラコンポーネント１８を構成するためのユーザ命令を実現することができる。
【００２３】
コントローラコンポーネント
コントローラコンポーネント１８は、ベンダ提供ドライバ（ベンダ提供ドライバ２８ａおよびベンダ提供ドライバ２８ｂ）、ＲＦＩＤインテロゲータアプリケーションプログラミングインターフェース（ＡＰＩ）３６、メッセージングインターフェース４０、コントローラＡＰＩ  ４４、管理サービスモジュール４８、およびコントローラコア５２を含む。ＲＦＩＤコントローラコンポーネント１８は、ＲＦＩＤインテロゲータ２６ａ〜２６ｃを制御する役割を持つ。
【００２４】
ベンダ提供ドライバ
いくつかのＲＦＩＤインテロゲータ２６ａ〜２６ｂは、コントローラコンポーネント１８がＲＦＩＤインテロゲータと通信し追加機能にアクセスするためドライバ２８ａ〜２８ｂなどの特別なドライバを必要とするＲＦＩＤタグの読み書きおよびＲＦＩＤタグをリッスンする基本機能を超える追加機能を有する。ＲＦＩＤインテロゲータ２６ｃなどの他のＲＦＩＤインテロゲータは、基本機能とともに、ＲＦＩＤインテロゲータＡＰＩ  ３６と直接通信する。他の例では、それぞれのドライバがインテロゲータＡＰＩ  ３６のすべての機能を実施する。さらに他の例では、いくつかのＲＦＩＤインテロゲータ２６は、インテロゲータＡＰＩ  ３６をネイティブ機能としてサポートする（ドライバが不要である）。さらに他の例では、ＲＦＩＤインテロゲータ２６は、ＡＰＩインテロゲータ３６を直接サポートしない場合がある。これらの状況では、ドライバはＡＰＩ機能を専用のリーダー特有のコマンドにマッピングする。
【００２５】
ＲＦＩＤインテロゲータＡＰＩ
ＲＦＩＤインテロゲータＡＰＩ  ３６は、基本的な読み書きおよびリスナー機能を備えるＲＦＩＤインテロゲータ用の抽象層として働く低水準ＡＰＩである。ＲＦＩＤインテロゲータＡＰＩ  ３６は、無線フィールド内のタグを識別すること、ＲＦＩＤタグから複数のバイトを読み込むこと、ＲＦＩＤタグに複数のバイトを書き込むこと、およびＲＦＩＤタグとの接続または切断を行うことを含むいくつかの機能を実行する。いくつかのＲＦＩＤタグは、メモリを含む。メモリは、複数のページに分割できる。インテロゲータＡＰＩ  ３６は、バイトアドレスをページアドレスにマッピングする。例えば、１ページあたり１２８バイトと仮定すると、バイトアドレス「０」は、第１ページの第１バイトであることを示し、バイト「１３０」は、第２ページの第３バイトであることを示す。メモリは、ページ以外の構造に編成できる。例えば、ＲＦＩＤインテロゲータＡＰＩ  ３６は、単一のアドレス指定可能なメモリ空間を備えるという汎用的アプローチを使用することができる。実施されるように、インテロゲータＡＰＩ  ３６は、専用構造とＡＰＩ構造との間で翻訳を行う。
【００２６】
さらに、ＲＦＩＤインテロゲータＡＰＩ  ３６は、ＲＦＩＤインテロゲータ２６のフィールドに出現する、またはそこから消失するＲＦＩＤタグ２３が報告されるようにリスナーインターフェースを通じてリスニングメカニズムも提供する。ＲＦＩＤ  ＡＰＩインテロゲータ３６は、リスナーが指定されている場合にリスニングモードプロセスを開始し、初期化コマンドがコントローラコンポーネント１８から発行される。リスニングモードプロセスは、終了コマンドがコントローラコンポーネント１８により発行された後に、または最後のリスナーがフィールドから取り除かれたときに停止する。
【００２７】
メッセージングインターフェース
メッセージングインターフェース４０は、コントローラコンポーネント１８と通信するというサービス指向モードを使用可能にする。メッセージングインターフェース４０は、そのため、コントローラＡＰＩ  ４４に直接アクセスする場合に比べてＲＦＩＤ固有性が小さい。例えば、コントローラコンポーネント１８へのコマンドおよびコントローラコンポーネント１８からのデータメッセージは、メッセージとして送信される。メッセージングインターフェース４０内の機能は、コントローラＡＰＩ  ４４で提供される機能と同一であり、メッセージ形式は、フィジカルマークアップ言語（ＰＭＬ）（ｐｈｙｓｉｃａｌ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）に基づく。実施可能な他の形式は、ＷＬＰ（ワイヤーラインプロトコル（Ｗｉｒｅ−Ｌｉｎｅ  Ｐｒｏｔｏｃｏｌ））である。メッセージングインターフェース４０は、変換データ処理機能を使用してコントローラコンポーネント１８から受信したイベントをいずれかの形式に変換する。変換は、変換クラスを実施し、一方の変換クラスまたは他方の変換クラスを使用するようにデバイスコントローラを構成することにより変更することができる。
【００２８】
メッセージングインターフェース４０は、さらに、送信バッファデータ処理機能も含む。送信バッファデータ処理機能は、オフライン状況で、および／または接続が途絶えたときに使用される。コントローラコンポーネント１８からメッセージングインターフェース４０により受信されたイベントは、接続が確立されるまで一時的にバッファリングすることができ、しばらくしてイベントが送信される。
【００２９】
他の例では、メッセージングインターフェース４０内の別の通信層（図には示されていない）を使用して、アプリケーションコンポーネント２２とＲＦＩＤコントローラコンポーネント１８との間でメッセージを転送することができる。したがって、メッセージを転送するために使用される実際の通信プロトコルは、構成設定に応じて切り替えることができる。通信プロトコルとしては、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）直接ソケット接続、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、またはＪａｖａ（登録商標）メッセージングサービス（ＪＭＳ）がある。
【００３０】
コントローラＡＰＩ
コントローラＡＰＩ  ４４は、コントローラコンポーネント１８とアプリケーションコンポーネント２２との間の高水準プログラミングインターフェースとして機能する。コントローラＡＰＩ  ４４は、例えば、高水準Ｊａｖａ（登録商標）ベースプログラミングインターフェースとすることができる。
【００３１】
コントローラコア
コントローラコア５２は、ＲＦＩＤコントローラコンポーネント１８の主要動作を受け持つ。コントローラコア５２は、インテロゲータＡＰＩ  ３６を通じて１つまたは複数のＲＦＩＤインテロゲータ２６ａ〜２６ｃと通信する。その構成に応じて、コントローラコア５２は、インテロゲータ２６ａ〜２６ｃから来るイベントをリッスンし、ＲＦＩＤタグ上で読み書き動作を直接実行するか、またはリスニングと動作実行の両方を行うことができる。
【００３２】
図３を参照すると、コントローラコア５２の主要タスクのうちの１つは、データを処理してから、メッセージングインターフェース４０を通じてデータを送信する。データに対し実行される処理の種類は、シナリオ要件によって異なる。したがって、コントローラコア５２は、必要な機能を実施する特定のデータ処理ユニットを追加することにより処理機能を強化する、データ処理ユニットと呼ばれる、複数のクラスの柔軟なフレームワークとして実施される。
【００３３】
データ処理（ｄａｔａ  ｐｒｏｃｅｓｓｉｎｇ）サブコンポーネント４０２は、ローパスフィルタ（ｌｏｗ  ｐａｓｓ  ｆｉｌｔｅｒ）データ処理ユニット（ＤＰＵ）４０４、バッチアグリゲータ（ｂａｔｃｈ  ａｇｇｒｅｇａｔｏｒ）ＤＰＵ  ４１０、リードフィールドバッファ（ｒｅａｄ  ｆｉｅｌｄ  ｂｕｆｆｅｒ）ＤＰＵ  ４１６、選択フィールドエンリッチャ（ｓｅｌｅｃｔｅｄ  ｆｉｅｌｄ  ｅｎｒｉｃｈｅｒ）ＤＰＵ  ４２０、およびライタ（ｗｒｉｔｅｒ）ＤＰＵ  ４２２などのサブクラスを含む。データ処理サブコンポーネント４０２は、抽象クラスである、つまり、このクラスの動作しているインスタンスはないが、サブクラス（またはＤＰＵ）４０４、４１０、４１６、４２０、４２２は実行される。図３は、ＤＰＵがすべてのメソッド／インターフェースを含むことを示している。外部の観点から、ＤＰＵはすべて、同様に処理することができ、したがって、望ましい任意の連鎖に配列することができる。例えば、ＤＰＵは、リスナーの追加、リスナーの除去、イベントの処理、すべての登録されているリスナーでのイベントの発生のために使用することができ、インテロゲータＡＰＩ  ３６からリスナーインターフェースを実施することができる。
【００３４】
ＤＰＵ  ４０４、４１０、４１６、４２０、４２２は、インテロゲータＡＰＩ  ３６を介したＲＦＩＤタグからの追加データの読み取り、インテロゲータＡＰＩ  ３６を介したＲＦＩＤタグへの追加データの書き込み、イベントのフィルタ処理、イベントの集約、イベントのバッファリングの機能のうち１つまたは複数を実行する。
【００３５】
エンリッチャ
エンリッチャは、タグまたは場合によっては他のソースから追加データを読み取り、このデータをイベントのデータ構造体に追加する。例えば、「選択フィールドエンリッチャ」データ処理ユニット４２０は、ＲＦＩＤタグの選択されたデータフィールドからデータを読み込み、このデータをイベントに追加する。
【００３６】
ライタ
ライタＤＰＵ  ４２２は、ＲＦＩＤタグにデータを書き込むか、またはＲＦＩＤタグ上のデータを変更する。例示的な一実施例では、ライタＤＰＵ  ４２２は、ＲＦＩＤタグ上の一方の顧客口座番号を他方の顧客口座番号で上書きすることにより顧客口座番号を変更することができる。
【００３７】
フィルタ
フィルタは、ある基準に従っていくつかのイベントを除去する、例えば、これらのフィルタは、特定のクラスを持つＲＦＩＤタグから来るすべてのイベントを除去する。フィルタの一例は、偽または「消失」イベントをフィルタ除去することによりイベントをバッファリングする、「ローパスフィルタ」データ処理ユニット４０４である。他のフィルタは、重複を処理し、取り除く重複フィルタであり、例えば、複数の物理的リーダーが同じときに同じタグを見た場合は、しかしながら物理的リーダーが同じ場所（例えば、倉庫内の特定のドックドア）に論理的に属しているため、これは論理的に１つのイベントとして取り扱われなければならない。
【００３８】
バッファ
バッファは、後の方の処理のイベントを格納し、および／または現在フィールド（つまり、ＲＦＩＤインテロゲータの電波信号範囲）内にあるＲＦＩＤタグの在庫記録を付ける。例えば、「リードフィールドバッファ」データ処理ユニット４１６は、フィールド内のすべてのＲＦＩＤタグのリストを記録する。これは、イベントがデータ処理サブコンポーネント４０２に渡される前にエンリッチャが一部の追加データを読み取った場合にタグユーザデータを含む。受信されたイベントは変更されることなく転送される。他の例では、「送信バッファ」データ処理ユニット５２０（図５）は、オフライン状況で使用される。受信されるイベントは、例えばホストコンピュータとの接続が確立されるまで一時的にバッファリングされ、その後イベントが送信される。以下で説明するように、「状態バッファ」データ処理ユニット５２４（図５）は、後から使用されるイベントを格納する。
【００３９】
アグリゲータ
アグリゲータは、例えばバッチ処理のために、複数のイベントを単一のイベントに集約する。例えば、「バッチアグリゲータ」データ処理ユニット４１０は、複数のイベントを単一のイベントに集約する。集約は、構成可能な時間間隔内、または構成可能な最大イベント数に達するまでのいずれかの期限が最初に到来したときに実行される。この間隔でイベントが受信されなかった場合、イベントは転送されない。
【００４０】
コントローラコア５２は、コントローラコンポーネント１８の動作に関してアプリケーション３０からの要求を処理することができる。コントローラコア５２は、さらに、ＲＦＩＤインテロゲータ２６ａ〜２６ｃを管理することもできる。例えば、コントローラコア５２は、１つまたは複数のインテロゲータをインスタンス化し初期化すること、適切なデータプロセッサを特定のＲＦＩＤインテロゲータ用のリスナーとして登録すること、およびＲＦＩＤインテロゲータを明示的に制御することを含む複数の機能を実行することができる。
【００４１】
コントローラコア５２は、さらに、デバッグおよび制御目的に使用されるロギング機能をも含む。コントローラコア５２は、さらに、論理フィールド名をＲＦＩＤタグ上の物理アドレスに解決するフィールド名解決機能も含む。例えば、「フィールド名マッパ（Ｆｉｅｌｄ  Ｎａｍｅ  Ｍａｐｐｅｒ）」機能４２４は、論理フィールド名をＲＦＩＤタグ上の物理アドレスにマッピングする。
【００４２】
図４を参照すると、データ処理ユニットを選択し、様々な異なるシナリオに対応するように１つの連鎖に構成することができる。例えば、特定のＲＦＩＤタグが検出されたときにライトをオンにする必要があるか、またはコンベヤーベルトを制御する必要がある場合に、新しいデータ処理ユニットを実施し、１つの連鎖内にリンクすることにより、これらのシナリオを実行することができる。例えば、データ処理ユニットをデータ処理ユニットの単純な連鎖４００に構成することができる。
【００４３】
上述のように、ＲＦＩＤインテロゲータＡＰＩ  ３６は、リスニング動作モードで動作可能である。リスニング動作モードでは、イベントは、データ処理ユニットの連鎖４００に通される。連鎖４００内で処理されるイベントは、インテロゲータＡＰＩ  ３６から来るＲＦＩＤイベントとは異なる。インテロゲータＡＰＩ  ３６から来るＲＦＩＤイベントは識別されたＲＦＩＤタグのＩＤだけを含むことができるが、連鎖４００からのイベントは、読み取られた追加タグデータを含むことができ、またさらにはイベントの集約であってもよい。データ処理ユニットは、ＲＦＩＤタグからの追加情報必要とする場合、インテロゲータＡＰＩ  ３６から適切なデータを取り出す。それぞれのデータ処理ユニットは、特別な機能を実施する単純なコンポーネントを表す。これらの単純なコンポーネントを組み合わせて強力な連鎖にすることにより、シナリオにより必要とされる機能を構築し、サポートすることが可能である。
【００４４】
ＲＦＩＤタグが無線フィールドに出現するか、または無線フィールドから消失したときにＲＦＩＤタグイベントが発生する。ＲＦＩＤタグ、したがって関連するイベントは、インテロゲータＡＰＩ  ３６を通じて報告される。ローパスフィルタ４０４は、不正なイベントを無視する。アグリゲータ４１０は、単一イベントを１つの複合イベントに集約し、上位レベルのシステム（例えば、アプリケーションコンポーネント２２）にイベントが殺到しないようにする。
【００４５】
図５を参照すると、データ処理ユニットを追加し、データ処理ユニットの単純な連鎖４００から複合連鎖５００に再構成し、追加処理および／または新しい処理シーケンスを既存のシステムに追加することができる。例えば、複合連鎖５００は、ケースフィルタ（ｃａｓｅ  ｆｉｌｔｅｒ）５０４、パレットフィルタ（ｐａｌｌｅｔ  ｆｉｌｔｅｒ）５０８、ライトコントロール（ｌｉｇｈｔ  ｃｏｎｔｒｏｌ）５１２、状態バッファ（ｓｔａｔｅ  ｂｕｆｆｅｒ）５２４、および送信バッファ（ｓｅｎｄ  ｂｕｆｆｅｒ）５２０などのデータ処理ユニットを含む。複合連鎖５００は、ケース内にパッケージングされたサプライに取り付けられたＲＦＩＤタグおよびケースを保持するパレットに取り付けられたＲＦＩＤタグからのイベントを記録する。
【００４６】
ケースフィルタ５０４は、ケースから来るイベントをソートし、パレットフィルタ５０８は、パレットから来るイベントをソートする。ライトコントロール５１２は、ケースまたはパレットを受け取った後にライトを作動させる。送信バッファ５２０は、送信すべきメッセージを格納する。状態バッファ５２４は、監査および報告目的のためにＲＦＩＤインテロゲータの無線フィールド内に現在あるすべてのＲＦＩＤタグを格納する。
【００４７】
ケースから来るイベントについては、エンリッチャ４２０を使用してＲＦＩＤタグから追加データが読み取られる。パレットがＲＦＩＤインテロゲータのフィールド内にある場合、ライトコントロール５１２はライトを点灯し、パレットの作業者に通知する。ケースとパレットの両方に対するイベントがアグリゲータ４１０により集約され、パレットおよびパレットに入れられたすべてのケースを含む単一イベントが構築される。その後、単一パレット構築イベントが、イベントメッセージをアプリケーションコンポーネント２２（例えば、ビジネスシステム）に送信する送信バッファデータ処理ユニット５２０内に置かれる。イベントメッセージは、アプリケーション３０に正常に送信されるまで送信バッファ内にバッファリングされたままである。
【００４８】
そのため、ＲＦＩＤコントローラ１８は、容易に適合し構成できる柔軟なメカニズムを供給し、それによってＲＦＩＤシステム１０全体を管理し維持するコストが低減される。ＲＦＩＤコントローラ１８は、必要なデータ処理ユニットをユーザ側で選択できるようにし、ユーザ要件に合わせてデータ処理ユニットを配置することによりＲＦＩＤシステム１０をユーザ側で構成するためのツールを提供する。そのため、ＲＦＩＤコントローラ１８は、どのようなシナリオにも容易に適合できる柔軟性を有し、そのため、新しいコントローラハードウェアおよび／またはソフトウェアを新しいＲＦＩＤシナリオ毎に開発する必要がなくなる。
【００４９】
管理サービス
図２に戻ると、そこでは、管理サービスモジュール４８は、ステータス「ピング」に応答する、またはインスタンス化されるデータプロセッサの連鎖の記述をリストする「ステータス情報」機能および他のアプリケーションがそれ独自のリスナーをデータプロセッサに追加できるように接続点を提供することを含む。
【００５０】
管理サービスモジュール４８は、さらに、ｎ秒毎にハートビートを登録されているクライアントに送出する「ハートビート」機能も含む。ｎが０に設定されている場合、または登録されているクライアントがない場合、メッセージは送信されない。管理サービスモジュール４８は、さらに、コントローラコンポーネント１８をリスタートする「リスタート」機能を含む。管理サービスモジュール４８は、さらに、個々の構成パラメータを設定または取り出すだけでなく、構成全体の保存および復元を行う「構成管理」機能も含み、またデバッグおよび制御目的に使用される「ロギング」機能を備える。
【００５１】
図６を参照すると、そこでは、ＲＦＩＤシステムを構成する例示的なプロセスがプロセス６００として示されている。プロセス６００は、構成入力を受け取る（６０４）。構成入力は、連鎖に配列されたデータ処理ユニットを含む。構成入力は、アプリケーション３０またはコントローラコア５２に配置されているＧＵＩ（図に示されていない）を通じて入力することができる。アプリケーション３０は、さらに、アプリケーション３０内に格納されている命令の集合に基づいて構成入力を生成することもできる。例えば、構成入力は、新しいデバイスがアプリケーション３０により検出された場合に送信される。構成入力は、さらに、管理サービスモジュール４８を通じて直接入力することもできる。
【００５２】
プロセス６００は、構成入力を管理サービスモジュール４８内にファイルとして格納する（６０８）。プロセス６００は、構成入力の妥当性を確認する（６１２）。管理サービスモジュール４８は、データ処理ユニット間の接続が有効であることを確認する。プロセス６００は、ＲＦＩＤインテロゲータからデータを受信する（６１６）。データが、処理のため、データ処理サブコンポーネント４０２に送信される。プロセス６００は、構成入力を使用してＲＦＩＤインテロゲータから受信されたデータを処理する（６２０）。
【００５３】
図７は、プロセス６００を実施するためのコンピュータ７００を示している。コンピュータ７００は、プロセッサ７０２、揮発性メモリ７０４、および不揮発性メモリ７０６（例えばハードディスク）を備える。不揮発性メモリ７０６は、オペレーティングシステム７１０、プロセス６００により使用されるデータ７１２、およびプロセス６００を実行するために揮発性メモリ７０４からプロセッサ７０２により実行されるコンピュータ命令７１４を格納する。
【００５４】
プロセス６００は、図７のハードウェアおよびソフトウェアでの使用に限定されず、どのようなコンピューティングまたは処理環境においても、コンピュータプログラムを実行可能な種類のマシンであれば、適用可能であろう。プロセス６００は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組合せで実施することができる。例えば、プロセス６００は、プロセッサ、メモリ、プログラム可能な論理および論理ゲートの１つ、または組合せを含む回路で実施することができる。プロセス６００は、それぞれプロセッサ、記憶媒体または揮発性および不揮発性メモリおよび／または記憶素子を含むプロセッサにより読み取り可能な他の製造品、少なくとも１つの入力デバイス、および１つまたは複数の出力デバイスを含むプログラム可能なコンピュータ／マシン上で実行されるコンピュータプログラムにより実施することができる。プロセス６００を実行し、出力情報を生成するために入力デバイスを使用して入力されたデータにプログラムコードを適用することができる。
【００５５】
それぞれのそのようなプログラムは、コンピュータシステムと通信するために高水準手続きプログラミング言語またはオブジェクト指向プログラミング言語で実施することができる。しかし、プログラムは、さらに、アセンブリまたはマシン語で実施することもできる。言語は、コンパイラ言語またはインタプリタ言語とすることができる。それぞれのコンピュータプログラムは、プロセス６００を実行するために記憶媒体または記憶デバイスがコンピュータにより読み出されたときにコンピュータを構成し動作させるため汎用または専用プログラム可能コンピュータにより読み取り可能な記憶媒体またはデバイス、例えば、ＣＤ−ＲＯＭ、ハードディスク、または磁気ディスケットに格納することができる。プロセス６００は、さらに、実行時に（複数の）コンピュータプログラム内の命令によりコンピュータがプロセス６００に従って動作する、（複数の）コンピュータプログラムとともに構成される、１つまたは複数のマシン可読記憶媒体として実施することもできる。
【００５６】
プロセス６００は、本明細書で説明されている特定の実装に限定されない。例えば、プロセス６００は、図６の特定の処理順序に限定されない。むしろ、図６のブロックは、代替え処理シーケンスを実行するために必要に応じて順序を変更することができる。
【００５７】
いくつかの例では、コントローラコンポーネント１８は、固定された、場合によっては組み込み型の、パーソナルコンピュータ（ＰＣ）上のスタンドアロンのコンポーネントとして実行することができる。コントローラコンポーネント１８は、コントローラコンポーネント１８が起動されると必ず自律的に実行されるように構成される、つまりサービスとしてインストールするか（Ｗｉｎｄｏｗｓ（登録商標）ＮＴ／２０００）、またはデーモンとして実行する（Ｌｉｎｕｘ）。
【００５８】
他の例では、コントローラコンポーネント１８は、モバイルデバイス上で、ユーザインターフェースを備えるアプリケーションの一部として実行することができる。さらに他の例では、コントローラコンポーネント１８の機能をＲＦＩＤインテロゲータ２６ａ〜２６ｃ内に組み込むことが可能である。
【００５９】
他の例では、コントローラコンポーネント１８は、オンライン動作だけでなくオフライン動作でも使用される。ＲＦＩＤコントローラコンポーネント１８は、通常、ＲＦＩＤイベントおよびデータを関連するノード３４に報告する、接続状態で実行されるが、ホストコンピュータとの間欠的接続を処理するように、または接続をまったく処理しないようにＲＦＩＤコントローラコンポーネント１８を構成することも可能である。
【００６０】
多重インテロゲータ
図８を参照すると、ＲＦＩＤコントローラ１８は、単一のＲＦＩＤインテロゲータインターフェースを通じて複数のＲＦＩＤインテロゲータを、単一のＲＦＩＤインテロゲータインターフェースを通じて単一のインテロゲータを、または単一のＲＦＩＤインテロゲータインターフェースを通じて複数のアンテナを持つ単一のインテロゲータで動作するように構成できる。クラス図８００は、単一のインテロゲータインターフェースの定義を含む、ＲＦＩＤインテロゲータ抽象クラス（ＲＦＩＤ  ｉｎｔｅｒｒｏｇａｔｏｒ  ａｂｓｔｒａｃｔ  ｃｌａｓｓ）８０２を含む。ＲＦＩＤインテロゲータ抽象クラス８０２は、単純ＲＦＩＤインテロゲータ（ｓｉｍｐｌｅ  ＲＦＩＤ  ｉｎｔｅｒｒｏｇａｔｏｒ）サブクラス８０６、多重化ＲＦＩＤインテロゲータ（ｍｕｌｔｉｐｌｅｘｅｄ  ＲＦＩＤ  ｉｎｔｅｒｒｏｇａｔｏｒ）サブクラス８１０、およびマイクロＲＦＩＤインテロゲータ（ｍｉｃｒｏ  ＲＦＩＤ  ｉｎｔｅｒｒｏｇａｔｏｒ）サブクラス８１４を含む。単純ＲＦＩＤインテロゲータサブクラス８０６は、単一のＲＦＩＤインテロゲータを単一のＲＦＩＤインテロゲータインターフェースに接続するために使用される。多重化インテロゲータサブクラス８１０は、複数のインテロゲータを単一のＲＦＩＤインテロゲータインターフェースに接続するために使用される。マイクロＲＦＩＤインテロゲータサブクラス８１４は、複数の仮想インテロゲータを接続するために多重化ＲＦＩＤインテロゲータサブクラス８１０により使用される。仮想インテロゲータは、物理インテロゲータを直接的には制御しない。例えば、仮想インテロゲータは、単一のインテロゲータの個別のアンテナとすることができる。
【００６１】
ＲＦＩＤリスナーインターフェース（ＲＦＩＤ  ｌｉｓｔｅｎｅｒ  ｉｎｔｅｒｆａｃｅ）８１８は、アプリケーション（ａｐｐｌｉｃａｔｉｏｎ）クラス８２２および他のアプリケーション（図に示されていない）が、検出された、または無線フィールドから除去されたＲＦＩＤタグに関する通知を受け取るために使用するインターフェースである。ＲＦＩＤリスナーインターフェース８１８は、ＲＦＩＤインテロゲータへの参照を含むイベント、例えばＲＦＩＤイベント（ＲＦＩＤ  ｅｖｅｎｔ）８２６を受け渡す。例えば、この参照は、検出された種類のＲＦＩＤタグ、ＲＦＩＤタグのソース、ＲＦＩＤタグが検出された時刻を含むことができる。
【００６２】
図９を参照すると、プロセス９００は、単純インテロゲータクラス８０６、アプリケーション９２２、およびアクター９０１により表される、ＲＦＩＤインテロゲータインターフェース９０４を使用する例である。例えば、アクター９０１は、ＲＦＩＤタグを無線フィールド内から出し入れする人またはマシン（例えば、コンベヤーベルト）とすることができる。
【００６３】
プロセス９００では、アプリケーション９２２は、インテロゲータ９０４をインテロゲータとして指定するインテロゲータオブジェクトを作成する（９１０）。アプリケーション９２２は、自分自身をＲＦＩＤタグからメッセージを受信するＲＦＩＤリスナーとして追加する（９１４）。アプリケーション９２２は、インテロゲータインターフェース９０４に接続し、ＲＦＩＤタグの走査を開始する（９１６）。アクター９０１は、ＲＦＩＤタグをインテロゲータ９０４の無線フィールド内に置く（９１８）。ＲＦＩＤタグが検出されたという通知は、インテロゲータインターフェース９０４により、アプリケーション９２２に発行される（９２０）。例えば、通知は、ＲＦＩＤイベント８２６を含む。アプリケーション９２２は、通知からＲＦＩＤ情報源を取り出す（９２４）。例えば、ソースは、ＲＦＩＤイベント８２６から取り出される。アプリケーション９２２は、それ以降、ＲＦＩＤタグから読み出されるか（９２６）、またはアプリケーション９２２がＲＦＩＤタグに書き込むことができる（９２８）。
【００６４】
図１０を参照すると、プロセス１０００は、多重ＲＦＩＤインテロゲータクラス８１０、アプリケーション１０２２、アクター１００１、第１の多重インテロゲータインターフェース１００６、および第２の多重ＲＦＩＤインテロゲータインターフェース１００８より表される、ＲＦＩＤインテロゲータインターフェース１００４を使用する例である。第１の多重インテロゲータ（図に示されていない）に関連付けられた、第１の多重インテロゲータインターフェース１００６および第２の多重インテロゲータ（図に示されていない）に関連付けられた、第２の多重インテロゲータインターフェース１００８は、それぞれ、マイクロＲＦＩＤインテロゲータクラス８１４により表される。
【００６５】
以下で示されるように、多重化ＲＦＩＤインテロゲータ８１０は、多重ＲＦＩＤインテロゲータのプロキシまたはコントローラのように動作する。アプリケーション１０２２からのコマンドは、直接、多重化ＲＦＩＤインテロゲータインターフェース１００６および１００８に渡される。通知は、アプリケーション１０２２に直接送信するようにできる。それとは別に、通知は、インテロゲータインターフェース１００４に通すこともできる。例えば、インテロゲータインターフェース１００４がＲＦＩＤタグに関する更新情報を必要とする場合である。
【００６６】
アプリケーション１０２２は、インテロゲータオブジェクトを作成する（１０１０）。インテロゲータインターフェース１００４は、第１の多重インテロゲータ用にインテロゲータオブジェクトを作成し（１０１２）、第２の多重インテロゲータ用にインテロゲータオブジェクトを作成する。アプリケーション１０２２は、それ自身をインテロゲータのＲＦＩＤリスナーとして追加する（１０１６）。アプリケーション１０２２をリスナーとして追加するコマンドは、インテロゲータインターフェース１００４によって通され、そのため、アプリケーション１０２２を第１の多重ＲＦＩＤインテロゲータのリスナーとして（１０１８）、また第２の多重インテロゲータとして（１０２０）追加する。アプリケーション１０２２は、インテロゲータインターフェース１００４に接続し、ＲＦＩＤタグの走査を開始する（１０２３）。インテロゲータインターフェース１００４は、第１の多重インテロゲータの走査を開始し（１０２４）、アプリケーション１０２２への第２の多重インテロゲータの走査を開始する（１０２６）コマンドを渡す。
【００６７】
一例では、アクター１００１がＲＦＩＤタグを第１の多重インテロゲータの無線フィールド内に置くと（１０２８）、第１の多重インテロゲータ１００６によりインテロゲータインターフェース１００４に通知が発行される。例えば、通知は、ＲＦＩＤイベント８２６を含む。インテロゲータインターフェース１００４は、ＲＦＩＤタグが検出されたという通知をアプリケーション１０２２に渡す（１０３２）。アプリケーション１０２２は、通知からＲＦＩＤ信号のソースを取り出すことができる（１０３３）。例えば、ソースは、ＲＦＩＤイベント８２６から取り出される。アプリケーション１０２２は、それ以降、ＲＦＩＤタグから読み出されるか（１０３４）、またはアプリケーション１０２２がＲＦＩＤタグに書き込むことができる（１０３６）。
【００６８】
それとは別に、アクター１００１がＲＦＩＤタグを第２の多重インテロゲータの無線フィールド内に置くと（１０３８）、第２の多重インテロゲータ１００８により、ＲＦＩＤタグが検出されたという通知がアプリケーション１０２２に直接発行される（１０４０）。アプリケーション１０２２は、通知からソースを取り出すことができる（１０４１）。アプリケーション１０２２は、それ以降、ＲＦＩＤタグから読み出されるか（１０４２）、またはアプリケーション１０２２がＲＦＩＤタグに書き込むことができる（１０４４）。
【００６９】
図１１を参照すると、プロセス１１００は、多重ＲＦＩＤインテロゲータクラス８１０、アプリケーション１０２２、アクター１００１、第１のアンテナ（図に示されていない）に関連する第１のアンテナインターフェース１１０６、および第２のアンテナ（図に示されていない）に関連する第２のアンテナインターフェース１１０８により表される、ＲＦＩＤインテロゲータインターフェース１００４を使用する例である。第１のアンテナインターフェース１１０６および第２のアンテナインターフェース１１０８は、それぞれ、マイクロＲＦＩＤインテロゲータクラス８１４により表される。
【００７０】
アプリケーション１１２２は、インテロゲータオブジェクトを作成する（１１１０）。インテロゲータインターフェース１１０４は、第１のアンテナ用にインテロゲータオブジェクトを作成し（１１１２）、第２のアンテナ用にインテロゲータオブジェクトを作成する（１１１４）。アプリケーション１１２２は、それ自身をインテロゲータのＲＦＩＤリスナーとして追加する（１１１６）。アプリケーション１１２２は、インテロゲータインターフェース１１０４に接続し、ＲＦＩＤタグの走査を開始する（１１１８）。
【００７１】
アクター１１０１がＲＦＩＤタグをインテロゲータの無線フィールド内に置くと（１１２０）、インテロゲータインターフェースは、信号を解析してソースを判別する（１１２１）。インテロゲータインターフェース１１０４は、ＲＦＩＤタグが検出されたという通知をアプリケーション１１２２に発行する（１１２４）。例えば、通知は、ＲＦＩＤイベント８２６を含む。アプリケーション１０２２は、通知からＲＦＩＤ信号のアンテナソースを取り出すことができる（１１２６）。例えば、アンテナソースは、ＲＦＩＤイベント８２６から取り出される。アプリケーション１１２２は、アンテナソースのデータを読み出す（１１２８）か、または書き込む（１１３２）ことができる。読み出しまたは書き込みコマンドは、アンテナソースからインテロゲータインターフェース１１０４にリダイレクトされる（１１３６、１１３８）。リダイレクト（１１３６、１１３８）は、標準の読み出しメソッド、または例えば、比較すると効率のよい、またはタスクに特有の何らかの特別なメソッドのいずれかを通じて実行できる（例えば、読み出しの呼び出しを実行する前に特定のアンテナのみを使用する何らかの設定を行う）。
【００７２】
再び図９から１１を参照すると、複数のインテロゲータまたはアンテナを多重化する際に、アプリケーション１０２２および１１２２は、アプリケーション９２２と同じアクションを実行するが、アプリケーションがＲＦＩＤタグを検出する正確なインテロゲータまたはアンテナを指定する情報を取り出すことができるけれども、複数のインテロゲータまたはアンテナが使用されるという事実は、アプリケーション１０２２および１１２２から隠される。
【００７３】
上の文章では、ＲＦＩＤシステムを制御する新規性のある装置および手法について説明している。当業者であれば、本発明の概念から逸脱することなく本明細書で開示されている特定の装置および手法を様々な形で修正し、利用し、逸脱することができることは明白である。その結果、本発明は、本明細書で開示され付属の請求項の精神および範囲によってのみ限定される装置および手法に存在する、または含まれるありとあらゆる新規性のある特徴および新規性のある特徴の組合せを包含するものとして解釈すべきである。
【００７４】
他の実施形態は、添付の特許請求の範囲内に含まれる。
【図面の簡単な説明】
【００７５】
【図１】無線ＩＣ（ＲＦＩＤ）システムのブロック図である。
【図２】図１のＲＦＩＤシステムの詳細ブロック図である。
【図３】データプロセッササブコンポーネントのクラス図である。
【図４】データ処理ユニットの単純な連鎖のブロック図である。
【図５】データ処理ユニットの複雑な連鎖のブロック図である。
【図６】図１のＲＦＩＤシステムを構成する例示的なプロセスの流れ図である。
【図７】図６のプロセスを実施することができるコンピュータシステムのブロック図である。
【図８】ＲＦＩＤインテロゲータのクラス図である。
【図９】単一ＲＦＩＤインテロゲータのＲＦＩＤインターフェースに対するシーケンス図である。
【図１０】複数のＲＦＩＤインテロゲータのＲＦＩＤインターフェースに対するシーケンス図である。
【図１１】仮想ＲＦＩＤインテロゲータのＲＦＩＤインターフェースに対するシーケンス図である。
【符号の説明】
【００７６】
１４  ＲＦＩＤハードウェア層
１８  コントローラ
２２  アプリケーション
２３ａ、２３ｂ、２３ｃ  ＲＦＩＤタグ
２６ａ、２６ｂ、２６ｃ  ＲＦＩＤインテロゲータ
２８ａ、２８ｂ  ベンダ提供ドライバ
３０  アプリケーション
３４  ノード
３６  ＲＦＩＤインテロゲータＡＰＩ
４０  メッセージングインターフェース
４４  コントローラＡＰＩ
４８  管理サービス
５２  コントローラコア
４０４  ローパスフィルタ
４１０  アグリゲータ
４２０  データエンリッチャ
５０４  ケースフィルタ
５０８  パレットフィルタ
５１２  ライトコントロール
５２０  送信バッファ
５２４  状態バッファ
７００  コンピュータ
７０２  プロセッサ
７０４  不揮発性メモリ
７０６  不揮発性メモリ
７１０  オペレーティングシステム
７１２  データ
７１４  コンピュータ命令
【図１】
2006228193.tif 000003
【図２】
2006228193.tif 000004
【図３】
2006228193.tif 000005
【図４】
2006228193.tif 000006
【図５】
2006228193.tif 000007
【図６】
2006228193.tif 000008
【図７】
2006228193.tif 000009
【図８】
2006228193.tif 000010
【図９】
2006228193.tif 000011
【図１０】
2006228193.tif 000012
【図１１】
2006228193.tif 000013
【外国語明細書】
2006228193000001.pdf