(57)【要約】【課題】  ＲＦＩＤプロセスが、プロバイダ、およびそのようなプロバイダに関係する、関連するデバイス群に関係する限りで、ＲＦＩＤプロセスの作成および／または実行を提供することにより、ＲＦＩＤプロセスを実施することを容易にするシステムおよび／または方法を提供する。【解決手段】  受信機コンポーネントが、少なくとも１つ以上のプロバイダに関係する情報を受信することができる。ＲＦＩＤサーバコンポーネントが、プロバイダのサブセットに関連する複数のデバイスに全般的に適用することができるＲＦＩＤプロセスを提供することに関連して、その情報を使用する。ＲＦＩＤエンジンが、論理的エンティティを抽象化するイベント処理ツリーを含むＲＦＩＤイベントを処理することができ、論理ソースから成る論理的エンティティは、ＲＦＩＤプロセスを定義することができる。【選択図】  図１
2006072973.tif 000002
【特許請求の範囲】
【請求項１】
ＲＦＩＤサーバを実装することを容易にするシステムであって、
少なくとも１つ以上のプロバイダに関係する情報を受信するコンポーネントと、
前記プロバイダのサブセットに関連する複数のデバイスに全般的に適用することができるＲＦＩＤプロセスを提供することに関連して前記情報を使用するＲＦＩＤサーバコンポーネントとを備えることを特徴とするシステム。
【請求項２】
前記デバイスの少なくとも１つと前記ＲＦＩＤサーバコンポーネントの間で均一な通信を容易にするＤＳＰＩ（デバイスサービスプロバイダインタフェース）コンポーネントをさらに備え、前記ＤＳＰＩコンポーネントは、管理され、前記ＲＦＩＤサーバコンポーネントに対する登録、前記ＲＦＩＤサーバコンポーネントに対する登録解除、ドライバロード、およびドライバアンロードの少なくとも１つを提供することを特徴とする請求項１に記載のシステム。
【請求項３】
論理的エンティティを抽象化するイベント処理ツリーを含むＲＦＩＤイベントを処理するＲＦＩＤエンジンをさらに備え、前記論理的エンティティは、タグデータソース、フィルタ、規則、警告、イベントハンドラ、追跡オプション、およびシンクの少なくとも１つであり、前記ＲＦＩＤプロセスを定義することが可能な論理ソースから成ることを特徴とする請求項１に記載のシステム。
【請求項４】
（１）セキュリティマネージャコンポーネントを使用して許可を与えるＲＦＩＤプロセス、（２）データストアから前記ＲＦＩＤプロセスをロードするＲＦＩＤプロセス、（３）デバイス接続を開くＲＦＩＤプロセス、（４）前記デバイス上で構成設定を提供するＲＦＩＤプロセス、（５）ＥＲＥ（イベントルーティングエンジン）コンポーネントを使用してイベントをサブスクライブするＲＦＩＤプロセス、（６）論理ソース、および関連するフローを解釈するＲＦＩＤプロセス、および（７）前記論理ソースを実行するＲＦＩＤプロセスの少なくとも１つを実行するＲＦＩＤプロセスエンジンを含むＲＦＩＤプロセスマネージャコンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項５】
フィルタリングおよび警告のために、複数の着信イベントを非同期で実行するためにワーカスレッドからイベントを受け取る汎用規則エンジンをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項６】
（１）前記デバイスに対する接続を開くこと、（２）前記デバイスに対する接続を維持し、接続を再確立すること、（３）イベントを実施し、検出されたデバイスに接続し、前記デバイスにポーリングを行うこと、（４）前記デバイスを表すデータオブジェクトを格納すること、および（５）前記デバイスに対する同期コールを扱うことの少なくとも１つを介して、前記デバイスを管理するデバイスマネージャコンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項７】
イベントをサブスクライブし、該イベントをサブスクライバに配信するＥＲＥコンポーネントをさらに備え、前記イベントは、（１）タグ読み取りイベント、（２）タグ読み取りエラー、（３）タグ書き込みエラー、（４）デバイスアップイベント、（５）デバイスダウンイベント、および（６）管理イベントの１つであることを特徴とする請求項１に記載のシステム。
【請求項８】
オペレーティングシステムサービスとの関係で前記ＲＦＩＤサーバコンポーネントのライフサイクルを制御するサーバ管理コンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項９】
前記ＲＦＩＤサーバコンポーネントに関する認可を提供するセキュリティマネージャコンポーネントをさらに備え、前記認可は、（１）前記ＲＦＩＤプロセスを実行する許可認可、（２）オブジェクトをデータストアに追加する許可認可、（３）データストアに対してオブジェクトを変更する許可認可、（４）データストアに対してオブジェクトを削除する許可認可、および（５）データストアに対してオブジェクトを構成する許可の１つであることを特徴とする請求項１に記載のシステム。
【請求項１０】
（１）デバイス検出イベントを受信すること、（２）デバイス検出イベントを集約すること、（３）デバイスを前記デバイスの無効性に基づいて削除すること、および（４）構成されていないデバイスの組を戻すことの１つを含む、デバイス検出およびプロパティ検出を実施する設計ハンドラコンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項１１】
前記ＲＦＩＤサーバコンポーネントは、（１）前記デバイスの論理的表現と前記デバイスの物理的表現の分離、（２）前記イベント処理ツリーを利用して、異なるデバイストポロジを有する、異なる環境において展開することができる追記型独立ソフトウェアベンダモデル、（３）前記ＲＦＩＤイベントを検出し、消費し、前記ＲＦＩＤイベントに従って動作するビジネスプロセスをユーザが定義し、作成すること、（４）バインドモデルを利用した設計時間、展開時間、および実行時間の分離、および（５）前記ＲＦＩＤエンジンが、前記ＲＦＩＤプロセスをＷｅｂサービスとして実行することができることの少なくとも１つを可能にし、プロセス展開／提供は、トランスペアレントであることを特徴とする請求項３に記載のシステム。
【請求項１２】
請求項１に記載のシステムの前記コンポーネントを格納していることを特徴とするコンピュータ可読媒体。
【請求項１３】
前記ＲＦＩＤサーバコンポーネントは、Ｃ＃、拡張マークアップ言語、およびハイパーテキストマークアップ言語の１つであるプログラミング言語を利用することを特徴とする請求項１に記載のシステム。
【請求項１４】
ＲＦＩＤプロセスを実行することを容易にするコンピュータによって実施される方法であって、
少なくとも１つ以上のプロバイダに関係する情報を受信すること、および
前記プロバイダのサブセットに関連する複数のデバイスに全般的に適用することができるＲＦＩＤプロセスを提供することに関連して、前記情報を使用することを備えることを特徴とする方法。
【請求項１５】
論理的エンティティを抽象化するイベント処理ツリーを含むＲＦＩＤイベントを処理するＲＦＩＤエンジンをさらに備え、前記論理的エンティティは、タグデータソース、フィルタ、規則、警告、イベントハンドラ、追跡オプション、およびシンクの少なくとも１つであることが可能であり、前記ＲＦＩＤプロセスを定義することを特徴とする請求項１４に記載の方法。
【請求項１６】
前記デバイスの論理的表現と前記デバイスの物理的表現を分離すること、
前記ＲＦＩＤイベントを検出し、消費し、前記ＲＦＩＤイベントに従って動作するようにビジネスプロセスを定義し、作成して、異なるデバイストポロジを有する、異なる環境で展開されるように、前記イベント処理ツリーとともに利用されるように独立ソフトウェアモデルを一回だけ書くこと、
バインドモデルを利用して設計時間、展開時間、および実行時間を分離すること、および
前記ＲＦＩＤプロセスをＷｅｂサービスとして実行することをさらに備え、プロセス展開／提供は、エンドユーザにトランスペアレントであることを特徴とする請求項１５に記載の方法。
【請求項１７】
読み取りイベントを特定すること、
デバイスを含む論理ソースを利用すること、
前記デバイスのデータに対してフィルタシーケンスを使用すること、
前記イベントを警告に送り、前記デバイスのデータに照らして評価すること、
イベントハンドラシーケンスを利用すること、
前記イベントをシンクに送り、前記イベントを実施すること、および
Ｗｅｂサービスインタフェースを介して前記イベントを別のプロセスに送ることをさらに備えることを特徴とする請求項１４に記載の方法。
【請求項１８】
キューから論理ソースにアドレス指定されたイベントを利用すること、
前記イベントにフィルタシーケンスを通らせること、
前記イベントをイベントハンドラエンジンに送ること、
前記イベントを処理し、該イベントをキューに送ること、
前記論理ソースがルート論理ソースであるかどうかを判定すること、および
前記イベントをシンクに送り、前記イベントを実施することをさらに備えることを特徴とする請求項１４に記載の方法。
【請求項１９】
前記受信機コンポーネントと前記ＲＦＩＤサーバコンポーネントの間で通信され、請求項１４に記載の方法を容易にすることを特徴とするデータパケット。
【請求項２０】
プロバイダに関係する情報を受信するための手段と、
前記プロバイダのサブセットに関連する複数のデバイスに全般的に適用することができるＲＦＩＤプロセスを提供することに関連して、前記情報を使用するための手段とを備える、ＲＦＩＤプロセスを実施することを容易にすることを特徴とするコンピュータによって実施されるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ＲＦＩＤ（無線周波数ＩＤ）に関し、より詳細には、ＲＦＩＤの通信、管理、および／またはプロセス実行を提供することを容易にするシステムおよび方法に関する。
【背景技術】
【０００２】
多くの小売り会社、製造会社、および流通会社が、効率を高めるために異なる革新的な営業方法を適用している。これらの会社は、在庫品（ｓｔｏｒｅ  ｉｎｖｅｎｔｏｒｙ）を監視して、消費者に関連する需要と供給を最適化することを容易にすることができる。利益を最大化する一態様は、補充が、物資および／または商品が尽きたことに関連して行われるように、在庫を適切に用意することにかかっている。例えば、コンピュータおよび／またはＶＣＲを販売する小売業者は、コンピュータをコンピュータの消費者売上との関係で仕入れ、ＶＣＲをＶＣＲの消費者売上との関係で仕入れなければならない。このため、コンピュータの方が、ＶＣＲより需要が大きい（例えば、より多くの個数が販売された）場合、小売業者は、需要と供給を最適化し、それにより利益を最適化するために、コンピュータをより頻繁に仕入れることができる。在庫品、および関連する売上を監視することは、内部の仕組みが分からないために製品活動（ｐｒｏｄｕｃｔ  ａｃｔｉｖｉｔｙ）がブラックボックスに似ている複雑な作業である可能性があるが、それでも、製品を監視することは、在庫品／製品活動効率における非常に重要な要素である。
【０００３】
製品に関連する１つのタイプの監視システムが、ポータブルイメージ収集デバイス（例えば、バーコードリーダ）であり、このデバイスは、製造業界および／または宅配便（ｐａｃｋａｇｅ  ｄｅｌｉｖｅｒｙ）業界において広く使用されている。ポータブルデータ収集デバイスは、在庫品管理、追跡、製造管理および納期管理（ｅｘｐｅｄｉｔｉｎｇ）、品質保証、および／またはその他の目的で、製品、製品包装、および／または倉庫内のコンテナ、小売店、出荷ターミナル（ｓｈｉｐｐｉｎｇ  ｔｅｒｍｉｎａｌ）に付けられたバーコードデータフォームを読み取るように適合された内蔵バーコードデータフォームリーダをしばしば含む。
【０００４】
固有バーコードを製品に付けることができ、バーコードは、その製品に関係する情報に関連付けられていることが可能である。バーコードスキャナを利用して、製品上のバーコードをスキャンすることができ、バーコードから製品関連情報を取得することができる。しかし、そのような識別情報は、そのような情報により製品が雑然として見える可能性があるため、見た目がよくない。さらに、バーコードのちぎれ、汚れ、あるいはバーコードへの書き込み（ａｎｎｏｔａｔｉｏｎ）、または他の物理的損傷／改変により、そのような慣用のシステムおよび／または方法が実質的に役に立たなくなる可能性がある。バーコードの一部分が製品からちぎれた場合、バーコードスキャナは、そのバーコードを正しく読み取ることができない可能性がある。同様に、製品上の汚れによっても、そのようなバーコードが読み取りできなくなる可能性がある。
【０００５】
バーコードリーダおよびＵＰＣ（商品統一コード）を利用する監視システムおよび／または監視方法は、ユーザ（例えば、小売業者、流通業者、および製造業者など）をさらなる面倒な問題に直面させる。バーコードリーダは、製品を適切に監視するために見通し線を要する。例えば、通常のバーコードシステムは、適切な読み取りを実現するのに、スキャナが、バーコードおよび／またはＵＰＣから４〜８インチ（１０．１６〜２０．３２ｃｍ）以内にあることを要する。バーコードシステムは、見通し線を要するだけでなく、製品を識別するためにそれぞれの個別の製品に対して手動のスキャンが必要である。さらに、単一のバーコードおよび／またはＵＰＣが、製品のすべての実例を代表しなければならない（例えば、トマトというブランドの一瓶のケチャップに、その製品を表すための単一のＵＰＣおよび／またはバーコードが指定される）。さらに、単一のバーコードおよび／またはＵＰＣに関連付けられる情報の量は、限られる。このため、トマトというブランドのケチャップをスキャンすることにより、製品識別および価格が与えられることが可能である。この情報は、不十分であるだけでなく、リアルタイムの製品監視の助けにもならない。
【０００６】
ＡＩＤＣ（自動識別およびデータキャプチャ）技術、特にＲＦＩＤ（無線周波数ＩＤ）が、少なくとも、監視システムおよび／または監視方法（例えば、バーコードリーダ、バーコード、および／またはＵＰＣ）の以上の欠点を直す必要性に基づいて開発された。ＲＦＩＤは、ＲＦＩＤタグを利用してデータの格納および取得を遠隔で行う技術である。ＲＦＩＤシステムは、無線周波数、および関連する信号に基づくので、製品を監視する際に、多数の利益（ｂｅｎｅｆｉｔ）および利点が、従来の技術より先に立つ。ＲＦＩＤ技術は、製品を監視するため、および／またはＲＦＩＤタグから信号を受信するために見通し線（ｌｉｎｅ  ｏｆ  ｓｉｇｈｔ）を要さない。このため、スキャナが目標（例えば、製品）に近接していることを要する手動のスキャンは、全く必要ない。それでも、無線周波数、ＲＦＩＤタグサイズ、および関連する電源に基づき、ＲＦＩＤにおいて範囲は限られている。さらに、ＲＦＩＤシステムは、数秒間内に複数回の読み取りを可能にし、迅速なスキャンおよび識別を提供する。つまり、ＲＦＩＤシステムは、複数のタグが読み取られ、かつ／または識別されることを、それらのタグが、ＲＦＩＤリーダの範囲内にある場合に、可能にする。ＲＦＩＤシステムにおける複数回の読み取りの能力は、固有識別コードを含む情報タグをそれぞれの個別の製品に与える能力で補完される。したがって、バーコードシステムとは対照的に、トマトというブランドによって作られたそれぞれの瓶のケチャップが、関連する識別コードを有する。例えば、トマトというブランドによって作られた２瓶のケチャップには、ＲＦＩＤシステム内で２つの別個の識別コードが関連付けられるのに対して、バーコードシステムにおいては、トマトというブランドによって作られた２瓶のケチャップは、同一のバーコードおよび／またはＵＰＣを有する。別の例において、ＲＦＩＤシステムおよび／またはＲＦＩＤ方法は、水中のパイプを追跡すること、および／または監視することなど、水中で実施することができるのに対して、バーコード監視システムは、そのような条件下では、多数の面倒な問題を生じる。
【０００７】
さらに、ＲＦＩＤシステムおよび／またはＲＦＩＤ方法は、タグ付きアイテムに関連付けられたリアルタイムのデータを提供する。リアルタイムのデータストリームは、小売業者、流通業者、および／または製造業者に、在庫品および／または製品を正確に監視する能力を与える。ＲＦＩＤを利用することにより、フロントエンドの流通（例えば、小売業者から消費者への）、およびバックエンドの流通（例えば、流通業者／製造業者から小売業者への）で製品を供給することがさらに容易になることが可能である。流通業者および／または製造業者は、物資の出荷、品質、量、出荷時刻などを監視することができる。さらに、小売業者は、受け取られた在庫品の量、そのような在庫品の場所、品質、棚持ち期間（ｓｈｅｌｆ  ｌｉｆｅ）などを追跡することができる。説明する利点は、フロントエンド供給、バックエンド供給、流通チェーン、製造、小売り、オートメーションなどの複数の分野にわたって機能するＲＦＩＤ技術の柔軟性を実証する。
【０００８】
ＲＦＩＤシステムは、少なくともＲＦＩＤタグおよびＲＦＩＤトランシーバから成る。ＲＦＩＤタグは、ＲＦＩＤトランシーバからの無線周波数クエリに対する受信および／または送信を提供するアンテナを含むことが可能である。ＲＦＩＤタグは、例えば、粘着ステッカー、柔軟性のあるラベル、および集積回路などの、小さい物体であることが可能である。ＲＦＩＤタグが利用する次の４つの異なる周波数が、通常、存在する。すなわち、低周波数タグ（１２５から１３４キロヘルツ）、高周波数タグ（１３．５６メガヘルツ）、ＵＨＦタグ（８６８から９５６メガヘルツ）、およびマイクロ波タグ（２．４５ギガヘルツ）である。
【０００９】
様々な周波数範囲内で、ＲＦＩＤタグは、受動的であることも、能動的であることも可能である。受動的ＲＦＩＤタグは、電源供給部を含まない。電流は、ＲＦＩＤトランシーバからの受信された無線周波数によってアンテナ内に誘導されて生じ、タグが応答するのに十分な電力が供給される。多くの実例において、受動的ＲＦＩＤタグ応答は、短く、ＩＤ番号（例えば、ＧＵＩＤ（グローバル一意識別子））から成る。ＧＵＩＤは、固有である擬似乱数であり、標準のＵＵＩＤ（汎用一意識別子）（例えば、１６進形式で書かれた１６バイトの数）によって実施されることが可能である。しかし、ＲＦＩＤシステムおよび／またはＲＦＩＤ方法は、例えば、ＥＰＣ（電子製品コード）と呼ばれる複数ビット形式（例えば、６４ビットまたは９６ビット）で情報を格納することに収斂している。受動的ＲＦＩＤタグにおける電源供給部の欠如により、デバイスが、小さく、費用対効果が大きいことが可能になる。一部の受動的ＲＦＩＤタグは、０．４ｍｍ×０．４ｍｍのサイズであり、一枚の紙より薄い厚さを有する。それでも、電源供給部が存在しないことは、受動的ＲＦＩＤタグの実際的な読み取り範囲を１０ｍｍからおよそ５メートルまでに制限する。
【００１０】
能動的ＲＦＩＤタグは、電源供給部を含み、より長い読み取り範囲を含む。通常の能動的ＲＦＩＤタグは、およそ米国通貨硬貨のサイズであり、最大７年間のバッテリ寿命を保ちながら、およそ数十メートルの読み取り範囲を提供することをもたらす。さらに、能動的ＲＦＩＤタグは、読み取り、および／または書き込みが行われることが可能である。例えば、ＲＦＩＤタグは、さらなるセキュリティレイヤを提供して、能動的ＲＦＩＤタグに書き込みを行うことにより、窃盗を阻止することができる。セキュリティビットが、少なくともＲＦＩＤトランシーバに基づき、セキュリティステータスを決めることができる。１つのセキュリティシステムでは、例えば、能動的ＲＦＩＤタグが、１に設定された／書き込まれたセキュリティビットを有することが可能であり、これにより、製品が、警報／警告をトリガすることなしにセキュリティで保護された区域を離れる許可を与えられていないことが示されることが可能である。適切な条件が存在すると、ＲＦＩＤシステムおよび／またはＲＦＩＤ方法は、タグ上のビットを０に書き込むことができ、これにより、タグ付き製品が、セキュリティで保護された区域を離れる許可を与えられたことが示されることが可能である。
【００１１】
一般に、ＲＦＩＤシステムは、次の複数のコンポーネントを含むことが可能である。すなわち、タグ、タグリーダ（例えば、タグトランシーバ）、タグプログラミング局、循環リーダ、ソート機器（ｓｏｒｔｉｎｇ  ｅｑｕｉｐｍｅｎｔ）、タグ在庫品ワンド（ｗａｎｄ）などである。さらに、様々な作り、モデル、タイプ、および／またはアプリケーションが、それぞれコンポーネント（タグ、タグリーダ、タグプログラミング局、循環リーダ、ソート機器、タグ在庫品ワンドなど）に関連することが可能であり、これにより、ＲＦＩＤシステム内、および他のＲＦＩＤシステムに対して、検出、構成、セットアップ、通信、メンテナンス、セキュリティ、および／または互換性が、複雑になる可能性がある。以上に鑑みて、製造元、および関連する仕様に関して、検出、構成、セットアップ、および通信の均一な仕方をＲＦＩＤデバイス群に提供する必要性が存在する。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
ＲＦＩＤプロセスを実施することを容易にするシステムおよび／または方法を提供する。
【課題を解決するための手段】
【００１３】
以下に、本発明の様々な態様の基本的な理解を提供するために、本発明の簡略化した概要を提示する。この概要は、本発明の広範な概観ではない。この概要は、本発明の主要な要素、または不可欠な要素を明らかにすることも、本発明の範囲を画定することも意図していない。この概要の唯一の目的は、後に提示するより詳細な説明の前置きとして、本発明のいくつかの概念を簡略化した形で提示することである。
【００１４】
本発明は、ＲＦＩＤビジネスプロセスを実施するＲＦＩＤサーバコンポーネントを実施することを容易にするシステムおよび／または方法に関し、ＲＦＩＤビジネスプロセスは、ＲＦＩＤイベントの入力ソース、イベントに従って動作する処理パイプライン、およびその処理の最終結果を格納するシンク（例えば、データベースシンク、ファイルシンク、ＷＳシンクなどであり、シンクは、概念上のエンドポイントであり、異なるそのようなエンドポイントが、ユーザ要件に基づいて実施され、かつ／またはプラグ接続されることが可能である）を含むビジネスプロセス定義である。ＲＦＩＤビジネスプロセスは、ＲＦＩＤプロセスとしても知られ、かつ／またはＲＦＩＤプロセスと呼ばれることを認識されたい。受信機コンポーネントが、少なくとも１つのプロバイダに関連するデータを受信して、そのデータをＲＦＩＤサーバコンポーネントに伝送することができ、ＲＦＩＤサーバコンポーネントは、それぞれのＲＦＩＤプロセスを実行するために、プロバイダに関連するＲＦＩＤプロセスエンジンのインスタンスを作成することができる。ＲＦＩＤプロバイダは、ソフトウェアＲＦＩＤシステムとハードウェアデバイスの間の対話を担うプロトコルトランスレータ−接続マネージャであることが可能である。プロバイダは、関連するＲＦＩＤデバイスに少なくとも１つのサービスをそれぞれ提供する複数のデバイスベンダ（例えば、リーダベンダ）を含むことが可能であり、ＲＦＩＤデバイスは、通常、プロバイダ固有のコマンドセットを利用する。ＲＦＩＤデバイスは、物理的デバイスのための論理的モニカ（ｍｏｎｉｋｅｒ）であることが可能であり、ＲＦＩＤデバイスは、集合にグループ化されることが可能である。ＲＦＩＤデバイス集合は、デバイス名および／または参照ＩＤの論理的集合であることが可能である。このため、ＲＦＩＤサーバコンポーネントは、受信機コンポーネントを介して複数のプロバイダに関連するデータを受信することができ、プロバイダ固有のコマンドセットにかかわらず、複数のデバイスに対するＲＦＩＤプロセスを実行することができる。
【００１５】
本発明の一態様によれば、ＲＦＩＤサーバコンポーネントは、少なくとも１つのＲＦＩＤプロバイダと対話することができる。ＲＦＩＤサーバコンポーネントは、デバイスベンダが、少なくとも、異なるコマンドセットをサポートする各デバイスに基づき、ＲＦＩＤサーバコンポーネントに均一な形でサービスを提供することを可能にする。ＤＳＰＩプロバイダフレームワークは、ＲＦＩＤサーバコンポーネントが、異なるデバイスと均一な形で対話することを可能にし、デバイスベンダにＲＦＩＤサーバコンポーネントと協力させる明確に規定された契約をデバイスベンダに提供する。さらに、ＤＳＰＩマネージャコンポーネントが、登録済みプロバイダのドライバのロードおよび／またはアンロードを行う。
【００１６】
本発明の別の態様によれば、ＲＦＩＤサーバコンポーネントは、ＲＦＩＤサーバが利用するデバイスを管理するデバイスマネージャコンポーネントを含むことが可能である。デバイスマネージャコンポーネントは、ＲＦＩＤプロセスが開始するのに要求されるデバイス群への接続を開くこと、ＲＦＩＤプロセスのためにデバイス群が要求される場合に、デバイス群への接続を開いた状態に保つこと、要求されるデバイスがダウンした場合に、接続を再確立しようと試みること、デバイス接続を再確立することができない場合に、イベントをスローする（ｔｈｒｏｗ）こと、検出された構成済みデバイスに接続すること、再接続するようにデバイス群にポーリングを行うこと、開いたデバイス群を表すデバイスオブジェクト群を格納すること、およびデバイス群に対する同期コールを扱うことができる。
【００１７】
さらに、ＲＦＩＤサーバコンポーネントは、サーバマネージャコンポーネントおよび／またはセキュリティマネージャコンポーネントを含むことが可能である。そのようなサーバマネージャコンポーネントは、ＲＦＩＤサーバコンポーネントおよび／またはＲＦＩＤサーバコンポーネント内部の関連するコンポーネント群のライフサイクルを制御することができる。ＲＦＩＤサーバコンポーネントのライフサイクルは、少なくとも、オペレーティングシステムサービスのライフサイクルに基づいて算出されることが可能である。さらに、サーバマネージャコンポーネントは、コンポーネント群のインスタンスを適切な順序で作成することができる。セキュリティマネージャコンポーネントは、ＲＦＩＤサーバコンポーネントおよび／またはＲＦＩＤサーバコンポーネント内部の組み込まれたコンポーネント群に関する認可および／または検証を提供することができる。セキュリティマネージャコンポーネントは、プロセスを実行する前に許可を認可することができる。さらに、セキュリティマネージャコンポーネントは、オブジェクトの追加、変更、構成、および／またはストアからのオブジェクトの削除を行う前に、許可を提供することができる。
【００１８】
ＲＦＩＤサーバコンポーネント、および／または他の任意のコンポーネント（ＲＦＩＤサーバコンポーネント内部に組み込まれたコンポーネント群、および／またはＲＦＩＤサーバコンポーネントに関連するコンポーネント群）が関わる通信は、そのような通信を要求するコンポーネントに関連するインタフェースを利用することができることを諒解されたい。特定の通信に固有のメソッドを含むインタフェースを利用することにより、コンポーネント群の間の依存関係を明確に識別することができる。
【００１９】
以下の説明、および添付の図面は、本発明の一部の例示的な態様を詳細に提示する。ただし、それらの態様は、本発明の原理を使用することができる様々な形のいくつかを示すに過ぎず、本発明は、すべてのそのような態様、および均等の態様を含むものとする。本発明のその他の利点、および新規の特徴は、本発明の以下の詳細な説明を添付と併せて考慮することで明白となろう。
【発明を実施するための最良の形態】
【００２０】
本出願で使用する「コンポーネント」、「システム」などの用語は、ハードウェア、ソフトウェア（例えば、実行中の）、および／またはファームウェアである、コンピュータ関連エンティティを指すものとする。例えば、コンポーネントは、プロセッサ上で実行されているプロセス、プロセッサ、オブジェクト、実行ファイル、プログラム、および／またはコンピュータであることが可能である。例として、サーバ上で実行されているアプリケーションと、そのサーバはともに、コンポーネントであることが可能である。プロセス内に１つまたは複数のコンポーネントが存在することが可能であり、コンポーネントは、１つのコンピュータ上に局在化されること、および／または２つ以上のコンピュータ間に分散されることが可能である。
【００２１】
本発明は、図面を参照して説明され、すべての図面で、同様の符号が同様の要素を指す。以下の説明では、説明の目的で、本発明の完全な理解をもたらすために多数の特定の詳細を提示する。しかしながら、本発明は、それらの特定の詳細なしに実施することもできることは明白である。その他、周知の構造群およびデバイス群は、本発明を説明するのを容易にするため、ブロック図形態で示す。
【００２２】
次に、図を参照すると、図１は、ＲＦＩＤビジネスプロセスを作成すること、および／または実行することを介して、ＲＦＩＤプロセスを実施することを容易にするシステム１００を示し、ＲＦＩＤビジネスプロセスは、ファイルイベントの入力ソース、イベントに従って動作する処理パイプライン、およびその処理の最終結果を格納するシンク（例えば、データベースシンク、ファイルシンク、ＷＳシンクなどであり、シンクは、概念上のエンドポイントであり、異なるそのようなエンドポイントが、ユーザ要件に基づいて実施され、かつ／またはプラグ接続されることが可能である）を含むビジネスプロセス定義である。ＲＦＩＤビジネスプロセスは、ＲＦＩＤプロセスとしても知られ、かつ／またはＲＦＩＤプロセスと呼ばれることを諒解されたい。受信機コンポーネント１０２が、プロバイダ１０４（例えば、サービスを提供するデバイスベンダ、ＥＰＣ−Ｇ準拠プロバイダ、独自プロバイダ、レガシプロバイダなど）に関連するデータを受信することができ、ＲＦＩＤサーバコンポーネント１０６が、そのようなデータを利用して、プロバイダ１０４に関連するＲＦＩＤプロセスエンジンを構成して、ＲＦＩＤプロセスを提供することができる。さらに、ＲＦＩＤプロバイダは、ソフトウェアＲＦＩＤシステムとハードウェアデバイスの間の対話を担うプロトコルトランスレータ−接続マネージャであることが可能である。ＲＦＩＤプロセスは、ＲＦＩＤデバイスサービス、タグ読み取り、イベント（以下に説明する）、タグ書き込み、デバイス構成、地理的追跡、計数（ｎｕｍｂｅｒ  ｃｏｕｎｔ）であることが可能であるが、以上には限定されない。
【００２３】
ＲＦＩＤプロセスは、プロバイダ１０４内の個々のプロバイダに属するデバイス群に関連することが可能であることを諒解されたい。例えば、プロバイダ１０４は、ＲＦＩＤデバイス群にサービスを提供する複数のデバイスベンダ（例えば、リーダベンダ）であることが可能である。別の例では、ＲＦＩＤプロセスは、デバイス集合からのイベント、および０またはいくつかの上流のＲＦＩＤプロセスを消費するように構成されることが可能である。このため、プロセスは、イベントに作用し、パイプライン処理の形で（ｐｉｐｅｌｉｎｅｄ  ｆａｓｈｉｏｎ）イベントをうまく豊かにするように作成されることが可能である。ＲＦＩＤデバイス群に提供されるサービスは、タグ読み取り、タグ書き込み、追跡能力などに関わるが、以上には限定されない機能を可能にする。つまり、ＲＦＩＤプロセスへの入力を構成することに極めて大きい柔軟性が存在する。
【００２４】
本発明に関連して極めて多数のプロバイダを利用することができることを諒解されたい。プロバイダ１０４は、ＥＰＣ−Ｇｌｏｂａｌ準拠プロバイダ、独自プロバイダ、レガシプロバイダであることが可能であるが、以上には限定されず、各プロバイダは、１つまたは複数の関連するデバイスに関して登録される。プロバイダ１０４は、通常、プロバイダ固有のデバイス群に関連する特定のコマンドセットを利用する。例えば、ＥＰＣ−Ｇｌｏｂａｌは、ＥＰＣ−Ｇデバイス群に関連することが可能であり、ＲＦＩＤプロセスは、それに応じて作成され、かつ／または実行されることが可能であり、ＲＦＩＤプロセスは、自動識別デバイス群に関して登録された独自プロバイダに合わせられることが可能であり、ＲＦＩＤプロセスは、レガシデバイス群に関して登録されたレガシプロバイダに特有であることが可能である。
【００２５】
受信機コンポーネント１０２は、別個のコンポーネントとして示しているが、代替として、プロバイダデータを受信するためにＲＦＩＤサーバコンポーネント１０６内部で実施することもできることを認識されたい。受信されるプロバイダデータは、少なくとも１つのデバイスが関連付けられている特定のプロバイダに関係するデータ、認証データ、デバイスデータ、デバイス構成、タグ読み取りデータ、タグ書き込みデータ、固有ＩＤ、プロバイダの記述、プロバイダのバージョンなどであることが可能であるが、以上には限定されない。プロバイダ１０４からデータを受信すると、受信機コンポーネント１０２は、そのようなデータをＲＦＩＤサーバコンポーネント１０６に提供することができ、これにより、プロバイダ１０４内の少なくとも１つのプロバイダに対する少なくとも１つのＲＦＩＤプロセスの使用が可能になる。ＲＦＩＤサーバコンポーネント１０６およびプロバイダ１０４は、双方向（全二重）通信を利用するように示しているが、そのような図示は、本発明をそのように限定するものではないことを認識されたい。プロバイダ１０４およびＲＦＩＤサーバコンポーネント１０６は、単方向通信を利用して対話を容易にすることができる。
【００２６】
例えば、受信機コンポーネント１０２は、デバイスからのＲＦＩＤデータ、デバイス構成データ、プロバイダ関連データなどを含むが、以上には限定されない、プロバイダ１０４に関係するデータを獲得することができる。受信機コンポーネント１０２は、受信されたデータおよび／または獲得されたデータをＲＦＩＤサーバコンポーネント１０６に伝送することができ、ＲＦＩＤサーバコンポーネント１０６内部で特定のプロバイダに関するＲＦＩＤプロセスを実行するために、少なくとも１つのＲＦＩＤプロセスエンジンを作成することができる。さらに、プロバイダは、ＲＦＩＤサーバコンポーネント１０６および／またはＲＦＩＤプロセスに代行して、デバイスとの通信を提供することができる。特定のプロバイダに対して複数のＲＦＩＤプロセスを使用することができることを認識されたい。さらに、ＲＦＩＤサーバコンポーネント１０６は、プロセスまたはプロバイダ１０４を使用することができる。例えば、ＲＦＩＤサーバコンポーネント１０６は、第１のプロバイダに関するデバイス群を参照するＮ個のプロセス、第２のプロバイダに関するデバイス群を参照するＭ個のプロセス、第３のプロバイダに関するデバイス群を参照するＯ個のプロセスを提供することができ、Ｎ、Ｍ、およびＯは、１以上の整数である。この実施例は、３つのプロバイダを利用するが、本発明は、プロセスを提供することができるプロバイダの数に対して、そのように限定されないことを諒解されたい。
【００２７】
ＲＦＩＤプロセスを提供することに加えて、ＲＦＩＤサーバコンポーネント１０６は、そのようなＲＦＩＤプロセスの生成および／または配信に補助的な機能を使用することができる。受信機コンポーネント１０２からデータを収集すると、ＲＦＩＤサーバコンポーネント１０６は、デバイスサービスプロバイダに関する管理、インタフェースを介するコンポーネント通信、デバイス管理、デバイスおよび／またはデバイスマネージャからのイベント管理、規則エンジンを介するフィルタリングおよび警報、ＲＦＩＤサーバ管理、セキュリティ、データストア管理、ログ機能などを提供することができる。ＲＦＩＤサーバコンポーネント１０６内部で、インタフェース群が、様々な機能を利用するために通信を提供することを認識されたい。例えば、ＲＦＩＤサーバコンポーネント１０６内部のデバイス群を管理するため、デバイスマネージャコンポーネントを使用することができる。ＤＳＰＩプロバイダマネージャコンポーネント（図示せず）と通信するため、インタフェースが公開される。そのようなインタフェースは、ＤＳＰＩプロバイダマネージャコンポーネントとデバイスマネージャコンポーネントの間における通信のための、特定のプロトコル、アダプタ、方法などを含む。このため、コンポーネント間の通信に対して特定のメソッドを利用することにより、そのようなコンポーネント間の依存関係が明確に定義される。
【００２８】
図２は、物理的イベント生成をデバイスから分離することによってＲＦＩＤプロセスを実行し、ＲＦＩＤプロセスを消費し、サーバアプリケーションレイヤ（例えば、論理的処理レイヤ）内で実行することを容易にするシステム２００を示す。ＲＦＩＤサーバコンポーネント２０２は、ＲＦＩＤイベント処理を担うことが可能なＲＦＩＤエンジン２０４を含むことが可能である。ＥＰＴ（イベント処理ツリー）２０６は、タグデータソース（例えば、リーダ）、フィルタ、規則、警報、イベントハンドラ、追跡オプション、およびシンクなどのすべての論理的エンティティをまとめることができる抽象化であることが可能である。以上が総体として、ＲＦＩＤ対応ビジネスプロセス（ＲＦＩＤプロセスおよび／またはＲＦＩＤビジネスプロセスとも呼ぶ）を定義することが可能であることを諒解されたい。
【００２９】
ＥＰＴ２０６は、通信するように結合されることが可能な少なくとも１つ以上のＥＰＮ（イベント処理ノード）２０８および２１０を含むことが可能である。各ＥＰＮは、以下を含むことが可能であることを諒解されたい。すなわち、イベントソース集合（例えば、複数のソースにわたるイベントアグレゲータ（ａｇｇｒｅｇａｔｏｒ）として作用することも可能な、指定されたイベント形式の入力イベントに関するイベントソースの集合）、フィルタ（例えば、タグの中にあるものを除外する（ｄｒｉｖｅ  ｏｆｆ）ことができる制約、または単純なルックアップでＥＰＮに分かる何らかの論理に基づき、不要なタグをドロップするのに利用される）、警報（例えば、データストリームに照らして評価することができ、適切な警報が発せられるようにするユーザが定義した規則）、変換（例えば、データを変換して付加価値ビジネス関連データにすることができ、入力イベントおよび外部要因が解釈されて、より高次のアプリケーションに役立つコンテキストが提供されることが可能であるようにする、オプションのイベントハンドラ）、および処理ノードのためのイベントシンクまたは出力である。
【００３０】
ＥＰＮ２０８およびＥＰＮ２１０は、ソース、フィルタ、および変換のトランスペアレンシー（ｔｒａｎｓｐａｒｅｎｃｙ）であることを諒解されたい。イベントソース集合およびイベントシンクは、厳密にタイプ付けされる（ｓｔｒｏｎｇｌｙ  ｔｙｐｅｄ）。トランスペアレンシーは、ＥＰＮの選択性、およびＥＰＮを分析し、結合することができる安全性を提供することができる。フィルタおよび警報は、宣言型規則フレームワーク（ｄｅｃｌａｔｉｖｅ  ｒｕｌｅ  ｆｒａｍｅｗｏｒｋ）を介して指定され、メモリ内規則エンジン上、またはデータベース上で実行される。これにより、管理の敏捷性が提供されることが可能であり、再コンパイルまたは展開によって生じさせられるプロセスダウンタイムが短縮されることも可能である。
【００３１】
ＥＰＮ２０８および２１０は、ｎ−ａｒｙツリーに再帰的につなぎ合わせて、ＥＰＴ２０６を形成することができる。これは、データソース集合の上にオプションのフィルタ、およびオプションの変換ステップを有するリレーショナルデータベースにおける反復子（ｉｔｅｒａｔｏｒ）モデルと実質的に同様であることが可能である。さらに、警報は、リレーショナルクエリモデル外の副作用である。このアーキテクチャおよび／またはＲＦＩＤサーバコンポーネント２０２は、ＩＳＶを介して複数のＡＰＩをサポートすることができ、ＳＩが、ＥＰＴ２０６を作成し、展開することができることを諒解し、理解されたい。
【００３２】
さらに、プロバイダ２１２は、ＲＦＩＤイベントをキュー（ｑｕｅｕｅ）２１４に入れることができ、キュー２１４からイベントをディスパッチ（ｄｉｓｐａｔｃｈ）することができ、対応するイベント処理ツリーを実行することができる。ＥＰＴ２０６は、特に指定がない限り、１つのトランザクションとして実行されることが可能であり、ＲＦＩＤイベントの信頼できる重複のない配信および処理を提供する。トランザクションには、ディスパッチキューからイベントを出す（ｄｅ−ｑｕｅｕｅ）こと、様々なＥＰＮを介する処理、および処理済みのイベントをシンクに最終的に入れること（ｆｉｎａｌ  ｄｅｐｏｓｉｔ）が含まれることが可能である。カスタムの警報、フィルタ、および変換が、トランザクションに参加することが可能である。バッチ処理イベントもサポートされることが可能である。例えば、イベントは、キュー２１４の中に蓄積され、定期的な間隔で、トランザクションバッチで処理されることが可能である。少なくともある程度、ＥＰＴ２０６の中で確立される追跡オプションに基づき、必要な追跡データをログ記録する実行エンジンも実装される。ＥＰＮ２０８の実行は、様々であることが可能であることを諒解されたい。一実施例では、ＥＰＮ２０８は、ＢＲＥ（ビジネス規則エンジン）を呼び出すことによって実行される。フィルタ、警報、および変換は、ＲＥ（規則エンジン）ポリシーを介してつなぎ合わされるコンポーネント群である。ただし、ＥＰＮの実行は、データに近接していることにより、プロセス間の往復を減らすようにデータベース内部で行うことができる。
【００３３】
さらに、本発明を利用することにより、アプリケーション固有の制約に基づく柔軟性のある展開を使用することができる。論理イベント処理を論理イベント処理の処理ノード群に対するバインドから分離することにより、柔軟性のある展開が実現される。ＥＰＴ２０６は、イベント処理の論理的記述である。ＥＰＴ２０６の物理的表出（ｍａｎｉｆｅｓｔａｔｉｏｎ）は、バインドプロセスを介する展開において行われる。ＥＰＴ２０６は、イベントソースのインスタンスが作成されない明確に定義されたＸＭＬとして永続的な形態（ｐｅｒｓｉｓｔｅｄ  ｆｏｒｍ）で表される。同様に、物理的デバイストポロジ（例えば、自動的に検出されるか、または手動で作成されるデバイスのリスト、およびデバイスの構成）のＸＭＬ表現が存在することが可能である。バインドプロセスにより、管理者が、デバイストポロジからの特定のデバイスをＥＰＴ２０６内の特定のソースに割り当てることができるようになることが可能である。論理的表現と物理的表現の分離は、以下の理由で重要であることが強調され、諒解されなければならない。すなわち、１）同一の論理的ＥＰＴを異なるリーダトポロジを有する、異なる環境において展開することができる追記型（ｗｒｉｔｅ−ｏｎｃｅ）ＩＳＶ（独立ソフトウェアベンダ）モデルを可能にすること（ｅｎａｂｌｅｍｅｎｔ）、および２）リーダ機能に基づいて展開においてネットワークの動的な最適化を提供することである。例えば、デバイスが、ソースでイベントを濾過して、ネットワーク帯域幅を小さくする能力を有する場合、デバイスにローフィルタ（ｌｏｗ  ｆｉｌｔｅｒ）を押し込むことができる。
【００３４】
図３は、ＲＦＩＤプロセスエンジンを使用して、デバイスに登録されたプロバイダにそのようなＲＦＩＤプロセスを提供することにより、ＲＦＩＤプロセスを実施することを容易にするシステム３００を示す。ＲＦＩＤサーバコンポーネント３０２を利用して、ＲＦＩＤプロセスを実施することができる。ＲＦＩＤサーバコンポーネント３０２は、図２のＲＦＩＤサーバコンポーネント２０２、および図１のＲＦＩＤサーバコンポーネント１０２とそれぞれ実質的に同様であることが可能であるが、そうであることに限定されない。さらに、ＲＦＩＤサーバコンポーネント３０２は、少なくとも１つのＲＦＩＤプロセスを使用するために、受信機コンポーネント（図示せず）を利用してデータを獲得すること、および／または受信することができる。ＲＦＩＤサーバコンポーネント３０２は、様々な機能を提供することができる。そのような諸機能に関する通信は、インタフェース群によって実施されることを諒解されたい。それらのインタフェースは、デバイスサービスプロバイダに関する管理、インタフェース群を介するコンポーネント通信、デバイス管理、デバイスおよび／またはデバイスマネージャからのイベント管理、警報、ＲＦＩＤサーバ管理、セキュリティ、データストア、データストア管理、および／またはログ機能などの、ただし、以上には限定されない諸機能を使用する、ＲＦＩＤサーバコンポーネント３０２内部のコンポーネント間の通信を提供する。
【００３５】
ＲＦＩＤサーバコンポーネント３０２は、図２に示したＤＳＰＩコンポーネント群２０４の１つと実質的に同様であることが可能な少なくとも１つのＤＳＰＩコンポーネント（図示せず）間で管理および調整を提供する、ＤＳＰＩプロバイダマネージャコンポーネント３０４をさらに含むことが可能である。ＤＳＰＩプロバイダマネージャコンポーネント３０４は、サブスクライブする機能、および／またはサブスクライブ解除する（ｕｎｓｕｂｓｃｒｉｂｅ）機能を実施する。プロバイダに関する登録機能および／または登録解除機能は、ＤＳＰＩプロバイダマネージャコンポーネント３０４によって管理される。例えば、ＥＰＣプロバイダが、ＲＦＩＤプロセスが実施されるように、ＲＦＩＤサーバコンポーネント３０２に登録することが可能である。詳細には、ＲＦＩＤサーバコンポーネント３０２が、ＥＰＣ準拠デバイスを使用して通信する能力、制御する能力、構成する能力、および／または管理する能力を実現することができる。あらゆるプロバイダ、および関連するデバイス群が、ＤＳＰＩプロバイダマネージャコンポーネント３０４を利用して登録されること、および／または登録解除されることが可能であり、ＥＰＣプロバイダは、単に実施例に過ぎず、そのように限定されないことを諒解されたい。
【００３６】
例えば、ＤＳＰＩプロバイダマネージャコンポーネント３０４は、プロバイダに関する登録機能および／または登録解除機能を使用するために、オブジェクトモデルの中で指定されたインタフェース（例えば、ＩＤｒｉｖｅｒＭａｎａｇｅｒインタフェース）を実装することができる。さらに、ＤＳＰＩプロバイダマネージャコンポーネント３０４は、少なくとも１つの登録済みのドライバをロードすること、および／またはアンロードすることができる。このロードおよび／またはアンロードは、インタフェース（例えば、ＩＰｒｏｖｉｄｅｒＦａｃｔｏｒｙインタフェース）を公開することによって実施することができる。ドライバをアンロードする前に、ＤＳＰＩプロバイダマネージャコンポーネント３０４は、その特定のプロバイダ（例えば、ドライバがアンロードされるプロバイダ）に関して作成されている、開いたデバイスが存在しないことを確実にすることができることを諒解されたい。さらに、プロバイダ（例えば、以下にともに説明する、デバイスマネージャコンポーネント、イベントルーティングエンジン）とインタフェースをとり、かつ／または通信するコンポーネントが、適切な通信メソッドを含むインタフェース（例えば、ＩＰｒｏｖｉｄｅｒＦａｃｔｏｒｙインタフェース）を利用して、デバイスのロードおよびアンロードを行う。
【００３７】
登録すると、ＤＳＰＩプロバイダマネージャコンポーネント３０４は、新たなデバイスを検出するために、起動時に少なくとも１つのプロバイダのインスタンスをさらに作成することができる。例えば、登録済みプロバイダのインスタンスを作成し、特定のプロバイダ内のデバイス群を検出するために、以下の擬似コードを使用することができる。すなわち、
【００３８】
【表１】
2006072973.tif 000003
【００３９】
以上のコード変数参照（ｃｏｄｅ  ｖａｒｉａｂｌｅ  ｒｅｆｅｒｅｎｃｅｓ）は、実施例であり、そのような変数参照（例えば、ＩＰｒｏｖｉｄｅｒＦａｃｔｏｒｙ，ＰｒｏｖｉｄｅｒＩＤなど）は、本発明に対して限定的ではないことを諒解されたい。
【００４０】
図４は、プロバイダに登録されたデバイスに対してＲＦＩＤプロセスを実施することを容易にするシステム４００を示す。ＲＦＩＤサーバコンポーネント４０２が、ＲＦＩＤプロセスの実行を可能にする。ＲＦＩＤサーバコンポーネント４０２は、機能および／または特徴がここで組み込まれる、図３のＲＦＩＤサーバコンポーネント３０２と実質的に同様であることが可能であることを諒解されたい。ＲＦＩＤプロセスを作成するため、および／または実行するために、受信機コンポーネント（図示せず）は、少なくとも１つのデバイスに登録された少なくとも１つのプロバイダに関連するデータの代行受信（ｉｎｔｅｒｃｅｐｔ）、獲得、受信、伝送、および／または送信を行うことができ、デバイスは、ＲＦＩＤデバイス、センサ、Ｗｅｂサービスなどであることが可能であるが、以上には限定されない。さらに、ＲＦＩＤサーバコンポーネント４０２は、少なくとも１つのコンポーネントを利用して様々な機能を実施することができ、コンポーネントは、それぞれのインタフェースを介して通信する。
【００４１】
ＲＦＩＤサーバコンポーネント４０２は、ＲＦＩＤプロセスエンジン４０６を含むことが可能なプロセスマネージャコンポーネント４０４をさらに含むことが可能である。プロセスマネージャコンポーネント４０４は、単一のＲＦＩＤプロセスエンジン４０６を含むように示しているが、複数のＲＦＩＤプロセスエンジン４０６が、プロセスマネージャコンポーネント４０４に含まれることも可能であることを諒解されたい。さらに、プロセスマネージャコンポーネント４０４は、そのようなＲＦＩＤプロセスエンジン４０６に管理を提供する。さらに、プロセスマネージャコンポーネント４０４は、インタフェースクラス（例えば、ＩＰｒｏｃｅｓｓＭａｎａｇｅｒクラス）を実装することができ、そのインタフェースクラスを介して、ＲＦＩＤプロセスの開始および／または終了が行われる（例えば、開始および／または停止される）ことが可能である。
【００４２】
プロセスマネージャコンポーネント４０４によって開始された各ＲＦＩＤプロセスに関して、ＲＦＩＤプロセスエンジン４０６が作成される。作成されると、ＲＦＩＤプロセスエンジン４０６は、ＲＦＩＤプロセスを実行する。そのような実行には、セキュリティに関連する検証および／または認証、ストアからＲＦＩＤプロセスをロードすること、デバイスとの通信を確立すること、デバイスを構成すること、イベントにサブスクライブすること、イベントルーティングエンジンを利用すること、イベントを出現時にプロセス内の適切なコンポーネント群に送ること、および／または論理ソース、およびそのソースに対して実行される関連するフローを解釈することが含まれることが可能である。
【００４３】
例えば、ＲＦＩＤプロセスエンジン４０６は、フィルタ、警報、イベントハンドラなどの間の必要な結合を作成することができる。これは、静的データ構造として表されることが可能であることを認識されたい。論理ソース（例えば、ＬＳ１）が、リーダ（例えば、Ｄ１）の後にフィルタ（例えば、Ｆ１）およびイベントハンドラ（例えば、ＥＨ１）を有し、より大きい論理ソース（例えば、ＬＳ２）に組み込まれている場合、データ構造は、Ｒ１からＦ１へ、次に、Ｆ１からＥＨ１へ、次にＬＳ２への参照を有する。構造は、各デバイスから発するイベントのフローを含む。論理ソースは、他のコンポーネント群をラップすることができ、かつ／または論理的にリンクする、ＲＦＩＤプロセス内の主要な、アクティブなエンティティであることが可能である。すべての論理ソースは、フィルタのセット、警報のセット、およびイベントハンドラを含む。すべての論理ソースは、タグ読み取りイベントを論理ソースに入れるためのソースの組を含む。すべての論理ソースは、単一の出力ポイントを有し、このポイントは、最後のコンポーネントの出力として定義される。すべての論理ソースは、ソースを子として有し、ソースの出力のコンシューマ（ｃｏｎｓｕｍｅｒ）を親として有する論理ソースツリーの中のノードでもある。フィルタは、生のデータストアに対して実行される論理的構成体である。フィルタは、ある定義された制約（例えば、パレット（ｐａｌｌｅｔ）、ケース、アイテムなど）に基づいて不要なタグ読み取りをドロップし、かつ／または一部のタグ読み取りを許すことができる。警告は、データストリームに照らして評価することができる単純な規則を表現するより一般的な機構である。警告は、ポリシーにグループ化された論理的規則のセットとして表現され、タグ読み取りイベントを含む複数のイベントに照らして評価されることが可能である。それらの規則のアクションは、通常、１つまたは複数のユーザが定義した警告を実行することである。例えば、タグ読み取りが、論理ソースによって午後６時と午前６時の間に登録されている場合、警報を鳴らし、メッセージを介して建物管理者に警告する。警告は、オプションの構成体であることも可能である。Ｃ、Ｃ＋＋、Ｃ＃、ＨＴＭＬ、ＨＸＭＬなどの、ただし、以上には限定されない任意の適切なプログラミング言語を実施して、そのような論理ソースを利用することができることを諒解されたい。以下の擬似コードは、論理ソースを表すのに利用することができるＸＭＬ（拡張マークアップ言語）実施例である。すなわち、
【００４４】
【表２】
2006072973.tif 000004
【００４５】
さらに、各ＲＦＩＤプロセスエンジン４０６は、キュー（図示せず）を利用することができる。キューは、ＲＦＩＤプロセスエンジン４０６に関連付けられて、イベントルーティングエンジンによって送信されるすべての関連イベントを提供することが可能である。以下に具体的に詳述するとおり、イベントキューは、論理的処理パイプライン（例えば、論理的処理を有する物理的デバイス通信レイヤ）とは別個であることを認識されたい。
【００４６】
キューは、各デバイスに関する論理ソースのリストを保持し、スレッドプールが関連付けられている。プール内のスレッドの数は、少なくともＲＦＩＤプロセスの要件に基づいて構成される。さらに、別個のスレッドが、プロセスエンジンキューを監視することができる。任意の適切なコードを利用して、以上を実施することができるが、擬似コードの以下の実施例は、ＸＭＬであることを諒解されたい。以下のコードを実施して、別個のスレッドがプロセスエンジンキューを監視するアルゴリズムを利用することができる。すなわち、
【００４７】
【表３】
2006072973.tif 000005
【００４８】
さらに、スレッドプール内のワーカ（ｗｏｒｋｅｒ）スレッドを利用することができ、各スレッドプールは、以下のアルゴリズムを実行する。すなわち、
【００４９】
【表４】
2006072973.tif 000006
【００５０】
各ＲＦＩＤプロセスに関して作成されたＲＦＩＤプロセスエンジン４０６は、複数のマシン上で実行されることが可能であり、そのようなマシンは、一緒であるか、別々であるか、かつ／または一緒と別々の組み合わせであることを諒解されたい。本発明は、ＲＦＩＤプロセスに関連する作成されたＲＦＩＤプロセスエンジン４０６を実行するマシンの量について、そのように限定されない。さらに、ＲＦＩＤプロセスエンジン４０６とＲＦＩＤサーバコンポーネント４０２の間の通信は、メッセージキュー（ｑｕｅｕｉｎｇ）センタから受信されたイベントである。このため、ＲＦＩＤプロセスエンジン４０６は、任意の場所からメッセージキューセンタにアクセスすることができる。
【００５１】
さらに、対話は、以下に図示し、説明するとおり、アーキテクチャを分散させるために変更することができる。これは、ＲＦＩＤプロセスが、Ｗｅｂサービスとして公開されることを可能にして、ＳＯＡ（サービス指向アーキテクチャ）アプローチをＥＤＡ（電子設計自動化）アプローチと統合することにより、実現することができる。これは、エンドポイントがシンク、または別のプロセスであることが可能な、プロセスに関する分散された、積み重ね可能な（ｓｔａｃｋａｂｌｅ）アプローチを可能にすることができる。
【００５２】
プロセスマネージャコンポーネント４０４は、規則エンジン４０８をさらに含むことが可能である。規則エンジンは、例えば、フィルタリングおよび警告を提供する、ＲＦＩＤサーバコンポーネント４０２のための汎用規則エンジンであることが可能である。ＲＦＩＤサーバコンポーネント４０２内部の警告は、同期で、かつ／または非同期で実行されることが可能である。つまり、警告を呼び出すスレッドは、スレッドが完了するまで待つように要求されない。ワーカスレッドは、イベントを規則エンジン４０８に送り、次のリンクを扱うことに取りかかることができる。規則エンジン４０８には、スレッドプールが関連付けられていることが可能である。さらに、このプールは、１つまたは複数の追加のスレッドを含むように構成されることが可能である。
【００５３】
ＲＦＩＤサーバコンポーネント４０２は、サーバマネージャコンポーネント４１０をさらに含むことが可能である。サーバマネージャコンポーネント４１０は、管理機能（ｍａｎａｇｅｒｉａｌ  ｆｕｎｃｔｉｏｎａｌｉｔｙ）をＲＦＩＤサーバコンポーネント４０２に提供する。つまり、サーバマネージャコンポーネント４１０は、ＲＦＩＤサーバコンポーネント４０２、ならびにさらなる機能を提供する他の様々なコンポーネントを初期化することを担う。サーバマネージャコンポーネント４１０は、ＲＦＩＤサーバコンポーネント４０２のライフサイクルをさらに制御することができる。さらに、サーバマネージャコンポーネント４１０は、システム識別、ＩＰ（インターネットプロトコル）監視、ＤＨＣＰ（動的ホスト構成プロトコル）監視、ネットワークインタフェース監視、デバイス特性監視、論理ソース監視、リーダポイント（例えば、物理的データソース）監視、ＲＦアンテナ監視、ＩＯポート監視、通知イベント（例えば、警報）、多種多様なコンポーネント監視などの、ただし、以上には限定されない１つまたは複数のコマンドセットを提供することができる。通信するため、サーバマネージャコンポーネント４１０は、インタフェースを利用することができる（例えば、ＲＦＩＤサーバコンポーネント４０２内部のいずれのコンポーネントも行うのと同様に）。インタフェース（例えば、サービス制御マネージャインタフェース）は、ＲＦＩＤサーバコンポーネント４０２が、例えば、オペレーティングシステムサービスとして開始されること、および／または終了されることを可能にする。サーバマネージャコンポーネント４１０は、ＲＦＩＤサーバコンポーネント４０２、およびコンポーネント４２０に伴う任意のコンポーネントと適合する、そのようなインタフェースを利用すること、および／またはサポートすることができることを諒解されたい。例えば、ＩＬｉｆｅＣｙｃｌｅインタフェースを利用して、作成および破壊を制御することができる。このため、サーバマネージャコンポーネント４１０は、他のすべてのコンポーネントを要求される順序で作成するＲＦＩＤサーバコンポーネント４０２のブートストラップ（ｂｏｏｔｓｔｒａｐ）コンポーネントであることが可能である。
【００５４】
例えば、オペレーティングシステムサービスの起動中、サーバマネージャコンポーネント４１０は、すべてのマネージャコンポーネントのインスタンスを正しい順序で作成することができる。このため、デバイスマネージャコンポーネントが、ＤＳＰＩマネージャコンポーネントを要する場合、サーバマネージャコンポーネント４１０は、ＤＳＰＩマネージャコンポーネントのインスタンスをまず作成し、次に、ＤＳＰＩマネージャコンポーネントに対する参照をデバイスマネージャコンポーネントに送ることができる。サーバマネージャコンポーネント４１０は、コンポーネントの必要性を判定し、そのようなコンポーネントのインスタンスを作成することができる。さらに、サーバマネージャコンポーネント４１０は、オペレーティングシステムサービスのシャットダウン中、コンポーネント群をシャットダウンすることができる。前の実施例に従い、オペレーティングシステムサービスがシャットダウンすると、サーバマネージャコンポーネント４１０は、デバイスマネージャコンポーネント、ＤＳＰＩマネージャコンポーネント、および他のあらゆるコンポーネント、マネージャ、および／またはストアを閉じる（例えば、シャットダウンする）。
【００５５】
さらに、ＲＦＩＤサーバコンポーネント４０２は、デバイスマネージャコンポーネント４１２を含むことが可能である。デバイスマネージャコンポーネント４１２は、ＲＦＩＤサーバコンポーネントが利用しているデバイス（例えば、リーダ、ライタなど）のいずれか、またはすべてを管理するために、少なくとも１つの登録されたプロバイダと協働することが可能である。複数のプロバイダが登録されることが可能であり、それぞれのプロバイダが、デバイス群を含み、管理すべき複数のデバイスをＲＦＩＤサーバコンポーネント４０２に提供することが可能であることを諒解されたい。そのようなデバイスの管理には、開始されるべきＲＦＩＤプロセスに関してデバイス群に対して接続、ポートなどを開くこと、ＲＦＩＤプロセスのためにデバイスに対する接続を開いた状態に保つこと、要求されるデバイスがダウンした場合、接続を再確立しようと試みること、デバイス接続を再確立することができない場合、デバイスダウンイベントをスローすること、検出された（例えば、手動で再起動され、修復され、再接続されるなどした）構成済みのデバイスに接続し、デバイスアップイベントをスローすること、再接続すべきデバイス群にポーリングを行うこと（例えば、開いたデバイスがダウンし、検出がプロバイダによってサポートされない場合）、開いたデバイス群を表すデバイスオブジェクト群（例えば、そのようなオブジェクト群を利用して、デバイス群に対して直接にコマンド、ディール（ｄｅａｌ）などを送ることができる）を格納すること、デバイス群に対する同期コールを扱うことなどが含まれることが可能であるが、以上には限定されない。
【００５６】
デバイスマネージャコンポーネント４１２によって他のコンポーネント群に通信を提供するために、インタフェースを使用することができる。例えば、デバイスマネージャコンポーネントに関するＩＤｉｓｃｏｖｅｒｙＭａｎａｇｅｒインタフェースは、設計ハンドラコンポーネント（図示せず）とデバイスマネージャコンポーネント４１２の間の通信を抽象化することができる。例えば、以下のＸＭＬベースのコードが、そのようなインタフェースの使用を実証する。すなわち、
【００５７】
【表５】
2006072973.tif 000007
【００５８】
さらに、ＲＦＩＤプロセスエンジン４０６は、以下のインタフェースを利用して、デバイスマネージャコンポーネント４１２と通信することができる。例えば、ＲＦＩＤプロセスが開始すると、関連するＲＦＩＤプロセスエンジン４０６が、任意の、またはすべての関与する（例えば、影響を受ける）デバイス上でメソッドを呼び出す。以下のコードに示すとおり、以上を実施するそのようなメソッドを利用することができる。すなわち、
【００５９】
【表６】
2006072973.tif 000008
【００６０】
ＲＦＩＤプロセスが停止すると、デバイス群を解放するメソッドが使用される（例えば、そのようなメソッドは、ＲｅｌｅａｓｅＤｅｖｉｃｅという参照で例示される）。デバイスに対する少なくとも１つの参照が存在する限り、デバイスマネージャコンポーネント４１２は、合致する接続を維持することができることを諒解されたい。さらに、デバイスマネージャコンポーネント４１２は、ＤＳＰＩコンポーネント（例えば、図２のＤＳＰＩコンポーネント２０４のような）に関連するＩＳＰＩインタフェースのサブセットを公開するインタフェース（例えば、ＩＰｒｏｖｉｄｅｒインタフェース）を利用することができる。デバイスマネージャコンポーネント４１２は、デバイス群を作成し、ＩＤシーケンスを検証することによってデバイスの妥当性を確認することができる。さらに、デバイスマネージャコンポーネント４１２は、ＩＳＰＩインタフェース上のすべてのメソッドを呼び出す必要はなく、このため、ＩＳＰＩ上でメソッドのすべてが必ずしも公開される必要はないことを理解されたい。以下のＸＭＬコードは、以上を実施する実施例である。すなわち、
【００６１】
【表７】
2006072973.tif 000009
【００６２】
ＲＦＩＤサーバコンポーネント４０２は、ＥＲＥ（イベントルーティングエンジン）コンポーネント４１４をさらに提供することができる。ＥＲＥコンポーネント４１４は、デバイス群、およびデバイスマネージャコンポーネント４１２から発するイベントを扱うことができる。イベントは、タグ読み取りイベント、タグ読み取り／書き込みエラー、デバイスアップ／ダウンイベントなどであることが可能であるが、以上には限定されない。イベントを利用するＲＦＩＤサーバコンポーネント４０２内部のコンポーネントは、ＥＲＥコンポーネント４１４を使用してそのようなイベントにサブスクライブすることができる。さらに、ＥＲＥコンポーネント４１４は、任意のサブスクライバ（例えば、サブスクライブされたイベントを利用する任意のコンポーネント）に対するイベントの配信を管理し、かつ／または扱う。例えば、ＲＦＩＤプロセスエンジン４０６は、少なくとも以上に説明した機能に基づくイベントに対するサブスクライバである。さらに、ＥＲＥコンポーネント４１４は、プロバイダに対する参照を追加せず、インタフェース内のメソッド（例えば、ａｄｄＤｉｓｃｏｖｅｒｙＥｖｅｎｔＬｉｓｔｅｎｅｒ）を利用して、コンポーネント４１４をプロバイダ群に登録することを諒解されたい。
【００６３】
ＥＲＥコンポーネント４１４は、インタフェース（例えば、ＩＤｅｖｉｃｅＥｖｅｎｔＳｕｂｓｃｒｉｂｅｒインタフェース）を使用して、タグ読み取りイベント、およびデバイスヘルス（ｈｅａｌｔｈ）イベントなどのデバイス管理イベントに対するコールバック（ｃａｌｌ  ｂａｃｋ）を登録することができる。コールバックハンドラ（図示せず）が、イベントをメッセージキューセンタに書き込むことができる。新たなイベントは、キュー（例えば、ＣｏｍｍｏｎＱ）の中にあることが可能である。別のスレッドが、その新たなイベントをデータストア（図示せず）に書き込み、そのイベントを、少なくとも以下に基づいて別のメッセージキューセンタに送ることが可能である。すなわち、検出イベントは、検出キュー（例えば、ＤｉｓｃｏｖｅｒｙＱ）に送られ、各ＲＦＩＤプロセスエンジン４０６に関するキューが存在し、デバイス関連イベント（例えば、タグ読み取り、管理イベント、およびヘルスイベント）が関連するＲＦＩＤプロセスエンジンキューに送られる。ＥＲＥコンポーネント４１４は、デバイス−ＲＦＩＤプロセスエンジンマッピングを有するテーブルを保持することができることを理解されたい。さらに、複数のＲＦＩＤプロセスエンジンが、デバイスを利用していることが可能であることを諒解されたい。
【００６４】
本発明の一態様によれば、キュー（例えば、ＣｏｍｍｏｎＱ）は、プロバイダ群からのイベントがＲＦＩＤプロセスエンジン４０６に送られる前のバッファとして作用することが可能である。デバイス群および／またはプロバイダ群は、イベントのプロデューサ（ｐｒｏｄｕｃｅｒ）として動作し、他方、ＲＦＩＤプロセスエンジン４０６は、そのようなイベントのコンシューマであることが可能である。このアプローチは、以下のような、ただし、以下には限定されない利点を提供する。すなわち、ＲＦＩＤプロセスエンジンは、例外をスローすることができるユーザコードを実行することができ、ユーザコードは、新たなイベントを入力として再スタートさせることができること、イベントをリッスンすること（ｌｉｓｔｅｎｉｎｇ）（例えば、各デバイスによる）、およびイベントを処理することが、異なるレートで行われることが可能であることである。
【００６５】
ＥＲＥコンポーネント４１４は、ＲＦＩＤサーバコンポーネント４０２、および／またはその他のコンポーネント群と通信するインタフェースを実装するために、以下のＸＭＬコードを利用することができる。すなわち、
【００６６】
【表８】
2006072973.tif 000010
【００６７】
コードの以上のサンプルは、単に実施例であり、本発明は、そのように限定されないことを理解されたい。
【００６８】
図５は、ＲＦＩＤサーバコンポーネント５０２を実装することを容易にして、ＲＦＩＤデバイス、センサ、リアルタイムイベント生成システム、Ｗｅｂサービスなどを含むが、以上には限定されない少なくとも１つのデバイスに登録したプロバイダにＲＦＩＤプロセスを提供する、システム５００を示す。ＲＦＩＤサーバコンポーネント５０２は、図１、図２、図３、および図４に示したＲＦＩＤサーバコンポーネント群と実質的に同様の形で考えられる。前述した機能は、ＲＦＩＤサーバコンポーネント５０２（例えば、通信に関連するインタフェース実装、コンポーネント機能能力（ｃｏｍｐｏｎｅｎｔ  ｆｕｎｃｔｉｏｎａｌｉｔｙ  ｃａｐａｂｉｌｉｔｙ）、ＲＦＩＤプロセス使用など）に関係する。
【００６９】
ＲＦＩＤサーバコンポーネント５０２は、ＲＦＩＤサーバコンポーネント５０２の認証および／または検証を提供するセキュリティマネージャコンポーネント５０４を含む。認証手続きをＲＦＩＤサーバコンポーネント５０２に組み込むため、セキュリティマネージャコンポーネント５０４は、ＲＦＩＤサーバコンポーネント５０２内部のコンポーネント群に関する使用可能なクラスおよび／またはメソッドを提供して、認可および／またはアクセシビリティ（ａｃｃｅｓｓｉｂｌｉｔｙ）を制御することを容易にすることができる。
【００７０】
例として、セキュリティマネージャコンポーネント５０４は、ＲＦＩＤプロセスを実行する前に、ユーザ許可レベルを確かめることができる。ユーザが適切な許可レベルを有する場合、ＲＦＩＤプロセスは、実行されることが可能である。しかし、ユーザが要求される許可レベルを有さない場合、ＲＦＩＤプロセスは、ＲＦＩＤプロセスの実行を許さないことが可能である。さらに、セキュリティマネージャコンポーネント５０４は、ストア内のオブジェクト群に関する許可を確立することができる（以下に説明する）。詳細には、セキュリティマネージャコンポーネント５０４は、ストア内のオブジェクトの操作を許可すること、および／または拒否することができる。操作は、オブジェクトに対する、追加、変更、削除、構成などであることが可能であるが、以上には限定されない。
【００７１】
ＲＦＩＤサーバコンポーネント５０２は、デバイス、および／またはデバイスに関連するプロパティを検出する設計ハンドラコンポーネント５０６を含むことが可能である。以下のコードを利用することにより、そのようなメソッドおよび／または技術を提供するインタフェース（例えば、ＩＤｅｖｉｃｅＨａｎｄｌｅｒインタフェース）を公開することができる。
【００７２】
【表９】
2006072973.tif 000011
【００７３】
上記のコードは、ＸＭＬベースであるが、任意の適切なコンピュータプログラマブル言語（Ｃ、Ｖｉｓｕａｌ  Ｂａｓｉｃ、アセンブリ、Ｐａｓｃａｌなど）が、本発明によって実施されることが可能であり、限定と見なされるべきでないことを理解されたい。上記のＸＭＬコードは、そのようなデバイス群の接続を可能にするデバイスＩＤのリストを戻すことができる。デバイス群は、フィルタリングされることが可能である（例えば、「ＤｉｓｃｏｖｅｒＯｐｔｉｏｎｓ  ｅｎｕｍ」を利用して）。さらに、コードは、デバイスＩＤを有するデバイスに対応するデバイス群に関するサポートされるプロパティのリストを戻すことができ、戻り値は、プロパティファイルに適合するＸＭＬ文字列である。デバイスプロパティは、検出されるデバイスＩＤに固有であることを理解されたい。コードは、ＩＤが、有効なデバイス（例えば、接続可能なデバイス）であるかどうかを判定する。例えば、デバイスは、オフライン、ダウン、サブスクライブしていない（ｕｎｓｕｂｓｃｒｉｂｅｄ）、無許可などである場合、無効であることが可能である。
【００７４】
詳細には、設計ハンドラコンポーネント５０６は、以下を提供することができる。すなわち、デバイス検出エージェント（例えば、ＥＲＥコンポーネント内部のＤｉｓｃｏｖｅｒｙＱ）をリッスン（ｌｉｓｔｅｎ）すること、デバイス検出エージェントの集約（ａｇｇｒｅｇａｔｅ）、デバイスの妥当性を判定すること、および／または偽のデバイスを削除すること（例えば、ＩｓＶａｌｉｄＤｅｖｉｃｅ（）などのメソッドを利用する）、ストアと通信することによって構成されていないデバイスを戻すこと、および／または構成済みのデバイスを削除することなどである。例えば、設計ハンドラコンポーネント５０６は、ＲＦＩＤデバイスなどのデバイスを検出することができ、そのようなＲＦＩＤデバイスは、関連する特定のプロパティを含む。デバイスの検出に加え、設計ハンドラコンポーネント５０６は、検出されたデバイスに関連する特定のプロパティも検出することができる。
【００７５】
ＲＦＩＤサーバコンポーネント５０２は、データストア５０８および／またはプロセスストア５１０をさらに含むことが可能である。データストア５０８は、イベントを保持すること、および／または格納することができる。詳細には、タグ読み取りイベント、タグ読み取り／書き込みエラー、デバイスアップ／ダウンイベントなどの、ただし、以上には限定されないイベント。データストア５０８は、名前のイベントストリームを（例えば、接続しやすさ（ｐｌｕｇ−ａｂｉｌｉｔｙ）のために外部アプリケーションに）報告するため、および／または提供するために使用することができるログを提供するため、利用できることを認識されたい。さらに、データストア５０８は、少なくともデータの有効期間に基づき、定期的に更新すること、および／または整理する（ｃｌｅａｎ）ことができる。
【００７６】
プロセスストア５１０は、ＲＦＩＤプロセスオブジェクト、および／またはＲＦＩＤプロセスオブジェクトを参照する関連するオブジェクト群を保持し、かつ／または格納することができる。そのような関連するオブジェクトは、デバイスおよび／またはデバイス集合（例えば、リーダおよびリーダ集合）であることが可能であるが、以上には限定されない。さらに、プロセスストア５１０は、そのような格納された／保持されたオブジェクトに関連する許可情報を含む。インタフェース（例えば、ＩＳｔｏｒｅインタフェース）をサポートする任意の保持（ｐｅｒｓｉｓｔｅｎｃｅ）機構が、プロセスストアであることが可能であることを認識されたい。さらに、プロセスストア５１０内のオブジェクト群は、定義されたオブジェクトモデル（例えば、オブジェクトモデルが、サーバ内のいずれのコンポーネントにも収容されず、１名または複数名のユーザが同時に使用することができる独立のアセンブリである場合）を利用することにより、読み取られる、かつ／または操作されることが可能である。
【００７７】
データストア５０８および／またはプロセスストア５１０は、ＲＦＩＤサーバコンポーネント５０２内部に位置すること、および／またはリモートサーバ／ロケーション上に位置することが可能であることを諒解されたい。データストア５０８および／またはプロセスストア５１０は、例えば、揮発性メモリであることも、不揮発性メモリであることも可能であり、あるいは揮発性メモリと不揮発性メモリの両方を含むことが可能である。例として、限定としてではなく、不揮発性メモリには、ＲＯＭ（読み取り専用メモリ）、ＰＲＯＭ（プログラマブルＲＯＭ）、ＥＰＲＯＭ（電気的にプログラミング可能なメモリ）、ＥＥＰＲＯＭ（電気的に消去可能なプログラマブルメモリ）、またはフラッシュメモリが含まれることが可能である。揮発性メモリには、外部キャッシュメモリとして作用するＲＡＭ（ランダムアクセスメモリ）が含まれることが可能である。例として、限定としてではなく、ＲＡＭは、ＳＲＡＭ（スタティックＲＡＭ）、ＤＲＡＭ（ダイナミックＲＡＭ）、ＳＤＲＡＭ（シンクロナスＤＲＡＭ）、ＤＤＲ  ＳＤＲＡＭ（ダブルデータレートＳＤＲＡＭ）、ＥＳＤＲＡＭ（エンハンストＳＤＲＡＭ）、ＳＬＤＲＡＭ（シンクリンクＤＲＡＭ）、ＲＤＲＡＭ（ラムバスダイレクトＲＡＭ）、ＤＲＤＲＡＭ（ダイレクトラムバスダイナミックＲＡＭ）、ＲＤＲＡＭ（ラムバスダイナミックＲＡＭ）などの多数の形態で入手可能である。本システムおよび本方法のデータストア５０８および／またはプロセスストア５１０は、以上、およびその他のあらゆる適切なタイプのメモリを、それらに限定されることなしに含むものとする。
【００７８】
ストアマネージャコンポーネント５１２は、データストア５０８とプロセスストア５１０の少なくともどちらかへの接続を管理し、かつ／または扱うことができる。ストアマネージャコンポーネント５１２は、各ストアの周りのラッパ（ｗｒａｐｐｅｒ）の役割をすることができる。さらに、ストアマネージャコンポーネント５１２は、各ストアに対する接続が利用可能であることを確実にすることができる。また、データストア５０８とプロセスストア５１０の間のストア活動は、ストアマネージャコンポーネント５１２を介してルーティングされることも理解し、認識されたい。
【００７９】
図６は、インテリジェント（例えば、マシン学習）を使用して、ＲＦＩＤサーバコンポーネント６０２を実装することを容易にするシステム６００を示す。システム６００は、ＲＦＩＤプロセスをプロバイダ６０４に提供することができるＲＦＩＤサーバコンポーネント６０２を含む。ＲＦＩＤサーバコンポーネント６０２は、少なくとも１つのプロバイダに関連するデータを受け取ることができ、そのようなデータは、特定のプロバイダに対してＲＦＩＤプロセスを使用することを容易にする。さらに、ＲＦＩＤサーバコンポーネント６０２は、インテリジェントコンポーネント６０６を呼び出して、ＲＦＩＤプロセスのそのような使用を容易にすることができる。特定のプロバイダに関連するデータを受け取ると、インテリジェントコンポーネント６０６は、そのようなプロバイダに対してＲＦＩＤプロセスを実施することを容易にすることができる。インテリジェントコンポーネント６０６をＲＦＩＤサーバコンポーネント６０２内部に例示しているが、インテリジェントコンポーネント６０６は、そのように限定されないことを諒解されたい。つまり、インテリジェントコンポーネント６０６は、ＲＦＩＤサーバコンポーネント６０２、ＲＦＩＤサーバコンポーネント６０６内部の任意のコンポーネント、スタンドアロンユニット、および／または以上の任意の組み合わせの中に組み込むことができる。
【００８０】
インテリジェントコンポーネント６０６は、イベントおよび／またはデータを介して捕捉された１組の観察から、システム、環境、および／またはユーザの状態に関する推理を提供する、またはその状態を推論することができることを理解されたい。推論を使用して、特定のコンテキストまたはアクションを識別することができ、あるいは、例えば、諸状態にわたる確率分布を生成することができる。推論は、確率論的であること、つまり、データおよびイベントの考慮に基づく関心対象の諸状態にわたる確率分布の計算であることが可能である。また、推論は、イベントおよび／またはデータのセットからより高いレベルのイベントを構成するために使用される諸技術を指すことも可能である。そのような推論は、イベントが互いに時間的に非常に近接した関係にあるか否かにかかわらず、またイベントおよびデータが、１つのイベントソースやデータソースに由来するか、複数のイベントソースおよびデータソースに由来するかにかかわらず、観察されたイベントおよび／または格納されたイベントデータのセットから、新たなイベントまたはアクションの構築をもたらす。様々な分類（明示的および／または暗示的に訓練された）スキーマおよび／またはシステム（例えば、サポートベクトルマシン、ニューラルネットワーク、エキスパートシステム、ベイジアンビリーフ（Ｂａｙｅｓｉａｎ  ｂｅｌｉｅｆ）ネットワーク、ファジイ論理、データ融合エンジンなど）を、本発明に関連する自動的なアクションおよび／または推論されたアクションを実行することに関連して使用することができる。さらに、本発明に関連して行われる推論は、推論ベースの規則エンジンを介することが可能であることを諒解されたい。
【００８１】
図７は、ＤＳＰＩマネージャコンポーネント７０６と併せてＲＦＩＤサーバコンポーネント７０２を利用して、複数のデバイス、および関連するプロバイダに関する均一な通信および管理を提供することを容易にするシステム７００を示す。プロバイダ７０４は、ＥＰＣ−Ｇ適合プロバイダ７０８、第１の独自プロバイダ７１０、および第２の独自プロバイダ７１２などの複数のプロバイダを含むことが可能である。プロバイダ７０４は、関連するデバイスに対するサービスを可能にすることを諒解されたい。例えば、ＥＰＣ−Ｇ準拠プロバイダ７０８は、ＥＰＣ−Ｇｌｏｂａｌデバイス７１４に関連することが可能であり、第１の独自プロバイダ７１０は、第１のレガシデバイス７１６に関連することが可能であり、第２の独自プロバイダ７１２は、第２のレガシデバイス７１８に関連することが可能である。ＤＳＰＩマネージャコンポーネント７０６は、ＤＳＰＩコンポーネント（図示せず）を介して、関連するデバイス（例えば、ＥＰＣ−Ｇｌｏｂａｌデバイス７１４、第１のレガシデバイス７１６、および／または第２のレガシデバイス７１８）に関する既存のプロバイダ７０４の１つを介して対話することを諒解されたい。ＤＳＰＩコンポーネント（図示せず）は、各デバイスが異なるコマンドセットをサポートするなかで、プロバイダ群７０４がミドルウェア製品群にサービスを提供する均一な仕方を提供する。つまり、ＤＳＰＩコンポーネント（図示せず）は、デバイスベンダ（例えば、関連するデバイス群）に対するインタフェースを定義して、ＲＦＩＤサーバコンポーネント７０２に均一な形でサービスを提供する。
【００８２】
図８〜図１０は、本発明による方法を示す。説明を簡単にするため、方法を一連の動作として示し、説明する。本発明は、例示する動作によって、かつ／または動作の順序によって限定されず、例えば、動作は、様々な順序で、かつ／または同時に行われ、本明細書で提示し説明していない他の動作も伴うことが可能であることを理解し、諒解されたい。さらに、本発明による方法を実施するのに、例示するすべての動作は要求されない可能性がある。さらに、方法は、代替として、状態図を介して互いに関連する一連の状態、またはイベントとして表すこともできることが、当業者には理解され、諒解されよう。
【００８３】
図８は、少なくとも１つのプロバイダに対してＲＦＩＤプロセスが実行されることを可能にするＲＦＩＤサーバコンポーネントを実施することを容易にする方法８００を示す。符号８０２で、ＲＦＩＤサーバが起動される。ＲＦＩＤサーバは、ＲＦＩＤサーバ内部のコンポーネント群、およびＲＦＩＤサーバに関連するコンポーネント群の作成および／または破壊を提供するサーバマネージャコンポーネントによって実施されることが可能である。つまり、サーバマネージャコンポーネントは、要求される順序内で任意のコンポーネントを作成するブートストラップコンポーネントである。一実施例では、ＲＦＩＤサーバは、オペレーティングシステムサービスの起動およびシャットダウンと連携して開始され、シャットダウンされることが可能である。次に、符号８０４で、プロバイダの登録および／または登録解除が行われる。ＲＦＩＤプロセスが実行されるために、プロバイダ（プロセスが実行される）は、ＲＦＩＤサーバに登録されることが可能である。登録活動に加えて、ドライバ群のサーバに対するロードおよび／またはアンロードが行われる。プロバイダは、そのようなプロバイダ内に含まれるデバイス群が利用されることが可能であるためには、登録済みでなければならないことを諒解し、理解されたい。
【００８４】
次に、８０６で、デバイス群が、少なくともそのようなデバイス群が登録済みのプロバイダ内に含まれることに基づき、管理される。プロバイダは、ＲＦＩＤデバイスなどの、ただし、それには限定されない特定のデバイスを、関連する構成設定に関連付けることができる。デバイスのそのような管理には、接続維持、デバイス利用可能性管理、デバイス検出管理、デバイスオブジェクト管理、同期コール管理などが含まれることが可能であるが、以上には限定されない。符号８０８で、イベントが扱われる。デバイス群（例えば、ＲＦＩＤリーダ、ＲＦＩＤライタ、センサなど）、およびデバイスマネージャコンポーネントから発するイベントがある。そのようなイベントは、タグ読み取り、タグ読み取り／書き込みエラー、デバイスアップ／ダウンイベントなどであることが可能であるが、以上には限定されない。そのようなイベントの扱いには、イベントへのサブスクライブ、サブスクライバへのイベントの配信、メッセージキューセンタへのイベントの書き込みなどが含まれることが可能であるが、以上には限定されない。符号８１０で、ＲＦＩＤプロセスが、デバイス群に関連する少なくとも１つのプロバイダに関して、プロセスエンジンによって作成され、実行される。単一のプロバイダに対して複数のＲＦＩＤプロセスが存在することが可能であり、単一のＲＦＩＤサーバコンポーネントに対応する複数のプロバイダが存在することが可能であることを諒解されたい。
【００８５】
図９は、タグベースのフローに関連してＲＦＩＤプロセスエンジンを利用する、ＲＦＩＤプロセスを使用することを容易にする方法９００を示す。方法９００は、ＲＦＩＤプロセスエンジンごとにスレッドのセットを利用し、各スレッドは、以下に説明するとおり、実質的に同様のジョブを行うことを諒解されたい。９０２で、読み取りイベントが特定される。例えば、読み取りイベントは、キュー（例えば、ＲＦＩＤプロセスエンジンキュー）から選択されることが可能である。符号９０４で、デバイスを含む論理ソースが利用される。スレッドは、そのようなイベントを作成したデバイスを含むことが可能な論理ソースを通過することが可能である。次に、９０６で、スレッドが、フィルタシーケンスを通される。９０８に進み、フィルタシーケンスを通っている最中に、フィルタがイベントをブロックした場合、プロセスは、９０２に進み、いずれのフィルタもイベントをブロックしなかった場合、プロセスは、９１０に進む。符号９１０で、イベントは、警告に送られる。イベントが警告に送られると、警告は、そのイベントに従って同期および／または非同期で動作することが可能である。９１２で、スレッドが、イベントハンドラシーケンスを通過させられ、最終的なイベントハンドラの出力イベントは、論理ソースの出力である。符号９１４で、論理ソースが、スレッドが現在通過している論理ソース内にある場合、プロセスは、９０６に進む。現在の論理ソースで論理ソースが存在しない場合、９１６で、イベントはシンクに送られる。
【００８６】
図１０は、論理ソースベースのフロー（例えば、パイプライン処理される（ｐｉｐｅｌｉｎｅｄ）フロー）に関連してＲＦＩＤプロセスエンジンを利用する、ＲＦＩＤプロセスを使用することを容易にする方法１０００を示す。方法１０００内で、すべての論理ソースは、ライブ（ｌｉｖｅ）エンティティであり、各ステップが繰り返し行われることを理解されたい。符号１００２から始めると、作業項目キューなどの、ただし、それには限定されないキューから、イベントアドレスが利用される。次に１００４で、イベントが、フィルタシーケンスを通される。フィルタが、１００６でイベントを止めた場合、方法は、１００２に進む。いずれのフィルタもイベントを止めなかった場合、プロセスは、１００８に進み、イベントは、規則エンジンに送られる。規則エンジンは、イベントに従って非同期で動作することを始めることができる。符号１０１０で、イベントは、イベントハンドラエンジンに送られ、イベントに従って非同期で動作が行われることが可能である。次に符号１０１４で、論理ソースがルート論理ソースであるかどうかの判定が行われる。ルート論理ソースではない場合、プロセスは、１００２に進む。論理ソースがルート論理ソースである場合、イベントは、１０１６でシンクに送られる。イベントハンドラエンジンは、受信されたイベントを処理し、関連する出力を、親論理ソースにアドレス指定された論理ソースキュー（例えば、作業項目キュー）に送信することができることを諒解されたい。
【００８７】
本発明の様々な態様を実施するための追加のコンテキストを提供するため、図１１〜図１２、および以下の説明は、本発明の様々な態様を実施することができる適切なコンピューティング環境の簡単な一般的説明を提供することを目的とする。本発明を、ローカルコンピュータおよび／またはリモートコンピュータ上で実行されるコンピュータプログラムのコンピュータ実行可能命令の一般的なコンテキストで以上に説明してきたが、本発明を他のプログラムモジュール群と組み合わせて実施してもよいことが当業者には認められよう。一般に、プログラムモジュールには、特定のタスクを実行し、かつ／または特定の抽象データ型を実装するルーチン、プログラム、コンポーネント、データ構造などが含まれる。
【００８８】
さらに、本発明の方法は、１つまたは複数の関連するデバイスと動作上、通信することが可能な、単一プロセッサまたはマルチプロセッサのコンピュータシステム、ミニコンピュータ、メインフレームコンピュータ、ならびにパーソナルコンピュータ、ハンドヘルドコンピューティングデバイス、マイクロプロセッサベースの家庭用電化製品および／またはプログラマブル家庭用電化製品を含む、他のコンピュータシステム構成を使用して実施することもできる。本発明の図示する諸態様は、一部のタスクが、通信ネットワークを介してリンクされたリモート処理装置群によって実行される、分散コンピューティング環境において実施することもできる。ただし、本発明のすべてではないにしても、一部の態様は、スタンドアロンコンピュータ群の上で実施することができる。分散コンピューティング環境では、プログラムモジュール群は、ローカルメモリ記憶装置および／またはリモートメモリ記憶装置の中に配置されることが可能である。
【００８９】
図１１は、本発明が対話することができるサンプルのコンピューティング環境１１００の概略ブロック図である。クライアント１１１０は、ハードウェアおよび／またはソフトウェア（例えば、スレッド、プロセス、コンピューティングデバイス）であることが可能である。また、システム１１００は、１つまたは複数のサーバ１１２０も含む。サーバ１１２０は、ハードウェアおよび／またはソフトウェア（例えば、スレッド、プロセス、コンピューティングデバイス）であることが可能である。サーバ１１２０は、例えば、本発明を使用することによって変換を実行するスレッドを収容することができる。
【００９０】
クライアント１１１０とサーバ１１２０の間の１つの可能な通信は、２つ以上のコンピュータプロセス間で伝送されるように適合されたデータパケットの形態であることが可能である。システム１１００は、クライアント１１１０とサーバ１１２０の間で通信を容易にするように使用されることが可能な通信フレームワーク１１４０を含む。クライアント１１１０は、クライアント１１１０にローカルに情報を格納するのに使用することができる１つまたは複数のクライアントデータストアに動作上、接続される。同様に、サーバ１１２０は、サーバ群１１４０にローカルに情報を格納するのに使用することができる１つまたは複数のサーバデータストア１１３０に動作上、接続される。
【００９１】
図１２を参照すると、本発明の様々な態様を実施するための典型的な環境１２００が、コンピュータ１２１２を含む。コンピュータ１２１２は、処理装置１２１４、システムメモリ１２１６、およびシステムバス１２１８を含む。システムバス１２１８は、システムメモリ１２１６からシステムバス１２１４までを含むが、以上には限定されないシステムコンポーネント群を結合する。処理装置１２１４は、様々な利用可能なプロセッサのいずれであることも可能である。また、デュアルマイクロプロセッサ、およびその他のマルチプロセッサアーキテクチャも、処理装置１２１４として使用することができる。
【００９２】
システムバス１２１８は、ＩＳＡ（インダストリアルスタンダードアーキテクチャ）、ＭＳＡ（マイクロチャネルアーキテクチャ）、ＥＩＳＡ（拡張ＩＳＡ）、ＩＤＥ（インテリジェントドライブエレクトロニクス）、ＶＬＢ（ＶＥＳＡローカルバス）、ＰＣＩ（ペリフェラルコンポーネントインターコネクト）、カードバス（Ｃａｒｄ  Ｂｕｓ）、ＵＳＢ（ユニバーサルシリアルバス）、ＡＧＰ（アドバンストグラフィックスポート）、ＰＣＭＣＩＡ（パーソナルコンピュータメモリカードインターナショナルアソシエーションバス）、Ｆｉｒｅｗｉｒｅ（ＩＥＥＥ  １３９４）、およびＳＣＳＩ（スモールコンピュータシステムズインタフェース）を含む、以上には限定されない任意の様々な利用可能なバスアーキテクチャを使用する、メモリバスまたはメモリコントローラ、周辺バスまたは外部バス、および／またはローカルバスを含め、いくつかのタイプのバス構造のいずれであることも可能である。
【００９３】
システムメモリ１２１６は、揮発性メモリ１２２０および不揮発性メモリ１２２２を含む。起動中などにコンピュータ１２１２内部の要素間で情報を転送する基本ルーチンを含むＢＩＯＳ（基本入出力システム）が、不揮発性メモリ１２２２の中に格納される。例として、限定としてではなく、不揮発性メモリ１２２２には、ＲＯＭ（読み出し専用メモリ）、ＰＲＯＭ（プログラマブルＲＯＭ）、ＥＰＲＯＭ（電気的にプログラミング可能なＲＯＭ）、ＥＥＰＲＯＭ（電気的に消去可能なプログラマブルＲＯＭ）、またはフラッシュメモリが含まれることが可能である。揮発性メモリ１２２０には、外部キャッシュメモリとして作用するＲＡＭ（ランダムアクセスメモリ）が含まれる。例として、限定としてではなく、ＲＡＭは、ＳＲＡＭ（スタティックＲＡＭ）、ＤＲＡＭ（ダイナミックＲＡＭ）、ＳＤＲＡＭ（シンクロナスＤＲＡＭ）、ＤＤＲ  ＳＤＲＡＭ（ダブルデータレートＳＤＲＡＭ）、ＥＳＤＲＡＭ（エンハンストＳＤＲＡＭ）、ＳＬＤＲＡＭ（シンクリンクＤＲＡＭ）、ＲＤＲＡＭ（ラムバスダイレクトＲＡＭ）、ＤＲＤＲＡＭ（ダイレクトラムバスダイナミックＲＡＭ）、ＲＤＲＡＭ（ラムバスダイナミックＲＡＭ）などの多数の形態で入手可能である。
【００９４】
また、コンピュータ１２１２は、リムーバブルな／リムーバブルでない、揮発性／不揮発性のコンピュータ記憶媒体も含む。図１２は、例えば、ディスクストレージ１２２４を示す。ディスクストレージ１２２４は、磁気ディスクドライブ、フロッピー（登録商標）ディスクドライブ、テープドライブ、Ｊａｚドライブ、Ｚｉｐドライブ、ＬＳ−１００ドライブ、フラッシュメモリカード、またはメモリスティックを含むが、以上には限定されない。加えて、ディスクストレージ１２２４は、ＣＤ−ＲＯＭデバイス（コンパクトディスクＲＯＭデバイス）、ＣＤ−Ｒドライブ（追記型ＣＤドライブ）、ＣＤ−ＲＷドライブ（再書き込み可能ＣＤドライブ）、またはＤＶＤ−ＲＯＭドライブ（デジタルバーサタイルディスクＲＯＭドライブ）などの光ディスクドライブを含むが、以上には限定されない他の記憶媒体と別個の、または組み合わせた記憶媒体を含むことも可能である。システムバス１２１８に対するディスク記憶装置群１２２４の接続を容易にするため、インタフェース１２２６のようなリムーバブルな、またはリムーバブルでないインタフェースが、通常、使用される。
【００９５】
図１２は、ユーザと、適切な動作環境１２００内に示された基本的なコンピュータリソースの間の仲介として動作するソフトウェアを示していることを諒解されたい。そのようなソフトウェアには、オペレーティングシステム１２２８が含まれる。ディスクストレージ１２２４上に格納されることが可能なオペレーティングシステム１２２８は、コンピュータシステム１２１２のリソースを制御し、割り当てるように動作する。システムアプリケーション群１２３０は、システムメモリ１２１６の中に、またはディスクストレージ１２２４上に格納されたプログラムモジュール群１２３２およびプログラムデータ１２３４を介して、オペレーティングシステム１２２８によるリソースの管理を活用する。本発明は、様々なオペレーティングシステム、またはオペレーティングシステムの組み合わせを使用して実施することができることを諒解されたい。
【００９６】
ユーザは、入力デバイス１２３６を介してコマンドまたは情報をコンピュータ１２１２に入力する。入力デバイス１２３６には、マウス、トラックボール、スタイラス、タッチパッド、キーボード、マイク、ジョイスティック、ゲームパッドなどのポインティングデバイス、サテライトディッシュ、スキャナ、ＴＶチューナカード、デジタルカメラ、デジタルビデオカメラ、Ｗｅｂカメラなどが含まれるが、以上には限定されない。以上、およびその他の入力デバイス群は、インタフェースポート１２３８を介してシステムバス１２１８経由で処理装置１２１４に接続される。インタフェースポート１２３８には、例えば、シリアルポート、パラレルポート、ゲームポート、およびＵＳＢ（ユニバーサルシリアルバス）が含まれる。出力デバイス１２４０は、入力デバイス１２３６と同一タイプのポートのいくつかを使用する。このため、例えば、ＵＳＢポートを使用して、入力をコンピュータ１２１２に提供し、コンピュータ１２１２からの情報を出力デバイス１２４０に出力することができる。出力アダプタ１２４２を提供して、他の出力デバイス群１２４０のなかでもとりわけ、モニタ、スピーカ、およびプリンタのような、特別なアダプタを要するいくつかの出力デバイス１２４０が存在することを例示している。出力アダプタ１２４２には、例として、限定としてではなく、出力デバイス１２４０とシステムバス１２１８の間で接続の手段を提供するビデオカードおよびサウンドカードが含まれる。リモートコンピュータ１２４４のような、他のデバイス群、および／またはデバイスのシステム群は、入力機能と出力機能をともに提供することに留意されたい。
【００９７】
コンピュータ１２１２は、リモートコンピュータ１２４４のような１つまたは複数のリモートコンピュータに対する論理接続を使用するネットワーク化された環境で動作することができる。リモートコンピュータ１２４４は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ワークステーション、マイクロプロセッサベースの機器、ピアデバイス、または他の一般的なネットワークノードなどであることが可能であり、通常、コンピュータ１２１２に関連して説明した要素の多く、またはすべてを含む。簡明にするため、メモリ記憶装置１２４６だけをリモートコンピュータ１２４４とともに図示している。リモートコンピュータ１２４４は、ネットワークインタフェース１２４８を介してコンピュータ１２１２に論理的に接続され、次に、通信接続１２５０を介して物理的に接続される。ネットワークインタフェース１２４８は、ＬＡＮ（ローカルエリアネットワーク）やＷＡＮ（ワイドエリアネットワーク）などの有線および／または無線の通信ネットワークを包含する。ＬＡＮ技術には、ＦＤＤＩ（ファイバーディストリビューティッドデータインターフェース）、ＣＤＤＩ（カッパディストリビューティッドデータインターフェース）、イーサネット（登録商標）、トークンリングなどが含まれる。ＷＡＮ技術には、ポイントツーポイントリンク、ＩＳＤＮ（統合サービスデジタル網）およびその変種のような回線交換網、パケット交換網、およびＤＳＬ（デジタル加入者線）が含まれるが、以上には限定されない。
【００９８】
通信接続１２５０は、ネットワークインタフェース１２４８をバス１２１８に接続するのに使用されるハードウェア／ソフトウェアを指す。通信接続１２５０は、図を明確にするためにコンピュータ１２１２内部に示しているが、コンピュータ１２１２外部にあることも可能である。ネットワークインタフェース１２４８に対する接続に必要なハードウェア／ソフトウェアには、単に例示の目的で、通常の電話級モデム、ケーブルモデム、およびＤＳＬモデムを含むモデム、ＩＳＤＮアダプタ、およびイーサネット（登録商標）カードなどの、内部技術および外部技術が含まれる。
【００９９】
以上、説明してきたことに、本発明の実施例が含まれる。もちろん、本発明を説明する目的でコンポーネントまたは方法の、考えることができるすべての組み合わせを説明することは可能ではないが、本発明の多数のさらなる組み合わせおよび置換が可能であることが当業者には認識されよう。したがって、本発明は、添付の特許請求の範囲の趣旨および範囲に含まれるすべてのそのような改変、変更、および変種を包含するものとする。
【０１００】
詳細には、以上に説明したコンポーネント、デバイス、回路、システムなどによって実行される様々な機能に関して、そのようなコンポーネントを説明するのに使用される用語（「手段」への言及も含む）は、特に明示しない限り、開示した構造と構造的に均等ではなくても、本発明の本明細書で例示した典型的な諸態様における機能を実行する、前述したコンポーネントの指定されえた機能（例えば、機能的均等物）を実行する任意のコンポーネントに対応するものとする。これに関して、本発明は、本発明の様々な方法の動作および／またはイベントを実行するためのコンピュータ実行可能命令を有するシステムならびにコンピュータ可読媒体を含むことも認識されたい。
【０１０１】
さらに、本発明の特定の特徴をいくつかの実施形態の１つだけに関して開示している可能性があるが、そのような特徴は、任意の所与の、または特定の応用例に関して望ましい、または有利であるように、その他の実施形態の他の１つまたは複数の特徴と組み合わせることができる。さらに、「含む（ｉｎｃｌｕｄｅｓ）」および「含め（ｉｎｃｌｕｄｉｎｇ）」という用語、ならびにそれらの変種が、「発明を実施するための最良の形態（ｄｅｔａｉｌｅｄ  ｄｅｓｃｒｉｐｔｉｏｎ）」または「特許請求の範囲」で使用される限りで、それらの用語は、「含む、備える（ｃｏｍｐｒｉｓｉｎｇ）」という用語と同様の形で包含的であるものとする。
【図面の簡単な説明】
【０１０２】
【図１】ＲＦＩＤサーバ内部のプロセスの実行を容易にする典型的なシステムを示すブロック図である。
【図２】プロバイダおよびＲＦＩＤデバイスに関連するプロセスの実行を容易にする典型的なシステムを示すブロック図である。
【図３】関連するサーバ内部のプロセスの実施および／または実行を容易にするＲＦＩＤベースのシステムを示す図である。
【図４】ＲＦＩＤ通信の管理を容易にする典型的なシステムを示すブロック図である。
【図５】ＲＦＩＤサーバ内部の通信を容易にする典型的なシステムを示すブロック図である。
【図６】ＲＦＩＤサーバコンポーネントを実施することを容易にする典型的なシステムを示すブロック図である。
【図７】ＲＦＩＤサーバを使用して、複数のデバイス、および関連するプロバイダ群とのＲＦＩＤプロセスを実行する典型的なシステムを示すブロック図である。
【図８】ＲＦＩＤサーバを使用することに関する典型的な流れ図である。
【図９】イベントを特定し、実施することに関する典型的な流れ図である。
【図１０】イベントを特定し、実施することを容易にする典型的な方法を示す図である。
【図１１】本発明の新規の態様を使用することができる典型的なネットワーキング環境を示す図である。
【図１２】本発明に従って使用することができる典型的な動作環境を示す図である。
【符号の説明】
【０１０３】
１０２  受信機コンポーネント
１０４  プロバイダ
１０６  ＲＦＩＤサーバコンポーネント
２０２  ＲＦＩＤサーバコンポーネント
２０４  エンジン
２１２  プロバイダ
２１４  キュー
３０２  ＲＦＩＤサーバコンポーネント
３０４  ＤＳＰＩプロバイダマネージャ
４０２  ＲＦＩＤサーバコンポーネント
４０４  プロセッサマネージャコンポーネント
４０６  ＲＦＩＤプロセスエンジン
４０８  規則エンジン
４１０  サーバマネージャコンポーネント
４１２  デバイスマネージャコンポーネント
４１４  ＥＲＥコンポーネント
５０２  ＲＦＩＤサーバコンポーネント
５０４  セキュリティマネージャコンポーネント
５０６  設計ハンドラコンポーネント
５０８  データストア
５１０  プロセスストア
５１２  ストアマネージャコンポーネント
６０２  ＲＦＩＤサーバコンポーネント
６０４  プロバイダ
６０６  インテリジェントコンポーネント
７０２  ＲＦＩＤサーバコンポーネント
７０４  プロバイダ群
７０６  ＤＳＰＩマネージャコンポーネント
７０８  ＥＰＣ−Ｇ準拠プロバイダ
７１０  第１の独自プロバイダ
７１２  第２の独自プロバイダ
７１４  ＥＰＣ−ＧＬＯＢＡＬデバイス
７１６  第１のレガシデバイス
７１８  第２のレガシデバイス
【図１】
2006072973.tif 000012
【図２】
2006072973.tif 000013
【図３】
2006072973.tif 000014
【図４】
2006072973.tif 000015
【図５】
2006072973.tif 000016
【図６】
2006072973.tif 000017
【図７】
2006072973.tif 000018
【図８】
2006072973.tif 000019
【図９】
2006072973.tif 000020
【図１０】
2006072973.tif 000021
【図１１】
2006072973.tif 000022
【図１２】
2006072973.tif 000023