(57)【特許請求の範囲】
【請求項１】
農作物が生産者から消費者まで流通するための各プロセスの固有データを記録する記録手段と、
農作物を個々に識別するためのＤＮＡデータを取得する取得手段と、
前記ＤＮＡデータと第１のプロセスの固有データを結合して、第１のハッシュ値を算出し、前記第１のハッシュ値と、第２のプロセスの固有データを結合して、第２のハッシュ値を算出し、さらに、前記プロセスが３プロセス以上である場合、第ｎのハッシュ値と第ｎ＋１のプロセスの固有データを結合して、第ｎ＋１のハッシュ値を算出する工程を、前記農作物が流通するまでの全てのプロセスで繰り返し、最後のプロセスのハッシュ値を算出する算出手段と、
農作物の全てのプロセスに対するハッシュ値の算出が完了したか否かを判断する判断手段と、
前記判断手段でハッシュ値の算出が完了したと判断した場合に、最後のプロセスにおけるハッシュ値に基づいて、二次元コードを生成する生成手段と、
生成した二次元コードを出力する出力手段と、
を備えるコンピュータシステム。
【請求項２】
コンピュータシステムが実行する農産物管理方法であって、
農作物が生産者から消費者まで流通するための各プロセスの固有データを記録する記録ステップと、
農作物を個々に識別するためのＤＮＡデータを取得する取得ステップと、
前記ＤＮＡデータと第１のプロセスの固有データを結合して、第１のハッシュ値を算出し、前記第１のハッシュ値と、第２のプロセスの固有データを結合して、第２のハッシュ値を算出し、さらに、前記プロセスが３プロセス以上である場合、第ｎのハッシュ値と第ｎ＋１のプロセスの固有データを結合して、第ｎ＋１のハッシュ値を算出する工程を、前記農作物が流通するまでの全てのプロセスで繰り返し、最後のプロセスのハッシュ値を算出するステップと、
農作物の全てのプロセスに対するハッシュ値の算出が完了したか否かを判断するステップと、
前記判断ステップでハッシュ値の算出が完了したと判断した場合に、最後のプロセスにおけるハッシュ値に基づいて、二次元コードを生成するステップと、
生成した二次元コードを出力するステップと、
を含むことを特徴とする農産物管理方法。
【請求項３】
コンピュータシステムに、
農作物が生産者から消費者まで流通するための各プロセスの固有データを記録する記録ステップ、
農作物を個々に識別するためのＤＮＡデータを取得する取得ステップ、
前記ＤＮＡデータと第１のプロセスの固有データを結合して、第１のハッシュ値を算出し、前記第１のハッシュ値と、第２のプロセスの固有データを結合して、第２のハッシュ値を算出し、さらに、前記プロセスが３プロセス以上である場合、第ｎのハッシュ値と第ｎ＋１のプロセスの固有データを結合して、第ｎ＋１のハッシュ値を算出する工程を、前記農作物が流通するまでの全てのプロセスで繰り返し、最後のプロセスのハッシュ値を算出するステップ、
農作物の全てのプロセスに対するハッシュ値の算出が完了したか否かを判断するステップ、
前記判断ステップでハッシュ値の算出が完了したと判断した場合に、最後のプロセスにおけるハッシュ値に基づいて、二次元コードを生成するステップ、
生成した二次元コードを出力するステップ、
を実行させるためのコンピュータ読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、農産物の履歴を管理するコンピュータシステム、農産物管理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、農産物の流通経路を追跡可能にするトレーサビリティという技術が知られている。このような技術において、農産物に二次元コード等の識別情報を付与し、購入者がこの識別情報を読み取ることにより、流通経路に関する情報を提供することが行われている。【０００３】
このようなトレーサビリティに関する技術として、購入者が手に取る以前のプロセスの履歴を識別する情報と、このプロセスの前後のプロセスの情報を識別する情報とを関連付けることにより、複数のデータベースで流通経路を特定するための情報を分散管理することが開示されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２２２２５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の構成では、プロセスの一部において履歴が不明であった場合又は履歴の内容が改ざんされてしまった場合、流通経路の特定に関しての信頼性が低下してしまうおそれがあった。【０００６】
本発明は、製造及び流通経路の特定に対する信頼性を向上させることが容易なコンピュータシステム、農産物管理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明では、以下のような解決手段を提供する。【０００８】
本発明は、農作物が生産者から消費者まで流通するための各プロセスの固有データを記録する記録手段と、
農作物を個々に識別するためのＤＮＡデータを取得する取得手段と、
前記ＤＮＡデータと第１のプロセスの固有データを結合して、第１のハッシュ値を算出し、前記第１のハッシュ値と、第２のプロセスの固有データを結合して、第２のハッシュ値を算出し、さらに、前記プロセスが３プロセス以上である場合、第ｎのハッシュ値と第ｎ＋１のプロセスの固有データを結合して、第ｎ＋１のハッシュ値を算出する工程を、前記農作物が流通するまでの全てのプロセスで繰り返し、最後のプロセスのハッシュ値を算出する算出手段と、
農作物の全てのプロセスに対するハッシュ値の算出が完了したか否かを判断する判断手段と、
前記判断手段でハッシュ値の算出が完了したと判断した場合に、最後のプロセスにおけるハッシュ値に基づいて、二次元コードを生成する生成手段と、
生成した二次元コードを出力する出力手段と、を備えるコンピュータシステムを提供する。
【０００９】
本発明によれば、農作物が生産者から消費者まで流通するための各プロセスの固有データを記録し、農作物を個々に識別するためのＤＮＡデータを取得し、前記ＤＮＡデータと第１のプロセスの固有データを結合して、第１のハッシュ値を算出し、前記第１のハッシュ値と、第２のプロセスの固有データを結合して、第２のハッシュ値を算出し、さらに、前記プロセスが３プロセス以上である場合、第ｎのハッシュ値と第ｎ＋１のプロセスの固有データを結合して、第ｎ＋１のハッシュ値を算出する工程を、前記農作物が流通するまでの全てのプロセスで繰り返し、最後のプロセスのハッシュ値を算出し、農作物の全てのプロセスに対するハッシュ値の算出が完了したか否かを判断し、ハッシュ値の算出が完了したと判断した場合に、最後のプロセスにおけるハッシュ値に基づいて、二次元コードを生成し、生成した二次元コードを出力するコンピュータシステムを提供する。
【００１０】
本発明は、コンピュータシステムのカテゴリであるが、方法及びプログラム等の他のカテゴリにおいても、そのカテゴリに応じた同様の作用・効果を発揮する。
【発明の効果】
【００１１】
本発明によれば、製造及び流通経路の特定に対する信頼性を向上させることが容易なコンピュータシステム、農産物管理方法及びプログラムを提供することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】図１は、農産物管理システム１の概要を示す図である。
【図２】図２は、農産物管理システム１の全体構成図である。
【図３】図３は、コンピュータ１０が実行する農産物管理処理を示すフローチャートである。
【図４】図４は、農作物の各プロセスを模式的に示した図である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための最良の形態について図を参照しながら説明する。なお、これはあくまでも一例であって、本発明の技術的範囲はこれらに限られるものではない。
【００１４】
［農産物管理システム１の概要］
本発明の好適な実施形態の概要について、図１に基づいて説明する。図１は、本発明の好適な実施形態である農産物管理システム１の概要を説明するための図である。農産物管理システム１は、コンピュータ１０から構成され、農産物管理を実行するためのコンピュータシステムである。
【００１５】
なお、農産物管理システム１は、コンピュータ１０に加え、農産物の生産者や管理者や購入者が所持する端末や、外部コンピュータ等の他の装置や端末が含まれていてもよい。
【００１６】
コンピュータ１０は、図示していない他の装置や端末と公衆回線網等を介してデータ通信可能に接続されており、必要なデータの送受信を実行する。
【００１７】
コンピュータ１０は、農産物として、農作物における各プロセスの固有データを記録する。コンピュータ１０は、生産者が農作物を生産してから、消費者が購入するまでの各プロセスの固有データを記録する。農作物におけるプロセスとは、畑プロセス、作物プロセス、仕分けプロセス、配送プロセス、店舗プロセスが挙げられる。畑プロセスにおける固有データは、生産者、生産地、土壌、天候、肥料の種類及び量、散布薬剤の種類及び量等に関する情報である。作物プロセスにおける固有データは、農作物の種別、成長記録、収穫日時、収穫状況、収穫者等に関する情報である。仕分けプロセスにおける固有データは、農作物のサイズ、品質、出荷日、出荷地、出荷先等に関する情報である。配送プロセスにおける固有データは、管理温度（常温、冷蔵又は冷凍）、配送手段（空送、陸送、海送等）、配送経路等に関する情報である。店舗プロセスにおける固有データは、入荷日、保存方法、加工方法（調理方法等）等に関する情報である。
【００１８】
コンピュータ１０は、農作物を個々に識別するためのＤＮＡ（ｄｅｏｘｙｒｉｂｏｎｕｃｌｅｉｃ  ａｃｉｄ）データを取得する。コンピュータ１０は、個別の農作物のＤＮＳにおける塩基配列の一部を取得し、この取得した塩基配列の一部を、ＤＮＡデータとして取得する。
【００１９】
コンピュータ１０は、取得したＤＮＡデータと、第１のプロセスの固有データとを結合し、第１のハッシュ値を算出する。コンピュータ１０は、取得したＤＮＡデータと、このＤＮＡデータを有する農作物を育成した畑プロセスの固有データとを結合し、第１のハッシュ値を算出する。
【００２０】
コンピュータ１０は、次に、算出した第１のハッシュ値と、第２のプロセスの固有データとを結合し、第２のハッシュ値を算出する。コンピュータ１０は、算出した第１のハッシュ値と、この農作物を育成した作物プロセスの固有データとを結合し、第２のハッシュ値を算出する。
【００２１】
コンピュータ１０は、プロセスが３以上のものに対して、現在のプロセスの前のプロセスに基づいて算出したハッシュ値と、現在のプロセスの固有データとを結合し、ハッシュ値を算出する。コンピュータ１０は、算出した第２のハッシュ値と、第３のプロセス（仕分けプロセス）の固有データとを結合し、第３のハッシュ値を算出する。次いで、コンピュータ１０は、算出した第３のハッシュ値と、第４のプロセス（配送プロセス）の固有データとを結合し、第４のハッシュ値を算出する。最後に、コンピュータ１０は、算出した第４のハッシュ値と、第５のプロセス（店舗プロセス）の固有データとを結合し、第５のハッシュ値を算出する。コンピュータ１０は、３以上存在する全てのプロセスに対して、其々のハッシュ値を順次算出していき、最後のプロセスのハッシュ値を算出する。すなわち、コンピュータ１０は、プロセスが３以上のものに対して、第ｎのハッシュ値に、第ｎ＋１のプロセスの固有データを結合し、第ｎ＋１のハッシュ値を算出する。このとき、ｎの値は２以上である。これはｎの値が１である場合、上述した通り、農作物のＤＮＡデータと第１のプロセスの固有データとを結合した第１のハッシュ値を算出するためである。
【００２２】
農産物管理システム１が実行する処理の概要について説明する。
【００２３】
はじめに、コンピュータ１０は、農作物が生産者から消費者まで流通するための各プロセスの固有データを記録する（ステップＳ０１）。コンピュータ１０は、各プロセスの固有データとして、畑プロセス、作物プロセス、仕分けプロセス、配送プロセス、店舗プロセスの其々における固有データを記録する。
【００２４】
コンピュータ１０は、生産者が所持する生産者端末により入力された固有データ、農地に設置された各種センサ類が計測した固有データ、外部コンピュータが記憶する固有データ、配送者が所持する配送者端末により入力された固有データ、店舗管理者が所持する店舗端末により入力された固有データを各プロセスに応じて取得し、取得した固有データを記録する。コンピュータ１０は、この固有データを、各プロセスの開始時、途中又は終了時の何れか又は複数の組み合わせのタイミングで取得する。コンピュータ１０は、各プロセスと固有データとを対応付けて記憶する。
【００２５】
コンピュータ１０は、農作物のＤＮＡデータを取得する（ステップＳ０２）。コンピュータ１０は、個別の農作物の染色体からＤＮＡの塩基配列を取得する。コンピュータ１０は、個々の農作物に特有の配列をした塩基配列の一部を取得する。コンピュータ１０は、この特有の配列をした塩基配列の一部を、この農作物のＤＮＡデータとして取得する。コンピュータ１０は、栽培開始前、栽培途中、収穫時又は出荷時の何れかの任意のタイミングにおいて、ＤＮＡデータを取得する。
【００２６】
コンピュータ１０は、取得したＤＮＡデータと、第１のプロセスの固有データを結合したハッシュ値を、第１のハッシュ値として算出する（ステップＳ０３）。コンピュータ１０は、このＤＮＡデータに、第１のプロセスとして、畑プロセスの固有データを結合したハッシュ値を、第１のハッシュ値として算出する。コンピュータ１０は、この第１のハッシュ値を、第１のプロセスの完了時や、それ以降のプロセスの開始時又は完了時や、最終的なプロセスの完了以前の何れかのタイミングで算出する。
【００２７】
コンピュータ１０は、算出した第１のハッシュ値と、第２のプロセスの固有データを結合したハッシュ値を、第２のハッシュ値として算出する（ステップＳ０４）。コンピュータ１０は、第１のハッシュ値に、第２のプロセスとして、作物プロセスの固有データを結合したハッシュ値を、第２のハッシュ値として算出する。コンピュータ１０は、この第２のハッシュ値を、第１のハッシュ値を算出して以降かつ最終的なプロセスの完了以前の任意のタイミングで算出する。
【００２８】
コンピュータ１０は、プロセスが３以上のものに対して、第２のハッシュ値を算出する処理と同様の処理を繰り返し、各プロセスにおけるハッシュ値を算出する（ステップＳ０５）。コンピュータ１０は、第ｎのハッシュ値に、第ｎ＋１のプロセスの固有データを結合し、第ｎ＋１のハッシュ値を算出する。コンピュータ１０は、この処理を、農作物が流通するまでの必要なプロセスで繰り返し、最後のプロセスにおけるハッシュ値までの各ハッシュ値を算出する。コンピュータ１０は、第２のハッシュ値に、第３のプロセス（仕分けプロセス）の固有データを結合し、第３のハッシュ値を算出する。コンピュータ１０は、第３のハッシュ値に、第４のプロセス（配送プロセス）の固有データを結合し、第４のハッシュ値を算出する。コンピュータ１０は、第４のハッシュ値に、第５のプロセス（店舗プロセス）の固有データを結合し、第５のハッシュ値を算出する。
【００２９】
このようにして算出した最後のハッシュ値に基づいて、作物の固有性とトレーサビリティとが保証されることになる。例えば、消費者がこの農作物を手に取った場合、最後のプロセスにおけるハッシュ値（第５のハッシュ値）が付与された二次元コード等を読み取ることにより、消費者は、この農作物の製造及び流通工程を把握することが容易となる。加えて、消費者は、この農作物をＤＮＡ鑑定し、鑑定結果であるＤＮＡデータと、この最後のプロセスにおけるハッシュ値に含まれるＤＮＡデータとを比較することにより、ＤＮＡデータが一致する場合、この農作物が、このＤＮＡデータの農作物であり、このハッシュ値を持つ製造及び流通工程を経て販売されたことを確認することが容易となる。
【００３０】
以上が、農産物管理システム１の概要である。
【００３１】
［農産物管理システム１のシステム構成］
図２に基づいて、本発明の好適な実施形態である農産物管理システム１のシステム構成について説明する。図２は、本発明の好適な実施形態である農産物管理システム１のシステム構成を示す図である。図２において、農産物管理システム１は、コンピュータ１０から構成され、農産物管理を実行するコンピュータシステムである。コンピュータ１０は、図示していない生産者端末、各種センサ、外部コンピュータ、配送者端末、店舗端末と、公衆回線網等を介して、データ通信可能に接続されている。
【００３２】
コンピュータ１０は、制御部として、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等を備え、通信部として、その他の端末や機器と通信可能にするためのデバイス、例えば、ＩＥＥＥ８０２．１１に準拠したＷｉ―Ｆｉ（Ｗｉｒｅｌｅｓｓ―Ｆｉｄｅｌｉｔｙ）対応デバイス等を備える。また、コンピュータ１０は、記録部として、ハードディスクや半導体メモリ、記録媒体、メモリカード等によるデータのストレージ部を備える。また、コンピュータ１０は、処理部として、各種処理を実行する各種デバイス等を備える。
【００３３】
コンピュータ１０において、制御部が所定のプログラムを読み込むことにより、通信部と協働して、固有データ取得モジュール２０、ＤＮＡデータ取得モジュール２１、二次元コード出力モジュール２２を実現する。また、コンピュータ１０において、制御部が所定のプログラムを読み込むことにより、記録部と協働して、記録モジュール３０を実現する。また、コンピュータ１０において、制御部が所定のプログラムを読み込むことにより、処理部と協働して、ハッシュ値算出モジュール４０、プロセス判断モジュール４１、二次元コード生成モジュール４２を実現する。
【００３４】
［農産物管理処理］
図３に基づいて、農産物管理システム１が実行する農産物管理処理について説明する。図３は、コンピュータ１０が実行する農産物管理処理のフローチャートを示す図である。上述した各モジュールが実行する処理について、本処理に併せて説明する。
【００３５】
固有データ取得モジュール２０は、農作物が生産者から消費者まで流通するためのプロセスにおける固有データを取得する（ステップＳ１０）。ステップＳ１０において、固有データ取得モジュール２０は、第１のプロセス（畑プロセス）、第２のプロセス（作物プロセス）、第３のプロセス（仕分けプロセス）、第４のプロセス（配送プロセス）、第５のプロセス（店舗プロセス）の５つのプロセスの其々において、固有データを取得する。
【００３６】
各プロセスにおける固有データについて説明する。畑プロセスにおける固有データは、生産者、生産地、土壌の成分、天候（降水量、日照量、気温、湿度等）、肥料の種類及び量、散布薬剤の種類及び量等に関する情報である。作物プロセスにおける固有データは、農作物の種別、成長記録、収穫日時、収穫状況、収穫者等に関する情報である。仕分けプロセスにおける固有データは、農作物のサイズ、品質、出荷日、出荷地、出荷先等に関する情報である。配送プロセスにおける固有データは、配送時の管理温度（常温、冷蔵又は冷凍）、配送手段（空送、陸送、海送等）、配送経路等に関する情報である。店舗プロセスにおける固有データは、入荷日、保存方法、加工方法（調理方法等）等に関する情報である。
【００３７】
固有データ取得モジュール２０は、固有データを、生産者端末、各種センサ、外部コンピュータ、配送者端末、店舗端末等から取得する。固有データ取得モジュール２０は、例えば、生産者端末により入力又は記録された情報、各種センサが検知した情報、外部コンピュータが記録する情報、配送者端末により入力又は記録された情報、店舗端末により入力又は記録された情報を固有データとして取得する。
【００３８】
固有データ取得モジュール２０は、この固有データを、各プロセスの開始時から終了時の任意のタイミング又は最後のプロセスの終了時までの任意のタイミングで取得する。固有データ取得モジュール２０が固有データを取得するタイミングは適宜変更可能である。
【００３９】
記録モジュール３０は、この取得した各プロセスにおける固有データを記録する（ステップＳ１１）。ステップＳ１１において、記録モジュール３０は、個々の農作物の識別子（数字や記号等の農作物を一意に特定可能な情報）と、各プロセスの識別子（プロセスの名称や各プロセスに対して付与した数字や記号等の情報）と、取得した固有データとを対応付けて記録する。例えば、記録モジュール３０は、農作物の識別子として農作物１００と、プロセスの識別子として畑プロセスと、固有データとして、生産者、生産地、土壌の成分、天候、肥料の種類及び量、散布薬剤の種類及び量とを対応付けて記録する。また、同様に、記録モジュール３０は、農作物１００と、作物プロセスと、農作物の種別、成長記録、収穫日時、収穫状況、収穫者とを対応付けて記録する。また、同様に、記録モジュール３０は、農作物１００と、仕分けプロセスと、この仕分けプロセスの固有データとを対応付けて記録し、農作物１００と、配送プロセスと、この配送プロセスの固有データとを対応付けて記録し、農作物１００と、店舗プロセスと、この店舗プロセスの固有データとを対応付けて記録する。記録モジュール３０は、栽培する全ての農作物に対して、この処理を実行する。
【００４０】
ＤＮＡデータ取得モジュール２１は、農作物のＤＮＡデータを取得する（ステップＳ１２）。ステップＳ１２において、ＤＮＡデータ取得モジュール２１は、個々の農作物のＤＮＡデータを取得する。このＤＮＡデータは、個々の農作物の染色体からＤＮＡの塩基配列を抽出し、この抽出した塩基配列のうち、個々の農作物に特有の配列をした塩基配列の一部を抽出したものである。ＤＮＡの塩基配列の解析方法は、一般的なものでよいため、詳細は省略する。ＤＮＡデータ取得モジュール２１は、この解析結果を取得することにより、農作物のＤＮＡデータを取得する。ＤＮＡデータ取得モジュール２１は、栽培する全ての農作物のＤＮＡデータを取得する。
【００４１】
ＤＮＡデータ取得モジュール２１は、この農作物の栽培開始よりも以前、栽培中、収穫時又は出荷時の任意のタイミングで、この農作物のＤＮＡデータを取得する。
【００４２】
記録モジュール３０は、取得したＤＮＡデータを記録する（ステップＳ１３）。ステップＳ１３において、記録モジュール３０は、取得したＤＮＡデータと、このＤＮＡデータを抽出した農作物の識別子とを対応付けて記録する。記録モジュール３０は、農作物１００と、この農作物１００のＤＮＡデータとを対応付けて記録する。記録モジュール３０は、栽培する全ての農作物に対して同様に、個々の農作物とＤＮＡデータとを対応付けて記録する。
【００４３】
ハッシュ値算出モジュール４０は、取得したＤＮＡデータと、第１のプロセスの固有データとを結合したハッシュ値を、第１のハッシュ値として算出する（ステップＳ１４）。ステップＳ１４において、ハッシュ値算出モジュール４０は、所定のハッシュ関数（ＳＨＡ−１、ＳＨＡ−２等）を用いて、ハッシュ値を算出する。ハッシュ値算出モジュール４０は、この農作物の識別子と、取得したこの農作物のＤＮＡデータと、この農作物の畑プロセスの固有データとを結合したハッシュ値を、第１のハッシュ値として算出する。ハッシュ値算出モジュール４０は、少なくとも、畑プロセスが完了した時点以降かつ最終的なプロセスが完了するよりも以前の任意のタイミングでこの第１のハッシュ値を算出する。すなわち、ハッシュ値算出モジュール４０は、畑プロセスが完了した時点以降かつ店舗プロセスが完了するよりも以前の任意のタイミングでこの第１のハッシュ値を算出する。
【００４４】
記録モジュール３０は、この算出した第１のハッシュ値を記録する（ステップＳ１５）。ステップＳ１５において、記録モジュール３０が記録するこの第１のハッシュ値には、上述した通り、農作物の識別子、農作物のＤＮＡデータ及び第１のプロセスにおける固有データが含まれている。すなわち、第１のハッシュ値には、農作物の識別子、農作物のＤＮＡデータ及び畑プロセスにおける固有データが含まれている。
【００４５】
ハッシュ値算出モジュール４０は、算出した第１のハッシュ値と、第２のプロセスの固有データとを結合したハッシュ値を、第２のハッシュ値として算出する（ステップＳ１６）。ステップＳ１６において、ハッシュ値算出モジュール４０は、所定のハッシュ関数を用いて、ハッシュ値を算出する。ハッシュ値算出モジュール４０は、第１のハッシュ値と、第１のハッシュ値を算出した農作物の識別子に対応付けられた第２のプロセスの固有データとを結合したハッシュ値を、第２のハッシュ値として算出する。ハッシュ値算出モジュール４０は、第１のハッシュ値と、第１のハッシュ値を算出した農作物の識別子に対応付けられた作物プロセスの固有データとを結合したハッシュ値を、第２のハッシュ値として算出する。ハッシュ値算出モジュール４０は、少なくとも、第１のハッシュ値を算出した時点以降で、作物プロセスが完了した時点以降かつ店舗プロセスが完了するよりも以前の任意のタイミングでこの第２のハッシュ値を算出する。
【００４６】
記録モジュール３０は、この算出した第２のハッシュ値を記録する（ステップＳ１７）。ステップＳ１７において、記録モジュール３０が記録するこの第２のハッシュ値には、農作物の識別子、農作物のＤＮＡデータ、第１のプロセスにおける固有データ及び第２のプロセスにおける固有データが含まれている。すなわち、農作物の識別子、農作物のＤＮＡデータ、畑プロセスにおける固有データ及び作物プロセスにおける固有データが含まれている。
【００４７】
プロセス判断モジュール４１は、農作物の全てのプロセスに対するハッシュ値の算出が完了したか否かを判断する（ステップＳ１８）。ステップＳ１８において、プロセス判断モジュール４１は、予め設定されたプロセス数に基づいたハッシュ値の算出が行われたか否かに基づいて、農作物のプロセスが完了したか否かを判断する。例えば、予め設定されたプロセス数が「５」である場合、プロセス判断モジュール４１は、現在までに算出したハッシュ値の数が５であるか否かを判断する。すなわち、プロセス判断モジュール４１は、ハッシュ値算出モジュール４０が第５のハッシュ値を算出したか否かを判断することにより、この処理を実行する。
【００４８】
なお、プロセス判断モジュール４１は、農作物の全てのプロセスに対するハッシュ値の算出が完了したか否かの判断を上述したものに限らず他の方法により実行してもよい。例えば、プロセス判断モジュール４１は、予め設定された個数のハッシュ値を算出したか否かに基づいて判断してもよい。
【００４９】
ステップＳ１８において、プロセス判断モジュール４１は、完了したと判断した場合（ステップＳ１８  ＹＥＳ）、二次元コード生成モジュール４２は、後述するステップＳ２２の処理を実行する。
【００５０】
一方、ステップＳ１８において、プロセス判断モジュール４１は、完了していないと判断した場合（ステップＳ１８  ＮＯ）、ハッシュ値算出モジュール４０は、算出した第ｎのハッシュ値と、第ｎ＋１のプロセスの固有データとを結合したハッシュ値を第ｎ＋１のハッシュ値として算出する（ステップＳ１９）。ステップＳ１９において、ハッシュ値算出モジュール４０は、所定のハッシュ関数を用いて、ハッシュ値を算出する。このとき、ｎの値は２以上である。また、このｎの値は、プロセスの最大数をＰｍとした場合、Ｐｍ−１として表現可能である。すなわち、プロセスの最大数から１を減算したものが、ｎの値となる。ハッシュ値算出モジュール４０は、第ｎのハッシュ値と、第ｎのハッシュ値を算出した農作物の識別子に対応付けられた第ｎ＋１のプロセスの固有データとを結合したハッシュ値を、第ｎ＋１のハッシュ値として算出する。
【００５１】
本実施形態では、第５のプロセスまでプロセスが存在することから、ｎの値が４の場合となる。
【００５２】
この第ｎ＋１のハッシュ値の算出について説明する。
【００５３】
ハッシュ値算出モジュール４０は、第２のハッシュ値と、第２のハッシュ値を算出した農作物の識別子に対応付けられた第３のプロセスの固有データとを結合したハッシュ値を、第３のハッシュ値として算出する。すなわち、ハッシュ値算出モジュール４０は、第２のハッシュ値と、第２のハッシュ値を算出した農作物の識別子に対応付けられた仕分けプロセスの固有データとを結合したハッシュ値を、第３のハッシュ値として算出する。ハッシュ値算出モジュール４０は、少なくとも、第２のハッシュ値を算出した時点以降で、仕分けプロセスが完了した時点以降かつ店舗プロセスが完了するよりも以前の任意のタイミングでこの第３のハッシュ値を算出する。
【００５４】
ハッシュ値算出モジュール４０は、第３のハッシュ値と、第３のハッシュ値を算出した農作物の識別子に対応付けられた第４のプロセスの固有データとを結合したハッシュ値を、第４のハッシュ値として算出する。すなわち、ハッシュ値算出モジュール４０は、第３のハッシュ値と、第３のハッシュ値を算出した農作物の識別子に対応付けられた配送プロセスの固有データとを結合したハッシュ値を、第４のハッシュ値として算出する。ハッシュ値算出モジュール４０は、少なくとも、第３のハッシュ値を算出した時点以降で、配送プロセスが完了した時点以降かつ店舗プロセスが完了するよりも以前の任意のタイミングでこの第４のハッシュ値を算出する。
【００５５】
ハッシュ値算出モジュール４０は、第４のハッシュ値と、第４のハッシュ値を算出した農作物の識別子に対応付けられた第５のプロセスの固有データとを結合したハッシュ値を、第５のハッシュ値として算出する。すなわち、ハッシュ値算出モジュール４０は、第４のハッシュ値と、第４のハッシュ値を算出した農作物の識別子に対応付けられた店舗プロセスの固有データとを結合したハッシュ値を、第５のハッシュ値として算出する。ハッシュ値算出モジュール４０は、少なくとも、第４のハッシュ値を算出した時点以降で、店舗プロセスが完了するよりも以前の任意のタイミングでこの第５のハッシュ値を算出する。
【００５６】
記録モジュール３０は、この算出した第ｎ＋１のハッシュ値を記録する（ステップＳ２０）。ステップＳ２０において、記録モジュール３０が記録する第ｎ＋１のハッシュ値には、農作物の識別子、農作物のＤＮＡデータ及び第ｎ＋１のプロセスまでの固有データが含まれている。
【００５７】
この第ｎ＋１のハッシュ値の記録について説明する。
【００５８】
記録モジュール３０は、この算出した第３のハッシュ値を記録する。記録モジュール３０が記録するこの第３のハッシュ値には、農作物の識別子、農作物のＤＮＡデータ、第１のプロセスにおける固有データ、第２のプロセスにおける固有データ及び第３のプロセスにおける固有データが含まれている。すなわち、農作物の識別子、農作物のＤＮＡデータ、畑プロセスにおける固有データ、作物プロセスにおける固有データ及び仕分けプロセスにおける固有データが含まれている。
【００５９】
記録モジュール３０は、この算出した第４のハッシュ値を記録する。記録モジュール３０が記録するこの第４のハッシュ値には、農作物の識別子、農作物のＤＮＡデータ、第１のプロセスにおける固有データ、第２のプロセスにおける固有データ、第３のプロセスにおける固有データ及び第４のプロセスにおける固有データが含まれている。すなわち、農作物の識別子、農作物のＤＮＡデータ、畑プロセスにおける固有データ、作物プロセスにおける固有データ、仕分けプロセス及び配送プロセスにおける固有データが含まれている。
【００６０】
記録モジュール３０は、この算出した第５のハッシュ値を記録する。記録モジュール３０が記録するこの第５のハッシュ値には、農作物の識別子、農作物のＤＮＡデータ、第１のプロセスにおける固有データ、第２のプロセスにおける固有データ、第３のプロセスにおける固有データ、第４のプロセスにおける固有データ及び第５のプロセスにおける固有データが含まれている。すなわち、農作物の識別子、農作物のＤＮＡデータ、畑プロセスにおける固有データ、作物プロセスにおける固有データ、仕分けプロセス、配送プロセス及び店舗プロセスにおける固有データが含まれている。
【００６１】
このように、上述したステップＳ１９及び２０の処理では、第２のハッシュ値を算出した処理と同様の処理を行い、以降のプロセスに対するハッシュ値を順次算出する。
【００６２】
プロセス判断モジュール４１は、農作物の全てのプロセスに対するハッシュ値の算出が完了したか否かを判断する（ステップＳ２１）。ステップＳ２１の処理は、上述したステップＳ１８の処理と同様であるため、詳細は省略する。
【００６３】
ステップＳ２１において、プロセス判断モジュール４１は、完了していないと判断した場合（ステップＳ２１  ＮＯ）、ハッシュ値算出モジュール４０及び記録モジュール３０は、再度ステップＳ１９及び２０の処理を実行する。
【００６４】
一方、ステップＳ２１において、プロセス判断モジュール４１は、完了したと判断した場合（ステップＳ２１  ＹＥＳ）、二次元コード生成モジュール４２は、最後のプロセスにおけるハッシュ値に基づいて、二次元コードを生成する（ステップＳ２２）。ステップＳ２２において、二次元コード生成モジュール４２は、記録した上述した第２のハッシュ値（上述したステップＳ１７  ＹＥＳの場合）又は第ｎ＋１のハッシュ値（上述したステップＳ２０  ＹＥＳの場合）に基づいた二次元コードを生成する。本実施形態では、二次元コード生成モジュール４２は、第５のハッシュ値に基づいて、二次元コードを生成する。
【００６５】
二次元コード出力モジュール２２は、生成した二次元コードを出力する（ステップＳ２３）。ステップＳ２３において、二次元コード出力モジュール２２は、生成した二次元コードを、図示していない印刷装置等を介して出力する。
【００６６】
なお、ハッシュ値を二次元コードとして生成及び出力する処理については、その他のものを生成及び出力してよい。これらの処理は、消費者が容易に農作物の製造・流通工程を把握するためのものである。
【００６７】
このようにして算出した最後のハッシュ値に基づいて、作物の固有性とトレーサビリティとが保証されることになる。例えば、消費者がこの農作物を手に取った場合、最後のプロセスにおけるハッシュ値（第５のハッシュ値）が付与された二次元コード等を読み取ることにより、消費者は、この農作物の製造及び流通工程を把握することが容易となる。加えて、消費者は、この農作物をＤＮＡ鑑定し、鑑定結果であるＤＮＡデータと、この最後のプロセスにおけるハッシュ値に含まれるＤＮＡデータとを比較することにより、ＤＮＡデータが一致する場合、この農作物が、このＤＮＡデータの農作物であり、このハッシュ値を持つ製造及び流通工程を経て販売されたことを確認することが容易となる。
【００６８】
以上が、農産物管理処理である。
【００６９】
図４に基づいて、上述した農産物管理処理におけるハッシュ値の算出について具体的な流れを説明する。図４は、農作物の各プロセスを模式的に示した図である。図４において、畑プロセスＰ１、作物プロセスＰ２、仕分けプロセスＰ３、配送プロセスＰ４、店舗プロセスＰ５の５個のプロセスが存在する。
【００７０】
固有データ取得モジュール２０は、上述したステップＳ１０の処理により、各プロセスにおける固有データを取得する。すなわち、固有データ取得モジュール２０は、畑プロセスＰ１における固有データ１１０を取得する。また、固有データ取得モジュール２０は、作物プロセスＰ２における固有データ１２０を取得する。また、固有データ取得モジュール２０は、仕分けプロセスＰ３における固有データ１３０を取得する。また、固有データ取得モジュール２０は、配送プロセスＰ４における固有データ１４０を取得する。また、固有データ取得モジュール２０は、店舗プロセスＰ５における固有データ１５０を取得する。
【００７１】
記録モジュール３０は、上述したステップＳ１１の処理により、農作物１００と、畑プロセスＰ１と、固有データ１１０とを対応付けて記録する。同様に、記録モジュール３０は、農作物１００と、作物プロセスＰ２と、固有データ１２０とを対応付けて記録し、農作物１００と、仕分けプロセスＰ３と、固有データ１３０とを対応付けて記録し、農作物１００と、配送プロセスＰ４と、固有データ１４０とを対応付けて記録し、農作物１００と、店舗プロセスＰ５と、固有データ１５０とを対応付けて記録する。
【００７２】
ＤＮＡデータ取得モジュール２１は、上述したステップＳ１２の処理により、この農作物１００のＤＮＡデータ２００を取得する。記録モジュール３０は、上述したステップＳ１３の処理により、この農作物１００と取得したＤＮＡデータ２００とを対応付けて記録する。
【００７３】
ハッシュ値算出モジュール４０は、上述したステップＳ１４の処理により、農作物１００と、ＤＮＡデータ２００と、畑プロセスＰ１の固有データ１１０とを結合した第１のハッシュ値を算出する。記録モジュール３０は、上述したステップＳ１５の処理により、算出した第１のハッシュ値を記録する。
【００７４】
ハッシュ値算出モジュール４０は、上述したステップＳ１６の処理により、第１のハッシュ値と、作物プロセスＰ２の固有データ１２０とを結合した第２のハッシュ値を算出する。記録モジュール３０は、上述したステップＳ１７の処理により、算出した第２のハッシュ値を記録する。
【００７５】
農作物のプロセスは、「５」であることから、ハッシュ値算出モジュール４０は、上述したステップＳ１９の処理により、第２のハッシュ値と、仕分けプロセスＰ３の固有データ１３０とを結合した第３のハッシュ値を算出する。記録モジュール３０は、上述したステップＳ２０の処理により、算出した第３のハッシュ値を記録する。ハッシュ値算出モジュール４０は、上述したステップＳ１９の処理により、第３のハッシュ値と、配送プロセスＰ４の固有データ１４０とを結合した第４のハッシュ値を算出する。記録モジュール３０は、上述したステップＳ２０の処理により、算出した第４のハッシュ値を記録する。ハッシュ値算出モジュール４０は、上述したステップＳ１９の処理により、第４のハッシュ値と、店舗プロセスＰ５の固有データ１５０とを結合した第５のハッシュ値を算出する。記録モジュール３０は、上述したステップＳ２０の処理により、算出した第５のハッシュ値を記録する。
【００７６】
このようにして、コンピュータ１０は、最終的なプロセスにおけるハッシュ値である第５のハッシュ値を算出する。
【００７７】
上述した手段、機能は、コンピュータ（ＣＰＵ、情報処理装置、各種端末を含む）が、所定のプログラムを読み込んで、実行することによって実現される。プログラムは、例えば、コンピュータからネットワーク経由で提供される（ＳａａＳ：ソフトウェア・アズ・ア・サービス）形態で提供される。また、プログラムは、例えば、フレキシブルディスク、ＣＤ（ＣＤ−ＲＯＭなど）、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭなど）等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記録装置又は外部記録装置に転送し記録して実行する。また、そのプログラムを、例えば、磁気ディスク、光ディスク、光磁気ディスク等の記録装置（記録媒体）に予め記録しておき、その記録装置から通信回線を介してコンピュータに提供するようにしてもよい。
【００７８】
以上、本発明の実施形態について説明したが、本発明は上述したこれらの実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【符号の説明】
【００７９】
１  農産物管理システム、１０  コンピュータ
【図１】
0006901211.tif 000002
【図２】
0006901211.tif 000003
【図３】
0006901211.tif 000004
【図４】
0006901211.tif 000005