(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-29
(45)【発行日】2024-04-08
(54)【発明の名称】情報処理装置、情報処理方法及びコンピュータプログラム
(51)【国際特許分類】
G06Q 10/083 20240101AFI20240401BHJP
【FI】
G06Q10/083
(21)【出願番号】P 2022185985
(22)【出願日】2022-11-21
(62)【分割の表示】P 2019168696の分割
【原出願日】2019-09-17
【審査請求日】2022-11-21
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】100120031
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118876
【氏名又は名称】鈴木 順生
(72)【発明者】
【氏名】石井 岳
(72)【発明者】
【氏名】砂川 英一
【審査官】塩田 徳彦
(56)【参考文献】
【文献】特開平05-073591(JP,A)
【文献】特開2007-102300(JP,A)
【文献】特許第4661259(JP,B2)
【文献】特開2009-217847(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
第2プロセス、第1プロセス、及び第3プロセスの順に前記第2プロセス、前記第1プロセス及び前記第3プロセスのそれぞれで個体に管理の単位が変化する操作が行われ、前記第2プロセスにおいて個体に対して前記操作を行うことにより得られる個体が前記第1プロセスに渡され、前記第1プロセスにおいて前記第2プロセスから渡された個体に対して前記操作を行うことにより得られる個体が前記第3プロセスに渡される場合に、前記第2プロセス、前記第1プロセス及び前記第3プロセスに対してそれぞれ対応して配置される複数の情報処理装置のうち前記第1プロセスに対応して配置される情報処理装置であって、
前記第2プロセスに対して配置される第2情報処理装置から、
前記第2プロセスで前記操作の対象となる個体である第3個体の第3識別子と、
前記第3個体に行われる前記操作である第2操作と、前記第3個体に前記第2操作を行うことにより得られる第1個体に割り当てられた第1識別子と、を含む第2データを受信
し、
前記第1プロセスにおいて、前記第1識別子が割り当てられた前記第1個体に前記操作である第1操作を行うことにより得られる第2個体に、第2識別子を割り当て
、
前記第1識別子と、前記第1操作と、前記第2識別子とを含む第1データを生成
し、
前記第1データを
、前記第3プロセスに対応して配置される第1情報処理装置に送信
する、処理部
を備えた情報処理装置。
【請求項2】
前記処理部は、前記第1データに基づき第1値を算出し、
前記第1値は、前記第1データに関連づけられる
請求項1に記載の情報処理装置。
【請求項3】
前記第1値と前記第2識別子を含む第1通知情報を、前記第2個体に対する第1媒体に書き込む情報書込部
を備えた請求項2に記載の情報処理装置。
【請求項4】
前記
処理部は、前記第1情報処理装置から、前記第1値を含む第1情報取得要求を受信した場合に、前記第1データを前記第1情報処理装置に送信する
請求項3に記載の情報処理装置。
【請求項5】
前記
処理部は、前記第1データに関連づけて、開示の許可を含むフラグを設定し、
前記
処理部は、前記フラグが許可の場合に前記第1データを送信する
請求項4に記載の情報処理装置。
【請求項6】
前記
処理部は、前記第1データに関連づけて、開示の非許可を含むフラグを設定し、
前記
処理部は、前記フラグが非許可の場合に前記第1データを送信しない
請求項4に記載の情報処理装置。
【請求項7】
前記第1個体に対する第2媒体から前記第1識別子を読み出す情報読出部
を備えた請求項1~6のいずれか一項に記載の情報処理装置。
【請求項8】
前記第2データに基づく第2値と、前記第1識別子とを含む第2通知情報を、前記第1個体に対する第2媒体から読み出す情報読出部を備え、
前記
処理部は、前記第2値と、前記第1識別子と、前記第1操作と、前記第2識別子とを含む第3データを生成する
請求項1に記載の情報処理装置。
【請求項9】
前記処理部は、前記第3データに基づき第3値を算出し、
前記第3値は、前記第3データに関連づけられる
請求項8に記載の情報処理装置。
【請求項10】
前記第3値と前記第2識別子とを含む第3通知情報を、前記第2個体に対する第1媒体に書き込む情報書込部
を備えた請求項9に記載の情報処理装置。
【請求項11】
前記処理部は、前記第2情報処理装置に、前記第2値を含む第2情報取得要求を送信し、前記第2情報処理装置から前記第2データを受信する
請求項9又は10に記載の情報処理装置。
【請求項12】
前記処理部は、前記第1情報処理装置から、前記第3値を含む第3情報取得要求を受信し、
前記処理部は、前記第3情報取得要求が受信された場合に、前記第2情報処理装置に、前記第2情報取得要求を送信し、
前記処理部は、前記第2データと前記第1データとを、前記第1情報処理装置に送信する
請求項11に記載の情報処理装置。
【請求項13】
前記第2データに、開示の許可を含むフラグが関連づけられており、
前記処理部は、前記フラグが許可を示す場合に、前記第2情報処理装置に前記第3情報取得要求を送信する
請求項12に記載の情報処理装置。
【請求項14】
前記第2データに、開示の非許可を含むフラグが関連づけられており、
前記処理部は、前記フラグが非許可を示す場合に、前記第2情報処理装置に前記第3情報取得要求を送信しない
請求項12に記載の情報処理装置。
【請求項15】
前記処理部は、前記第1データと前記第2データとに基づき、前記第2個体に対する操作の履歴を特定する
請求項11に記載の情報処理装置。
【請求項16】
前記処理部は、前記第2データにおける前記操作と、前記第1データにおける前記操作との順序に基づき、前記第2個体に対する操作の履歴に矛盾があるかを判定する
請求項15に記載の情報処理装置。
【請求項17】
前記処理部は、前記第2データにおける前記第1識別子と、前記第1データにおける前記第1識別子が一致するかに応じて、前記第2個体に対する操作の履歴に矛盾があるかを判定する
請求項15又は16に記載の情報処理装置。
【請求項18】
前記第2識別子は、前記第2個体の管理の単位を識別する識別子を含む
請求項1~17のいずれか一項に記載の情報処理装置。
【請求項19】
前記第2識別子は、前記第2個体の種類を識別する識別子、前記第2個体をユニークに識別する識別子、前記第2個体の管理を行う管理体の識別子の少なくとも1つをさらに含む
請求項18に記載の情報処理装置。
【請求項20】
前記処理部は、前記第1個体に行われる前記第1操作を取得する
請求項1~19のいずれか一項に記載の情報処理装置。
【請求項21】
前記処理部は、前記第1データとして、前記第1識別子と、前記第1操作の種別と、前記第2識別子とを含むデータを生成する
請求項1~20のいずれか一項に記載の情報処理装置。
【請求項22】
前記処理部は、前記第1個体に行われる前記第1操作の種別を取得する
請求項21に記載の情報処理装置。
【請求項23】
前記第1操作は、個体を作成する作成操作、複数の個体を統合する統合操作、個体を分割する分割操作、個体を変換する変換操作、個体を削除する削除操作の少なくとも1つを含む
請求項1~22のいずれか一項に記載の情報処理装置。
【請求項24】
第2プロセス、第1プロセス、及び第3プロセスの順に前記第2プロセス、前記第1プロセス及び前記第3プロセスのそれぞれで個体に管理の単位が変化する操作が行われ、前記第2プロセスにおいて個体に対して前記操作を行うことにより得られる個体が前記第1プロセスに渡され、前記第1プロセスにおいて前記第2プロセスから渡された個体に対して前記操作を行うことにより得られる個体が前記第3プロセスに渡される場合に、前記第2プロセス、前記第1プロセス及び前記第3プロセスに対してそれぞれ対応して配置される複数の情報処理装置のうち前記第1プロセスに対応して配置される情報処理装置が実行する情報処理方法であって、
前記第2プロセスに対して配置される第2情報処理装置から、
前記第2プロセスで前記操作の対象となる個体である第3個体の第3識別子と、
前記第3個体に行われる前記操作である第2操作と、前記第3個体に前記第2操作を行うことにより得られる第1個体に割り当てられた第1識別子と、を含む第2データを受信するステップと、
前記第1プロセスにおいて、前記第1識別子が割り当てられた前記第1個体に
前記操作である第1操作を行うことにより得られる第2個体に、第2識別子を割り当てる個体情報管理ステップと、
前記第1識別子と、前記第1操作と、前記第2識別子とを対応づけた第1データを生成するデータ生成ステップと、
前記第1データを
、前記第3プロセスに対応して配置される第1情報処理装置に送信する送信ステップと、
を備える、情報処理方法。
【請求項25】
第2プロセス、第1プロセス、及び第3プロセスの順に前記第2プロセス、前記第1プロセス及び前記第3プロセスのそれぞれで個体に管理の単位が変化する操作が行われ、前記第2プロセスにおいて個体に対して前記操作を行うことにより得られる個体が前記第1プロセスに渡され、前記第1プロセスにおいて前記第2プロセスから渡された個体に対して前記操作を行うことにより得られる個体が前記第3プロセスに渡される場合に、前記第2プロセス、前記第1プロセス及び前記第3プロセスに対してそれぞれ対応して配置される複数の情報処理装置のうち前記第1プロセスに対応して配置される情報処理装置に実行させるためのコンピュータプログラムであって、
前記第2プロセスに対して配置される第2情報処理装置から、
前記第2プロセスで前記操作の対象となる個体である第3個体の第3識別子と、
前記第3個体に行われる前記操作である第2操作と、前記第3個体に前記第2操作を行うことにより得られる第1個体に割り当てられた第1識別子と、を含む第2データを受信するステップと、
前記第1プロセスにおいて、前記第1識別子が割り当てられた前記第1個体に
前記操作である第1操作を行うことにより得られる第2個体に、第2識別子を割り当てる個体情報管理ステップと、
前記第1識別子と、前記第1操作と、前記第2識別子とを対応づけた第1データを生成するデータ生成ステップと、
前記第1データを
、前記第3プロセスに対応して配置される第1情報処理装置に送信する送信ステップと、
を備える、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置、情報処理方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
DX(Digital transformation)/Digital Twinによるリカーリング型事業においては、その事業基盤として、製品・アプリといった個体の各種データに基づき個々の個体のライフサイクルを管理することが求められる。ライフサイクルは、例えば、製造、流通(物流含む)、運用、及び廃棄といったプロセスを含む。個体は各プロセスでそれぞれの業務に応じた操作を受ける。
【0003】
個体が各プロセスでどのような操作を受けたかといったライフサイクルを把握するために、共通のマッピングテーブルをサーバに整備するのが通例である。しかしながら、テーブル構造が複雑になる、あるいはマッピングデータが冗長になるという問題がある。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の実施形態は、個体の操作の履歴を容易に把握することを可能とする情報処理装置、情報処理方法及びコンピュータプログラムを提供する。
【課題を解決するための手段】
【0006】
本発明の実施形態としての情報処理装置は、第1識別子を割り当てられた第1個体に第1操作を行うことにより得られる第2個体に、第2識別子を割り当てる個体情報管理部と、前記第1識別子と、前記第1操作と、前記第2識別子とを含む第1データを生成するデータ生成部と、を備える。
【図面の簡単な説明】
【0007】
【
図1】本実施形態に係る情報管理装置のブロック図。
【
図2】複数の情報管理装置を含む情報管理システムの一例を示す図。
【
図4】情報読出部がICタグから読み出しを行う例を示す図。
【
図12】情報書込部がICタグに書き込みを行う例を示す図。
【
図14】操作の種別の遷移を表す連鎖グラフの例を模式的に示す図。
【
図15】連鎖グラフに取引情報を関連付けて表示した例を示す図。
【
図16】連鎖グラフの生成に失敗した例を模式的に示す図。
【
図17】操作の種別の遷移に矛盾がある例を示す図。
【
図20】本実施形態に係る動作の一例のフローチャート。
【
図21】個体識別変更履歴データの他の例を示す図。
【
図22】本実施形態に係る情報処理装置のハードウェア構成を示す図。
【発明を実施するための形態】
【0008】
以下、図面を参照しながら、本発明の実施形態について説明する。
【0009】
図1は、本実施形態に係る情報処理装置である情報管理装置のブロック図である。
図1の情報管理装置100は、個体のライフサイクルにおけるあるプロセス(自プロセス)に対して配置されたものである。他のプロセスに対しても
図1と同じ構成の情報管理装置が配置されている。複数のプロセスは、一例として、製造、流通(物流含む)、運用、及び廃棄といったプロセスである。但し、複数のプロセスは、他のプロセスの組でもよいし、より細かい粒度で定められてもよい。複数のプロセスは、同一の事業体によって担われてもよいし、異なる事業体によって担われてもよい。複数のプロセスのうち一部又は全部のプロセスが、同じ事業体によって担われてもよい。1つのプロセスが複数のサブプロセスを含んでいてもよい。プロセス又はサブプロセスでは、当該プロセス又はサブプロセスで扱う個体に対して業務に応じた操作を少なくとも1回行う。個体は、一般的には、例えば、商品、製品、アイテム、アプリといった業務で取り扱われる物である。物は有体物であるか無体物であるかは問わない。例えば、販促物としての電子クーポンのような電子的な媒体も、業務で扱われる物に含まれる。なお、後述する変形例で記載するように、物を管理する主体(例えば物を配置する空間)を個体と見なすことも可能である。
【0010】
図2は、複数のプロセスに対して配置された複数の情報管理装置を含む情報管理システムの一例を示す。プロセスN-1、プロセスN、プロセスN+1を含む複数のプロセスが時間軸に沿って配置されている。紙面に沿って左側が上位側(上流側)、右側が下位側(下流側)である。プロセスN-1はプロセスNの1つ上位のプロセス、プロセスN+1はプロセスNの1つ下位のプロセスである。ここではプロセスが直列に配置されているが、あるプロセスの下位に複数のプロセスが並列に配置されていてもよい。
【0011】
ライフサイクルは、一例として、プロセス1から開始し、プロセスが進むにつれて、プロセスの番号が大きくなる。各プロセスの情報管理装置は、通信ネットワークを介して接続されている。通信ネットワークは、有線ネットワークでも、無線ネットワークでも、有線と無線のハイブリッドネットワークでもよい。また通信ネットワークは、ローカルエリアネットワークでも、インターネット等の広域ネットワークでもよい。隣接するプロセス同士間で、各プロセスの情報管理装置が、互いにデータ通信が可能になっている。
【0012】
各プロセスで行う操作に応じて、個体の管理の単位は変化する。例えばプロセス1の事業体がレタスの生産者であるとする。生産者はレタスを生産し、生産したレタスを、注文を受けて、出荷するとする。この場合、最初は生産されたレタス群という単位で管理されるが、一部のレタス群は、注文者に出荷用にまとめたレタス群という新たな単位で管理される。
【0013】
また、プロセス2が、プロセス1の事業体からレタス群を仕入れ、仕入れたレタス群を別々の事業体用に分けて配送する配送業者であるとする。この場合、配送業者では、仕入れたレタス群という単位から、配送先という新しい単位でレタス群を管理することが考えられる。
【0014】
また、プロセス3がそれぞれ、プロセス2の配送業者からレタス群を仕入れて、仕入れたレタス群を複数の棚に一時的に保管する倉庫業者であるとする。この場合、各倉庫業者は、保管された棚という新しい単位でレタス群を管理することが考えられる。
【0015】
このようにプロセスに応じて、個体の管理の単位が変化する。本実施形態は、複数のプロセスに渡って、個体の管理の単位がどのように変化してきたか、すなわち個体がどのような操作を受けてきたかを容易に把握することを実現する。例えば、どの生産業者で収穫されて、どの配送業者に出荷され、どのような経路で配送されて、倉庫の棚に格納されたことを辿ることを可能とする。このようなトレーサビリティを、容易な仕組みで実現可能にする。
【0016】
図1の情報管理装置100は、取引情報管理部101と、取引情報データベース(DB)102と、情報読出部103と、受信情報DB104と、操作取得部105と、操作履歴イベント生成部(データ生成部)106と、情報圧縮部(算出部)107と、個体識別変更履歴DB108と、個体情報管理部109と、情報書込部111と、前プロセス個体情報取得部112と、入力部113と、表示部114と、インタフェース115とを備えている。
【0017】
取引情報管理部101は、1つ下位のプロセス(次プロセス又は後プロセス)の事業体との取引情報を取得し、取得した取引情報を取引情報DB102に格納する。自プロセスの事業体は、例えば自プロセスでの操作を行うことにより得た個体を次プロセスの事業者へ配送する取引を行う。取引情報は、取引管理用の識別子(管理コード又は管理ID。以下管理IDに統一)と、取引の詳細情報とを含む。管理IDは個体の管理の単位を識別する識別子である。自プロセスの業務では、1つ上位のプロセス(前プロセス)から受け取った個体に何らかの操作を行うことで自プロセスの出力としての個体を取得する。または、自プロセスで個体を新規に操作(例えば生産・製造)することにより個体を取得する場合もある。
【0018】
管理IDとして、同一の管理対象となる(あるいは同一の管理空間に属する)個体には同一の値が割り当てられる。一例として、同じ注文に関する個体には同一の管理IDが割り当てられる。管理IDの一例として、個体に関する注文、製造、輸送等のオーダ番号(例えば伝票番号など)がある。管理IDは、一定の規則で発番したIDでもよいし、ランダムに決定したIDでもよいし、ユーザが指定したIDでもよい。取引の詳細情報は一例として、取引先の事業体の名称及び住所、取引の対象となる物の情報(商品名、個数、型番など)、取引日時等を含む。
【0019】
取引情報に、管理IDの管理体(例えば取引の管理システム)を識別する識別子を、所属コード又は所属ID(以下、所属IDに統一)として含めてもよい。所属IDの例として、取引の管理システムの識別番号がある。所属IDを用いることで、同じ管理IDでも管理体が異なれば、別々の取引として識別されることができる。取引情報管理部101及び取引情報DB102が、取引の管理システムとしての機能を有していてもよい。
【0020】
また、取引情報に、取引する個体の製造時の識別番号(個体製造ID)を含めてもよい。個体製造IDは、個体をユニークに識別する識別子である。また、取引情報に、取引する個体の種類を識別するID(個体クラスID)を含めてもよい。個体クラスIDの例として、例えばJANコード又はEANコードがある。
【0021】
管理ID、所属ID、個体クラスID及び個体製造IDの少なくとも1つは、個体に割り当てられる識別子の一例である。
【0022】
図3は、取引情報の例を示す。
図3(A)の取引情報は、管理IDと取引の詳細情報とを含む。
図3(B)の取引情報は、所属IDと、管理IDと、取引の詳細情報とを含む。
図3(C)の取引情報は、所属IDと、管理IDと、取引の詳細情報と、個体製造IDとを含む。
図3(D)の取引情報は、所属IDと、管理IDと、取引の詳細情報と、個体クラスIDと、個体製造IDとを含む。
【0023】
一例として、自プロセスが配送業者であり、次プロセスが倉庫業者であり、倉庫業者に、前プロセスの生産業者から取得したレタス8個のうちの4個を梱包して届ける場合を考える。このとき自プロセスでは、倉庫業者に配送する4個のレタスを管理の単位として管理IDを設定することが考えられる。管理IDは、一例として、レタス4個を配送する際に用いる配送伝票の番号である。管理IDに、取引先の事業体名及び住所、並びに、商品の属性(商品名、個数、型番など)等の詳細情報を関連づけて、取引情報B102に記憶しておく。
【0024】
取引情報は、一例として次プロセスの事業体との取引を行った時点で作成され、取引情報B102に格納される。この際、取引情報は、例えばコンピュータ処理により取引を行う場合は、取引が行われた際に生成される。または、自プロセスの事業体に従事するユーザの入力に基づき取引情報を入力する場合は、当該入力された取引情報が用いられる。なお、次プロセスの事業体との取引情報の登録は、前プロセスの事業体にレタスを発注する前に行ってもかまわない。ユーザが入力を行う場合、入力部113を用いる。表示部114に、取引用の画面を表示し、この画面を介してユーザは取引情報を入力してもよい。
【0025】
入力部113は、ユーザがデータ又は指示を入力するためのデバイスであり、一例として、マウス、キーボード、タッチパネルなどである。表示部114は、画面にデータを表示するデバイスである。インタフェース115は、入力部113及び表示部114を情報管理装置100に接続するためのインタフェースである。
【0026】
取引情報管理部101は、1つ上位のプロセス(前プロセス)の事業体との取引情報を取得して、取引情報B102に格納してもよい。
【0027】
情報読出部103は、自プロセスで操作の対象となる、前プロセスから取得した個体に関連付けられた媒体から、当該個体に関する通知情報(タグ情報)を読み出す。通知情報は、一例として、当該個体に関する管理IDと、後述するイベント圧縮値とを含む。通知情報は、管理ID及びイベント圧縮値以外に、所属ID、個体クラスID及び個体製造IDの少なくとも1つを含んでいてもよい。前プロセスから取得した個体(操作前の個体)の管理IDを、操作前管理IDと呼ぶことがある。
【0028】
媒体は、一例として、ICタグ(RF(Radio Frequency)タグ、非接触タグなどとも呼ばれる)、QR(Quick Response)コード又はバーコード、メモリ装置(メモリカード等)などの情報記録媒体である。ICタグ又はメモリ装置は、個体に直接取り付けられていてもよいし、個体の梱包容器に取り付けられていてもよい。また、QRコード又はバーコード等はシールに印刷されて個体又は梱包容器に貼られていてもよいし、個体の表面に直接、印刷されていてもよい。媒体は、個体に関連づけられていれば、他のものでもよい。
【0029】
図4は、情報読出部103がICタグから読み出しを行う例を示す図である。個体123にICタグ122が取り付けられている。個体123は例えばベルトコンベアを搬送されており、情報読出部103が個体123を検知し、自動的に読み取りを行ってもよい。あるいは、情報読出部103がユーザにより把持可能な形態を有する場合、ユーザが情報読出部103を個体123にかざすことで読み取りを行ってもよい。情報読出部103は、ICタグ122からタグ情報を読み出す。読み出されたタグ情報は、受信情報DB104に格納される。個体123は、情報読出部103で読み出された後、例えば、自プロセスでの操作が行われる。但し、自プロセスでの操作が行われた後にICタグ122からの読み出しを行うことも可能である。
【0030】
図5(A)は、受信情報DB104の一例を示す。管理ID(操作前管理ID)と、イベント圧縮値とが格納されている。
図5(B)は、受信情報DB104の他の例を示す。イベント圧縮値、管理ID、所属ID、個体クラスID、個体製造IDが格納されている。
【0031】
操作取得部105は、自プロセスで操作対象となる個体(操作前の個体)に行われる操作、又は操作の種別(操作種別)を表す情報を取得する。以下では操作の種別を取得する場合を記載する。操作取得部105は、操作を取得する第1操作取得部、又は操作の種別を取得する第2操作取得部に対応する。操作取得部105は、操作により得られる個体(操作後の個体)について、個体情報管理部109を用いて、管理IDを決定する。操作後の個体に対して決定した管理IDを、操作後管理IDと呼ぶ場合がある。個体に対する操作を通じて、個体の管理IDが、操作前管理IDから操作後管理IDへと変化(個体の管理の単位が変化)することとなる。操作前管理IDは、操作の際に個体に関連づけられている媒体から読み出されてもよいし、操作を行うシステム又はユーザが事前に指定していてもよい。
【0032】
自プロセスは、一例として、第1プロセスに対応する。自プロセスの1つ上位のプロセスは一例として第2プロセスに対応する。自プロセスの1つ下位のプロセスは一例として第3プロセスに対応する。第1プロセスにおける操作前の個体は第1個体、第1個体に行われる操作は第1操作、第1操作後の個体は第2個体に対応する。第2プロセスにおける操作前の個体は第3個体、第3個体に行われる操作は第2操作、第2操作後の個体は上記第1個体に対応する。第3プロセスにおける操作前の個体は上記第2個体に対応する。第1個体に割り当てられている識別子は第1識別子、第2個体に割り当てられる識別子は第2識別子に対応する。第3個体に割り当てられている識別子は第3識別子に対応する。
【0033】
操作取得部105は、個体情報管理部109に管理IDの発行要求を送る。個体情報管理部109は、当該発行要求に基づき、管理IDを決定する。個体情報管理部109は、生成した管理IDを、操作取得部105に提供する。この管理IDは、次プロセスに対する当該個体の取引用の管理IDとして用いられる。次プロセスとの取引が締結されておりかつ管理IDが決まっている場合は、個体情報管理部109は、取引情報管理部101を介して、管理IDを取引情報B102から読み出し、読み出した管理IDを操作取得部105に提供してもよい。あるいは、まだ取引がまだ締結されていない場合や管理IDが決まっていないは、個体情報管理部109が、管理IDを生成してもよい。例えば、所定の規則で発番することや、ランダムに決定することも可能である。決定した管理IDは、次のプロセスの事業体との取引の管理IDとして(例えば伝票番号として)用いられる。どの個体の取引にどの管理IDが用いられたかは、後述する個体識別変更履歴DB108における操作前管理IDと、操作後管理IDとの対応関係から把握することも可能である。
【0034】
操作取得部105は、個体に行われた操作の種別を、例えば、ユーザの入力に基づき取得してもよい。この場合、ユーザが入力部113を用いて、操作の種別を特定する情報を入力する。または、予め操作の内容が決まっている場合には、操作取得部105は、予め決められた種別を取得してもよい。または、操作の内容又は予め決められた操作が行われたことを、センサで検知し、検知した情報に応じて、操作の種別を取得してもよい。この場合、操作取得部105は、センサに電気的に接続され、センサの検出信号に応じて操作の種別を検出する。
【0035】
操作の種別について説明する。操作の種別には、大きく「作成(Create)」、「統合(Unite)」、「分割(Divide)」、「変換(Convert)」、「削除(Delete)」がある。統合及び分割の操作については、さらに細かく種類が分けられる。但し、これらの種別に限定されず、他の種別を定義してもよい。
【0036】
[作成(Create)]
作成操作は、個体を新たに作成(生産・製造等)することである。つまり、これまで管理IDを割り当てられていない個体を新たに管理対象とすることである。
【0037】
図6は、作成操作の例を示す図である。個体に対して新規に個体を作成(生産・製造等)している。図の矩形が個体を模式的に表し、矩形内の数字は個体を模式的に識別する値である(以下同様)。
【0038】
[統合(Unite)]
統合操作は、複数の個体を1つの個体に統合する操作である。
【0039】
図7は、統合操作の例を示す図である。統合操作には複数の種類がある。図には5つの例が示されている。
【0040】
図7(1)の例は、同じ種類の複数の個体を1つの個体にまとめる操作である。
図7(1)の操作を“統合操作(1)”と記載する。具体的には、複数のレタスを1つにまとめて管理する場合が本ケースに相当する。なお、統合前のレタスは、出荷工場が違う、生産者が違う、出荷日が違うなどで、異なる管理IDが付与されていてもよいし、同じ管理IDが付与されていてもよい。
【0041】
図7(2)の例は、複数の異なる種類の個体を合成して1つの新しい個体にする操作である。
図7(2)の操作を、“統合操作(2)”と記載する。合成後の個体において、合成前の個体は個々に認識されない。なお、合成前の個体には異なる管理IDが割り当てられているのが一般的である。本例は、例えば、複数の個体を合成して、新たな個体(合成物)を作るケースに相当する。具体例として、2つの成分を合成して金属を生成する場合がある。
【0042】
図7(3)の例は、複数の異なる種類の個体を別の個体に入れて、1つの新しい個体とする操作である。
図7(3)の操作を、“統合操作(3)”と記載する。新しい個体において、元の個体の認識は維持される。具体例として、複数のレタスを1つの箱に詰める場合が本ケースに相当する。
【0043】
図7(4)の例は、ある個体を他の個体の要素にする(一部にする)操作である。
図7(4)の操作を、“統合操作(4)”と記載する。統合後の個体において、統合前の個体の認識は維持される。例えば、ある個体を他の個体の付属物にすること、あるいはある個体を他の個体の一部にする場合が、本ケースに相当する。具体例として、店舗内で買い物かかごにある商品を入れる場合が本ケースに相当する。
【0044】
統合操作(3)と統合操作(4)との違いを説明する。統合操作(3)では個体を入れた別の個体(段ボール箱など)は、後のプロセスで個体が取り出された後、管理の対象から除外される(例えば廃棄される)場合を想定している。これに対して、統合操作(4)では、他の個体は、個体が(買い物かごなど)が取り出された後も、管理が継続される場合を想定している。
【0045】
図7(5)の例は、異なる個体同士を結合させる操作である。
図7(5)の操作を、“統合操作(5)”と記載する。例えば、ある個体に別の個体を貼り合わせたり、嵌め合わせたりする場合が本ケースに相当する。例えば、ボルトをナットにねじ込んで、ボルト付きナットとする場合が本ケースに相当する。
【0046】
[分割(Divide)]
分割操作は、1つの個体を複数の個体に分割する操作である。
【0047】
図8は、分割操作の例を示す図である。分割操作には複数の種類がある。図には5つの種類の例が示されている。
【0048】
図8(1)の例は、ある個体を複数に分ける操作である。
図8(1)の操作を、“分割操作(1)”と記載する。ある個体から一部をとりわけ、同じ種類の新たな個体を作る場合が本ケースに相当する。例えば複数のレタスのまとまりの一部を取り出し、残りをそのままとする場合である。一例として、切り分けられた一方の個体の管理IDは新たに生成され、残りの個体の管理IDは前の個体の管理IDと同じである。
【0049】
図8(2)の例は、ある個体を複数の別の個体に分解する操作である。
図8(2)の操作を、“分割操作(2)”と記載する。分割操作(2)は、
図7(2)の統合操作に対応する。分解前の個体は、分割により認識できなくなる。例えば、ある個体を複数の新たな要素にばらす場合が本ケースに相当する。具体例として、金属を2つの成分に分解する場合がある。
【0050】
図8(3)の例は、ある個体から、当該個体に含まれている1つ又は複数の別の個体を取り出す操作である。
図8(3)の操作を、“分割操作(3)”と記載する。分割操作(3)は、統合操作(3)に対応する。元の個体は管理の対象から除外される。例えば、ある個体に含まれている複数の要素を複数の個体として取り出す場合が本ケースに相当する。具体例として、工場から送られてきた梱包容器から複数のレタスを取り出す場合がある。梱包容器は廃棄等され、管理の対象から除外される。
【0051】
図8(4)の例は、ある個体から、当該個体に含まれている別の要素を取り出して、元の個体も管理対象として維持する操作である。
図8(4)の操作を、“分割操作(4)”と記載する。分割操作(4)は、統合操作(4)に対応する。例えば、ある個体に含まれ要素を個体として取り出し、元の個体との一体関係を無くす場合が本ケースに相当する。具体例として、店舗内で買い物かごから商品を取り出す場合がある。一例として、商品が取り出された後の買い物は管理の対象として同じ管理IDが維持される。
【0052】
図8(5)の例は、結合されている複数の個体を分離する操作である。
図8(5)の操作を、“分割操作(5)”と記載する。分割操作(5)は、統合操作(5)に対応する。例えば、貼り合わされたり、嵌め合わされたりしている個体同士を互いに離す場合が本ケースに相当する。具体例として、ボルト付きナットからボルトを抜いて、ボルトとナットに分離する場合がある。なお、分離後のボルトとナットには新たに管理IDが付与されることが考えられる。
【0053】
[変換(Convert)]
変換操作は、ある個体を別の個体に変換する操作である。
【0054】
図9は、変換操作の例を示す図である。変換操作は、ある個体を別の個体に変換する操作である。例えば、ある個体を別の個体に作り変える場合が、本ケースに相当する。具体例として、家具の組み立てキットを組み立てて家具を作る場合、物に熱処理に施す場合、物に着色する場合などがある。
【0055】
[削除(Delete)]
削除操作は、個体を廃棄するなど、管理の対象から除外する操作である。
【0056】
図10は、削除操作の例を示す図である。
図10の例は、個体を廃棄して、管理対象から除外する操作である。破線の矩形は、廃棄された個体を模式的に表している。なお、管理対象から除外された個体の管理IDはヌル値でもよいし、特別な値を定義して用いてもよい。
【0057】
操作取得部105は、操作の時刻と、操作対象となる個体の管理ID(操作前管理ID)と、取得した操作の種別と、操作後の個体の管理ID(操作後管理ID)とを、操作履歴イベント生成部106に提供する。操作取得部105は、時刻を計数する時計を含んでいてもよいし、情報管理装置100に搭載されている時計から、操作を取得した際の時刻を読み出してもよい。
【0058】
操作履歴イベント生成部106は、操作前管理IDに対応するイベント圧縮値(操作前の個体のイベント圧縮値)を、受信情報DB104から取得する。操作履歴イベント生成部106は、イベント圧縮値と、操作の時刻と、操作の種別と、操作前管理IDと、操作後管理IDとに基づき、操作履歴イベントを生成する。
【0059】
操作履歴イベントは、一例として、以下の項目を含む。
項目1:操作の時刻
項目2:操作の種別
項目3:操作前の個体のイベント圧縮値と、操作前管理IDとの組。
項目4:操作後管理ID
【0060】
項目1における操作の時刻は、操作取得部105で操作の種別が取得された時刻である。但し、操作履歴イベントが生成された時刻を、操作の時刻として用いてもよいし、その他の代替の時刻を、操作の時刻として用いてもよい。
【0061】
項目2における操作の種別は、操作取得部105で取得された操作の種別である。
【0062】
項目3において、操作前の個体について、所属ID、個体クラスID及び個体製造IDの少なくとも1つがさらに含まれてもよい。つまり、オプションとして、操作前の個体について、所属ID、個体クラスID及び個体製造IDの少なくとも1つをさらに含んでもよい。また、操作対象の個体が複数存在し、項目1、2、4の値が複数の個体間で同じでときは、項目3にはイベント圧縮値と操作前管理IDとの組が、複数の個体分含まれてよい。
【0063】
項目4において、操作後の個体について、所属ID、個体クラスID及び個体製造IDの少なくとも一つがさらに含まれてもよい。つまり、オプションとして、操作後の個体について、所属ID、個体クラスID及び個体製造IDの少なくとも1つをさらに含んでもよい。
【0064】
操作履歴イベント生成部106は一例としてデータ生成部に対応する。操作履歴イベントは、一例として第1データ又は第3データに対応する。但し、第1データ又は第3データは、項目3の操作前の個体のイベント圧縮値、及び、項目1の操作の時刻を含まない場合もある。操作前の個体のイベント圧縮値は、少なくとも操作の種別と、操作前管理IDと、操作後管理IDとを含むデータ(第1データ又は第3データ)に関連づけられている。
【0065】
情報圧縮部107は、操作履歴イベント生成部106で生成された操作履歴イベントのデ-タを圧縮することにより、イベント圧縮値を算出する。具体的には、例えば、操作履歴イベントの各項目の文字列を結合したデータを圧縮する。圧縮は、一例として、与えられた情報を任意の固定長に匿名化する処理である。圧縮の方法の具体例として、ハッシュ関数がある。イベント圧縮値は、イベント圧縮値に対応する操作履歴イベントを検索するためのキーとして機能する。イベント圧縮値のことを、キー値と称してもよい。
【0066】
操作履歴イベントのデータを圧縮する際、一部の項目を除外してもよい。例えば、項目4に個体製造IDが含まれる場合、個体製造IDを除外してもよい。これにより、後述するように、異なる個体製造IDの個体が同じ操作を経てきたのかどうかの識別を、イベント圧縮値が同じか否かを調べるだけで容易に行うことができる。また、また、自プロセスより前のプロセスが存在しない場合は、項目3が存在しない。この場合は、項目3を除外してもよい。
【0067】
イベント圧縮値は、当該操作履歴イベント(第1データ又は第3データ)に基づく第1値の一例である。情報圧縮部107は、操作履歴イベントに基づき第1値又は第3値を算出する算出部に対応する。1つ上位のプロセスの情報管理装置の情報圧縮部で算出するイベント圧縮値又はキー値は、操作履歴イベント(第2データ)に基づく第2値の一例である。第1データ~第3データは、項目3の操作前の個体のイベント圧縮値、及び、項目1の操作の時刻を含まない場合もある。
【0068】
操作履歴イベント生成部106は、イベント圧縮値を、操作履歴イベントと対応づけて個体識別変更履歴データとする。個体識別変更履歴データを、個体識別変更履歴DB108に格納する。
【0069】
図11は,個体識別変更履歴データの一例を示す。項目1~4の組は、前述した操作履歴イベントと同じである。項目5のイベント圧縮値が、操作履歴イベントに追加されている。項目4と項目5の組は、一例として通知情報(タグ情報)に相当する。個体識別変更履歴DB108は、ライフサイクル上の各プロセスに対応して配置された情報管理装置内の操作履歴イベントを互いに連結するキーデータベースにもなる。
【0070】
個体情報管理部109は、操作後管理ID(
図11の項目4)と、操作履歴イベントのイベント圧縮値(
図11の項目5)とを含む通知情報(タグ情報)を生成する。個体情報管理部109は、生成したタグ情報を、情報書込部111を介して、操作後の個体に対する媒体に書き込む。なお、項目4が所属ID、個体クラスID、及び個体製造IDの少なくとも1つをオプションとして含む場合は、タグ情報は、所属ID、個体クラスID、及び個体製造IDの少なくとも1つをさらに含む。
【0071】
情報書込部111は、個体情報管理部109からの指示データ又は指示信号に従って、タグ情報を媒体に書き込む。媒体は、前述したように、ICタグ、メモリ装置(メモリカード)、QRコード、バーコードでもよい。QRコード又はバーコード等は、個体又はパッケージに貼り付ける伝票に記載されてもよい。書き込み時点で媒体が個体に対して取り付けられていてもよいし、書き込みが終わった後で、媒体が個体に対して取り付けられてもよい。前プロセスから取得した個体にICタグ等が付いている場合、当該ICタグ等から前プロセスの個体のタグ情報を消去して、新たにタグ情報を書き込んでもよい。あるいは、当該ICタグをはずし、新たにICタグを取り付けてもよい。前プロセスから取得した個体にシール状のQRコード等が取り付けられている場合、当該シールに重ねて、新たにQRコード等のシールを貼り付けてもよい。
【0072】
図12は、情報書込部111がICタグに書き込みを行う例を示す。個体125にICタグ124が取り付けられている。個体は例えばベルトコンベアを搬送されており、情報書込部111が個体のIC124に書き込みを行う。情報書込部111がユーザにより把持可能な形態を有する場合、ユーザが情報書込部111をICタグ124にかざして、情報を書き込んでもよい。このように個体情報管理部109は、情報書込部111を用いてICタグ124に、タグ情報を書き込む。この後、個体125は、例えば、配送業者等により次プロセスに送られる。
【0073】
表示部114は、例えば、個体識別変更履歴DB108の内容を表示してもよい。
【0074】
個体情報管理部109は、ユーザの指示に基づき、ライフサイクルにおける個体の管理の単位の変化、すなわちどのような種別の操作を経てきたかを解析する。一例として、当該管理IDの変化の変遷を表したデータ(連鎖データ)を生成する。データは、グラフ形式でもよい。このために、個体情報管理部109は、前プロセス個体情報取得部112を用いて、上位のプロセス群(前プロセス及びさらに上位の1つ以上のプロセス)において行われた操作の時刻と、操作の種別と、操作前の個体の管理ID(操作前管理ID)と、操作後の管理ID(操作後管理ID)等とを含む解析用データを取得する。取得した解析用データを隣接するプロセス間同士で、同じ管理IDを介して結合することにより、解析用データが連鎖状に結合された連鎖データを得る。連鎖データは、個体の管理の単位の変化、すなわち操作の履歴を表す。連鎖データを表示部114に表示する。以下、連鎖データをグラフ形式で、連鎖グラフとして生成する動作について
図13を用いて説明する。
【0075】
図13は、連鎖グラフを生成する動作の説明図である。自プロセスをプロセスN、1つ上位のプロセスをプロセスN-1、さらに1つ上位のプロセスをN-2としている。各プロセスに対応して情報管理装置N、N-1、N-2が配置されている。
【0076】
自プロセス(プロセスN)の情報管理装置Nの個体情報管理部109は、ユーザが指示した個体の管理ID(自プロセスにおける操作後の個体の管理ID)を特定する。特定した管理IDを項目4に含む個体識別変更履歴データを個体識別変更履歴DB108(
図11参照)において特定する。ここではユーザは管理IDを指定したが、管理ID及び個体製造IDの組など、個体識別変更履歴データの項目4に含まれる任意の情報を指定してもよい。
【0077】
情報管理装置Nの個体情報管理部109は、特定した個体識別変更履歴データにおいて、項目1の時刻と、項目2の操作の種別と、項目3の操作前管理IDと、項目4の操作後管理IDとを対応づけて、自プロセスにおける解析用データとする。当該解析用データは一例として第1データに対応する。
【0078】
また、情報管理装置Nの個体情報管理部109は、特定した個体識別変更履歴データから項目3におけるイベント圧縮値(前プロセスのイベント圧縮値)を特定する。特定したイベント圧縮値を含む情報取得要求A1を生成し、プロセスN-1の情報管理装置N-1に送信する。情報取得要求A1に、項目3の操作前管理IDを含めてもよい。情報取得要求A1は一例として第2情報取得要求に対応する。
【0079】
情報管理装置N-1における個体情報管理部109は、情報取得要求A1に含まれるイベント圧縮値を項目5に含む個体識別変更履歴データを個体識別変更履歴DB108(
図11参照)から特定する。特定した個体識別変更履歴データから、操作の時刻と、操作の種別と、操作前管理IDと、操作後管理IDとを特定する。特定した操作の時刻と、操作の種別と、操作前管理IDと、操作後管理IDとを対応づけて前プロセス(プロセスN-1)における解析用データB1とする。解析用データB1をプロセスNにおける情報管理装置Nに送信する。情報管理装置Nの前プロセス個体情報取得部112は、プロセスN-1における解析用データB1を受信して、情報管理装置Nの個体情報管理部109に提供する。解析用データB1は一例として第2データに対応する。
【0080】
また、情報管理装置N-1の個体情報管理部109は、特定した個体識別変更履歴データから項目5のイベント圧縮値を特定する。情報管理装置N-1の前プロセス個体情報取得部112は、特定したイベント圧縮値を含む情報取得要求A2を生成し、プロセスN-2の情報管理装置N-2に送信する。情報取得要求A2に、項目3の操作前管理IDを含めてもよい。
【0081】
情報管理装置N-2は、情報管理装置N-1と同様の動作により、プロセスN-2における解析用データB2を生成し、情報管理装置N-1に送信する。情報管理装置N-1の前プロセス個体情報取得部112は、情報管理装置N-2から受信した解析用データB2を、個体情報管理部109を介して、情報管理装置Nに送信する。情報管理装置Nの前プロセス個体情報取得部112は、N-2プロセスにおける解析用データB2を受信し、受信した解析用データB2を個体情報管理部109に提供する。
【0082】
以降、N-3プロセス以前の情報管理装置に対しても、同様の動作を繰り返す(図におけるプロセスN-3に送信する情報取得要求A3、プロセスN-3における解析用データB3参照)。
【0083】
このようにして、プロセスNの個体情報管理部109には、自プロセスであるNプロセス及びそれより上位のプロセス群(少なくとも1つの上位のプロセス)の解析用データが集約される。なお、あるプロセスにおいて上位のプロセスが存在しない場合は、それ以上、上位のプロセスにさかのぼることは行わない。情報管理装置Nの個体情報管理部109は、取得した各プロセスの解析用データを結合することで、連鎖グラフを生成する。
【0084】
情報管理装置Nが、1つ下位のプロセスN+1の情報管理装置から情報取得要求を受けた場合は、情報管理装置N-1が情報管理装置Nから情報取得要求を受けた場合の動作と同様にして、解析用データを生成する。すなわち、プロセスNにおける操作履歴イベントに基づき解析用データを生成する。そして、生成した解析用データを、プロセスN+1の情報管理装置に送信する。1つ下位のプロセスN+1の情報管理装置から受信する情報取得要求は、一例として第1情報取得要求に対応する。
【0085】
上述した動作において、各プロセスから送信する情報取得要求に管理IDに加えて、所属ID、個体クラスID及び個体製造IDの少なくとも1つがさらに含まれていてもよい。また、各プロセスから収集する解析用データに、各プロセスにおける操作後の個体の所属ID、個体クラスID及び個体製造IDの少なくとも1つが含まれていてもよい。
【0086】
また上述した動作では、着目する個体について、上位の各プロセスの解析用データを取得したが、各プロセスにおける操作後管理IDに対応する取引情報を収集してもよい。これにより、個体の取引の詳細を把握できる。例えばどこで生産され、どのような事業者でどのような操作がなされ、どのような流通経路を経てきたかなどを把握できる。
【0087】
図14は、情報管理装置Nの個体情報管理部109により生成された連鎖グラフの例を模式的に示す。プロセスN-2の解析用データにおいて操作後の個体3の管理IDと、プロセスN-1の解析用データにおいて操作前の個体3の管理IDとが結合されている(太い矢印参照)。プロセスN-1の解析用データにおける操作後の個体1の管理IDと、プロセスNの解析用データにおける操作前の個体1の管理IDとが結合されている。この連鎖グラフにおいて、プロセスN-2の解析用データから、個体1と、個体2とが統合操作(3)により個体3へ統合されたことが分かる。なお、個体製造IDを用いる場合は具体的に個々の個体まで識別できるが、個体製造IDを用いない場合は、個々の個体は識別されない。あくまで管理される単位で個体のこれまで受けた操作の種別の遷移及び取引が確認される。
【0088】
また、プロセスN-1の解析用データから、個体3から、個体1と個体2とを、分割操作(3)で取り出し、個体3は管理の対象から除外されていることが分かる(例えば個体1と個体2の搬送に用いた梱包容器を廃棄した場合など)。また、プロセスNの解析用データから、個体1の一部を個体2として取り出し、残りを個体1のままとしていることが分かる。すなわち、分割操作(1)で個体1の一部を個体2として分離したことが分かる。このようにプロセスNで着目する個体(例えばユーザが指定した管理IDを有する個体2)について、どのような種別の操作を辿ってきたかを把握することができる。
【0089】
また各プロセスにおける操作後の個体の取引情報を、連鎖グラフにおける各プロセスにおける操作後の個体に対応付けて表示してもよい。
【0090】
図15に、プロセスN-2、プロセスN-1、プロセスN-1の操作後の個体に取引情報を関連付けた例を示す。ここではプロセスNの操作後の個体2について着目している。取引情報は、管理IDを介して、各プロセスの情報管理装置の取引情報DBから取得される。これにより、個体がどこで生産され、どのような事業者でどのような操作がなされ、どのような流通経路を経てきたかなどの詳細を把握できる。
【0091】
また、情報管理装置の個体情報管理部109は、収集した解析用データに基づき、プロセス間の管理の変化の変遷、すなわち、操作の種別の遷移に矛盾がないか否かを判定することができる。一例として、解析用データ間で同じ管理IDで結合できない場合は、連鎖グラフを作成できず、この場合、管理IDの変化、又は操作の種別の遷移の変遷に矛盾があると判定する。
【0092】
図16は、連鎖グラフの生成に失敗した例を模式的に示す。この場合、プロセスN-2とプロセスN-1間で解析用データの結合できない。プロセスN-2の操作後の個体の管理IDと、プロセスN-1の操作前の個体の管理IDとが一致しないためである。よって、この場合、管理ID間の結合ができなかった箇所を、矛盾のある箇所として表示する。図では×印によって、矛盾のある箇所が識別されている。矛盾が発生する理由の例として、プロセスN-2の操作後の個体のICタグに書き込みの際にエラーがあったことがある。例えばイベント圧縮値は正しく書き込まれたが、操作後の個体の管理ID(操作後管理ID)が書き込みエラーで別の値に変更されたことがある。あるいは、プロセスN-2の操作後の個体に取り付けられているICタグから読み出しの際にエラーがあったなどがある。例えばイベント圧縮値は正しく読み込まれたが、操作後の個体の管理ID(操作後管理ID)が読み込みエラーで別の値に変更されたことがある。または何らかのユーザのオペレーションエラーで、管理IDが別の値に書き換えられてしまったことがある。矛盾が生じる理由は他にも様々考えられる。
【0093】
また、別の例を示す。前述したように、
図7の統合操作(3)と
図8の分割操作(3)は対応関係にある。したがって、統合操作(3)の次に分割操作(4)があるのは矛盾である。そこで、予め矛盾する操作の種別の遷移パターン(矛盾パターン)を定義しておき、当該矛盾パターンに一致する遷移があるときは、操作の種別の変遷に矛盾があると判定する。
【0094】
図17は、操作の種別の遷移に矛盾がある例を示す。統合操作(3)の次に分割操作(4)が行われている。矛盾パターンとして、“統合操作(3)→分割操作(4)”が登録されているとする。この場合、プロセスN-2とプロセスN-1間の遷移に矛盾があると判定できる。矛盾パターンは、個体情報管理部109からアクセス可能な任意の記憶装置に格納しておけばよい。矛盾パターンは1つでもよいし、複数でもよい。
【0095】
また機械学習等を用いて操作の種別の遷移の矛盾を検出する方法も可能である。例えば、過去における様々な個体に対する操作履歴から操作種別の遷移パターンを機械学習により取得する。今回の操作種別の遷移パターンが、過去の遷移パターンのいずれにも一致しない、もしくはいずれの遷移パターンにも含まれない場合は、矛盾があると判定する。
【0096】
または、グラフマッチング等の手法を用いて、今回の遷移パターンと、過去の遷移パターンとが類似するかを調べ、いずれの過去の遷移パターンにも類似しないときは矛盾があると判定してもよい。例えば、今回の遷移パターンと、過去の遷移パターンとの類似度を計算する。類似度は、遷移パターン同士がどの程度近似しているかを表す。類似度の値が大きいほど、両遷移パターンは近似しているとする。類似度の計算方法の例を示す。各操作種別に異なる値を割り当て、遷移パターンを、複数の操作種別に対応する複数の値の列(値列)によって表す。遷移パターン同士の値列間で、絶対値差分和(絶対値差分和のべき乗でもよい)を計算する。すなわち、遷移パターン同士の対応する要素間で値の差分の絶対値を計算し、絶対値を要素間で合計する。絶対値差分和の逆数を類似度とする。類似度が閾値以上であれば、両遷移パターンは類似していると判定する。類似度が閾値未満であれば、両遷移パターンは類似していないと判定する。なお、値列同士の長さが異なる場合は、値列の短い方を、長い方の値列の一端側に合わせて、類似度を計算し、長い方の値列の他端まで順次、1要素ずつシフトしながら各位置で、類似度を計算する。計算された類似度の最大値、最小値、平均値又は中央値などを、両遷移パターンの類似度として採用する。
【0097】
上述した実施形態では、イベント圧縮値を計算するため
図11の項目1~4参照を用いたが、項目4(操作後管理ID等)を用いずに、イベント圧縮値を計算してもよい。すなわち、項目1~3を対象にイベント圧縮値を計算してもよい。これにより、自プロセスにおけるイベント圧縮値(項目5)が同じで、操作後管理IDが異なるケースを許容できる。これにより、次プロセスでは、自プロセスで異なる操作が行われた複数の個体が、自プロセスより前のプロセスでは同じ操作を経たことが、イベント圧縮値と操作後管理IDとの組を比較することで把握できる。
【0098】
上述した実施形態では、1つのプロセスでは1つの操作を行うことを想定して説明を行っているが、プロセス内で複数の操作が行われてもよい。この場合、プロセス内で複数のサブプロセスが存在するとし、サブプロセスごとに1つの操作が行われるとし、これまでの動作を行うと解釈すればよい。複数のサブプロセスに対して1台の情報管理装置100が配置されてもよいし、情報管理装置100がサブプロセスごとに配置されていてもよい。複数のサブプロセスに対して1台の情報管理装置100を配置する場合、サブプロセス間で媒体(ICタグ等)に対するタグ情報の書き込み及び読み出しは省略してもよい。
【0099】
(具体例1)
図18は、本実施形態の具体例1を説明する図である。プロセス1において、レタスを見込みで20個生産し、生産後、プロセス2の事業体から8個出荷の注文を受けるとする。プロセス1では8個のレタスを20個のレタスから取り分けて、梱包容器(段ボール箱等)に詰めて出荷する。プロセス2では、受け取った梱包容器から8個のレタスを取り出し、4個ずつの2組に分けて、それぞれ梱包容器に詰めてプロセス3に配送する。プロセス3では、プロセス2から受け取った各梱包容器内のレタスを複数の棚に分けて配置する。本例においては、個体に関する識別子として、管理IDに加え、所属ID及び個体クラスIDも用いるとする。但し、レタスに個体製造IDは割り当てられていないとする。
【0100】
[プロセス1]
プロセス1では2つのサブプロセスが行われ、最初のサブプロセスで20個分のレタスを生産する。この生産に対して、操作の種別として作成操作を取得する。作成操作は、例えば、“()create1”と表される。例えばユーザの入力により作成操作を指定する。なお、数量は指定しないが、数量を指定することも排除されない。プロセス1より前のプロセスは存在しないため、前プロセスのタグ情報は存在しない。すなわち、イベント圧縮値、及び操作前管理ID(
図11の項目3)はヌル値である。また、レタスの所属IDはA671、管理ID(例えば20個のレタスの生産オーダの伝票番号)はM792、個体クラスID(レタスの種類番号)はC675であるとする。
すなわち、(所属ID、管理ID、個体クラスID)=(A671、M792、C675)である。
【0101】
説明のため、所属IDを表す文字列の先頭はA、管理IDを表す文字列の先頭はM、個体クラスIDを表す文字列の先頭はCを付けるが、実際には任意の文字列など、他の形態でかまわない。
【0102】
()create1の時刻は、2019/01/11/11:30:30であるとする。
【0103】
前プロセスのタグ情報は存在しないから、2019/01/11/11:30:30、()create1、(A671、M792、C675)の文字列の結合を圧縮する。イベント圧縮値が、例えば、SHA12345として算出される。説明のためイベント圧縮値を表す文字列の先頭にはSHAを付けるが、実際には任意の文字列など、他の形態でかまわない。
【0104】
さらにプロセス1では、2番目のサブプロセスとして、20個のレタスのうち8個を取り出し(分割)、8個をまとめて(統合)、プロセス2に出荷する。つまり分割操作(1)と、統合操作(3)との連続が、操作の種別として取得される。この連続した操作は、例えば“(divide1)unite3”と表記される。なお、各操作を別々に行ってもよいが、連続して行うことで、処理を簡略化できる。例えば、管理IDの発番等の回数を1回分低減できる。
【0105】
(divide1)unite3の時刻は、2019/01/16/11:30:30であるとする。
【0106】
(divide1)unite3の前に行われたサブプロセスに対して、(イベント圧縮値、所属ID、管理ID、個体クラスID)は、(SHA12345、A671、M792、C675)である。
【0107】
2番目のサブプロセスの対象とする個体(8個のレタスの集合)の所属IDはA366、管理IDはM485、個体クラスIDはヌル値とする。
【0108】
よって、2019/01/16/11:30:30、(divide1)unite3、(SHA12345、A671、M792、C675)、(A366、M485)の文字列の結合を圧縮する。イベント圧縮値として、例えばSHA12378が算出される。
【0109】
(イベント圧縮値、所属ID、管理ID、個体クラスID)として、(SHA12378、A366、M485、C675)を含むタグ情報が媒体131に格納される。個体クラスIDは、前サブプロセスの値を用いている。媒体131は、例えば8個のレタスを配送する梱包容器に取り付けられる。あるいは媒体131は、各レタスに取り付けられてもよい。図では各レタスに媒体131が取り付けられる例が示されているが、梱包容器に取り付けられてもよい。
【0110】
なお1番目のサブプロセスでは媒体へのタグ情報の書き込みを行わなかったが、媒体へのタグ情報の書き込みを行い、2番目のサブプロセスでタグ情報の読み出しを行ってもよい。
【0111】
[プロセス2]
プロセス2では、プロセス1から受け取った梱包容器から8個のレタスを取り出し、4個ずつの2組に分けて梱包容器で配送する。つまり分割操作(3)と統合操作(3)との連続が、操作の種別として取得される。この連続した操作は、“(divide3)unite3”と表記される。
【0112】
(divide3)unite3の時刻は、2019/01/21/11:30:30であるとする。
【0113】
梱包容器に取り付けられている媒体から読み出した前プロセス(プロセス1の2番目のサブプロセス)のタグ情報から、(イベント圧縮値、所属ID、管理ID及び個体クラスID )として、(SHA12378、A366、M485、C675)が、得られる。
【0114】
プロセス2における一方の操作後の個体(4個のレタスの集合)の所属IDはA235、管理IDはM451(配送オーダの伝票番号など)、個体クラスIDはヌル値とする。
【0115】
よって、2019/01/21/11:30:30、(divide3)unite3、(SHA12345、A366、M485、C675)、(A235、M451)の文字列の結合を圧縮する。イベント圧縮値として、例えば、SHA22321が算出される。
【0116】
(イベント圧縮値、所属ID、管理ID、個体クラスID)として、(SHA22321、A235、M451、C675)を含むタグ情報が媒体132Aに格納される。個体クラスIDは、前プロセスの値を用いている。媒体132Aは、例えば4個のレタスを配送する梱包容器に取り付けられる。あるいは媒体132Aは、各レタスに取り付けられてもよい。図では各レタスに媒体132Aが取り付けられる例が示されているが、梱包容器に取り付けられてもよい。梱包容器はプロセス3の事業者に配送される。
【0117】
プロセス2における他方の操作後の個体(4個のレタスの集合)についても、同様の操作(divide3)unite3が取得される。時刻は、上記と同じ2019/01/21/11:30:30とする。
【0118】
前プロセス(プロセス1の2番目のサブプロセス)からのタグ情報における(イベント圧縮値、所属ID、管理ID及び個体クラスID)は、上記と同じ(SHA12378、A366、M485、C675)である。
【0119】
プロセス2における他方の操作後の個体(4個のレタスの集合)の所属IDはA235、管理IDはM452(配送オーダの伝票番号など)、個体クラスIDはヌル値とする。
【0120】
よって、2019/01/21/11:30:30、(divide3)unite3、(SHA12345、A366、M485、C675)、(A235、M452)の文字列の結合を圧縮する。イベント圧縮値として、例えば、SHA22348が算出される。
【0121】
(イベント圧縮値、所属ID、管理ID、個体クラスID)として、(SHA22348、A235、M452、C675)を含むタグ情報が媒体132Bに格納される。媒体は、例えば4個のレタスを配送する梱包容器に取り付けられる。梱包容器がプロセス3の事業者に配送される。あるいは媒体132Bは、各レタスに取り付けられてもよい。図では各レタスに媒体132Bが取り付けられる例が示されているが、梱包容器に取り付けられてもよい。梱包容器はプロセス3の事業者に配送される。
【0122】
[プロセス3]
プロセス3では、プロセス2から配送された一方の梱包容器に入っている4つのレタスを2つずつの2組に分けて、別々の棚に配置する。プロセス2から配送される他方の梱包容器についても同様の操作を行う。以下では、一方の梱包容器を対象に説明する。
【0123】
一方の梱包容器から4個のレタスを取り出し、2個ずつの2組に分けて別々の棚に配置する。つまり分割操作(3)と、統合操作(4)との連続が、操作の種別として取得される。この連続した操作は、“(divide3)unite4”と表記される。
【0124】
一方の組について、(divide3)unite4の時刻が2019/01/22/11:30:30であるとする。
【0125】
梱包容器に取り付けられている媒体から読み出した前プロセス(プロセス2)のタグ情報から、(イベント圧縮値、所属ID、管理ID及び個体クラスID)として、(SHA22321、A235、M451、C675)が、得られる。
【0126】
プロセス3の操作後の個体である一方の組(2個のレタスの集合)の所属IDはA183、管理IDはM421、個体クラスIDはヌル値とする。管理IDは一例として棚を識別する番号である。
【0127】
よって、2019/01/22/11:30:30、(divide3)unite4、(SHA22321、A235、M451、C675、(A183、M421)の文字列の結合を圧縮する。イベント圧縮値として、例えば、SHA24321が算出される。前述したように操作履歴イベントの項目4、すなわち(A183、M421)を用いずに、イベント圧縮値を算出してもよい。
【0128】
(イベント圧縮値、所属ID、管理ID、個体クラスID)として、(SHA24321、A183、M421、C675)を含むタグ情報が媒体133に格納される。個体クラスIDは、前プロセスの値を用いる。媒体133はレタスの組に取り付けられる。あるいは媒体133は各レタスに取り付けられてもよい。図では各レタスに媒体133が取り付けられているが、レタスの組に対して取り付けられてもよい。レタスの組は棚Aに格納される。なお、棚Aには、別のタグ情報を含む媒体135が取り付けられた他の食材も配置されている。
【0129】
他方の2つのレタスの組についても、(divide3)unite4の時刻が2019/01/22/11:30:30であるとする。
【0130】
前プロセス(プロセス2)のタグ情報から、上述と同様、(イベント圧縮値、所属ID、管理ID及び個体クラスID)として、(SHA22321、A235、M451、C675)が、得られる。
【0131】
プロセス3の操作後の個体である他方の組(2個のレタスの集合)の所属IDはA183、管理IDはM422、個体クラスIDはヌル値とする。
【0132】
よって、2019/01/22/11:30:30、(divide3)unite4、(SHA22321、A235、M451、C675、(A183、M422)の文字列の結合を圧縮する。イベント圧縮値として、例えば、SHA24373が算出される。前述したように操作履歴イベントの項目4、すなわち(A183、M422)を除外してイベント圧縮値を算出してもよい。
【0133】
(イベント圧縮値、所属ID、管理ID、個体クラスID)として、(SHA24373、A183、M422、C675)を含むタグ情報が媒体134に格納される。媒体134は他方の組に取り付けられる。あるいは媒体134は各レタスに取り付けられてもよい。図では各レタスに媒体134が取り付けられているが、他方の組に対して取り付けられてもよい。他方の組は棚Nに格納される。
【0134】
(具体例2)
具体例1では、各レタスに個体製造IDは割り当てられていなかったが、本例で、レタスに個々に個体製造IDが割り当てられている場合を記載する。具体例1と同じ説明は省略する。
【0135】
[プロセス1]
出荷オーダのあった8個のレタスのそれぞれについて作成操作(()create1)を取得する。つまり8回、作成操作を取得する。8回の作成操作の時刻は同じ2019/01/11/11:30:30であるとする。1つ目のレタスについて所属ID、管理ID(製造オーダの伝票番号等)、個体クラスID、個体製造IDを、(A671、M792、C675、I555)のデータセットとして得る。説明のため個体製造IDを表す文字列の先頭にはIを付けるが、実際には任意の文字列など、他の形態でかまわない。1つめのレタスの当該データセットをND1とする。他の7個のレタスについても同様に決定し、データセットND2~8を得る。所属ID、管理ID、個体クラスIDは同じであるが、個体製造IDのみがレタスごとに異なる。
【0136】
1つ目のレタスについて、操作の時刻と、()create1と、データセットND1における所属ID、管理ID、個体クラスIDとの結合を圧縮する。イベント圧縮値として、例えば、SHA56789が算出される。イベント圧縮値の算出の際、個体製造IDは用いない。2~8つ目のレタスについても同様にしてイベント圧縮値を算出する。各作成操作の時刻は同じであるため、各レタスに対するイベント圧縮値は同じになる。
【0137】
8個のレタスを出荷用に梱包容器に詰める操作を行う。レタスごとに統合操作(3)が取得される。統合操作(3)の時刻は各レタスで同じ2019/01/16/11:30:30である。操作後の個体は8個のレタスの集合又は8個のレタスの入った梱包容器である。所属IDはA366、管理IDはM485(例えば出荷オーダの伝票番号等)であり、個体クラスID及び個体製造IDはヌル値とする。
【0138】
1つ目のレタスについて、2019/01/22/11:30:30、unite3、(SHA56789、A671、M792、C675)、(A366、M485)の文字列の結合を圧縮する。イベント圧縮値として、例えば、SHA5789が算出される。イベント圧縮値の算出の際、個体製造IDは用いない。2~8つ目のレタスについても同様にしてイベント圧縮値を算出する。統合操作(3)の時刻が同じであるため、イベント圧縮値は同じになる。
【0139】
1つ目のレタスについて、(イベント圧縮値、所属ID、管理ID、個体クラスID及び個体製造ID)として、(SHA56789、A366、M485、C675、I555)を含むタグ情報が生成され、媒体131(
図18参照)に格納される。媒体131は1つ目のレタスに取り付けられる。2~8つ目のレタスについても同様にしてタグ情報が生成され、それぞれ媒体131に格納され、媒体131はそれぞれレタスに取り付けられる。2~8つ目のレタスに対するタグ情報は個体製造IDのみが異なり、その他の項目の値は同じである。
【0140】
[プロセス2]
プロセス2では、プロセス1から受け取った8個のレタスを梱包容器から取り出し、4つを1つの組として梱包容器でプロセス3に配送する。残り4つについても同様に1組として梱包容器で配送する。以下では最初の4つレタスの組を配送する例について説明する。
【0141】
1つ目のレタスを梱包容器に詰めることに対応して、統合操作(3)(()unite3)を取得する。統合操作の時刻が2019/01/21/11:30:30であるとする。
【0142】
前プロセス(プロセス1)のタグ情報から、(イベント圧縮値、所属ID、管理ID、個体クラスID及び個体製造ID)として、(SHA56789、A366、M485、C675、I555)が、得られる。
【0143】
プロセス2の操作後の個体の所属IDはA235、管理IDはM451、個体クラスIDはヌル値とする。
【0144】
よって、2019/01/21/11:30:30、()unite3、(SHA56789、A366、M485、C675)、(A235、M451)の文字列の結合を圧縮する。イベント圧縮値として、例えば、SHA57812が算出される。イベント圧縮値を算出する際、タグ情報における個体製造IDは用いない。
【0145】
1つ目のレタスについて、(イベント圧縮値、所属ID、管理ID、個体クラスID及び個体製造ID)として、(SHA57812、A235、M451、C675、I555)を含むタグ情報が生成され、レタスに対する媒体132A(
図18参照)に格納される。実際にはプロセス1で取り付けられた媒体131にタグ情報を上書きしてもよい。2~4つ目のレタスについても同様にしてタグ情報が生成されて、それぞれ当該レタスに対する媒体132Aに格納される。2~4つ目のレタスについても実際にはプロセス1で取り付けられた媒体131にタグ情報を上書きしてもよい。1~4つ目のレタスに対するタグ情報は個体製造IDのみが異なり、その他の項目の値は同じである。
【0146】
[プロセス3]
プロセス3では、プロセス2から配送された一方の梱包容器に入っている4つのレタスを2つずつの2組に分けて、別々の棚に配置する。プロセス2から配送される他方の梱包容器についても同様の操作を行う。以下では、一方の梱包容器を対象に説明する。
【0147】
一方の梱包容器から4個のレタスを取り出し、2個ずつの2組に分けて別々の棚に配置する。この操作は、各組の各レタスについて、統合操作(4)(()unite4)を行うことに相当する。
【0148】
1つ目の組の1つ目のレタスについて、()unite4の時刻が2019/01/22/11:30:30であるとする。媒体に格納されているタグ情報から、(イベント圧縮値、所属ID、管理ID、個体クラスID及び個体製造ID)として、(SHA57812、A235、M451、C675、I555)が得られる。
【0149】
プロセス3の操作後の個体(棚に置かれた個体)の所属IDはA183、管理IDはM421、個体クラスID、個体製造IDはヌル値とする。
【0150】
よって、2019/01/22/11:30:30、()unite4、(SHA57812、A235、M451、C675)、(A183、M421)の文字列の結合を圧縮する。イベント圧縮値として、例えば、SHA59923が算出される。イベント圧縮値の算出には、タグ情報における個体製造IDは用いない。
【0151】
(イベント圧縮値、所属ID、管理ID、個体クラスID及び個体製造ID)として、(SHA59923、A235、M451、C675、I555)を含むタグ情報が生成され、媒体133に格納される。2つ目のレタスについても同様にしてタグ情報が生成され、当該レタスに対する媒体133に格納される。実際にはプロセス1で取り付けられた媒体131又はプロセス2で取り付けられた媒体132Aにタグ情報を上書きしてもよい。1つ目のレタスと2つ目のレタスのタグ情報は、個体製造IDが異なる以外は同じである。
【0152】
2つ目の組の各レタスについては、1つ目の組のレタスの場合と同様にして、タグ情報が生成され、ぞれぞれのレタスに対する媒体134に格納される。実際にはプロセス1で取り付けられた媒体131又はプロセス2で取り付けられた媒体132Aにタグ情報を上書きしてもよい。2つ目の組の各レタスのタグ情報は、個体製造IDが異なる以外は同じである。また、2つ目の組の各レタスのタグ情報は、1つ目の組のレタスと所属ID及び個体クラスIDが同じであるが、イベント圧縮値、管理ID及び個体製造IDは異なる。
【0153】
(具体例3)
図19は、本実施形態の具体例3を説明する図である。プロセス11において、冷蔵庫の棚から3つの食材としてレタス、ジャガイモ、ベーコンをそれぞれ複数ある中から取り出し、取り出した食材を用いて加工食品を作り、加工食品を売る場合を想定する。各食材には媒体が取り付けられているとする。各食材に個体製造IDは割り当てられていないとする。また、本例では管理IDに加え、所属ID及び個体クラスIDを用いるとする。図において、媒体141が取り付けられている食材がレタス、媒体142が取り付けられている食材がジャガイモ、媒体143が取り付けられている食材がベーコンである。
【0154】
3つの食材を取り出し、調理して加工食品を作る操作の種別として、3つの分割操作(1)と、統合操作(2)との連続が取得される。この連続した操作は、“(divide1,divide1,divide1)unite2”と表記される。各分割操作は食材を冷蔵庫から取り出す際に、センサで食材が取り出されたことを検知し、divide1を取得してもよい。3つの食材が調理器に投入されることを検知して、unite2を取得してもよい。操作の取得は、ユーザが3つの食材を取り出したことと、3つの食材を調理することを指示する入力を行うことで検知してもよい。ここで記載した以外の方法で検知してもよい。(divide1,divide1,divide1)unite2の時刻は、2019/01/31/11:30:30であるとする。
【0155】
レタスの媒体141から読み出したタグ情報から、(イベント圧縮値、所属ID、管理ID及び個体クラスID)として、(SHA24321、A183、M421、C675)が、得られる。
ジャガイモの媒体142から読み出したタグ情報から、(イベント圧縮値、所属ID、管理ID及び個体クラスID)として、(SHA25321、A183、M423、C360)が、得られる。 ベーコンの媒体143から読み出したタグ情報から、(イベント圧縮値、所属ID、管理ID及び個体クラスID)として、(SHA26321、A183、M424、C485)が、得られる。
【0156】
プロセス11の操作後の加工食品の所属IDはA945、管理IDはM257、個体クラスIDはI332とする。
【0157】
よって、2019/01/31/11:30:30、(divide1,divide1,divide1)unite2、(SHA24321、A183、M421、C675)、(SHA25321、A183、M423、C360)、(SHA26321、A183、M424、C485)、(A945、M257、I332)の文字列の結合を圧縮する。イベント圧縮値として、例えば、SHA27321が算出される。
【0158】
(イベント圧縮値、所属ID、管理ID、個体クラスID)として、(SHA27321、A945、M257、I332)を含むタグ情報が媒体144に格納される。媒体144は、加工食品のパッケージ等に取り付けられる。なお、加工食品が売れた場合は、削除操作(
図10参照)を行うことによって、加工食品を管理の対象から除外してもよい。
【0159】
本例では、レタスを複数有る中から一部を使用したが、レタスの全てを使用する場合、操作の種別として、分割操作(4)を取得すればよい。他の食材についても同様である。
【0160】
(具体例4)
具体例3では、各食材に個体製造IDは割り当てられていなかったが、本例で、各食材に個体製造IDが割り当てられている場合を記載する。具体例3と同じ説明は省略する。 [プロセス11]
本例でも、具体例3と同様、3つの分割操作(1)と、統合操作(2)との連続が操作の種別として取得される。この連続した操作は、“(divide1,divide1,divide1)unite2”と表記される。(divide1,divide1,divide1)unite2の時刻は、2019/01/31/11:30:30であるとする。
【0161】
レタスの媒体141から読み出したタグ情報から、(イベント圧縮値、所属ID、管理ID、個体クラスID及び個体製造ID)として、(SHA71001、A183、M421、C675、I555)が、得られる。
ジャガイモの媒体142から読み出したタグ情報から、(イベント圧縮値、所属ID、管理ID、個体クラスID及び個体製造ID)として、(SHA71589、A183、M423、C360、I660)が、得られる。
ベーコンの媒体143から読み出したタグ情報から、(イベント圧縮値、所属ID、管理ID、個体クラスID及び個体製造ID)として、(SHA71525、A183、M424、C485、I770)が、得られる。
【0162】
プロセス11の操作後の加工食品の所属IDはA945、管理IDはM257、個体クラスIDはI332、個体製造IDはI150とする。
【0163】
よって、2019/01/31/11:30:30、(divide1,divide1,divide1)unite2、(SHA71001、A183、M421、C675)、(SHA71589、A183、M423、C360)、(SHA71525、A183、M424、C485)、(A945、M257)の文字列の結合を圧縮する。イベント圧縮値として、例えば、SHA77321が算出される。イベント圧縮値の算出には個体製造IDを用いてない。
【0164】
(イベント圧縮値、所属ID、管理ID、個体クラスID及び個体製造ID)として、(SHA77321、A945、M257、I332、I150)を含むタグ情報が生成され、媒体144に格納される。
【0165】
本例においても、具体例3で記載したのと同様、冷蔵庫内のレタスの全てを使用する場合、操作の種別として、分割操作(4)を取得すればよい。他の食材についても同様である。
【0166】
本実施形態では、操作取得部105が操作の種別を取得する場合を主に記載したが、操作自体を取得してもよい。例えば、レタスを生産する場合、実施形態では“作成操作”を取得したが、操作自体を取得する場合、“レタスを生産する”を取得する。この場合も、これまで記載した各部の説明において、“操作の種別”を“操作”に読み替えることで同様の動作が可能である。
【0167】
本実施形態によれば、個体識別変更履歴データ又は操作履歴イベントを各プロセスで生成して分散管理することで、管理の単位が変化する個体の情報管理、例えば個体がこれまで受けてきた操作の種別の遷移の把握を容易に行うことができる。複数の事業体で共通のマッピングテーブルを整備することは不要であり、コストを抑制できる。また、各プロセスでの操作履歴をプロセスごとに分散管理することで、スケーラビリティも保つことできる。また、個体を管理ID等で管理することで、個体が個体製造IDを持たない場合であっても、管理対象にできる。
【0168】
また、操作履歴イベントを圧縮してイベント圧縮値とすることで、個体識別変更履歴DBの検索を高速に行うことができる。また、イベント圧縮値を固定長にすることで、タグ又はバーコード等に記録することも容易である。 また、操作履歴イベント、つまり個体の情報を取引の当事者以外に秘密にしたい事業体もあるため、識別・追跡するためのキー値となるイベント圧縮値を当事者のみ解読可能(当事者以外には解読不能)とすることで、個体の情報の連鎖的な受け渡しを実現することができる。
【0169】
図20は、本実施形態に係る動作の一例のフローチャートである。操作取得部105が、操作対象の個体(操作前の個体)に対して行われた操作の種別を取得する(S101)。操作取得部105は、操作前の個体に関する識別子を受信情報DB104から取得する。あるいはユーザの入力に基づき、当該識別子を取得してもよい。操作前の個体に関する識別子は、一例として、管理ID、所属ID、個体クラスID及び個体製造IDのうちの少なくとも1つを含む。
【0170】
操作取得部105は、個体情報管理部109に操作後の個体の識別子(管理ID等)を決定することを要求する(S102)。個体情報管理部109は、個体情報管理部109は、操作後の個体の識別子(管理ID等)を決定する(同S102)。操作後の個体の識別子は、一例として、管理ID、所属ID、個体クラスID及び個体製造IDのうちの少なくとも1つを含む。
【0171】
操作取得部105は、操作の時刻と、取得した操作の種別と、操作前の個体の識別子(管理ID等)と、操作後の個体の識別子とを操作履歴イベント生成部106に送る。
【0172】
操作履歴イベント生成部106は、操作取得部105から受け取った操作前管理IDに対応するイベント圧縮値(操作前の個体のイベント圧縮値)を、受信情報DB104から取得する(S103)。操作の時刻(項目1)と、取得した操作の種別(項目2)と、操作前の個体の識別子及びイベント圧縮値の組(項目3)と、操作後の個体の識別子(項目4)と、を含む操作履歴イベントを生成する。操作対象となる個体が複数存在し、項目1、2、4が同じ場合、項目3には複数の個体に対応する複数の組が含まれる。
【0173】
情報圧縮部107は、操作履歴イベント生成部106で生成された操作履歴イベントのデ-タを圧縮することにより、イベント圧縮値(操作後の個体のイベント圧縮値)を算出する(S104)。例えば、操作履歴イベントの各項目の文字列を結合したデータを入力として、ハッシュ関数を計算する。ハッシュ関数の出力値をイベント圧縮値とする。圧縮する際、操作履歴イベントの一部の項目を除外してもよい。例えば、項目4又は項目3に個体製造IDが含まれる場合、個体製造IDを除外してもよい。または、項目4全体を除外してもよい。
【0174】
操作履歴イベント生成部106は、イベント圧縮値を、操作履歴イベントと対応づけて個体識別変更履歴データとする(S105)。個体識別変更履歴データを、個体識別変更履歴DB108に格納する(同S105)。
【0175】
(変形例1)
上述した実施形態において、操作履歴イベントの開示の許可又は不許可を表すフラグ(開示フラグ)を導入する。個体情報管理部109は操作履歴イベントに対する開示の許可又は不許可を決定し、個体識別変更履歴データに開示の許可又は禁止を表す開示フラグを設定する。例えば取引先に応じて開示の許可又は禁止を決定し、開示フラグを設定する。
【0176】
図21は、個体識別変更履歴データの他の例を示す図である。項目1~5は
図11と同じである。項目6は、開示フラグを表す。
【0177】
開示フラグが許可の場合、個体情報管理部109は、下位のプロセスからの情報取得要求を受信した場合、個体識別変更履歴データに基づき解析用データを生成して、下位のプロセスの情報管理装置に送信する。開示フラグが禁止の場合、個体情報管理部109は、下位のプロセスの情報管理装置に、当該解析用データを送信しない。
【0178】
例えば自プロセスの下位に複数のプロセスが並列に存在する場合、取引先に応じて開示を許可するか否かを変えることができる。例えば、あるプロセスの事業体には操作履歴を開示するが、他のプロセスの事業体には操作履歴を開示しないといったことができる。
【0179】
開示フラグが禁止の場合は、個体情報管理部109は、操作履歴の開示は禁止することを通知するメッセージを、情報取得要求の送信元に送信してもよい。
【0180】
開示フラグが禁止の場合であっても、自プロセスの上位プロセスに対する情報取得要求を送信してもよい。この場合、上位のプロセスの情報管理装置から受信した解析用データは、下位のプロセスの情報管理装置に転送する。あるいは、開示フラグが禁止の場合は、当該上位のプロセスに対する情報取得要求を送信することを禁止するようにしてもよい。
【0181】
また個体情報管理部109は媒体に書き込むタグ情報に、開示フラグを含めてもよい。タグ情報を読み出した上位プロセスの情報管理装置は、開示フラグが禁止の場合は、情報取得要求の送信を行わないようにしてもよい。
【0182】
本変形例によれば、操作履歴イベントに対する開示フラグを設定することにより、許可した相手以外に操作履歴を開示しないようにすることができる。
【0183】
(変形例2)
上述した実施形態では商品等の物といった管理される側を主体とし、当該主体となる個体にどのような操作を行ったかを操作の種別を介して表した。これに対して、配送伝票や棚と行った物を管理する側を主体とし、当該主体となる個体にどのような操作が行われたかを、操作の種別を介して表してもよい。この場合も、基本的には上述した実施形態と同様に実現できる。
【0184】
例えば、上述の具体例1において、プロセス1における出荷伝票が操作対象となる個体であるとする。操作前の個体の管理IDは、M485(8個のレタスが出荷用に統合される前の出荷伝票の管理ID)であり、操作後の個体の管理IDはM792(8個のレタスが出荷用に統合された後の出荷伝票の管理ID)となる。つまり、操作の前には、出荷伝票は8個のレタスに何ら関連づけられていなかったが、操作により、8個のレタスが出荷伝票の管理下に置かれたことを把握できる。つまり、管理IDの順序が具体例1と逆になる。また操作の種別は、unite3(divide1)と記載できる。unite3(divide1)により、予め分割操作(1)で分割された8個のレタスを統合操作3で統合する。他の具体例についても同様にして物を管理する側を主体とし、当該主体となる個体に対する操作の履歴を記録してもよい。タグ情報に含める管理IDは、前述した実施形態では操作後管理IDであったが、本変形例の場合は、操作前管理ID(項目3)を用いればよい。
【0185】
(変形例3)
上述した実施形態では、ハッシュ関数等を用いてイベント圧縮値を生成したが、イベント圧縮値は、操作履歴イベントに含まれる各項目を単純に結合した文字列でもよい。この場合でも、各プロセスの情報管理装置間で操作履歴イベント又は個体識別変更履歴データを分散して管理することで、管理の単位が変化する個体の情報管理を容易に行うことができる。
【0186】
以下、本実施形態の応用例を記載する。
(応用例1)
例えば、生鮮食品のトレーサビリティを考える。ある生鮮食品の保管状態の把握のために、当該生鮮食品が、流通過程においてどのような温度環境にあったかを知りたいとする。温度センサデバイスが観測対象とする空間にその食品が入っていた期間は、当該食品はその空間で設定された温度にあったとする。例えば、冷蔵車で運搬中の間は、冷蔵庫で設定された温度の環境にあり、バックヤードで保管中の間は、バックヤード内の温度の環境にあったとなる。具体的には、食品を、センサが設けられた冷蔵庫に入れる操作の種別(例えば統合操作(4))を用いて、食品が属していた空間を特定できる。食品がその冷蔵庫に属していた期間では、その食品Xの温度は、その冷蔵庫の設定温度であったと判断できる。これは前述した解析データ(連鎖グラフ等)を作成し、管理IDを介して各プロセスにおける個体の取引情報を把握することで実現できる。
【0187】
(応用例2)
売り場から収集したデータを用いて店舗無人化や買物時間の短縮を実現する店舗ソリューションを考える。想定するアプリケーションは自動決済や販促効果自動分析であり、収集する主なデータは来店客の購買行動である。対象となる個体は、来店客や従業員、商品、販促物、売り場、什器や設備、などである。
【0188】
売り場での個体、及び個体に対する操作は、各種センサによって検出し、個体の個体製造ID等及び検出した操作の種別を記録する。前述した連鎖グラフのように操作を辿ることで、任意の時点でのバスケット(個体)の付属物となっている商品(個体)を特定できる。これにより、決済対象の個体を特定できる。バスケット内の商品の特定は、任意の時点でのバスケットの付属物になっている商品を特定することで行うことができる。
【0189】
具体的には、ある期間(任意の時点から任意の時点まで)において、個体(バスケット)に対して、個体(商品)を付属物にする操作(統合操作(4))の履歴と、バスケットから商品を分離する操作(分割操作(4))の履歴を取得する。統合操作(4)は商品をバスケットに入れる操作に対応し、分割操作(4)はバスケット内の商品を棚に戻す操作に対応する。統合操作(4)でバスケット内に入れられた商品のうち分割操作(4)で棚に戻されなかった商品がバスケット内にある商品でると特定できる。
【0190】
(ハードウェア構成)
図22に、本実施形態に係る情報管理装置(情報処理装置)100のハードウェア構成を示す。本実施形態に係る情報処理装置100は、コンピュータ装置160により構成される。コンピュータ装置160は、CPU151と、入力インタフェース152と、表示装置153と、通信装置154と、主記憶装置155と、外部記憶装置156とを備え、これらはバス157により相互に接続されている。
【0191】
CPU(中央演算装置)151は、主記憶装置155上で、情報処理装置100の上述の各機能構成を実現するコンピュータプログラムを実行する。CPU151が、コンピュータプログラムを実行することにより、各機能構成は実現される。
【0192】
入力インタフェース152は、キーボード、マウス、及びタッチパネルなどの入力装置からの操作信号を、情報処理装置100に入力するための回路である。入力部113の入力機能を担う部分は、入力インタフェース152上に構築されることができる。
【0193】
表示装置153は、情報処理装置100から出力されるデータ又は情報を表示する。表示装置153は、例えば、LCD(液晶ディスプレイ)、CRT(ブラウン管)、及びPDP(プラズマディスプレイ)であるが、これに限られない。コンピュータ装置160から出力されたデータ又は情報は、この表示装置153により表示することができる。表示部114は、表示装置153上に構築されることができる。
【0194】
通信装置154は、情報処理装置100が外部装置と無線又は有線で通信するための回路である。通信装置154を介して外部装置から情報を入力することができる。外部装置から入力した情報を、DBに格納することができる。情報管理装置100の通信機能を担う部分は、通信装置154上に構築されることができる。
【0195】
主記憶装置155は、本実施形態の処理を実現するプログラム、及びプログラムの実行に必要なデータ、及びプログラムの実行により生成されたデータなどを記憶する。プログラムは、主記憶装置155上で展開され、実行される。主記憶装置155は、例えば、RAM、DRAM、SRAMであるが、これに限られない。各実施形態における各種DB及び記憶部は、主記憶装置155上に構築されてもよい。
【0196】
外部記憶装置156は、上記プログラム及びプログラムの実行に必要なデータ、及びプログラムの実行により生成されたデータなどを記憶する。これらのプログラムやデータは、本実施形態の処理の際に主記憶装置155に読み出される。外部記憶装置156は、例えば、ハードディスク、光ディスク、フラッシュメモリ、及び磁気テープであるが、これに限られない。各実施形態における各種DB及び記憶部は、外部記憶装置156上に構築されてもよい。
【0197】
なお、上述のプログラムは、コンピュータ装置160に予めインストールされていてもよいし、CD-ROMなどの記憶媒体に記憶されていてもよい。また、当該プログラムは、インターネット上にアップロードされていてもよい。
【0198】
なお、コンピュータ装置160は、プロセッサ151、入力インタフェース152、表示装置153、通信装置154、及び主記憶装置155を、それぞれ1つ又は複数備えてもよいし、プリンタやスキャナなどの周辺機器を接続されていてもよい。
【0199】
また、情報処理装置100は、単一のコンピュータ装置160により構成されてもよいし、相互に接続された複数のコンピュータ装置160からなるシステムとして構成されてもよい。
【0200】
なお、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、各実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
【0201】
本実施形態は、以下のように構成することもできる。
[項目1]
第1識別子が割り当てられた第1個体に第1操作を行うことにより得られる第2個体に、第2識別子を割り当てる個体情報管理部と、
前記第1識別子と、前記第1操作と、前記第2識別子とを含む第1データを生成するデータ生成部と、
を備えた情報処理装置。
[項目2]
前記第1データに基づき第1値を算出する算出部を備え、
前記第1値は、前記第1データに関連づけられる
項目1に記載の情報処理装置。
[項目3]
前記第1値と前記第2識別子を含む第1通知情報を、前記第2個体に対する第1媒体に書き込む情報書込部
を備えた項目2に記載の情報処理装置。
[項目4]
前記個体情報管理部は、第1情報管理装置から、前記第1値を含む第1情報取得要求を受信した場合に、前記第1データを前記第1情報管理装置に送信する
項目3に記載の情報処理装置。
[項目5]
前記個体情報管理部は、前記第1データに関連づけて、開示の許可を含むフラグを設定し、
前記個体情報管理部は、前記フラグが許可の場合に前記第1データを送信する
項目4に記載の情報処理装置。
[項目6]
前記個体情報管理部は、前記第1データに関連づけて、開示の非許可を含むフラグを設定し、
前記個体情報管理部は、前記フラグが非許可の場合に前記第1データを送信しない
項目4に記載の情報処理装置。
[項目7]
前記第1個体に対する第2媒体から前記第1識別子を読み出す情報読出部
を備えた項目1~6のいずれか一項に記載の情報処理装置。
[項目8]
第2データに基づく第2値と、前記第1識別子とを含む第2通知情報を、前記第1個体に対する第2媒体から読み出す情報読出部を備え、
前記データ生成部は、前記第2値と、前記第1識別子と、前記第1操作と、前記第2識別子とを含む第3データを生成する
項目1に記載の情報処理装置。
[項目9]
前記第1個体は、第2プロセスで第3個体に対し第2操作を行うことによって得られたものであり、
前記第2データは、前記第3個体の第3識別子と、前記第2操作と、前記第1識別子と、を含む
項目8に記載の情報処理装置。
[項目10]
前記第3データに基づき第3値を算出する算出部を備え、
前記第3値は、前記第3データに関連づけられる
項目8又は9に記載の情報処理装置。
[項目11]
前記第3値と前記第2識別子とを含む第3通知情報を、前記第2個体に対する第1媒体に書き込む情報書込部
を備えた項目10に記載の情報処理装置。
[項目12]
第2情報管理装置に、前記第2値を含む第2情報取得要求を送信し、前記第2情報管理装置から前記第2データを受信する個体情報取得部
を備えた項目10又は11に記載の情報処理装置。
[項目13]
前記個体情報管理部は、第1情報管理装置から、前記第3値を含む第3情報取得要求を受信し、
前記個体情報取得部は、前記第3情報取得要求が受信された場合に、前記第2情報管理装置に、前記第2情報取得要求を送信し、
前記個体情報管理部は、前記第2データと前記第1データとを、前記第1情報管理装置に送信する
項目12に記載の情報処理装置。
[項目14]
前記第2データに、開示の許可を含むフラグが関連づけられており、
前記個体情報取得部は、前記フラグが許可を示す場合に、前記第2情報管理装置に前記第3情報取得要求を送信する
項目13に記載の情報処理装置。
[項目15]
前記第2データに、開示の非許可を含むフラグが関連づけられており、
前記個体情報取得部は、前記フラグが非許可を示す場合に、前記第2情報管理装置に前記第3情報取得要求を送信しない
項目13に記載の情報処理装置。
[項目16]
前記個体情報管理部は、前記第1データと前記第2データとに基づき、前記第2個体に対する操作の履歴を特定する
項目12に記載の情報処理装置。
[項目17]
前記個体情報管理部は、前記第2データにおける前記操作と、前記第1データにおける前記操作との順序に基づき、前記第2個体に対する操作の履歴に矛盾があるかを判定する
項目16に記載の情報処理装置。
[項目18]
前記個体情報管理部は、前記第2データにおける前記第1識別子と、前記第1データにおける前記第1識別子が一致するかに応じて、前記第2個体に対する操作の履歴に矛盾があるかを判定する
項目16又は17に記載の情報処理装置。
[項目19]
前記第2識別子は、前記第2個体の管理の単位を識別する識別子を含む
項目1~18のいずれか一項に記載の情報処理装置。
[項目20]
前記第2識別子は、前記第2個体の種類を識別する識別子、前記第2個体をユニークに識別する識別子、前記第2個体の管理を行う管理体の識別子の少なくとも1つをさらに含む
項目19に記載の情報処理装置。
[項目21]
前記第1個体に行われる前記第1操作を取得する第1操作取得部
を備えた項目1~20のいずれか一項に記載の情報処理装置。
[項目22]
前記データ生成部は、前記第1データとして、前記第1識別子と、前記第1操作の種別と、前記第2識別子とを含むデータを生成する
項目1~21のいずれか一項に記載の情報処理装置。
[項目23]
前記第1個体に行われる前記第1操作の種別を取得する第2操作取得部
を備えた項目22に記載の情報処理装置。
[項目24]
前記第1操作は、個体を作成する作成操作、複数の個体を統合する統合操作、個体を分割する分割操作、個体を変換する変換操作、個体を削除する削除操作の少なくとも1つを含む
項目22又は23に記載の情報処理装置。
[項目25]
第1識別子が割り当てられた第1個体に第1操作を行うことにより得られる第2個体に、第2識別子を割り当てる個体情報管理ステップと、
前記第1識別子と、前記第1操作と、前記第2識別子とを対応づけた第1データを生成するデータ生成ステップと、
を備えた情報処理方法。
[項目26]
第1識別子が割り当てられた第1個体に第1操作を行うことにより得られる第2個体に、第2識別子を割り当てる個体情報管理ステップと、
前記第1識別子と、前記第1操作と、前記第2識別子とを対応づけた第1データを生成するデータ生成ステップと、
をコンピュータに実行させるためのコンピュータプログラム。
【符号の説明】
【0202】
100:情報管理装置
101:取引情報管理部
102:取引情報データベース(DB)
103:情報読出部
104:受信情報
105:操作取得部
106:操作履歴イベント生成部
107:情報圧縮部
108:個体識別変更履歴DB
109:個体情報管理部
111:情報書込部
112:前プロセス個体情報取得部
113:入力部
114:表示部
115:インタフェース
122:ICタグ(媒体)
151:プロセッサ(CPU)
152:入力インタフェース
153:表示装置
154:通信装置
155:主記憶装置
156:外部記憶装置
157:バス
160:コンピュータ装置