(57)【要約】ＲＦＩＤタグリーダ及びアイテム追跡システムなどのパブリッシャとサブスクライバの間でアイテム配備情報を通信する、コンピュータプログラム製品を含む方法及び装置。イベントルータを使用して、情報を分配することができ、拡張オブジェクトネーミングサービスを使用して、イベントルータを突き止めることができる。追跡されるアイテムは、お互いとの階層関係を有することができる。サブスクライバは、階層の特定レベルのアイテムに関連するイベントだけをサブスクライブすることを選択することができる。この方法及び装置は、リアルタイム在庫管理を提供するのに使用することができる。在庫へのアイテムの追加又は取り出を含む在庫に対する変更が、アイテム追跡システムによってリアルタイムで報告される。
2005528305.tif 000002
【特許請求の範囲】
【請求項１】
アイテム（品目）を追跡するシステムによって実行される方法であって、
１又は複数のタグ付けされたアイテムに関するイベントを１又は複数のイベントルータから受け取るためにサブスクライブするステップであって、各イベントが、アイテムに束縛されたタグのタグ識別子、リーダ識別子、及びタイムスタンプを含む、ステップと、
前記１又は複数のタグ付けされたアイテムに関連するイベントをイベントルータから受け取るステップと、
前記受け取ったイベントを使用して、１又は複数のタグ付けされたアイテムの配備情報を更新するステップと
を含むことを特徴とする方法。
【請求項２】
請求項１記載の方法において、前記タグ付けされたアイテムが、相互の階層関係を有し、前記サブスクライブするステップが、前記階層の特定レベルのアイテムに関するイベントだけをサブスクライブするステップを含むことを特徴とする方法。
【請求項３】
請求項１記載の方法において、該方法はさらに、
どのイベントルータにサブスクライブするかを決定するために、マッピングサービスと前記タグ識別子のすべて又は一部とを使用するステップ
を含むことを特徴とする方法。
【請求項４】
請求項１記載の方法において、前記タグ識別子が、前記アイテムの製造業者を指定する第１部分、前記アイテムの製品クラスを指定する第２部分、及び前記アイテムの通し番号を指定する第３部分を有することを特徴とする方法。
【請求項５】
請求項１記載の方法において、前記タグが、無線周波数ＩＤ（ＲＦＩＤ）タグであり、前記タグ識別子が、電子的製品コード（ｅＰＣ））であることを特徴とする方法。
【請求項６】
タグリーダによって実行される方法であって、
アイテムを検出するステップと、
イベントを生成するステップであって、前記イベントが、前記アイテムに束縛されたタグに関連するタグ識別子、リーダ識別子、及びタイムスタンプを含む、ステップと、
１又は複数のイベントルータを識別するために、マッピングサービスと、前記タグ識別子又は前記リーダ識別子のいずれかとを使用するステップと、
前記識別されたイベントルータに前記イベントをパブリッシュするステップと
を含むことを特徴とする方法。
【請求項７】
請求項６記載の方法において、前記タグが、無線周波数ＩＤ（ＲＦＩＤ）タグであり、前記タグ識別子が、電子的製品コード（ｅＰＣ）であることを特徴とする方法。
【請求項８】
システムにおいて、
１又は複数のタグリーダを含む監視システムと、
タグ付けされたアイテムを追跡するシステムを含む１又は複数のサブスクライバと、
１又は複数のイベントルータと
を含み、
前記監視システムが、
１又は複数の前記タグ付けされたアイテムを検出し、
タグ識別子、リーダ識別子、及びタイムスタンプを含むイベントを生成し、
前記イベントを１又は複数の前記イベントルータにパブリッシュする
ように動作可能であり、
タグ付けされたアイテムを追跡する前記システムが、
１又は複数の前記タグ付けされたアイテムに関するイベントを１又は複数の前記イベントルータから受け取るためにサブスクライブし、
イベントを受け取ったときに、該イベントを使用して、１又は複数の前記タグ付けされたアイテムの配備情報を更新する
ように動作可能であり、
各イベントルータが、
サブスクライバのリストを保持し、
前記監視システムからイベントを受け取り、
イベントを前記サブスクライバに送る
ように動作可能である
ことを特徴とするシステム。
【請求項９】
請求項８記載のシステムにおいて、前記監視システムが、さらに、
マッピングサービスと、前記タグ識別子又は前記リーダ識別子のいずれかとを使用して、１又は複数のイベントルータを識別し、
前記識別されたイベントルータに前記イベントをパブリッシュする
ように動作可能であることを特徴とするシステム。
【請求項１０】
請求項８記載のシステムにおいて、各サブスクライバが、マッピングサービスと前記タグ識別子のすべて又は一部とを使用して、どのイベントルータにサブスクライブするかを決定するように動作可能であることを特徴とするシステム。
【請求項１１】
請求項８記載のシステムにおいて、各サブスクライバが、マッピングサービスと前記リーダ識別子のすべて又は一部とを使用して、どのイベントルータにサブスクライブするかを決定するように動作可能であることを特徴とするシステム。
【請求項１２】
請求項８記載のシステムにおいて、前記タグ付けされたアイテムが、相互の階層関係を有し、サブスクライバが、前記階層の特定レベルのアイテムに関するイベントだけをサブスクライブするように動作可能であることを特徴とするシステム。
【請求項１３】
請求項８記載のシステムにおいて、前記タグが、無線周波数ＩＤ（ＲＦＩＤ）タグであり、前記タグ識別子が、電子的製品コード（ｅＰＣ）であることを特徴とするシステム。
【請求項１４】
請求項８記載のシステムにおいて、各イベントが、イベントタイプに属し、少なくとも２つのイベントが、異なるイベントタイプに属し、サブスクライバが、特定のイベントタイプのイベントだけをサブスクライブするように動作可能であることを特徴とするシステム。
【請求項１５】
装置において、
監視システムであって、
在庫内に配置されたタグ付けされたアイテムからタグを読み取るように構成されたタグリーダと、
アイテムが前記在庫に追加されたか前記在庫から取り出されたことを検出し、報告する手段と
を含む監視システムと、
１又は複数のアイテム追跡システムであって、各アイテム追跡システムが、
タグ付けされたアイテムに関する情報を保管するメモリと、
タグ付けされたアイテムの位置の変化に関する情報を含むメッセージを処理し、前記情報を前記メモリに保管するように構成された入力処理論理部と、
前記タグ付けされたアイテムに関する照会に応答するように構成された照会インターフェースと
を含む、１又は複数のアイテム追跡システムと、
イベントルータであって、
サブスクライバのレジストリであって、前記サブスクライバが、前記１又は複数のアイテム追跡システムを含む、レジストリと、
前記監視システムからイベントを受け取り、前記イベントを前記１又は複数のアイテム追跡システムに送る手段と
を含むイベントルータと
を含むことを特徴とする装置。
【請求項１６】
請求項１５記載の装置において、前記イベントが、アイテムの一意のデジタル識別子、リーダの一意のデジタル識別子、及びタイムスタンプを含むことを特徴とする装置。
【請求項１７】
請求項１５記載の装置において、前記イベントが、さらに、前記アイテムが前記在庫に追加されたか、前記アイテムが前記在庫から取り出されたかを示すパラメータを含むことを特徴とする装置。
【請求項１８】
装置であって、
監視システムであって、
在庫内に配置されたタグ付けされたアイテムからタグを読み取るように構成されたタグリーダと、
アイテムが前記在庫に追加されたか前記在庫から取り出されたことを検出し、報告する手段と
を含む監視システムと、
前記在庫の補充が必要であるかどうかを判定するように構成された第１コンピュータプログラムと、
前記第１コンピュータプログラムにアラートを送るかどうかを判定するように構成された第２コンピュータプログラムと、
イベントルータであって、
サブスクライバのレジストリであって、前記サブスクライバが、前記第１コンピュータシステムを含む、レジストリと、
前記監視システムからイベントを受け取り、前記イベントを前記第２コンピュータプログラムに送る手段と
を含むイベントルータと
からなることを特徴とする装置。
【請求項１９】
請求項１８記載の装置において、前記イベントが、アイテムの一意のデジタル識別子、リーダの一意のデジタル識別子、及びタイムスタンプを含むことを特徴とする装置。
【請求項２０】
請求項１８記載の装置において、前記イベントが、さらに、前記アイテムが前記在庫に追加されたか、前記アイテムが前記在庫から取り出されたかを示すパラメータを含むことを特徴とする装置。
【請求項２１】
請求項１８記載の装置において、前記第２コンピュータプログラムが、前記アラートを送るかどうかを判定するために、ルールの事前に決定された組を適用するように構成されることを特徴とする装置。
【請求項２２】
請求項１８記載の装置において、前記第２コンピュータプログラムが、さらに、前記データの傾向を検出するために、在庫データを分析するように構成されることを特徴とする装置。
【請求項２３】
装置であって、
監視システムであって、
在庫内に配置されたタグ付けされたアイテムからタグを読み取るように構成されたタグリーダと、
アイテムが前記在庫に追加されたか前記在庫から取り出されたことを検出し、報告する手段と
を含む監視システムと、
複数のイベントルータであって、各イベントルータが、
サブスクライバのレジストリと、
前記監視システムからイベントを受け取り、前記イベントを１又は複数の前記サブスクライバに送る手段と
を含むイベントルータと、
マッピングコンポーネントであって、
アイテム識別子とイベントルータとの間及びリーダ識別子とイベントルータとの間のマッピングを保管するメモリと、
前記監視システムからアイテム識別子又はリーダ識別子を受け取り、イベントルータを突き止めるのに前記アイテム識別子又は前記リーダ識別子を使用する手段と
を含むマッピングコンポーネントと
からなることを特徴とする装置。
【請求項２４】
装置であって、
監視システムであって、
在庫内に配置されたタグ付けされたアイテムからタグを読み取るように構成されたタグリーダと、
アイテムが前記在庫に追加されたか前記在庫から取り出されたことを検出し、報告する手段と
を含む監視システムと、
アイテム追跡システムであって、
タグ付けされたアイテムに関する情報を保管するメモリと、
タグ付けされたアイテムの位置の変化に関する情報を含むメッセージを処理し、前記情報を前記メモリに保管するように構成された入力処理論理部と、
前記タグ付けされたアイテムに関する照会に応答するように構成された照会インターフェースと
を含むアイテム追跡システムと、
前記在庫の補充が必要であるかどうかを判定するように構成された第１コンピュータプログラムと、
前記監視システムからイベントを受け取り、前記第１コンピュータプログラムにアラートを送るかどうかを判定するように構成された第２コンピュータプログラムと
からなることを特徴とする装置。
【請求項２５】
システムであって、
監視システムであって、
在庫内に配置されたタグ付けされたアイテムからタグを読み取るように構成されたタグリーダと、
アイテムが前記在庫に追加されたか前記在庫から取り出されたことを検出し、報告する手段と
を含む監視システムと、
アイテム追跡システムであって、
タグ付けされたアイテムに関する情報を保管するメモリと、
タグ付けされたアイテムの位置の変化に関する情報を含むメッセージを処理し、前記情報を前記メモリに保管するように構成された入力処理論理部と、
前記タグ付けされたアイテムに関する照会に応答するように構成された照会インターフェースと
を含むアイテム追跡システムと、
前記在庫の補充が必要であるかどうかを判定するように構成された第１コンピュータプログラムと、
前記監視システムからイベントを受け取り、前記第１コンピュータプログラムにアラートを送るかどうかを判定するように構成された第２コンピュータプログラムと、
イベントルータであって、
サブスクライバのレジストリであって、前記サブスクライバが、前記アイテム追跡システム、前記第１コンピュータプログラム、及び前記第２コンピュータプログラムを含む、レジストリと、
前記監視システムからイベントを受け取り、前記イベントを１又は複数の前記サブスクライバに送る手段と
を含むイベントルータと、
マッピングコンポーネントであって、
アイテム識別子とイベントルータとの間及びリーダ識別子とイベントルータとの間のマッピングを保管するメモリと、
前記監視システムからアイテム識別子を受け取り、イベントルータを突き止めるのに前記アイテム識別子を使用する手段と
を含むマッピングコンポーネントと
からなることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散されるアイテム（品目）の追跡システム（ｄｉｓｔｒｉｂｕｔｅｄ  ｉｔｅｍ  ｔｒａｃｋｉｎｇ  ｓｙｓｔｅｍ）に関する。本発明は、サプライチェーンマネジメント（ＳＣＭ）ソフトウェアを含む複数の高水準アプリケーションの基礎になる通信インフラストラクチャとして動作することができる。
【背景技術】
【０００２】
ドイツ国バルドルフのＳＡＰ  ＡＧによって提供されるＳＣＭ  ｓｏｌｕｔｉｏｎｓなどのＳＣＭソフトウェアによって、あるプロセスで供給業者から製造業者、卸売業者、小売業者へ移動する際に、ユーザが材料、情報、及び資金を管理できるようになる。ＳＣＭソフトウェアは、一般に、注文を満たす最良の手段を判定するアルゴリズムを実施し、ＳＣＭソフトウェアには、商品の物理的状況、材料の管理、及び資金情報を追跡するためのデータベースも含まれる。
【０００３】
在庫管理は、ほとんどのＳＣＭシステムの要件である。在庫管理によって、供給業者が、保有する在庫の量及び特定の小売業者に分配した在庫の量を記憶できるようになる。周期的に、小売業者は、店の現在の在庫レベルを供給業者に報告する。この報告に基づいて、供給業者は、店の在庫を補充する必要があるかどうかを判定する。
通常、供給業者及び小売業者は、小売業者がどれほど頻繁に供給業者に報告するかのプラニングスケジュールを開発する。たとえば、毎木曜日に、小売業者が、店の現在の在庫レベルを報告し、補充プラニングが行われる。金曜日に、新しい在庫のすべてが、週末の買物客に間に合うように店に到着する。
【０００４】
［発明の概要］
本発明は、一態様において、分散システムでアイテム配備情報を通信するコンピュータプログラム製品を含む方法及び装置を特徴とする。このシステムには、監視システム、タグ付けされたアイテムを追跡するシステムを含む１又は複数のサブスクライバ（ｓｕｂｓｃｒｉｂｅｒ）、及び１又は複数のイベントルータが含まれる。監視システムは、タグ付けされたアイテムの１又は複数を検出し、イベント（イベントには、タグ識別子、リーダ識別子、及びタイムスタンプが含まれる）を生成し、イベントを１又は複数のイベントルータにパブリッシュ（ｐｕｂｌｉｓｈ）するように動作する。タグ付けされたアイテムを追跡するシステムは、１又は複数のタグ付けされたアイテムに関するイベントを１又は複数のイベントルータから受け取るためにサブスクライブ（ｓｕｂｓｃｒｉｂｅ）し、イベントを受け取る際に、受け取ったイベントを使用して、１又は複数のタグ付けされたアイテムの配備情報を更新するように動作する。各イベントルータは、サブスクライバのリストを保持し、監視システムからイベントを受け取り、イベントをサブスクライバに送る。
【０００５】
他の態様においては、監視システムは、在庫内に配置されたタグ付けされたアイテムの状態を監視し、アイテムが在庫に追加されるか在庫から取り出される時に、イベントルータにイベントを送る。イベントルータは、監視システムからイベントを受け取り、そのイベントを１又は複数のアイテム追跡システムに送る。アイテム追跡システムは、イベントを受け取り、そのイベントを反映するようにそのアイテムに関する保管された情報を更新する。
【０００６】
別の態様においては、監視システムは、在庫内に配置されたタグ付けされたアイテムの状態を監視し、アイテムが在庫に追加されるか在庫から取り出される時に、イベントルータにイベントを送る。イベントルータは、監視システムからイベントを受け取り、このイベントを第２コンピュータプログラムに送る。第２コンピュータプログラムは、イベントを受け取り、第１コンピュータプログラムにアラートを送るかどうかを判定する。第２コンピュータプログラムからアラートを受け取る時に、第１コンピュータプログラムは、在庫の補充が必要であるかどうかを判定する。
【０００７】
他の態様においては、監視システムは、在庫内に配置されたタグ付けされたアイテムの状態を監視し、アイテムが在庫に追加されるか在庫から取り出される時に、イベントを生成する。監視システムは、アイテムの一意のデジタル識別子をマッピングコンポーネントに送る。マッピングコンポーネントは、一意のデジタル識別子を使用して、複数のイベントルータの中からイベントルータを突き止める。監視システムは、突き止められたイベントルータにイベントを送る。イベントルータは、イベントを受け取り、そのイベントを１又は複数のサブスクライバに送る。
【０００８】
別の態様においては、監視システムは、在庫内に配置されたタグ付けされたアイテムの状態を監視し、アイテムが在庫に追加されるか在庫から取り出される時に、イベントをイベントルータに送る。イベントルータは、監視システムからイベントを受け取り、そのイベントを、アイテム追跡システム及び第２コンピュータプログラムに送る。アイテム追跡システムは、イベントを受け取り、そのイベントを反映するようにそのアイテムに関する保管された情報を更新する。第２コンピュータプログラムは、イベントを受け取り、第１コンピュータプログラムにアラートを送るかどうかを判定する。
【０００９】
他の態様においては、監視システムは、在庫内に配置されたタグ付けされたアイテムの状態を監視し、アイテムが在庫に追加されるか在庫から取り出される時に、イベントを生成する。監視システムは、アイテムの一意デジタル識別子をマッピングコンポーネントに送る。マッピングコンポーネントは、一意デジタル識別子を使用して、複数のイベントルータの中からイベントルータを突き止める。監視システムは、突き止められたイベントルータにイベントを送る。イベントルータは、イベントを受け取り、そのイベントをアイテム追跡システム及び第２コンピュータプログラムに送る。アイテム追跡システムは、イベントを受け取り、そのイベントを反映するようにそのアイテムに関する保管された情報を更新する。第２コンピュータプログラムは、イベントを受け取り、第１コンピュータプログラムにアラートを送るかどうかを判定する。
【００１０】
本発明を、以下の長所の１又は複数を実現するために実施することができる。本発明によるシステムは、適応リアルタイム在庫管理を可能にする。集約された在庫変更の周期的報告を受け取るのではなく、このシステムは、在庫変更をリアルタイムで人間の介在なしで報告することを可能にする。固定されたスケジュールにのみ従って行われる補充プラニングではなく、補充プラニングのタイミングを、報告されたリアルタイム在庫レベルに応じてより高い頻度又はより低い頻度で行われる、適応させることができる。
【発明を実施するための最良の形態】
【００１１】
本発明の１又は複数の実施形態の詳細を、添付図面及び以下の説明に示す。本発明の他の特徴及び長所は、この説明、図面、及び請求項から明白になるであろう。
さまざまな図面の類似する符号は、類似する要素を示す。
例示のために、本発明を、特定のシナリオである在庫（インベントリ）管理シナリオにおける使用に関して説明する。
【００１２】
図１に、在庫管理システムの一部として使用されるアイテム追跡システム（ＩＴＳ）に関する小売り位置を示す。小売り位置は、店（店舗）である。店は、タグ付けされたアイテムを含む在庫を有する。タグ付けされたアイテムが、店に持ち込まれるか店から取り出される時に、これを監視システム１１０によって検出することができる。
タグ付けされたアイテムは、自己識別タグを担持するか又は束縛された有形のアイテムである。タグを、単一のアイテムに関連付けることができ、あるいは、たとえばアイテムを含むコンテナに束縛することによって、アイテムの集合に関連付けることができる。
【００１３】
一般に、タグは、ＲＦＩＤ（無線周波数識別子）タグであるが、ＲＦ技術に基づく必要はない。さらに、タグは、パッシブ（通信及びデータ送信用の内部電源を含まない）又はアクティブとすることができ、処理能力を有することも有しないこともある。タグは、デジタルに識別可能なタグであり、これは、タグが、ある種類のタグリーダを使用して、一意のデジタル識別子（ＵＩＤ）がタグから直接に読み取られ得るという特性を有することを意味する。一部のデジタル識別可能タグは、書込可能でもある。
【００１４】
１つのＵＩＤシステムは、ＭＩＴ  Ａｕｔｏ−ＩＤ  Ｃｅｎｔｅｒによって開発されたｅＰＣ（電子的製品コード）システムである。ｅＰＣは、物理的アイテムを識別するのに使用することができる番号である。現在の定義によれば、ｅＰＣは、８ビットヘッダと３つのデータフィールドすなわち製造業者、製品クラス、及び通し番号に区分される９６ビットを有する。製造業者フィールドは、ある製造業者を別の製造業者から一意に区別する。所与の製造業者について、製品クラスフィールドは、ある製品クラスを別の製品クラスから一意に区別する。通し番号フィールドは、同一の製品クラス及び製造業者の１つの特定のアイテムを別のアイテムから一意に区別する。この形で、ｅＰＣは、性質において本来階層的であり、ｅＰＣ番号のある部分を、ｅＰＣ番号の限定性のレベルを制御するためにマスクすることができる。たとえば、アプリケーションが、製造業者レベルでの追跡情報について知ることだけを求める場合に（たとえば、どの位置にＳｐａｌｄｉｎｇによって製造された製品が含まれるか）、製品クラスビット及び通し番号ビットをマスクすることができる。ｅＰＣｓ以外のＵＩＤを、似た形で使用することができる。
【００１５】
タグ付けされたアイテムは、アイテムの位置、状況、及び属性を含む、タグ付けされたアイテムに関する情報を保持するＩＴＳを使用して追跡することができる。ＩＴＳは、スマートシェルフ（ｓｍａｒｔ  ｓｈｅｌｆ）、製造ライン、ローディングドック（ｌｏａｄｉｎｇ  ｄｏｃｋ）、及び他の位置に配置された、他のＩＴＳ、他のアプリケーション、及びタグリーダを含むさまざまなソースから、リアルタイムで情報を受け取ることができる。ＩＴＳは、実際のアイテム及び他の情報が表現され、他のシステム及びアプリケーションによる使用のために使用可能にされる仮想ワールドモデルを保持する。
【００１６】
通常、ローカルＩＴＳは、単一の企業又はその企業の一部に提供される。ＩＴＳは、複数の他のＩＴＳからの情報を集約することができる。共用されるＩＴＳは、異なる企業に属する複数のＩＴＳからの情報を組み合わせることができる。
ＩＴＳに、リアルタイム入力処理論理部、データ構造及び永続ストレージ、照会用のインターフェース、ならびに照会インターフェース、永続ストレージ、及び入力処理論理部の間の通信接続が含まれる。
【００１７】
リアルタイム入力処理論理部は、タグリーダ、既存のＥＲＰシステム、及び他のＩＴＳシステムからメッセージを受け入れる。メッセージは、物理的アイテム又は論理的アイテムの作成、あるいはこれらのアイテムの配備又は状況の変更を表すことができる。メッセージは、ＸＭＬフォーマット又は他のフォーマットとすることができる。入力処理論理は、着信メッセージを解釈し、保管されたデータを調べ、メッセージ内容及び保管されたデータに基づく適当な処置を講じ、指定された通りにデータ構造を更新し、潜在的に、メッセージのソースにエラーメッセージ又は他の報告を返す。
【００１８】
データ構造及び永続ストレージ（記憶装置）は、ＩＴＳによって追跡される論理アイテム及び物理アイテムの関係、状態、及びヒストリ（履歴）の表現を記録し、保持する、ソフトウェアとハードウェアの組合せである。たとえば、データ構造に、ある一意のタグが洗浄剤の特定のボトルに対応することを記録することができる。データ構造に、洗浄剤がある在庫の一部である（一意のＩＤを有する論理アイテム）ことも記録することができる。洗浄剤アイテムの位置は、入力処理論理部からのリアルタイムメッセージ及びソフトウェア処置に応答して、周期的に更新することができる。データ構造及び永続ストレージは、ソフトウェア障害のハードウェアにわたって、データ構造を保存する。永続ストレージを構築する堅牢な方法のいずれをも使用することができ、たとえば、ソフトウェアデータベース技術及び磁気ディスクドライブを使用して、不揮発性の形で情報を記録することができる。
照会のインターフェースは、ＩＴＳと外部のエンタープライズソフトウェアアプリケーションとの間のインターフェースを提供する。
【００１９】
監視システム１１０には、店内の１又は複数の位置に配置された複数のタグリーダが含まれる。監視システム１１０には、在庫内の各アイテムの現在の状態を保管するメモリも含まれる。この現在の状態は、アイテムが所与の位置に存在するか、その位置から取り出されたかを示す。監視システム１１０には、アイテムの状態が変更された時、たとえば、アイテムが所与の位置に追加されたかそこから取り出された時を判定するコンピュータ論理部も含まれる。
この論理部を、さらに、あるアイテムの状態の変化を検出する時には必ず、更新を送るように構成することができる。在庫更新は、アイテムのｅＰＣ、タグリーダのｅＰＣ、及びタイムスタンプを含むイベントの形をとることができる。イベントに、変更がアイテムの追加と取り出しのどちらであるかを指定するＩＮ／ＯＵＴパラメータも含めることができる。
【００２０】
一実施形態において、監視システム１１０に、１又は複数のスマートシェルフが含まれる。スマートシェルフは、物理アイテム（製品）が棚に追加されるか棚から取り出される時に報告することができる棚である。スマートシェルフに、棚の１又は複数の位置に配置された複数のタグリーダが含まれる。スマートシェルフに、アイテムが在庫に追加されたか在庫から取り出されたかを判定するコンピュータ論理も含まれる。
ＩＴＳ１２０は、店の在庫に含まれるアイテムを含む複数のアイテムに関する追跡情報を保持する。アイテムが、店に入り、店から出る時に、必ず、ＩＴＳは、監視システム１１０からイベントを受け取り、そのイベントを反映するようにデータストレージを更新する。
【００２１】
コンピュータプログラムソリューションである在庫プランナ１４０は、通常は、周期的スケジュールで動作して、在庫管理機能を実行する。店に関する動作時に、在庫プランナ１４０は、ＩＴＳ１２０から在庫データを取り出し、店の在庫を補充するかどうかを判定する。在庫プランナ１４０は、早期警戒エージェント（ＥＷＡ）１３０からアラートを受け取ることができ、ＥＷＡ１３０は、在庫プランナに、その通常の周期的スケジュール以外の、少なくとも店に関する少なくともいくつかの在庫管理機能を実行させる。具体的に言うと、ＥＷＡ１３０は、在庫プランナ１４０にアラートを送って、在庫プランナに、店の在庫の補充が必要であるかどうかを判定させる。アイテムが、店に入り、店を出る時に、必ず、及び任意選択として、アイテムが、店のある部分から別の部分に移動する時に、ＥＷＡは、監視システム１１０からイベントを受け取る。そのようなイベントで受け取る情報を使用して、ＥＷＡは、いつ在庫プランナ１４０にアラートを送るかを判定する。
【００２２】
早期警戒エージェント
ＥＷＡ１３０に、いつアラートを送るかを判定する論理が含まれる。アラートを送るかどうかの判定に、在庫更新で受け取られた情報に１又は複数のルールを適用することが含まれる。ルールによって、ある条件と、その条件が満たされる時に実行しなければならないある処置が指定される。たとえば、ルールによって、在庫レベルが指定された値未満に減る時には必ず、アラートを送らなければならないことを指定することができる。
【００２３】
ＥＷＡ１３０は、ルールの所定の組を適用することができ、あるいは、その代わりに、ＥＷＡ１３０に、ＥＷＡ１３０が現在の在庫パターン又はヒストリカル在庫パターンに応答して、その挙動を適応できるようにする人工知能論理を含めることができる。人工知能論理によって、ＥＷＡが、訂正処置を可能にするのに十分に早く潜在的に危険な状況を識別するために、近い将来の在庫レベルの潜在的な変動を推定できるようになる。たとえば、当初に、ルールによって、在庫が１０個未満になる時にアラートを発しなければならないと指定することができる。しかし、ＥＷＡ１３０が、夏の間に他の季節よりはるかに頻繁にアラートを送ることを検出する場合に、ＥＷＡ１３０は、夏の間に閾値を１０から２０に増やし、その結果、在庫プランナ１４０が、差し迫った在庫不足についてより早期に通知されるようにすることによって、この季節変動に適応することができる。この適応挙動は、最小限の人間の介入で、パラメータ調整又は他の種類の手動較正の必要を最小限にして行われる。
【００２４】
ＥＷＡ１３０は、現在の在庫データ及びヒストリカル在庫データを取り出し、分析して、計画された補充と実際の補充の間の逸脱などの傾向を検出し、将来の在庫の必要予測モデルを構築することができる。これらの傾向及び予測は、線形回帰ツリー、分類ツリー、及び回帰ツリー、又は他の統計アルゴリズムを使用して判定することができる。
【００２５】
一実施形態で、ＥＷＡ１３０は、在庫に影響する可能性がある計画された補充又は消費活動のそれぞれの潜在的な変動を推定する（たとえば、ヒストリカルパフォーマンスデータを与えられて、Ｂｏｂ’ｓ  Ｂｏｔｔｌｅｓ社の３４０ｇ（１２オンス）瓶の計画されたトラック１台分の荷物が、計画された配送日の４時間前から６時間後に到着し、その量が要求された量の９５％と１００％の間であることを推定する）。ＥＷＡ１３０は、過去に配送された在庫のさまざまな量について、約束された配送時刻と実際の配送時刻を比較して、計画されているがまだ完了していない将来の補充活動の実際の配送日及び量の予測を生成する。ＥＷＡ１３０は、複数の個々の活動の潜在的な変動の推定値を、在庫全体の潜在的な変動の推定値に組み合わせる。これらのアルゴリズムは、分類ツリー及び回帰ツリーなどのデシジョンツリーを使用して実現することができる。
他の１つの実施形態においては、個々の活動を考慮するのではなく、ＥＷＡ１３０は、補充及び消費の累積レベルを表す集約データに基づいて、予測モデルを構築する。このアルゴリズムは、条件ガウス近似などの確率的推論モデルを使用して、実現することができる。
【００２６】
在庫プランナ
在庫プランナ１４０は、在庫補充プランを生成する任意のアプリケーションとすることができる。そのような在庫プランナ１４０の１つが、ＳＡＰ  ＡＧ社から入手可能なＡｄｖａｎｃｅｄ  Ｐｌａｎｎｅｒ  ａｎｄ  Ｏｐｔｉｍｉｚｅｒ（ＡＰＯ）である。
在庫プランナ１４０には、補充プランを生成する論理が含まれる。この論理には、ＥＷＡ１３０からアラートを受け取り、そのアラートに応答して、補充が必要であるかどうかを判定する論理が含まれる。
【００２７】
一実施形態において、在庫プランナ１４０が、在庫全体の補充プランを生成する。ＥＷＡ１３０は、在庫の一部を監視する。複数のＥＷＡ１３０を組み合わせて、在庫全体をカバーすることができる。在庫のある部分に関するアラートによって、在庫プランナ１４０がトリガされて、在庫全体の計画された補充を再計画する必要があるかどうかの判断が行われる。
判断に、ＩＴＳ１２０からの在庫データの取り出しと、取り出された在庫データに基づく需要の判定又は予測を含めることができる。たとえば、製品Ｘに関する高い需要の傾向は、在庫プランナ１４０に、製品Ｘだけではなく、製品Ｘが先行指標であることがわかっている製品Ｙについても計画させることができる。
【００２８】
イベントルーティング
図２は、イベントルーティングを使用する本発明の実施形態のブロック図である。イベントは、あるソフトウェアエンティティから別のソフトウェアエンティティに転送されるメッセージである。イベントを使用して、ある発生についてイベントの受取り側に通知するか、受取り側に要求を送ることができる。イベントルータ（ＥＲ）２１０などのイベントルーティングミドルウェアを、さまざまなエンティティの間、たとえば監視システム１１０、ＩＴＳ１２０、ＥＷＡ１３０、及び在庫プランナ１４０の間で、イベントを分配するのに使用することができる。適当なイベントルータの例に、米国カリフォルニア州マウテンビューのＫｎｏｗＮｏｗ  Ｉｎｃｏｒｐｏｒａｔｅｄから入手できるトピックベースのＫｎｏｗＮｏｗ（登録商標）イベントルータ、又はオーストラリア国クイーンズランドのＤｉｓｔｒｉｂｕｔｅｄ  Ｓｙｓｔｅｍｓ  Ｔｅｃｈｎｏｌｏｇｙ  Ｃｅｎｔｅｒから入手できる内容ベースのＥｌｖｉｎメッセージングサービスが含まれる。トピックベースのイベントルータ及び内容ベースのイベントルータを、組み合わせて使用することもできる。
【００２９】
コンテンツベースのイベントルーティング
一実施形態で、メッセージが、各メッセージのコンテンツ（内容）に基づいてパブリッシャからサブスクライバにルーティングされる。各メッセージの内容を、複数のフィールドに区分することができる。たとえば、０１．００３７Ｆ２．００１５０８．０００３１９Ｆ８２７というｅＰＣを有するアイテムに関するメッセージを、下記の内容フィールドに分割することができる。
（１）ヘッダ：０１
（２）製造業者：００３７Ｆ２
（３）製品クラス：００１５０８
（４）通し番号：０００３１９Ｆ８２７
（５）メッセージタイプ：ｓｅｅｎ＠、ｒｅｑｕｅｓｔ、ｒｅｓｐｏｎｓｅ
「ｓｅｅｎ＠」メッセージは、アイテムが特定の位置で検出されたことを報告するメッセージである。「ｒｅｑｕｅｓｔ」メッセージは、サブスクライバに要求を送るのに使用され、「ｒｅｓｐｏｎｓｅ」メッセージは、要求された情報をパブリッシュするのに使用される。他のメッセージタイプも、定義することができる。
サブスクライバは、コンテンツフィールドの値に基づくメッセージフィルタを指定することができる（たとえば、ｍａｎｕｆａｃｔｕｒｅｒ＝００３７Ｆ２＆ｍｅｓｓａｇｅ  ｔｙｐｅ＝ｓｅｅｎ＠）。
【００３０】
内容ベースのイベントルーティング
別の実施形態では、イベントを、トピックに従って分類することができる。ソフトウェアエンティティは、あるトピックに関するイベントだけに関心を持つ場合がある。ソフトウェアエンティティは、あるトピックだけにサブスクライブすることができ、そのトピックに関係するイベントだけを受け取り、他のトピックに関するイベントを受け取らない。
【００３１】
図３に、ｅＰＣの構造に基づくトピック構造を示す。別々のトピックを、ｅＰＣのデータフィールドのそれぞれについて、すなわち、製造業者、製品クラス、及び通し番号について作成することができる。たとえば、０１．００３７Ｆ２．００１５０８．０００３１９Ｆ８２７というｅＰＣを有するアイテムについて、下記のトピックを作成することができる。
（１）￥ｃｅｎｔａｕｒｉ￥００３７Ｆ２￥００１５０８￥０００３１９Ｆ８２７￥ｓｅｅｎ＠  このトピックは、アイテムに関する「ｓｅｅｎ＠」イベントをカバーする。
（２）￥ｃｅｎｔａｕｒｉ￥００３７Ｆ２￥００１５０８￥０００３１９Ｆ８２７￥＊  このトピックには、トピック１に報告されるイベントと、「ｒｅｑｕｅｓｔ」イベント及び「ｒｅｓｐｏｎｓｅ」イベントなど、アイテムに関する他の種類のイベントの両方が含まれる。
（３）￥ｃｅｎｔａｕｒｉ￥００３７Ｆ２￥００１５０８￥＊  このトピックには、トピック２に報告されるイベントと、同一の製品クラス００１５０８内の他のアイテムに関するイベントの両方が含まれる。
（４）￥ｃｅｎｔａｕｒｉ￥００３７Ｆ２￥＊  このトピックには、トピック３に報告されるすべてのイベントと、同一の製造業者００３７Ｆ２を有する他のアイテムに関するイベントの両方が含まれる。
【００３２】
別々のトピックを、リーダに関するイベントについて作成することもできる。たとえば、０１．０Ｂ３９Ｃ２．０００８１５．００４７１１Ｆ８２７というｅＰＣを有するリーダについて、下記のトピックを作成することができる。
（１）ｃｅｎｔａｕｒｉ￥０Ｂ３９Ｃ２０００８１５００４７１１Ｆ８２７￥Ｈａｖｅ−Ｓｅｅｎ−ｅＰＣ  このトピックは、検出された特定のｅＰＣを有する特定のリーダに関するイベントをカバーする。
（２）ｃｅｎｔａｕｒｉ￥０Ｂ３９Ｃ２０００８１５００４７１１Ｆ８２７￥＊  このトピックは、検出されたすべてのｅＰＣを有する特定のリーダに関するイベントをカバーする。
【００３３】
トピックベースのイベントルータは、トピックセットを有し、各トピックは、アドレス、たとえばＵＲＬを有する。イベントは、トピックのアドレスにイベントを送ることによって、トピックにパブリッシュすることができる。イベントがパブリッシュされる適当なトピックのＵＲＬを判定するために、監視システム１１０（図２）などのパブリッシュするエンティティは、拡張オブジェクトネーミングサービス（ｅｘｔｅｎｄｅｄ  ｏｂｊｅｃｔ  ｎａｍｉｎｇ  ｓｅｒｖｉｃｅ、ＥＯＮＳ）２２０を調べることができる。ＥＯＮＳ２２０は、アイテムｅＰＣ（又はリーダｅＰＣ）と１又は複数のＥＲの間のマッピングを、それに対応するトピックと共に保持する。ＥＯＮＳは、入力としてアイテム（又はリーダ）のｅＰＣをとり、１又は複数の識別されたトピックのＵＲＬを返す。ＥＯＮＳ２２０は、Ｏａｔ  Ｓｙｓｔｅｍｓ及びＭＩＴ  Ａｕｔｏ−ＩＤ  Ｃｅｎｔｅｒによって開発されたＯＮＳ（ＭＩＴ  Ａｕｔｏ−ＩＤ  Ｃｅｎｔｅｒによって出版されたＯｂｊｅｃｔ  Ｎａｍｅ  Ｓｅｒｖｉｃｅ  Ｔｅｃｈｎｉｃａｌ  Ｍａｎｕａｌにさらに記載されている）などの普通のＯＮＳを拡張することによって実施することができる。普通のオブジェクトネーミングシステムは、インターネットの周知のドメインネームサービス（ＤＮＳ）に似ており、これに基づく。
【００３４】
パブリケーションのプロトコル
動作中、図３Ａに示されているように、監視システム１１０が、アイテムが在庫に追加されたか取り出されたことを識別する。監視システム１１０は、タグ識別子、リーダ識別子、及びタイムスタンプを含むイベントを生成する。タグ識別子によって、変更されたアイテムが識別される。リーダ識別子によって、その変更を検出したリーダが識別される。タイムスタンプによって、変更が検出された時が識別される。
監視システム１１０は、ＥＯＮＳ２２０を調べて、イベントを送る先を判定する。監視システム１１０は、アイテムのｅＰＣ及びリーダのｅＰＣをＥＯＮＳに供給し、アイテムトピックのＵＲＬ及びリーダトピックのＵＲＬをＥＯＮＳから受け取る。監視システム１１０は、両方のトピックにイベントを送る。
【００３５】
アイテムトピック及びリーダトピックのＥＲは、イベントを１又は複数のサブスクライバにルーティングする。たとえば、ＩＴＳは、アイテムトピックのサブスクライバであることができ、ＥＷＡは、リーダトピックのサブスクライバであることができる。ＥＷＡは、ＥＲからイベントを受け取り、在庫プランナにアラートを送るかどうかを判定する。
アラートが送られる場合に、これによって、イベントプランナがトリガされて、在庫の補充が再プラニングされる。在庫の現在のデータを得るために、在庫プランナは、在庫データを要求するイベントをＥＲに送ることができる。ＥＲは、ＩＴＳにイベントをルーティングし、このＩＴＳが、要求された在庫データを在庫プランナに送ることによって応答する。
【００３６】
サブスクリプションのプロトコルフロー
図３Ｂに示したように、サブスクライバがサブスクライブを望むトピックごとに、サブスクライバは、まず、ＥＯＮＳを調べて、所与のトピックのＥＲのアドレスを判定し、そのトピックにパブリッシュされるイベントをリスンする。
イベントを受け取る時に、サブスクライバは、イベントに含まれるリーダ識別子を使用して、アイテムの位置を判定する。位置は、物理的な位置（たとえば、特定の緯度、経度、及び高度）又は論理的な位置（たとえば、コンテナＸＹＺ内又はトラックＡＢＣ内）とすることができる。サブスクライバは、タグ識別子を使用して、アイテムに関する追加情報を突き止めることもできる。たとえば、タグ識別子を使用して、アイテムのＰＭＬ（Ｐｒｏｄｕｃｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）文書を取り出すことができる。
【００３７】
図４に示したように、ＥＯＮＳは、複数のタグ付けされたアイテム（又はリーダ）と複数のＥＲの間のマッピングを保持することができる。上で述べたように、マッピングは、アイテムキー及びリーダキーを含む複数のキーをサポートする。ＥＯＮＳは、複数の監視システム１１０及び他のタグリーダプリケーションにサービスすることができる。一実施形態で、ＥＯＮＳは、分散サブシステムであり、この分散サブシステムに、マッピング情報、情報位置を要求する照会に応答する照会サーバ、及び、ｅＰＣを受け取り、ｅＰＣをＥＲ位置にリゾルブできる名前リゾルバが含まれる。
図５に示したように、特定のＥＲを、複数のＩＴＳ（ならびに他のサブスクライバ）に分散することができ、特定のＩＴＳが、複数のＥＲにサブスクライブすることができる。ユーザは、各ＩＴＳの所望のスコープを定義し、それに従って分散方式を構成することができる。
【００３８】
本発明は、デジタル電子回路で、コンピュータハードウェアで、コンピュータファームウェアで、コンピュータソフトウェアで、又はこれらの組合せで実施することができる。本発明の装置は、プログラマブルプロセッサによる実行のために、たとえば機械的可読記憶装置又は伝搬される信号内の、情報キャリア内で有形に実施されたコンピュータプログラム製品で実施することができ、本発明の方法ステップは、入力データを操作し、出力を生成することによって本発明の機能を実行するために命令のプログラムを実行するプログラマブルプロセッサによって実行することができる。本発明は、データ記憶システム、少なくとも１つの入力装置、及び少なくとも１つの出力装置からデータ及び命令を受け取り、これらにデータ及び命令を送るように結合された少なくとも１つのプログラマブルプロセッサを含むプログラマブルシステムで実行可能である１又は複数のコンピュータプログラムで有利に実施することができる。コンピュータプログラムは、ある動作を実行するか、ある結果をもたらすためにコンピュータ内で直接に又は間接的に使用することができる命令の組である。コンピュータプログラムは、コンパイルされる言語及び解釈される言語を含むプログラミング言語の任意の形で記述することができ、独立型プログラムあるいはモジュール、コンポーネント、サブルーチン又はコンピューティング環境での使用に適する他の単位を含むすべての形で展開することができる。
【００３９】
命令のプログラムの実行に適するプロセッサには、たとえば、汎用マイクロプロセッサと特殊目的マイクロプロセッサの両方が含まれ、すべての種類のコンピュータの単独のプロセッサ又は複数プロセッサの１つが含まれる。一般に、プロセッサは、読取専用メモリ又はランダムアクセスメモリあるいはその両方から命令及びデータを受け取る。コンピュータの本質的な要素は、命令を実行するプロセッサと、命令及びデータを保管する１又は複数のメモリである。一般に、コンピュータは、データファイルを保管する１又は複数の大容量記憶装置；内蔵ハードディスク及び取外し可能ディスクなどの磁気ディスクを含む装置；光磁気ディスク；及び光ディスクも含むか、機能的にこれらと通信するように結合される。コンピュータプログラム命令及びデータを有形に実施するのに適する記憶装置に、たとえば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュメモリデバイスなどの半導体メモリデバイス；内蔵ハードディスク及び取外し可能ディスクなどの磁気ディスク；光磁気ディスク；ならびにＣＤ−ＲＯＭ及びＤＶＤ−ＲＯＭディスクを含むすべての形の不揮発性メモリが含まれる。プロセッサ及びメモリを、ＡＳＩＣ（特定用途向け集積回路）によって増補するか、これに組み込むことができる。
【００４０】
ユーザとの対話を提供するために、本発明を、ユーザに情報を表示するＣＲＴ（陰極線管）モニタ又はＬＣＤ（液晶ディスプレイ）モニタなどの表示装置と、ユーザがそれによってコンピュータに入力を提供できるキーボード及びマウス又はトラックボールなどのポインティングデバイスを有するコンピュータで実現することができる。
本発明は、データサーバなどのバックエンドコンポーネントを含むコンピュータシステム、アプリケーションサーバ又はインターネットサーバなどのミドルウェアコンポーネントを含むコンピュータシステム、あるいはグラフィカルユーザインターフェース又はインターネットブラウザを有するクライアントコンピュータなどのフロントエンドコンポーネントあるいはその組合せを含むコンピュータシステムで実現することができる。システムのコンポーネントは、デジタルデータ通信の任意の形又は媒体によって接続することができる。
【００４１】
本発明を、特定の実施形態に関して説明した。他の実施形態も請求項の範囲に含まれる。たとえば、本発明のステップを、異なる順序で実行し、なおかつ所望の結果を達成することができる。本発明を、在庫管理以外のシナリオに適用することができる。たとえば、本発明を、顧客注文の受け取りに応じて生産が計画される生産コンテキストで適用することができる。ＥＷＡを使用して、注文が行われた時に生産プランナに警告することができる。したがって、他の実施形態が、請求の範囲に含まれる。
【図面の簡単な説明】
【００４２】
【図１】本発明によるアイテム追跡システムを用いて実施される在庫管理システムの基本構造を示すブロック図である。
【図２】イベントルーティングを使用する実施形態を示すブロック図である。
【図３】イベントルーティングのトピック構造を示す図である。
【図３Ａ】パブリケーションのプロトコルフローを示す図である。
【図３Ｂ】サブスクリプションのプロトコルフローを示す図である。
【図４】イベントルータを突き止めるオブジェクトネーミングサービスを示すブロック図である。
【図５】複数のアイテム追跡システムの間での分散へのイベントルータの使用を示す図である。
【図１】
2005528305.tif 000003
【図２】
2005528305.tif 000004
【図３】
2005528305.tif 000005
【図３Ａ】
2005528305.tif 000006
【図３Ｂ】
2005528305.tif 000007
【図４】
2005528305.tif 000008
【図５】
2005528305.tif 000009
【国際調査報告】
2005528305.tif 000010
2005528305.tif 000011
2005528305.tif 000012
2005528305.tif 000013
2005528305.tif 000014