(57)【要約】      （修正有）【課題】少なくともフレームワークに基づいてＲＦＩＤアプリケーションの構築に使用することができるモデルの使用を容易にするシステムおよび／または方法を提供する。【解決手段】受信機コンポーネント１０２は、データを受信し、モデルコンポーネント１０４は、受信データに少なくとも部分的に基づいてＲＦＩＤアプリケーションの作成および／または実行を容易にするモデル１０６を作成することができる。フレームワークは、それだけには限定されないが、エンティティ、フレームワーククラス、少なくとも１つのクラスの階層フレームワーク、インタフェース、例外、コンポーネントアーキテクチャ、スキーマ、オブジェクトモデル、および／またはＡＰＩとすることができる。モデルは、一般的な操作および／または業務固有のシナリオを提供するＲＦＩＤアプリケーションの作成、展開、管理、および／または実行に使用することができる。【選択図】図１
2006072975.tif 000002
【特許請求の範囲】
【請求項１】
ＲＦＩＤプロセスの使用を容易にするシステムであって、
装置、プログラム可能入力のうちの少なくとも一方に関連するデータを受信するコンポーネントと、
前記受信データを使用して、設計時に前記ＲＦＩＤプロセスを構築し、実行時に前記ＲＦＩＤプロセスを実行し、エンティティ、オブジェクトモデル、クラス階層構造、およびＡＰＩのうちの少なくとも１つを含むフレームワークを作成するモデルコンポーネントと
を備えたことを特徴とするシステム。
【請求項２】
前記エンティティは論理ソース、装置を含む論理ソース、装置、フィルタポリシー、警告ポリシー、イベントハンドラ、書き込みハンドラ、ストア、ＲＦＩＤプロセスのうちの少なくとも１つであることを特徴とする請求項１に記載のシステム。
【請求項３】
前記装置はＲＦＩＤリーダ、ＲＦＩＤライタ、ＲＦＩＤプリンタ、プリンタ、リーダ、ライタ、ＲＦＩＤ互換装置、ＲＦＩＤ送信機、アンテナ、センサ、リアルタイム装置、ＲＦＩＤ受信機のうちの少なくとも１つであることを特徴とする請求項２に記載のシステム。
【請求項４】
前記論理ソースは装置コレクション、フィルタ、警告、イベントハンドラ、および追加の論理ソースのうちの少なくとも１つを結合することを特徴とする請求項２に記載のシステム。
【請求項５】
前記論理ソースは前記少なくとも１つのエンティティに共通のサーバ上の物理的装置からのデータのストリーム、および前記ＲＦＩＤプロセス内のタグデータの処理のうちの少なくとも１つを表すことを特徴とする請求項２に記載のシステム。
【請求項６】
前記フィルタポリシーは、有効なタグのリストを許可することができる１組の論理ルールを介して論理ソース上で指定された入ってくる生データストリーム上で実行される論理構成体のグループであることを特徴とする請求項２に記載のシステム。
【請求項７】
前記警告ポリシーは、少なくとも１つのアクションを成立させるためにデータストリームに照らして評価される論理ルールセットのグループであり、前記アクションは、警告の実行、適切な権限の警告、位置のロック、可聴サイレンの実行、テキストメッセージの実行、電子メールの実行、ライトの実行、動きの実行、ビデオの実行のうちの少なくとも１つであることを特徴とする請求項２に記載のシステム。
【請求項８】
前記フレームワークは、論理プロセスを表す処理の論理レイアウトの定義を提供し、前記論理プロセスは、実行時に物理的装置に結合して、論理モデルと物理モデルとのクリーンな分離を提供することができることを特徴とする請求項１に記載のシステム。
【請求項９】
前記イベントハンドラは、イベントストリームの増加、およびビジネスコンテキストを含む追加のイベントの作成のうちの少なくとも１つを提供するために、前記論理ソースからのイベントを処理することを特徴とする請求項２に記載のシステム。
【請求項１０】
前記書き込みハンドラは、装置にコマンドを送信する前記ＲＦＩＤプロセスに、外部入力および前記論理ソースからのイベントのうちの１つを提供することを特徴とする請求項２に記載のシステム。
【請求項１１】
前記ストアは、前記エンティティ、前記ＲＦＩＤプロセス、および前記ＲＦＩＤプロセスにおける前記エンティティから前記装置へのマッピングを含む機構を表すことを特徴とする請求項２に記載のシステム。
【請求項１２】
前記オブジェクトモデルは、前記ＲＦＩＤプロセスの作成および格納を可能にするＲＦＩＤプロセス定義オブジェクトモデル（ＯＭ）、様々な形のプロバイダの装置のメタデータをプロパティメタデータの形式で取得し、装置の妥当性を確認する発見ＯＭ、前記ＲＦＩＤプロセスの展開を可能にするＲＦＩＤプロセス実行ＯＭ、エンティティを格納し、格納されたエンティティを取り出し、削除する統一されたＡＰＩを提供するストアＯＭ、サーバの少なくとも１つの設定に変更を提供するサーバマネージャＯＭ、および前記ＲＦＩＤプロセスおよび前記装置の一方のアクセスに関して認証を提供する認証ＯＭのうちの少なくとも１つであることを特徴とする請求項１に記載のシステム。
【請求項１３】
前記モデルは、例外と、タイムアウトと、オペレーティングシステムサービスにおけるユーザアカウントおよび関連の特権に基づいてセキュリティサービスを提供するセキュリティコンポーネントと、書き込みのコマンドの装置への送信、および論理ソースからのイベントの処理の一方を実施するために使用できるインタフェースを使用するハンドラインタフェースと、サービスＡＰＩコンポーネントとのうちの少なくとも１つをさらに備えたことを特徴とする請求項１に記載のシステム。
【請求項１４】
前記サービスＡＰＩコンポーネントは、Ｗｅｂサービスとして公開されるべき前記モデル内の、ストア、装置ハンドラ、プロセスマネージャ、サーバマネージャ、プロバイダマネージャ、コンポーネントマネージャのＡＰＩうちの少なくとも１つを定義することを特徴とする請求項１３に記載のシステム。
【請求項１５】
請求項１に記載のシステムの各コンポーネントを格納することを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１６】
ＲＦＩＤプロセスの使用を容易にするコンピュータ実行方法であって、
受信データおよびフレームワーク概念を使用してフレームワークをインスタンス化するステップと、
設計時に前記フレームワークを使用する前記ＲＦＩＤプロセスを開発するステップと、
前記フレームワークを介して前記ＲＦＩＤプロセスを展開し、維持するステップと、
実行時に前記フレームワークで前記ＲＦＩＤプロセスを実行するステップと
を備えることを特徴とするコンピュータ実行方法。
【請求項１７】
装置を取得するステップと、
前記装置を構成するステップと、
前記装置からデータコレクションをマッピングするステップと、
論理ソースおよび前記装置を組み合わせて単一のエンティティを表すことによって前記ＲＦＩＤプロセスを作成するステップと、
前記ＲＦＩＤプロセスにおける前記エンティティから物理的装置へのマッピングを設定するステップと
をさらに備えることを特徴とする請求項１６に記載の方法。
【請求項１８】
自動発見および手動発見のうちの一方によって対象の前記装置を発見するステップと、
フィルタ、警告、イベントハンドラ、および書き込みハンドラのうちの１つを構成するステップと、
前記ＲＦＩＤプロセスを保存するステップと
をさらに備えることを特徴とする請求項１７に記載の方法。
【請求項１９】
受信機コンポーネントとモデルコンポーネントとの間で通信を行い、請求項１６に記載の方法を容易にすることを特徴とするデータパケット。
【請求項２０】
ＲＦＩＤプロセスの実施を容易にするコンピュータ実行システムであって、
装置、プロバイダ、プログラム可能入力のうちの１つに関連するデータを受信する手段と、
前記受信データに基づいて設計時にＲＦＩＤプロセスの構築に使用することができるモデルを作成する手段と、
前記モデルを使用して、実行時に前記ＲＦＩＤプロセスを実行する手段と
を備えたことを特徴とするコンピュータ実行システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＦＩＤプロセスの使用を容易にするシステムおよび方法に関する。より詳細には、本発明は、一般に無線周波数識別（ＲＦＩＤ）に関連し、ＲＦＩＤアプリケーションを作成し、かつ／または実行するためのフレームワークを生成する、ＲＦＩＤプロセスの使用を容易にするシステムおよび方法に関する。
【背景技術】
【０００２】
小売、製造、および流通の多くの会社は、効率を向上させるために様々な革新的な運営方法を適用している。これらの会社は、倉庫の在庫を監視して、消費者に関する需要と供給の最適化を容易にすることができる。利益の最大化の一側面は、商品および／または製品が無くなるのと連動して補充が行われるように、在庫を適切に仕入れることにかかっている。例えば、コンピュータおよび／またはＶＣＲ（video cartridge recorder）を販売している小売店は、その消費者売上に応じたコンピュータ、および消費者売上に応じたＶＣＲを仕入れる必要がある。したがって、ＶＣＲよりコンピュータの需要が多い（例えばより多くのユニットが売られている）場合、小売店は、より頻繁にコンピュータを仕入れて、需要と供給、および利益を最適化することができる。在庫および関連の売上の監視は複雑な業務であり、内部の仕組みがわからないため、製品の動きはブラックボックスに匹敵するが、製品の監視は、在庫／製品効率において非常に重要な要素である。
【０００３】
自動識別およびデータ取得（Ａｕｔｏｍａｔｉｃ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ａｎｄ  ｄａｔａ  ｃａｐｔｕｒｅ：ＡＩＤＣ）技術、特に無線周波数識別（ＲＦＩＤ）は、少なくとも一般の監視システムおよび／または方法（例えばバーコードリーダ、バーコード、および／またはＵＰＣ（universal product code）など）の不完全性を解決する必要性に基づいて開発された。ＲＦＩＤは、ＲＦＩＤタグを使用してデータをリモートで格納し、取り出す技術である。ＲＦＩＤシステムは無線周波数および関連の信号に基づいているため、製品の監視では、多数のメリットおよび／または利点は従来の技術に先行する。ＲＦＩＤ技術は、製品を監視し、かつ／またはＲＦＩＤタグからの信号を受信するために、見通しは必要ない。したがって、スキャナが対象物（例えば製品）のすぐそばにある必要がある手動走査は必要ない。しかしながら、ＲＦＩＤでは、無線周波数、ＲＦＩＤタグサイズ、および関連の電源によって範囲が制限される。さらに、ＲＦＩＤシステムによって、数秒以内に複数の読み取りが可能であり、迅速な走査および識別を提供することができる。言い換えれば、ＲＦＩＤシステムによって、タグがＲＦＩＤリーダの範囲内にあるとき、複数のタグを読み取り、かつ／または識別することができる。ＲＦＩＤシステムにおいて複数読み取ることができる能力は、一意の識別コードを含む情報タグを個々の製品に提供する機能で補足される。
【０００４】
さらに、ＲＦＩＤシステムおよび／または方法は、タグ付けされた項目に関連付けられたリアルタイムデータを提供する。リアルタイムデータストリームによって、小売店、流通業者、および／または製造業者は、在庫および／または製品を正確に監視することができる。ＲＦＩＤの使用によって、さらに、フロントエンドの配送（ｆｒｏｎｔ−ｅｎｄ  ｄｉｓｔｒｉｂｕｔｉｏｎ）（小売店から消費者へ）、およびバックエンドの配送（ｂａｃｋ−ｅｎｄ  ｄｉｓｔｒｉｂｕｔｉｏｎ）（例えば流通業者／製造業者から小売店へ）での製品の供給を容易にすることができる。流通業者および／または製造業者は、製品の出荷、品質、量、出荷時間などを監視することができる。さらに、小売店は、受け取った在庫の量、こうした在庫の場所、品質、保存期間などを追跡することができる。上記のメリットは、フロントエンドの供給、バックエンドの供給、流通網、製造、小売、オートメーションなど、複数の領域にわたって機能するＲＦＩＤ技術の柔軟性を示している。
【０００５】
ＲＦＩＤシステムは、少なくともＲＦＩＤタグおよびＲＦＩＤ送受信機から成る。ＲＦＩＤタグは、ＲＦＩＤ送受信機からの無線周波数のクエリに対する送受信を提供するアンテナを含み得る。ＲＦＩＤタグは、例えば接着ステッカー、柔軟なラベル、および内蔵型チップなどの小さい物とすることができる。一般に、ＲＦＩＤタグが使用する異なる４つの周波数がある。それらは、低周波タグ（約１２５から１３４キロヘルツ）、高周波タグ（約１３．５６メガヘルツ）、ＵＨＦ（Ultra High Frequency）タグ（約８６８から９５６メガヘルツ）、およびマイクロ波タグ（約２．４５ギガヘルツ）である。
【０００６】
一般に、ＲＦＩＤシステムは、タグ、タグリーダ（例えばタグ送受信機）、タグライタ、タグプログラミングステーション、循環リーダ（ｃｉｒｃｕｌａｔｉｏｎ  ｒｅａｄｅｒ）、ソート設備、タグ在庫ワンド（ｔａｇ  ｉｎｖｅｎｔｏｒｙ  ｗａｎｄ）など、複数のコンポーネントを含み得る。さらに、様々な型、モデル、タイプ、および／またはアプリケーションをそれぞれのコンポーネント（例えばタグ、タグリーダ、タグプログラミングステーション、循環リーダ、ソート設備、タグ在庫ワンドなど）に関連付けることができ、ＲＦＩＤシステム内および他のＲＦＩＤシステムとの間で発見、構成、セットアップ、通信、メンテナンス、セキュリティ、および／または互換性が複雑になる可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記を鑑み、メーカー、および関連の仕様に関して、ＲＦＩＤ装置を発見し、構成し、セットアップし、それと通信する統一された方法を提供する必要がある。
【０００８】
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、設計時にＲＦＩＤプロセスを作成し、実行時にＲＦＩＤプロセスを実行するために使用できるモデルの実施を容易にする、ＲＦＩＤプロセスの使用を容易にするシステムおよび方法を提供することにある。
【課題を解決するための手段】
【０００９】
以下は、本発明の一部の態様を基本的に理解できるようにするために、本発明の簡略化された要約を示している。この要約は、本発明の広範な概要を示すものではない。これは、本発明の主なまたは重要な要素を特定するものでも、本発明の範囲を画定するものでもない。単に、後述するより詳細な説明の前置きとして、本発明の一部の概念を簡略化した形式で提示するためのものである。
【００１０】
本発明は、設計時にＲＦＩＤプロセスを作成し、実行時にＲＦＩＤプロセスを実行するために使用できるモデルの実施を容易にするシステムおよび／方法に関する。受信機コンポーネントは、データを受信することができ、モデルコンポーネントは、受信データに少なくとも部分的に基づいて、設計時のＲＦＩＤアプリケーションの作成、および実行時のＲＦＩＤアプリケーションの実行を容易にするモデルを作成することができる。受信機コンポーネントは、それだけには限定されないが、外部入力（例えばエンドユーザ入力、アプリケーション開発者入力など）、装置関連データ（例えばアンテナデータ、構成デ―タ、識別、アドレス、バージョンなど）、プロバイダ関連データ、タグデータ、装置の集まり（コレクション；collection）、フィルタポリシー、警告ポリシー、論理ソース（例えば、論理ソースは装置コレクション、オプションのフィルタおよび／または警告のポリシー、および／またはオプションのイベントハンドラから成る）、イベントハンドラ、イベントなどのデータを取得することができる。モデルコンポーネントによって作成されたモデルは、ＲＦＩＤプロセスの作成、展開、実行、および／または維持を容易にするために使用することができる。さらに、モデルコンポーネントは、イベント処理パイプラインを使用することができ、パイプラインイベントは、処理ノードを使用することができる。パイプラインイベント処理ノードは、フィルタ（例えば無効タグ、重複タグ、削除済みタグなど）、警告（例えば盗難検出、ブランクタグなど）、およびイベントハンドラ（例えば内部移動、ビジネスコンテキスト（ｂｕｓｉｎｅｓｓ  ｃｏｎｔｅｘｔ）など）のうちの少なくとも１つとすることができる。イベントは、パイプラインを進むにつれて、データが増え、かつ／またはデータを取り込むようになる。
【００１１】
本発明の一態様によれば、モデルコンポーネントは、ＲＦＩＤプロセスの作成および実行を容易にするフレームワーク（それだけには限定されないが、エンティティ（例えば装置、論理ソース、フィルタポリシー、警告ポリシー、イベントハンドラ、トラッカ、書き込みハンドラ、ＲＦＩＤプロセスオブジェクト、ストアなど）、フレームワーククラス、少なくとも１つのクラスの階層フレームワーク、インタフェース、例外、コンポーネントアーキテクチャ、スキーマ、オブジェクトモデル、アプリケーションプログラミングインタフェース（ＡＰＩ）など）を使用することができる。論理ソースは、サーバ上の物理的装置からの、エンティティをまとめる読み取りのストリームを表すことができ、またＲＦＩＤプロセス内の処理中のタグデータを表すことができる。モデルコンポーネントは、以下の装置管理、プロバイダ管理、ストア管理、稼動状態監視、プロセス設計、プロセス展開、およびランタイムのうちの少なくとも１つを含むことができることを理解されたい。
【００１２】
本発明の別の態様によれば、モデルコンポーネントは、それだけには限定されないが、例えば製造プロセス（例えば製造を離れる製品上のタグに書き込むなど）、アウトバウンドプロセス（ｏｕｔｂｏｕｎｄ  ｐｒｏｃｅｓｓ）（例えば特別にタグが付けられた製品の選択、特別にタグが付けられた製品のパック選択、特別にタグが付けられた製品の選択の出荷、特別にタグが付けられた製品の受け取りなど）、業務関連のプロセス、一般的な操作など）様々なＲＦＩＤアプリケーションを作成し、かつ／または実行することができる。
【００１３】
本発明の別の態様によれば、モデルコンポーネントは、フレームワークに基づくモデルの使用を容易にするためにオブジェクトモデルおよび／またはアプリケーションプログラミングインタフェース（ＡＰＩ）を作成するオブジェクトモデルコンポーネントを含むことができる。モデルコンポーネントは、それだけには限定されないが、ＲＦＩＤプロセスＯＭ、ＲＦＩＤプロセス実行ＯＭ、サーバマネージャＯＭ、発見ＯＭ、ストアＯＭ、および認証ＯＭなどのオブジェクトモデルを呼び出すことができる。モデルコンポーネントは、以下の装置管理、プロバイダ管理、ストア管理、稼動状態監視、プロセス設計、プロセス展開、およびランタイムのうちの少なくとも１つを含むことができることを理解されたい。作成されたＯＭは、それぞれ設計時および実行時中のＲＦＩＤプロセスの作成および／または実行を容易にするために使用することができる。
【００１４】
本発明のさらに別の態様によれば、方法は、設計時にＲＦＩＤプロセスの作成、および実行時にＲＦＩＤプロセスの実行を可能にするフレームワークのインスタンス化を提供する。したがって、ＲＦＩＤプロセスのインスタンス化、作成、および実行は、モデルを使用して実施することができる。さらに、統一された方法による論理ＲＦＩＤプロセス、および物理的装置の作成、展開、および管理を容易にする方法が本発明によって使用される。さらに、本出願によってＲＦＩＤプロセスのライフサイクルにわたる方法および／またはシステムが提供される。
【００１５】
以下の説明および添付の図面は、本発明の詳細ないくつかの態様例を記載している。しかし、これらの態様は、本発明の原理を使用し得る様々な方法のほんの一部を示しているにすぎず、本発明は、こうしたすべての態様およびその均等物を含むものとする。本発明の他の利点および新規の特徴は、本発明の以下の詳細な説明を図面と併せ読めば明らかになる。
【発明の効果】
【００１６】
本発明によれば、設計時にＲＦＩＤプロセスを作成し、実行時にＲＦＩＤプロセスを実行するために使用できるモデルの実施を容易にすることができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して本発明を適用できる実施形態を詳細に説明する。
【００１８】
本出願で使用する場合、「コンポーネント」、「システム」、「フレームワーク」、「オブジェクトモデル」、「モデル」などの用語は、ハードウェア、ソフトウェア（例えば実行中の）、および／またはファームウェアのいずれかのコンピュータ関連エンティティを指すものとする。例えば、コンポーネントは、プロセッサ上で稼働するプロセス、プロセッサ、オブジェクト、実行可能ファイル、プログラム、および／またはコンピュータとすることができる。例として、サーバ上で稼働するアプリケーションおよびサーバはいずれもコンポーネントである。１つまたは複数のコンポーネントが１つのプロセス内に存在する可能性があり、１つのコンポーネントを１つのコンピュータ上に配置する、および／または２つ以上のコンピュータ間に分散することができる。
【００１９】
図面を参照して本発明を説明する。図中、同様の参照番号を使用して同様の要素を指す。以下の説明では、説明上、本発明を完全に理解できるようにするために様々な特定の詳細を記載している。しかし、こうした特定の詳細なしに本発明を実施できることは明らかである。他の例では、本発明を説明しやすくするために、よく知られている構造および装置をブロック図の形式で示している。
【００２０】
次に図面を参照すると、図１は、少なくともフレームワークに基づいて、ＲＦＩＤアプリケーションの構築に使用できるモデルの使用を容易にするシステム１００を示している。受信機コンポーネント１０２は、少なくとも部分的にデータに基づいてモデル１０６を作成することができるモデルコンポーネント１０４からデータを受信し、そこにデータを運ぶことができる。モデル１０６は、ＲＦＩＤアプリケーションの作成を容易にするために使用することができる。受信機コンポーネント１０２は、それだけには限定されないが、外部入力（例えばエンドユーザ入力、アプリケーション開発者入力など）、装置関連データ（例えばアンテナデータ、構成デ―タ、識別、アドレス、バージョンなど）、プロバイダ関連データ、タグデータ、装置コレクション、フィルタポリシー、警告ポリシー、論理ソース（例えば、論理ソースは装置コレクション、オプションのフィルタおよび／または警告のポリシー、および／またはオプションのイベントハンドラから成る）、イベントハンドラ、イベントなどのデータを取得することができる。示した受信機コンポーネント１０２は個別のコンポーネントとして示されているが、受信機コンポーネント１０２は、モデルコンポーネント１０４に組み込むことができ、こうした例は（例えばたとえ別のコンポーネントまたはスタンドアロンコンポーネントに組み込まれているとしても）、限定としてみなされないものとすることを理解されたい。
【００２１】
モデル１０６を使用して、一般的な操作および／または業務固有のシナリオを提供するＲＦＩＤアプリケーションを作成することができる。例えば、それだけには限定されないが、例えば製造プロセス（例えば製造を離れる製品上のタグに書き込むなど）、アウトバウンドプロセス（例えば特別にタグが付けられた製品の選択、特別にタグが付けられた製品のパック選択、特別にタグが付けられた製品の選択の出荷、特別にタグが付けられた製品の受け取りなど）、業務関連のプロセスなど、モデル１０６に少なくとも基づいて様々なＲＦＩＤアプリケーションを作成することができる。モデルコンポーネント１０４が、受信データに関連する様々な特徴および／または仕様を有する複数のＲＦＩＤアプリケーションを作成することができることを理解されたい。さらに、モデルコンポーネント１０４は、ＯＭの上にＲＦＩＤアプリケーション（例えばフレームワークによって公開されたＯＭを使用する）を構築して、それらの機能を満たすようにすることができる。
【００２２】
さらに、モデルコンポーネント１０４は、少なくとも１つのフレームワークを少なくとも１つのＲＦＩＤアプリケーションの構築に使用できるようにモデル１０６を作成することができる。フレームワークは、それだけには限定されないが、エンティティ（装置、論理ソース（論理ソースは装置コレクション、オプションのフィルタおよび／または警告のポリシー、および／またはオプションのイベントハンドラなど）、フィルタポリシー、警告ポリシー、イベントハンドラ、トラッカ、書き込みハンドラ、ＲＦＩＤプロセスオブジェクト、ストアなど）、フレームワーククラス、少なくとも１つのクラスの階層フレームワーク、インタフェース、例外、コンポーネントアーキテクチャ、スキーマ、オブジェクトモデル、アプリケーションプログラミングインタフェース（ＡＰＩ）などから成り得る。例えば、受信機コンポーネント１０２は、少なくとも１つの装置に関連するデータを受信することができる。この装置は、ＲＦＩＤリーダ、ＲＦＩＤライタ、ＲＦＩＤトリガ、ＲＦＩＤ受信機、センサ、リアルタイムイベント、ＲＦＤＩ信号などとすることができる。言い換えれば、装置は、リアルタイムイベントを受信することができる適した任意のコンポーネントとすることができ、装置は、ＲＦＩＤ関連のエンティティである必要はない。受信機コンポーネント１０２は、モデルコンポーネント１０４にデータを提供することができる。モデルコンポーネント１０４は、受信データに少なくとも部分的に基づいてモデル１０６を生成することができる。モデル１０６を使用して、少なくとも１つの装置とともに一般的な操作および／または業務固有のシナリオを提供することができる少なくとも１つのＲＦＩＤプロセスを生成することができることを理解されたい。言い換えれば、モデルコンポーネント１０４は、装置情報に少なくとも部分的に基づいてモデル１０６を作成する。別の例では、ＲＦＩＤアプリケーションは、製造プロセスアプリケーションとすることができる。ＲＦＩＤリーダ／ライタなどの装置は、（例えば消費者に出荷する準備ができている）品物のパレット上のタグに書き込むことができる。モデル１０６を使用することによって、ＲＦＩＤアプリケーションは、例えば、タグ読み取りイベント、外部イベントの刺激などを検出すると、パレット上のタグに書き込むことができる。フレームワークは、論理プロセスを表すことができる処理の論理レイアウトの定義を提供することができることを理解されたい。論理プロセスは、実行時に物理的装置に結合して、論理モデルと物理モデルとのクリーンな分離を提供することができる。言い換えれば、開発者および／またはユーザは、一度書き込むと、どこにでも展開することができる。
【００２３】
さらに、モデルコンポーネント１０４は、イベント処理パイプラインを使用することができ、パイプラインイベントは、そこで処理ノードを使用することができる。パイプラインイベント処理ノードは、フィルタ（例えば無効タグ、重複タグ、削除済みタグなど）、警告（例えば盗難検出、ブランクタグなど）、およびイベントハンドラ（例えば内部移動、ビジネスコンテキストなど）のうちの少なくとも１つとすることができる。イベントは、パイプラインを進むにつれて、データが増え、かつ／またはデータを取り込むようになる。例えば、ソースは、ルールエンジン（ＲＥ）（図示せず）によって受信することができ、ＲＥは、フィルタおよび／または警告ポリシーを実行することができる。次いでＲＥは、ソースをＮ個のコンポーネント（ＥｖｅｎｔＨａｎｄｌｅｒ１、ＥｖｅｎｔＨａｎｄｌｅｒ２、．．．ＥｖｅｎｔＨａｎｄｌｅｒ  Ｎなど）に渡すことができる。ここでは、Ｎは１より大きい整数である。イベント処理パイプライン内の最後のコンポーネントは、取り込まれ、かつ／または増えた出力を提供することができる。
【００２４】
モデルコンポーネント１０４は、ＲＦＩＤプロセスライフサイクルを使用するモデルとすることができることを理解されたい。まず、装置コレクション、イベントポリシー、およびイベントハンドラのうちの少なくとも１つを備える論理ソースが作成される。次に、ポリシーおよび／またはイベントハンドラなどのカスタムコンポーネントを実装することができる。次いで、論理ソースをともに接続して、トラッカおよび／またはセキュリティオプションを備えるプロセスを作成することができる。装置を構成することができ、また、そのプロセスにおいてリーダコレクションを物理的装置に結合して展開することができる。情報を実行中のプロセス、管理されている装置、および／またはプロセスから取り出すことができる。さらに、プロセスは、動的ポリシーモーフィング（プロセスの稼働中など）で再構成することができる。
【００２５】
図２は、ＲＦＩＤアプリケーションを作成し、実行するモデルの使用を容易にするシステム２００を示す。一般的な操作および／または業務固有のシナリオを提供するＲＦＩＤアプリケーションの構築を容易にするモデル（図示せず）を作成するモデルコンポーネント２０２を使用することができる。モデルコンポーネント２０２は、ＲＦＩＤアプリケーション／プロセスの構築および実行を容易にする少なくとも１つのエンティティを含み得る。モデルコンポーネント２０２は図１に示したモデルコンポーネント１０２と実質的に同じとすることができることを理解されたい。さらに、受信機コンポーネント（図示せず）は、ＲＦＩＤアプリケーション／プロセスの作成を助けることができるデータを受信することができる。図示していないが、受信機コンポーネントは、それだけには限定されないが、モデルコンポーネント２０２内に組み込まれたコンポーネント、スタンドアロンユニット、および／またはその組み合わせとすることができる。
【００２６】
モデルコンポーネント２０２は、装置コンポーネント２０４を含み得る。装置コンポーネント２０４は、それだけには限定されないが、ＲＦＩＤリーダ、ＲＦＩＤライタ、ＲＦＩＤ送信機、ＲＦＩＤ受信機、ＲＦＩＤプリンタ、トランスポンダ、送受信機とすることができる。複数の装置コンポーネント２０４をモデルコンポーネント２０２に組み込むことができるが、簡潔にするために１つしか示していないことを理解されたい。装置コンポーネント２０４は、電波を介してタグと通信し、かつ／または情報をデジタル形式でホストに渡すことができる。さらに、装置コンポーネント２０４は、少なくとも１つのタグを書き込み、かつ／またはプログラムすることができる（例えばタグがこうした機能に適合する場合）。ＲＦＩＤアプリケーション／プロセスと関連して機能を実行するように、装置コンポーネント２０４を発見し、かつ／または構成することができる。さらに、装置コンポーネント２０４は、装置の識別を設定する、参照のために名前を付ける、トリガおよび／または他の実行固有のパラメータを読み取る、トリガおよび／または他の実行固有のパラメータを書き込むなどのうちの１つによって構成される。
【００２７】
本発明の一態様によれば、装置コンポーネント２０４は、タグ上で実行する旨のコマンドをホストから取得するＲＦＩＤプリンタとすることができる。それに対して、従来の技術は、タグから情報を取得し、その情報をホストに渡す。例えば、プリンタは、タグ識別、およびバーコードを取得し、それをタグ上に印刷することができる。
【００２８】
さらに、装置コンポーネント２０４の選択は、少なくとも物理的な位置に基づいて互いに関連付けることができる。互いに関連付けられた装置コンポーネント２０４の選択は、論理的な装置コレクションを形成し、かつ／または論理ライタとして指定することができる。共通の操作（例えば読み取りトリガ、書き込みトリガ、送信トリガなど）を１つまたは複数の装置コンポーネント２０４にわたって定義することができることを理解されたい。例えば、装置コンポーネントは、ドックドアＡ、ドックドアＢ、ドックドアＣのＲＦＩＤリーダとすることができる。ＲＦＩＤリーダ（例えば装置コンポーネント２０４）は、「出荷装置コレクション」によって参照することができる装置コレクションとして互いに関連付けることができる。
【００２９】
モデルコンポーネント２０２は、装置コレクション（例えば装置コレクションは１つまたは複数の装置コンポーネント２０４を含む）、フィルタ、警告、イベントハンドラ（後述）、および追加の論理ソースのうちの少なくとも１つを結合する論理ソースコンポーネント２０６をさらに含むことができる。論理ソースコンポーネント２０６は、タグデータ、および／またはＲＦＩＤプロセスでシンクに渡される（後述）前にタグデータがどのように処理されるかを表すことができる。論理ソースコンポーネント２０６の基本的な形は装置コレクションであり、装置コレクションからのすべての読み取り／書き込みは、シンクに直接送信されることを理解されたい。
【００３０】
論理ソースコンポーネント２０６は、タグ読み取りイベントおよび／またはプラットフォームイベントを生成するための装置コレクションおよび／または論理ソース、タグ読み取り／書き込みイベントを消費し、かつ／または不要な読み取り／書き込みをフィルタにかけて取り除くことができるオプションのフィルタ、タグ読み取り／書き込みイベントおよび／または警告を評価し、１つまたは複数の動作を実行するイベントを消費することができるオプションの警告、タグ読み取り／書き込みイベントを消費し、実質的に同じタグ読み取りイベントを処理することができるオプションのイベントハンドラのうちの少なくとも１つを使用する１組の実行セマンティクスを使用することができる。フィルタ、警告、およびイベントハンドラは、ＲＦＩＤプロセスから（例えばユーザ、アプリケーション開発者などを介して）入力によって指定された順序で実行されることを理解されたい。例えば、ユーザは、論理ソースコンポーネント２０６内のコンポーネントの以下の順序、および／または定義を指定することができる。ここでは、「→」は「〜によって定義される」を示す。Ｘが日付および／または時刻に関連付けられ、ＹがＸより後の日付および／または時刻に関連付けられている場合、タグがＸとＹとの間で読み取られると、ａｌｅｒｔｐｏｌｉｃｙ１→が管理者にメッセージ（例えばショートメッセージサービス（ＳＭＳ）など）を送信する；ｆｉｌｔｅｒｐｏｌｉｃｙ１→重複削除技術を使用して重複したタグ読み取りを削除する；ｅｖｅｎｔｈａｎｄｌｅｒ１→項目がある条件（例えばグレイのコートなど）を満している場合、タグへの書き込み介してデータを増やす；ｆｉｌｔｅｒｐｏｌｉｃｙ２→＄５００未満のコートを無視する（例えばこのフィルタはｅｖｅｎｔｈａｎｄｌｅｒ１によって追加されたデータに基づく）；ａｌｅｒｔｐｏｌｉｃｙ２→新しいコートの在庫をチェックし、管理者に在庫レベル（例えば在庫が多いまたは少ない）を警告するなどである。上記の例に従って、警告、フィルタ、およびイベントハンドラは、入力および／またはユーザによって指定された順序で実行される。イベントハンドラでの最後のコンポーネントの出力は、論理ソースコンポーネント２０６の出力として定義されることを理解されたい。
【００３１】
少しの間図３を参照すると、ＲＦＩＤアプリケーションの構築に使用されるモデルの作成に使用することができる論理ソース３０２が示されている。特に、論理ソース３０２は、タグ読み取りおよび／または書き込みのストリームである。読み取りのストリームを処理して、異なる読み取りのストリームを得ることができる。論理ソース３０２は少なくとも１つの他の論理ソースを再帰的に埋め込むことができることを理解されたい。イベントおよび／またはタグ読み取り３０４のグループを、オプションのフィルタおよび／または警告を実行することができるルールエンジン３０６に送信することができる。イベントおよび／またはタグ読み取り３０４のグループは、Ｎが１以上の場合Ｎ個の論理ソース、およびＭが１個以上の場合Ｍ個の装置コレクションとすることができる。ルールエンジン３０６の後、イベントおよび／またはタグ読み取り３０４のグループをコンポーネント３０８に渡すことができる。Ｎ個のコンポーネント３０８があり、この場合Ｎは１以上である。さらに、コンポーネント３０８は、イベントハンドラとすることができる。
【００３２】
図２に戻ると、モデルコンポーネント２０２は、オプションのフィルタポリシーおよび／またはオプションの警告ポリシーを提供することができるポリシーコンポーネント２０８を含むことができる。フィルタは一般に、入ってくる生データストリーム上で実行され、ポリシーにグループ分けすることができる１組の論理ルール（例えば入ってくる読み取りイベント上の）を介して論理ソースコンポーネント２０６上で指定することができる論理構成体である。ポリシーのルールが侵害されない制約である場合、フィルタポリシーによって有効なタグのリストは通過することができる。侵害されると、制約を侵害したタグ（例えばローグタグ（ｒｏｇｕｅ  ｔａｇ）と呼ばれる）は、タグリストから削除される。結果としてフィルタポリシーによって許可された有効なタグのリストが得られる。例えば、Ｐａｌｌｅｔ／Ｃａｓｅ／Ｉｔｅｍは、装置によってあるタイプのタグを読み取り、かつ／または処理の必要がいくつかのタイプのタグの読み取りを削除することができるようにするフィルタである。
【００３３】
警告は、データストリームの評価に使用されるルールを表す別の機構である。警告は、タグ読み取り／書き込みイベントを含み得る複数のイベントに照らして評価される、ポリシーにグループ分けされる１組の論理ルールとして表すことができる。これらのルールに関連付けられた動作は、１つまたは複数のユーザ定義／警告とすることができる。例えば、警告は、論理ソースコンポーネント２０６によってタグの読み取りが午後６時から午前６時の間に登録されている場合、警告が稼働し、スーパーバイザー、セキュリティエージェンシなどのいずれかに警告することができるように設定することができる。さらに、警告は、可聴信号、テキストメッセージ、建物の鍵、電子メール、ライト、ビデオ、動きなどのうちの少なくとも１つとすることができる。モデルコンポーネント２０２によって作成されたモデルによって、ユーザは、プラグアンドプレイ技術を介してフィルタおよび／または警告をシステムに実装することができることを理解されたい。例えば、システムは、ルール／条件を評価し、かつ／または評価に基づいてあるイベントに関してアクションを起こすことができるルールエンジン（ＲＥ）を使用することができる。
【００３４】
さらに、論理ソースコンポーネント２０６からのイベントを管理するために、イベントハンドラコンポーネント２１０をモデルコンポーネント２０２に含めることができる。イベントハンドラコンポーネント２１０は、ロジックをリアルタイムにタグ読み取りイベントに適用し、かつ／または特定の方法でイベントを増やす、より高いレベルのアプリケーションでイベントを消費する、ブランクタグ読み取りイベントが検出されたときタグに書き込むのうちの少なくとも１つに使用することができる。イベントハンドラコンポーネント２１０は、それだけには限定されないが、読み取りエラーおよび書き込みエラーなど、例外が起こったときのアクションを指定することができる。例外は、実行中（例えばプロセス固有のイベントを管理するなど）の論理ソースコンポーネント２０６から来ることを理解されたい。
【００３５】
本発明の一態様によれば、モデルコンポーネント２０２によって作成されたモデルによって、イベントハンドラコンポーネント２１０のカスタム実装を定義し、使用することができる。例えば、ルールエンジン（ＲＥ）がフィルタおよび／または警告の実装を許可しない場合、イベントハンドラコンポーネント２１０がこうした機能を提供することができる。さらに、イベントハンドラコンポーネント２１０は、フィルタおよび／または警告と実質的に同じように使用することができる「あらゆる状況に対応できるもの（ｃａｔｃｈ−ａｌｌ）」として実装することができる。さらに図２を参照すると、モデルコンポーネント２０２は、外部入力、および／または論理ソースコンポーネント２０６からのイベントに少なくとも部分的に基づいてＲＦＩＤプロセスがコマンドを装置コンポーネント２０４に送信できるようにする書き込みハンドラコンポーネント２１２を含み得る。この場合、イベントはタグ読み取りイベント、タグ書き込みイベント、およびリーダ稼働状態イベント（ｒｅａｄｅｒ  ｈｅａｌｔｈ  ｅｖｅｎｔ）である。イベントハンドラは、（入ってくるイベントストリームおよび外部データソースのカスタムロジック／評価に基づく内部移動、出荷イベントなど）ビジネスコンテキストを備えるイベントを生成するために使用することもできる。
【００３６】
モデルコンポーネント２０２は、モデルに意味のある実行単位を提供する上位の、および／または高レベルのオブジェクトであるＲＦＩＤプロセスコンポーネント２１４を含むことができる。例えば、ＲＦＩＤプロセスコンポーネント２１４は、タグの読み取り、フィルタリング、読み取りの増加、警告評価、およびホストアプリケーションが取り出す／処理するためにシンクへのデータの格納を実行するように協働する様々なドックドアにある複数の装置を表す出荷プロセスとすることができる。別の例では、ＲＦＩＤプロセスコンポーネント２１４は、製造プロセスを実行することができ、装置は、位置に依存して読み取り、書き込むように構成される。さらに、フィルタリング、増加などの追加の機能をその位置で実施することができる。さらに別の例では、ＲＦＩＤプロセスコンポーネント２１４はタグプロセスに書き込むことができ、この場合、書き込みハンドラコンポーネント２１２が少なくとも入力に基づいてリアルタイムでタグに書き込みを行う。書き込みプロセスは、データを読み取り、ホストに渡すことによって書き込みが成功したかどうかをチェックすることもできる。
【００３７】
モデルコンポーネント２０２は、フレームワークエンティティ（例えば装置、装置構成、ＲＦＩＤプロセス、ＲＦＩＤプロセスでの論理エンティティから物理的装置へのマッピングなど）を格納し、取り出すデータストア２１６を含むことができる。データストア２１６は、ユーザにとってプラグ可能であることを理解されたい。さらに、データストア２１６は、例えば、揮発性メモリまたは不揮発性メモリとすることができ、または揮発性および不揮発性のメモリを含むことができる。不揮発性メモリには、それだけには限定されないが一例として、読み取り専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、電気的プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリなどがある。揮発性メモリには、ランダムアクセスメモリ（ＲＡＭ）などがあり、これは外部キャッシュメモリとして働く。ＲＡＭは、それだけには限定されないが一例として、スタティックＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、ダブルデータレートＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、拡張ＳＤＲＡＭ（ＥＳＤＲＡＭ）、シンクリンクＤＲＡＭ（ＳＬＤＲＡＭ）、ラムバスダイレクトＲＡＭ（ＲＤＲＡＭ）、ダイレクトラムバスダイナミックＲＡＭ（ＤＲＤＲＡＭ）、ラムバスダイナミックＲＡＭ（ＲＤＲＡＭ）など多くの形態で使用可能である。本システムおよび方法のデータストア２１６は、それだけには限定されないが、これらおよび他の任意の適したタイプのメモリを含むものとする。さらに、データストア２１６は、サーバおよび／またはデータベースとすることができることを理解されたい。特に、データストア２１６は、クライアントコンピュータにデータベースファイルへの高効率のアクセスを提供するコンピュータとすることができる。
【００３８】
図４は、ＲＦＩＤプロセスの作成および実行を容易にするシステム４００を示す。ＲＦＩＤプロセスの作成および／実行を可能にするプログラミングモデル（図示せず）を開発するモデルコンポーネント４０２を使用することができる。プログラミングモデルはイベントベースのプログラミングモデルとすることができることを理解されたい。例えば、イベントベースのプログラミングモデルは、（上述した）イベント処理パイプラインの宣言的な指定（ｄｅｃｌａｒａｔｉｖｅ  ｓｐｅｃｉｆｉｃａｔｉｏｎ）の中核を有し得る少なくとも１つの論理ＲＦＩＤプロセスを作成することができる。イベントベースのプログラミングモデルは、論理装置との対話の設計時サポートを使用することができる。さらに、プログラミングモデルは、それだけには限定されないが、フィルタルール、警告ルール、変換ルールなどのルールを介したビジネスロジックをサポートすることができる。さらに、イベントベースのプログラミングモデルは、プロセスの終点の宣言的な指定および／または物理的装置と結合し対話することについての展開時サポートを提供する。モデルコンポーネント４０２は、図２のモデルコンポーネント２０２および図１の１０４と実質的に同じであり、前のコンポーネントの上述した機能は、モデルコンポーネント４０２にわたって実装することができる。モデルコンポーネント４０２を使用して、一般的な操作および／または業務固有のシナリオに関連付けられるＲＦＩＤアプリケーション／プロセスの構築を容易にするためにプログラミングモデルを作成することができることを理解されたい。
【００３９】
モデルコンポーネント４０２は、ＲＦＩＤプロセスかつ／またはＲＦＩＤプロセス定義をセットアップし、かつ／または構成するセットアップコンポーネント４０４を含むことができる。セットアップコンポーネント４０４は、それだけには限定されないが例えばＲＦＩＤ装置、ＲＦＩＤリーダ、ＲＦＩＤライタなどの装置を開始する。セットアップコンポーネント４０４は、少なくとも１つの装置を発見することによって装置をセットアップする。こうした発見は、それだけには限定されないが、自動発見、手動発見（例えば構成ファイルを使用するなど）、その組み合わせなどとすることができることを理解されたい。さらに、セットアップコンポーネント４０４を使用した装置の発見は、ＲＦＩＤプロセス開発と無関係とすることができる。本発明の一態様によれば、セットアップコンポーネント４０４は、装置に対してカスタムプロパティを構成することができる。言い換えれば、デフォルトのプロパティが装置に関連付けられている場合、こうしたプロパティは、装置が装置コレクションにマッピングされるまで適用されない。
【００４０】
セットアップコンポーネント４０４は、ＲＦＩＤプロセスの状況で論理装置コレクション、および／または論理ライタを作成することができる。装置コレクションは、論理ソースにグループ化することができる。論理ソースは、それだけには限定されないが、フィルタ、警告、イベントハンドラなどのオプションの構成体を有することができる。オプションの構成体を論理ソースに対して指定し、かつ／または構成することができることを理解されたい。次いでＲＦＩＤプロセスは、装置および最上レベルの論理ソースをこうした装置に関連付けることによって、セットアップコンポーネント４０４によって作成される。さらに、プロセスの追跡レベル、および／または実行追跡オプション／ロギングレベルを指定することができる。
【００４１】
モデルコンポーネント４０２は、少なくとも１つのＲＦＩＤプロセスを展開し、かつ／または維持する展開／実行コンポーネント４０６を含むこともできる。展開はタグデータの読み取り、および／またはタグデータの書き込みを含み得ることを理解されたい。展開／実行コンポーネント４０６は、プロセスにおける論理エンティティのネットワークにおける物理エンティティへのユーザ定義のマッピングを使用することによってＲＦＩＤプロセスを展開する。論理エンティティは、それだけには限定されないが、装置コレクション、論理ライタ、ライタコレクション、リーダコレクションなどとすることができる。ネットワークにおける物理エンティティは、それだけには限定されないが、装置、リーダ、ライタ、ＲＦＩＤ装置、プリンタなどとすることができる。
【００４２】
本発明の一態様によれば、マッピングは、物理リーダ装置に対するＲＦＩＤプロセス内の論理装置コレクションとすることができる。例えば、マッピングは、特定のリーダのインターネットプロトコル（ＩＰ）（例えば１６８．１９２．３８．２１、１６８．１９２．３８．２２、１６８．１９２．３８．２３など）、＊が適した任意の一致する文字を指定するワイルドカードである場合、ワイルドカードコレクション（例えば１６８．１９２．３８．＊など）、特定のＩＰとワイルドカードとの組み合わせ（例えば１６８．１９２．３８．２１、１６８．３８．２２、１６８．１９２．３９．＊）などのうちの１つとすることができる。ワイルドカードコレクションの実装は、物理的装置の拡張においてより用途が広いことを理解されたい。例えば、ワイルドカードを使用すると、ユーザは、マッピングアドレスが既存のＲＦＩＤプロセスと互換性があるワイルドカードコレクションの範囲内のＩＰアドレスを割り当てることができる。特定のＩＰアドレスを使用する場合、こうした新しく割り当てられたＩＰをマッピングに組み込む必要がある。
【００４３】
本発明の別の態様によれば、マッピングは、物理ライタ装置に対するＲＦＩＤプロセス内の論理ライタとすることができる。単一の論理ライタは単一の物理ライタに対応し得ることを理解されたい。カスタムプロパティを有していない装置は、論理エンティティ（例えば装置コレクションおよび／または論理ライタ）に一致したときに構成される。カスタムプロパティを有する装置の場合、デフォルトのプロフィールが適用され、次にカスタムプロフィールが適用される。
【００４４】
展開／実行コンポーネント４０６は、ＲＦＩＤプロセスをさらに実行することができる。ＲＦＩＤプロセスは、読み取るように構成されたリーダ（例えばデータ収集および評価／増加、データストレージ、およびイベントハンドリングなど）、およびライタ（タグ情報および確認の書き込み）を含み得る。展開／実行コンポーネント４０６によるＲＦＩＤプロセスの実行は、装置コレクション（例えば装置コレクションに属する装置など）からの情報の処理を伴う。処理は、例えばイベント（実際のＲＦＩＤタグまたはリーダ上／下イベントなど）が論理ソース内の様々な、かつ／またはオプションのコンポーネント（例えばフィルタ、警告、イベントハンドラなど）を通過することとすることができる。イベントハンドラは、入ってくるデータを外部ソースへのルックアップを介して追加のフィールド／カスタムフィールドで増やし、かつ／または変換し、追加のリアルタイムイベントを生成することができることを理解されたい。イベントハンドラは、タグが検出されるとタグ情報を書くように構成することもできる。さらに、処理されたイベントは、シンクに格納される。ＲＦＩＤプロセスの実行は、ライタコンポーネント（図示せず）に、タグ読み取りイベントに無関係のタグに何らかのデータを書き込む旨のコマンドを送信することを伴い得る。ＲＦＩＤプロセスの作成および展開を分割することによって、モデルコンポーネント４０２は、ユーザ／企業が規格化された柔軟な方法でＲＦＩＤプロセスを構築し、展開できるようにするプログラミングモデルを作成することができる。
【００４５】
さらに、メンテナンスコンポーネント４０８は、少なくとも１つのＲＦＩＤプロセスの管理を提供する。ＲＦＩＤプロセス管理は、こうしたプロセスの寿命中にＲＦＩＤプロセスの実行（上述）で定義されたプロセスに焦点を合わせることができる。ＲＦＩＤプロセスは、プロセスマネージャ（図示せず）を使用して開始し、停止することができる。一例では、ＲＦＩＤプロセスの寿命は、オペレーティングシステムサービスの開始および／または停止に関連し得る。ＲＦＩＤプロセスは、稼働している場合、サーバが稼働している間に停止し、変更し、再開することができる。
【００４６】
図５は、ＲＦＩＤアプリケーションを作成するオブジェクトモデルの使用を容易にするシステム５００を示している。モデルコンポーネント５０２を使用して、オブジェクトモデルおよび／またはアプリケーションプログラミングインタフェース（ＡＰＩ）を使用することによってＲＦＩＤアプリケーションを作成し、かつ／または実行することができる。モデルコンポーネント５０２は、それぞれ図４、図２、および図１のモデルコンポーネント４０２、２０２、および１０４と実質的に同じとすることができることを理解されたい。さらに、モデルコンポーネント５０２は、一般的な操作および／または業務固有のシナリオを提供するＲＦＩＤプロセスに関連してオブジェクトモデル、および／またはＡＰＩを作成することができる。
【００４７】
モデルコンポーネント５０２は、ユーザ、エンドユーザ、および／またはツールがＲＦＩＤプロセスを作成し、かつ／または格納することができるようにするＲＦＩＤプロセスオブジェクトモデル（ＯＭ）コンポーネント５０４を含むことができる。ＲＦＩＤプロセスは、それだけには限定されないが、少なくとも１つの論理ソース（例えば論理ソースは論理構成および／または装置のグループなど）、実行中に追跡に使用することができるトラッカ、書き込み機能を有する装置と対話する書き込みハンドラ（例えばカスタムライティングおよび／またはカスタムコマンドを装置に送信するなど）などを含み得る。
【００４８】
モデルコンポーネント５０２は、装置タイプに関係なく、装置のメタデータを取得する発見ＯＭコンポーネント５０６を含み得る。さらに、発見ＯＭコンポーネント５０６は、プロバイダをプロパティメタデータの形で取得することができる。発見ＯＭコンポーネント５０６によってユーザは、装置が有効（例えば接続に使用可能である、ポーリングに応答する、通信可能など）であるかどうかを確認できることを理解されたい。一般に、発見ＯＭコンポーネント５０６は、装置ハンドラＷｅｂサービスインタフェースを使用する。装置ハンドラによってユーザは、特定の装置によってサポートされたプロパティを受信することができる。プロパティは、装置プロパティプロフィールにあり得る有効なプロパティである。装置ハンドラは所与の装置が有効であるかどうかをチェックすることができることも理解されたい。
【００４９】
ＲＦＩＤプロセス実行コンポーネント５０８は、エンドユーザおよび／またはツールがＲＦＩＤプロセスを展開することができるようにする。ＲＦＩＤプロセス実行ＯＭコンポーネント５０８は、それだけには限定されないが例えばプロセスマネージャなど、Ｗｅｂサービスインタフェースを有することができる。プロセスマネージャは、複数のＲＦＩＤプロセスを管理し、かつ／または制御することができ、各ＲＦＩＤプロセスに関連付けられているプロセスエンジンがそこで管理される。ＲＦＩＤプロセスの管理は、それだけには限定されないが、ＲＦＩＤプロセスの開始および／または停止を含み得る。さらに、ＲＦＩＤプロセスの実行の順序および／または順番をＲＦＩＤプロセス実行ＯＭコンポーネント５０８によって判定することができる。
【００５０】
モデルコンポーネント５０２は、ＲＦＩＤフレームエンティティ（例えばＲＦＩＤプロセス、装置など）を格納し、取り出し、削除するための統一された１組のＡＰＩをユーザに提供するストアＯＭコンポーネント５１０をさらに含み得る。統一された１組のＡＰＩは、エンドユーザツールが、統一された、かつ／または一貫した方法で永続的ストアのＲＦＩＤフレームワークエンティティ（例えばＲＦＩＤプロセス、ライタ、リーダ、プリンタなど）にアクセスし、格納し、かつ／または変更することができるようにする。ＡＰＩはストアＷｅｂサービスインタフェースを介して公開されることを理解されたい。本発明の一態様によれば、サーバは、ＲＦＩＤプロセスおよび装置をＲＦＩＤデータベース内の適切なテーブル内に含むことができるストアＯＭコンポーネント５１０によって実施することができる。
【００５１】
モデルコンポーネント５０２は、ＲＦＩＤサーバを操作することができるサーバマネージャＯＭコンポーネント５１２を含み得る。サーバマネージャＯＭコンポーネント５１２は、外部アプリケーションがＲＦＩＤサーバの挙動を構成し、かつ／または操作（例えば微調整）することができるようにする。言い換えれば、サーバマネージャＯＭコンポーネント５１２によって、ＲＦＩＤサーバのプロパティを設定することができる。サーバマネージャコンポーネントＯＭ５１２は、少なくとも１つの装置サービスプロバイダを管理することができ、装置サービスプロバイダはＲＦＩＤ装置のドライバとほぼ同じとすることができることを理解されたい。装置サービスプロバイダは、ＲＦＩＤサーバが特定の装置の代わりに装置サービスプロバイダと対話することができるように、装置への統一されたインタフェースを提供することができる。サーバマネージャＯＭコンポーネント５１２は、それだけには限定されないが、サーバマネージャおよびプロバイダマネージャなど、様々なＷｅｂサービスインタフェースを含み得る。
【００５２】
認証ＯＭコンポーネント５１４は、ＲＦＩＤプロセスおよび／または装置エンティティの少なくとも一方へのアクセス可能性を認証するために、モデルコンポーネント５０２によって使用することができる。ＲＦＩＤプロセスおよび／または装置エンティティへのアクセスは、特定のＲＦＩＤプロセスに関連付けられている認証グループのリストに少なくとも基づくことができる。認証グループは、認証グループのユーザ定義名、読み取り−実行／変更−削除／両方のアクセスレベルを指定するフラグ、およびユーザ／グループのリストを含み得る。一般に、認証グループは、ＲＦＩＤストアユーザのリスト、およびＲＦＩＤプロセスおよび装置アーティファクトに関連付けられるときのユーザのアーティファクトへのアクセスレベルを指定する名前付きオブジェクトとすることができる。認証グループは、一般に、それだけには限定されないが倉庫のマネージャ、倉庫の従業員、ＤＣマネージャ、ストアの従業員など、組織内のユーザの役割（および／または様々なアーティファクトの関連のビュー）に基づいて構成することができる。
【００５３】
例えば、ＲＦＩＤプロセスまたは装置のインスタンスがストアで作成されると認証が実行可能になる場合、それを作成したユーザのみが、そのアーティファクトに読み取り−実行、および変更−削除アクセスすることができる。認証ＯＭコンポーネント５１４は、アーティファクトのデフォルトの許可をオーバーライドすることができる認証グループのリストをＲＦＩＤプロセスまたは装置に関連付けるためのＡＰＩを提供することができる。アーティファクトへの認証の設定とは関係なく、所有者および／または管理ユーザはアーティファクトに無制限にアクセスすることができることを理解されたい。さらに、認証グループは、ストアレベルでＲＦＩＤプロセスに関連付けることができる（例えばストアレベルでの認証グループの保存をサポートする方法を除いて、こうしたグループをＲＦＩＤプロセスに関連付ける関連のＡＰＩもあり得る）。
【００５４】
図６は、ＲＦＩＤプロセスの作成および／または実行に使用できるモデルの使用を容易にするシステム６００を示している。モデルコンポーネント６０２を使用してモデル（図示せず）を作成することができ、ユーザおよび／またはエンドユーザは、こうしたモデルに基づいて一般的な操作および／または業務固有のシナリオでＲＦＩＤプロセスを作成することができる。モデルコンポーネント６０２は、図５の５０２、図４の４０２、図２の２０２、図１の１０４のモデルコンポーネントと実質的に同じとすることができる。
【００５５】
モデルコンポーネント６０２は、論理ソースからのイベントを扱い、かつ／または論理ソースに基づいて装置にコマンドを送信することができるイベント／書き込みハンドラインタフェースコンポーネント６０４を含み得る。特に、イベント／書き込みハンドラインタフェースコンポーネント６０４は、少なくとも１つのインタフェースを使用して、論理ソースからのイベントを扱い、かつ／または論理ソースに基づいてコマンドを送信することができる。例えば、「ＩＥｖｅｎｔＨａｎｄｌｅｒ」によって参照されるインタフェースは、以下のコードを使用することによって「ＰａｒａｍｅｔｅｒＭｅｔａＤａｔａ」および「ＰａｒａｍｅｔｅｒＤａｔａ」として参照される構造でインスタンス化することができる。
【００５６】
【数１】
2006072975.tif 000003
【００５７】
「ＰａｒａｍｅｔｅｒＭｅｔａＤａｔａ」および「ＰａｒａｍｅｔｅｒＤａｔａ」は構成体とすることができ、「ＰａｒａｍｅｔｅｒＤａｔａ」は読み取り専用プロパティを含むことを理解されたい。また、構成体「ＰａｒａｍｅｔｅｒＤａｔａ」は、「ＰａｒａｍｅｔｅｒＭｅｔａＤａｔａ」内のメタデータに照らしてデータの妥当性検査を行うことができる。「ＩＥｖｅｎｔＨａｎｄｌｅｒ」を参照すると、データアレイ順序は、関数「ＧｅｔＰａｒａｍｅｔｅｒＭｅｔａＤａｔａ（）」によって戻される順序とほぼ同じである。また、「ＩＥｖｅｎｔＨａｎｄｌｅｒ」は、装置コレクションからのタグの読み取りおよび／またはイベントに作用するインタフェースとすることができることを理解されたい。
【００５８】
特に、上記のコードは、「ｔａｇＲｅａｄＥｖｅｎｔ」を入力パラメータとして使用する。タグリスト内のタグ数は、より少ない、かつ／またはより多いタグが次のコンポーネントによって確実に処理されるように変更することができる。さらに、「ＧｅｎｅｒｉｃＥｖｅｎｔ［］」アレイ（例えば内部移動を示すイベント）は、後のコンポーネントの少なくとも１つによって処理される。これは、イベントの導出されたタイプに基づいて、次のコンポーネントの適切な関数に渡される。例えば、「ＧｅｎｅｒｉｃＥｖｅｎｔ」は、「ＴａｇＲｅａｄＥｖｅｎｔ」である場合、次のコンポーネントの「ＨａｎｄｌｅＴａｇＲｅａｄＥｖｅｎｔ（）」関数に渡すことができる。
【００５９】
「ＥｖｅｎｔＢａｓｅ」によって参照されるクラスを使用して、イベント固有のデータにアクセスする技術を含むことができる。例えば、以下のコードは、イベント固有のデータにアクセスする「ＩＥｖｅｎｔＨａｎｄｌｅｒ」インタフェースのインスタンス化内のパラメータおよび／または参照を定義することに関連して使用することができる。
【００６０】
【数２】
2006072975.tif 000004
【００６１】
さらに、イベント／書き込みハンドラインタフェースコンポーネントは、書き込みハンドラインタフェースを実施するために、以下のコードを使用することができる。
【００６２】
【数３】
2006072975.tif 000005
【００６３】
モデルコンポーネント６０２は、アプリケーションコンポーネントの例外および／またはタイムアウトのうちの少なくとも一方を提供する例外コンポーネント６０６を含むことができる。例えば、例外および／またはタイムアウトは、その特定のコンポーネントの「ＩＤｉｓｐｏｓａｂｌｅ」インタフェース内の「Ｄｉｓｐｏｓｅｓ（）」メソッドを呼び出すことによって処理することができる。上述したインタフェースを実施するコンポーネントによって定義された例外は「ＲｆｉｄＥｘｃｅｐｔｉｏｎ」から導出すべきであることを理解されたい。例えば、以下のコードを使用して、ＲＦＩＤプロセスと関連して例外および／またはタイムアウトの提供を容易にすることができる。
【００６４】
【数４】
2006072975.tif 000006
【００６５】
上記の例外および／またはタイムアウトは、上記の複数のインタフェースに共通であることは理解されよう。さらに、フィルタ（例えばＩＦｉｌｔｅｒ）、警告（例えばＩＡｌｅｒｔ）、アクション（例えばＩＡｃｔｉｏｎ）、「ＩＴａｇＤａｔａＳｏｕｒｃｅ」などのタグデータソース（最初のメソッドが呼ばれたときなど）のうちの少なくとも１つをサポートするコンポーネントによって、例外および／またはタイムアウトを発信することができる。
【００６６】
さらに、モデルコンポーネント６０２は、セキュリティモデルを提供するセキュリティコンポーネント６０８を含み得る。セキュリティコンポーネント６０８は、オペレーティングシステムサービスとともに実行することができるユーザアカウントを提供することができる。ユーザアカウントは、少なくとも１つのリソースにアクセスするために特権を使用することができ、リソースは、それだけには限定されないが、レジストリ、ファイルシステム、ストア、シンクデータベースなどとすることができる。一例では、セキュリティコンポーネント６０８に関連付けられている特権は、外部コンポーネント（例えばイベントハンドラ、書き込みハンドラ、ルールエンジン（ＲＥ）など）がユーザアカウントに関連付けられた特権を継承することはできない。この例で、外部コンポーネントに、コードを実行するための最低限の特権を与えることができる。例えば、管理されていないコードを実行する許可、ファイルシステムおよび／またはレジストリにアクセスする許可、装置に直接アクセスする許可などの許可は与えられない。外部コンポーネントがリソースにアクセスするための特別な特権を必要とする場合、特権は、個々に取得することができることを理解されたい。例えば、ユーザのユーザ名および／またはパスワードは、こうしたリソースへのアクセスを可能にする特権に関連付けることができる。
【００６７】
さらに図６を参照すると、モデルコンポーネント６０２は、Ｗｅｂサービスとして公開されたＲＦＩＤフレームワーク内の少なくとも１つのＡＰＩのクラス定義を実装するサービスＡＰＩコンポーネント６１０を提供することができる。サービスＡＰＩコンポーネント６１０は、それだけには限定されないが、ストア（例えば装置オブジェクト、装置オブジェクトのリスト、装置属性、バインディング情報、装置名を格納するなど）、装置ハンドラ（例えば装置情報が有効な装置を表すことをチェックするなど）、プロセスマネージャ（例えばプロセスおよび／または関連のプロセスの開始および／停止など）、サーバマネージャ（例えばＲＦＩＤサーバの管理および／またはリーダプロパティの設定など）、プロバイダマネージャ（例えばロードされたプロバイダを識別する、サポートされたメタデータ、デフォルトのプロパティプロフィール、デフォルトのプロフィールのオーバーライド、最新の設定を有するプロパティプロフィールのうちの１つを提供するなど）、コンポーネントマネージャ（例えば発行され、かつ／または展開されたポリシー名のリスト、書き込みハンドラアセンブリのリストのうちの少なくとも一方を戻す、イベントハンドラアセンブリ、書き込みハンドラアセンブリのうちの少なくとも一方を登録するなど）を使用することができる。
【００６８】
図７は、設計時および／または実行時にＲＦＩＤプロセス／アプリケーションを作成し、かつ／または実行するために使用することができるモデルの使用を容易にするシステム７００を示している。装置サービスプロバイダインタフェース（ＤＳＰＩ）７０４は、物理的／技術的アーキテクチャ７０２との間の統一された接続を提供することができる。物理的／技術的アーキテクチャ７０２は、ＲＦＩＤおよび／またはタグを使用する少なくとも１つの物理的装置の構成とすることができる。ＤＳＰＩ７０４は、装置ホストプロトコルを介して物理的／技術的アーキテクチャ７０２からデータを受信し、かつ／またはそこに送信することができる。ＤＳＰＩ７０４は、それだけには限定されないが、ローカルエリアネットワーク（ＬＡＮ）および広域ネットワーク（ＷＡＮ）などの有線および／または無線のネットワークを使用することができることを理解されたい。ＬＡＮ技術は、光ファイバ分散データインタフェース（ＦＤＤＩ）、銅線分散データインタフェース（ＣＤＤＩ）、Ｅｔｈｅｒｎｅｔ（登録商標）、トークンリングなどがある。ＷＡＮ技術には、それだけには限定されないが、ポイントツーポイントリンク、サービス総合デジタル網（ＩＳＤＮ）およびそのバリエーションなどの回線交換ネットワーク、パケット交換ネットワーク、デジタル加入者回線（ＤＳＬ）などがある。
【００６９】
モデル設計時コンポーネント７０６は、ＤＳＰＩ７０４と対話して、物理的／技術的アーキテクチャ７０２とともに使用されるＲＦＩＤプロセスを作成し、かつ／または格納することができる。モデル設計時コンポーネント７０６は、ＲＦＩＤプロセス／アプリケーションを構築するために使用できるプログラミングモデルおよび／またはフレームワークを作成することができる。設計時コンポーネント７０６は、少なくとも１つのＲＦＩＤプロセスを作成し、かつ／または格納することができ、ＲＦＩＤプロセスは、ストアＯＭコンポーネント７０８に格納されることを理解されたい。ストアＯＭコンポーネント７０８は、モデル実行時コンポーネント７１０によって実施されるこうしたＲＦＩＤプロセスを送信するためにさらに使用することができる。モデル実行時コンポーネント７１０は、モデル設計時コンポーネント７０６によって作成されるＲＦＩＤプロセスを実行することができる。さらに、設計時および／または実行時を通じて、実質的に同じプログラミングモデルおよび／またはフレームワークを使用して、物理的／技術的アーキテクチャ７０２と関連付けられる特定のＲＦＩＤプロセスを作成し、実行することができる。上述したように、モデル実行時コンポーネント７１０は、ＤＳＰＩ７０４を使用してデータを通信し、かつ／または受信して、物理的／技術的アーキテクチャ７０２内の少なくとも１つの物理的装置上でのＲＦＩＤプロセスの実行を可能にすることができる。
【００７０】
図８は、設計時中のモデルの使用を容易にするシステム８００を示す。モデル設計時コンポーネント８０２は、本明細書に記載されているアーキテクチャを使用してモデルを作成することができる。システム８００は、ＲＦＩＤプロセスが作成され、かつ／または格納されるフレームワークのコンポーネントアーキテクチャを示しており、少なくとも１つのコンポーネントは、フレームワークによって実施される、フレームワークによって提供される、および／またはフレームワークにプラグインされるうちの少なくとも１つである。特に、（上述したように）論理ソースコンポーネント８０４、イベントハンドラ８０６、ポリシー８０８、シンクコンポーネント８１０、装置８１２、および装置ハンドラ８１４をフレームワークの実装に使用することができる。ＲＦＩＤプロセス定義ＯＭコンポーネント８１６、装置ＯＭコンポーネント８１８、およびストアＯＭコンポーネント８２０（すべて上述）は、フレームワークによって提供することができる。一方、ＲＦＩＤプロセスオーサリングコンポーネント８２２は、フレームワークへのプラグインコンポーネントとすることができる。
【００７１】
図９は、実行時中のモデルの使用を容易にするシステム９００を示す。モデル実行時コンポーネント９０２は、本明細書に記載されているアーキテクチャを使用してモデルを作成することができる。システム９００は、ＲＦＩＤプロセスが取り出され、かつ／または実行されるコンポーネントアーキテクチャフレームワークを示しており、少なくとも１つのコンポーネントは、フレームワークによって実施される、フレームワークによって提供される、および／またはフレームワークにプラグインされるうちの少なくとも１つである。特に、（上述したように）シンク９０４、イベント９０６、ローダ９０８、ＲＦＩＤエンジンキャッシュ９１０、および認証コンポーネント９１２をフレームワークの実装に使用することができる。ＲＦＩＤプロセスオーサリングコンポーネント９１４、プロセスマネージャコンポーネント９１６、およびストアＯＭコンポーネント９１８（すべて上述）は、フレームワークによって提供することができる。一方、ビジネスアプリケーションコンポーネント９２０は、フレームワークへのプラグインコンポーネントとすることができる。
【００７２】
図１０および図１１は、ＲＦＩＤフレームワーククラスのクラス関係および／または階層表現を示している。図１０および図１１のＲＦＩＤフレームワーククラスのクラス関係および／または階層表現は、それだけには限定されないが、以下の表に見られるクラス関係を含み得る。
【００７３】
【表１】
2006072975.tif 000007
【００７４】
図１２〜図１３は、本発明による方法を示している。説明を簡潔にするために、方法は、一連の動作として示し、説明している。本発明は、示した動作、および／または動作の順序によって限定されず、例えば動作は、様々な順序で、かつ／または同時に、また本明細書に記載していない他の動作とともに行うことができることを理解されたい。さらに、本発明による方法を実施するために示したすべての動作が必要であるとは限らない。さらに、方法を、代わりに状態図またはイベントを介して相互に関連する一連の状態として表すことができることを当業者は理解されよう。
【００７５】
図１２は、ＲＦＩＤプロセスを作成および／または実行するためのプログラミングモデルを提供するフレームワークの使用を容易にする方法１２００を示している。プログラミングモデルは設計時中に使用することができ、ＲＦＩＤプロセスをそこから作成し、そこに格納することができる。ＲＦＩＤプロセスを実行すべきとき、ＲＦＩＤプロセスは、作成すると記憶装置（例えばディスク）からアップロードし、かつ／または直接実装することができる。したがって、ＲＦＩＤプロセスは、設計時および実行時中にそれぞれプログラミングモデルを使用して作成され、実行される。
【００７６】
参照番号１２０２で、モデルフレームワークは、少なくとも受信データを使用してインスタンス化される。受信データは、それだけには限定されないが、外部入力（エンドユーザ入力、アプリケーション開発者入力など）、装置関連データ（アンテナデータ、構成データ、識別、アドレス、バージョンなど）、プロバイダ関連データ、タグデータ、装置コレクション、フィルタポリシー、警告ポリシー、論理ソース、イベントハンドラ、イベントなどとすることができる。さらに、フレームワークは、それだけには限定されないが、エンティティ（例えば装置、論理ソース、フィルタポリシー、警告ポリシー、イベントハンドラ、トラッカ、書き込みハンドラ、ＲＦＩＤプロセスオブジェクト、ストアなど）、フレームワーククラス、少なくとも１つのクラスの階層フレームワーク、インタフェース、例外、コンポーネントアーキテクチャ、スキーマ、オブジェクトモデル、アプリケーションプログラミングインタフェース（ＡＰＩ）など）を含み得ることを理解されたい。本発明の一態様によれば、モデルフレームワークは、フレームワークによって実装されるコンポーネント、フレームワークによって提供されるコンポーネント、フレームワークにプラグインされるコンポーネント（例えばインタフェースとして公開され、必要に応じてアプリケーション固有のシナリオに適するように実装することができるコンポーネントなど）のうちの少なくとも１つを提供するコンポーネントアーキテクチャを含み得る。モデルフレームワークは上記のコンポーネントアーキテクチャに限定されないことを理解されたい。
【００７７】
参照番号１２０４で、ＲＦＩＤが生成される。ＲＦＩＤプロセス展開は、装置のセットアップおよび／または構成を伴い、装置は、自動、手動、および／またはその組み合わせのプロセスによって発見することができる。さらに、論理装置コレクション（例えば論理リーダコレクション、論理ライタコレクション、論理ライタなど）は、ＲＦＩＤプロセスのコンテキストで作成される。例えば、論理装置コレクションは、設計時中にユーザ定義することができる。次に、ＲＦＩＤプロセスの構築（development）内に、装置コレクション（例えばリーダコレクション、ライタコレクション、プリンタコレクションなど）は、論理ソースにグループ化され、論理ソースは、それだけには限定されないがフィルタ、警告、イベントハンドラなどの追加のオプションの構成体を有する。次いでＲＦＩＤプロセスは、装置および最上レベルの論理ソースをＲＦＩＤプロセスに関連付けることによって作成される。本発明の一態様によれば、追跡レベルを指定することができ、かつ／または追跡オプション、ロギングレベルをＲＦＩＤプロセスのために実行することができる。
【００７８】
ＲＦＩＤプロセスは、参照番号１２０６で展開され、維持される。ＲＦＩＤプロセスは、ＲＦＩＤプロセスにおける論理エンティティの物理エンティティへのマッピングを使用することによって展開される。論理エンティティは、それだけには限定されないが、装置コレクション、リーダコレクション、論理ライタなどとすることができることを理解されたい。さらに、物理エンティティは、それだけには限定されないが、装置、リーダ、ライタ、プリンタなどとすることができることを理解されたい。論理エンティティの物理エンティティへのマッピングは、ＲＦＩＤプロセス内の論理装置コレクションの物理的装置へのマッピング、ＲＦＩＤプロセス内の論理リーダコレクションの物理リーダ装置へのマッピング、ＲＦＩＤプロセス内の論理ライタの物理ライタ装置へのマッピングのうちの１つを含み得る。さらに、寿命を通じてプロセスを管理することによってＲＦＩＤプロセスにメンテナンスが提供される。ＲＦＩＤプロセスは、マネージャを使用して開始し、かつ／または停止することができる。ＲＦＩＤプロセスは、稼働している場合、サーバが稼働している間に停止し、変更し、再開することができることを理解されたい。
【００７９】
参照番号１２０８で、ＲＦＩＤプロセスは、モデルフレームワークを使用することによって実行される。したがって、モデルフレームワークは、ＲＦＩＤプロセスの設計時の作成中、およびＲＦＩＤプロセスの実行時の実行中に使用される。ＲＦＩＤプロセスの実行は、装置コレクション内の物理的装置から来る情報を処理することを伴う。処理は、論理ソースのコンポーネント内のコンポーネントにイベントを通過させることとする。イベントハンドラは入ってくるデータを追加のフィールド／カスタムフィールドで増やし、かつ／または変換して、追加のリアルタイムイベントを生成することができることを理解されたい。さらに、イベントハンドラは、タグが検出されたときにタグ情報を書くことができる。
【００８０】
本発明はＲＦＩＤプロセスのライフサイクルを提供することができることを理解されたい。まず、装置コレクション、イベントポリシー、およびイベントハンドラのうちの少なくとも１つを備える論理ソースが作成される。次に、ポリシーおよび／またはイベントハンドラなどのカスタムコンポーネントを実装することができる。次いで、論理ソースをともに接続して、トラッカおよび／またはセキュリティオプションを備えるプロセスを作成することができる。装置を構成することができ、また、そのプロセスにおいてリーダコレクションを物理的装置に結合し、展開することができる。情報を実行中のプロセス、管理されている装置および／またはプロセスから取り出すことができる。さらに、プロセスは、動的ポリシーモーフィング（プロセスの稼働中など）で再構成することができる。
【００８１】
図１３は、少なくとも１つのフレームワークの概念を組み込むモデルフレームワークを使用するＲＦＩＤプロセスの作成を容易にする方法１３００を示す。参照番号１３０２で、対象の装置がサ―バから取得される。対象の装置は、それだけには限定されないが、カスタムプロパティプロフィールを有する装置とすることができる。本発明の一態様によれば、装置は、自動発見によって取得し、かつ／または発見することができる。例えば、装置は、信号を伝えて、それが使用可能であることを示すことができる。したがって、サーバは、信号を受信し、装置が使用可能であることを知ることができる。本発明の別の態様によれば、発見は手動構成とすることができる。例えば、構成ファイルを使用して、装置の構成をロードし、その装置をＲＦＩＤプロセス定義に使用することができる。あるいは、装置は、（例えば装置構成を反映する装置の物理的な配置が実行時に存在すると仮定として）ストア機構を使用して個々にサーバストアにロードすることができる。自動発見が使用されようと、手動構成が使用されようと、いったん発見されると、ＲＦＩＤアプリケーションは、興味のある装置の情報を受信することができる。１３０４で、手動で発見されたそれぞれの装置（そのカスタム化されたプロパティプロフィールを設定する）が構成される。こうした構成は、それだけには限定されないが、リーダ識別（名前／ＩＤ、位置など）、読み取り／書き込み設定、データ取得パラメータ、基本読み取りフィルタビットパターン、平滑化／イベント生成パラメータ、および／またはカスタムプロパティを含み得る。これらの操作は、上述したように装置ＯＭコンポーネントをプログラムに基づいて使用することによって達成することができることを理解されたい。次に参照番号１３０６で、データコレクションは、装置からマップアウトされる。したがって、装置からのデータコレクションは、マップアウトされ、例えば論理装置の集まり、論理リーダコレクション、論理ライタコレクションなどを介して処理される。データコレクションのマッピングは、いったん処理されると、論理ソースで表される。次に、参照番号１３０８で、オプションのコンポーネントおよび／または関連が使用される。任意選択でフィルタを構成し、フィルタポリシーを介して論理ソースに関連付けることができる。さらに、警告を構成し、警告ポリシーを介して関連付けることができる。少なくとも１つの使用可能なイベントハンドラを構成し、論理ソースに関連付けることができる。
【００８２】
参照番号１３１０で、ＲＦＩＤプロセスが作成され、かつ／または格納される。ＲＦＩＤプロセスは、論理ソースおよび装置をまとめて単一のエンティティを表すことによって作成することができる。使用可能なトラッカを使用して、ＲＦＩＤプロセスの追跡オプションを指定することができることを理解されたい。いったん作成すると、ＲＦＩＤプロセスを、ストアに格納し、かつ／または保存することができる。さらに、参照番号１３０６、１３０８、１３１０は上記のＲＦＩＤプロセス定義ＯＭコンポーネントを使用することによって達成できることを理解されたい。次に、参照番号１３１２は、ＲＦＩＤプロセスを実行し、かつ／または展開する。実行および／または展開は、モデルフレームワークに基づいて作成された１つまたは複数のＲＦＩＤプロセスを含み得る。さらに、実行および／または展開は、ＲＦＩＤプロセスにおける論理エンティティから物理的装置へのマッピングを設定することを伴う。１３１４で、ＲＦＩＤプロセスの実行をテストし、かつ／または監視することができる。例えば、テストは、シミュレートされたデータ入力を提供し、出力実行ストリームを観察することができる。別の場合、それだけには限定されないが、ＲＦＩＤプロセス実行の追跡、エラー、例外、装置稼動状態イベント（ｄｅｖｉｃｅ  ｈｅａｌｔｈ  ｅｖｅｎｔ）などの実行結果を監視することができる。
【００８３】
本発明の様々な態様を実施する状況をさらに提供するために、図１４〜図１５および以下の説明は、本発明の様々な態様を実施できる適したコンピューティング環境の概略説明を提供するものである。本発明は、ローカルコンピュータおよび／またはリモートコンピュータ上で実行するコンピュータプログラムのコンピュータ実行可能命令の一般の状況で上述してきたが、本発明は他のプログラムモジュールとの組み合わせで実施することもできることを当業者であれば理解されよう。一般にプログラムモジュールは、特定のタスクを実行し、かつ／または特定の抽象データ型を実装するルーチン、プログラム、コンポーネント、データ構造などを含む。
【００８４】
さらに、発明の方法は、シングルプロセッサまたはマルチプロセッサのコンピュータシステム、ミニコンピュータ、メインフレームコンピュータ、パーソナルコンピュータ、ハンドヘルドコンピューティング装置、マイクロプロセッサベースおよび／またはプログラム可能家庭用電化製品など、１つまたは複数の関連の装置と操作可能にそれぞれ通信することができる他のコンピュータシステム構成で実施できることを当業者であれば理解されよう。また、本発明の態様例は、いくつかのタスクが通信ネットワークによってリンクされているリモート処理装置によって実行される分散コンピューティング環境で実施することもできる。しかし、すべてではないにしても、本発明の一部の態様は、スタンドアロンコンピュータで実施することができる。分散コンピューティング環境では、プログラムモジュールを、ローカルおよびリモートのメモリ記憶装置に置くことができる。
【００８５】
図１４は、本発明が対話することができるサンプルのコンピューティング環境１４００の概略ブロック図である。システム１４００は、１つまたは複数のクライアント１４１０を含む。クライアント１４１０は、ハードウェアおよび／またはソフトウェア（スレッド、プロセス、コンピューティングデバイスなど）とすることができる。システム１４００は、１つまたは複数のサーバ１４２０も含む。クライアント１４２０は、ハードウェアおよび／またはソフトウェア（スレッド、プロセス、コンピューティングデバイスなど）とすることができる。サーバ１４２０は、例えば本発明を使用することによって変形を行うためのスレッドを収容することができる。
【００８６】
クライアント１４１０とサーバ１４２０との間の１つの考え得る通信は、２つ以上のコンピュータプロセス間で送信されるように構成されたデータパケットの形式とすることができる。システム１４００は、クライアント１４１０とサーバ１４２０との間の通信を容易にするために使用できる通信フレームワーク１４４０を含む。クライアント１４１０は、クライアント１４１０にとってローカルな情報を格納するために使用できる１つまたは複数のクライアントデータストア１４５０に動作可能に接続される。同様に、サーバ１４２０は、サーバ１４４０にとってローカルな情報を格納するために使用できる１つまたは複数のサーバデータストア１４３０に動作可能に接続される。
【００８７】
図１５を参照すると、本発明の様々な態様を実施する環境例１５００はコンピュータ１５１２を含む。コンピュータ１５１２は、プロセッサ１５１４、システムメモリ１５１６、およびシステムバス１５１８を含む。システムバス１５１８は、それだけには限定されないが、システムメモリ１５１６を含むシステムコンポーネントをプロセッサ１５１４に結合する。プロセッサ１５１４は、使用可能な様々なプロセッサのうちのどんなものでもよい。デュアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャをプロセッサ１５１４として使用することもできる。
【００８８】
システムバス１５１８は、使用可能な様々なバスアーキテクチャのうちの任意のものを使用するメモリバスまたはメモリコントローラ、周辺バスまたは外部バス、および／またはローカルバスを含むいくつかのタイプのバス構造のうちどんなものでもよい。こうしたアーキテクチャには、それだけには限定されないが、業界標準アーキテクチャ（ＩＳＡ）、マイクロチャネルアーキテクチャ（ＭＳＡ）、拡張ＩＳＡ（ＥＩＳＡ）、ＩＤＥ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）、ＶＥＳＡローカルバス（ＶＬＢ）、周辺部品相互接続（ＰＣＩ）、カードバス、ユニバーサルシリアルバス（ＵＳＢ）、ＡＧＰ（Ａｄｖａｎｃｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）、パーソナルコンピュータメモリカード国際協会バス（ＰＣＭＣＩＡ）、Ｆｉｒｅｗｉｒｅ（ＩＥＥＥ１３９４）および小型コンピュータシステムインタフェース（ＳＣＳＩ）などがある。
【００８９】
システムメモリ１５１６は、揮発性メモリ１５２０および不揮発性メモリ１５２２を含む。ＢＩＯＳ（Basic Input/Output System）は、例えば起動中など、コンピュータ１５１２内の要素間で情報を転送する基本ルーチンを含み、不揮発性メモリ１５２２に格納されている。不揮発性メモリ１５２２には、それだけには限定されないが一例として、読み取り専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、電気的プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリなどがある。揮発性メモリ１５２０には、外部キャッシュメモリとして働くランダムアクセスメモリ（ＲＡＭ）などがある。ＲＡＭは、それだけには限定されないが一例として、スタティックＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、ダブルデータレートＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、拡張ＳＤＲＡＭ（ＥＳＤＲＡＭ）、シンクリンクＤＲＡＭ（ＳＬＤＲＡＭ）、ラムバスダイレクトＲＡＭ（ＲＤＲＡＭ）、ダイレクトラムバスダイナミックＲＡＭ（ＤＲＤＲＡＭ）、ラムバスダイナミックＲＡＭ（ＲＤＲＡＭ）など多くの形態で使用可能である。
【００９０】
コンピュータ１５１２は、リムーバブル／ノンリムーバブル、揮発性／不揮発性コンピュータ記憶媒体も含む。図１５は、例えばディスク記憶装置１５２４を示している。ディスク記憶装置１５２４には、それだけには限定されないが、磁気ディスクドライブドライブ、フロッピー（登録商標）ディスクドライブ、テープドライブ、Ｊａｚドライブ、Ｚｉｐドライブ、ＬＳ−１００ドライブ、フラッシュメモリカード、またはメモリスティックなどの装置がある。さらに、ディスク記憶装置１５２４は、記憶媒体を別個に含む、または、それだけには限定されないが、コンパクトディスクＲＯＭデバイス（ＣＤ−ＲＯＭ）、ＣＤレコーダブルドライブ（ＣＤ−Ｒ  Ｄｒｉｖｅ）、ＣＤリライタブルドライブ（ＣＤ−ＲＷ  Ｄｒｉｖｅ）、またはデジタル多用途ディスクＲＯＭドライブ（ＤＶＤ−ＲＯＭ）などの光ディスクドライブなど他の記憶媒体と組み合わせて含むことができる。ディスク記憶装置１５２４のシステムバス１５１８への接続を容易にするために、一般に、インタフェース１５２６など、リムーバブルまたはノンリムーバブルのインタフェースが使用される。
【００９１】
図１５は、ユーザと適した動作環境１５００で説明した基本的なコンピュータリソースとの間の媒介として働くソフトウェアを説明していることを理解されたい。こうしたソフトウェアには、オペレーティングシステム１５２８などがある。オペレーティングシステム１５２８は、ディスク記憶装置１５２４に格納することができ、コンピュータシステム１５１２のリソースを制御し、割り振るよう働く。システムアプリケーション１５３０は、システムメモリ１５１６またはディスク記憶装置１５２４のいずれかに格納されているプログラムモジュール１５３２およびプログラムデータ１５３４を介してオペレーティングシステム１５２８によるリソースの管理を利用する。本発明は、様々なオペレーティングシステムまたはオペレーティングシステムの組み合わせで実施できることを理解されたい。
【００９２】
ユーザは、１つまたは複数の入力デバイス１５３６を介してコマンドまたは情報をコンピュータ１５１２に入力する。入力デバイス１５３６には、それだけには限定されないが、マウスなどのポインティング装置、トラックボール、スタイラス、タッチパッド、キーボード、マイクロフォン、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナ、ＴＶチューナカード、デジタルカメラ、デジタルビデオカメラ、Ｗｅｂカメラなどがある。これらおよび他の入力装置は、１つまたは複数のインタフェースポート１５３８を経由してシステムバス１５１８によってプロセッサ１５１４に接続される。インタフェースポート１５３８には、例えば、シリアルポート、パラレルポート、ゲームポート、ユニバーサルシリアルバス（ＵＳＢ）などがある。出力装置１５４０は、入力装置１５３６と同じタイプのポートのいくつかを使用する。したがって、例えばＵＳＢポートを使用して、コンピュータ１５１２への入力を提供し、コンピュータ１５１２から出力装置１５４０に情報を出力することができる。１つまたは複数の出力アダプタ１５４２は、出力装置１５４０の中でも一部の出力装置１５４０にはモニタ、スピーカ、プリンタなど特殊なアダプタを必要とするものがあることを示すために提供されている。出力アダプタ１５４２には、それだけには限定されないが一例として、出力装置１５４０とシステムバス１５１８との間の接続手段を提供するビデオカードおよびサウンドカードなどがある。１つまたは複数のリモートコンピュータ１５４４など、他の装置および／または装置のシステムは、入力および出力の両機能を提供することに留意されたい。
【００９３】
コンピュータ１５１２は、リモートコンピュータ１５４４など１つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク式環境で動作することができる。リモートコンピュータ１５４４は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ワークステーション、マイクロプロセッサベースの装置、ピア装置、または他の一般のネットワークノードなどでよく、一般にコンピュータ１５１２に関連して記載した多くまたはすべての要素を含む。簡潔にするために、リモートコンピュータ１５４４とともにメモリ記憶装置１５４６のみを示している。リモートコンピュータ１５４４は、ネットワークインタフェース１５４８を介してコンピュータ１５１２に論理的に接続され、次いで１つまたは複数の通信接続１５５０を介して物理的に接続される。ネットワークインタフェース１５４８は、ローカルエリアネットワーク（ＬＡＮ）および広域ネットワーク（ＷＡＮ）など、有線および／または無線の通信ネットワークを含む。ＬＡＮ技術は、光ファイバ分散データインタフェース（ＦＤＤＩ）、銅線分散データインタフェース（ＣＤＤＩ）、Ｅｔｈｅｒｎｅｔ（登録商標）、トークンリングなどがある。ＷＡＮ技術には、それだけには限定されないが、ポイントツーポイントリンク、サービス総合デジタル網（ＩＳＤＮ）およびそのバリエーションなどの回線交換ネットワーク、パケット交換ネットワーク、デジタル加入者回線（ＤＳＬ）などがある。
【００９４】
通信接続１５５０は、ネットワークインタフェース１５４８をバス１５１８に接続するために使用されるハードウェア／ソフトウェアを指す。通信接続１５５０は、説明上わかりやすくするために、コンピュータ１５１２内に示しているが、コンピュータ１５１２の外部にあってもよい。ネットワークインタフェース１５４８への接続に必要なハードウェア／ソフトウェアには、例示の目的にすぎないが、通常の電話用モデム、ケーブルモデム、ＤＳＬモデムなどのモデム、ＩＳＤＮアダプタ、Ｅｔｈｅｒｎｅｔ（登録商標）カードなど内部技術および外部技術がある。
【００９５】
上記で説明してきたことは、本発明の例を含む。当然、本発明を説明するためにコンポーネントまたは方法の予想されるすべての組み合わせについて説明することは不可能であるが、本発明の他の多くの組み合わせおよび置き換えが可能であることを当業者であれば理解できよう。したがって、本発明は、添付の特許請求の範囲の意図および範囲に含まれるこうしたすべての代替形態、変更形態、および変形形態を含むものとする。
【００９６】
特に上述したコンポーネント、装置、回路、システムなどによって実行される様々な機能に関して、こうしたコンポーネントの説明に使用した用語（「手段」への言及を含む）は、本明細書で示した本発明の態様の例の機能を実行する開示した構造に構造上同じではない場合でも、特に指定のない限り、説明したコンポーネントの指定した機能（機能上の同等物など）を実行する任意のコンポーネントに対応するものとする。この点で、本発明は、本発明の様々な方法の動作および／またはイベントを実行するコンピュータ実行可能命令を有するシステムおよびコンピュータ可読媒体を含むことも理解されたい。
【００９７】
さらに、本発明の特定の特徴を、いくつかの実装形態のうちの１つのみを参照して開示してきたが、こうした特徴は、思い通りの他の実装形態の１つまたは複数の他の特徴、および所与または特定の任意のアプリケーションの利点と組み合わせることができる。さらに、「含む（include）」および「含んでいる（including）」という用語およびその変形が詳細な説明または特許請求の範囲で使用されている範囲で、これらの用語は「備える（comprising）」という用語と同じように包括的なものとする。
【図面の簡単な説明】
【００９８】
【図１】ＲＦＩＤアプリケーションを作成し、かつ／または実行するモデルの使用を容易にするシステム例を示すブロック図である。
【図２】ＲＦＩＤプロセスを実施するモデルの使用を容易にするシステム例を示すブロック図である。
【図３】論理ソースの使用を容易にするシステム例を示すブロック図である。
【図４】ＲＦＩＤプロセスの展開および作成を容易にするシステム例を示すブロック図である。
【図５】ＲＦＩＤアプリケーションを作成するオブジェクトモデルの使用を容易にするシステム例を示すブロック図である。
【図６】インタフェース、サービスＡＰＩ、例外、およびセキュリティを使用するモデルの使用を容易にするシステム例を示すブロック図である。
【図７】ＲＦＩＤプロセスを作成し、使用するモデルの使用を容易にするシステム例を示すブロック図である。
【図８】設計時中のモデルの使用を容易にするシステム例を示すブロック図である。
【図９】実行時中のモデルの使用を容易にするシステム例を示すブロック図である。
【図１０】ＲＦＩＤアプリケーションを作成するモデルに基づいたクラスの階層フレームワークの実施を容易にするシステム例を示すブロック図である。
【図１１】ＲＦＩＤアプリケーションを作成するモデルに基づいたクラスの階層フレームワークの実施を容易にするシステム例を示すブロック図である。
【図１２】ＲＦＩＤプロセスを構築し（develop）、作成するモデルフレームワークの使用を示すフローチャート例である。
【図１３】ＲＦＩＤプロセスの作成を示すフローチャート例である。
【図１４】本発明の新しい態様を使用できるネットワーキング環境例を示す図である。
【図１５】本発明に従って使用できる動作環境例を示す図である。
【符号の説明】
【００９９】
１００  システム
１０２  受信機構成要素
１０４  モデル構成要素
１０６  モデル
【図１】
2006072975.tif 000008
【図２】
2006072975.tif 000009
【図３】
2006072975.tif 000010
【図４】
2006072975.tif 000011
【図５】
2006072975.tif 000012
【図６】
2006072975.tif 000013
【図７】
2006072975.tif 000014
【図８】
2006072975.tif 000015
【図９】
2006072975.tif 000016
【図１０】
2006072975.tif 000017
【図１１】
2006072975.tif 000018
【図１２】
2006072975.tif 000019
【図１３】
2006072975.tif 000020
【図１４】
2006072975.tif 000021
【図１５】
2006072975.tif 000022