(57)【要約】【課題】プロセスチェーンの各プロセスから収集されるトレース情報を効率良く管理する。【解決手段】プロセスを実行する現実のイベントに対応付けて、イベントについての情報を登録するプロセスインスタンスをイベントの実行条件に基づいて生成するプロセスインスタンス生成部と、プロセスインスタンスに、実行条件を記録したトレース情報の記録先を示すポインタを格納するトレース情報ポインタ格納部と、プロセスインスタンスに対応付けて、当該プロセスインスタンスに対応するイベントに対し、当該プロセスの直前の先行プロセスを実行した結果得られる結果物を供給（※１）する現実のイベントに対応するプロセスインスタンスを識別する先行プロセスインスタンス・ポインタを格納する先行プロセスインスタンス・ポインタ格納部とを備えるトレーサビリティシステムを提供する。【選択図】図４
2005346280.tif 000002
【特許請求の範囲】
【請求項１】
最終製品を得るために実行される一連のプロセスからなるプロセスチェーンにおける、プロセスに関する情報を管理するトレーサビリティシステムであって、
前記プロセスを実行する現実のイベントに対応付けて、前記イベントについての情報を登録するプロセスインスタンスを前記イベントの実行条件に基づいて生成するプロセスインスタンス生成部と、
前記プロセスインスタンスに、前記実行条件を記録したトレース情報の記録先を示すポインタを格納するトレース情報ポインタ格納部と、
前記プロセスインスタンスに対応するイベントに対して当該プロセスの直前の先行プロセスを実行した結果得られる結果物を供給する現実のイベントに対応するプロセスインスタンスを識別する先行プロセスインスタンス・ポインタを、前記プロセスインスタンスに対応付けて格納する先行プロセスインスタンス・ポインタ格納部と、
を備えるトレーサビリティシステム。
【請求項２】
外部から指定された前記プロセスインスタンスから順に、各プロセスインスタンスに記録された前記先行プロセスインスタンス・ポインタに基づいて、前記先行プロセスの前記プロセスインスタンスを取得していくプロセスインスタンス前方探索部と、
前記プロセスインスタンス前方探索部が順次取得した複数の前記プロセスインスタンスに対応する複数の前記トレース情報を、外部から指定された前記プロセスインスタンスに対応するイベントの結果物についてのトレース情報の組として出力するトレース情報出力部と
を備える請求項１記載のトレーサビリティシステム。
【請求項３】
前記プロセスインスタンスに対応するイベントの結果物を取得して当該プロセスの次の後続プロセスを実行する現実のイベントに対応するプロセスインスタンスを識別する後続プロセスインスタンス・ポインタを、前記プロセスインスタンスに対応付けて格納する後続プロセスインスタンス・ポインタ格納部を更に備える請求項１記載のトレーサビリティシステム。
【請求項４】
外部から指定された前記プロセスインスタンスから順に、当該プロセスインスタンスに記録された前記後方プロセスインスタンス・ポインタに基づいて、前記後続プロセスの前記プロセスインスタンスを取得していくことにより、指定された前記プロセスインスタンスに対応する前記イベントの処理が共通して行われた最終製品を特定するプロセスインスタンス後方探索部と、
前記プロセスインスタンス後方探索部により特定された最終製品を識別する情報を出力する共通製品識別情報出力部と
を備える請求項３のトレーサビリティシステム。
【請求項５】
外部から指定された複数の前記プロセスインスタンスのそれぞれについて、当該プロセスインスタンスから順に、各プロセスインスタンスに記録された前記先行プロセスインスタンス・ポインタに基づいて、前記先行プロセスの前記プロセスインスタンスを順次取得していくプロセスインスタンス前方探索部と、
外部から指定された前記複数のプロセスインスタンスのそれぞれに対応して前記プロセスインスタンス前方検索部により取得された前記プロセスインスタンスの組に共通する前記プロセスインスタンスを抽出する共通プロセスインスタンス抽出部と、
前記共通プロセスインスタンス抽出部により抽出された共通の前記プロセスインスタンスに対応する前記トレース情報を、外部から指定された前記複数のプロセスインスタンスに対応するイベントの結果物について共通して行われた処理の実行条件を特定する情報として出力する共通トレース情報出力部と
を備える請求項３記載のトレーサビリティシステム。
【請求項６】
前記先行プロセスの結果物を入力して前記プロセスを実行する場合に、当該プロセスの結果物に対応して、前記実行条件を特定する前記トレース情報を収集するトレース情報収集部を更に備え、
前記プロセスインスタンス生成部は、当該プロセスの結果物に対応して互いに異なる複数の前記トレース情報が収集された場合に、複数の前記プロセスインスタンスを生成し、
前記トレース情報ポインタ格納部は、それぞれの前記プロセスインスタンスに、互いに異なる前記トレース情報の記録先を示すポインタを格納する
請求項１記載のトレーサビリティシステム。
【請求項７】
前記トレース情報収集部は、当該プロセスの結果物に対応して、当該プロセスを実行する場合の材料又は機具の条件、作業者の条件、及び、温度又は湿度の条件の少なくとも１つを特定する前記トレース情報を収集し、
前記プロセスインスタンス生成部は、いずれかの条件が異なる前記複数のトレース情報が収集された場合に、前記複数のプロセスインスタンス情報を生成する
請求項６記載のトレーサビリティシステム。
【請求項８】
前記先行プロセスの結果物を入力して前記プロセスを実行する場合に、当該プロセスの複数の結果物を予め設定された数又は量毎に分割した各グループのそれぞれに対応して、前記実行条件を特定する前記トレース情報を収集するトレース情報収集部を更に備え、
前記プロセスインスタンス生成部は、それぞれの前記グループに対応して前記プロセスインスタンスを生成し、
前記トレース情報ポインタ格納部は、それぞれの前記グループに対応する前記プロセスインスタンスに、当該グループに対応して収集された前記トレース情報の記録先を示すポインタを格納する
請求項１記載のトレーサビリティシステム。
【請求項９】
前記先行プロセスの結果物を入力して前記プロセスを実行する場合に、当該プロセスを実行する期間毎に当該プロセスの複数の結果物を分割した各グループのそれぞれに対応して、前記実行条件を特定する前記トレース情報を収集するトレース情報収集部を更に備え、
前記プロセスインスタンス生成部は、それぞれの前記グループに対応して前記プロセスインスタンスを生成し、
前記トレース情報ポインタ格納部は、それぞれの前記グループに対応する前記プロセスインスタンスに、当該グループに対応して収集された前記トレース情報の記録先を示すポインタを格納する
請求項１記載のトレーサビリティシステム。
【請求項１０】
当該トレーサビリティシステムは、
複数の分散サーバ装置と、
前記複数の分散サーバ装置に接続された中央サーバ装置と
を備え、
それぞれの前記分散サーバ装置は、
当該分散サーバ装置に割り当てられた前記プロセスを実行する場合に、当該プロセスを実行する現実のイベントに対応して、前記実行条件を特定する前記トレース情報を収集するトレース情報収集部と、
前記トレース情報収集部により収集された前記トレース情報を格納するトレース情報格納部と、
前記トレース情報格納部に格納した前記トレース情報の記録先を示すポインタを前記中央サーバ装置へ送信するトレース情報ポインタ送信部と
を有し、
前記中央サーバ装置は、
前記分散サーバ装置により収集された前記トレース情報を登録する前記プロセスインスタンスを生成する前記プロセスインスタンス生成部と、
前記分散サーバ装置から受信した前記トレース情報のポインタを前記プロセスインスタンスに格納することにより、前記トレース情報を登録する前記トレース情報ポインタ格納部と、
前記プロセスインスタンスに、前記先行プロセスインスタンス・ポインタを格納する前記先行プロセスインスタンス・ポインタ格納部と
を備える請求項１記載のトレーサビリティシステム。
【請求項１１】
前記中央サーバ装置は、
外部から指定された前記プロセスインスタンスから順に、各プロセスインスタンスに記録された前記先行プロセスインスタンス・ポインタに基づいて、前記先行プロセスの前記プロセスインスタンスを取得していくプロセスインスタンス前方探索部と、
前記プロセスインスタンス前方探索部が順次取得した複数の前記プロセスインスタンスに対応する複数の前記トレース情報を、外部から指定された前記プロセスインスタンスに対応するイベントの結果物についてのトレース情報の組として出力するトレース情報出力部と
を有する請求項１０記載のトレーサビリティシステム。
【請求項１２】
前記中央サーバ装置は、前記プロセスインスタンス前方探索部が順次取得したプロセスインスタンスにそれぞれ記録された前記トレース情報ポインタに基づいて、当該トレース情報ポインタにより指定された前記トレース情報を前記分散サーバ内の前記トレース情報格納部から取得するトレース情報取得部を有し、
前記トレース情報出力部は、前記トレース情報取得部が取得した前記トレース情報を、外部から指定された前記プロセスインスタンスに対応するイベントの結果物についてのトレース情報の組として出力する
請求項１１記載のトレーサビリティシステム。
【請求項１３】
最終製品を得るために実行される一連のプロセスからなるプロセスチェーンにおける、プロセスに関する情報をコンピュータにより管理するトレース情報管理方法あって、
前記プロセスを実行する現実のイベントに対応付けて、前記イベントについての情報を登録するプロセスインスタンスを前記イベントの実行条件に基づいて生成するプロセスインスタンス生成段階と、
前記プロセスインスタンスに、前記実行条件を記録したトレース情報の記録先を示すポインタを格納するトレース情報ポインタ格納段階と、
前記プロセスインスタンスに対応付けて、当該プロセスインスタンスに対応するイベントに対し、当該プロセスの直前の先行プロセスを実行した結果得られる結果物を供給する現実のイベントに対応するプロセスインスタンスの記録先を示す先行プロセスインスタンス・ポインタを格納する先行プロセスインスタンス・ポインタ格納段階と、
を備えるトレース情報管理方法。
【請求項１４】
最終製品を得るために実行される一連のプロセスからなるプロセスチェーンにおける、プロセスに関する情報をコンピュータシステムにより管理するトレース情報管理プログラムであって、
当該プログラムは、前記コンピュータシステムを、
前記プロセスを実行する現実のイベントに対応付けて、前記イベントについての情報を登録するプロセスインスタンスを前記イベントの実行条件に基づいて生成するプロセスインスタンス生成部と、
前記プロセスインスタンスに、前記実行条件を記録したトレース情報の記録先を示すポインタを格納するトレース情報ポインタ格納部と、
前記プロセスインスタンスに対応付けて、当該プロセスインスタンスに対応するイベントに対し、当該プロセスの直前の先行プロセスを実行した結果得られる結果物を供給する現実のイベントに対応するプロセスインスタンスの記録先を示す先行プロセスインスタンス・ポインタを格納する先行プロセスインスタンス・ポインタ格納部と、
して機能させるトレース情報管理プログラム。
【請求項１５】
請求項１４に記載のトレース情報管理プログラムを記録した、コンピュータにより読み取り可能な記録媒体。
【請求項１６】
最終製品を得るために実行される一連のプロセスからなるプロセスチェーンにおける、プロセスに関する情報を記録したデータ記録媒体であって、
複数の前記プロセスのそれぞれを実行する現実のイベントに対応付けて生成された、当該イベントについての情報を登録するプロセスインスタンスを記憶するプロセスインスタンス記憶領域を備え、
前記プロセスインスタンス記憶領域は、
前記イベントの実行条件を記録したトレース情報の記録先を示すポインタを記憶するトレース情報ポインタ記憶領域と、
当該プロセスインスタンスに対応するイベントに対して当該プロセスの直前の先行プロセスを実行した結果得られる結果物を供給する現実のイベントに対応するプロセスインスタンスを識別する先行プロセスインスタンス・ポインタを、当該プロセスインスタンスに対応付けて記憶する先行プロセスインスタンス・ポインタ記憶領域と
を有する
データ記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トレーサビリティシステム、トレース情報管理方法、トレース情報管理プログラム、及び記録媒体に関する。特に本発明は、最終製品を得るために実行される一連のプロセスからなるプロセスチェーンにおける、プロセスに関する情報を効率良く管理するトレーサビリティシステム、トレース情報管理方法、トレース情報管理プログラム、及び記録媒体に関する。
【背景技術】
【０００２】
近年、個別製品毎の品質管理や品質保証等を行うことを目的として、トレーサビリティシステムが注目されている。トレーサビリティシステムは、個別の製品毎に、製品のライフサイクルにおける資源又は材料、部品、及び組立部品等の最終製品に関する各種の情報を収集し、製品毎の品質管理や品質保証等に活用するシステムである（非特許文献１参照。）。
【非特許文献１】日本アイ・ビー・エム株式会社、“トレーサビリティ−・システム”、[online]、［平成１６年５月１７日検索］、インターネット＜URL : http://www-6.ibm.com/jp/solutions/wireless/solution/wireless_tracability.html＞
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来のトレーサビリティシステムは、システムの開発者が独自にデータモデルを既定してアプリケーションを設計しているため、汎用性及び柔軟性に欠ける。このため、アプリケーションの追加や要件の変更の度に、情報システムを大きく変更する必要があり、管理コストが大きくなってしまう。
【０００４】
また、従来のトレーサビリティシステムは、例えば食品の原材料や履歴の管理等の比較的単純なプロセスチェーンにおけるトレーサビリティ実現のために主に用いられている。このため、収集されるトレース情報のデータ量が比較的少なく、サーバ装置により集中管理されるのが一般的である。しかし、将来的には、乗り物、工作機械、情報機器、及び家電製品等の、複雑なプロセスチェーンにより生産される各種の工業製品にも適用していくことが望まれ、このようなプロセスチェーンについても効率良く実装できるシステムが要求される。
【０００５】
また、従来のトレーサビリティシステムにおいては、各プロセスの処理において収集されたトレース情報を、各プロセス毎のトレース情報に適合した方法によりアクセスするのが一般的であった。このため、従来のトレーサビリティアプリケーションは、対象となる生産プロセスに特化したものとなり、他の生産プロセスへの応用が困難であった。
【０００６】
そこで本発明は、上記の課題を解決することのできるトレーサビリティシステム、トレース情報管理方法、トレース情報管理プログラム、及び記録媒体を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００７】
本発明の第１の形態によると、最終製品を得るために実行される一連のプロセスからなるプロセスチェーンにおける、プロセスに関する情報を管理するトレーサビリティシステムであって、前記プロセスを実行する現実のイベントに対応付けて、前記イベントについての情報を登録するプロセスインスタンスを前記イベントの実行条件に基づいて生成するプロセスインスタンス生成部と、前記プロセスインスタンスに、前記実行条件を記録したトレース情報の記録先を示すポインタを格納するトレース情報ポインタ格納部と、前記プロセスインスタンスに対応付けて、当該プロセスインスタンスに対応するイベントに対し、当該プロセスの直前の先行プロセスを実行した結果得られる結果物を供給する現実のイベントに対応するプロセスインスタンスを識別する先行プロセスインスタンス・ポインタを格納する先行プロセスインスタンス・ポインタ格納部とを備えるトレーサビリティシステムと、これに関するトレース情報管理方法、トレース情報管理プログラム、及び記録媒体を提供する。
【０００８】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明の効果】
【０００９】
本発明によれば、プロセスチェーンの各プロセスから収集されるトレース情報を効率良く管理するトレーサビリティシステムを提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１１】
図１は、本実施形態に係るトレーサビリティシステム１０の構成を示す。トレーサビリティシステム１０は、最終製品を得るために実行される一連のプロセス１１０からなるプロセスチェーンにおける、プロセス１１０に関する情報を効率良く管理することを目的とする。
【００１２】
トレーサビリティシステム１０は、複数のプロセス１１０からなるプロセスチェーンと、１又は複数の分散サーバ装置１２０と、中央サーバ装置１３０とを備える。各プロセス１１０は、先行するプロセス１１０の結果物（中間製品等）に対して、当該プロセス１１０の処理を行って、当該プロセス１１０の結果物（中間製品又は最終製品１１５）を出力する。各プロセスは、例えば、製品の組立工程、加工工程、検査工程、輸送工程、及び／又は在庫工程等の各種の処理工程であってよく、プロセスチェーンのモデルを設計する設計者により任意の単位で設定される。モデル化の便宜上、プロセスチェーンの最後尾の１または複数のプロセス１１０は、最終製品１１５自体に対応して設けられてよい。
【００１３】
各分散サーバ装置１２０は、当該分散サーバ装置１２０に割り当てられたプロセス１１０を実行する現実のイベントに対応付けて、イベントの実行条件を特定するトレース情報をプロセス１１０から収集する。ここで、現実のイベントとは、直前のプロセスの結果物に対して、組立、加工、検査、輸送、及び／又は在庫等の各種の実作業を行うことをいう。この実作業は、直前のプロセスの結果物から当該プロセスの結果物を生成する作業、直前のプロセスの結果物を次のプロセスに供給する作業、又は、直前のプロセスの結果物に何らかの情報を付加して次のプロセスに供給する作業等であってよい。以上に示した分散サーバ装置１２０は、各プロセス１１０に対応して個別に設けられてもよく、複数のプロセス１１０からなるプロセス群１００に対応して設けられてもよい。
【００１４】
また、トレース情報とは、先行するプロセス１１０の結果物を入力して当該プロセス１１０を実行する場合に、当該プロセス１１０を実行するイベントの実行条件を収集した情報である。トレース情報は、例えばプロセス１１０を実行した製造業者、加工業者、検査業者、又は運送業者等の当該処理を行った企業を特定する情報や、工場、生産ライン、輸送機関、又は倉庫等の当該処理を行った部署を特定する情報であってもよい。また、トレース情報は、例えば作業者、勤務シフト、又は検査者等の当該プロセスを実行した者を特定する情報であってもよく、温度や湿度等の当該プロセスを実行した際の環境条件を特定する情報であってもよい。更にトレース情報は、上記の各種の情報の組み合わせであってもよい。
【００１５】
中央サーバ装置１３０は、複数の分散サーバ装置１２０に接続され、各プロセス１１０により収集されたトレース情報を、プロセスチェーンのモデルを用いて管理する。そして中央サーバ装置１３０は、収集されたトレース情報を処理するトレーサビリティアプリケーションを実行する。
【００１６】
本実施形態において、複数の分散サーバ装置１２０及び中央サーバ装置１３０は、分散システムを構成する。そして、各分散サーバ装置１２０はトレース情報を格納し、中央サーバ装置１３０はトレース情報を管理する。そして、複数の分散サーバ装置１２０は、対応するプロセス１１０において発生するトレース情報を分散処理により収集し、格納する。このため、トレーサビリティシステム１０は、トレース情報が中央サーバ装置１３０に集中することにより中央サーバ装置１３０がボトルネックとなるのを防ぐことができる。
【００１７】
一方、中央サーバ装置１３０は、プロセスチェーンのモデルを用いてトレース情報を管理する。そして、トレーサビリティアプリケーションにより指定された最終製品のトレース情報を収集する場合等においては、中央サーバ装置１３０上に格納された当該モデルを探索して、収集すべきトレース情報を選択することができる。このため、中央サーバ装置１３０は、分散サーバ装置１２０との間で頻繁に通信を行うことなくトレース情報を効率良く選択することができる。
【００１８】
以上に示した通り、トレーサビリティシステム１０によれば、大規模なプロセスチェーンを効率良く実装することができる。なお、他の形態においては、複数の分散サーバ装置１２０及び中央サーバ装置１３０を１台のコンピュータにより実装されてもよい。
【００１９】
図２は、本実施形態に係るプロセス１１０の構成を示す。本実施形態において、組立、加工、輸送、及び／又は在庫等の各種のプロセス１１０は、図２に示した一般的な構造を有するものとしてモデル化される。以下、図２のプロセス１１０ｄを例として、プロセス１１０の構造を示す。
【００２０】
プロセス１１０ｄは、先行する１又は複数のプロセス１１０ａ〜ｃと、後続する１又は複数のプロセス１１０ｅ〜ｇとに接続される。そして、先行するプロセス１１０ａ〜ｃから出力される結果物（中間製品）を数量（ａ）〜（ｃ）ずつ入力し、先行するプロセス１１０ａ〜ｃの結果物に対して当該プロセス１１０ｄに対応するイベントを実行する。そして、当該プロセス１１０ｄを実行した結果得られる結果物（中間製品又は最終製品１１５）を、後続するプロセス１１０ｅ〜ｇに対して数量（ｅ）〜（ｇ）ずつ供給する。
ここで、結果物とは、プロセス１１０を実行した結果現実に得れらる中間製品又は最終製品である。後続するプロセス１１０が存在する場合、結果物は、後続するプロセス１１０へ供給される。そして、後続するプロセス１１０が組立工程又は加工工程等である場合、当該結果物は、組立・加工の部品又は原材料として用いられる。また、後続するプロセス１１０が輸送工程等である場合、当該結果物は、輸送等の対象物として輸送され、更に後続するプロセス１１０へ供給される。また、後続するプロセス１１０が在庫工程等である場合、当該結果物は、一旦倉庫等に保管され、更に後続するプロセス１１０で必要となった場合に供給される。  
【００２１】
プロセス１１０ｄは、組立・加工プロセス１１２及び／又は搬出プロセス１１４の組み合わせにより構成される。組立・加工プロセス１１２は、先行するプロセス１１０ａ〜ｃから入力された結果物に対して、組立又は加工等の処理を行い、新たな製品を数量（ｄ）だけ供給する。このイベント処理において、分散サーバ装置１２０は、組立又は加工条件や、環境の条件等のイベントの実行条件を、トレース情報として収集する。
【００２２】
搬出プロセス１１４は、当該プロセス１１０ｄの結果物を、後続するプロセス１１０ｅ〜ｇへ搬出する。搬出プロセス１１４は、結果物の一部が不良品又は紛失等された結果物である場合に、これらをプロセス１１０ｅ〜ｇへ搬出しない。ここで、プロセス１１０ｄが、輸送又は在庫等の、入力された結果物に対して組立又は加工等の変更を加えないイベント処理を行う場合、プロセス１１０ｄは、組立・加工プロセス１１２を含まず搬出プロセス１１４により構成される。
【００２３】
以上に示したように、トレーサビリティシステム１０は、各プロセス１１０を組立・加工プロセス１１２及び搬出プロセス１１４の組み合わせにより表現する汎用モデルを提供するすることにより、様々なプロセスをモデル化できる汎用のトレーサビリティシステムを提供することができる。
【００２４】
図３は、本実施形態に係る分散サーバ装置１２０の構成を示す。分散サーバ装置１２０は、トレース情報収集部３００と、トレース情報格納部３１０と、トレース情報ポインタ送信部３１５と、トレース情報送信部３２０とを有する。トレース情報収集部３００は、当該分散サーバ装置１２０に割り当てられたプロセス１１０を実行する場合に、当該プロセス１１０を実行する現実のイベントに対応して、実行条件を特定するトレース情報を収集する。トレース情報格納部３１０は、イベントに対応してトレース情報収集部３００により収集されたトレース情報を格納する。トレース情報ポインタ送信部３１５は、トレース情報格納部３１０に格納したトレース情報の記憶先を示すポインタ（トレース情報ポインタ）を中央サーバ装置１３０へ送信する。トレース情報送信部３２０は、中央サーバ装置１３０からトレース情報の送信を要求された場合に、中央サーバ装置１３０により指定されたトレース情報をトレース情報格納部３１０から読み出して返信する。
【００２５】
図４は、本実施形態に係る中央サーバ装置１３０の構成を示す。中央サーバ装置１３０は、トレース情報登録処理部４００と、プロセスインスタンス格納部４１０と、プロセスインスタンス探索部４２０と、アプリケーション処理部４３０と、トレース情報処理部４４０と、データディレクトリ格納部４６０と、データディレクトリ検索部４７０と、トレース情報取得部４８０とを有する。
【００２６】
トレース情報登録処理部４００は、分散サーバ装置１２０からトレース情報ポインタを受信してプロセスインスタンス格納部４１０に記録する。これによりトレース情報登録処理部４００は、トレース情報を中央サーバ装置１３０に登録する。トレース情報登録処理部４００は、プロセスインスタンス生成部４０２と、トレース情報ポインタ格納部４０４と、先行プロセスインスタンス・ポインタ格納部４０６と、後続プロセスインスタンス・ポインタ格納部４０８を含む。プロセスインスタンス生成部４０２は、プロセスチェーンのモデルに含まれる各プロセスのオブジェクトをイベントの実行条件に応じてインスタンス化することにより、分散サーバ装置１２０により収集されたトレース情報の記憶先等を登録するプロセスインスタンスをイベントの実行条件に基づいて生成する。そしてプロセスインスタンス生成部４０２は、生成したプロセスインスタンスを、プロセスインスタンス格納部４１０に格納する。
【００２７】
トレース情報ポインタ格納部４０４は、イベントに対応して分散サーバ装置１２０から受信したトレース情報のポインタを、当該イベントに対応付けられたプロセスインスタンス６００に格納する。先行プロセスインスタンス・ポインタ格納部４０６は、各プロセスインスタンスに対応付けて、当該プロセスインスタンスに対する先行プロセスインスタンスの記録先を示す先行プロセスインスタンス・ポインタを格納する。ここで、先行プロセスインスタンスとは、着目するプロセスインスタンスに対応するイベントに対し、当該プロセスの直前の先行プロセスを実行した結果得られる結果物を供給する現実のイベントに対応して生成されたプロセスインスタンスである。
【００２８】
後続プロセスインスタンス・ポインタ格納部４０８は、各プロセスインスタンスに対応付けて、当該プロセスインスタンスに対する後続プロセスインスタンスの記録先を示す後続プロセスインスタンス・ポインタを格納する。ここで、後続プロセスインスタンスとは、着目するプロセスインスタンスに対応するイベントの結果物を取得して当該プロセスの次の後続プロセスを実行する現実のイベントに対応するプロセスインスタンスである。
【００２９】
ここで、トレース情報ポインタ、先行プロセスインスタンス・ポインタ、及び後続プロセスインスタンス・ポインタ等のポインタとは、トレース情報、先行プロセスインスタンス、及び後続プロセスインスタンス等のポインタにより指定されるデータを記憶した記憶位置を指定する情報であってよい。この記憶位置は、当該データを記憶したアドレス、ファイル名、又は、データベースにおけるインデクス等を指定する情報であり、当該データを記憶したサーバ装置を指定する情報を含んでもよい。また、これらのポインタは、ポインタにより指定されるデータを識別する識別子（Ｉｄｅｎｔｉｆｉｅｒ）であってもよい。この場合、中央サーバ装置１３０は、当該識別子に基づいて当該データを記憶した分散サーバ装置１２０及び分散サーバ装置１２０内における記憶位置を特定する。
【００３０】
以上に示したトレース情報登録処理部４００によれば、中央サーバ装置１３０は、各プロセスの実行に対応して収集されるトレース情報についてのトレース情報ポインタを受信する度に、当該トレース情報が示すプロセスの実行条件に対応してプロセスインスタンスを生成する。そして中央サーバ装置１３０は、当該プロセスについてのプロセスインスタンスに、先行するプロセス及び後続するプロセスについてのプロセスインスタンスを対応付けることができる。
【００３１】
プロセスインスタンス格納部４１０は、トレース情報登録処理部４００により登録された１又は複数のプロセスインスタンス６００を格納する。
【００３２】
プロセスインスタンス探索部４２０は、トレース情報処理部４４０からの要求を受けて、プロセスインスタンス格納部４１０に格納されたプロセスインスタンス６００を探索する。プロセスインスタンス探索部４２０は、プロセスインスタンス前方探索部４２２と、共通プロセスインスタンス抽出部４２４と、プロセスインスタンス後方探索部４２６とを有する。プロセスインスタンス前方探索部４２２は、外部から指定された１又は複数のプロセスインスタンス６００のそれぞれについて、当該プロセスインスタンス６００から順に、各プロセスインスタンス６００に記録された先行プロセスインスタンス・ポインタに基づいて、先行プロセスのプロセスインスタンス６００を取得していく。これによりプロセスインスタンス前方探索部４２２は、プロセスインスタンスのチェーンを探索して、指定されたプロセスインスタンス６００の結果物に対して行われた各イベントに対応する各プロセスインスタンス６００を取得することができる。
【００３３】
共通プロセスインスタンス抽出部４２４は、外部から指定された複数のプロセスインスタンス６００のそれぞれに対応してプロセスインスタンス前方探索部４２２により取得されたプロセスインスタンスの組に共通するプロセスインスタンスを抽出する。これにより共通プロセスインスタンス抽出部４２４は、指定された複数のプロセスインスタンス６００の結果物に対して共通に行われたイベントに対応するプロセスインスタンス６００を取得することができる。
【００３４】
プロセスインスタンス後方探索部４２６は、外部から指定されたプロセスインスタンス６００から順に、当該プロセスインスタンス６００に記録された後方プロセスインスタンス・ポインタに基づいて、後続プロセスのプロセスインスタンス６００を取得していく。これによりプロセスインスタンス後方探索部４２６は、指定されたプロセスインスタンス６００に対応するイベントの処理が共通して行われた最終製品を特定する。ここでプロセスインスタンス後方探索部４２６は、外部のトレース情報処理部４４０から指定されたプロセスインスタンス６００から順に上記の後方探索を行ってもよく、共通プロセスインスタンス抽出部４２４により抽出された共通のプロセスインスタンス６００から順に上記の後方探索を行ってもよい。
【００３５】
アプリケーション処理部４３０は、トレース情報処理部４４０及びプロセスインスタンス探索部４２０により提供されるプロセスチェーンの汎用モデルを用いて、トレーサビリティアプリケーションを実行する。アプリケーション処理部４３０が実行するトレーサビリティアプリケーションは、例えば、最終製品毎の品質アセスメント又は品質保証や、最終製品毎に異なる取り扱い又はサービス提供や最終製品毎の環境インパクトアセスメントや、最終製品毎のリサイクル処理や、プロセスチェーンにおける各種資源の最適割付等を行う。
【００３６】
トレース情報処理部４４０は、アプリケーション処理部４３０からの要求に基づいてプロセスインスタンス探索部４２０によりプロセスインスタンスのチェーンを探索させ、探索結果を応答する。トレース情報処理部４４０は、トレース情報出力要求部４４２と、トレース情報出力部４４４と、共通製品識別情報出力要求部４４６と、共通製品識別情報出力部４４８と、共通トレース情報出力要求部４５０と、共通トレース情報出力部４５２とを有する。
【００３７】
トレース情報出力要求部４４２は、アプリケーション処理部４３０からの指示に基づいて、特定のプロセスインスタンス６００の結果物（最終製品等）に対して行われた各イベントに対応するプロセスインスタンス６００の取得をプロセスインスタンス前方探索部４２２に要求する。これを受けて、プロセスインスタンス前方探索部４２２は、特定のプロセスインスタンス６００から順にプロセスインスタンスのチェーンを前方に探索し、特定のプロセスインスタンス６００の結果物に対して行われた各イベントに対応するプロセスインスタンス６００を取得する。トレース情報出力部４４４は、プロセスインスタンス前方探索部４２２が順次取得した複数のプロセスインスタンス６００のそれぞれに記録されたトレース情報ポインタをデータディレクトリ検索部４７０へ供給し、複数のプロセスインスタンス６００に対応する複数のトレース情報をトレース情報取得部４８０により取得させる。そして、これらの複数のトレース情報を、外部のアプリケーション処理部４３０から指定されたプロセスインスタンス６００に対応するイベントの結果物についてのトレース情報の組として、アプリケーション処理部４３０へ出力する。この結果、アプリケーション処理部４３０は、トレース情報出力要求部４４２及びトレース情報出力部４４４により提供される汎用のインターフェイスを用いて特定のプロセスインスタンス６００を指定すれば、当該プロセスインスタンス６００の結果物を得るまでに実行された各イベントの実行条件をトレース情報出力部４４４から受け取ることができる。
【００３８】
共通製品識別情報出力要求部４４６は、アプリケーション処理部４３０からの指示に基づいて、特定のプロセスインスタンス６００に対応するイベントの処理が共通して行われた１又は複数の結果物又は最終製品の特定をプロセスインスタンス後方探索部４２６に要求する。これを受けて、プロセスインスタンス後方探索部４２６は、特定のプロセスインスタンス６００から順にプロセスインスタンスのチェーンを後方に探索し、特定のプロセスインスタンス６００に対応するイベントの処理が共通して行われた後続の各プロセスインスタンス６００を順次取得していく。これにより共通製品識別情報出力要求部４４６は、指定されたプロセスインスタンス６００に対応するイベントの処理が共通して行われた１又は複数の最終製品又は結果物を特定する。共通製品識別情報出力部４４８は、プロセスインスタンス後方探索部４２６により特定された最終製品を識別する情報をアプリケーション処理部４３０へ出力する。この結果、アプリケーション処理部４３０は、共通製品識別情報出力要求部４４６及び共通製品識別情報出力部４４８により提供される汎用のインターフェイスを用いて特定のプロセスインスタンス６００を指定すれば、当該プロセスインスタンス６００に対応するイベントの処理が行われた１又は複数の最終製品等を特定することができる。
【００３９】
共通トレース情報出力要求部４５０は、アプリケーション処理部４３０からの指示に基づいて、複数のプロセスインスタンス６００に対して共通に行われた処理の実行条件の取得をプロセスインスタンス前方探索部４２２に要求する。これを受けてプロセスインスタンス前方探索部４２２は、複数のプロセスインスタンス６００のそれぞれから順にプロセスインスタンスのチェーンを前方に探索する。そして共通プロセスインスタンス抽出部４２４は、複数のプロセスインスタンス６００のそれぞれに対応して取得されたプロセスインスタンス６００の組に共通するプロセスインスタンス６００を抽出する。共通トレース情報出力部４５２は、共通プロセスインスタンス抽出部４２４により抽出された共通のプロセスインスタンス６００に記録されたトレース情報ポインタをデータディレクトリ検索部４７０へ供給し、共通のプロセスインスタンス６００に対応するトレース情報をトレース情報取得部４８０により取得させる。そして、取得したトレース情報を、アプリケーション処理部４３０から指定された複数のプロセスインスタンス６００に対応するイベントの結果物について共通して行われた処理の実行条件を特定する情報としてアプリケーション処理部４３０へ出力する。この結果、アプリケーション処理部４３０は、共通トレース情報出力要求部４５０及び共通トレース情報出力部４５２により提供される汎用のインターフェイスを用いて複数のプロセスインスタンス６００を指定すれば、これらのプロセスインスタンス６００の結果物について共通して行われたイベントの実行条件を共通トレース情報出力部４５２から受け取ることができる。
【００４０】
データディレクトリ格納部４６０は、分散サーバ装置１２０から受信したトレース情報ポインタ及び当該トレース情報を格納した格納位置との対応をトレース情報ポインタ格納部４０４から取得し、トレース情報ポインタと、トレース情報の格納位置とを対応付けたデータディレクトリとして記憶する。すなわち、本実施形態におけるトレース情報ポインタは、トレース情報の記録先を指定する間接ポインタとして機能する。ここで、データディレクトリに記憶されるトレース情報の格納位置は、当該トレース情報が記録された分散サーバ装置１２０及び分散サーバ装置１２０内の格納位置を示す情報であり、例えばＵＲＬ等であってよい。
【００４１】
データディレクトリ検索部４７０は、トレース情報出力部４４４又は共通トレース情報出力部４５２からトレース情報ポインタを受けて、当該トレース情報ポインタに対応するトレース情報の格納位置をデータディレクトリ格納部４６０から検索する。トレース情報取得部４８０は、データディレクトリ検索部４７０により検索されたトレース情報の格納位置を取得する。そしてトレース情報取得部４８０は、当該格納位置に対応する分散サーバ装置１２０に対して当該格納位置を指定し、トレース情報ポインタにより指定されたトレース情報を分散サーバ装置１２０内のトレース情報格納部３１０から取得する。
【００４２】
図５は、本実施形態に係るプロセス５００のモデルの構成を示す。本実施形態に係るトレーサビリティシステム１０は、図５に示したように一般化したプロセス５００のモデルを用いて、プロセスチェーンの汎用モデルを構築する環境を提供する。
【００４３】
本実施形態に係るプロセス５００のモデルは、プロセス識別情報記憶領域５１０と、先行プロセス・ポインタ記憶領域５２０と、数量情報記憶領域５２５と、トレース情報ポインタ記憶領域５３０と、プロセス固有情報記憶領域５３５と、後続プロセス・ポインタ記憶領域５４０とを備え、例えばオブジェクト指向言語におけるプロセスクラスとして利用者に提供される。プロセス識別情報記憶領域５１０は、当該プロセス５００を識別する識別情報（Ｉｄｅｎｔｉｆｉｅｒ）を記憶するデータ領域である。先行プロセス・ポインタ記憶領域５２０は、プロセスチェーンにおける当該プロセス５００ｄの直前に位置する先行プロセス５００ａ〜ｃのプロセス識別情報記憶領域５１０を識別するポインタを記憶するデータ領域である。数量情報記憶領域５２５は、先行プロセス５００ａ〜ｃのそれぞれから供給された結果物の個数を記憶するデータ領域である。
【００４４】
トレース情報ポインタ記憶領域５３０は、当該プロセス５００ｄを実行するイベントに対応付けて収集されるトレース情報のポインタを記憶するデータ領域である。トレース情報ポインタ記憶領域５３０は、様々な種類のトレース情報についてのポインタを記憶する。例えばトレース情報ポインタ記憶領域５３０は、当該プロセス５００ｄを実行して結果物（中間製品又は最終製品）のロットを得る場合に、当該ロットについてのプロセス５００ｄの実行条件（ロット条件）の記憶先を示すトレース情報ポインタを記憶する。ここでロットとは、当該プロセス５００ｄについての同一のイベントに対応して得られる１又は複数の結果物の組を示す。
【００４５】
プロセス固有情報記憶領域５３５は、当該プロセス５００ｄに固有の情報を記憶するデータ領域である。プロセス固有情報記憶領域５３５に記憶される情報は、プロセスチェーンのモデルを構築する際に利用者により各プロセス５００毎に指定される情報であり、例えば当該プロセス５００ｄの種別（組立プロセスや加工プロセス等を識別する情報）、ロットの種別、ロットの数量、メーカ名等のロットの出所を示す情報、結果物の部品番号、ロット当たりの結果物の数等を示す情報である。
【００４６】
後続プロセス・ポインタ記憶領域５４０は、プロセスチェーンにおける当該プロセス５００ｄの次に位置する後続プロセス５００のプロセス識別情報を記憶するデータ領域である。トレーサビリティシステム１０の利用者は、トレーサビリティシステム１０により提供されるＧＵＩ等を用いて、現実のプロセス１１０のそれぞれをモデル化した複数のプロセス５００を定義し、各プロセス５００の間の接続を先行プロセス・ポインタ及び後続プロセス・ポインタにより定義する。そして各プロセス５００に固有の情報をプロセス固有情報記憶領域５３５に格納させることにより、プロセスチェーンのモデルを作成する。
【００４７】
図６は、本実施形態に係るプロセスインスタンス６００の構成を示す。プロセスインスタンス生成部４０２は、プロセス１１０を現実に実行する場合に、当該プロセスを実行する現実のイベントに対応付けて、図５に示したプロセス５００のモデルをインスタンス化し、プロセスインスタンス６００を生成する。生成されたプロセスインスタンス６００は、本発明に係るデータ記録媒体の一例であるプロセスインスタンス格納部４１０上に設けられたプロセスインスタンス記憶領域に格納され、プロセスインスタンス格納部４１０により記憶される。本実施形態に係るプロセスインスタンス６００は、プロセスインスタンス識別情報６１０と、先行プロセスインスタンス・ポインタ６２０と、先行プロセスインスタンス製品数量情報６２５と、トレース情報ポインタ６３０と、プロセスインスタンス固有情報６３５と、後続プロセスインスタンス・ポインタ６４０と、後続プロセスインスタンス製品数量情報６５０とを備える。プロセスインスタンス格納部４１０は、これらの情報を、当該プロセスインスタンス６００に対応するプロセスインスタンス記憶領域内に設けられたプロセスインスタンス識別情報記憶領域、先行プロセスインスタンス・ポインタ記憶領域、先行プロセスインスタンス製品数量情報記憶領域、トレース情報ポインタ記憶領域、プロセスインスタンス固有情報記憶領域、後続プロセスインスタンス・ポインタ記憶領域、及び、後続プロセスインスタンス製品数量情報記憶領域にそれぞれ記憶する。
【００４８】
プロセスインスタンス識別情報６１０は、当該プロセスインスタンス６００ｄを識別する識別情報（Ｉｄｅｎｔｉｆｉｅｒ）であり、当該プロセスインスタンス６００ｄを生成する際にプロセスインスタンス生成部４０２により割り当てられる。先行プロセスインスタンス・ポインタ６２０は、当該プロセスインスタンス６００ｄに先行する先行プロセスインスタンス６００ａ〜ｃを識別するポインタであり、先行プロセスインスタンス・ポインタ格納部４０６により格納される。先行プロセスインスタンス製品数量情報６２５は、先行プロセスインスタンス６００ａ〜ｃのそれぞれから供給された、プロセスインスタンス６００ａ〜ｃの結果物の個数であり、トレース情報ポインタ格納部４０４により格納される。
【００４９】
トレース情報ポインタ６３０は、当該プロセスインスタンス６００ｄに対応するイベントの実行条件についてのトレース情報の記録先を示すポインタであり、トレース情報ポインタ格納部４０４により格納される。本実施形態に係るトレース情報ポインタ６３０は、例えば材料、加工条件、機械・治工具・金型等、検査者、又は、作業者等に関する情報を識別する識別情報であり、これらの具体的な内容を記述したトレース情報の記憶先を、データディレクトリ格納部４６０に格納されたデータディレクトリを介して間接的に示す。
【００５０】
プロセスインスタンス固有情報６３５は、当該プロセスインスタンス６００ｄに対応するイベントに固有の情報であり、プロセスインスタンス生成部４０２により格納される。プロセスインスタンス固有情報６３５として格納される情報は、当該イベントの結果物のロット番号、当該イベントを実行した時間の情報、当該イベントの結果物のロット数量、ロットの出所を示す情報、結果物の部品番号、ロット当たりの結果物の数等を示す情報である。
【００５１】
後続プロセスインスタンス・ポインタ６４０は、当該プロセスインスタンス６００ｄの次の後続プロセスインスタンス６００を識別するポインタであり、後続プロセスインスタンス・ポインタ格納部４０８により格納される。後続プロセスインスタンス製品数量情報６５０は、当該プロセスインスタンス６００ｄの結果物を、各後続プロセスインスタンスに対応するイベントに対してそれぞれ供給した数量を示す。
【００５２】
以上に示したように、トレース情報登録処理部４００は、各プロセスを実行するイベント毎にプロセスインスタンス６００を生成し、当該プロセスインスタンス６００の先行プロセスインスタンス６００及び後続プロセスインスタンス６００のポインタを当該プロセスインスタンス６００に格納する。これによりトレース情報登録処理部４００は、ある結果物又は最終製品を得るために行われた一連のイベントに対応する複数のプロセスインスタンス６００を、イベントの実行順に連結することができる。したがってプロセスインスタンス探索部４２０は、連結されたプロセスインスタンス６００を探索することにより、ある結果物又は最終製品について行われた全てのイベントのトレース情報を集める等の処理を効率良く行うことができる。
【００５３】
図７は、本実施形態に係るトレーサビリティシステム１０の動作フローを示す。
まず、プロセスチェーンにおける各プロセス１１０が実行されると、分散サーバ装置１２０内のトレース情報収集部３００は、それぞれのプロセス１１０を実行する現実のイベントに対応付けて、当該イベントの実行条件を示すトレース情報を収集する（Ｓ７００）。次に、トレース情報収集部３００は、収集したトレース情報をトレース情報格納部３１０に格納する（Ｓ７１０）。
【００５４】
次に、トレース情報ポインタ送信部３１５は、トレース情報を格納したトレース情報格納部３１０上の記録先を示すトレース情報ポインタをトレース情報収集部３００から取得し、中央サーバ装置１３０へ送信する（Ｓ７１２）。ここで、トレース情報ポインタが材料等の識別情報である場合、トレース情報ポインタ送信部３１５は、当該トレース情報ポインタに対応付けて、当該トレース情報ポインタにより識別される情報の格納位置を中央サーバ装置１３０へ送信する。
【００５５】
以上のＳ７００及びＳ７１２の処理において、トレース情報収集部３００及びトレース情報ポインタ送信部３１５は、先行プロセス１１０から供給された結果物を識別するロット番号等の識別情報、プロセスインスタンス固有情報６３５としてプロセスインスタンス６００に格納されるべき情報、先行プロセスインスタンス６００から供給された結果物の数量の情報、後続プロセスインスタンス６００に供給された結果物の数量の情報等を収集又は生成し、中央サーバ装置１３０へ送信する。
【００５６】
次に、中央サーバ装置１３０内のプロセスインスタンス生成部４０２は、トレース情報ポインタ送信部３１５から受信した情報に基づいて、プロセス１１０を実行するイベント毎にプロセスインスタンス６００を生成する（Ｓ７１４）。次に、トレース情報ポインタ格納部４０４は、生成したプロセスインスタンス６００に、トレース情報ポインタ送信部３１５から受信したトレース情報ポインタを格納することにより、トレース情報を当該プロセスインスタンス６００に登録する（Ｓ７２０）。またトレース情報ポインタ格納部４０４は、当該プロセスインスタンス６００に、先行プロセスインスタンス製品数量情報６２５、プロセスインスタンス固有情報６３５、及び後続プロセスインスタンス製品数量情報６５０等の情報を格納する。
【００５７】
次に、先行プロセスインスタンス・ポインタ格納部４０６は、先行プロセスインスタンス６００のポインタを、先行プロセスインスタンス・ポインタ６２０として格納すると共に、先行プロセスインスタンス６００に対応するイベント処理の結果供給された結果物の数量を先行プロセスインスタンス製品数量情報６２５として格納する（Ｓ７２２）。すなわち例えば、先行プロセスインスタンス・ポインタ格納部４０６は、分散サーバ装置１２０から受信した先行プロセス１１０の結果物の識別情報に基づいて、当該結果物を供給したイベントに対応する先行プロセスインスタンス６００を検索する。そして、当該先行プロセスインスタンス６００のポインタを、先行プロセスインスタンス・ポインタ６２０として格納する。これに代えて、、先行プロセスインスタンス６００のポインタは、先行プロセスインスタンス６００に対応するイベントの結果物に直接付加されてプロセス１１０の間を伝搬し、トレース情報収集部３００により収集されてよい。この場合、上記のＳ７００及びＳ７１２の処理において、トレース情報収集部３００及びトレース情報ポインタ送信部３１５は、先行プロセスインスタンス６００のポインタを更に収集して中央サーバ装置１３０へ送信し、先行プロセスインスタンス・ポインタ格納部４０６は受信したポインタを先行プロセスインスタンス・ポインタ６２０として格納する。
【００５８】
次に、後続プロセスインスタンス・ポインタ格納部４０８は、後続プロセスインスタンス６００のポインタを、後続プロセスインスタンス・ポインタ６４０として格納する（Ｓ７２４）。より具体的には、後続プロセスインスタンス・ポインタ格納部４０８は、処理中のプロセスインスタンス６００に先行する先行プロセスインスタンス６００をプロセスインスタンス格納部４１０から検索する。すなわち例えば、後続プロセスインスタンス・ポインタ格納部４０８は、分散サーバ装置１２０から受信した先行プロセス１１０の結果物の識別情報に基づいて、当該結果物を供給したイベントに対応する先行プロセスインスタンス６００を検索する。そして、後続プロセスインスタンス・ポインタ格納部４０８は、処理中のプロセスインスタンス６００のプロセスインスタンス識別情報６１０を先行プロセスインスタンス６００の後続プロセスインスタンス・ポインタ６４０として格納する。これにより後続プロセスインスタンス・ポインタ格納部４０８は、先行プロセスインスタンス６００の後続プロセスインスタンス・ポインタ６４０として、後続する当該プロセスインスタンス６００のポインタを格納することができる。
【００５９】
以上に示したＳ７００からＳ７２４の処理を全ての最終製品を得るために処理される全てのイベントに対応して行うことにより、トレーサビリティシステム１０は、全てのイベントに対応する全てのプロセスインスタンス６００についてのプロセスインスタンスのチェーンを生成することができる。そして、アプリケーション処理部４３０は、このプロセスインスタンスのチェーンを用いるトレーサビリティアプリケーションを実行して、トレース情報の処理を行う（Ｓ７３０）。
【００６０】
以上に示した動作フローにより、トレーサビリティシステム１０は、各プロセス１１０を実行するイベント毎にプロセスインスタンス６００を生成し、一連のイベントに対応する複数のプロセスインスタンス６００を連結していくことができる。そして、トレーサビリティシステム１０は、複数のプロセスインスタンス６００の接続関係を中央サーバ装置１３０で集中管理することにより、プロセスインスタンス６００の探索を効率良く行うことができる。一方、トレーサビリティシステム１０は、各イベントの実行条件を含むトレース情報を各分散サーバ装置１２０により分散して収集することにより、中央サーバ装置１３０がボトルネックとなるのを防ぐことができる。
【００６１】
以上に示したＳ７００、Ｓ７１０、及びＳ７１２の処理において、トレーサビリティシステム１０は、以下の（１）から（３）に示す方法によりトレース情報を収集し、プロセスインスタンス６００を生成することができる。
（１）実行条件が変化する度に新たなプロセスインスタンス６００を生成
分散サーバ装置１２０内のトレース情報収集部３００は、先行プロセスの結果物を入力して当該分散サーバ装置１２０が担当するプロセスを実行する場合に、当該プロセスを実行した結果得られる当該プロセスの結果物に対応して、当該プロセスの実行条件を特定するトレース情報を収集する。例えば  トレース情報収集部３００は、当該プロセスの結果物に対応して、当該プロセスを実行する場合の材料又は機具の条件、作業者の条件、及び、温度又は湿度の条件の少なくとも１つを特定するトレース情報を収集する。
【００６２】
そして、当該プロセスを実行して複数の結果物を順次供給していく間において、直前に収集したトレース情報と異なるトレース情報が収集された場合に、トレース情報格納部３１０は、新たに収集されたトレース情報を格納し、トレース情報ポインタ送信部３１５は、新たに収集されたトレース情報のポインタを中央サーバ装置１３０へ送信する。
【００６３】
この処理の結果、中央サーバ装置１３０内のプロセスインスタンス生成部４０２は、当該プロセスの結果物に対応して互いに異なる複数のトレース情報が収集された場合に、複数のプロセスインスタンスを生成する。すなわち例えば、プロセスインスタンス生成部４０２は、材料又は機具の条件、作業者の条件、及び、温度又は湿度の条件のうちいずれかの条件が異なる複数のトレース情報が収集された場合に、複数のプロセスインスタンス情報を生成する。そして、トレース情報ポインタ格納部４０４は、それぞれのプロセスインスタンスに、互いに異なるトレース情報の記録先を示すポインタを格納する。
【００６４】
以上の処理により、トレーサビリティシステム１０は、実行条件が共通する複数の結果物について共通のプロセスインスタンス６００を生成し、共通するトレース情報を登録することができ、プロセスインスタンス６００が生成される数を抑えることができる。
【００６５】
（２）当該プロセスの結果物を一定量供給する度に新たなプロセスインスタンス６００を生成
分散サーバ装置１２０内のトレース情報収集部３００は、先行プロセスの結果物を入力してプロセスを実行する場合に、当該プロセスの複数の結果物を予め設定された数又は量毎に分割した各グループのそれぞれに対応して、当該プロセスの実行条件を特定するトレース情報を収集する。すなわち、トレース情報収集部３００は、予め設定された数又は量の結果物を１ロットとしてグループ化し、この１ロットの結果物に対応してトレース情報を収集する。そして、トレース情報格納部３１０は、収集されたトレース情報を格納し、トレース情報ポインタ送信部３１５は、トレース情報のポインタを中央サーバ装置１３０へ送信する。
【００６６】
この処理の結果、中央サーバ装置１３０内のプロセスインスタンス生成部４０２は、結果物の各グループに対応してプロセスインスタンスを生成する。そして、トレース情報ポインタ格納部４０４は、それぞれのグループに対応するプロセスインスタンスに、当該グループに対応して収集されたトレース情報ポインタを格納する。
【００６７】
以上の処理により、トレーサビリティシステム１０は、各プロセスについて、一定の数又は量の結果物を得る度にプロセスインスタンス６００を生成することにより、同一プロセスに対応する複数のプロセスインスタンス６００を均一化することができる。
【００６８】
（３）予め定められた期間毎に新たなプロセスインスタンス６００を生成
分散サーバ装置１２０内のトレース情報収集部３００は、先行プロセスの結果物を入力してプロセスを実行する場合に、当該プロセスを実行する期間毎に当該プロセスの複数の結果物を分割した各グループのそれぞれに対応して、実行条件を特定するトレース情報を収集する。すなわち、トレース情報収集部３００は、予め設定された期間の間に得られた結果物を１ロットとしてグループ化し、この１ロットの結果物に対応してトレース情報を収集する。この期間は、例えば１時間毎等であってよく、昼間・夜間等であってもよい。そして、トレース情報格納部３１０は、収集されたトレース情報を格納し、トレース情報ポインタ送信部３１５は、トレース情報のポインタを中央サーバ装置１３０へ送信する。
【００６９】
この処理の結果、上記の（２）と同様にして、結果物の各グループに対応してプロセスインスタンスを生成する。そして、トレース情報ポインタ格納部４０４は、それぞれのグループに対応するプロセスインスタンスに、当該グループに対応して収集されたトレース情報ポインタを格納する。
【００７０】
以上の処理により、トレーサビリティシステム１０は、各プロセスについて、一定の期間の間に得られた結果物に対応してプロセスインスタンス６００を生成することにより、同一プロセスに対応する複数のプロセスインスタンス６００を均一化することができる。
【００７１】
また、以上に代えて、中央サーバ装置１３０は、各プロセス１１０を実行する実行計画に基づいて、予め複数のプロセスインスタンス６００を生成し、プロセスインスタンス格納部４１０に記憶しておいてもよい。この場合、中央サーバ装置１３０は、実行計画に沿ってプロセスを実行した結果得られたトレース情報のポインタを分散サーバ装置１２０から受信する度に、当該トレース情報を登録するために予め生成されたプロセスインスタンス６００に当該トレース情報ポインタを格納する。
【００７２】
これに代えて分散サーバ装置１２０は、トレース情報を収集する前に、当該トレース情報を格納するトレース情報格納部３１０上の記憶領域を予め確保しておき、当該トレース情報のポインタを中央サーバ装置１３０に予め送信してもよい。この場合、中央サーバ装置１３０は、各プロセス１１０を実行する前に、トレース情報ポインタをプロセスインスタンス６００に予め格納しておくことができる。これにより、トレーサビリティシステム１０は、各プロセス１１０を実行する間において、分散サーバ装置１２０及び中央サーバ装置１３０の間の通信を最小限に抑えることができる。
【００７３】
図８は、本実施形態に係るトレーサビリティシステム１０のトレース情報処理フローの第１の例を示す。本トレース情報処理フローにおいて、トレース情報処理部４４０は、アプリケーション処理部４３０からの要求を受けて、利用者により指定された特定の最終製品について、当該最終製品を得る過程で収集された全てのトレース情報をアプリケーション処理部４３０に出力する。この処理は、例えば特定の最終製品について購入者から問い合わせがあった場合等に、当該最終製品についての全てのトレース情報を得て顧客サービスを行う等の目的で用いることができる。
【００７４】
まず、トレース情報出力要求部４４２は、アプリケーション処理部４３０から最終製品の指定を受けて、当該最終製品に対して行われた各イベントに対応するプロセスインスタンス６００の取得をプロセスインスタンス前方探索部４２２に要求する（Ｓ８００）。これを受けて、プロセスインスタンス前方探索部４２２は、当該最終製品に対応するプロセスインスタンス６００から順にプロセスインスタンスのチェーンを前方に探索し、当該最終製品に対して行われた全てのイベントに対応する全てのプロセスインスタンス６００を取得する（Ｓ８１０）。
【００７５】
次に、トレース情報出力部４４４は、プロセスインスタンス前方探索部４２２が取得した各プロセスインスタンス６００に記録されたトレース情報ポインタをデータディレクトリ検索部４７０へ供給する。これを受けて、データディレクトリ検索部４７０は、これらのトレース情報ポインタに対応するトレース情報の格納位置をデータディレクトリ格納部４６０から検索する（Ｓ８２０）。
【００７６】
次に、トレース情報取得部４８０は、各トレース情報の格納位置の情報に基づいて、各トレース情報を分散サーバ装置１２０から取得し、トレース情報出力部４４４へ供給する（Ｓ８３０）。これを受けてトレース情報出力部４４４は、各トレース情報をアプリケーション処理部４３０へ出力する（Ｓ８４０）。
【００７７】
以上の処理により、中央サーバ装置１３０は、特定の最終製品についての全トレース情報を出力する要求を受けた場合に、当該最終製品に対して行われた全イベントに対応するプロセスインスタンス６００を、分散サーバ装置１２０との間で通信を行うことなく探索することができる。そして、中央サーバ装置１３０は、アプリケーション処理部４３０へ出力すべき各トレース情報のみを分散サーバ装置１２０から取得することにより、分散サーバ装置１２０との間の通信量を低減することができる。
【００７８】
図９は、本実施形態に係るトレーサビリティシステム１０のトレース情報処理フローの第２の例を示す。本トレース情報処理フローにおいて、トレース情報処理部４４０は、アプリケーション処理部４３０からの要求を受けて、利用者により指定された特定のイベントが共通して行われた１以上の最終製品を識別する情報をアプリケーション処理部４３０へ出力する。この処理は、あるイベントに不具合が生じていたことが明らかとなった場合に、当該イベントの処理が行われた最終製品を特定し、これらの最終製品を補修する等の目的で用いることができる。
【００７９】
まず、共通製品識別情報出力要求部４４６は、アプリケーション処理部４３０から当該イベントに対応するプロセスインスタンス６００の指定を受けて、当該イベントに対応する処理が行われた１以上の最終製品の特定をプロセスインスタンス後方探索部４２６に要求する（Ｓ９００）。これを受けて、プロセスインスタンス後方探索部４２６は、特定のプロセスインスタンス６００から順にプロセスインスタンスのチェーンを後方に探索し、特定のプロセスインスタンス６００に対応するイベントの処理が共通して行われた後続の各プロセスインスタンス６００を順次取得していく（Ｓ９１０）。これにより共通製品識別情報出力要求部４４６は、指定されたプロセスインスタンス６００に対応するイベントの処理が共通して行われた１又は複数の最終製品を特定する。そして、共通製品識別情報出力部４４８は、プロセスインスタンス後方探索部４２６により特定された最終製品を識別する情報をアプリケーション処理部４３０へ出力する（Ｓ９２０）。
【００８０】
以上の処理により、中央サーバ装置１３０は、特定のイベントに対応するプロセスインスタンス６００から順にプロセスインスタンスのチェーンを後方に探索することにより、分散サーバ装置１２０との間で通信を行うことなく特定のイベントが共通して行われた全ての最終製品を抽出することができる。
【００８１】
図１０は、本実施形態に係るトレーサビリティシステム１０のトレース情報処理フローの第３の例を示す。本トレース情報処理フローにおいて、トレース情報処理部４４０は、アプリケーション処理部４３０からの要求を受けて、利用者により指定された複数の最終製品に共通して行われたイベントを特定し、当該イベントに対応して収集されたトレース情報を出力する。この処理は、例えば不具合が生じた複数の最終製品に共通して行われたイベントを特定し、当該イベントの実行条件を検査する等の目的で用いることができる。
【００８２】
まず、共通トレース情報出力要求部４５０は、アプリケーション処理部４３０から複数の最終製品の指定を受けて、それぞれの最終製品に対して行われた各イベントに対応するプロセスインスタンス６００の取得をプロセスインスタンス前方探索部４２２に要求する（Ｓ１０００）。これを受けて、プロセスインスタンス前方探索部４２２は、それぞれの最終製品について、当該最終製品に対応するプロセスインスタンス６００から順にプロセスインスタンスのチェーンを前方に探索し、当該最終製品に対して行われた全てのイベントに対応するプロセスインスタンス６００の組を取得する（Ｓ１０１０）。
【００８３】
次に、共通プロセスインスタンス抽出部４２４は、それぞれの最終製品に対応してプロセスインスタンス前方探索部４２２により取得されたプロセスインスタンス６００の組に共通するプロセスインスタンス６００を抽出する（Ｓ１０２０）。そして、共通トレース情報出力部４５２は、共通プロセスインスタンス抽出部４２４により抽出された共通のプロセスインスタンス６００に記録されたトレース情報ポインタをデータディレクトリ検索部４７０へ供給してトレース情報をトレース情報取得部４８０から取得し、アプリケーション処理部４３０へ出力する（Ｓ１０３０）。
【００８４】
以上の処理により、中央サーバ装置１３０は、複数の最終製品のそれぞれに対応するプロセスインスタンス６００から順にプロセスインスタンスのチェーンを前方へ探索することにより、分散サーバ装置１２０との間で通信を行うことなく複数の最終製品に共通するイベントに対応するプロセスインスタンス６００を抽出することができる。
【００８５】
図１１は、本実施形態に係るプロセスチェーンの一例を示す。図１１に示したプロセスチェーンは、素材Ａを調達する素材Ａ調達プロセス１１００、素材Ａを加工し部品Ａを供給する部品Ａ加工プロセス１１１０、素材Ｂを調達する素材Ｂ調達プロセス１１２０、素材Ｂを加工し部品Ｂを供給する部品Ｂ加工プロセス１１３０、部品Ａ及び部品Ｂを組み立てて商品Ｘを供給する商品組立プロセス１１４０、商品Ｘの最終製品に対応する商品Ｘプロセス１１５０を備える。図１１の各プロセスは、図５に示したプロセス５００としてモデル化される。
【００８６】
図１２は、本実施形態に係るプロセスインスタンスの接続関係の一例を示す。本例において、トレーサビリティシステム１０は、素材Ａ調達プロセス１１００を実行し結果物として素材Ａ１及びＡ２を得る現実のイベントに対応付けて、素材Ａ調達プロセスインスタンス１３００ａを生成する。また、素材Ａ調達プロセス１１００を実行し結果物として素材Ａ３、Ａ４、及びＡ５を得る現実のイベントに対応付けて、素材Ａ調達プロセスインスタンス１３００ｂを生成する。
【００８７】
次に、部品Ａ加工プロセス１１１０は、先行する素材Ａ調達プロセスインスタンス１３００ａ及び素材Ａ調達プロセスインスタンス１３００ｂから素材Ａ１、Ａ２、及びＡ３の供給を受けて、同一の実行条件により部品Ａ加工プロセス１１１０を実行し、結果物として部品Ａ１、Ａ２、及びＡ３を得る。トレーサビリティシステム１０は、この現実のイベントに対応付けて部品Ａ加工プロセスインスタンス１３１０ａを生成する。また、部品Ａ加工プロセス１１１０は、先行する素材Ａ調達プロセスインスタンス１３００ｂから素材Ａ４及びＡ５の供給を受けて、同一の実行条件により部品Ａ加工プロセス１１１０を実行し、結果物として部品Ａ４及びＡ５を得る。トレーサビリティシステム１０は、この現実のイベントに対応付けて部品Ａ加工プロセスインスタンス１３１０ｂを生成する。
【００８８】
次に、トレーサビリティシステム１０は、素材Ｂ調達プロセス１１２０を実行し結果物として素材Ｂ１、Ｂ２、及びＢ３を得る現実のイベントに対応付けて、素材Ｂ調達プロセスインスタンス１３２０ａを生成する。また、素材Ｂ調達プロセス１１２０を実行し結果物として素材Ｂ４及びＢ５を得る現実のイベントに対応付けて、素材Ｂ調達プロセスインスタンス１３２０ｂを生成する。
【００８９】
次に、部品Ｂ加工プロセス１１３０は、先行する素材Ｂ調達プロセスインスタンス１３２０ａから素材Ｂ１及びＢ２の供給を受けて、同一の実行条件によりプロセスを実行し、結果物として部品Ｂ１及びＢ２を得る。トレーサビリティシステム１０は、この現実のイベントに対応付けて部品Ｂ加工プロセスインスタンス１３３０ａを生成する。また、部品Ｂ加工プロセス１１３０は、先行する素材Ｂ調達プロセスインスタンス１３２０ａ及びｂから素材Ｂ３、Ｂ４、及びＢ５の供給を受けて、同一の実行条件によりプロセスを実行し、結果物として部品Ｂ３、Ｂ４、及びＢ５を得る。トレーサビリティシステム１０は、この現実のイベントに対応付けて部品Ｂ加工プロセスインスタンス１３３０ｂを生成する。
【００９０】
次に、商品組立プロセス１１４０は、先行する部品Ｂ加工プロセスインスタンス１３３０ａから部品Ｂ１の供給を受けて、商品Ｘ１を得る。トレーサビリティシステム１０は、この現実のイベントに対応付けて商品組立プロセスインスタンス１３４０ａを生成する。同様に、商品組立プロセス１１４０は、部品Ｂ２及び部品Ｂ３の供給を受けて商品Ｘ２及びＸ３を得、部品Ｂ４及びＢ５の供給を受けて商品Ｘ４及びＸ５を得る。トレーサビリティシステム１０は、これらの現実のイベントに対応付けて商品組立プロセスインスタンス１３４０ｂ及びｃを生成する。そして、トレーサビリティシステム１０は、最終製品である商品Ｘ１〜Ｘ５に対応付けて、商品Ｘプロセスインスタンス１３５０ａ〜ｅを生成する。
【００９１】
以上の処理において、トレーサビリティシステム１０は、先行プロセスインスタンス・ポインタ及び後続プロセスインスタンス・ポインタを用いて、各プロセスインスタンスを接続し、プロセスインスタンスのチェーンを構築する。
【００９２】
この状態において、商品Ｘ４について収集された全てのトレース情報を出力する要求をアプリケーション処理部４３０から受けると、図８に示したように、プロセスインスタンス探索部４２０は、商品Ｘ４に対応する商品Ｘプロセスインスタンス１３５０ｂからプロセスインスタンスのチェーンを前方に探索し、商品Ｘ４に対して行われた各イベントに対応するプロセスインスタンスの組｛商品組立プロセスインスタンス１３４０ｃ、部品Ｂ加工プロセスインスタンス１３３０ｂ、素材Ｂ調達プロセスインスタンス１３２０ａ、素材Ｂ調達プロセスインスタンス１３２０ｂ、部品Ａ加工プロセスインスタンス１３１０ｂ、素材Ａ調達プロセスインスタンス１３００ｂ｝を得る。そして、トレース情報処理部４４０は、これらのプロセスインスタンスに含まれるトレース情報ポインタを用いて、これらのプロセスインスタンスに対応するトレース情報を取得し、アプリケーション処理部４３０へ出力する。
【００９３】
また、部品Ｂ加工プロセスインスタンス１３３０ａに対応するイベントが行われた最終製品を特定する要求をアプリケーション処理部４３０から受けると、図９に示したように、プロセスインスタンス探索部４２０は、部品Ｂ加工プロセスインスタンス１３３０ａから順にプロセスインスタンスのチェーンを後方に検索し、プロセスインスタンスの組｛商品Ｘプロセスインスタンス１３５０ａ、商品Ｘプロセスインスタンス１３５０ｂ｝を得る。そして、トレース情報処理部４４０は、これらのプロセスインスタンスに対応する最終製品である商品Ｘ１及びＸ２を識別する情報を、アプリケーション処理部４３０へ出力する。
【００９４】
また、商品Ｘ１及びＸ４に共通して行われたイベントに対応して収集されたトレース情報を出力する要求をアプリケーション処理部４３０から受けると、図１０に示したように、プロセスインスタンス探索部４２０は、これらの商品のそれぞれから順に、プロセスインスタンスのチェーンを前方に探索する。次に、プロセスインスタンス探索部４２０は、各商品に対応して取得されたプロセスインスタンスの組に共通するプロセスインスタンス｛素材Ａ調達プロセスインスタンス１３００ｂ、素材Ｂ調達プロセスインスタンス１３２０ａ｝を抽出する。そして、トレース情報処理部４４０は、これらのプロセスインスタンスに対応するトレース情報を取得し、アプリケーション処理部４３０へ出力する。
【００９５】
以上に示したトレーサビリティシステム１０によれば、プロセスインスタンスのチェーンの探索を中央サーバ装置１３０により行い、トレース情報の収集を分散サーバ装置１２０により行うことで、大規模なプロセスチェーンを効率良く実装することができる。また、各プロセスをプロセス５００として一般化することにより、各種の応用分野に適用可能な汎用モデルによりプロセスチェーンを実装することができる。また、プロセスインスタンス６００のデータ構造を一般化したこと、及び、プロセスインスタンスのチェーンの探索処理をプロセスインスタンス探索部４２０によりモジュール化したことから、アプリケーションから統一的な手段を用いてトレース情報をアクセスすることができる。
【００９６】
図１３は、本実施形態に係るコンピュータ１９００のハードウェア構成を示す。本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、及びＣＤ−ＲＯＭドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部とを備える。
【００９７】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００９８】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ２０６０は、ＣＤ−ＲＯＭ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【００９９】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラムや、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０や、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を接続する。
【０１００】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【０１０１】
コンピュータ１９００にインストールされ、コンピュータ１９００を分散サーバ装置１２０として機能させるプログラムは、トレース情報収集モジュールと、トレース情報管理モジュールと、トレース情報ポインタ送信モジュールと、トレース情報送信モジュールとを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、トレース情報収集部３００と、トレース情報格納部３１０と、トレース情報ポインタ送信部３１５と、トレース情報送信部３２０としてそれぞれ機能させる。
【０１０２】
また、コンピュータ１９００にインストールされ、コンピュータ１９００を中央サーバ装置１３０として機能させるプログラムは、プロセスインスタンス生成モジュール、トレース情報ポインタ格納モジュール、先行プロセスインスタンス・ポインタ格納モジュール、及び後続プロセスインスタンス・ポインタ格納モジュールを有するトレース情報登録処理モジュールと、プロセスインスタンス管理モジュールと、プロセスインスタンス前方探索モジュール、共通プロセスインスタンス抽出モジュール、及びプロセスインスタンス後方探索モジュールを有するプロセスインスタンス探索モジュールと、アプリケーション処理モジュールと、トレース情報出力要求モジュール、トレース情報出力モジュール、共通製品識別情報出力要求モジュール、共通製品識別情報出力モジュール、共通トレース情報出力要求モジュール、及び共通トレース情報出力モジュールを有するトレース情報処理モジュールと、データディレクトリ管理モジュールと、データディレクトリ検索モジュールと、トレース情報取得モジュールとを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、プロセスインスタンス生成部４０２、トレース情報ポインタ格納部４０４、先行プロセスインスタンス・ポインタ格納部４０６、及び後続プロセスインスタンス・ポインタ格納部４０８を有するトレース情報登録処理部４００と、プロセスインスタンス格納部４１０と、プロセスインスタンス前方探索部４２２、共通プロセスインスタンス抽出部４２４、及びプロセスインスタンス後方探索部４２６を有するプロセスインスタンス探索部４２０と、アプリケーション処理部４３０と、トレース情報出力要求部４４２、トレース情報出力部４４４、共通製品識別情報出力要求部４４６、共通製品識別情報出力部４４８、共通トレース情報出力要求部４５０、及び共通トレース情報出力部４５２を有するトレース情報処理部４４０と、データディレクトリ格納部４６０と、データディレクトリ検索部４７０と、トレース情報取得部４８０としてそれぞれ機能させる。
【０１０３】
以上に示したプログラム又はモジュールは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５の他に、ＤＶＤやＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【０１０４】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【０１０５】
【図１】本発明の実施形態に係るトレーサビリティシステム１０の構成を示す。
【図２】本発明の実施形態に係るプロセス１１０の構成を示す。
【図３】本発明の実施形態に係る分散サーバ装置１２０の構成を示す。
【図４】本発明の実施形態に係る中央サーバ装置１３０の構成を示す。
【図５】本発明の実施形態に係るプロセス５００の構成を示す。
【図６】本発明の実施形態に係るプロセスインスタンス６００の構成を示す。
【図７】本発明の実施形態に係るトレーサビリティシステム１０の動作フローを示す。
【図８】本発明の実施形態に係るトレーサビリティシステム１０のトレース情報処理フローの第１の例を示す。
【図９】本発明の実施形態に係るトレーサビリティシステム１０のトレース情報処理フローの第２の例を示す。
【図１０】本発明の実施形態に係るトレーサビリティシステム１０のトレース情報処理フローの第３の例を示す。
【図１１】本発明の実施形態に係るプロセスチェーンの一例を示す。
【図１２】本発明の実施形態に係るプロセスインスタンスの接続関係の一例を示す。
【図１３】本発明の実施形態に係るコンピュータ１９００のハードウェア構成を示す。
【符号の説明】
【０１０６】
１０  トレーサビリティシステム
１００  プロセス群
１１０  プロセス
１１０ａ〜ｇ  プロセス
１１２  組立・加工プロセス
１１４  搬出プロセス
１１５  最終製品
１２０  分散サーバ装置
１３０  中央サーバ装置
３００  トレース情報収集部
３１０  トレース情報格納部
３１５  トレース情報ポインタ送信部
３２０  トレース情報送信部
４００  トレース情報登録処理部
４０２  プロセスインスタンス生成部
４０４  トレース情報ポインタ格納部
４０６  先行プロセスインスタンス・ポインタ格納部
４０８  後続プロセスインスタンス・ポインタ格納部
４１０  プロセスインスタンス格納部
４２０  プロセスインスタンス探索部
４２２  プロセスインスタンス前方探索部
４２４  共通プロセスインスタンス抽出部
４２６  プロセスインスタンス後方探索部
４３０  アプリケーション処理部
４４０  トレース情報処理部
４４２  トレース情報出力要求部
４４４  トレース情報出力部
４４６  共通製品識別情報出力要求部
４４８  共通製品識別情報出力部
４５０  共通トレース情報出力要求部
４５２  共通トレース情報出力部
４６０  データディレクトリ格納部
４７０  データディレクトリ検索部
４８０  トレース情報取得部
５００ａ〜ｄ  プロセス
５１０  プロセス識別情報記憶領域
５２０  先行プロセス・ポインタ記憶領域
５２５  数量情報記憶領域
５３０  トレース情報ポインタ記憶領域
５３５  プロセス固有情報記憶領域
５４０  後続プロセス・ポインタ記憶領域
６００ａ〜ｄ  プロセスインスタンス
６１０  プロセスインスタンス識別情報
６２０  先行プロセスインスタンス・ポインタ
６２５  先行プロセスインスタンス製品数量情報
６３０  トレース情報ポインタ
６３５  プロセスインスタンス固有情報
６４０  後続プロセスインスタンス・ポインタ
６５０  後続プロセスインスタンス製品数量情報
１１００  素材Ａ調達プロセス
１１１０  部品Ａ加工プロセス
１１２０  素材Ｂ調達プロセス
１１３０  部品Ｂ加工プロセス
１１４０  商品組立プロセス
１１５０  商品Ｘプロセス
１３００ａ〜ｂ  素材Ａ調達プロセスインスタンス
１３１０ａ〜ｂ  部品Ａ加工プロセスインスタンス
１３２０ａ〜ｂ  素材Ｂ調達プロセスインスタンス
１３３０ａ〜ｂ  部品Ｂ加工プロセスインスタンス
１３４０ａ〜ｃ  商品組立プロセスインスタンス
１３５０ａ〜ｄ  商品Ｘプロセスインスタンス
１９００  コンピュータ
２０００  ＣＰＵ
２０１０  ＲＯＭ
２０２０  ＲＡＭ
２０３０  通信インターフェイス
２０４０  ハードディスクドライブ
２０５０  フレキシブルディスク・ドライブ
２０６０  ＣＤ−ＲＯＭドライブ
２０７０  入出力チップ
２０７５  グラフィック・コントローラ
２０８０  表示装置
２０８２  ホスト・コントローラ
２０８４  入出力コントローラ
２０９０  フレキシブルディスク
２０９５  ＣＤ−ＲＯＭ
【図１】
2005346280.tif 000003
【図２】
2005346280.tif 000004
【図３】
2005346280.tif 000005
【図４】
2005346280.tif 000006
【図５】
2005346280.tif 000007
【図６】
2005346280.tif 000008
【図７】
2005346280.tif 000009
【図８】
2005346280.tif 000010
【図９】
2005346280.tif 000011
【図１０】
2005346280.tif 000012
【図１１】
2005346280.tif 000013
【図１２】
2005346280.tif 000014
【図１３】
2005346280.tif 000015