まず、本発明の第1の実施形態について説明する。
図1は、第1の実施形態における履歴管理システム10の構成を示すシステム構成図である。履歴管理システム10は、履歴管理サーバ20および拠点12毎に設けられた端末30を備える。履歴管理サーバ20およびそれぞれの端末30は、通信回線11に接続され、通信回線11を介して通信データを送受信する。
物品15は、例えば、農産物、加工物、または製造物等である。物品15には、当該物品15を識別する物品IDが記録されているタグ16が取り付けられている。本実施形態において、タグ16はRFID(Radio Frequency IDentification)である。なお、他の形態として、タグ16は、バーコードが印刷された記録媒体、磁気により情報が記録された記録媒体、または、文字や記号等が印刷された記録媒体等であってもよい。
それぞれの拠点12では、物品15に対してイベント(例えば、生産、入荷、出荷等)が施される場所に、センサ14が取り付けられたゲート13が設けられている。本実施形態において、センサ14は、タグリーダである。なお、他の形態として、センサ14は、バーコードリーダ、磁気により記録された情報を読み取る装置、または、文字や記号等が印刷された記録媒体から文字や記号等を読み取る撮像装置等であってもよい。
それぞれの拠点12の端末30は、物品15に取り付けられたタグ16に記録された物品IDを、センサ14を介して取得し、取得した物品ID、および、当該センサ14が取り付けられたゲート13で施されたイベントの内容を含むイベント情報を作成する。そして、端末30は、作成したイベント情報を、通信回線11を介して履歴管理サーバ20へ送信する。
履歴管理サーバ20は、各拠点12の端末30から送信されたイベント情報を履歴情報として蓄積する。そして、履歴管理サーバ20は、ユーザからの指示に応じて、物品15毎の履歴情報を表示することにより、ユーザによる物品15の履歴情報の追跡を支援する。
図2は、第1の実施形態における端末30の詳細な機能構成の一例を示すブロック図である。端末30は、ID送信部31およびID取得部32を有する。
ID取得部32は、ゲート13毎に、当該ゲート13が設けられた場所で物品15に施されるイベントの内容(アクション、場所、および担当者等)を示す情報を保持しており、センサ14から物品IDを受信した場合に、当該センサ14が取り付けられたゲート13で行われるイベントの内容に、当該物品IDを受信した日時を含めて、当該物品IDと共にID送信部31へ送信する。ID送信部31は、ID取得部32から受信した物品IDおよびイベントの内容を含むイベント情報を作成し、作成したイベント情報を通信回線11を介して履歴管理サーバ20へ送信する。
図3は、第1の実施形態における履歴管理サーバ20の詳細な機能構成の一例を示すブロック図である。履歴管理サーバ20は、入力部200、グループID抽出部201、履歴情報格納部202、履歴情報登録部203、グループ情報出力部204、グループファイル格納部205、詳細情報出力部206、イベント情報登録部207、順番情報更新部208、削除部209、および一時記憶部210を有する。
履歴情報格納部202には、例えば図4に示すように、複数のレコード2028が格納されている。それぞれのレコード2028には、イベントを識別するイベントIDを格納するフィールド2020、物品IDを格納するフィールド2021、イベントの内容を格納するフィールド2022、およびグループIDを格納するフィールド2023が含まれる。グループIDとは、物品毎の生産、製造、および流通等の一連の履歴情報のまとまりを格納するグループファイルを識別する情報である。
イベントの内容を格納するフィールド2022には、さらに、物品に施されたアクションを示す情報を格納するフィールド2024、当該アクションが施された場所を示す情報を格納するフィールド2025、当該アクションが施された日時を示す情報を格納するフィールド2026、および、当該アクションを物品に施した担当者を識別する情報を格納するフィールド2027等が含まれる。履歴情報格納部202を参照することにより、個々の物品毎に、当該物品に施されたイベントの内容、および、当該物品の一連の履歴情報のまとまりを格納するグループファイルのグループIDを特定することができる。
グループファイル格納部205には、例えば図5に示すように、複数のグループファイル2050が格納されている。それぞれのグループファイル2050には、グループIDを格納するフィールド2051および複数のレコード2059が格納されている。それぞれのレコード2059には、イベントIDを格納するフィールド2052、フィールド2052に格納されているイベントIDに対応するイベントの前に実行されるイベントのイベントIDを格納するフィールド2053、フィールド2052に格納されているイベントIDに対応するイベントの後に実行されるイベントのイベントIDを格納するフィールド2054、およびフィールド2052に格納されているイベントIDに対応するイベントの少なくとも一部を示す情報を格納するフィールド2055が格納される。フィールド2053およびフィールド2054に格納されているイベントIDは、それぞれ、フィールド2052に格納されているイベントIDに対応するイベントの順番情報を構成する。
本実施形態において、フィールド2055には、物品に施されたアクションを示す情報を格納するフィールド2056、当該アクションが施された場所を示す情報を格納するフィールド2057、および当該アクションが施された日時を示す情報を格納するフィールド2058が含まれる。なお、他の形態として、フィールド2055には、履歴情報格納部202のフィールド2022に格納されている全ての項目に対応する情報が含まれていてもよい。グループファイル格納部205を参照することにより、物品毎に、当該物品に施された複数のイベントのイベントID、当該複数のイベントが施された順番、およびそれぞれのイベントの概要を取得することができる。
なお、他の形態として、フィールド2053には、フィールド2052に格納されているイベントIDに対応するイベントの前に実行されるイベントのイベントIDが格納されているグループファイル格納部205内の物理的なアドレス情報が格納されていてもよい。また、フィールド2054についても同様に、フィールド2052に格納されているイベントIDに対応するイベントの後に実行されるイベントのイベントIDが格納されているグループファイル格納部205内の物理的なアドレス情報が格納されていてもよい。これにより、グループファイル2050内に多数のフィールド2058が存在する場合であっても、前に実行されるイベントまたは後に実行されるイベントを迅速に辿ることができる。
一時記憶部210には、例えば図6に示すように、複数のレコード2108が格納される。それぞれのレコード2108には、イベントIDを格納するフィールド2100、物品IDを格納するフィールド2101、イベントの内容を格納するフィールド2102、およびグループIDを格納するフィールド2103が格納される。イベントの内容を格納するフィールド2102には、さらに、物品に施されたアクションを示す情報を格納するフィールド2104、当該アクションが施された場所を示す情報を格納するフィールド2105、当該アクションが施された日時を示す情報を格納するフィールド2106、および、当該アクションを物品に施した担当者を識別する情報を格納するフィールド2107等が格納される。
一時記憶部210内のデータ構造は、履歴情報格納部202内のデータ構造と同様であるが、一時記憶部210には、物品毎に、最新のイベント情報を格納するレコード2108のみが格納される点が履歴情報格納部202とは異なる。また、予め定められた業務フローにおいて、最後に実行されるイベントに関する情報を含むレコード2108は、一時記憶部210から削除される。
入力部200は、例えば図7に示すように、履歴情報格納部202に格納されているレコード2028を特定するため条件を入力する入力画面40を表示装置18に表示する。ユーザによって、それぞれの入力ボックス400に、対応する項目の内容が入力されて、検索ボタン401が選択された場合、入力部200は、項目毎に入力された内容をグループID抽出部201へ送信する。
また、入力部200は、例えば図8に示すようなグループ情報画面41が表示装置18に表示されている状態で、イベントIDが選択された場合に、選択されたイベントIDを詳細情報出力部206へ送信する。なお、図8に示すようなグループ情報画面41が表示装置18に表示されている状態で、終了ボタン415が選択された場合、入力部200は、図7に示した入力画面40を表示装置18に表示する。また、入力部200は、例えば図9に示すような詳細情報画面42が表示装置18に表示されている状態で、戻るボタン421が選択された場合に、グループ情報画面41の表示をグループ情報出力部204に指示する。
グループID抽出部201は、入力部200から受信した情報をもとに履歴情報格納部202を参照して、ユーザから指定された情報を含むレコードを起点となるレコードとして特定し、特定したレコードに含まれているグループIDおよび物品IDをグループ情報出力部204へ送信する。なお、図7に示した例において、イベントIDが指定された場合、グループID抽出部201は、当該イベントIDをキーとして履歴情報格納部202内を検索し、当該イベントIDを含むレコード2028を1つ特定する。イベントID以外の項目が指定された場合、グループID抽出部201は、入力された全ての情報に該当するレコードを特定する。レコードが複数特定された場合、グループID抽出部201は、それぞれのレコードに含まれるグループIDおよび物品IDをグループ情報出力部204へ送信する。
グループ情報出力部204は、グループID抽出部201から受信したグループIDをキーとしてグループファイル格納部205内を検索し、当該グループIDに対応するグループファイルを取得して物品IDと共に履歴管理サーバ20のRAM上に展開する。そして、グループ情報出力部204は、展開したグループファイルを参照して、当該グループファイルに含まれる複数のレコードを、イベントが実行された順番にソートして、例えば図8に示すようなグループ情報画面41を表示装置18に表示する。
図8に示すように、グループ情報画面41には、物品IDを表示するフィールド410およびグループIDを表示するフィールド411と共に、複数のレコード414が表示される。それぞれのレコード414には、フィールド412に表示されているイベントIDに対応するイベントの内容の少なくとも一部を表示するフィールド413が含まれる。グループ情報画面41には、イベントが実行された順番で、上から順にそれぞれのレコード414が表示されている。
グループ情報画面41を参照することにより、ユーザは、指定した情報に対応する物品の履歴情報を辿ることができる。例えば、規格外の製品の履歴を追跡する場合、グループ情報画面41に表示された物品の最終イベントが、卸売店Aでの入荷であるならば、ユーザは、当該物品がまだ卸売店Aにあることがわかり、当該物品を卸売店Aから回収することができる。また、グループ情報画面41に表示された物品の生産場所や加工場所を参照することにより、ユーザは、当該物品がどの農家で生産されたかやどの工場で加工されたかを知ることができる。
なお、グループ情報出力部204は、グループファイル格納部205から取得してRAM上に展開したグループファイルを、RAM上に残しておき、次回、同一のグループIDおよび物品IDをグループID抽出部201から受信した場合に、RAM上のグループファイルから必要な情報を取り出す。RAM上のグループファイルは、LRU(Least Recently Used)方式等により、アクセス頻度の高いものほど優先して残されるように制御されることが好ましい。これにより、グループ情報出力部204は、より迅速にグループファイルの内容を取得することができる。また、より多くのグループファイルがRAM上に展開されて残されていれば、グループファイルの検索速度が向上が期待できるため、それぞれのグループファイルのデータ量は少ないことが好ましい。そのため、グループファイル2050内には、履歴情報格納部202内のイベントの内容の一部(本実施形態では、「アクション」、「場所」、および「日時」)が格納されることが好ましい。
詳細情報出力部206は、入力部200からイベントIDを受信した場合に、当該イベントIDをキーとして履歴情報格納部202内を検索し、当該イベントIDを含むレコードを特定する。そして、詳細情報出力部206は、例えば図9に示すように、特定したレコードに含まれる情報を示す詳細情報画面42を表示装置18に表示する。詳細情報画面42には、それぞれの項目の情報を表示するフィールド420および戻るボタン421が表示される。
ここで、物品には様々な種類があり、それぞれ種類においても、個々の物品を識別する物品IDは異なる。例えば、複数の農家で生産された農作物の種類は、品種等も含めると数百種類以上になり、さらにそれぞれの農作物を個々の物品として識別すると、物品の数は数百万個以上となる。また、それぞれの物品に施されるイベントは、生産、洗浄、加工、袋詰め、梱包、出荷等、数十回以上になる場合がある。さらに、収集されて履歴情報格納部202に格納された履歴情報が長期にわたって保存される場合もあることから、履歴情報格納部202内のレコードの数は、数億レコードに達する場合がある。
また、特許文献1に記載されているような、履歴情報どうしの前後関係を示す情報を格納する履歴関係テーブルを用いるとすれば、履歴関係テーブルのレコード数も履歴情報格納部202と同様に数億レコードに達する場合がある。また、物品によっては、数十回以上のイベントが施されていることもあるため、特許文献1の技術では、ある物品の履歴情報を辿る場合に、履歴情報格納部202内の検索と、履歴関係テーブル内の検索とを、それぞれ数十回以上繰り返すことになる。
これに対して、本実施形態では、グループID抽出部201が、入力部200から受信した情報に対応するレコードを履歴情報格納部202内から検索した後に、グループ情報出力部204が当該レコードに含まれているグループIDに対応するグループファイルを検索し、検索したグループファイルの情報を、イベントの順番がわかるように表示する。グループファイルには、イベントの内容の少なくとも一部が格納されているが、グループ情報出力部204によって表示されたグループファイルの内容で、履歴情報を辿るのに必要な情報が取得できれば、ユーザは、その段階で履歴情報を辿ることができる。そのため、履歴情報格納部202内の検索およびグループファイル格納部205内の検索はそれぞれ1回で済み、特許文献1に記載された方法よりも、履歴情報を辿るのに必要な情報を迅速に表示することができる。
なお、グループ情報出力部204によって表示されたグループファイルの内容では、履歴情報を辿るには不足がある場合には、詳細情報出力部206は、個々のイベントIDが選択されるたびに数億レコードからなる履歴情報格納部202内を検索することになる。しかし、この場合であっても、本実施形態では、グループ情報出力部204によって表示されたグループ情報画面41には、物品に施された一連のイベントのまとまりについて、イベントが実行された順番に従った配列でイベントIDが表示されているため、イベントが実行された順番を特定するために数億レコードからなる履歴関係テーブル内を、数十回以上にわたって検索する必要がない。従って、グループ情報出力部204によって表示されたグループファイルの内容では、履歴情報を辿るのに必要な情報として不足がある場合であっても、特許文献1に記載された方法よりも、履歴情報を辿るのに必要な情報を迅速に表示することができる。
なお、図5において、グループファイル2050内のそれぞれのフィールド2058には、フィールド2052に格納されているイベントIDと同一のイベントIDが格納されている履歴情報格納部202内の物理的なアドレス情報が格納されていてもよい。また、この場合、入力部200は、図8に示したグループ情報画面41が表示装置18に表示されている状態で、イベントIDが選択された場合に、選択されたイベントIDおよび表示されているグループIDを詳細情報出力部206へ送信する。これにより、詳細情報出力部206は、入力部200から受信したグループIDに対応するグループファイルをグループファイル格納部205内で特定し、特定したグループファイル内から、入力部200より受信したイベントIDのアドレス情報を取得し、取得したアドレス情報に基づいて、履歴情報格納部202内の目的のレコードをより迅速に取得することができる。
図3に戻って説明を続ける。履歴情報登録部203は、通信回線11を介して、物品IDおよびイベントの内容を示す情報を含むイベント情報を端末30から受信した場合に、当該イベントの内容で示されるイベントに対してイベントIDを新たに割り当てる。そして、履歴情報登録部203は、一時記憶部210を参照して、端末30から受信したイベント情報に含まれる物品IDと同一の物品IDに対応付けられているグループIDを取得する。
そして、履歴情報登録部203は、新たに割り当てたイベントIDに対応付けて、端末30から受信した物品ID、端末30から受信したイベントの内容、および、一時記憶部210から取得したグループIDを、履歴情報格納部202および一時記憶部210に登録する。なお、端末30から受信した物品IDと同一の物品IDに対応付けられているグループIDが一時記憶部210内に存在しない場合、履歴情報登録部203は、グループIDを新たに割り当て、新たに割り当てたグループIDに対応付けて、物品ID、イベントID、イベントの内容を、履歴情報格納部202および一時記憶部210に登録する。
イベント情報登録部207は、一時記憶部210に新たなレコードが登録された場合に、当該新たに登録されたレコードに含まれる物品IDと同一の物品IDに対応付けられている他のイベントIDを一時記憶部210内で特定する。そして、イベント情報登録部207は、特定した他のイベントIDを、一時記憶部210に新たに登録されたイベントIDに対応するイベントの前に実行されるイベントのイベントIDとして順番情報を作成する。そして、イベント情報登録部207は、グループファイル格納部205を参照して、一時記憶部210に新たに登録されたレコードに含まれるグループIDに対応するグループファイルを特定する。
そして、イベント情報登録部207は、特定したグループファイルに、一時記憶部210に新たに登録されたレコードに含まれるイベントIDに対応付けて、一時記憶部210に新たに登録されたレコードに含まれるイベントの内容の少なくとも一部を示す情報、および、作成した順番情報を格納する。なお、一時記憶部210に新たに登録されたレコードに含まれるグループIDに対応するグループファイルがグループファイル格納部205内に存在しない場合、イベント情報登録部207は、グループファイルを新たに作成し、作成したグループファイルに、イベントIDに対応付けて、イベントの内容の少なくとも一部を示す情報を格納する。
順番情報更新部208は、イベント情報登録部207によってグループファイルが更新された場合に、一時記憶部210に新たに登録されたレコードに含まれる物品IDと同一の物品IDに対応付けられている他のイベントIDを一時記憶部210内で特定する。そして、順番情報更新部208は、一時記憶部210に新たに登録されたレコードに含まれるイベントIDを、特定した他のイベントIDに対応するイベントの次に実行されるイベントのイベントIDとして、当該他のイベントIDに対応するイベントの順番情報を作成する。そして、順番情報更新部208は、作成した順番情報で、イベント情報登録部207によって更新されたグループファイルに格納されている、当該他のイベントIDに対応するイベントの順番情報を更新し、順番情報の更新終了を削除部209に通知する。
削除部209は、順番情報の更新終了を順番情報更新部208から通知された場合に、一時記憶部210に新たに登録されたレコードに含まれる物品IDと同一の物品IDを含む他のレコードを特定する。そして、削除部209は、特定したレコードを一時記憶部210から削除することにより、当該物品IDに対応する物品について、最新でないイベントに関する情報を含むレコードを一時記憶部210から削除する。また、削除部209は、業務の最後のイベントに含まれるアクションおよび場所を示す情報を保持しており、一時記憶部210を参照して、業務の最後のイベントに含まれるアクションおよび場所の組み合わせを含むレコードを一時記憶部210から削除する。
このように、削除部209が、物品ID毎に、最新でないイベントに関する情報を含むレコード、および、業務の最後のイベントに関する情報を含むレコードを一時記憶部210から削除することにより、一時記憶部210に登録される情報を少なくすることができる。これにより、履歴情報登録部203が、端末30からイベント情報を受信した場合に、当該イベント情報に含まれる物品IDと同一の物品IDに対応付けられているグループIDを一時記憶部210から検索する際の、一時記憶部210内のデータ数を少なくすることができ、履歴情報登録部203によるグループIDの検索をより迅速に行うことができる。
ここで、履歴情報登録部203、イベント情報登録部207、順番情報更新部208、および削除部209によって実行される履歴情報の登録処理を、図10および図11を参照して説明する。例えば、履歴情報格納部202、一時記憶部210、およびグループファイル2050内に、それぞれ、図10(a)〜(c)に示すデータが格納されている状態で、図10(d)に示すイベント情報43を受信した場合、履歴情報登録部203は、当該イベント情報43で示されるイベントに対して、新たなイベントIDとして「ID−3」を割り当てる。
次に、履歴情報登録部203は、一時記憶部210を参照して、イベント情報43に含まれる物品IDと同一の物品IDに対応付けられているグループIDとして、「GR−1」を取得する。そして、履歴情報登録部203は、図11(a)および(b)に示すように、新たに割り当てたイベントIDである「ID−3」に対応付けて、イベント情報43に含まれる物品IDである「P001」、端末30から受信したイベントの内容である「入荷」、「卸売店」、「2007-07-22 09:30」、および「C」、ならびに、一時記憶部210から取得したグループIDである「GR−1」を、履歴情報格納部202および一時記憶部210に登録する。
なお、図11(b)では、イベントIDが「ID−2」のレコードが削除部209によって削除された後の一時記憶部210の内容が示されているため、イベントIDが「ID−2」のレコードが記載されていないが、この段階では、イベントIDが「ID−2」のレコードが一時記憶部210に格納されている。
次に、イベント情報登録部207は、一時記憶部210に新たに登録されたレコードに含まれる物品IDと同一の物品IDに対応付けられている他のイベントIDとして、イベントIDが「ID−2」のレコードを一時記憶部210内で特定する。そして、イベント情報登録部207は、特定した他のイベントIDである「ID−2」を、一時記憶部210に新たに登録されたイベントIDである「ID−3」に対応するイベントの前に実行されるイベントのイベントIDとして順番情報を作成する。ここで作成される順番情報は、図11(c)のフィールド2068で示されるように、前イベントIDが「ID−2」となる。
次に、イベント情報登録部207は、グループファイル格納部205を参照して、一時記憶部210に新たに登録されたレコードに含まれるグループIDである「GR−1」に対応するグループファイル(図10(c))を特定する。そして、イベント情報登録部207は、特定したグループファイルに、一時記憶部210に新たに登録されたレコードに含まれるイベントIDである「ID−3」に対応付けて、一時記憶部210に新たに登録されたレコードに含まれるイベントの内容の少なくとも一部を示す情報(図10(c)の例では「アクション」、「場所」、および「日時」)、および、作成した順番情報を格納する。
次に、順番情報更新部208は、一時記憶部210に新たに登録されたレコードに含まれる物品IDである「P001」と同一の物品IDに対応付けられている他のイベントIDとして「ID−2」を一時記憶部210内で特定する。そして、順番情報更新部208は、一時記憶部210に新たに登録されたレコードに含まれるイベントIDである「ID−3」を、特定した他のイベントIDである「ID−2」に対応するイベントの次に実行されるイベントのイベントIDとして、当該他のイベントIDである「ID−2」に対応するイベントの順番情報を作成する。ここで作成される順番情報は、図11(c)のフィールド2069で示されるように、後イベントIDが「ID−3」となる。
次に、順番情報更新部208は、作成した順番情報で、イベント情報登録部207によって更新されたグループファイルに格納されている、当該他のイベントIDに対応するイベントの順番情報を更新する。これにより、イベント情報登録部207によって更新されたグループファイルは、図11(c)に示すような内容になる。
次に、削除部209は、一時記憶部210に新たに登録されたレコードに含まれる物品IDである「P001」と同一の物品IDを含む他のレコード(「ID−2」をイベントIDとして含むレコード)を特定する。そして、削除部209は、特定したレコードを一時記憶部210から削除することにより、一時記憶部210内のデータは図11(b)に示すような内容になる。
次に、本実施形態における履歴情報の検索時の履歴管理サーバ20の動作について、図12を参照して説明する。ユーザによって、図7で説明した入力画面40にデータが入力されて、検索ボタン401が選択された場合に、履歴管理サーバ20は、本フローチャートに示す動作を開始する。
まず、入力部200は、入力装置17を介して入力された情報を、項目毎にグループID抽出部201へ送信する。グループID抽出部201は、入力部200から受信した情報をキーとして、起点となるレコードを履歴情報格納部202内で特定する(S100)。そして、グループID抽出部201は、特定したレコードに含まれているグループIDおよび物品IDを抽出し(S101)、抽出したグループIDおよび物品IDをグループ情報出力部204へ送信する。
次に、グループ情報出力部204は、グループID抽出部201から受信したグループIDをキーとしてグループファイル格納部205を参照し、当該グループIDに対応するグループファイルを取得する(S102)。そして、グループ情報出力部204は、取得したグループファイルに含まれる複数のレコードを、イベントが実行された順番にソートしたグループ情報画面41(図8参照)を作成して表示装置18に表示する(S103)。
次に、入力部200は、イベントIDが選択されたか否かを判定する(S104)。イベントIDが選択された場合(S104:Yes)、入力部200は、選択されたイベントIDを詳細情報出力部206へ送信する。そして、詳細情報出力部206は、当該イベントIDをキーとして、当該イベントIDを含むレコードを履歴情報格納部202内を検索して特定し、特定したレコードに含まれる内容を示す詳細情報画面42(図9参照)を表示装置18に表示する。
次に、入力部200は、戻りボタンが選択されたか否かを判定する(S106)。戻りボタンが選択された場合(S106:Yes)、入力部200は、グループ情報画面41の表示をグループ情報出力部204に指示し、再びステップS104に示した処理を実行する。
イベントIDが選択されなかった場合(S104:No)、入力部200は、終了ボタンが選択されたか否かを判定する(S107)。終了ボタンが選択されていない場合(S107:No)、入力部200は、再びステップS104に示した処理を実行する。終了ボタンが選択された場合(S107:Yes)、履歴管理サーバ20は、本フローチャートに示した履歴情報の検索時の動作を終了する。
次に、本実施形態における履歴情報の登録時の履歴管理サーバ20の動作について、図13を参照して説明する。通信回線11を介して、端末30からイベント情報を受信した場合に、履歴管理サーバ20は、本フローチャートに示す動作を開始する。
まず、履歴情報登録部203は、受信したイベント情報で示されるイベントに対してイベントIDを新たに割り当てる(S200)。そして、履歴情報登録部203は、一時記憶部210を参照して、端末30から受信したイベント情報に含まれる物品IDと同一の物品IDに対応付けられているグループIDを取得する(S201)。
次に、履歴情報登録部203は、新たに割り当てたイベントIDに対応付けて、端末30から受信した物品ID、端末30から受信したイベントの内容、および、一時記憶部210から取得したグループIDを、履歴情報格納部202および一時記憶部210にそれぞれ登録する(S202)。
次に、イベント情報登録部207は、一時記憶部210に新たに登録されたレコードに含まれる物品IDと同一の物品IDに対応付けられている他のイベントIDを一時記憶部210内で特定する。そして、イベント情報登録部207は、特定した他のイベントIDを、一時記憶部210に新たに登録されたイベントIDに対応するイベントの前に実行されるイベントのイベントIDとして順番情報を作成する(S203)。
次に、イベント情報登録部207は、グループファイル格納部205を参照して、一時記憶部210に新たに登録されたレコードに含まれるグループIDに対応するグループファイルを特定する。そして、イベント情報登録部207は、特定したグループファイルに、一時記憶部210に新たに登録されたレコードに含まれるイベントIDに対応付けて、一時記憶部210に新たに登録されたレコードに含まれるイベントの内容の少なくとも一部を示す情報、および、作成した順番情報を格納する(S204)。
次に、順番情報更新部208は、一時記憶部210に新たに登録されたレコードに含まれる物品IDと同一の物品IDに対応付けられている他のイベントIDを一時記憶部210内で特定する。そして、順番情報更新部208は、一時記憶部210に新たに登録されたレコードに含まれるイベントIDを、特定した他のイベントIDに対応するイベントの次に実行されるイベントのイベントIDとして、当該他のイベントIDに対応するイベントの順番情報を作成する。そして、順番情報更新部208は、作成した順番情報で、イベント情報登録部207によって更新されたグループファイルに格納されている、当該他のイベントIDに対応するイベントの順番情報を更新し(S205)、順番情報の更新終了を削除部209に通知する。
次に、削除部209は、一時記憶部210に新たに登録されたレコードに含まれる物品IDと同一の物品IDを含む他のレコードを特定する。そして、削除部209は、特定したレコードを一時記憶部210から削除し(S206)、履歴管理サーバ20は、本フローチャートに示した履歴情報の登録時の動作を終了する。
以上、本発明の第1の実施形態について説明した。
上記説明から明らかなように、本実施形態の履歴管理システム10によれば、履歴情報の追跡にかかる時間を短くすることができる。
次に、本発明の第2の実施形態について説明する。
図14は、第2の実施形態における端末30の詳細な機能構成の一例を示すブロック図である。端末30は、ID送信部31、ID取得部32、およびID書換部33を備える。本実施形態において、物品15には、情報の書き換えが可能なタグ16が取り付けられている。本実施形態では、情報の書き換えが可能なタグ16として、書き換え可能なメモリを有するRFIDを想定する。なお、他の形態として、情報の書き換えが可能なタグ16は、リライタブルペーパやICカード等であってもよい。
ID取得部32は、ゲート13毎に、ゲート13が設けられた場所で物品15に施されるイベントの内容(アクション、場所、および担当者等)を保持しており、センサ14から物品IDおよびイベントIDを受信した場合に、当該センサ14が取り付けられたゲート13で行われるイベントの内容に、当該物品IDを受信した日時を含めて、当該物品IDおよびイベントIDと共にID送信部31へ送信する。なお、タグ16に記録されているイベント情報は、前のイベントにおいてタグ16に書き込まれた、前のイベントを識別するイベントIDである。ID送信部31は、ID取得部32から受信した物品ID、イベントID、およびイベントの内容を含むイベント情報を作成し、作成したイベント情報を通信回線11を介して履歴管理サーバ20へ送信する。
なお、センサ14から、物品IDと共に、イベントIDが設定されていない旨を示す情報(例えばnullデータ)を受信した場合、すなわち、履歴の最初の工程において、タグ16内の情報を読み出した場合、ID取得部32は、当該センサ14が取り付けられたゲート13で行われるイベントの内容に、当該物品IDを受信した日時を含めて、当該物品IDおよび当該イベントIDが設定されていない旨を示す情報と共にID送信部31へ送信する。この場合、ID送信部31は、物品ID、イベントの内容、およびイベントIDが設定されていない旨を示す情報を含むイベント情報を作成し、作成したイベント情報を通信回線11を介して履歴管理サーバ20へ送信する。
ID書換部33は、通信回線11を介して履歴管理サーバ20からイベントIDを受信した場合に、センサ14を介して、履歴管理サーバ20から受信したイベントIDで、タグ16内に記録されているイベントIDを書き換える。履歴管理サーバ20からは、今回のイベントに対して割り当てられたイベントIDが送信されるので、ゲート13を通過した物品15のタグ16には、今回のイベントに対応するイベントIDが格納されることになる。
図15は、第2の実施形態における履歴管理サーバ20の詳細な機能構成の一例を示すブロック図である。履歴管理サーバ20は、入力部200、グループID抽出部201、履歴情報格納部202、履歴情報登録部203、グループ情報出力部204、グループファイル格納部205、詳細情報出力部206、イベント情報登録部207、順番情報更新部208、およびイベントID割当部211を有する。なお、以下に説明する点を除き、図15において、図3と同じ符号を付した構成は、図3における構成と同一または同様の機能を有するため説明を省略する。
イベントID割当部211は、通信回線11を介して端末30から、物品ID、イベントID、およびイベントの内容を示す情報を含むイベント情報を受信した場合に、当該イベント情報に対応するイベントに対してイベントIDを新たに割り当てる。そして、イベントID割当部211は、新たに割り当てたイベントIDを、通信回線11を介して端末30へ送信する。また、イベントID割当部211は、新たに割り当てたイベントIDと共に、端末30から受信したイベント情報を、履歴情報登録部203、イベント情報登録部207、および順番情報更新部208へ送信する。
履歴情報登録部203は、イベントID割当部211から、新たに割り当てられたイベントIDと共に、イベント情報を受信した場合に、当該イベント情報に含まれる、前のイベントのイベントIDをキーとして履歴情報格納部202を検索することにより、当該前のイベントに対応するレコードを特定する。そして、履歴情報登録部203は、特定したレコードに含まれるグループIDを履歴情報格納部202から取得する。そして、履歴情報登録部203は、イベントID割当部211によって新たに割り当てられたイベントIDに対応付けて、イベント情報に含まれる物品IDおよびイベントの内容を、履歴情報格納部202から取得したグループIDと共に履歴情報格納部202に登録する。
イベント情報登録部207は、イベントID割当部211から、新たに割り当てられたイベントIDと共に、イベント情を受信した場合に、当該イベント情報に含まれるイベントIDを、イベントID割当部211によって新たに割り当てられたイベントIDに対応するイベントの前に実行されるイベントのイベントIDとして順番情報を作成する。そして、イベント情報登録部207は、履歴情報格納部202を参照して、イベントID割当部211から受信したイベント情報に含まれるイベントIDをキーとして履歴情報格納部202を検索することにより、当該イベントIDを含むレコードを特定する。
そして、イベント情報登録部207は、特定したレコードに含まれているグループIDを抽出し、抽出したグループIDに対応するグループファイルをグループファイル格納部205内で特定する。そして、イベント情報登録部207は、特定したグループファイル内に、イベントID割当部211によって新たに割り当てられたイベントIDに対応付けて、イベントID割当部211から受信したイベント情報に含まれるイベントの内容の少なくとも一部を示す情報、および、作成した順番情報を格納する。そして、イベント情報登録部207は、更新したグループファイルのグループIDを順番情報更新部208に通知する。
順番情報更新部208は、イベント情報登録部207から更新されたグループファイルのグループIDが通知された場合に、イベントID割当部211によって新たに割り当てられたイベントIDを、イベントID割当部211から受信したイベント情報に含まれるイベントIDに対応するイベントの次に実行されるイベントのイベントIDとして、イベントID割当部211から受信したイベント情報に含まれるイベントIDに対応するイベントの順番情報を作成する。そして、順番情報更新部208は、作成した順番情報で、イベント情報登録部207から通知されたグループファイルに対応するグループファイルに格納されている、イベントID割当部211から受信したイベント情報に含まれるイベントIDに対応するイベントの順番情報を更新する。
ここで、履歴情報登録部203、イベント情報登録部207、順番情報更新部208、およびイベントID割当部211によって実行される履歴情報の登録処理を、図16および図17を参照して説明する。例えば、履歴情報格納部202およびグループファイル2050内に、それぞれ、図16(a)および(b)に示すデータが格納されている状態で、図16(c)に示すイベント情報44を受信した場合、イベントID割当部211は、当該イベント情報44で示されるイベントに対して、新たなイベントIDとして「ID−3」を割り当てる。
そして、イベントID割当部211は、新たに割り当てたイベントIDである「ID−3」を、通信回線11を介して端末30へ送信する。また、イベントID割当部211は、新たに割り当てたイベントIDである「ID−3」と共に、イベント情報44を、履歴情報登録部203、イベント情報登録部207、および順番情報更新部208へ送信する。
次に、履歴情報登録部203は、イベントID割当部211から受信したイベント情報に含まれる、前のイベントのイベントIDである「ID−2」をキーとして履歴情報格納部202を検索することにより、当該前のイベントに対応するレコードを特定する。そして、履歴情報登録部203は、特定したレコードに含まれるグループIDである「GR−1」を履歴情報格納部202から取得する。そして、履歴情報登録部203は、イベントID割当部211によって新たに割り当てられたイベントIDである「ID−3」に対応付けて、イベント情報44に含まれる物品IDおよびイベントの内容を、履歴情報格納部202から取得したグループIDである「GR−1」と共に履歴情報格納部202に登録する。これにより、履歴情報格納部202内のデータは、図17(a)に示すような内容になる。
次に、イベント情報登録部207は、イベントID割当部211から受信したイベント情報に含まれるイベントIDである「ID−2」を、イベントID割当部211によって新たに割り当てられたイベントIDである「ID−3」に対応するイベントの前に実行されるイベントのイベントIDとして順番情報を作成する。ここで作成される順番情報は、図17(b)のフィールド2070で示されるように、前イベントIDが「ID−2」となる。
次に、イベント情報登録部207は、履歴情報格納部202を参照して、イベントID割当部211から受信したイベント情報に含まれるイベントIDである「ID−2」をキーとして履歴情報格納部202を検索することにより、当該イベントIDを含むレコードを特定する。そして、イベント情報登録部207は、特定したレコードに含まれているグループIDである「GR−1」を抽出し、抽出したグループIDに対応するグループファイル(図16(b))をグループファイル格納部205内で特定する。
次に、イベント情報登録部207は、特定したグループファイル内に、イベントID割当部211によって新たに割り当てられたイベントIDである「ID−3」に対応付けて、イベントID割当部211から受信したイベント情報に含まれるイベントの内容の少なくとも一部を示す情報(図17(b)の例では、「アクション」、「場所」、および「日時」)、および、作成した順番情報を格納する。そして、イベント情報登録部207は、更新したグループファイルのグループIDである「GR−1」を順番情報更新部208に通知する。
次に、順番情報更新部208は、イベントID割当部211によって新たに割り当てられたイベントIDである「ID−3」を、イベントID割当部211から受信したイベント情報に含まれるイベントIDである「ID−2」に対応するイベントの次に実行されるイベントのイベントIDとして、順番情報を作成する。ここで作成される順番情報は、図17(b)のフィールド2071で示されるように、後イベントIDが「ID−3」となる。そして、順番情報更新部208は、作成した順番情報で、イベント情報登録部207から通知されたグループファイルに対応するグループファイルに格納されている、イベントID割当部211から受信したイベント情報に含まれるイベントIDである「ID−2」に対応するイベントの順番情報を更新する。これにより、イベント情報登録部207によって更新されたグループファイル内のデータは、図17(b)に示すような内容になる。
次に、本実施形態における履歴情報の登録時の履歴管理サーバ20の動作について、図18を参照して説明する。通信回線11を介して、端末30からイベント情報を受信した場合に、履歴管理サーバ20は、本フローチャートに示す動作を開始する。
まず、イベントID割当部211は、端末30から受信したイベント情報に対応するイベントに対してイベントIDを新たに割り当て(S300)、新たに割り当てたイベントIDを、通信回線11を介して端末30へ送信する。そして、イベントID割当部211は、新たに割り当てたイベントIDと共に、端末30から受信したイベント情報を、履歴情報登録部203、イベント情報登録部207、および順番情報更新部208へ送信する。
次に、履歴情報登録部203は、イベントID割当部211から受信したイベント情報に含まれるイベントIDをキーとして履歴情報格納部202を検索することにより、当該イベントIDに対応するレコードを特定する。そして、履歴情報登録部203は、特定したレコードに含まれるグループIDを履歴情報格納部202から取得する(S301)。そして、履歴情報登録部203は、イベントID割当部211によって新たに割り当てられたイベントIDに対応付けて、イベント情報に含まれる物品IDおよびイベントの内容を、履歴情報格納部202から取得したグループIDと共に履歴情報格納部202に登録する(S302)。
次に、イベント情報登録部207は、イベントID割当部211から受信したイベント情報に含まれるイベントIDを、イベントID割当部211によって新たに割り当てられたイベントIDに対応するイベントの前に実行されるイベントのイベントIDとして順番情報を作成する(S303)。そして、イベント情報登録部207は、履歴情報格納部202を参照して、イベントID割当部211から受信したイベント情報に含まれるイベントIDをキーとして履歴情報格納部202を検索することにより、当該イベントIDを含むレコードを特定する。
そして、イベント情報登録部207は、特定したレコードに含まれているグループIDを抽出し、抽出したグループIDに対応するグループファイルをグループファイル格納部205内で特定する。そして、イベント情報登録部207は、特定したグループファイル内に、イベントID割当部211によって新たに割り当てられたイベントIDに対応付けて、イベントID割当部211から受信したイベント情報に含まれるイベントの内容の少なくとも一部を示す情報、および、作成した順番情報を格納する(S304)。そして、イベント情報登録部207は、更新したグループファイルのグループIDを順番情報更新部208に通知する。
次に、順番情報更新部208は、イベントID割当部211によって新たに割り当てられたイベントIDを、イベントID割当部211から受信したイベント情報に含まれるイベントIDに対応するイベントの次に実行されるイベントのイベントIDとして、イベントID割当部211から受信したイベント情報に含まれるイベントIDに対応するイベントの順番情報を作成する。そして、順番情報更新部208は、作成した順番情報で、イベント情報登録部207から通知されたグループファイルに対応するグループファイルに格納されている、イベントID割当部211から受信したイベント情報に含まれるイベントIDに対応するイベントの順番情報を更新し(S305)、履歴管理サーバ20は、本フローチャートに示した履歴情報の登録時の動作を終了する。
以上、本発明の第2の実施形態について説明した。
上記説明から明らかなように、本実施形態の履歴管理システム10においても、履歴情報の追跡にかかる時間を短くすることができる。また、本実施形態の履歴管理サーバ20では、一時記憶部210が不要なため、履歴管理サーバ20内の記憶容量を節約することができる。
次に、本発明の第3の実施形態について説明する。
本実施形態の履歴管理システム10は、化学プラントにおける混合生産のように、原料から流れ作業的に生産された生産物について、履歴情報の検索処理および登録処理を行うものである。本実施形態における履歴管理システム10のシステム構成は、図1で説明した第1の実施形態における履歴管理システム10のシステム構成と類似しており、それぞれの端末30が工場内の様々なところに設置される点が第1の実施形態における履歴管理システム10と異なる。収集されるイベント情報は工場内で発生することから、履歴管理サーバ20は工場内に設置されるが、他の形態として、履歴管理サーバ20は工場の外部の管理センタ等に設置されていてもよい。それぞれの端末30は、図2で説明した第1の実施形態における端末30と同一である。
図19は、本実施形態で説明する生産工程が実行された後の、履歴管理サーバ20の履歴情報格納部202内のデータの内容を示している。本実施形態の生産工程では、物品IDが「P001」〜「P004」の4種類の原料が工場Aに入荷した後に(イベントIDが「ID−1」〜「ID−4」のレコード2028に対応)、物品IDが「P001」〜「P003」の3種類の原料が工場A内の装置Bに10リットルずつ投入され(イベントIDが「ID−5」〜「ID−7」のレコード2028に対応)、物品IDが「P010」の製品が生産され(ベントIDが「ID−8」のレコード2028に対応)、さらに、物品IDが「P004」の原料が工場A内の装置Bに10リットル投入された後に(イベントIDが「ID−9」のレコード2028に対応)、物品IDが「P011」の製品が生産される(ベントIDが「ID−10」のレコード2028に対応)。
本実施形態の生産工程では、物品IDが「P001」〜「P004」の4種類の原料が投入された後に、物品IDが「P010」の製品および「P011」の製品が生産されたわけではなく、物品IDが「P010」の製品は、物品IDが「P001」〜「P003」の3種類の原料が投入された後に生産されており、物品IDが「P011」の製品は、さらに物品IDが「P004」の原料が投入された後に生産されている。つまり、本実施形態における生産工程は、原料の投入と製品の生産を流れ作業的に行う生産方式であり、原料と生産物との対応関係が多対多の関係になる。
このように、ある製品が複数の原料から生産される場合、ある製品に含まれる原料毎に、含まれている割合が高いかどうかを相関度として定義することができる。例えば、工場内の混合器が原料を混ぜ合わせることで製品を生産する場合、ある原料を投入した直後にその原料と生産物との相関関係が高くなり、他の原料を投入していくにつれ、最初に投入した原料と生産される製品間の相関関係が低くなると考えられる。
原料の投入量と相関度の関係を示す相関度グラフ45の例を図20に示す。相関度グラフ45は、原料を投入した直後に最も相関度が高くなり、他の原料を追加していく毎に、最初に投入した原料と生産される製品との相関度が減少していくことを示している。例えば、他の原料が10リットルずつ投入される場合、対象となる原料と製品との相関度は、0.5、0.3、0.1と減少し、他の原料の投入量が25リットルを超えると、相関度は0となる。相関度グラフ45の形状は、必ずしも図20に示したものである必要はなく、生産方式に応じて最適なものを利用すればよい。例えば、投入した直後の原料はバッファに入れられ、すぐにその原料から製品が生産されない場合、相関度グラフの形状は、投入量の増加と共に相関度が上昇し、あるところから減少していく形になる。
また、本実施形態では、原料とそれから生産される製品のように、別個の物品でありながら、上記のような相関度を有する関係にある物品どうしを関連付ける情報として、それぞれの物品のグループファイルに、関連する他の物品のグループファイルを特定する情報、および、当該関連する他の物品との相関度を示す情報をさらに登録する。これにより、それぞれのグループファイルを参照することにより、ユーザは、関連する他の物品のグループファイルを特定する情報および当該関連する他の物品との相関度を示す情報を取得することができる。
図21は、第3の実施形態における履歴管理サーバ20の詳細な機能構成の一例を示すブロック図である。履歴管理サーバ20は、入力部200、グループID抽出部201、履歴情報格納部202、履歴情報登録部203、グループ情報出力部204、グループファイル格納部205、詳細情報出力部206、イベント情報登録部207、順番情報更新部208、削除部209、一時記憶部210、および業務フロー格納部212を有する。なお、以下に説明する点を除き、図21において、図3と同じ符号を付した構成は、図3における構成と同一または同様の機能を有するため説明を省略する。
業務フロー格納部212には、例えば図22に示すように、複数のレコード2124が格納されている。それぞれのレコード2124には、イベントの順番を示す情報を格納するフィールド2120、当該イベントに対応するアクションを示す情報を格納するフィールド2121、当該アクションが実行された場所を示す情報を格納するフィールド2122、および当該アクションが実行された場合に行う必要がある処理を示す情報を格納するフィールド2123が格納される。
フィールド2123には、例えば、アクションが「投入」であり、当該アクションが実行された場所が「装置B」であるイベントに対しては、投入された原料の相関度を更新する処理が必要である旨を示す情報が格納される。また、例えば、アクションが「生産」であり、当該アクションが実行された場所が「装置B」であるイベントに対しては、投入された原料および生産された製品のそれぞれのグループファイルにおいて、関連情報を設定する必要がある旨を示す情報がフィールド2123に格納される。また、例えば、アクションが「出荷」であり、当該アクションが実行された場所が「工場A」であるイベントに対しては、業務の最後であるため、対応するレコードを一時記憶部210から削除する必要である旨を示す情報が格納される。
グループファイル格納部205には、例えば図23に示すように、それぞれのグループファイル2050毎に、グループIDを格納するフィールド2051および複数のレコード2059が格納されている。それぞれのレコード2059には、イベントIDを格納するフィールド2052、前に実行されるイベントのイベントIDを格納するフィールド2053、後に実行されるイベントのイベントIDを格納するフィールド2054、およびフィールド2052に格納されているイベントIDに対応するイベントの少なくとも一部を示す情報を格納するフィールド2055が格納される。
フィールド2055には、図5で説明した第1の実施形態におけるフィールド2055内の情報に加えて、さらに、自グループファイル内に示されているイベントが実行される前に実行されたイベントに関する情報を格納する他のグループファイルの情報であって、生産工程において関連する他のグループファイルの情報を格納するフィールド2060、および、自グループファイル内に示されているイベントが実行された後に実行されたイベントに関する情報を格納する他のグループファイルの情報であって、生産工程において関連する他のグループファイルの情報を格納するフィールド2061が格納される。
フィールド2060には、さらに、関連する他のグループファイルのグループIDを格納するフィールド2062、フィールド2052に格納されているイベントIDに対応するイベントの前に実行されるイベントのイベントIDであって、フィールド2062に格納されているグループIDに対応するグループファイル内のイベントIDを格納するフィールド2063、フィールド2052に格納されているイベントIDに対応するイベントと、フィールド2063に格納されているイベントIDに対応するイベントとの相関度を格納するフィールド2064が格納される。
また、フィールド2061には、さらに、関連する他のグループファイルのグループIDを格納するフィールド2065、フィールド2052に格納されているイベントIDに対応するイベントの後に実行されるイベントのイベントIDであって、フィールド2065に格納されているグループIDに対応するグループファイル内のイベントIDを格納するフィールド2066、フィールド2052に格納されているイベントIDに対応するイベントと、フィールド2066に格納されているイベントIDに対応するイベントとの相関度を格納するフィールド2067が格納される。
なお、関連するグループファイルが存在しない場合、フィールド2055内には、フィールド2060およびフィールド2061が含まれていなくてもよい。また、関連するグループファイルが複数存在する場合、フィールド2055内には、フィールド2060およびフィールド2061が複数格納される。
一時記憶部210には、例えば図24に示すように、複数のレコード2108が格納される。それぞれのレコード2108には、図6で説明した第1の実施形態におけるレコード2108内の情報に加えて、さらに、製品が生産された場合に適用される原料の相関度を格納するフィールド2109が格納される。
入力部200は、例えば図7に示した入力画面40を表示装置18に表示し、入力装置17を介して項目毎の情報を受信した場合に、受信した情報をグループID抽出部201へ送信する。また、入力部200は、例えば図25に示すような相関情報画面46が表示装置18に表示されている状態で、グループIDが選択された場合に、選択されたグループIDをグループ情報出力部204へ送信する。また、図25に示すような相関情報画面46が表示装置18に表示されている状態で、終了ボタン461が選択された場合、入力部200は、図7に示した入力画面40を表示装置18に表示する。また、図8に示すようなグループ情報画面41が表示装置18に表示されている状態で、終了ボタン415が選択された場合、入力部200は、グループ情報出力部204に指示して図25に示した入力画面40を表示装置18に表示させる。
グループID抽出部201は、入力部200から受信した情報をもとに履歴情報格納部202を参照して、ユーザから指定された情報を含むレコードを起点となるレコードとして特定し、特定したレコードに含まれているグループIDおよび物品IDをグループ情報出力部204へ送信する。グループ情報出力部204は、グループID抽出部201から受信したグループIDをキーとしてグループファイル格納部205内を検索し、当該グループIDに対応するグループファイルを取得して物品IDと共に履歴管理サーバ20のRAM上に展開する。
展開したグループファイル内に他のグループファイルを指定する関連情報が登録されていない場合、グループ情報出力部204は、展開したグループファイルの内容を示すグループ情報画面41(図8参照)を作成して表示装置18に表示する。一方、展開したグループファイル内に他のグループファイルを指定する関連情報が登録されている場合、グループ情報出力部204は、当該他のグループファイルのグループIDおよび相関度を取得し、図25に示した相関情報画面46を作成して表示装置18に表示する。
そして、入力部200からグループIDを受信した場合、グループ情報出力部204は、当該グループIDに対応するグループファイルがRAM上に存在すれば、RAM上に展開されたグループファイルの内容を示すグループ情報画面41を作成して表示装置18に表示する。一方、入力部200から受信したグループIDに対応するグループファイルがRAM上に存在しない場合、グループ情報出力部204は、グループIDをキーとしてグループファイル格納部205内を検索し、当該グループIDに対応するグループファイルを取得して履歴管理サーバ20のRAM上に展開した後に、当該グループファイルの内容を示すグループ情報画面41を作成して表示装置18に表示する。
イベント情報登録部207は、一時記憶部210に、相関度以外の情報を含む新たなレコードが登録された場合に、当該新たに登録されたレコードに含まれるアクションおよび場所の情報に基づいて業務フロー格納部212を参照し、相関度の更新または関連情報の設定が必要か否かを判定する。相関度の更新および関連情報の設定が不要である場合、イベント情報登録部207は、第1の実施形態において説明した処理を実行する。
一方、相関度の更新が必要である場合、イベント情報登録部207は、新たに一時記憶部210に登録されたレコード、および、一時記憶部210の中で相関度が設定されているレコード内の情報から、図20で示した相関情報画面46を用いて相関度を算出し、新たに一時記憶部210に登録されたレコードに相関度を設定すると共に、一時記憶部210の中で相関度が設定されているレコード内の相関度を更新する。相関度の算出方法の詳細は後述する。
また、関連情報の設定が必要である場合、イベント情報登録部207は、一時記憶部210の中で相関度が設定されているレコードを参照して、当該レコードに含まれるグループIDおよびイベントIDをそれぞれ取得する。そして、イベント情報登録部207は、グループファイル格納部205を参照して、取得したグループIDに対応するグループファイル内において、取得したイベントIDに対応するフィールド2061を更新する。そして、イベント情報登録部207は、新たに一時記憶部210に登録されたレコードに含まれるグループファイルをグループファイル格納部205内に作成し、作成したグループファイルに格納されているレコード内において、フィールド2060を更新する。これらの更新手順の詳細については後述する。
削除部209は、順番情報の更新終了を順番情報更新部208から通知された場合に、一時記憶部210に新たに登録されたレコードに含まれる物品IDと同一の物品IDを含む他のレコードを一時記憶部210から削除する。また、削除部209は、業務フロー格納部212を参照して、業務の最後のイベントに対応するアクションおよび場所の組み合わせを含むレコードを一時記憶部210から削除する。また、削除部209は、予め定められた値以下(例えば0以下)の相関度が設定されているレコードを一時記憶部210から削除する。
ここで、履歴情報登録部203、イベント情報登録部207、順番情報更新部208、および削除部209によって実行される履歴情報の登録処理を、図26から図29を参照して説明する。例えば、履歴情報格納部202、一時記憶部210、およびグループファイル2050内に、それぞれ、図26(a)〜(c)に示すデータが格納されている状態で、図26(d)に示すイベント情報47を受信した場合、履歴情報登録部203は、当該イベント情報43で示されるイベントに対して、新たなイベントIDとして「ID−8」を割り当てる。
次に、履歴情報登録部203は、一時記憶部210を参照して、イベント情報47に含まれる物品IDである「P010」と同一の物品IDに対応付けられているグループIDを検索するが、「P010」は履歴情報格納部202内に登録されていないため、履歴情報登録部203は、当該物品IDに対応付けるグループIDとして「GR−5」を新たに生成する。そして、履歴情報登録部203は、図27(a)および(b)に示すように、新たに割り当てたイベントIDである「ID−8」に対応付けて、イベント情報47に含まれる物品IDである「P010」、端末30から受信したイベントの内容である「生産」、「装置B」、「2007-07-23 12:00」、および「D」、ならびに、新たに生成したグループIDである「GR−5」を、履歴情報格納部202および一時記憶部210に登録する。なお、この時点では、新たに一時記憶部210に登録されるレコードにおいて相関度のフィールドは空欄となる。
次に、イベント情報登録部207は、新たに一時記憶部210に登録されたレコードに含まれるアクションおよび場所の情報に基づいて業務フロー格納部212を参照し、相関度の更新または関連情報の設定が必要か否かを判定する。図27(b)の例では、アクションが「生産」、場所が「装置B」であるレコードが新たに一時記憶部210に登録されたので、イベント情報登録部207は、関連情報の設定を実行することになる。
まず、イベント情報登録部207は、一時記憶部210の中で相関度が設定されているレコード(「ID−5」、「ID−6」、または「ID−7」のイベントIDを含むレコード)を参照して、当該レコードに含まれるイベントIDおよびグループID(「GR−1」、「GR−2」および「GR−3」)をそれぞれ取得する。そして、イベント情報登録部207は、グループファイル格納部205を参照して、取得したグループIDに対応するグループファイル内において、取得したイベントIDに対応するレコードを特定する。そして、イベント情報登録部207は、特定したレコード内に、後に実行されるイベントのイベントIDを含むグループファイルに関する情報を格納するフィールド2061を設け、当該フィールド2061に、「GR−5」、「ID−8」および「0.1」を登録する。これにより、グループIDが「GR−1」のグループファイル内のデータは、図28(a)に示すような内容になる。
次に、イベント情報登録部207は、新たに一時記憶部210に登録されたレコードに含まれるグループIDに対応するグループファイルをグループファイル格納部205内に作成し、作成したグループファイル内に、前に実行されるイベントのイベントIDを含むグループファイルに関する情報を格納するフィールド2060を設け、当該フィールド2060に、「GR−1」、「ID−5」および「0.1」を登録する。これにより、グループIDが「GR−5」のグループファイル内のデータは、図28(b)に示すような内容になる。
次に、図29(a)に示すイベント情報48を受信した場合、履歴情報登録部203は、イベント情報48で示されるイベントに対して、新たなイベントIDとして「ID−9」を割り当てる。そして、履歴情報登録部203は、一時記憶部210を参照して、イベント情報48に含まれる物品IDである「P004」と同一の物品IDに対応付けられているグループIDとして「GR−4」を取得する。そして、履歴情報登録部203は、図29(b)および(c)に示すように、新たに割り当てたイベントIDである「ID−9」に対応付けて、イベント情報48に含まれる物品IDである「P004」、端末30から受信したイベントの内容である「投入(10L)」、「装置B」、「2007-07-23 13:30」、および「C」、ならびに、一時記憶部210から取得したグループIDである「GR−4」を、履歴情報格納部202および一時記憶部210に登録する。なお、この時点では、新たに一時記憶部210に登録されるレコードにおいて相関度のフィールドは空欄となる。
次に、イベント情報登録部207は、新たに一時記憶部210に登録されたレコードに含まれるアクションおよび場所の情報に基づいて業務フロー格納部212を参照し、相関度の更新または関連情報の設定が必要か否かを判定する。図29(c)の例では、アクションが「投入(10L)」、場所が「装置B」であるレコードが新たに一時記憶部210に登録されたので、イベント情報登録部207は、相関度の更新を実行することになる。
イベント情報登録部207は、一時記憶部210の中で相関度が設定されているレコード(図27(b)において「ID−5」、「ID−6」、または「ID−7」のイベントIDを含むレコード)のそれぞれについて、新たに一時記憶部210に登録されたレコードに含まれている物品IDに対応する原料が投入されたことによって変化した、生産物に対する相関度を算出する。例えば、物品IDが「P004」の原料は、原料が装置B内に新たに投入される前に、当該装置内には存在しないため、図20において投入量は0となり、イベント情報登録部207は、当該原料の相関度を「0.5」と算出する。
原料が新たに投入される前に既に投入されている原料については、新たに原料が投入される都度、投入量に応じて、相関度が減少する。物品IDが「P003」の原料の相関度は、物品IDが「P004」の原料が投入される前は「0.5」であったが、物品IDが「P004」の原料が新たに10リットル投入されたことにより、イベント情報登録部207は、原料が新たに投入された後の、物品IDが「P003」の原料の相関度を、図20の相関度グラフ45を用いて「0.3」と算出する。同様にして、イベント情報登録部207は、物品IDが「P002」の原料の相関度を「0.1」、物品IDが「P001」の原料の相関度を「0」と算出する。そして、イベント情報登録部207は、新たに一時記憶部210に登録されたレコードについては、算出した相関度を登録し、一時記憶部210の中で相関度が設定されているレコードについては、算出した相関度で設定されている相関度を更新する。
次に、削除部209は、一時記憶部210を参照して、予め定められた値以下(本実施形態では0以下)の相関度が設定されているレコード(イベント情報登録部207によって相関度の更新が行われた後の、「ID−5」のイベントIDを含むレコード)を一時記憶部210から削除する。これにより、一時記憶部210内のデータは図29(c)に示すような内容になる。なお、新たに一時記憶部210に登録されたレコードに対応するグループファイルの更新については、第1の実施形態において説明した処理と同様であるため説明を省略するが、当該処理が実行された後の当該グループファイル内のデータは、図29(d)に示すような内容になる。
次に、本実施形態における履歴情報の登録時の履歴管理サーバ20の動作について、図30を参照して説明する。通信回線11を介して、端末30からイベント情報を受信した場合に、履歴管理サーバ20は、本フローチャートに示す動作を開始する。なお、本フローチャートにおいて、ステップS400からS405までの処理は、図13で説明したステップS200からS205と同様の処理であるため説明を省略する。
順番情報更新部208が順番情報を更新した後(S405)、イベント情報登録部207は、新たに一時記憶部210に登録されたレコードに含まれるアクションおよび場所の情報に基づいて業務フロー格納部212を参照し、相関度の更新が必要か否かを判定する(S406)。相関度の更新が必要である場合(S406:Yes)、イベント情報登録部207は、新たに一時記憶部210に登録されたレコード、および、一時記憶部210の中で相関度が設定されているレコード内の情報から、図20で示した相関情報画面46を用いて相関度を算出し、新たに一時記憶部210に登録されたレコードに相関度を設定すると共に、一時記憶部210の中で相関度が設定されているレコード内の相関度を更新する(S407)。そして、削除部209は、予め定められた値以下の相関度が設定されているレコードを一時記憶部210から削除する(S408)。
次に、削除部209は、業務フロー格納部212を参照して、業務の最後のイベントに対応するアクションおよび場所の組み合わせを含むレコードを一時記憶部210から削除する(S409)。そして、削除部209は、一時記憶部210に新たに登録されたレコードに含まれる物品IDと同一の物品IDを含む他のレコードを一時記憶部210から削除し(S410)、履歴管理サーバ20は、本フローチャートに示した履歴情報の登録時の動作を終了する。
相関度の更新が不要である場合(S406:No)、イベント情報登録部207は、新たに一時記憶部210に登録されたレコードに含まれるアクションおよび場所の情報に基づいて業務フロー格納部212を参照し、関連情報の設定が必要か否かを判定する(S411)。関連情報の設定が不要である場合(S411:No)、削除部209は、ステップS409に示した処理を実行する。
関連情報の設定が必要である場合(S411:Yes)、イベント情報登録部207は、一時記憶部210の中で相関度が設定されているレコードを参照して、当該レコードに含まれるグループIDおよびイベントIDをそれぞれ取得する。そして、イベント情報登録部207は、グループファイル格納部205を参照して、取得したグループIDに対応するグループファイル内において、取得したイベントIDに対応するフィールド2061を更新する。そして、イベント情報登録部207は、新たに一時記憶部210に登録されたレコードに含まれるグループファイルをグループファイル格納部205内に作成する。そして、イベント情報登録部207は、作成したグループファイルに格納されているレコード内において、フィールド2060を更新し(S412)、削除部209は、ステップS409に示した処理を実行する。
以上、本発明の第3の実施形態について説明した。
上記説明から明らかなように、本実施形態の履歴管理システム10においても、履歴情報の追跡にかかる時間を短くすることができる。また、本実施形態の履歴管理システム10では、複数の物品が関連する場合に、物品毎のグループファイルに物品間の関連性を示す情報を格納し、対象となる物品の情報を含むグループファイルのグループIDと共に、関連する他のグループIDおよび相関度を表示することにより、ユーザは、より関連性の高いグループファイルから先に履歴情報の追跡を行うことができるため、原因究明をより効率的に行うことができる。
なお、上記した第1の実施形態、第2の実施形態、または第3の実施形態における履歴管理サーバ20は、例えば図31に示すような構成のコンピュータ50によって実現される。当該コンピュータ50は、CPU(Central Processing Unit)51、RAM(Random Access Memory)52、ROM(Read Only Memory)53、HDD(Hard Disk Drive)54、通信インターフェイス(I/F)55、入出力インターフェイス(I/F)56、およびメディアインターフェイス(I/F)57を備える。
CPU51は、ROM53またはHDD54に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM53は、コンピュータ50の起動時にCPU51が実行するブートプログラムや、コンピュータ50のハードウェアに依存するプログラム等を格納する。通信インターフェイス55は、通信回線11を介して他の機器からデータを受信してCPU51へ送信すると共に、CPU51が生成したデータを、通信回線11を介して他の機器へ送信する。
CPU51は、入出力インターフェイス56を介して、入力装置17および表示装置18を制御する。CPU51は、入出力インターフェイス56を介して、入力装置17からデータを取得する。また、CPU51は、生成したデータを、入出力インターフェイス56を介して表示装置18へ出力する。
メディアインターフェイス57は、記録媒体58に格納されたプログラムまたはデータを読み取り、RAM52に提供する。RAM52を介してCPU51に提供されるプログラムは、記録媒体58に格納されている。当該プログラムは、記録媒体58から読み出されて、RAM52を介してコンピュータ50にインストールされ、CPU51によって実行される。記録媒体58は、例えばDVD(Digital Versatile Disk)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
コンピュータ50が第1の実施形態における履歴管理サーバ20として機能する場合、コンピュータ50にインストールされて実行されるプログラムは、コンピュータ50を、入力部200、グループID抽出部201、履歴情報格納部202、履歴情報登録部203、グループ情報出力部204、グループファイル格納部205、詳細情報出力部206、イベント情報登録部207、順番情報更新部208、削除部209、および一時記憶部210として機能させる。また、ROM53またはHDD54には、履歴情報格納部202、グループファイル格納部205、および一時記憶部210内のデータが格納される。
また、コンピュータ50が第2の実施形態における履歴管理サーバ20として機能する場合、コンピュータ50にインストールされて実行されるプログラムは、コンピュータ50を、入力部200、グループID抽出部201、履歴情報格納部202、履歴情報登録部203、グループ情報出力部204、グループファイル格納部205、詳細情報出力部206、イベント情報登録部207、順番情報更新部208、およびイベントID割当部211として機能させる。また、ROM53またはHDD54には、履歴情報格納部202およびグループファイル格納部205内のデータが格納される。
また、コンピュータ50が第3の実施形態における履歴管理サーバ20として機能する場合、コンピュータ50にインストールされて実行されるプログラムは、コンピュータ50を、入力部200、グループID抽出部201、履歴情報格納部202、履歴情報登録部203、グループ情報出力部204、グループファイル格納部205、詳細情報出力部206、イベント情報登録部207、順番情報更新部208、削除部209、一時記憶部210、および業務フロー格納部212として機能させる。また、ROM53またはHDD54には、履歴情報格納部202、グループファイル格納部205、一時記憶部210、および業務フロー格納部212内のデータが格納される。
コンピュータ50は、これらのプログラムを、記録媒体58から読み取って実行するが、他の例として、他の装置から、通信媒体を介してこれらのプログラムを取得してもよい。通信媒体とは、通信回線11、または、当該通信回線11を伝搬するディジタル信号もしくは搬送波を指す。
なお、本発明は、上記した各実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
例えば、上記した第3の実施形態において、ユーザから入力された情報によってグループID抽出部201が複数のグループIDを抽出し、それぞれのグループファイルには、複数の関連情報が設定されている場合、グループ情報出力部204は、関連する他のグループID毎に相関度を合計して、例えば図32に示すような相関情報画面46を表示装置18に表示するようにしてもよい。例えば、グループIDが「GR−5」のグループファイルとの相関度が0.5であり、グループIDが「GR−6」のグループファイルとの相関度が0.3である、グループIDが「GR−2」のグループファイルについて、イベント情報登録部207は、0.8を相関度の合計として算出する。これにより、複数の物品が規格外となっており、それぞれの物品が、複数の物品と関連している場合に、ユーザは、規格外となった複数の物品との関連が最も強い物品に関する情報を格納するグループファイルから先に履歴情報の追跡を行うことができ、原因究明の効率をさらに向上させることができる。
また、上記した第3の実施形態において、履歴管理サーバ20は、「相関度」を用いて原料と製品との関連性の度合いを表現したが、本発明はこれに限られない。例えば、履歴管理サーバ20は、「相関度」に代えて、「残量割合」を用いて原料と製品との関連性の度合いを表現してもよい。「残量割合」とは、投入された原料のうち装置内に残っている割合を示す情報であり、「アクション」が「投入」であるレコードに対してのみ設定される。新しい原料が投入された場合に、イベント情報登録部207は、一時記憶部210に登録する新レコードの「残量割合」を、例えば下記の数式1を用いて算出する。
α=[投入量]÷([投入量]+[装置内に存在した原料の量]) ・・・式1
ここで、[装置内に存在した原料の量]とは、装置内に設けられたセンサによって測定された、原料投入直前の原料の量である。また、イベント情報登録部207は、新しくレコードを一時記憶部210に登録した場合に、一時記憶部210に既に登録されているレコードの「残量割合」を(1−α)倍する。これによって、既に投入されている原料の製品に対する影響度が修正される。なお、この方式では、「残量割合」が永遠に0にならないので、削除部209は、「残量割合」が例えば0.01未満となったレコードを削除する。
また、上記した各実施形態において、グループファイルに格納される順番情報は、前に実行されたイベントのイベントID、および、次に実行されたイベントのイベントIDを示す情報であったが、本発明はこれに限られず、順番情報は、イベントが実行された順番が示されていれば、数値であってもよい。
上記した各実施形態において、履歴情報格納部202、グループファイル格納部205、一時記憶部210、および業務フロー格納部212は、履歴管理サーバ20内に設けられるが、他の形態として、これらのデータベースは、データベースサーバ等の他の装置内に設けられ、履歴管理サーバ20は、通信回線11を介して、当該装置と通信して必要なデータを取得するようにしてもよい。
また、上記した各実施形態では、ユーザが直接、履歴管理サーバ20を操作して、所望の物品の履歴情報を取得したが、本発明はこれに限られず、履歴管理サーバ20は、通信回線11を介して、認証等を経た所定の端末からの要求に応じて、物品の履歴情報を提供するようにしてもよい。これにより、履歴管理サーバ20は、一般消費者や関連業者等に対しても、物品の履歴情報を提供することができる。
10・・・履歴管理システム、11・・・通信回線、12・・・拠点、13・・・ゲート、14・・・センサ、15・・・物品、16・・・タグ、17・・・入力装置、18・・・表示装置、20・・・履歴管理サーバ、200・・・入力部、201・・・グループID抽出部、202・・・履歴情報格納部、203・・・履歴情報登録部、204・・・グループ情報出力部、205・・・グループファイル格納部、2050・・・グループファイル、206・・・詳細情報出力部、207・・・イベント情報登録部、208・・・順番情報更新部、209・・・削除部、210・・・一時記憶部、211・・・イベントID割当部、212・・・業務フロー格納部、30・・・端末、31・・・ID送信部、32・・・ID取得部、33・・・ID書換部、40・・・入力画面、41・・・グループ情報画面、42・・・詳細情報画面、43・・・イベント情報、44・・・イベント情報、45・・・相関度グラフ、46・・・相関情報画面、47・・・イベント情報、48・・・イベント情報、50・・・コンピュータ、51・・・CPU、52・・・RAM、53・・・ROM、54・・・HDD、55・・・通信インターフェイス、56・・・入出力インターフェイス、57・・・メディアインターフェイス、58・・・記録媒体