(57)【要約】【課題】畜産製品を能動的に追跡することができる畜産製品追跡システムを、提供する。【解決手段】工程管理データベース２５は、各畜産製品毎にその畜産製品を製造した製造工程名，その畜産製品が製造された製造時間，その畜産製品を材料として使用すべき材料工程名，その畜産製品が使用された使用時間を含むレコードを、格納している。ＣＰＵ１１は、特定の家畜個体が飼育された工程及び飼育された時間に基づいて、製造工程名がその工程を示すとともに製造時間がその時間を含んでいるレコードを処理対象レコードとして特定し、その後、処理対象レコード中の材料工程名と一致する製造工程名，及び、同レコード中の使用時間に含まれる製造時間を有するレコードを新たな処理対象レコードとして特定する追跡サブルーチンを、処理対象レコードが特定できなくなるまで実行する。【選択図】　図１
2004030303.tif 000002
【特許請求の範囲】
【請求項１】
夫々畜産製品を処理して搬出用に構成する複数の工程を繋げてなる畜産製品流通経路上において、任意の工程にて構成された畜産製品を源としてそれ以降の工程に移転して行った各畜産製品を追跡するための畜産製品追跡システムであって、
各工程間における個々の畜産製品を管理単位として、各管理単位毎に、その畜産製品を搬出用に構成した第１工程を特定する第１工程識別情報，第１工程においてその畜産製品が搬出用に構成された期間を特定する第１時間情報，その畜産製品を処理すべき第２工程を特定する第２工程識別情報，第２工程においてその畜産製品が処理された期間を特定する第２時間情報を含むレコードを格納している記憶装置と、
プログラムに従って動作することにより、前記源としての畜産製品が構成された工程及び時間を特定する情報に基づいて、第１工程識別情報がその工程を示すとともに第１時間情報が示す期間がその時間を含んでいるレコードを最初の処理対象レコードとして特定する第１処理を実行し、その後、処理対象レコード中の第２工程識別情報と一致する第１工程識別情報，及び、同レコード中の第２時間情報が特定する期間に含まれる期間を特定する第２時間情報を有するレコードを新たな処理対象レコードとして特定する第２処理を、新たな処理対象レコードが特定できなくなるまで繰り返し実行する処理装置と
を備えることを特徴とする畜産製品追跡システム。
【請求項２】
前記源としての畜産製品には家畜が含まれ、
前記源としての畜産製品を搬出用に構成することには家畜を飼育することが含まれる
ことを特徴とする請求項１記載の畜産製品追跡システム。
【請求項３】
前記第１時間情報及び前記第２時間情報は、夫々、期間の開始時刻及び終了時刻から、構成されている
ことを特徴とする請求項１記載の畜産製品追跡システム。
【請求項４】
前記処理装置は、一の処理対象レコードに基づいて実行した前記第２処理によって、新たな処理対象レコードが複数特定できた場合には、個々の新たな処理対象レコード毎に、夫々、前記第２処理を実行する
ことを特徴とする請求項１記載の畜産製品追跡システム。
【請求項５】
前記処理装置は、前記第２処理によって新たな処理対象レコードが特定できない場合には、最後に特定できたレコードの内容を出力する
ことを特徴とする請求項１記載の畜産製品追跡システム。
【請求項６】
前記第２処理によって新たな処理対象レコードが特定できない場合には、処理対象レコードに第２時間情報が含まれていない場合が含まれる
ことを特徴とする請求項５記載の畜産製品追跡システム。
【請求項７】
前記処理装置は、ネットワークを通じて端末から送信されて来た前記情報に基づいて前記第１処理及び前記第２処理を実行し、前記最後に特定できたレコードの内容を、ネットワークを通じて端末へ出力する
ことを特徴とする請求項５記載の畜産製品追跡システム。
【請求項８】
夫々畜産製品を処理して搬出用に構成する複数の工程を繋げてなる畜産製品流通経路上において、任意の工程にて構成された畜産製品を源としてそれ以降の工程に移転して行った各畜産製品を追跡するために、コンピュータによって実行される畜産製品追跡プログラムであって、
各工程間における個々の畜産製品を管理単位として、各管理単位毎に、その畜産製品を搬出用に構成した第１工程を特定する第１工程識別情報，第１工程においてその畜産製品が搬出用に構成された期間を特定する第１時間情報，その畜産製品を処理すべき第２工程を特定する第２工程識別情報，第２工程においてその畜産製品が処理された期間を特定する第２時間情報を含むレコードを格納している記憶装置にアクセス可能なコンピュータに対して、
前記源としての畜産製品が構成された工程及び時間を特定する情報に基づいて、第１工程識別情報がその工程を示すとともに第１時間情報が示す期間がその時間を含んでいるレコードを最初の処理対象レコードとしてメモリ上に特定する第１処理を実行させ、
その後、処理対象レコード中の第２工程識別情報と一致する第１工程識別情報，及び、同レコード中の第２時間情報が特定する期間に含まれる期間を特定する第２時間情報を有するレコードを新たな処理対象レコードとしてメモリ上に特定する第２処理を、新たな処理対象レコードが特定できなくなるまで繰り返し実行させる
ことを特徴とする畜産製品追跡プログラム。
【請求項９】
夫々畜産製品を処理して搬出用に構成する複数の工程を繋げてなる畜産製品流通経路上において、任意の工程にて構成された畜産製品を源としてそれ以降の工程に移転して行った各畜産製品を追跡するための畜産製品追跡方法であって、
記憶装置が、
各工程間における個々の畜産製品を管理単位として、各管理単位毎に、その畜産製品を搬出用に構成した第１工程を特定する第１工程識別情報，第１工程においてその畜産製品が搬出用に構成された期間を特定する第１時間情報，その畜産製品を処理すべき第２工程を特定する第２工程識別情報，第２工程においてその畜産製品が処理された期間を特定する第２時間情報を含むレコードを記憶し、
プログラムに従って動作する制御装置が、
前記源としての畜産製品が構成された工程及び時間を特定する情報に基づいて、第１工程識別情報がその工程を示すとともに第１時間情報が示す期間がその時間を含んでいるレコードを最初の処理対象レコードとしてメモリ上に特定する第１処理を実行し、
その後、処理対象レコード中の第２工程識別情報と一致する第１工程識別情報，及び、同レコード中の第２時間情報が特定する期間に含まれる期間を特定する第２時間情報を有するレコードを新たな処理対象レコードとしてメモリ上に特定する第２処理を、新たな処理対象レコードが特定できなくなるまで繰り返し実行する
ことを特徴とする畜産製品追跡方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、畜産業者から末端業者（小売業者，処理業者，加工業者，等）に至る畜産製品流通の経路を流通する食肉を追跡するための畜産製品追跡システム，コンピュータをこのような畜産製品追跡システムとして機能させるための畜産製品追跡プログラム，及び、このようなシステムによって実現される畜産製品追跡方法に、関する。
【０００２】
【従来の技術】
畜産製品流通は、通常、畜産業者による家畜（牛，豚，羊，鶏，等）の飼育に始まり、解体業者による屠殺及び解体の各段階や、流通業者（食品会社）による流通を経て、末端の業者での処分（小売業者による小売り，加工業者による二次製品への加工，等）に至る。このような畜産製品流通においては、畜産製品（本明細書においては、畜産製品流通の初期段階での家畜自体，その後の段階での食肉や二次製品をも指す）の衛生は保たれるべきであるが、不可避的に食肉が病原体に感染してしまう場合がある。その典型例が、家畜のプリオン病，即ち、牛における狂牛病（ＢＳＥ，牛海綿状脳症），羊におけるスクレイピー病や、口蹄疫である。プリオン病の感染経路は、未だ完全には究明されていないが、異常プリオンと呼ばれるタンパク質を含有する飼料を摂取することによって感染するという説が、有力視されている。また、口蹄疫は、ウイルス性の伝染病であるので、経口感染の他、皮膚感染によっても、伝染してしまう。
【０００３】
このような病原体に一旦感染した畜産製品は、その後においてどのように処理がなされたとしても、完全に安全であるとは言い切れない。特に、異常プリオンは、通常の加熱処理によっても分解し難い物質であり、しかも、人間が感染するクロイツフェルトヤコブ病とＢＳＥとの相互感染の可能性も指摘されているので、プリオン病に感染した家畜に由来する畜産製品は、流通過程に置くべきではなく、直ちに焼却処分すべきである。
【０００４】
そのため、家畜毎に識別番号を付して、畜産製品を管理する方法が提案されている。この方法によると、或る家畜の個体に由来する畜産製品には全て、その識別番号が付される。従って、屠殺の直後に実施された感染試験の結果が公表されれば、畜産製品流通過程における各段階の業者は、自ら保管している畜産製品が感染家畜から製造されたものか否かを、知ることができる。
【０００５】
【発明が解決しようとする課題】
しかしながら、上述した従来の食肉管理方法によると、感染が確認された家畜の個体に由来する各畜産製品を能動的に追跡することは不可能であるので、流通過程における各業者へ識別番号を通知して、その個体によって製造された畜産製品の保有の有無を、申告してもらわなければならなかった。このように、従来の食肉管理方法の実効性は、各業者の良心に負うところが大きいので、国民に対する食品安全性確保の観点からは、不十分なものであった。
【０００６】
そこで、本発明の課題は、大量の個体を流通させる複雑な畜産製品流通において全ての個体の存在状況を短時間に簡単に追跡することを可能とするものであって、畜産製品流通経路中の任意の工程における畜産製品を源にしてその後の工程に移転していった全ての畜産製品を、能動的に追跡することができる畜産製品追跡システム，畜産製品追跡プログラム及び畜産製品追跡方法の、提供である。
【０００７】
【課題を解決するための手段】
本発明では、上記課題を解決するために、以下のような構成を採用した。即ち、本発明による畜産製品追跡システム，畜産製品追跡プログラム及び畜産製品追跡方法は、何れも、畜産製品流通経路を、畜産製品を処理して搬出用に構成する複数の工程を繋げたものであるとして、扱う。そして、各工程間における個々の畜産製品を管理単位として、各管理単位毎に、その畜産製品を搬出用に構成した第１工程を特定する第１工程識別情報，第１工程においてその畜産製品が搬出用に構成された期間を特定する第１時間情報，その畜産製品を処理すべき第２工程を特定する第２工程識別情報，第２工程においてその畜産製品が処理された期間を特定する第２時間情報を含むレコードを生成して、保存する。実際に或る畜産製品を源としてそれ以降の工程に移転して行った全ての畜産製品を追跡する場合には、源としての畜産製品が構成された工程及び時間を特定する情報に基づいて、第１工程識別情報がその工程を示すとともに第１時間情報が示す期間がその時間を含んでいるレコードを最初の処理対象レコードとして特定する第１処理を実行し、その後、処理対象レコード中の第２工程識別情報と一致する第１工程識別情報，及び、同レコード中の第２時間情報が特定する期間に含まれる期間を特定する第２時間情報を有するレコードを新たな処理対象レコードとして特定する第２処理を、新たな処理対象レコードが特定できなくなるまで繰り返し実行する。
【０００８】
このように処理を実行していき、最終的に、第２処理を実行しても新たな処理対象レコードが特定できなくなった場合には、その直前に処理対象レコードとして特定されたレコードによって管理されている工程に、源としての畜産製品に由来する畜産製品が存在していると、特定することができる。
【０００９】
本発明において、源としての畜産製品とは、家畜そのものの他、家畜を１又は複数の工程によって処理することによって構成された畜産製品（家畜の死骸，解体された各部位，食肉，冷凍出荷品，皮革，不要部位，肉骨粉，二次製品）をも指す。従って、本発明によれば、流通経路内の任意の工程を起点に、畜産製品の追跡が可能になるのである。
【００１０】
本発明において、畜産製品を処理して搬出用に構成するとは、生きた家畜を屠殺して死骸にすることや、死んだ家畜を解体して、頭、体、足等の大まかな部位に分けることや、各部位を更に解体して食肉種類毎に分けることや、食肉を冷凍保存してその後出荷物とすること等を、意味する。
【００１１】
なお、源としての畜産製品が構成された工程及び時間を特定する情報は、オペレータによって直接入力しても良いし、流通経路内の任意の工程における任意の畜産製品を起点として流通経路を遡ることによって、自動的に探索されても良い。
【００１２】
また、汚染の種類に依っては、各工程中での処理中に畜産製品が汚染される場合もある。例えば、或る解体台上で解体されている汚染された畜産製品から飛び散った血液に因って、それに隣接する解体台上で解体されている畜産製品が汚染されている場合である。このように、別の家畜個体に由来する畜産製品間で汚染が拡がる場合には、第２処理において、処理対象レコードに対応した工程に対して物理的に隣接した工程に対応したレコードをも、新たな処理対象レコードとして特定するようにすれば良い。
【００１３】
【発明の実施の形態】
以下、図面に基づいて、本発明の一実施形態について説明する。本発明による畜産製品管理システムの実施の形態である食肉管理システムは、畜産業者から末端業者（小売業者，処理業者，加工業者，等）に至る畜産製品流通経路を構成する各工程毎にノードを設定することにより、各ノードを分岐点としたツリー状の流通経路に沿って分散しながら流通する畜産製品（家畜個体，家畜の部位，食肉，二次加工品，等）を、追跡するためのシステムである。
【００１４】
ここで、各工程とは、畜産製品に対して何らかの処理を施すことによって、この畜産製品を搬出用に構成することを意味する。この処理の典型例は、畜産製品を加工して別の畜産製品にするものである。従って、各工程での処理前の畜産製品は、その工程での「材料」と称され、処理によって構成される畜産製品は、その工程での「製品」と称される。なお、「工程」には、倉庫での保管のように、畜産製品の加工を必ずしも伴わないものも含まれるが、ここでは、一括して、各「工程」での処理前の畜産製品を「材料」として扱い、処理後の畜産製品を「製品」として扱う。また、同一業者内でも、複数段階の作業が行われる場合には、各作業段階が夫々「工程」となる。例えば、同一解体業者において、家畜の屠殺が行われ、屠殺された家畜の体が頭や胴体や足等の部位に大まかに解体され、各部位が更に食肉種類別に解体される場合、各作業段階が夫々「工程」として扱われる。
【００１５】
これら各工程は、それぞれに対して一意に割り当てられた工程名によって識別される。そして、同じ内容の工程であっても、その工程の作業を実行する場所（例えば、解体台，倉庫内での保管場所）が違えば、別個の工程名が付与される。従って、或る時点において或る工程で処理される畜産製品は唯一つのみとなる。
【００１６】
ところで、ある工程での「製品」はその次の工程での「材料」となるが、工程間での畜産製品の変質は無いので、それらの同一性が保たれる。従って、各畜産製品は、ある工程において「製品」として製造（処理）されてから次の工程において「材料」として使用（処理）されるまでの間では、一つの識別番号によって識別可能となっている。そして、或る一つの識別番号が付与された畜産製品が「製品」として構成された工程はその畜産製品から見て「製品工程」と称され、「材料」として処理された工程はその畜産製品から見て「材料工程」と称される。
【００１７】
以上により、或る工程において或る時間に存在した材料又は製品は、それぞれに付与された識別番号に基づいて特定可能となり、工程名及び時間情報をキーとして、その前後の工程を辿ることが可能となるのである。
【００１８】
図５は、以上のような各工程をツリー状に繋げてなる畜産製品流通のモデルを示している。このモデルにおいては、工程Ａは、畜産業者における家畜飼育であり、工程Ｂは、解体業者による家畜の解体であり、工程Ｃは、解体業者による食肉部位倉庫への食肉の冷凍保存であり、工程Ｄは、解体業者による不要部位倉庫への不要部位（脳，骨，内臓等）の冷凍保存であり、工程Ｅは、解体業者による一時保管場へのその他部位（皮革等）の保管であり、工程Ｆは、小売業者による食肉の市販であり、工程Ｇは、処理業者による不要部位の処理（焼却等）である。
（システム構成）
次に、本実施形態による食品管理システムの構成を、説明する。図１に示すように、本実施形態による食品流通システムは、処理用コンピュータセンター１と、夫々インターネットＮを介して処理用コンピュータ１と通信可能であるとともに各工程に対応して夫々設置された複数の端末３とから、構成されている。
【００１９】
各端末３は、本実施形態による食品管理に利用するのに適したハードウェア構成にセットアップされたコンピュータである。図２は、各端末３の構成を示すブロック図である。この図２に示されるように、各端末３は、コンピュータ本体３１と、このコンピュータ本体３１に接続された表示入力装置３２，バーコードリーダ３３及びプリンタ３４から、構成されている。さらに、コンピュータ本体３１は、バスＢによって相互に接続されたＣＰＵ３１１，ＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）３１２，ＲＡＭ３１３，通信制御回路３１４，入力制御回路３１５，表示制御回路３１６，及び出力制御回路３１７から、構成されている。また、表示入力装置３２は、タッチパネル３２１とＬＣＤ（Ｌｉｑｕｉｄ　Ｃｒｙｓｔａｌ　Ｄｉｓｐｌａｙ）３２２とから、構成されている。但し、各端末３は、ディスプレイ装置，キーボード又はポインティングデバイス，バーコードリーダ及びプリンタを備えていさえすれば、一般的なパーソナルコンピュータであっても良い。
【００２０】
ＣＰＵ３１１は、端末３全体を制御して各種処理を実行する中央処理装置である。このＣＰＵ１１は、時計Ｍを内蔵しており、この時計Ｍから現在時刻（年，月，日，時，分，秒）を取得することができる。ＲＯＭ３１２は、ＣＰＵ１１によって読み出されて実行される各種プログラム及びデータを格納している。このＲＯＭ３１２に格納されている各種プログラムには、端末３を構成する各ハードウェアを制御するとともに通信機能を実現するためのＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）及び各種ドライバや、インターネットＮを経由してターミナルサーバによるターミナルサービスを受けるためのターミナルサービスクライアント３５が、含まれている。また、ＲＯＭ３１２に格納されているデータには、その端末３に対応した工程の工程名（Ａ〜Ｇ）が、含まれている。ＲＡＭ３１３は、ＣＰＵ１１が各プログラムによる処理を実行するに際して、作業領域が展開される主記憶装置であり、図２においては、ターミナルサービスクライアント３５がＲＡＭ３１３に展開された状態が示されている。
【００２１】
表示制御回路３１６は、ＣＰＵ３１１から指示された画面を表示させるための画像データを生成して、その画像データに基づいた画像をＬＣＤ３２２に表示させるインタフェースである。
【００２２】
タッチパネル３２１は、ＬＣＤ３２２の画面上に配置されるとともに、コンピュータ本体３１の入力制御回路３１５に接続され、オペレータによる押圧位置に応じた信号を入力制御回路３１５に入力する。バーコードリーダ３３も、この入力制御回路３１５に接続され、バーコードを読み取る事によって得られたイメージ信号を入力制御回路３１５に入力する。入力制御回路３１５は、これらの信号を二値化して、ＣＰＵ３１１に通知するインタフェースである。なお、ＣＰＵ３１１は、タッチパネル３２１用ドライバ（図示略）に従って、ＬＣＤ３２２上に表示中の画面におけるタッチパネル３２１押下位置に対応するアイテム（ボタン）を特定し、そのボタンが押下されたとの解釈を行う。また、ＣＰＵ３１１は、バーコードリーダ３３用ドライバ（図示略）に従って、イメージ信号を復調して本来の情報（数字列）に変換する。
【００２３】
出力制御回路３１７は、ＣＰＵ３１１から出力された印刷データをプリンタ３４へ送信するインタフェース（セントロニクスインタフェース，ＵＳＢインタフェース等）である。プリンタ３４は、ラベル印刷機能を有する一般的なプリンタである。通信制御回路３１４は、インターネットＮとのインターフェースである。
【００２４】
一方、処理用コンピュータセンター１は、複数台又は一台のコンピュータから構成されるが、ここでは、１台のコンピュータから構成することとして、説明を進める。図３は、この処理用コンピュータ１のハードウェア構成を示すブロック図である。この図３に示すように、この処理用コンピュータ１は、バスＢを通じて相互に接続されたＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）１１，ＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）１２，ＨＤＤ（Ｈａｒｄ　Ｄｉｓｋ　Ｄｒｉｖｅ）１３，通信制御回路１４，表示制御回路１５，及び入力制御回路１６を、有する。さらに、サーバ１は、表示制御回路１５に接続されたＣＲＴ（Ｃａｔｈｏｄ　Ｒａｙ　Ｔｕｂｅ）１７，及び入力制御回路１６に接続されたキーボード１８を、有する。
【００２５】
これらのうち、通信制御回路１４は、インターネットＮとのインターフェースである。ＨＤＤ１３は、各種プログラム及びデータを格納する外部記憶装置（記憶装置）である。ＣＰＵ１１は、このＨＤＤ１３に格納された各プログラムを読み出して、そのプログラムに従って動作することによって各種処理を実行する中央処理装置（処理装置）である。ＲＡＭ１２は、ＣＰＵ１１が各処理を実行するに際して作業領域が展開される主記憶装置である。表示制御回路１５は、ＣＰＵ１１からの制御に従って、画像データを生成して、この画像データに基づいた画像をＣＲＴ１７に表示させるインタフェースである。入力制御回路１６は、キーボード１８に対するオペレータによる入力操作をコード信号に変換して、ＣＰＵ１１に通知するインタフェースである。
【００２６】
図１に戻り、処理用コンピュータセンター１のＨＤＤ１３に格納されている各種プログラム及びデータの説明を行う。図１に示すように、処理用コンピュータセンター１のＨＤＤ１３に格納されてＣＰＵ１１によって実行される各種プログラムには、処理用コンピュータセンター２１全体の基本ソフトであるＯＳ２１，このＯＳ２１上において実行されて各端末に対してターミナルサービスの実行環境を提供するマルチユーザＯＳであるターミナルサーバ２２（例えば、米国Ｍｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ　ＮＴ　Ｓｅｒｖｅｒ　４．０　Ｔｅｒｍｉｎａｌ　Ｓｅｒｖｅｒ　Ｅｄｉｔｉｏｎ［同社の商標］又はＷｉｎｄｏｗｓ　２０００　Ｓｅｒｖｅｒ［同社の商標］，若しくは、これらのＯＳと共に実行されるアドオンソフトウェアであるＭｅｔａ　　Ｆｒａｍｅ［米国ＣＩＴＲＩＸ社の商標］），夫々ターミナルサーバ２２上で実行されるアプリケーションプログラムであるＤＢ（Ｄａｒａ　Ｂａｓｅ）登録プログラム２３及びＤＢ検索プログラム２４が、含まれている。
【００２７】
上述した端末３上のターミナルサービスクライアント３５は、入力制御回路から通知された入力データを、処理用コンピュータセンター１上のターミナルサーバ２２へ送信する。すると、ターミナルサーバ２２は、その入力データに基づいて各アプリケーションプログラム２３，２４を実行させ、その結果得られた画像データや印刷データを、ターミナルサービスクライアント３へ返送する。すると、ターミナルサービスクライアント３５は、受信した画像データに基づいてＬＣＤ３２２上に画像表示をさせ、また、受信した印刷データに基づいてプリンタ３４に印刷をさせるのである。
【００２８】
また、処理用コンピュータセンター１のＨＤＤ１３に格納されているデータには、図４に示す工程管理データベース２５が含まれている。この工程管理データベース２５は、上述したように個別の識別番号が付与された各畜産製品毎に（即ち、各工程間における個々の畜産製品を管理単位として）、レコードを格納している。この工程管理データベース２５に格納された各レコードは、そのレコードの登録順を示す「記録番号」，そのレコードによって管理される畜産製品を示す「識別番号」，その畜産製品から見て製品工程に該当する工程（その畜産製品を搬出用に構成する第１工程）を示す「製品工程名」（第１工程識別情報に相当），その畜産製品が製品工程において製造され始めた時刻を示す「製造開始時刻」及び完成した時刻を示す「製造終了時刻」（第１時間情報に相当），その畜産製品から見て材料工程に該当する工程（その畜産製品を処理すべき第２工程）を示す「材料工程名」（第２工程識別情報に相当），その畜産製品が材料工程において使用され始めた時刻を示す「使用開始時刻」及び使用し終わった（消滅した）時刻を示す「使用終了時刻」（第２時間情報に相当），及び、その畜産製品がその材料工程において流通を終えた為に管理対象外となったか否かを示す「工程終了情報」から、構成されている。なお、上述したように、製品工程名及び材料工程名が同じであっても、製造時間（「製造開始時刻」〜「製造終了時刻」）及び使用時間（「使用開始時刻」〜「使用終了時刻」）が異なっていれば、その管理対象畜産製品（即ち、識別番号）は互いに異なる。そのため、工程管理データベース２５には、製品工程名及び材料工程名を共通にする複数のレコードが格納され得る。
（アプリケーション）
次に、上述した処理用コンピュータセンター１のターミナルサーバ２２上において端末３上の各ターミナルサービスクライアント３からの入力データに従って実行される各アプリケーションプログラム（ＤＢ登録プログラム２３，ＤＢ検索プログラム２４）によるプロセスを、説明する。
＜ＤＢ登録プログラム２３＞
先ず最初に、各工程における畜産製品に対する処理を工程管理データベース２５に登録するために実行されるＤＢ登録プログラム２３を、図６及び図７のフローチャートを参照して説明する。なお、このＤＢ登録プログラム２３は、起動コマンドを送信して来た各端末３毎に起動されて、実行される。
【００２９】
起動後最初のＳ００１では、ＤＢ登録プログラム２３は、図１２に示す入力画面を、コマンド送信元端末３のＬＣＤ３２２上に表示させる。図１２に示すように、この入力画面には、「入荷」ボタン４１，「製造開始」ボタン４２，「製造終了」ボタン４３，「材料終了」ボタン４４，「工程終了」ボタン４５，及び「終了」ボタン４６を、含んでいる。
【００３０】
次のＳ００２では、ＤＢ登録プログラム２３は、端末３において入力画面上の何れかのボタン４１〜４６が押下（何れかのボタンに重なる位置においてタッチパネル３２１が押圧）されるのを待つ。そして、ＤＢ登録プログラム２３は、「入荷」ボタン４１が押下された場合にはプロセスをＳ００３へ進め、「製造開始」ボタン４２が押下された場合にはプロセスをＳ００６へ進め、「製造終了」ボタン４３が押下された場合にはプロセスをＳ０１４へ進め、「材料終了」ボタン４４が押下された場合にはプロセスをＳ０１７へ進め、「工程終了」ボタン４５が押下された場合にはプロセスをＳ０２０へ進める。
【００３１】
その端末３に対応した工程に畜産製品（材料）が入荷した時に「入荷」ボタン４１が押下されることによって実行されるＳ００３では、ＤＢ登録プログラム２３は、その畜産製品（材料）に添付されたバーコードをバーコードリーダ３３によって読み取らせる指示を、端末３のＬＣＤ３２２上に表示させる。そして、ＤＢ登録プログラム２３は、その後に端末３から送られてくるバーコードの復調情報（即ち、識別番号）を、受け付ける。
【００３２】
次のＳ００４では、ＤＢ登録プログラム２３は、Ｓ００３にて取得した識別番号に基づいて工程管理データベース２５を検索し、その識別番号を含むレコードを特定する。なお、この識別番号に対応した畜産製品は、製品工程における製造が済んだだけのものであるので、Ｓ００４にて特定されたレコードでは、「使用開始時刻」，「使用終了時刻」及び「工程終了情報」が空欄になっている。
【００３３】
次のＳ００５では、ＤＢ登録プログラム２３は、Ｓ００４にて特定したレコードの「使用開始時刻」に現在時刻を設定する。Ｓ００５を完了すると、ＤＢ登録プログラム２３は、プロセスをＳ００１に戻す。
【００３４】
一方、その端末３に対応した工程に入荷済みの畜産製品（材料）を処理することによって新たな畜産製品の構成（製造）を開始する時に「製造開始」ボタン４２が押下されることによって実行されるＳ００６では、ＤＢ登録プログラム２３は、その畜産製品（材料）に添付されたバーコードをバーコードリーダ３３によって読み取らせる指示を、端末３のＬＣＤ３２２上に表示させる。そして、ＤＢ登録プログラム２３は、その後に端末３から送られてくるバーコードの復調情報（即ち、識別番号）を、受け付ける。
【００３５】
次のＳ００７では、ＤＢ登録プログラム２３は、Ｓ００６にて取得した識別番号に基づいて工程管理データベース２５を検索し、その識別番号を含むレコードを特定する。
【００３６】
次のＳ００８では、ＤＢ登録プログラム２３は、Ｓ００７にて特定したレコードの「使用終了時刻」に時刻情報が設定されているか否かを、チェックする。そして、「使用終了時刻」に時刻情報が設定されている場合には、ＤＢ登録プログラム２３は、その畜産製品（材料）は使用済みであって存在しない旨のエラー表示を、端末３のＬＣＤ３２２上に表示させた後に、プロセスをＳ００１に戻す。これに対して、「使用終了時刻」に時刻情報が設定されていなければ、ＤＢ登録プログラム２３は、プロセスをＳ０１０へ進める。
【００３７】
Ｓ０１０では、ＤＢ登録プログラム２３は、新規の識別番号を生成する。
【００３８】
次のＳ０１１では、ＤＢ登録プログラム２３は、その畜産製品（材料）を処理することによってこれから構成（製造）しようとする畜産製品（製品）を送るべき次の工程（材料工程）を特定するために、材料工程名特定処理を実行する。この材料工程名特定処理においては、ＤＢ登録プログラム２３は、図５に示したような各工程間のツリー構造を示すモデルに基づいて、その端末３が設置されている工程に対する材料工程の候補を全て抽出する。そして、抽出できた候補が一つだけであれば、その候補を材料工程として特定する。これに対して、抽出できた候補が複数であれば、その中から何れか一つを選択させるための画面データを端末３へ送り、この画面データに基づく画面上においてタッチパネル３２１を介してオペレータによって選択された一の候補を、材料工程として特定する。
【００３９】
次のＳ０１２では、ＤＢ登録プログラム２３は、工程管理データベース２５に新規のレコードを追加する。この新規レコードの「製造工程名」にはその端末３が設置されている工程名が設定され、「材料工程名」にはＳ０１１にて特定された材料工程の工程名が設定され、「製造開始時刻」には現在時刻が設定され、「識別番号」にはＳ０１０にて生成された識別番号が設定される。
【００４０】
次のＳ０１３では、ＤＢ登録プログラム２３は、Ｓ０１０にて生成した識別番号を表すバーコードを生成し、そのバーコードをプリンタ３４にラベル印刷させるための印刷データを、端末３へ送信する。なお、プリンタ３４によってバーコードが印刷されたラベルは、その工程のオペレータによって、Ｓ００６乃至Ｓ０１３のプロセスに対応して製造された畜産製品（製品）に添付される。Ｓ０１３を完了すると、ＤＢ登録プログラム２３は、プロセスをＳ００１へ戻す。
【００４１】
一方、Ｓ００６乃至Ｓ０１３のプロセスに対応して開始された畜産製品（製品）の構成（製造）が完了した時に「製造終了」ボタン４３が押下されることによって実行されるＳ０１４では、ＤＢ登録プログラム２３は、その畜産製品（製品）に添付されたバーコードをバーコードリーダ３３によって読み取らせる指示を、端末３のＬＣＤ３２２上に表示させる。そして、ＤＢ登録プログラム２３は、その後に端末３から送られてくるバーコードの復調情報（即ち、識別番号）を、受け付ける。
【００４２】
次のＳ０１５では、ＤＢ登録プログラム２３は、Ｓ０１４にて取得した識別番号に基づいて工程管理データベース２５を検索し、その識別番号を含むレコードを特定する。なお、Ｓ０１４にて特定されたレコードは、Ｓ０１２にて生成された直後のものであるので、「製造終了時刻」，「使用開始時刻」，「使用終了時刻」及び「工程終了情報」が空欄になっている。
【００４３】
次のＳ０１６では、ＤＢ登録プログラム２３は、Ｓ０１５にて特定したレコードの「製造終了時刻」に現在時刻を設定する。Ｓ０１６を完了すると、ＤＢ登録プログラム２３は、プロセスをＳ００１に戻す。
【００４４】
以上に説明したＳ００６乃至Ｓ０１３のプロセス（製品構成開始時のプロセス）及びＳ０１４乃至Ｓ０１６のプロセス（製品構成終了時のプロセス）は、その端末３が設置されている工程における材料から複数の製品（材料工程名が同じであるもの、及び、材料工程名が別々であるものを含む）が構成（製造）される場合には、個々の製品に対応して、複数回繰り返し実行される。
【００４５】
一方、その端末３に対応した工程に入荷済みの畜産製品（材料）の処理が完了してその畜産製品（材料）が消滅した場合（材料全体がそのままの形態で製品として構成された場合を含む）に「材料終了」ボタン４５が押下されることによって実行されるＳ０１７では、ＤＢ登録プログラム２３は、その畜産製品（材料）に添付されていたバーコードをバーコードリーダ３３によって読み取らせる指示を、端末３のＬＣＤ３２２上に表示させる。そして、ＤＢ登録プログラム２３は、その後に端末３から送られてくるバーコードの復調情報（即ち、識別番号）を、受け付ける。
【００４６】
次のＳ０１８では、ＤＢ登録プログラム２３は、Ｓ０１７にて取得した識別番号に基づいて工程管理データベース２５を検索し、その識別番号を含むレコードを特定する。なお、Ｓ０１４にて特定されたレコードは、Ｓ００５のプロセスが実行された状態のものであるので、「使用終了時刻」及び「工程終了情報」が空欄になっている。
【００４７】
次のＳ０１９では、ＤＢ登録プログラム２３は、Ｓ０１８にて特定したレコードの「使用終了時刻」に現在時刻を設定する。Ｓ０１９を完了すると、ＤＢ登録プログラム２３は、プロセスをＳ００１に戻す。
【００４８】
なお、上述したＳ００６乃至Ｓ０１３のプロセス（製品構成開始時のプロセス）及びＳ０１４乃至Ｓ０１６のプロセス（製品構成終了時のプロセス）は、その端末３が設置されている工程において製品が製造されない場合，即ち、その工程に入荷した畜産製品（材料）がその工程において流通過程から外れる場合には、実行されない。その場合には、一旦「材料終了」ボタン４４が押下された後に、「工程終了」ボタン４５が押下される。この「工程終了」ボタン４５が押下された時に実行されるＳ０２０では、その畜産製品（材料）に添付されていたバーコードをバーコードリーダ３３によって読み取らせる指示を、端末３のＬＣＤ３２２上に表示させる。そして、ＤＢ登録プログラム２３は、その後に端末３から送られてくるバーコードの復調情報（即ち、識別番号）を、受け付ける。
【００４９】
次のＳ０２１では、ＤＢ登録プログラム２３は、Ｓ０２０にて取得した識別番号に基づいて工程管理データベース２５を検索し、その識別番号を含むレコードを特定する。なお、Ｓ０２１にて特定されたレコードは、Ｓ０１９のプロセスが実行された状態のものであるので、「工程終了情報」が空欄になっている。
【００５０】
次のＳ０１９では、ＤＢ登録プログラム２３は、Ｓ０１８にて特定したレコードの「工程終了情報」に『終わり』を設定する。Ｓ０２２を完了すると、ＤＢ登録プログラム２３は、プロセスをＳ００１に戻す。
【００５１】
以上に説明したＳ００１乃至Ｓ０２２の処理を実行した後で、入力画面上の「終了」ボタン４６が押下されると、ＤＢ登録プログラム２３は、全プロセスを終了する。
＜ＤＢ検索プログラム＞
次に、ある工程において畜産製品（製品）に異常が発見された場合に、その畜産製品と同じ家畜から製造された全ての畜産製品を流通過程全体において追跡するために実行されるＤＢ検索プログラム２４を、図８のフローチャートを参照して説明する。なお、このＤＢ検索プログラム２４は、起動コマンドを送信して来た各端末３毎に起動されて、実行される。
【００５２】
起動後最初のＳ１０１では、ＤＢ検索プログラム２４は、出所探索処理を実行する。図９は、Ｓ１０１にて実行される出所探索処理サブルーチンを示すフローチャートである。このサブルーチンに入って最初のＳ１１１では、ＤＢ検索プログラム２４は、コマンド送信元端末３が設置されている工程の名称（即ち、ＲＯＭ３１２に格納されている工程名）を変数Ｘに設定するとともに、異常が生じた畜産品がその工程において使用された時間を変数Ｙに設定する。
【００５３】
次のＳ１１２では、ＤＢ検索プログラム２４は、「材料工程名」に『Ｘ』が設定されている全レコードを、工程管理データベース２５から検索する。
【００５４】
次のＳ１１３では、ＤＢ検索プログラム２４は、Ｓ１１２にて検索できた全レコードから、使用時間（「使用開始時刻」〜「使用終了時刻」）にＹを内包するレコードを、特定する。上述した理由に因り、ここで特定されるレコードは、一つのみである。
【００５５】
次に、ＤＢ検索プログラム２４は、工程を先頭（牧場での家畜の飼育）まで遡るために、Ｓ１１４乃至Ｓ１１６のプロセスループを実行する。このプロセスループに入って最初のＳ１１４では、ＤＢ検索プログラム２４は、Ｓ１１３（２回目以降のプロセスループにおいはＳ１１６）にて特定したレコード中の「製品工程名」と同じ工程名が「材料工程名」に設定されている全レコードを、工程管理データベース２５から検索する。
【００５６】
次のＳ１１５では、ＤＢ検索プログラム２４は、Ｓ１１４での検索の結果として該当するレコードがあったか否かを特定する。そして、該当するレコードがあった場合には、ＤＢ検索プログラム２４は、未だ先頭工程まで遡っていないと判断して、プロセスをＳ１１６へ進める。
【００５７】
Ｓ１１６では、ＤＢ検索プログラム２４は、Ｓ１１４にて検索された全レコードから、Ｓ１１３（２回目以降のプロセスループにおいては前回のＳ１１６）にて特定したレコード中の製造時間（「製造開始時刻」〜「製造終了時刻」）を内包する使用時間（「使用開始時刻」〜「使用終了時刻」）を有するレコードを、特定する。上述した理由に因り、ここで特定されるレコードも、一つのみである。Ｓ１１６の完了後、ＤＢ検索プログラム２４は、プロセスをＳ１１４に戻して、Ｓ１１６にて新たに特定したレコードに基づいた検索を実行する。
【００５８】
Ｓ１１４乃至Ｓ１１６のプロセスループを繰り返した結果、Ｓ１１４での検索の結果として該当するレコードがなくなった場合には、ＤＢ検索プログラム２４は、先頭工程まで遡ったと判断し、プロセスをＳ１１５からＳ１１７へ進める。
【００５９】
Ｓ１１７では、ＤＢ検索プログラム２４は、Ｓ１１６又はＳ１１３によって直前に特定していたレコードを、先頭レコードとして決定する。Ｓ１１７を完了すると、ＤＢ検索プログラム２４は、この出所探索処理サブルーチンを終了して、図８のメインルーチンに戻る。
【００６０】
図８のメインルーチンでは、ＤＢ検索プログラム２４は、Ｓ１０１の次にＳ１０２を実行する。Ｓ１０２では、ＤＢ検索プログラム２４は、製品追跡処理を実行する。図１０は、Ｓ１０２にて実行される製品追跡処理を示すフローチャートである。この製品追跡サブルーチンに入って最初のＳ１２１では、ＤＢ検索プログラム２４は、検索条件としての工程名及び製造時間（即ち、［感染］源としての畜産製品が構成された工程及び時間を特定する情報）を夫々変数Ｘ及び変数Ｙに設定する。このように構成したのは、この製品追跡処理は、図８のＳ１０２にて呼び出されるサブルーチンとして実行される他、単独で実行される場合（例えば、先頭工程が最初から判っている場合，若しくは、先頭工程以降の工程から追跡を開始する場合）もあるからである。この製品追跡処理が図８のＳ１０２にて呼び出されるサブルーチンとして実行される場合には、変数ＸにはＳ１０１（Ｓ１１７）にて決定した先頭レコード中の「製品工程名」が設定され、変数Ｙには同レコード中の製造時間（「製造開始時刻」〜「製造終了時刻」）が設定される。
【００６１】
次のＳ１２２では、ＤＢ検索プログラム２４は、「製品工程名」に『Ｘ』が設定されている全レコードを、工程管理データベース２５から検索する。
【００６２】
次のＳ１２３では、ＤＢ検索プログラム２４は、Ｓ１２２にて検索できた全レコードから、製造時間（「製造開始時刻」〜「製造終了時刻」）にＹを内包するレコードを、最初の処理対象レコードとして特定する。このレコードは、先頭工程（牧場における家畜の飼育）を製造工程とするものであるので、一つのみである。以上のＳ１２１〜Ｓ１２３が、第１処理に相当する。
【００６３】
次のＳ１２４では、ＤＢ検索プログラム２４は、ＤＢ検索プログラム２４自身に含まれるモジュールに従って追跡サブルーチンを起動し、Ｓ１２３にて特定した処理対象レコードに基づいた処理（第２処理）を命じる。図１１は、この追跡サブルーチンを示すフローチャートである。この追跡サブルーチンは、同じモジュールに基づいて同時に複数起動され得る。即ち、この追跡サブルーチンの中に、追跡サブルーチンを更にもう一つ起動して処理を命じるプロセス（Ｓ１３９）が、含まれているのである。
【００６４】
起動された個々の追跡サブルーチンにおいて、ＤＢ検索プログラム２４は、図１１に示すように、最初のＳ１３１において、この追跡サブルーチンを起動したプロセス（図１０の製品追跡処理におけるＳ１２４，又は、他の追跡サブルーチンにおけるＳ１３９）から渡された処理対象レコードが使用時間（「使用開始時刻」及び「使用終了時刻」）を有するか否かをチェックする。そして、処理対象レコードが使用時間（「使用開始時刻」及び「使用終了時刻」）を有していない場合には、ＤＢ検索プログラム２４は、Ｓ１３２において、処理対象レコード中の「識別番号」が示す畜産製品が、「製造工程名」が示す工程に存在する旨を、端末３のＬＣＤ３２２上に表示（出力）させる。Ｓ１３２の完了後、ＤＢ検索プログラム２４は、この追跡サブルーチンを終了して、この追跡サブルーチンを起動したプロセスに対して、処理が完了した旨を引数として戻す。
【００６５】
これに対して、処理対象レコードが使用時間（「使用開始時刻」及び「使用終了時刻」）を有しているとＳ１３１にて判定した場合には、ＤＢ検索プログラム２４は、プロセスをＳ１３３へ進める。Ｓ１３３では、ＤＢ検索プログラム２４は、処理対象レコード中の「工程終了情報」に『終わり』が設定されているか否かを、チェックする。そして、処理対象レコード中の「工程終了情報」に『終わり』が設定されていれば、ＤＢ検索プログラム２４は、Ｓ１３４において、処理対象レコード中の「識別番号」が示す畜産製品が、「材料工程名」が示す工程において流通を終えた旨を、端末３のＬＣＤ３２２上に表示（出力）させる。Ｓ１３４の完了後、ＤＢ検索プログラム２４は、この追跡サブルーチンを終了して、この追跡サブルーチンを起動したプロセスに対して、処理が完了した旨を引数として戻す。
【００６６】
これに対して、処理対象レコード中の「工程終了情報」に『終わり』が設定されていなければ、ＤＢ検索プログラム２４は、プロセスをＳ１３５へ進める。Ｓ１３５では、ＤＢ検索プログラム２４は、処理対象レコード中の「材料工程名」と同じ工程名が「製造工程名」に設定されている全レコードを、工程管理データベース２５から検索する。
【００６７】
次のＳ１３６では、ＤＢ検索プログラム２４は、Ｓ１３５にて検索された全レコードから、処理対象レコード中の使用時間（「使用開始時刻」〜「使用終了時刻」）に内包される製造時間（「製造開始時刻」〜「製造終了時刻」）を有するレコードを、全て抽出する。図５から理解されるように、ここでは、複数のレコードが抽出される可能性がある。即ち、処理対象レコード中の「使用工程名」が示す工程において、「識別番号」が示す畜産製品が解体されて、複数の製品が製造される場合があり得る。そこで、ＤＢ検索プログラム２４は、各製品毎に追跡を行うために、Ｓ１３７乃至Ｓ１３９のプロセスループを実行する。
【００６８】
このプロセスループに入って最初のＳ１３７では、ＤＢ検索プログラム２４は、Ｓ１３６にて抽出したレコードに、Ｓ１３９を未実行であるものが残っているか否かを、チェックする。そして、未実行のレコードが含まれている場合には、ＤＢ検索プログラム２４は、Ｓ１３８において、Ｓ１３７にて抽出したレコードの中から、Ｓ１３９を未実行であるものを、一つ、新たな処理対象レコードとして特定する。次のＳ１３９では、ＤＢ検索プログラム２４は、もう一つの追跡サブルーチンを別に起動し、Ｓ１３８にて特定した処理対象レコードに基づいた処理を命じる。Ｓ１３９にて起動した追跡サブルーチンから処理終了の旨が引数として戻されると、ＤＢ検索プログラム２４は、プロセスをＳ１３７へ戻す。
【００６９】
Ｓ１３７乃至Ｓ１３９のループプロセスを繰り返すことによって、Ｓ１３６にて抽出した全てのレコードに基づいたＳ１３９の実行を完了すると、ＤＢ検索プログラム２４は、Ｓ１３７からこの追跡サブルーチンを終了して、この追跡サブルーチンを起動したプロセスに対して、処理が完了した旨を引数として戻す。
【００７０】
以上の追跡サブルーチンがＳ１２４において階層的に実行（即ち、新たな処理対象レコードが特定できなくなるまで繰り返し実行）されることによって、ツリー状の流通経路に沿って流通する同一家畜個体に由来する全ての畜産製品が追跡されて、夫々の所在が突き止められる。
【００７１】
ＤＢ検索プログラム２４は、最終的に、Ｓ１２４にて起動した追跡サブルーチンから処理終了の旨が引数として戻されると、図１０の製品追跡処理を終了する。そして、この製品追跡処理が図８のＳ１０２でのサブルーチンとして起動された場合には、ＤＢ検索プログラム２４は、その後、図８のメインルーチンを終了させる。
（動作例）
いま、一匹の家畜に由来する畜産製品が図５に示す流通経路に沿って順次処理及び移動され、各工程に設置された端末３のオペレータが必要な入力を夫々行うことによってＤＢ登録プログラム２３が夫々実行され、その結果、工程管理データベース２５内には、図４に示す通りにレコードが蓄積されたとする。
【００７２】
そして、工程ＥにおいてＴ７１からＴ７２の間に処理（一時保管倉庫に収容）された畜産製品に、異常（例えば、ＢＳＥ陽性反応）が検出されたとする。この場合、この畜産製品と同じ家畜個体に由来する全ての畜産品を追跡して回収する必要がある。そこで、端末３からＤＢ検索プログラム２４を起動して、工程名＝Ｅ，使用時間＝Ｔ７１〜Ｔ７２を入力する（Ｓ１１１）。すると、ＤＢ検索プログラム２４は、「材料工程名」＝Ｅを有するレコードを工程管理データベース２５から検索する（Ｓ１１２）。この場合、記録番号＝４のレコードを含むレコード群が検索され、その中から、Ｔ７１〜Ｔ７２を含む使用時間（「使用開始時刻」〜「使用終了時刻」）を有するレコードが特定される（Ｓ１１３）。その結果、記録番号＝４のレコードが特定される。
【００７３】
次に、ＤＢ検索プログラム２４は、記録番号＝４のレコード中の「製品工程名」と同じ工程名＝Ｂが「材料工程名」に設定されているレコードを、工程管理データベース２５から検索する（Ｓ１１４）。この場合、記録番号＝１のレコードを含むレコード群が検索され（Ｓ１１５＝ＹＥＳ）、その中から、記録番号＝４のレコード中の製造時間＝Ｔ６１〜Ｔ６２を含む使用時間（「使用開始時刻」〜「使用終了時刻」）を有するレコードが特定される（Ｓ１１６，Ｓ１１７）。この場合、記録番号＝１のレコードが特定される。これにより、異常が検出された畜産製品の元となった家畜は、「識別番号」＝ＳＳ１が付与された個体であることが判る。
【００７４】
続いて、ＤＢ検索プログラム２４は、「識別番号」＝ＳＳ１が付与された個体が製造（飼育）された期間＝Ｔ１１〜Ｔ１２及び工程名＝Ａをキーとして、製品追跡処理を実行する。そして、最初に、「製品工程名」＝Ａを有するレコードを工程管理データベース２５から検索する（Ｓ１２２）。この場合、記録番号＝１のレコードを含むレコード群が検索され、その中から、Ｔ１１〜Ｔ１２を含む製造時間（「製造開始時刻」〜「製造終了時刻」）を有するレコードが特定される（Ｓ１２３）。その結果、記録番号＝１のレコードが処理対象レコードとして特定される。
【００７５】
次に、ＤＢ検索プログラム２４は、追跡サブルーチン（第１追跡サブルーチン）を起動して（Ｓ１２４）、記録番号＝１のレコード中の「材料工程名」と同じ工程名＝Ｂが「製品工程名」に設定されているレコードを、工程管理データベース２５から検索する（Ｓ１３５）。この場合、記録番号＝２，３，４のレコードを含むレコード群が検索され、その中から、記録番号＝１のレコード中の使用時間＝Ｔ２１〜Ｔ２２に含まれる製造時間（「製造開始時刻」〜「製造終了時刻」）を有するレコードが抽出される（Ｓ１３６）。その結果、記録番号＝２，３，４のレコードが、夫々抽出される。そして、抽出された各レコード毎に、夫々、追跡サブルーチン（第２追跡サブルーチン，第３追跡サブルーチン，第４追跡サブルーチン）が起動されて、分岐後の流通経路における追跡が夫々なされる。
【００７６】
第２追跡サブルーチンにおいては、記録番号＝４のレコードが処理対象レコードとされるが、そのレコード中の「工程終了情報」には『終わり』が設定されているために（Ｓ１３３＝ＹＥＳ）、そのレコード中の「識別番号」＝ＳＳ４が付与された畜産製品（皮革等）が、現在、工程Ｅ（解体業者による一時保管倉庫への収容）において流通を終えたことが判る（Ｓ１３４）。
【００７７】
第３追跡サブルーチンにおいては、記録番号＝２のレコードが処理対象レコードとされ、ＤＢ検索プログラム２４は、そのレコード中の「材料工程名」と同じ工程名＝Ｃが「製品工程名」に設定されているレコードを、工程管理データベース２５から検索する（Ｓ１３５）。この場合、記録番号＝５のレコードを含むレコード群が検索され、その中から、記録番号＝２のレコード中の使用時間＝Ｔ４１〜Ｔ４２に含まれる製造時間（「製造開始時刻」〜「製造終了時刻」）を有するレコードが抽出される（Ｓ１３６）。その結果、記録番号＝５のレコードが、抽出される。すると、抽出された記録番号＝５のレコードを新たな処理対象レコードとする追跡サブルーチン（第５追跡サブルーチン）が更に起動されて、追跡が続行される。このようにして次々と特定される各処理対象レコード毎（工程毎）に追跡サブルーチン（第２処理）が起動され（言い換えると、新たな処理対象レコードが特定できなくなるまで繰り返し実行され）、その流通経路上における、識別番号＝ＳＳ１が付された家畜個体に由来する畜産製品の所在（Ｆ以降の工程）が、突き止められる。
【００７８】
第４追跡サブルーチンにおいては、記録番号＝３のレコードが処理対象レコードとされ、ＤＢ検索プログラム２４は、そのレコード中の「材料工程名」と同じ工程名＝Ｄが「製品工程名」に設定されているレコードを、工程管理データベース２５から検索する（Ｓ１３５）。この場合、記録番号＝６のレコードを含むレコード群が検索され、その中から、記録番号＝３のレコード中の使用時間＝Ｔ５１〜Ｔ５２に含まれる製造時間（「製造開始時刻」〜「製造終了時刻」）を有するレコードが抽出される（Ｓ１３６）。その結果、記録番号＝６のレコードが、抽出される。すると、抽出された記録番号＝６のレコードを新たな処理対象レコードとする追跡サブルーチン（第６追跡サブルーチン）が更に起動されて、追跡が続行される。
【００７９】
第６追跡サブルーチンにおいては、記録番号＝６のレコード中の使用時間（「使用開始時刻」及び「使用終了時刻」）が空欄であるために（Ｓ１３１＝ＮＯ）、そのレコード中の「識別番号」＝ＳＳ６が付与された畜産製品（不要部位）が、現在、工程Ｄ（解体業者による不要部位への収容）に存在していることが判る（Ｓ１３４）。
【００８０】
このようにして、識別番号＝ＳＳ１が付与された家畜個体に由来する畜産製品が、識別番号＝ＳＳ４を付与された畜産製品（皮革等）として工程Ｅに存在し、識別番号＝ＳＳ６を付与された畜産製品（不要部位）として工程Ｄに存在するとともに、工程Ｆ以降に存在することが突き止められる。従って、本実施形態によれば、異常を生じていた家畜個体に由来するために汚染されている可能性が高いとともにツリー状の流通経路に沿って分散しながら流通して行った全ての畜産製品の所在を、追跡することができるのである。
【００８１】
【発明の効果】
以上のように構成された本発明の畜産製品追跡システムによれば、畜産製品流通経路中の任意の工程における畜産製品を源にしてその後の工程に移転していった全ての畜産製品を、能動的に追跡することができる。さらに、各レコードにその畜産製品に関する付帯情報、例えば飼育に使用した餌名や方法等を記述した記録紙等の名称（勿論レコード上に直接記録しても良い）、あるいは運搬方を付加すれば、畜産製品のより詳細な情報を得ることも可能になる。
【図面の簡単な説明】
【図１】本発明の食品追跡システムの実施の形態であるネットワークシステムの構成を示すブロック図
【図２】各端末の構成を示すブロック図
【図３】処理用コンピュータセンターの構成を示すブロック図
【図４】工程管理データベースのデータ構造を示す表
【図５】流通経路を構成する各工程間のツリー構造を示すブロック図
【図６】ＤＢ登録プログラムによる処理を示すフローチャート
【図７】ＤＢ登録プログラムによる処理を示すフローチャート
【図８】ＤＢ検索プログラムによる処理を示すフローチャート
【図９】図８のＳ１０１にて実行される出所探索処理サブルーチンを示すフローチャート
【図１０】図８のＳ１０２にて実行される製品追跡処理サブルーチンを示すフローチャート
【図１１】図１０のＳ１２４又は図１１のＳ１３９にて実行される追跡サブルーチンを示すフローチャート
【図１２】入力画面を示す図
【符号の説明】
１　　処理用コンピュータセンター
３　　端末
１１　　ＣＰＵ
１２　　ＲＡＭ
１３　　ＨＤＤ
２２　　ターミナルサーバ
２３　　ＤＢ登録プログラム
２４　　ＤＢ検索プログラム
２５　　工程管理データベース
３１　　コンピュータ本体
３２　　表示入力装置
３３　　バーコードリーダ
３４　　プリンタ
３５　　ターミナルサービスクライアント
３２１　　タッチパネル
３２２　　ＬＣＤ
Ｍ　　時計
Ｎ　　インターネット
【図１】
2004030303.tif 000003
【図２】
2004030303.tif 000004
【図３】
2004030303.tif 000005
【図４】
2004030303.tif 000006
【図５】
2004030303.tif 000007
【図６】
2004030303.tif 000008
【図７】
2004030303.tif 000009
【図８】
2004030303.tif 000010
【図９】
2004030303.tif 000011
【図１０】
2004030303.tif 000012
【図１１】
2004030303.tif 000013
【図１２】
2004030303.tif 000014