JP2006244497A - 動的なコンポーネント管理 - Google Patents

動的なコンポーネント管理 Download PDF

Info

Publication number
JP2006244497A
JP2006244497A JP2006053152A JP2006053152A JP2006244497A JP 2006244497 A JP2006244497 A JP 2006244497A JP 2006053152 A JP2006053152 A JP 2006053152A JP 2006053152 A JP2006053152 A JP 2006053152A JP 2006244497 A JP2006244497 A JP 2006244497A
Authority
JP
Japan
Prior art keywords
component
node
processing
data
auto
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006053152A
Other languages
English (en)
Other versions
JP4461109B2 (ja
Inventor
Tao Lin
リン タオ
Steffen Goebel
ゲーベル ステフェン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SAP SE
Original Assignee
SAP SE
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SAP SE filed Critical SAP SE
Publication of JP2006244497A publication Critical patent/JP2006244497A/ja
Application granted granted Critical
Publication of JP4461109B2 publication Critical patent/JP4461109B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management

Abstract

【課題】対象物が企業の運営を通じて移動する際にそれらの対象物を追跡管理することができる複数の分散自動IDノードを備える自動識別システムを提供すること。
【解決手段】自動IDノードは、ネットワークの複数の現場にわたって分散し、企業向けアプリケーションシステム、および/またはデータ取得システムと通信状態にある。これらの自動IDノードは、各々の現場に集中することにより、各々の企業向けアプリケーションによって追跡管理されるデータの量を最小限に抑える。自動IDノードはコンポーネントマネージャを備えることができ、コンポーネントマネージャは、自動IDノードの動作に影響を及ぼすことなく、自動IDノード内で使用するためのコンポーネントを動的にロードする。
【選択図】図9

Description

この説明は、自動ID追跡システム(auto-id tracking system)に関する。
自動識別(自動ID)システムは、例えば製造、購入もしくは販売される製品に関する、または商取引上で使用される製品に関する情報を識別するため、もしくは取得するために使用される。例えばバックオフィスにある箱などの対象物に関する情報は、その箱に貼られたタグまたはその他の識別子と関連付けて保存することができ、および/または一意の識別子とともにタグ付けされた物は小売店の棚に配置できる。そのようにして、読み取り機やセンサなどの何らかの種類のデバイスを使用して、識別子を利用する物体を識別し、それによって、例えばその物のブランド名、または、その物の有効期限など、コンピュータシステム内に保存されているその箱または物に関する情報を判別し、取り込み、使用することができる。
自動IDシステムの一例として、RFID(Radio−Frequency Identification)システムが知られている。一般にRFIDとは、RFIDタグまたはトランスポンダ内のアンテナに付随されたマイクロチップ上に一意の番号(および/またはその他の識別情報)が保存される技術を指す。読み取り機を使用してアンテナと通信し、マイクロチップから一意の番号を取得し、それによって、その一意の番号に関連付けられている情報を取得する。RFIDは高速であり、かつ無線を利用しているので、見通し線上に置かなくても、読み取り機とタグとの間の通信が可能であり、人がデータを入力する必要がない、または必要性を少なくする。その結果、RFIDは、例えば店舗または倉庫内でタグ付けされた物を識別し、RFIDタグの付いた自動車によって通行料金を自動的に支払い、および/または立ち入り制限エリアへ入る許可を受けた人員を識別するなど、多くの用途で使用することができる。
その他のタイプの多くの自動IDシステムデバイスが存在する。その例として、二次元バーコードスキャナ、スマートカードデバイス/読み取り機、音声認識システム、光学式文字認識システム、および生体情報システム(例えば、網膜のスキャンおよび指紋のスキャン)が挙げられる。このようなシステムの多くまたはすべては、コストを削減し、効率を上げ、データの正確さを向上させ、(単一のアイテム/オブジェクトのレベルにさえ至る)さらにきめ細かいデータを提供することによって、企業システムの運用において顧客満足度を高め、または高める可能性がある。
一般的な一態様によれば、システムは、アイテムを追跡管理するための自動ID追跡システムに関連してアイテムデータを受信する機能を有する自動IDノード(auto-id node)と、データ処理モジュールの動作中および自動IDノードの動作中にアイテムデータを処理するための処理コンポーネントを実装する機能を有する自動IDノード内のデータ処理モジュールと、アイテムデータに基づいて複数のコンポーネントから処理するコンポーネントを決定する機能を有するコンポーネントマネージャと、データ処理モジュールおよび自動IDノードの動作中に処理コンポーネントをデータ処理モジュールへロードする機能を有するコンポーネントローダとを備える。
実施形態には、次の特徴のうちの1つまたは複数を含めることができる。例えばデータ処理モジュールは、自動ID追跡システム内のアイテムデータを処理する機能を有することができるコアサービスモジュールを含むことができる。コンポーネントローダは、処理コンポーネントに関連付けられている構成設定に基づいて処理コンポーネントを決定するための命令をコンポーネントマネージャへ出力する機能を有することができる構成ファイルを含むことができる。データ処理モジュールは、自動IDノードと、自動ID追跡システムのその他の要素との間の通信を処理する機能を有することができる統合モジュールを含むことができる。
処理コンポーネントは、自動ID追跡システムの指定された要素と通信するように適合できるアダプタを含むことができる。このアダプタは、このアダプタと、指定された通信プロトコルを含むことができる指定された要素との間のデータ伝送を管理する機能を有することができるコミュニケータ、および、処理コンポーネントによって使用される第1のデータフォーマットと、指定された要素によって使用される第2のデータフォーマットとの間のデータ変換を管理する機能を有することができるデータコンバータとを含むことができる。
処理コンポーネントは、アクティブに実施されている可能性のある第1の処理タスクを実行するためのアクティブインスタンスと、アクティブに実施されていない可能性のある第2の処理タスクを実行するためのパッシブインスタンスとに関連付けることができる。複数の処理コンポーネントのうちの1つまたは複数のその他のパッシブインスタンスと共に、処理コンポーネントのパッシブインスタンスを保存するためのプールが存在することができる。
データ処理モジュールは、第2の処理タスクをアクティブに実施されていない状態からアクティブに実施されている状態へ変更するという決定に基づいて、プールにあるパッシブインスタンスをアクティブ化し、そのパッシブインスタンスを第2のアクティブインスタンスとして実施する機能を有することができるインスタンスマネージャを含むことができる。
インスタンスマネージャは、第1の処理タスクをアクティブに実施されている状態からアクティブに実施されていない状態へ変更するという決定に基づいて、第2のパッシブインスタンスとしてプールに保存するために、アクティブインスタンスを非アクティブ化する機能をさらに有することができる。コンポーネントマネージャまたはコンポーネントローダが選択する際の選択元となる複数の処理コンポーネントを保存する機能を有することができるコンポーネントリポジトリが存在することができる。
別の一般的な態様によれば、アイテムを追跡管理するための自動ID追跡システムにおける自動IDノードにおいて、アイテムデータが受信される。このアイテムデータを分析して、このアイテムデータを処理するための処理コンポーネントを複数のコンポーネントの中から決定する。この処理コンポーネントは、データ処理モジュールの動作中および前記自動IDノードの動作中にデータ処理モジュールへロードされ、この処理コンポーネントによってアイテムデータが処理される。
実施形態には、次の特徴のうちの1つまたは複数を含めることができる。例えば処理コンポーネントをデータ処理モジュールへロードする際に、この処理コンポーネントは、自動IDノードと、自動ID追跡システムのその他の要素との間の通信を処理する機能を有することができる統合モジュールへロードすることができる。処理コンポーネントをデータ処理モジュールへロードする際に、自動ID追跡システムの指定された要素と通信するように適合できるアダプタをロードすることができる。
アクティブに実施されている可能性のある第1の処理タスクを実行するための処理コンポーネントのアクティブインスタンスをロードすることができ、アクティブに実施されていない可能性のある第2の処理タスクを実行するための処理コンポーネントのパッシブインスタンスを保存することができる。
第2の処理タスクを、アクティブに実施されていない状態からアクティブに実施されている状態へ変更するという決定に基づいて、パッシブインスタンスを第2のアクティブインスタンスとして実施するためにプールにあるパッシブインスタンスをアクティブ化することができ、第1の処理タスクを、アクティブに実施されている状態からアクティブに実施されていない状態へ変更するという決定に基づいて、第2のパッシブインスタンスとしてプールに保存するためにアクティブインスタンスを非アクティブ化することができる。
別の一般的な態様によれば、装置は、命令を格納している記憶媒体を含む。これらの命令は、アイテムを追跡管理するための自動ID追跡システムにおける自動IDノードにおいてアイテムデータを受信するための第1のコード部と、そのアイテムデータを分析して、そのアイテムデータを処理するための処理コンポーネントを複数のコンポーネントの中から決定するための第2のコード部と、データ処理モジュールの動作中および自動IDノードの動作中に処理コンポーネントをデータ処理モジュールへロードするための第3のコード部と、その処理コンポーネントによってアイテムデータを処理するための第4のコード部とを含む。
実施形態には、次の特徴のうちの1つまたは複数を含めることができる。例えば第3のコード部は、自動IDノードと、自動ID追跡システムのその他の要素との間の通信を処理する機能を有することができる統合モジュールへ処理コンポーネントをロードするための第5のコード部を含むことができる。この第5のコード部は、自動ID追跡システムの指定された要素と通信するように適合できるアダプタをロードするための第6のコード部を含むことができる。
自動ID追跡システムは、アイテムデータを複数の追跡デバイスから自動的に収集する機能を有することができ、それらのアイテムデータを、自動ID追跡システムに関連付けられている企業アプリケーションおよびユーザインターフェース、ならびに自動ID追跡システムで利用できるようにするためにそれらのアイテムデータを処理する機能をさらに有することができる。
添付の図面、および以下の記載において、1つまたは複数の実施形態の詳細について説明する。さらなる特徴、態様、および利点については、その説明、図面、および特許請求の範囲から明らかになるであろう。
様々な図面における類似の参照番号および記号は、類似の要素を示している。
図1は、自動IDシステム100のネットワークの図である。図1に示すように、複数の企業アプリケーションには、例えばサプライチェーン管理アプリケーション102が含まれ、企業はこれを使用して、その企業の製品またはサービスの製造/購買、発送、および販売のプロセスを監視することができる。資産追跡管理システム104を使用して、例えばその企業がどの資産(例えば棚卸資産)を利用できるか、もしくは利用できないか、または求めているかを判断するために、1つの現場や1つの組織の中で、もしくは、その全体にわたって、または複数の組織にわたって、複数の資産を監視および追跡管理することができる。倉庫管理アプリケーション106は、倉庫に関する受け入れ、保管、選択、および発送の側面を監視するために使用することができる。分析システム108は、例えば消費者の要求に対応するスピード、盗難から生じる損害、あるいは企業の収益または運営に影響を与える可能性のあるその他の要因など、企業の運営の側面を定量化するために使用することができる。
図1に示す企業アプリケーションの例は、企業システムに共通するデータを企業が収集、共有、および活用する必要性を示している。例えばサプライチェーン管理アプリケーション102は、資産管理アプリケーション104内のデータに基づいて、特定のタイプの資産をどの程度その時点で利用できるかを知る必要が生じる可能性がある。分析システム108は、例えば(倉庫の使用方法または配送遅延の理由などの)遂行能力上の課題、(製品の偽造パターンなどの)問題、および対象物(アイテム、ケース、パレット)の全般的な認知方法(general visibility)を見い出すために、自動IDミドルウェア、および、さらにはその他のアプリケーション102、104、または106からデータを抽出することができる。分析システム108は、ポータルシステムを介して、見い出した結果を報告することができる。
例えば上述したような企業アプリケーションによって共有および活用されるデータの多くは、企業システムによって購入および/または販売される製品またはサービスに関連している。図1に示すように、これらの製品またはサービスに関する情報は、ミドルウェアインフラストラクチャ110を使用することにより、それらのアプリケーションによって取得され、ミドルウェアインフラストラクチャ110は、購入および/または販売される製品およびサービスに関する情報を自動的に取得および共有するための自動識別(自動ID)システムを実装している。
一般に自動IDシステムは、前述のように、企業によって販売または使用される製品に関する情報を自動的に収集して活用できるようにし、識別子と、それらの識別子に関する情報を取得するための読み取り機とを備える。図1に示すように、自動ID要素の例には、バーコード読み取り機/プリンタ112が含まれており、これを使用して、物に貼られる(ことになる)バーコードラベルを読み取ったり、あるいは印刷したりすることができる。RFID読み取り機/プリンタ114が示されており、上記のRFIDシステムの説明から理解できるように、これを使用して、物に取り付けられたRFIDタグから情報を読み取ったり、あるいはそのRFIDに情報を割り当てたりすることができる。センサ116は、例えば環境センサ(例えば温度計)、あるいは音声センサまたは光学式文字認識センサとすることができる。モバイル読み取り機118は、その名前が示すように、例えばRFIDタグまたはその他の自動ID識別子を検知するためにユーザが携帯できる読み取り機である。最後に、図1に示すPLC(Programable Logic Controller)デバイスは、オン/オフ制御、タイミング、ロジック、計数および順序付けなどの用途に使用されるデジタルコントローラであり、以下でさらに詳しく説明するように、これをデバイスコントローラシステムによって制御することもできる。
そして、図1に示すように、自動IDデバイス/システム112〜120のいずれかによって取得された情報は、すべての企業アプリケーション102〜108の間で伝達、共有、および使用することができる。このようにして、企業は、その運営の全範囲にわたって、基本的にリアルタイムな情報を取得し、使用することができる。さらに、企業は、情報を他の企業と共有することができる。例えばサプライチェーン管理アプリケーション102は、第1の企業(例えば小売店)に関連付けることができ、その一方で倉庫管理アプリケーションは、第2の企業(例えば製造業者)に関連付けることができる。自動IDデバイス/システム112〜120から情報を取得し、ミドルウェアインフラストラクチャ110を介してこの情報およびその他の情報を共有することによって、2つの企業は、それぞれの運営の双方において効率を高めることができる。
図2は、図1の自動ID機能を例示するシステム200のブロック図である。図2に示すように、企業アプリケーション202は、上述の様々なアプリケーション102〜108に加えて、その他の様々な企業アプリケーションを含むことができる。
自動IDインフラストラクチャ204は、図1に示したミドルウェアインフラストラクチャ110の一部または全体に相当する。詳細には、自動IDインフラストラクチャ204は、自動IDノード206、208、および210を含む。自動IDノード206、208、および210は一般に、自動IDデバイス112〜120によって取得される情報を既存のビジネスロジックまたはデータに関連付けるように設計されている規定位置のノードである。さらに、自動IDノード206、208、および210を使用して、自動IDデバイス/システム112〜120によって追跡管理されている製品または物に関する履歴情報を保存することができる。このような履歴情報には、例えば特定の時点におけるステータス情報、物の位置、追跡管理されている(1つまたは複数の)物に関する環境情報、および所望の目的のために収集され取りまとめられている複数の物に関する情報を含めることができる。
自動IDノード206、208、および210は、企業の全体に、または複数の企業にわたって戦略的に配置することができる。例えば自動IDノード206は製造現場に配置することができる一方で、自動IDノード208は製品配送現場に配置することができ、自動IDノード210は小売店に配置することができる。このようにして、自動IDノードの実際の設定に固有の情報は、その特定のノードにおいてのみ取得および保持することができる。
例えば小売店における自動IDノード210は、その小売店の棚にある1つの商品または複数の商品の小売価格を追跡管理することに関与している可能性がある。このような情報は、製造現場における自動IDノード206にとっては役に立たないかもしれないが、配送現場における自動IDノード208にとっては部分的に役に立つ可能性がある。例えば配送現場208における自動IDノードは、商品の小売価格には関与していないかもしれないが、その時点で棚に置かれている複数の商品に(在庫補充の目的で)関与している場合がある。
同様に、別々の現場で行われるビジネスプロセスおよびビジネスロジックには、局在する自動IDノード206、208、および210を使用する効果が認められる可能性がある。例えば小売店の自動IDノード210は、物の盗難を防止するためのワークフローを備えることができ、一方、製造現場の自動IDノード206では、特定の時間枠内に製造される物の数量を監視することができる可能性がある。したがって、システム200は、局在する自動IDノードの分散型ネットワークを使用することによって、より効率的に、また様々な現場のユーザにとって、より有用な方法で情報を処理することができる。
システム200内の各自動IDノードは一般に、1つまたは複数のデバイスコントローラを備え、図2に示すように、デバイスコントローラ212、214、および216は、配送現場の自動IDノード208に関連付けられている。もちろん自動IDノード206、208、および210の各々が備えるデバイスコントローラの数は、さらに少なくすることも多くすることもでき、あるいは自動IDノードはデバイスコントローラをまったく使用しなくてもよい。
一例としてデバイスコントローラ214を参照すると、図2は、デバイスコントローラ214を使用して自動IDデバイス112〜120の一部またはすべての動作を監視および調整できることを例示する。もちろんデバイスコントローラ212および216を使用して、それらのデバイスコントローラに接続できる類似の自動IDデバイスの動作を監視することもできる。
より具体的には、デバイスコントローラ214を使用して、自動IDデバイス112〜120からのデータを処理し、関連付けられている自動IDノード208の効率を高めることができる。例えばこのようなデバイスコントローラは、無関係な情報を除去することができ、あるいは自動IDノード208の配送機能にとって有用な方法で、および/または企業アプリケーション202にとって有用な方法で、自動IDノード208によって指定されるようにデータを結合または修正することができる。
このようにデバイスコントローラ214は、例えば自動IDノード208からの命令に基づいて、自動IDデバイス112〜120を調整および管理し、(処理された)情報を自動IDデバイスから自動IDノード208へ中継する。例えば自動IDノード208を使用して、物218(例えば、販売用として小売業者に配送される玩具またはその他のアイテム)に関して特定のクラスのデータ(例えば数量など)を取得するようデバイスコントローラ214に指示することができる。次いで、デバイスコントローラ214は、RFID読み取り機/プリンタ114を使用して、物218に関連付けられているタグ220からこの情報を取得することができ、このとき同時に取得される不要な情報をすべて除去してから、自動IDノード208にとって一定数の物が利用可能であるという情報を伝達することができる。
別の例として、自動IDノード208は、物218に情報を割り当てるようデバイスコントローラ214に指示することができる。例えばデバイスコントローラ214は、RFID読み取り機/プリンタ114を使用して、(例えば特定のクラスの物に取り付けられているRFIDタグ220上に、またはそのRFIDタグ220と関連付けて、新たな価格情報を保存するために)物218の現在の価格を変更することができる。
デバイスコントローラ212、214、および216の各々を使用して、その関連付けられている自動IDデバイスおよび/または周辺デバイス112〜120のすべてに関するデータをフィルタにかけ、集約し、書き込み、あるいは操作することができるが、それとまったく同様に、自動IDノード208は、関連付けられているデバイスコントローラ212、214、および216に関するデータをフィルタにかけ、集約し、割り当て、あるいは操作するように機能するということが、図2から理解できるはずである。このようにして、自動IDノード208は、デバイスコントローラ212、214、および216からの情報を、企業アプリケーション202のうちの1つまたは複数の企業アプリケーション上で使用できるビジネスプロセスと統合することができる。
その延長として考えれば、企業アプリケーション202は、自動IDノード216、218、および210のすべてからの情報を集約するように機能するということが分かる。さらに、システム200の一レベルで役に立つ情報が別のレベルでは役に立たない可能性もあるということが理解できるはずである。例えば企業アプリケーション202は、読み取り機/プリンタ114によって収集される低いレベルの(例えばアイテムレベルの)情報には関与していないかもしれないし、あるいはそうした情報を既に利用できるのかもしれない。むしろ、その企業アプリケーション202は、その情報がデバイスコントローラ214および/または自動IDノード208によってフィルタにかけられるか、および/または集約される範囲内でその情報に関与しているだけかもしれない。
説明したアーキテクチャによって、企業アプリケーション202および/または複数の企業アプリケーションにより得られるビジネスロジックは、自動IDミドルウェア110内で対応できるということが理解できるはずである。さらに、このような複数の企業アプリケーションは、それらの企業アプリケーションのすべてに共通する単一の物理的なハードウェアシステムおよび単一の自動IDミドルウェアと共に提供することができる。
図3は、図2に示した自動IDインフラストラクチャ204と共に使用するためのネットワーク構造300のブロック図である。より詳細には、図3は、自動IDシステムと共に使用するために開発されたEPC(Electronic Product Code)と共に図2に示した自動IDインフラストラクチャ204を使用できる構造を例示する図である。
EPCとは、複数の組織および企業が、そのそれぞれの製品、商品もしくはサービス、またはそれらの集合体(例えばパレット、ケース、またはトラックの積荷)を一意に指定および識別する際に使用することを合意した事前に規定されたフォーマットおよびスキームを有する一意の番号であり、UPC(Uniform Product Code)識別子に類似したものである。そしてRFIDシステムの状況では、図2に示した物218上のタグ220にEPCを割り当てることができる。EPCは、通常、例えば(様々なフォーマットを区別するための)ヘッダフィールド、製造フィールド(EPCを割り当てるそれぞれの組織は、固有の製造フィールドを有する)、製品フィールド(製品コード)、および(製品に付けられる)シリアルナンバーという4つのフィールドによって規定される。
図3に示すように、EPC情報サービス(EPCIS)層302により、ネットワークを介してEPCデータのやり取りが可能となる。すなわちEPCISは、標準的なフォーマットまたはプロトコルを提供し、これによって、EPCの番号を識別した読み取り機は、その番号に関する情報(したがって、その関連付けられているアイテムに関する情報)を見つけて使用することができる。一部には、上述のようにビジネスレベルのEPC情報を転送して使用するために、例えばPML(Physical Mark−up Language)および/またはXML(eXtensible Mark−up Language)などの言語を使用することができる実施形態がある。
EPCIS層302は、アプリケーションマネージャ304から情報を受信し、このアプリケーションマネージャ304は一般に、情報イベント(例えばタグの読み取り)を監視し、それらのイベントを管理してEPCIS層302へ伝達し、それによってEPCISリポジトリ306へ伝達するようにすることができる。アプリケーションマネージャ304は、リポジトリ306が何らかの特定のアプリケーションまたはデバイスにとってすぐには役に立たないかもしれないデータでも比較的長い時間にわたって蓄積するようにして、リポジトリ306を監視および構成することができる。一般的に言えば、複数の対象物に関する情報の流れは、リポジトリ306にとっては大きすぎて、リアルタイム処理において、具体的にはネットワーク遅延が発生する可能性がある場合、実質的に役に立たない可能性がある。むしろ、図2に示した自動IDノード208を使用して、例えば一定の時間にわたって、自動IDノード208にとってすぐに役に立つ可能性のある情報を追跡管理することができる。
アプリケーションマネージャ304およびEPCIS層302は、オブジェクトネーミングサービス(ONS)にアクセスすることができるが、これは、ドメインネームサービス(DNS)と同様の検索サービスであり、これによってアプリケーションマネージャ304およびEPCIS層302は、製品に対するEPCコードに基づいてその製品に関する情報を見つけることができる。ONS308は、様々なレベルの情報を有することができ、それらの情報は、例えばその製品にとってその情報が局所的に保存されるか、または全体的に保存されるかによって分類することができる。
アプリケーションレベルイベント(ALE)インターフェース層310は、デバイスマネージャ312およびデバイスコントローラ214へのインターフェースを提供する。より具体的には、ALEインターフェース層310を使用して、デバイスマネージャ312および/またはデバイスコントローラ214から情報イベントを受信する際に、それらの情報イベントをフィルタにかけたり、または集約したりすることができる。デバイスマネージャ312を使用して、デバイスコントローラ214の状態および/または構成を管理することができる。
また図3に示すように、リーダプロトコルインターフェース層314は、デバイス114に対してインターフェースを提供する。すなわち、様々な企業は、様々なタイプのデバイス114、またはその他の自動IDデバイスを使用することができ、これらのデバイスおよび企業は、読み取り機と通信するための様々なリーダプロトコルを利用できることが理解できるはずである。リーダプロトコルインターフェース314は、システム300内のすべての読み取り機と通信できるように設計されている。
システム300は、図2に示した自動IDインフラストラクチャ204がなくても使用することができ、逆に、図2に示した自動IDインフラストラクチャ204は、図3に示したその他の要素がなくても使用できるということが、図3から理解できるはずである。したがって、図3は、図2に示した自動IDインフラストラクチャ204は、EPCネットワークおよび標準と共に使用することができるが、EPCネットワークおよび標準を使用することは必須ではないということを示唆している。
図4は、図2および/または図3に示した(1つまたは複数の)自動IDノード206、208、および210のブロック図である。図4に示すように、コアサービスモジュール402は、以下でさらに詳しく説明するとおり、例えば自動IDノード208の詳細な処理を実行し、一方、様々な統合モジュール404、406、408、および470は、外部の機能、ユーザ、およびサービスと関連するコアサービスモジュール402の通信、構成、および管理の詳細な処理を実行する。
例えばバックエンドシステム統合層404は、自動IDノード400と、例えば図1に示したアプリケーション102〜108または図2に示したアプリケーション202などのバックエンドシステムとの間の通信を処理する。
デバイス統合層406は、自動IDノード400とデバイスとの間の通信を処理する。例えばデバイス統合層406は、図2に示したノード208とデバイスコントローラ214との間の通信を可能にすることができる。デバイス統合層406は、追跡デバイス112〜118のうちの1つまたは複数と直接の通信を可能にすることができるような実施形態もある。
人的統合層(human integration layer)408は、自動IDノード400とユーザインターフェースとの間の通信を処理する。例えば自動IDノードの操作者は、ユーザインターフェースを介して特定のタスクを実行するように自動IDノードを構成したり、あるいはその自動IDノードが受信する情報を監視したりすることができる。操作者は、例えば予期せぬイベントまたは異常が生じた場合、自動IDノードから警告メッセージを受け取ることもできる。さらに、自動IDノード400のセキュリティを監視することができ、これによって、許可された人員のみが自動IDノード400を使用することができる。
ノード統合層470は、自動IDノード400と他の自動IDノードとの間の通信を処理する。例えば近隣の複数の自動IDノードが協働して、1つの対象物に関する経路情報を提供するために、またはその対象物の追加単位を購入または保管すべきかどうかを判断するために、流通網またはサプライチェーンを介してその対象物を追跡管理することができる。
ノード統合層470については、バックエンドシステム統合層404、デバイス統合層406、および人的統合層408と共に、以下の「統合層」の項でさらに詳しく説明する。
コアサービスモジュール402は、アクティビティおよびプロセス管理モジュール410を備える。アクティビティおよびプロセス管理モジュール410は、例えば図2に示したRFID読み取り機114によって(例えば)物218のタグ220からタグ情報が読み取られる、読み取りまたは追跡管理イベントなど、対象物の履歴にあるイベントに関連付けられている情報を分析する。次いで、アクティビティおよびプロセス管理モジュール410は、この情報を、その特定の対象物に関連している既知の情報と照合する。
例えば、以下でさらに詳しく説明するように、追跡管理される各々の物は、1つまたは複数のビジネスプロセスに関連付けることができ、これは、(1つまたは複数の)ビジネスプロセスモデル、あるいは(1つまたは複数の)ワークフローなどとも呼ばれる。このようなプロセスは一般に、1つの対象物が、そのライフタイムの一部またはすべての間に、すなわち製造から配送へ、または配送から小売りへ、あるいは製造から小売りへの間に経験する可能性のある既知の、または予想される起こり得ることをすべて記述する。この意味において、自動IDノードは、特定の自動IDノード400の役割に応じて、特定の物に関するライフタイム情報のすべてを必要とする場合もあり、あるいはライフタイム情報の一部のサブセットのみを必要とする場合もある。
したがって、実際の現在のイベント情報(例えば、読み取り機114によってタグ220から読み取られた情報)と、以前に検知されたイベント情報ならびに(関連するビジネスプロセスモデルから得られた)予想されるイベント情報とを組み合わせることによって、自動IDノード400は、追跡管理される(1つまたは複数の)対象物の状態を判断することができる。このようにして、自動IDノード400は、効率的かつ費用対効果の高い方法で、人間の介入または監督を最小限に抑えつつ、サプライチェーンあるいはその他の一部のビジネスモデル(例えば、顧客による商品の返品)を通して、1つの対象物を移動させることができる。
アクティビティおよびプロセス管理モジュール410は、イベントメッセージディスパッチャ412を備える。イベントメッセージディスパッチャ412は、様々なソースからイベントを受信するが、上述したように、このイベントという用語は一般に、例えば図1に示した追跡デバイス112〜118のうちの1つまたは複数によるアクティビティによって引き起こされる事象を指すことができる。
一部の実施形態において、このようなイベントは、イベントメッセージディスパッチャ412において任意の数のソースから受信するソフトウェア/データパケットとして表すことができる。イベントは、追跡デバイス112〜118に加えて、人的統合モジュール408を経由してローカルの操作者からも受信することができる。イベントは、例えばバックエンドシステム404から、あるいは別の自動IDノードから受信することもできる。
イベントのこれらの様々なソースにおいて、様々なイベントを記述する際に同じまたは類似したフォーマットを共通して使用することができる。例えばイベントの様々なソースは、普遍的なイベント記述子プロトコル(universal event descriptor protocol)を使用して、イベントを記述することができる。イベントの記述には、例えば指定された対象物識別子、イベントタイプ(例えばRFIDの読み取りイベント)、イベントソース(例えばRFID読み取り機114)、タイムスタンプ、イベントソースの位置、イベントサブジェクト識別子、あるいはその他の情報を含めるようにすることができる。
1つの具体例として、読み取りデバイス114は、「abcd1234」というIDを有するRFID読み取り機から、時刻「2004年12月21日、午前10時23分」に関連付けられ、スキャンされた対象物について一意の固有の識別子を有する「スキャニング」というタイプのイベントを送信することができる。このようにして、様々なソースからのイベントは、イベントメッセージディスパッチャ412において互換性のあるフォーマットで受信することができ、これによってイベントメッセージディスパッチャ412は、イベントの(1つまたは複数の)ソースにかかわらず、同じまたは類似した方法で受信イベントを処理することができる。
イベントメッセージハンドラ412は、上記の情報あるいはその他の情報の一部またはすべてを分析し、それに応じて1つまたは複数のアクティビティハンドラ414または416に受信イベントを振り分ける。例えばイベントは、イベントのタイプ(例えばデバイス読み取り機のイベント、または近隣の自動IDノードのイベント、あるいはバックエンドシステムのイベント)、イベントの時間(例えば、そのイベントは日中のイベントか、または夜間のイベントか)、あるいはそのイベントの処理をアクティビティハンドラに委任できる実際上のその他の任意の基準に基づいて、他のアクティビティハンドラ414/416のうちの1つに振り分けることができる。
アクティビティハンドラ414/416は、そこに含まれるイベントに関する情報を、そのイベントに関連していて必要な場合にアクセスできる任意の既知のデータと共に分析し、この情報を、そのイベントの対象物に関連付けられている確立された(1つまたは複数の)ビジネスプロセスと比較する。これを行う際、アクティビティハンドラ414/416は、そのイベントに応答してその後に1つまたは多数のアクションを起こすべきである場合は、そのような1つまたは多数のアクションを決定することができる。
その後に起こすべきアクションが決定すると、それらのアクションを、自動IDノード400の外部に伝達して実行することができる。例えば、その後に起こすべきアクションは、統合インターフェース404、406、408、および/または470を介して伝達することができる。この方法では、例えば人間の操作者に何らかの操作を実行するよう要求することもでき、または警告を発することもでき、あるいは必要とされる何らかのアクティビティを別の自動IDノード204、206、208(またはバックエンド企業アプリケーション102〜108/202、もしくはデバイス112〜120)に通知することもできる。アクティビティハンドラ414/416は、(1つまたは複数の)イベントによって示された変更を反映するために、そして対象物がビジネスプロセス内のどこに位置しているかをより正確に反映するために、その対象物に関する固有の状態および/または追跡管理データを更新することもできる。
対象物に関連付けられるビジネスプロセスは、ルールのセットとして、および/またはその対象物と、おそらくはその他の対象物とに関連付けることができるワークフローモデルの一部として示すことができる。例えばルールは、特定の条件または状況に応答して起こすべき様々なアクションを記述する条件節に類似したものとすることができる。すなわち、ルールは、受信したイベントに関して1つまたは複数の条件が満たされた場合、これに応答して1つまたは複数のアクションを起こすべきであるというように記述することができる。条件のタイプ、意思決定プロセス、および応答アクションについては、以下でさらに詳しく説明する。
このようなルールを実装するために、アクティビティハンドラ414はルールエンジン418を備え、ルールエンジン418は、アクティビティハンドラ414においてルールセット420および422を受信イベントに適用する。ルールエンジン418は、自動IDノード400において受信したイベントに適用されるプログラム可能なルールセットのためのアーキテクチャを提供する。ルールエンジン418は、例えば受信したイベントに適用できるルールセット420/422内の1つまたは複数のルールを検索するための機構を実装することができる。
例えば、ルールエンジンは、(上述したように普遍的なイベント記述子プロトコルでフォーマットを設定できる)イベントを解析することができ、各々のルールセットおよび/またはルールの選択基準を計算して照合し、1つまたは多数の適用可能なルールを見つけることができる。ルールエンジン418は、コアサービス410のその他の部分に関するアクションを開始することによって、および/またはバックエンドシステム統合層404、デバイス統合層406、人的統合層408、およびノード統合層470を介して外部のモジュール、ユーザ、およびサービスに関するアクション要求を伝達することによりルールを実行する機構を有することもできる。
一例として、イベントメッセージディスパッチャ412は、ある受信イベントが、特定の場所(例えば倉庫の特定のドッキングベイ)において受け入れられた特定のクラスのデバイスに関連していると判断することができ、そしてそのイベントをアクティビティハンドラ414へ振り分けることができ、アクティビティハンドラ414に、このようなイベントの処理を割り当てることができる。アクティビティハンドラ414は、ルールエンジン418内のルールセット420がこのタイプのイベントに適用すべき適切なルールセットであることを判断するために、そのイベントが特定の対象物に関連していること、および/またはその他の特徴(例えば、夜間の発送中に発生したこと)を有することを判断することができる。次いで、ルールセット420を適用して、受信イベントを分析し、それによって(1つまたは複数の)それぞれのルールの条件節を、そのイベントに関連して受信した情報、ならびに(場合によっては)その他の情報と照合することができ、合致するものがある場合は、そのルールを適用して、そのイベントおよび対応する対象物に対して起こすべきその後のアクションすなわち予想されるアクションを決定することができる。
ルールエンジン418は拡張性があるので、このルールエンジンには、その機能に影響を及ぼすことなく、より多くのルールセットを追加することができる。さらに、ルールエンジン418は柔軟性があるので、既存のルールセットは、例えば実行時に、あるいは不要になった時点で、削除するかまたは無効にすることができる。
ルールセット420は、例えばバックエンドシステム統合モジュール404を経由してバックエンドシステムにより、あるいは他のインターフェースモジュール406、408、または470のうちの1つから、アクティビティハンドラ414/416に割り当てることができる。ルールは、他の自動IDノードから、または図3に示したEPCISリポジトリ306から、あるいはその他の何らかのソースから追加することもできる。ルールセット420/422は、モジュール式であるため、他のルールセットの機能に影響を及ぼすことなく、容易に置換または変更することができる。
上述したように、ルールエンジン418は、対象物に固有のイベントを受信し、そのイベントに関連付けられている対象物に対してその後のアクションすなわち予想されるアクションがある場合は、そうしたアクションを決定するために、そのイベントを1つのビジネスプロセスに関連付ける。これを行う際、ルールエンジン418は、照合オペレーションを実行する上で役に立つ可能性のあるさらなるデータにアクセスすることができる。詳細には、コアサービス402内では、関連データ管理モジュール423は、アクティビティおよびプロセス管理モジュール410と通信し、ルールエンジン418によってルールセット420および422を実施する上で役に立つ可能性のあるデータおよびサービスを保存する(または、それらのデータおよびサービスにアクセスする)。
例えば関連データ管理モジュール423は、アクティビティハンドラ414、416と密接に連動して、各々のイベントオブジェクトのライフサイクル、あるいはその一部を追跡管理することができ、受信イベントに応答して、イベントオブジェクトの状態をリアルタイムで更新することができる。例えば関連データ管理モジュール423は、例えば製造から小売りへ、あるいは対象物が返品されてから再製品として小売り用に再梱包されるまで、対象物がそのライフサイクルを進むのに応じて、その対象物に関するデータを有することができる。
関連データ管理モジュール423は一般に、(1つまたは複数の)特定の対象物に関して2つのクラスのデータを追跡管理する。具体的には、動的データは、時間の経過と共に変化していくデータ、または変化することが予想できるデータ、あるいは関連付けられている対象物が時間の経過と共に移動するにつれて変化していくデータを指す。逆に静的データは、一般に時間の経過と共に変化しないデータ、あるいはまれにしか変化しないデータを指す。追跡管理されている対象物および(1つまたは複数の)ビジネスプロセスに応じて、様々なパラメータを動的または静的とみなすことができる。例えば対象物の位置は動的とみなすことができ、その一方で対象物の色または重量は一般に静的とみなすことができる。しかし特に製造プロセスの間は、対象物の色を変更することが可能であり、この場合、色は動的な特質とみなすことができる。
したがって動的データは、所定のライフサイクルまたは時間軸を通じて物が移動するのに応じ、その対象物を示すものである。例えば動的データは、予想されるアクション424、現状426、および履歴428という3つのコンポーネントを含むものとして図4に一般的に示されている。予想されるアクション424は、1つのイベントに関する、予想されるその後のイベント、あるいは起こり得るその後のイベントを有する。したがって、現状426は、1つのイベントの現状を有することができ、履歴428は、そのイベントオブジェクトが経験した過去のイベントのリストを有することができる。
これらのコンポーネントは動的であるため、関連付けられているデータは、対象物に関して受信するイベントに応答して修正することができる。例えば3つのコンポーネント424、426、428は、イベントを受信するたびに、アクティビティハンドラ414、416によって更新することができる。具体的には、あるイベントによって、発送センタにおける対象物の受け取りが行われる場合、その対象物の現在の状況は、現状426において「配送中」から「受け取り済」へと変更することができる。次いで、それまで現状として入力されていたデータは、その物の配送履歴(例えば、配送中に通った経路)を示すために、履歴428へと移動することができる。予想されるアクション424における「受け取り済」という予想されるアクションは、現状426として再指定され、ルールエンジン414は、ルールセット420を使用して、その時点でまだ予想されるアクション424内に存在する予想されるアクションのうちのどれを次に実行すべきか(例えば、店の棚に保管するために物を降ろすこと)を決定することができる。
したがって、動的データは、少なくとも特定の対象物に関してイベントが受信される回数分だけ変化する可能性がある。イベントの数および頻度は、一般に読み取り機の数および利用可能度に関連しているため、理論上の限界内であれば、そのライフタイムにわたり十分な数の読み取り機によって継続的に追跡管理される対象物は、継続的に変化する動的データを有することができる。
対照的に、静的データは、データベースまたはメモリ内の関連データ管理モジュール423内に保存され、これらは一般に、定期的または継続的に更新する必要があるとは考えられていない。むしろ、関連データ管理モジュール423は、外部のソースと通信して、静的データを定期的または準定期的に更新することができる。したがって、このような静的データは一般に、イベントに応答して変化するとは予想されていない(しかし状況によっては、変化する可能性もある)。
例えば位置データベース430は、発送センタの住所に加えて、その発送センタに届けられる配送品の発送元となり得る場所の住所を有することができる。一部の位置情報(例えば、配送中の物の現在位置)は動的とみなすことができ、その一方でその他の位置情報(例えば、特定の物が生産された生産施設)は静的とみなすことができることが理解できるはずである。しかし一般に静的情報は、イベントごとには変化しないものと考えられる。
同様に製品データベース432は、追跡管理されている製品または物の詳細な説明を含むことができ、この説明には、変化はするが、やはり一般にイベントごとには変化しない説明が含まれる。製品データベース432は、このような情報を保存することができ、あるいは、例えば普遍的な製品ID(例えば、物218のタグ220から読み取られたEPCコード)を使用して、外部のソースから情報を検索することもできる。
ビジネスプロセスデータベース434には、対象物に関連付けられている1つまたは複数のビジネスプロセスを含めることができる。上述したように、ビジネスプロセスとは、対象物のライフタイムを管理するように設計されている、タスク/イベントの定形化されたワークフローまたは進行を指すことができる。例えば、ビジネスプロセスモデルは、製造プロセス用に、または流通プロセス用に、あるいは顧客による欠陥商品の返品プロセス用に定形化することができる。
このような場合、ビジネスプロセスモデルは、複数の対象物の各々のライフサイクルの全体(または大部分)を通じて複数の対象物のライフサイクルを管理するために、抽象的なレベルで、例えばバックエンドシステム202において設計することができる。そして(1つまたは複数の)ビジネスプロセスモデルの特定のサブセットまたはインスタンス化を自動IDノード400において実行または監視することができるので、特定の対象物に関するビジネスプロセスモデルは、その対象物が経験する可能性のあるライフサイクルおよび起こり得る(予想される)イベントを示している。このタイプの実施形態の具体例については、以下で図6に関連して説明する。
その他の例では、このレベルで定義されるビジネスプロセスモデルまたはワークフローが存在しない可能性があり、ルール、動的データ、および静的データによって、対象物の履歴になるビジネスプロセスが暗黙のうちに定義されることになる。
リソースデータベース436は、イベントのためのその他のリソースを有することができる。例えば、リソースデータベース436は、イベントに応答して求められる任意のアクションを実行する上で利用できるリソースを有することができる。例えば、ある物が倉庫において受け取られ、その物を移送するために特別なデバイスが必要である場合、リソースデータベース436は、その倉庫の構内で利用することのできる移送デバイスに関する情報を保存することができる。ライフサイクルを通じて物を管理する上で役に立つ可能性のあるその他のリソースにも同様のことが当てはまるので、一般にアクションが求められているとルールエンジン418が判断した場合は常に、そのアクションを実行するためにどのようなリソースを利用することができるかを判断するために、リソースデータベースに問い合わせることができる。
上記の実施形態は、動的データおよび静的データという区分に関して説明したが、この区分は一例に過ぎないことが理解できるはずである。例えばデータベース430〜436は、静的データに加えて動的データの一部またはすべてを保存するために使用することもでき、この場合、動的に変化するデータによって上記の例よりも高い頻度で単に更新することができる。例えば、上述したように、位置データが動的または静的な位置情報のいずれかを表すことができる限り、位置データベース430は、動的および/または静的データを含んでいるものと考えることができることが理解できるはずである。
コアサービス402はまた、自動IDノード400を構成および管理するための構成および運営管理モジュール440を備える。例えば運営管理モジュール440は、ユーザが複数のルールセット420、422をアップロードしたり、モジュール404〜408に関する統合ロジックを管理したり、あるいは(例えば、静的データストレージ430〜436を更新するために)外部サービスとの接続を確立したりすることを可能にすることができる。最後に、図4に示す保存およびアーカイビング管理モジュール450は、コアサービスモジュール410のデータを保存し、かつアーカイブの管理をする。例えばモジュール450を使用して、使用頻度の低いデータ、あるいは所定の期間に使用されなかったデータをアーカイブに保存することができる。これを行う際、モジュール450は、自動IDノード400において必要とされるリソースを最小限に抑えるために外部のストレージサイトと情報交換することができる。
上記の図4に関する説明は、特定の対象物または対象物のグループを時間軸に沿って行ったものであり、(1つまたは複数の)対象物に対して予想されるアクションを、実際のイベントと照合している。しかしその他のパラメータに関して、ルール、(1つまたは複数の)時間軸、およびその他の基準を実装することもできることが理解できるはずである。
例えば、自動IDノードは、特定の対象物に関してではなく、特定の読み取り機または一連の読み取り機に関して機能することができる。例えば1つの読み取り機は、複数の物の識別子からイベントを検知することができるので、履歴428、現状426、および予想されるアクション424は、その読み取り機によって読み取られる何らかの特定の対象物に関してではなく、その読み取り機に関して定義することができる。
例えばクリスマスの飾り付けによって、多くのクリスマス関連の対象物を販売することができ、その飾り付けがいつ劣化してくるかを判断するために、それらの物のすぐ近くに読み取り機を配置することができる。この例では、アクティビティハンドラ414は、特定の読み取り機に関して発生するすべてのアクティビティを処理することができ、ルールセット420は、例えばバックオフィスに、もしくは製造業者に、在庫を追加注文するためのパラメータを指定することができ、または第1のタイプの物が売り切れた場合にそのタイプの物を別のタイプの物に置き換えるためのパラメータを指定することができる。
したがって、アクティビティおよびプロセス管理モジュール410は、複数の異なるパラメータおよびガイドラインに従って動作することができるが、アクティビティおよびプロセス管理410は、予想される、すなわちその後のイベントを決定し、その予想されるイベントに合致する対応するイベントが生じるまで待つようにすることができるということが、本明細書に含まれる説明および例から理解できるはずである。これを行う際、アクティビティおよびプロセス管理モジュール410は、いずれの予想されるイベントにも合致しない複数のイベントを処理する可能性があり、この場合、アラームを作動することができ、あるいはそうでなければ、何の動作もしないようにすることができる。
(統合層)
前述したように、デバイス統合層406は、自動IDノード400と複数のデバイスとの間の通信を処理する。図5Aに示すように、これらのデバイスは、様々なタイプの自動データ取得デバイス510、デバイスコントローラ520、およびデバイス管理システム525を備えることができる。図5Aに示すように、自動IDノード400は、特定のデバイス510と直接、またはデバイスコントローラ520を介して通信することができる。
データ取得デバイス510は、周期デバイスと非周期デバイスの双方を含むことができる。周期デバイスとは、周期的なデータストリームを送信するデバイスである。非周期デバイスとは、非周期的なデータストリームを送信するデバイスである。周期的なストリームとは、一定の時間間隔で送信するデータ(例えばnミリ秒ごとに1つのデータ値)の連続する流れであり、これに対して非周期的なストリームでは、不定期な間隔で、例えばタグの付いたアイテムが検知された場合にのみデータが送信される。周期デバイスの例としては、1つまたは複数の物理的な特性(例えば温度、湿度、加速度、圧力、光、位置、動き、あるいはノイズ)を測定するためのセンサデバイス、および継続的にデータ(例えば在庫情報)を供給することができるサーバがある。非周期デバイスの一例は、RFIDタグ読み取り機である。特定のタイプのRFIDタグ読み取り機の例は、カリフォルニア州モーガンヒルのAlien Technologiesによって製造されている読み取り機、およびメリーランド州ロックランドのMatrics Incorporatedによって製造されている読み取り機である。
前述したように、デバイスコントローラ520は、自動データ取得デバイス510のうちの1つまたは複数を管理し、自動IDノード400からの命令に基づいて、自動データ取得デバイス510によって送信されたデータを自動IDノード400に中継するようにすることができるソフトウェアである。
デバイス管理システム525は、デバイスおよび/またはデバイスコントローラの状況を監視し、その時点の状況を自動IDノード400に通知する。この通知は、定期的に、または状況に異常がある場合に行うことができる。デバイス管理システム525は、ファームウェアのアップロードおよびシステムの再構成などのリモート管理を提供することもできる。
図5Bに示すように、自動IDノード400のバックエンドシステム統合層404、人的統合層408、およびノード統合層470は、様々なタイプのバックエンドシステム530、ユーザインターフェース540、および自動IDノード550との間の通信をそれぞれ処理する。
様々なタイプのバックエンドシステム530は、物流システム、資産追跡管理システム、保守サービスシステム、倉庫管理システム、財務システム、分析システム、および報告システムを備えることができる。さらに、倉庫管理システムを例にとると、例えばOracle社による実装および本件特許出願人による実装など、様々な実装を認めることができる。
様々なタイプのユーザインターフェース540には、ウェブベースまたはその他のサーバベースのユーザインターフェース、スタンドアロンのユーザインターフェース、およびモバイルインターフェースを含めることができる。ユーザインターフェース540は、異なるユーザごとに異なる構成とすることもできる。
自動IDノード550は、様々な地理的位置に配置されたノードを含むことができる。サプライチェーンを例にとると、ノードは、製造現場、流通センタ、および小売センタに配置することができる。自動IDノード550は、例えばカリフォルニア州マウンテンビューのVerisignから入手できるEPCIS Server、およびドイツのWalldorf(Baden)の本件特許出願人から入手できるAuto−ID Nodeなど、様々な企業によって開発された様々な自動IDシステムのノードを含むことができる。
本明細書では、デバイス510、デバイスコントローラ520、デバイス管理システム525、バックエンドシステム530、ユーザインターフェース540、および自動IDノード550を自動IDコンポーネントと呼ぶことにする。
自動IDコンポーネントは、使用される通信プロトコル、通信チャネル、通信モード、あるいはメッセージングフォーマットのタイプなど、様々な点で異なるものとすることができるが、これらに限定されるものではない。例えば自動IDコンポーネントの一部は、HTTP(Hypertext Transfer Protocol)を使用して通信することができ、その一方で他のものは、ソケットベースの通信プロトコル、例えばTCP/IP(Transmission Control Protocol/Internet Protocol)を使用して通信することができる。一般的なタイプの通信プロトコルの各々は、複数の異なる変形版を有することもできる。例えばHTTPのよく知られたバリエーションの1つが、HTTPs(secure HTTP)である。
TCP/IPについては、通信チャネルは、パブリッシャ−サブスクライバチャネル、ポイントツーポイントチャネル、またはソケットチャネルとすることができる。これらの例として、ニューヨーク州アーモンクのIBMから入手できるMQSeries、マサチューセッツ州ベッドフォードのSonic Software Corporationから入手できるSonicMQ、カリフォルニア州サンノゼのBEA Systemsから入手できるWebLogic Server、およびドイツのWalldorf(Baden)の本件特許出願人から入手できるXIが挙げられる。上記のシステムのほとんどは、パブリッシャ−サブスクライバチャネルとポイントツーポイントチャネルの双方に対応する。
HTTPについては、通信チャネルは、SOAP(Simple Object Access Protocol)およびJSP(Java(登録商標)Server Pages)とすることができる。
通信モードは、オンライン通信モードまたはオフライン通信モードとすることができる。オンライン通信モードでは、自動IDノードと自動IDコンポーネントは、継続的な接続を維持する。すなわち、自動IDノードと自動IDコンポーネントが互いにメッセージを送信していない場合でも、接続されたままとなる。オフライン通信モードでは、自動IDノードと自動IDコンポーネントは、互いに継続的な接続を維持しない。代わりに、例えばメッセージを送信するためにのみ、またはネットワークへのアクセスが利用可能な場合にのみ、一時的に接続するだけである。オフラインモードは、例えばモバイルデバイスまたはモバイルユーザインターフェースによって使用することができる。
統合層404、406、408、470がなければ、自動IDノード400は、特定の通信プロトコル、通信チャネル、通信モード、および/またはメッセージングフォーマットに対応できるだけであろうし、その自動IDノード400が対応するその特定の通信プロトコル、通信チャネル、通信モード、および/またはメッセージングフォーマットを使用しない自動IDコンポーネントと統合することはできないであろう。
統合層404、406、408、470があれば、自動IDノード400は、様々な通信プロトコル、通信チャネル、通信モード、および/またはメッセージングフォーマットを使用する様々な異なるタイプの自動IDコンポーネントと統合することができる。さらに、以下で説明するように、これらの層404、406、408、470は、今後開発される新しいタイプの自動IDコンポーネントに対応するために、容易に拡張することができる。
図6に示すように、統合層404、406、408、および470の各々は、アダプタ610、コミュニケータ620、およびコンバータ630を備える。
アダプタ610は、自動IDノード400と自動IDコンポーネントとの間の通信を処理する。アダプタ610は、コミュニケータ620およびコンバータ630を使用して、通信を処理する。
コミュニケータ620は、通信のデータ伝送の部分を処理する。コミュニケータ620は、前述の通信プロトコル、通信モード、および通信チャネルなど、様々な異なるタイプの通信プロトコル、通信モード、および通信チャネルに対応するが、これらに限定されるものではない。
コンバータ630は、通信のデータ変換の部分を処理する。コンバータ630は、接続している自動IDコンポーネントから受信したデータを、自動IDノード400によって理解される内部のメッセージフォーマットへと変換する。逆に、コンバータ630は、自動IDノード400からのデータを、接続している自動IDコンポーネントによって理解される外部のメッセージフォーマットにも変換する。
図7に示すように、統合層404、406、408、470のオブジェクト指向による実装においては、アダプタ610は、ベースアダプタクラス(base adapter class)710および1つまたは複数の固有アダプタクラス(specific adapter class)720によって表すことができる。ベースアダプタクラス710は、固有アダプタクラス720のすべてが利用できる一般的な機能を実装する。固有アダプタクラス720は、固有の通信プロトコル、通信チャネル、通信モード、およびメッセージングフォーマットに対応する追加の機能によって、その一般的な機能を拡張する。
コミュニケータ620およびコンバータ630は、ベースクラスおよび固有クラスの同様のセットを使用して実装することもできる。統合層404、406、408、470の機能をベースクラスと固有クラスに分離することによって、一般的な統合層404、406、408、470は、さらなる固有の通信プロトコル、通信チャネル、通信モード、およびメッセージングフォーマットに対応するために、容易に拡張することができる。
図8に示すように、アダプタ610、コミュニケータ620、およびコンバータ630を実装するクラスは、クラスリポジトリ810内に格納することができる。クラスリポジトリ810は、(図示しているように)統合層404、406、408、470内に配置することができ、あるいは、自動IDノード400に対してアクセス可能な別の位置に配置することができる。
自動IDノード400に接続される各々の自動IDコンポーネントごとに、アダプタ610のインスタンスが生成され、統合層404、406、408、470によって保持されているアダプタインスタンスリスト820に追加される。
所与の自動IDコンポーネントに対して適切なアダプタインスタンスを生成する作業は、人間の操作者によって手動で実行することができる。人間の操作者は、自動IDコンポーネントを調べ、次いで、その所与の自動IDコンポーネントの固有の通信プロトコル、通信チャネル、通信モード、および/またはメッセージングフォーマットに対応するアダプタインスタンスを生成することができる。
図9は、図4に示した自動IDノード400の一実施形態のブロック図である。図4を参照して説明したように、自動IDノード400は、イベントメッセージを処理するコアサービスモジュール402を備える。コアサービスモジュール402は、イベントメッセージディスパッチャ412、アクティビティハンドラ414/416、ルールエンジン418、ルールセット420/422、およびデータ管理モジュール423を備えることができる。コアサービス402は、自動IDノード400のプロセスと同じまたは異なるプロセスを処理するその他のモジュールを備えることもできる。自動IDノード400はまた、外部のモジュールと通信する複数の統合モジュール404、406、408、および470を備える。このような通信の例については、図5A、5B、および6を参照して上記で説明している。
図9に示すように、自動IDノード400は、自動IDノード400内で使用するコンポーネントを動的にロードするコンポーネントマネージャ902を備える。すなわち、コンポーネントマネージャ902は、拡張可能なインフラストラクチャを有し、これによって自動IDノード400は、自動IDノード400のオペレーションに影響を及ぼすことなく、実行時に新たなコンポーネントを追加したり、あるいは別のコンポーネントを使用するように切り替えたりすることができる。
例えば、コンポーネントマネージャ902は、必ずしも自動IDノード400を停止して再起動することなく、新しいタイプのデバイスと通信する新たなアダプタコンポーネント(例えば、図6に示したアダプタ610)を追加するようにすることができる。別の例では、コンポーネントマネージャ902は、データコンバータコンポーネントの新しいバージョン(例えば、バックエンドシステムの新しいバージョンと互換性のあるバージョン)を使用して、実行時にそのデータコンバータの古いバージョンを置換するようにすることができる。その結果、自動IDノード400は、バックエンドシステムの新しいバージョンと通信するように、実稼働環境においてシームレスにアップグレードされる。
コンポーネントリポジトリ904は、自動IDノード400が使用できる複数のコンポーネントを格納する。したがって、コンポーネントリポジトリ904は、自動IDノード400のためのコンポーネント格納庫として機能する。コンポーネントリポジトリ904は、例えば自動IDノード400が通信するデバイスに対応する複数のアダプタコンポーネント、様々な通信プロトコルで通信する複数のコミュニケータ、様々なフォーマットのデータを変換する複数のデータコンバータ、複数のアクティビティハンドラ(例えば、図4に示したアクティビティハンドラ414)、あるいは複数のルールおよびルールセット(例えば、図4に示したルールセット420、422)を備えることができる。コンポーネントリポジトリ904は、例えば外部のバックエンドシステムから、あるいは他の自動IDノードからコンポーネントをダウンロードすることによって、コンポーネントを取得することができる。コンポーネントリポジトリ904は、自動IDノード400が使用しなくなったコンポーネントを削除することもできる。
コンポーネントローダ906は、自動IDノード400において受信したアイテムデータに基づいて、コンポーネントリポジトリ904からコンポーネントをロードすることができる。アイテムデータは一般に、自動IDノード400によって様々な外部モジュール404、406、408、および470から受信するデータ、あるいは自動IDノード400によってその他の形で処理されるデータを指す。このようなアイテムデータは、例えばデバイス112〜118、デバイスコントローラ212〜216、あるいはデバイスマネージャ312から受信するアイテム追跡管理データを含むことができる。アイテムデータは、その他の自動IDノード、バックエンドシステム、またはユーザインターフェースから受信するデータを含むこともでき、例えばルールまたはルールセット、バックエンドシステムから受信するアイテムに関する静的データ、あるいは人間の操作者/管理者からユーザインターフェースを介して取得するデータを含むことができる。
コンポーネントローダ906は、図9に示すように、コンポーネントマネージャ902の外部に配置することができる。その他の実施形態では、コンポーネントローダ906は、コンポーネントマネージャ902の内部に配置することができる。
一実施形態では、コンポーネントローダ906は、特定のタイプのコンポーネントを見つけるためにコンポーネントリポジトリ904を検索する。一部の実施形態では、コンポーネントローダ906は、自動IDノード400の外部、例えば別の自動IDノードの内部またはバックエンドシステムの内部を検索して、特定のコンポーネントを取得することもできる。より具体的には、コンポーネントローダ906は、例えばSOAPメッセージを受信する場合はHTTPコミュニケータコンポーネントをロードすることができ、あるいはソケットメッセージを受信する場合はTCP/IPコミュニケータコンポーネントをロードすることができる。
コンポーネントローダ906はまた、構成設定ファイル908を備える。構成設定ファイル908は、自動IDノード400内のアプリケーションにとって外部のファイルとすることができ、それらのアプリケーションが起動する際にロードすることができる。構成設定ファイル908は、例えばテキストファイルまたはXML(extensible mark−up language)ファイルのフォーマットとすることができる。構成設定ファイル908は、自動IDノード400が最初に配置される際に定義することができるが、必要に応じて変更することもできる。一例では、構成設定ファイル908は拡張可能であり、これによって、新たなコンポーネントおよびそれらのプロパティの定義を追加することができる。別の例では、自動IDノード400は、構成設定ファイル908を使用して、コンポーネントを再コンパイルせずに、それらのコンポーネントの設定を変更することができる。
構成設定ファイル908は、それらのコンポーネントを自動IDノード400に登録する。すなわち、構成設定ファイル908は、コンポーネントローダ906がコンポーネントを見つけ出すための構成図として機能することができる。例えば構成設定ファイル908は、コンポーネントリポジトリ904内におけるコンポーネントの位置情報を有することができ、あるいはその他の実施形態では、自動IDノード400の外部における位置情報を有することができる。構成設定ファイル908は、例えば最新のバージョンなど、コンポーネントの特定のバージョンを指定することもできる。構成ファイル908は、1つのファイルとすることができ、あるいは様々な場所に格納または構成される複数のファイルのフォーマットとすることもできる。
一部の実施形態では、構成設定ファイル908は、自動IDノード400内でアクティブになることができるコンポーネントの選択されたリストを定義することができる。コンポーネントローダ906は、その選択されたリストに基づいて、起動時にそれらのコンポーネントをロードすることができる。さらに、アクティブな自動IDノード400は、前述の設定、すなわち自動IDノード400の構成設定ファイル908内におけるアクティブなコンポーネントの選択されたリストをコピーすることによって、別の自動IDノード内に複製することができる。
構成設定ファイル908は、コンポーネントのプロパティの一部を有することもできる。例えば構成設定ファイル908は、コンポーネントをインスタンス化するために必要とされる一部のコンポーネントプロパティのデータを提供することができる。構成設定ファイル908は、動的なプロパティに対応することもでき、これらの動的なプロパティによって、自動IDノード400は、ランタイムコンポーネントを再コンパイルせずにプロパティの値に変更を加えることができる。例えば、小売店のルールセットは、1年の四季に関するルールを含むことができる。「季節」というプロパティを現在の季節、例えば「冬」に設定することによって、自動IDノード400は、受信したイベントに対して冬のルールを適用することができる。
図5および6を参照して説明したように、統合モジュール404、406、408、および470は、例えばRFIDリーダアダプタ910、スキャナアダプタ912、および(図9では、一般的なアダプタx914として示されている)事実上その他のすべてのアダプタなどの様々なアダプタ610によって複数の外部モジュールと通信することができる。コンポーネントマネージャ902は、外部モジュールからの接続要求に基づいて、これらのアダプタを動的にロードすることができる。例えばコンポーネントマネージャ902は、RFID読み取り機114からの接続要求を受信すると、RFIDリーダアダプタ910をロードすることができる。
さらにコンポーネントマネージャ902は、アクティブなアダプタ用に必要とされるその他のコンポーネントを実行時に統合モジュール404、406、408、470へ動的にロードすることができる。例えばコンポーネントマネージャ902は、RFIDリーダアダプタ用としてコミュニケータコンポーネントA920およびデータコンバータコンポーネントC926をロードすることができる。その一方で、スキャナアダプタ912は、コミュニケータB922およびデータコンバータC926を使用することができる。また一方で、アダプタx914は、コミュニケータB924およびデータコンバータE929を使用することができる。
図9に示すように、コミュニケータB922およびコミュニケータB924は、同一のコンポーネントBの2つのアクティブインスタンスである。換言すれば、別々のアダプタ、すなわちスキャナアダプタ912およびアダプタx914は、コンポーネントリポジトリ904からの同一のコミュニケータコンポーネントを共有する。例えばTCP/IPコミュニケータコンポーネントは、デバイス、デバイスコントローラ、およびデバイス管理モジュール用の多くのアダプタの間で共有して使用することができる。
コンポーネントを共有することにより、自動IDノード400の作成および保守はさらに効率的になる。この例では、TCP/IPコミュニケータコンポーネントを1つだけ作成すればよい。またコンポーネントリポジトリ904は、このTCP/IPコミュニケータコンポーネントのコピーを1つロードして格納するだけでよい。このTCP/IPコンポーネント上で変更が施される際は、コンポーネントコードのコピーを1つだけ変更すればよい。
図9に示すように、インスタンス920〜929はアクティブインスタンスである。そのようなものとして、インスタンス920〜929は、データ処理モジュール、すなわち統合モジュール404、406、408、470内でプロセスを実行している。しかし、1つのアクティブモードで比較的多数のインスタンスを維持すると、結果として自動IDノード400の処理能力およびメモリ使用量に重い負荷をかけ、これによって自動IDノード400の動作が相対的に遅くなるおそれがある。その結果、一部のインスタンスは、パッシブな形態で保存することができる。
例えば図9に示すように、パッシブインスタンスプール930は、コンポーネントのそのような多数のパッシブインスタンスを保存することができる。上述したように、パッシブインスタンスとは、アクティブインスタンスの静的な形態である。より具体的には、パッシブインスタンスは、アクティブインスタンスのデータおよび状態の情報を有することができる。その結果、新たにインスタンス化されたコンポーネントは、パッシブインスタンスをロードして、対応するアクティブインスタンスを再生成することができる。
実行中のコンポーネント、すなわちアクティブインスタンスは、そのパッシブインスタンスをエクスポートし、パッシブインスタンスプール930内に保存することができる。その一方で、パッシブインスタンスをコンポーネントにインポートして、そのコンポーネントのアクティブインスタンスを再生成することができる。一部の実施形態では、パッシブインスタンスをコピーして、他の自動IDノードまたはシステムに渡すことができる。したがって、アクティブインスタンスは、別の場所に複製することができる。
パッシブインスタンスプール930は、自動IDノード400用のバッファを提供して、その作業負荷の一部を非アクティブな状態で保持し、よって自動IDノード400の処理能力を節約する。その結果、自動IDノード400は、同時に実行されている限られた数のアクティブインスタンスに集中することによって、そのパフォーマンス性が高まる。さらに、自動IDノード400が多数の要求を同時に受信する場合、パッシブインスタンスプールは、自動IDノード400がその作業負荷を連続して受け取ることによって故障するのを防ぐことができる。
インスタンスマネージャ931を使用して、(1つまたは複数の)アクティブインスタンスと、パッシブインスタンスプール内のパッシブインスタンスとの切り替えを管理することができる。インスタンスマネージャ931は、各機能モジュール、例えばコミュニケータ620またはコンバータ630の内部に配置することができる。その他の実施形態では、インスタンスマネージャ931は、機能モジュールの外部に配置することができる。インスタンスマネージャ931は、図9に示すようにデータ処理モジュールの一部とすることもでき、データ処理モジュールの外部に配置することもできる。必要に応じて、1つまたは複数のインスタンスマネージャ931を配置することができる。また、一部の実施形態では、インスタンスマネージャ931は、コンポーネントマネージャ902またはコンポーネントローダ906の一部とすることもできる。
インスタンスマネージャ931は、自動ID追跡システム内で認めることができる、コンポーネントごとのアクティブインスタンスの定数を規定するように設定することができる。図9に示すように、インスタンスマネージャ931は、アダプタ610が3つのアクティブインスタンスを有することができ、コミュニケータ620が3つのアクティブインスタンスを有することができ、データコンバータ630が3つのアクティブインスタンスを有することができると規定することができる。
コンポーネントごとのアクティブインスタンスの数は、様々な状況に適合するように、自動IDノードの動作中に設定することができる。インスタンスマネージャ931は、様々なコンポーネントの各々のアクティブインスタンスの定数を調節することによって、その処理能力を様々なコンポーネントの間で最適に配分するようにすることができる。例えばインスタンスマネージャ931は、負荷の重いコンポーネントにはより多くのアクティブインスタンスを与え、あまりアクティブでないコンポーネントにはより少しのアクティブインスタンスしか与えないようにすることができる。
1つの具体例では、新しいアダプタは、自動IDノード400との通信を要求することができる。インスタンスマネージャは、現在のアダプタ、すなわちRFIDリーダアダプタ910、スキャナアダプタ912、アダプタ914を非アクティブにすることなく、新しいアダプタに対応できるように、コンポーネントアダプタ610に対するアクティブインスタンスの定数を4に増やすように設定することができる。さらにインスタンスマネージャは、新しいアダプタYのアクティブインスタンスの追加に対応するために、コミュニケータ620またはデータコンバータ630に対するアクティブインスタンスの定数を減らすように設定することができる。
一実施形態では、自動IDシステム内のコンポーネント、例えば610、620、および630は、パッシブインスタンスとアクティブインスタンスを切り替えるプロセスを支援するために、さらなるアクティブインスタンスを保持することができる。その結果、コンポーネント610、620、630は、パッシブインスタンスがスワップインされるのを待つために時間を浪費することなく、実行中の一定数のアクティブインスタンスを保持することができる。また、さらなるアクティブインスタンスを使用して、スワッピングタスクのために既存のアクティブインスタンスの動作に影響を及ぼすことなく、新たに受信した要求をパッシブインスタンスへとスワップすることができる。
さらに図9に示すように、パッシブインスタンスプール930はパッシブインスタンスプールA932を含み、これはコミュニケータコンポーネントA920のパッシブインスタンスを格納する。パッシブインスタンスプールC934は、データコンバータコンポーネントC926、928のパッシブインスタンスを含む。プールA932は、インスタンスA1 936、インスタンスA2 938、およびインスタンスA3 940という3つのパッシブインスタンスを含む。これらの3つのインスタンスは、例えば1つのRFID読み取り機からの3つの通信要求を表すことができる。パッシブインスタンスプールC934は、インスタンスC1 942およびインスタンスC2 944を含み、これらは、例えばRFIDリーダアダプタ910および/またはスキャナアダプタ912から受信される2つのデータパケットを表すことができる。
したがって、図9に示した自動IDノード400の実施形態では、柔軟なインフラストラクチャが提供され、これによって機能を実装から切り離して記述することができる。その結果、自動IDノード400は、実行時に機能モジュールの別の実装を使用するように切り替えて、機能モジュールの新しい実装を追加することができる。このシステムは、複数の機能モジュールが1つのコンポーネントを共有して再利用することも可能にする。さらに、このシステムによって、図9に示すように、自動IDノード400は、機能モジュールの実行中のインスタンスのパラメータを動的に変更することができる。最後の例として、パッシブインスタンスによって、自動IDノード400は、その作業負荷を管理することに加えて、実行中の機能モジュールのインスタンス、すなわちコンポーネントのアクティブインスタンスのコピーおよび転送を可能にすることができる。
図10は、構成設定ファイル908のブロック図である。構成設定ファイル908は、コンパイルされたコードの外部、すなわち自動IDノード400が実行されているシステムの外部に存在することができ、実行時にシステムへロードすることができる。したがって構成設定ファイル908によって、自動IDノード400を停止して再起動することを必要とせずに、自動IDノード400を動的に構成することができる。構成設定ファイル908の内容は、自動IDノード400の動的に構成できる機能を例示している。
一般に、コンポーネントリポジトリ904内のすべてのコンポーネントは、構成設定ファイル908に登録される。各コンポーネントについて登録される情報は、コンポーネントマネージャ902がそのコンポーネントを見つける上で必要とされる情報、そのコンポーネントをインスタンス化する際に必要とされる情報を含むことができ、また一部の実施形態では、そのコンポーネントの設定可能な動的なプロパティを含むことができる。構成設定ファイル908内の情報は設定可能であるので、自動IDノード400は、設定された位置から動的なプロパティと共に動的にコンポーネントをロードすることができる。
図10を参照すると、構成設定908は、図9に示したロードされたコンポーネントに関する構成セクションを示している。一般に、このような構成セクションは、上述したようにコンポーネントの各々の動的な位置およびプロパティ、および/またはそのコンポーネントと、コンポーネントリポジトリ904内に存在するその他の一部のコンポーネントとの従属関係を登録する役割を果たす。
いくつか例を挙げると、構成セクション1002はRFIDリーダアダプタ910を設定し、その一方で構成セクション1004はコミュニケータA920を設定する。構成セクション1006はデータコンバータC926、928を設定し、構成セクション1008はスキャナアダプタ912を設定する。構成セクション1010はコミュニケータB922、924を設定し、構成セクション1012はアダプタx914を設定する。最後に構成セクション1014はデータコンバータE929を設定する。
コンポーネントWの構成セクション1016およびコンポーネントZの構成セクション1018は、図9に示していないその他のコンポーネントに関する構成セクションの例である。構成設定908には、コンポーネントレジストリ内のその他のコンポーネントに関するさらに多くのその他の構成セクションを含めることができるが、それらについては、明瞭にするため、本明細書および図10には示していない。
具体的な例では、構成設定908内の構成セクション1002は、RFIDリーダアダプタ910というコンポーネントの構成情報を保存する。構成1002は、コンポーネントAの位置1020、例えばコンポーネントAがコンポーネントリポジトリ904内のどこに存在しているかを示すパスを有する。
さらに構成セクション1002は、コンポーネントを識別するためのバージョン番号1022を有することができる。RFIDリーダアダプタ910というコンポーネントは、複数のバージョンを有する可能性があり、例えばそれぞれのバージョンは、別々の時点で作成され、そのRFID読み取りデバイスの(1つまたは複数の)異なるモデルと互換性を有する可能性がある。コンポーネントマネージャ902は、送信元であるRFID読み取りデバイスのバージョン番号をバージョン番号1022と照合して、構成セクション1002に登録されているコンポーネント、すなわちRFIDリーダアダプタ910をロードすべきかどうかを判断することができる。
一部の実施形態では、コンポーネントは、そのコンポーネントの機能と実装が切り離されるような方法で、かつ同一の機能に関して複数の実装が存在できるような方法で実装される。例えば1つのコンポーネントの機能は、1つのインターフェースによって記述することができる。多くのクラスが、そのインターフェースを実装することができ、自動IDノード400は、そのコンパイルされたコードでそのインターフェースを参照することができる。構成設定908は、1つの特定の実装、すなわち1つの特定のクラスを実行時に動的に選択して、そのインターフェース内で定義されている機能を満たすように自動IDノード400を構成することができる。この例では、クラス名1022を使用して、RFIDリーダアダプタ910の所望の実装が選択される。
検索パス1024は、コンポーネントがコンポーネントリポジトリ904内に存在していない場合に、そのコンポーネントをどこで見つけるかに関する情報を有することができる。検索パス1024は、そのコンポーネントが存在する可能性のある、自動IDノード400の外側の1つまたは複数の位置を記述することができる。例えば検索パス1024は、リモートマシンの名前および/またはファイルパス、近隣の自動IDノードのID、あるいはデータベースやリポジトリへの接続情報を有することができる。
従属コンポーネント1026は、現行のコンポーネントが使用する1つまたは複数のコンポーネントを参照する。一実施形態では、コンポーネントマネージャ902は、現行のコンポーネントと共に従属コンポーネントをロードする。この例では、RFIDリーダアダプタ910は、インスタンス920のコミュニケータコンポーネントAおよびインスタンス926のデータコンバータCを使用する。コンポーネントマネージャ902は、例えば構成セクション1004に基づいてコンポーネントAと、コンポーネントAの従属コンポーネントとをロードし、構成セクション1006に基づいてコンポーネントCと、コンポーネントCの従属コンポーネントとをロードし、次いでRFIDリーダアダプタ910をロードすることができる。
同様に構成セクション1008は、スキャナアダプタコンポーネントが、インスタンス922のコミュニケータBおよびインスタンス928のデータコンバータCを使用することを示す一方で、構成セクション1012は、インスタンス914のアダプタxが、インスタンス924のコミュニケータBおよびインスタンス929のデータコンバータEを使用することを示す。このインフラストラクチャでは、1つのコンポーネントは、その従属コンポーネントのプロパティを変更するだけで、別の従属コンポーネントを使用するように容易に変更することができる。
例えばインスタンス928のデータコンバータCというコンポーネントと、インスタンス929のデータコンバータEというコンポーネントは、同じデータコンバータ機能を共有することができる(例えば双方のコンポーネントは、同じデータコンバータインターフェースを実装することができ、したがって互いに代替できる)。アダプタxは、構成セクション1012の従属コンポーネントのプロパティをEからCに変更するだけで、インスタンス929のデータコンバータEの代わりにインスタンス928のデータコンバータCを使用するように変更することができる。
プロパティ1028〜1032は、RFIDアダプタに関する例示的な動的なプロパティのリストである。例えばプロパティA1028は、RFIDタグの配置を予測することができないと明示することができ、したがってRFIDアダプタは、その「方向決定モジュール」を起動して、各々のタグを処理することができる。その後、プロパティA1028は、(例えば、スキャニング方法における何らかの改善の後で)それらのRFIDタグが常に同じ方向を向いていることを明示するように変更することができるので、RFIDアダプタは、「方向決定」モジュールを起動せずに機能することができ、したがってパフォーマンスを向上させることができる。同様にプロパティB1030、プロパティC1032、および場合によってはその他のプロパティも、インスタンス910のRFIDアダプタコンポーネントに関するその他の設定可能なパラメータを表すことができる。
図10は、図9に示した自動IDノード400内でアクティブな7つのコンポーネントに対して7つの構成セクションが使用される例を示している。各々は、自動IDノード400内のコンポーネントに関する現在の設定、すなわち位置、プロパティ、従属コンポーネント、および/またはその他の関連情報を有することができる。これらの構成セクションは、自動IDノード400の動作中に修正してロードすることができる。構成セクションの内容は、上述したように、自動IDノード400内のコンポーネントの動的に管理できる機能を示している。
図11は、図9および図10に示した実施形態で使用されるコンポーネントのライフサイクルを示すフローチャートである。上述したように、コンポーネントは一般に、特定のタスクを完了するために実装される機能プログラムモジュールである。コンポーネントは、コードの一部、ソフトウェアプログラム、クラスモジュール、命令セット、および/またはスクリプトとすることができる。コンポーネントは、開発マシンやバックエンドシステム内に、あるいは別の自動IDノード内にも配置することができる。
これまでの例で説明したように、コンポーネントは、統合モジュール404、406、408、470用のアダプタ、コミュニケータ、あるいはデータコンバータとすることができる。さらにコンポーネントは、コアサービスモジュール402内のルールセット、アクティビティハンドラ、あるいはルールエンジンとすることができる。コンポーネントは、データ処理モジュール内でインスタンス化することができ、このデータ処理モジュールは、例えばコアサービスモジュール402、統合モジュール404、406、408、470、あるいは自動IDノード400内のその他のモジュールを備えることができる。このようなコンポーネントは、データ処理モジュールの動的な部分を表すことができ、例えば構成設定ファイル908に従って実行時にロードすることができる。図9に示した自動IDシステム400のインフラストラクチャによって、自動IDノードは、新しいコンポーネントを容易に適合させることができる。
一方、データ処理モジュールの静的な部分は、例えばイベントメッセージディスパッチャ412、関連データ管理423、構成および運営管理440、保存およびアーカイビング管理450、および統合モジュール404、406、408、470のうちの一部分、ならびにコンポーネントマネージャ902およびコンポーネントローダ906を含むことができ、自動IDノード400の「基幹」とみなすことができる。自動IDノード400のこの「基幹」部分は、自動IDノード400がその動作を開始する際にロードされる。したがって、この「基幹」に変更を加える場合は、この「基幹」部分を配置するために、自動IDノードを停止して再起動することが必要となる。したがって本明細書で説明しているように、「基幹」コンポーネントが自動IDノードにロードされると、ランタイム管理を必要とすることなく、自動IDノード400のパフォーマンスは高まる。
図11に示す例では、新しいコンポーネントX、例えばRFID読み取り機の新しいバージョン用のアダプタが開発され、自動IDノード400に配置できる状態にある。自動IDノード400は、コンポーネントXをコンポーネントリポジトリ904にロードする(1102)。例えば自動ID操作者は、コンポーネントXを自動IDノードに手動でロードすることができ、あるいは企業アプリケーション202は、そのコンポーネントを特定のマシンからロードするよう自動IDノードに指示することができる。別の例では、近隣の自動IDノードが、コンポーネントXを自動IDノード400へ複製することができる。
コンポーネントXがコンポーネントリポジトリ904へ物理的にロードされると、自動IDノード400に登録され(1104)、これによってコンポーネントローダ906は、新たに追加されたコンポーネントXを見つけ出してインスタンス化することができる。一実施形態では、コンポーネントXの位置情報に加えて、コンポーネントXのその他の関連する構成プロパティが、現行の構成設定908に追加される。例えば、構成セクション1002を構成設定ファイル908に追加することができる。したがって、自動IDノード400は、コンポーネントXが扱うことになる要求を処理できる状態となる。
自動IDノード400が、コンポーネントXを求める要求を受信すると(1106)、例えばRFID読み取り機は、タグをスキャンし、そのイベントを処理するよう自動IDノード400に要求する。次いで自動IDノード400は、コンポーネントマネージャ902を起動して、コンポーネントX、すなわちインスタンス910のRFIDリーダアダプタコンポーネントをロードする(1108)。コンポーネントローダ906は、構成設定ファイル908を調べて、コンポーネントX用の構成セクション1002を見つける。コンポーネントローダ906は、例えば位置1020、バージョン/クラス名1022、および/または検索パスを使用して、コンポーネントリポジトリ904からコンポーネントXを見つけることができる。別の例では、コンポーネントローダ906は、コンポーネントXを外部のモジュールからダウンロードすることができる。次いで、コンポーネントローダ906は、コンポーネントXのすべての従属コンポーネント、例えばインスタンス920のコンポーネントAおよびインスタンス928のコンポーネントCをロードすることができる。
次いでコンポーネントローダ906は、統合モジュール404、406、408、470内でコンポーネントXおよびその従属コンポーネント(コンポーネントAおよびC)をインスタンス化することができる。例えばRFIDリーダアダプタインスタンス910、およびその従属コンポーネントのアクティブインスタンス(すなわちコミュニケータA920およびデータコンバータC926)は、統合モジュール404、406、408、470内で実行されている可能性がある。これでRFIDリーダアダプタインスタンス910のアクティブインスタンスに加えて、コミュニケータA920およびデータコンバータC926は、その前から自動IDノード400と通信していたRFIDデバイスからの要求を処理できるようになる。さらに、ロードされたコンポーネントXおよびその従属コンポーネントによって、RFID読み取りデバイスからのさらなる要求を同様に処理することができる。受信した要求を処理するコンポーネントのアクティブインスタンスの詳細については、図12を参照してさらに説明する。
コンポーネントマネージャ902は、例えばコンポーネントXがそのすべてのインスタンスの処理を完了しているかどうかを定期的にチェックすることができる(1110)。別の実施形態では、コンポーネントマネージャ902は、アクティブインスタンスXが一定時間にわたって休止しているかどうかをチェックすることができ、もしそうであれば、そのコンポーネントXをアンロードすることができる(1112)。
図12は、図9および10に示したシステムにおけるコンポーネントのインスタンスのライフサイクルを示すフローチャートである。前述したように、インスタンスとは、アイテムデータを処理する過程におけるコンポーネントの実行中のコピーを指す。一般に、インスタンスのライフサイクルは、そのインスタンスがアイテムデータと共にコンポーネントからインスタンス化された時点から始まる。インスタンスのライフサイクルは、そのインスタンスがアイテムデータの処理を完了した時点で終了する。アクティブインスタンスは一般に、自動IDノード400の処理能力を必要とする。したがって自動IDノード400内の各々のデータ処理モジュールは、一定数のアクティブインスタンスが同時に存在することを可能にすることができる。
自動IDノード400内では、図9に示すように、インスタンスマネージャ931およびパッシブインスタンスプール930は、インスタンスをそのライフサイクルの間、中間の状態で、すなわちパッシブインスタンスの状態で保持することができ、これによって、自動IDノード400の処理能力を占有することなくインスタンスを保持して後で処理することができる。
具体的な例として、アクティビティハンドラコンポーネントのインスタンスは、発送関連のアイテムデータを処理することができる。この例では、発送アクティビティハンドラコンポーネントは、受信したRFIDリーダイベントを企業システム内の発送ドキュメントと合致させるように設計されている。発送アクティビティハンドラインスタンスは、新たなRFIDリーダイベントが受信された時点で、すなわちRFID読み取りデバイスによってアイテムがスキャンされた時点で起動する。次いで発送アクティビティハンドラインスタンスは、スキャンされたアイテムに関する発送ドキュメントを見つけるために、1つまたは複数のバックエンドシステムまたはリポジトリ内で検索を開始する。その発送ドキュメントが見つかると、発送アクティビティハンドラインスタンスは、その発送ドキュメントをさらに処理して、例えばその発送ドキュメント内のアイテムのステータスを「受け取り済」に更新する。この時点で、発送アクティビティハンドラインスタンスはそのタスクを完了し、そのライフサイクルは終了する。
一例では、発送ドキュメントを検索するプロセスは、完了するまでにある程度の時間を要する可能性がある。発送アクティビティハンドラインスタンスは、検索結果を待つことにそのライフタイムの大半を費やす可能性がある。その間にRFID読み取り機は、その他の多くのアイテムをスキャンする可能性があり、自動IDノード400内で発送アクティビティハンドラコンポーネントの多くの新しいインスタンスを起動する可能性がある。同時に存在できるアクティブインスタンスの数が制限される程度に応じて、インスタンスマネージャ931は、それらのインスタンスの一部をパッシブインスタンスとしてパッシブインスタンスプール930内に保存することができる。一部の実施形態では、インスタンスマネージャ931は、処理されるべきパッシブインスタンスの一部を、例えば近隣の自動IDノード内にエクスポートして、自動IDノード400上の作業負荷を軽減することができる。
図12に示したフローチャートを参照すると、自動IDノード400は、図11に示したように、はじめにコンポーネントX、例えば発送アクティビティハンドラコンポーネントをコンポーネントリポジトリ904にロードすることができる(1202)。自動IDノード400は、コンポーネントX、例えば発送アクティビティハンドラコンポーネントを求める要求を受信する(1204)。より具体的には、RFID読み取り機は、アイテムをスキャンし、そのスキャンしたイベントを処理するよう自動IDノード400に要求する。データ処理モジュール、すなわちコアサービスモジュール402は、コンポーネントXのアクティブインスタンスを1つだけ許可することができる。コアサービスモジュール402は、実行中のアクティブインスタンスが既に存在するかどうかをチェックする(1206)。すなわちコアサービスモジュール402は、新しいアクティブインスタンスを作成する余地がまだ残っているかどうかをチェックする。
アクティブインスタンスがまったく見つからない場合、コアサービスモジュール402は、コアサービスモジュール内でコンポーネントXの最初のアクティブインスタンスをインスタンス化し(1210)、受信した要求、すなわちRFIDスキャニングイベントの処理を開始する。一方、コンポーネントXの実行中のインスタンスが既に存在することをコアサービスモジュールが見つけた場合(すなわち、そのシステムがビジー状態である場合)、コアサービス402は、受信した要求に関するパッシブインスタンスを作成し、これをパッシブインスタンスプール930に保存することができる(1208)。
その他の実施形態も存在することができ、例えばコアサービス402は、一定数のアクティブインスタンスを同時に実行できるようにすることができる。新しいインスタンスは、コアサービス内のアクティブインスタンスが一定数に達した場合にのみ、パッシブインスタンスプール930内に配置することができる。さらに別の例では、新しいインスタンスをただちにパッシブプール内に配置することはできないので、その代わりに既存のアクティブインスタンスをパッシブインスタンスプール930へスワップアウトすることができ、その一方で、新しいインスタンスは、新たなアクティブインスタンスとしてコアサービスモジュール402へ追加される。インスタンススワッピングルールのその他の実施形態も適用することができる。
1つのアクティブインスタンスがその処理を完了すると(1212)、コアサービス402は、パッシブインスタンスプール930から次のパッシブインスタンスをスワップインすることができる(1214)。このプロセスは、そのコンポーネントに関するすべてのパッシブインスタンスが処理されているかどうかをチェックし、もしそうであれば、それでそのインスタンスのライフサイクルは終了となる。
そのコンポーネントに関するすべてのパッシブインスタンスが処理されていなければ、アクティブインスタンスは、プロセス1212および1214を継続する。このプロセスの間、コアサービスモジュール402は、パッシブインスタンスに関するアイテムデータを受信する可能性がある(1216)。例えばコアサービスモジュール402は、あるアイテムに関する発送ドキュメントの検索結果を受信する可能性がある。そのアイテムに関連付けられているインスタンスは、パッシブインスタンスプール内に存在する可能性がある。次いで、コアサービスモジュール402は、現行のアクティブインスタンスをパッシブインスタンスプール930にスワップアウトすることができ(1218)、これによって新しいインスタンスをスワップインすることができる。次いで、コアサービスモジュール402は、そのアイテムに関連付けられているパッシブインスタンスを見つけることができ、そのパッシブインスタンスをコアサービスモジュール402にスワップインすることができる。
プロセス1212〜1218は、コンポーネントXのすべてのインスタンスが処理されるまで継続する。最終的にコンポーネントXは、図11に示したように(1112)、アンロードすることができる。
図12に示すような動的に管理されるインスタンスによって、自動IDノードは、そのリソース、例えばその処理能力およびメモリ使用量を効率よく管理することができ、それによって、多数の要求を独自のペースで処理することができる。さらに、休止中のアクティブインスタンスをパッシブインスタンスに切り替えることによって、自動IDノードのパフォーマンスを高めることができる。アクティブインスタンスは移植性が高いので、作業負荷を他の自動IDノードおよび/またはシステムに分散することができ、また自動IDノードの機能やパフォーマンスをテストすることができる。複数の実施形態について説明してきたが、さらに、様々な変更形態を実施できることが理解できるであろう。したがってその他の実施形態も、特許請求の範囲内に含まれる。
自動IDシステムのネットワークの図である。 (1つまたは複数の)自動IDノードを有する自動IDインフラストラクチャと(1つまたは複数の)デバイスコントローラとを含む、図1に示す自動ID機能を例示するシステム200のブロック図である。 図2に示す自動IDインフラストラクチャと共に使用するためのネットワーク構造を示すブロック図である。 図2および3に示す(1つまたは複数の)自動IDノードのブロック図である。 デバイス統合を例示する図である。 デバイス統合、バックエンドシステム統合、人的統合、および自動IDノード統合を例示する図である。 統合層を例示する図である。 統合層のオブジェクト指向による実装を例示する図である。 統合層のオブジェクト指向による実装を例示する図である。 図4に示す自動IDノードの一実施形態のブロック図である。 図9に示す実施形態で使用される構成設定ファイルのブロック図である。 図9および10に示す実施形態で使用されるコンポーネントのライフサイクルのフローチャートである。 図9および10に示すシステムにおけるコンポーネントのインスタンスのライフサイクルのフローチャートである。
符号の説明
114 読み取り機
202 企業アプリケーション
206、208、210、400 自動IDノード
402 コアサービス
404 バックエンドシステム統合
406 デバイス統合
408 人的統合
470 ノード統合
610 アダプタ
620 コミュニケータ
630 コンバータ
902 コンポーネントマネージャ
904 コンポーネントリポジトリ
906 コンポーネントローダ
908 構成設定
930 パッシブインスタンス
932、934 プール

Claims (20)

  1. アイテムを追跡管理するための自動ID追跡システムに関連してアイテムデータを受信する機能を有する自動IDノードと、
    データ処理モジュールの動作中および前記自動IDノードの動作中に前記アイテムデータを処理するための処理コンポーネントを実装する機能を有する前記自動IDノード内のデータ処理モジュールと、
    前記アイテムデータに基づいて、複数のコンポーネントから前記処理コンポーネントを決定する機能を有するコンポーネントマネージャと、
    前記データ処理モジュールの前記動作中および前記自動IDノードの前記動作中に前記処理コンポーネントを前記データ処理モジュールへロードする機能を有するコンポーネントローダと
    を備えたことを特徴とするシステム。
  2. 前記データ処理モジュールは、前記自動ID追跡システムにおいて前記アイテムデータを処理する機能を有するコアサービスモジュールを含むことを特徴とする請求項1に記載のシステム。
  3. 前記コンポーネントローダは、前記処理コンポーネントに関連付けられている構成設定に基づいて前記処理コンポーネントを決定するための命令を前記コンポーネントマネージャへ出力する機能を有する構成ファイルを含むことを特徴とする請求項1に記載のシステム。
  4. 前記データ処理モジュールは、前記自動IDノードと、前記自動ID追跡システムのその他の要素との間の通信を処理する機能を有する統合モジュールを含むことを特徴とする請求項1に記載のシステム。
  5. 前記処理コンポーネントは、前記自動ID追跡システムの指定された要素と通信するように適合されているアダプタを含むことを特徴とする請求項4に記載のシステム。
  6. 前記アダプタは、
    指定された通信プロトコルを含む前記指定された要素との間におけるデータ伝送を管理する機能を有するコミュニケータと、
    前記処理コンポーネントによって使用される第1のデータフォーマットと、前記指定された要素によって使用される第2のデータフォーマットとの間におけるデータ変換を管理する機能を有するデータコンバータと
    を含むことを特徴とする請求項5に記載のシステム。
  7. 前記処理コンポーネントは、アクティブに実施されている第1の処理タスクを実行するためのアクティブインスタンスと、アクティブに実施されていない第2の処理タスクを実行するためのパッシブインスタンスとに関連付けられていることを特徴とする請求項1に記載のシステム。
  8. 前記複数の処理コンポーネントのうちの1つまたは複数のその他のパッシブインスタンスと共に、前記処理コンポーネントの前記パッシブインスタンスを保存するためのプールをさらに備えたことを特徴とする請求項7に記載のシステム。
  9. 前記データ処理モジュールは、前記第2の処理タスクを、アクティブに実施されていない状態からアクティブに実施されている状態へ変更するという決定に基づいて、前記プールにある前記パッシブインスタンスをアクティブ化し、前記パッシブインスタンスを第2のアクティブインスタンスとして実施する機能を有するインスタンスマネージャを含むことを特徴とする請求項8に記載のシステム。
  10. 前記インスタンスマネージャは、前記第1の処理タスクを、アクティブに実施されている状態からアクティブに実施されていない状態へ変更するという決定に基づいて、第2のパッシブインスタンスとして前記プールに保存するために前記アクティブインスタンスを非アクティブ化する機能をさらに有することを特徴とする請求項9に記載のシステム。
  11. 前記コンポーネントマネージャまたは前記コンポーネントローダが選択する際の選択元となる前記複数の処理コンポーネントを格納する機能を有するコンポーネントリポジトリをさらに備えたことを特徴とする請求項1に記載のシステム。
  12. アイテムを追跡管理するための自動ID追跡システムにおける自動IDノードにおいてアイテムデータを受信するステップと、
    前記アイテムデータを分析して、前記アイテムデータを処理するための処理コンポーネントを複数のコンポーネントの中から決定するステップと、
    データ処理モジュールの動作中および前記自動IDノードの動作中に前記処理コンポーネントを前記データ処理モジュールへロードするステップと、
    前記処理コンポーネントによって前記アイテムデータを処理するステップと
    を備えたことを特徴とする方法。
  13. 前記処理コンポーネントを前記データ処理モジュールへロードする前記ステップは、前記自動IDノードと、前記自動ID追跡システムのその他の要素との間の通信を処理する機能を有する統合モジュールへ前記処理コンポーネントをロードするステップを含むことを特徴とする請求項12に記載の方法。
  14. 前記処理コンポーネントを前記データ処理モジュールへロードする前記ステップは、前記自動ID追跡システムの指定された要素と通信するように適合されているアダプタをロードするステップを含むことを特徴とする請求項12に記載の方法。
  15. アクティブに実施されている第1の処理タスクを実行するための前記処理コンポーネントのアクティブインスタンスをロードするステップと、
    アクティブに実施されていない第2の処理タスクを実行するための前記処理コンポーネントのパッシブインスタンスを保存するステップと
    をさらに備えたことを特徴とする請求項12に記載の方法。
  16. 前記第2の処理タスクを、アクティブに実施されていない状態からアクティブに実施されている状態へ変更するという決定に基づいて、前記パッシブインスタンスを第2のアクティブインスタンスとして実施するために前記プールにある前記パッシブインスタンスをアクティブ化するステップと、
    前記第1の処理タスクを、アクティブに実施されている状態からアクティブに実施されていない状態へ変更するという決定に基づいて、第2のパッシブインスタンスとして前記プールに保存するために前記アクティブインスタンスを非アクティブ化するステップと
    をさらに備えたことを特徴とする請求項15に記載の方法。
  17. 命令を格納している記憶媒体を含む装置であって、前記命令は、
    アイテムを追跡管理するための自動ID追跡システムにおける自動IDノードにおいてアイテムデータを受信するための第1のコード部と、
    前記アイテムデータを分析して、前記アイテムデータを処理するための処理コンポーネントを複数のコンポーネントの中から決定するための第2のコード部と、
    データ処理モジュールの動作中および前記自動IDノードの動作中に前記処理コンポーネントを前記データ処理モジュールへロードするための第3のコード部と、
    前記処理コンポーネントによって前記アイテムデータを処理するための第4のコード部と
    を備えたことを特徴とする装置。
  18. 前記第3のコード部は、前記自動IDノードと、前記自動ID追跡システムのその他の要素との間の通信を処理する機能を有する統合モジュールへ前記処理コンポーネントをロードするための第5のコード部を含むことを特徴とする請求項17に記載の装置。
  19. 前記第5のコード部は、前記自動ID追跡システムの指定された要素と通信するように適合されているアダプタをロードするための第6のコード部を含むことを特徴とする請求項18に記載の装置。
  20. 前記自動ID追跡システムは、前記アイテムデータを複数の追跡デバイスから自動的に収集する機能を有し、前記アイテムデータを、前記自動ID追跡システムに関連付けられている企業アプリケーションおよびユーザインターフェース、ならびに前記自動ID追跡システムで利用できるようにするために前記アイテムデータを処理する機能をさらに有することを特徴とする請求項17に記載の装置。
JP2006053152A 2005-02-28 2006-02-28 動的なコンポーネント管理 Active JP4461109B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/067,585 US7389921B2 (en) 2005-02-28 2005-02-28 Dynamic component management

Publications (2)

Publication Number Publication Date
JP2006244497A true JP2006244497A (ja) 2006-09-14
JP4461109B2 JP4461109B2 (ja) 2010-05-12

Family

ID=36693577

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006053152A Active JP4461109B2 (ja) 2005-02-28 2006-02-28 動的なコンポーネント管理

Country Status (4)

Country Link
US (1) US7389921B2 (ja)
EP (1) EP1696364A3 (ja)
JP (1) JP4461109B2 (ja)
CN (1) CN1828646B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009080785A (ja) * 2007-09-07 2009-04-16 Fugaku Tsuun Kk イベント管理システム

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7382260B2 (en) * 2004-09-01 2008-06-03 Microsoft Corporation Hot swap and plug-and-play for RFID devices
US8098158B2 (en) * 2004-09-01 2012-01-17 Microsoft Corporation RFID server internals design
US8217756B2 (en) * 2004-09-01 2012-07-10 Microsoft Corporation Rule-based filtering and alerting
US7551081B2 (en) 2004-11-10 2009-06-23 Rockwell Automation Technologies, Inc. Systems and methods that integrate radio frequency identification (RFID) technology with agent-based control systems
US7339476B2 (en) 2004-11-10 2008-03-04 Rockwell Automation Technologies, Inc. Systems and methods that integrate radio frequency identification (RFID) technology with industrial controllers
US7388491B2 (en) 2005-07-20 2008-06-17 Rockwell Automation Technologies, Inc. Mobile RFID reader with integrated location awareness for material tracking and management
US7764191B2 (en) 2005-07-26 2010-07-27 Rockwell Automation Technologies, Inc. RFID tag data affecting automation controller with internal database
US8260948B2 (en) * 2005-08-10 2012-09-04 Rockwell Automation Technologies, Inc. Enhanced controller utilizing RFID technology
US7510110B2 (en) 2005-09-08 2009-03-31 Rockwell Automation Technologies, Inc. RFID architecture in an industrial controller environment
US7931197B2 (en) 2005-09-20 2011-04-26 Rockwell Automation Technologies, Inc. RFID-based product manufacturing and lifecycle management
US7446662B1 (en) 2005-09-26 2008-11-04 Rockwell Automation Technologies, Inc. Intelligent RFID tag for magnetic field mapping
US8025227B2 (en) 2005-09-30 2011-09-27 Rockwell Automation Technologies, Inc. Access to distributed databases via pointer stored in RFID tag
US20080040179A1 (en) * 2006-08-14 2008-02-14 Deutsche Boerse Ag System and method for sharing information and causing an action based on that information
US8170900B2 (en) * 2006-10-24 2012-05-01 Afilias Limited Supply chain discovery services
US20080155068A1 (en) * 2006-12-21 2008-06-26 Palo Alto Research Center Incorporated Support for sharing abstract applications
US8375133B2 (en) * 2007-08-07 2013-02-12 Sony Computer Entertainment Inc. Methods and apparatuses for synchronizing and managing content over multiple devices
KR100957453B1 (ko) * 2007-10-11 2010-05-11 한국전자통신연구원 로더블 디바이스 컴포넌트 구동 방법 및 장치
US8738746B2 (en) * 2007-11-16 2014-05-27 Oracle International Corporation Configuration management for real-time server
US9589250B2 (en) * 2008-01-11 2017-03-07 Oracle International Corporation System and method for asset registration workflows utilizing an eventing infrastructure in a metadata repository
US8095880B2 (en) * 2008-04-22 2012-01-10 International Business Machines Corporation System administration discussions indexed by system components
US20100164680A1 (en) * 2008-12-31 2010-07-01 L3 Communications Integrated Systems, L.P. System and method for identifying people
US8689208B2 (en) * 2010-06-24 2014-04-01 Microsoft Corporation Upgrade management of application components
US8463888B1 (en) 2010-12-06 2013-06-11 The Boeing Company Methods and systems for managing automated identification technologies information
WO2012098611A1 (ja) * 2011-01-20 2012-07-26 日本電気株式会社 部品管理装置、部品管理方法、及び、プログラム
US20120208454A1 (en) * 2011-02-10 2012-08-16 Cassis International Pte Ltd. System and method for detecting and communicating with diverse near field communications adaptors
US8832304B2 (en) * 2011-07-07 2014-09-09 Ipc Systems, Inc. Protocol agnostic notification system
US20130138473A1 (en) * 2011-11-28 2013-05-30 Sap Ag Business Process Optimization
US20130139164A1 (en) * 2011-11-28 2013-05-30 Sap Ag Business Process Optimization
US9576264B2 (en) 2012-11-12 2017-02-21 Global Healthcare Exchange, Llc Systems and methods for supply chain management
WO2014197497A2 (en) * 2013-06-03 2014-12-11 The Morey Corporation Geospatial asset tracking systems, methods and apparatus for acquiring, manipulating and presenting telematic metadata
US9477543B2 (en) 2014-09-26 2016-10-25 Business Objects Software Ltd. Installation health dashboard
US9367383B2 (en) 2014-09-26 2016-06-14 Business Objects Software Ltd. Tracing and discovering the origins and genealogy of install errors
CN110546657B (zh) * 2017-03-28 2023-10-20 西门子股份公司 用于评估组件的生命周期的方法和设备
US10839181B1 (en) 2020-01-07 2020-11-17 Zebra Technologies Corporation Method to synchronize a barcode decode with a video camera to improve accuracy of retail POS loss prevention
CN116582582B (zh) * 2023-07-14 2023-10-13 中冶武勘智诚(武汉)工程技术有限公司 组件式物联网数据采集方法、系统、设备及介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7409694B2 (en) * 1998-09-09 2008-08-05 Microsoft Corporation Highly componentized system architecture with loadable virtual memory manager
US6400272B1 (en) * 1999-04-01 2002-06-04 Presto Technologies, Inc. Wireless transceiver for communicating with tags
US7239226B2 (en) * 2001-07-10 2007-07-03 American Express Travel Related Services Company, Inc. System and method for payment using radio frequency identification in contact and contactless transactions
US6934540B2 (en) * 2000-12-22 2005-08-23 Seekernet, Inc. Network formation in asset-tracking system based on asset class
US7236742B2 (en) * 2001-06-18 2007-06-26 Brigham Young University System and method for wireless data transfer for a mobile unit
US6843415B2 (en) * 2002-01-11 2005-01-18 Sap Atkiengesellschaft Event-based communication in a distributed item tracking system
US20030225928A1 (en) * 2002-05-28 2003-12-04 Sun Microsystems, Inc. Method, system, and program for managing access to a device by device specific components and operating system specific components
US6978118B2 (en) 2003-02-20 2005-12-20 Nokia Corporation Apparatus, system, method and computer program product for implementing an automatic identification system with a personal communication device to improve functionality
US7394372B2 (en) * 2003-12-30 2008-07-01 G2 Microsystems Pty. Ltd. Method and apparatus for aggregating and communicating tracking information
US7423527B2 (en) * 2004-02-13 2008-09-09 Blue Vector Systems Radio frequency identification (RFID) network system and method
US7378962B2 (en) * 2004-12-30 2008-05-27 Sap Aktiengesellschaft Sensor node management and method for monitoring a seal condition of an enclosure

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009080785A (ja) * 2007-09-07 2009-04-16 Fugaku Tsuun Kk イベント管理システム

Also Published As

Publication number Publication date
EP1696364A3 (en) 2007-10-10
JP4461109B2 (ja) 2010-05-12
CN1828646B (zh) 2016-07-06
CN1828646A (zh) 2006-09-06
US7389921B2 (en) 2008-06-24
US20060195473A1 (en) 2006-08-31
EP1696364A2 (en) 2006-08-30

Similar Documents

Publication Publication Date Title
JP4461109B2 (ja) 動的なコンポーネント管理
EP1739515B1 (en) Kanban control cycle system
Bornhövd et al. Integrating automatic data acquisition with business processes experiences with SAP's auto-ID infrastructure
RU2398268C2 (ru) Схема языка разметки приложения считывателя
US8452663B2 (en) Systems and methods for processing auto-ID data
CA2517861C (en) Rule-based filtering and alerting
US9824327B2 (en) Systems and methods for capturing and managing information pertaining to asset spares inventories
US8768777B2 (en) Tracking assets between organizations in a consortium of organizations
US20080215397A1 (en) System and mechanism to create autonomic business solutions
EA012934B1 (ru) Система и способ управления удаленными приложениями
JP2006072976A (ja) リーダーアプリケーションマークアップ言語スキーマ
US8417854B2 (en) Generic device integration within an auto-id system
US8386324B2 (en) Distributed management service for an auto-identification system
US10878376B2 (en) Method and system to automatically track and manage assets using mobile devices
Owunwanne et al. Radio frequency identification (RFID) technology: Gaining a competitive value through cloud computing
KR20220103901A (ko) 극히 높은 서버 가용성을 위해 네트워크 부하를 밸런싱하는 시스템 및 방법
Baresi et al. A GSM-based approach for monitoring cross-organization business processes using smart objects
EP2492805A1 (en) Computer network, computer system, computer-implemented method, and computer program product for controlling application landscapes
KR102391435B1 (ko) 클라우드 컴퓨팅 환경에서 고 가용 및 확장 가능한 분산형 데이터베이스를 관리하기 위한 시스템 및 방법
US20060186998A1 (en) Association of business processes with scanning of physical objects
US10083416B2 (en) Time phase work pool management for returned inventory asset routing
US20080001710A1 (en) Support for batching of events, and shredding of batched events in the rfid infrastructure platform
US20060168112A1 (en) Generic integration within an auto-id system
Hackenbroich et al. Optimizing business processes by automatic data acquisition: RFID technology and beyond
CN113448693A (zh) 一种数字化工厂saas云平台

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090512

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090812

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100209

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100215

R150 Certificate of patent or registration of utility model

Ref document number: 4461109

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130219

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140219

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250