(57)【要約】【課題】安価な構成で工程管理に関する情報の改ざんを抑制することが可能な工程管理システム及び工程管理方法を提供する。【解決手段】工程管理システム１００は、複数の演算装置６０の各々をノードとする分散型記憶システムと、入力装置２０とを備える。前記入力装置２０は、製品情報と処理段階情報とを関連付けた工程情報を作成する工程情報作成部２５１と、前記工程情報を含むトランザクションデータの記憶要求を出力する記憶要求部２５２と、を有する。前記演算装置６０の少なくとも一つは、前記工程情報が所定の完了条件を満たしているか否かを判定する判定部６５３と、前記判定部６５３が前記完了条件を満たしたと判定した工程情報を含むトランザクションデータに基づいて、ブロックデータを作成するブロック作成部６５２と、前記ブロックデータを全ての前記演算装置６０との間で共有する共有処理部６５４と、を有する。【選択図】図２
2018169798.tif 000002
【特許請求の範囲】
【請求項１】
製造工程の管理を行う工程管理システムであって、
工程管理に係る情報を記憶する複数の演算装置の各々をノードとする分散型記憶システムと、
前記工程管理に係る情報の入力を受け付ける入力装置と、
を備え、
前記入力装置は、
製品を特定するための製品情報と、作業者により当該製品に対して実行された工程段階及び当該工程段階の内容を示す処理段階情報と、を関連付けた工程情報を作成する工程情報作成部と、
前記工程情報を含むトランザクションデータを前記分散型記憶システムに記憶するための記憶要求を出力する記憶要求部と、
を有し、
前記演算装置の少なくとも一つは、
前記記憶要求に示される前記工程情報が所定の完了条件を満たしているか否かを判定する判定部と、
前記判定部が前記完了条件を満たしたと判定した工程情報を含むトランザクションデータに基づいて、ブロックデータを作成するブロック作成部と、
前記ブロックデータを全ての前記演算装置との間で共有し、当該ブロックデータと過去に共有されたブロックデータとを時系列に連結して記憶部に記憶する共有処理部と、
を有する、
工程管理システム。
【請求項２】
前記判定部は、前記工程情報に前記工程段階が完了したことを承認する情報が含まれている場合、当該工程情報は前記完了条件を満たすと判定する、
請求項１に記載の工程管理システム。
【請求項３】
前記入力装置は、第１の工程段階を示す第１の工程情報を含むトランザクションデータの記憶要求が出力されたときに、前記第１の工程段階の前工程となる第２の工程段階を示す第２の工程情報を含むトランザクションデータに、当該第２の工程段階が完了したことを承認する情報が含まれていない場合、当該第２の工程段階が完了したことを承認する、
請求項１または２に記載の工程管理システム。
【請求項４】
前記工程情報を登録するデータベースを更に備え、
前記演算装置の少なくとも一つは前記判定部が前記完了条件を満たしたと判定した工程情報に基づいて、ハッシュ値を計算するハッシュ生成部を更に有し、
前記ブロック作成部は、前記ハッシュ値を含む前記ブロックデータを作成する、
請求項１から３のいずれか一項に記載の工程管理システム。
【請求項５】
前記演算装置の少なくとも一つは、前記データベースに登録された前記工程情報のハッシュ値と、前記記憶部に記憶されたブロックデータに含まれる前記ハッシュ値とに基づいて、前記データベースに登録された前記工程情報の改ざんの有無を検出するデータ検証部を更に有する、
請求項４に記載の工程管理システム。
【請求項６】
前記製品別の製品工程の進捗を示す進捗情報を作成する情報取得システムを更に備え、
前記演算装置の少なくとも一つは、前記判定部が前記完了条件を満たしたと判定した工程情報の製品及び工程段階を示す識別子を生成する識別子生成部を更に有し、
前記ブロック作成部は、前記識別子を含む前記ブロックデータを作成し、
前記情報取得システムは、前記分散型記憶システムにおいて共有された前記ブロックデータに含まれる前記識別子に基づいて、前記進捗情報を作成する進捗情報作成部を有する、
請求項１から５のいずれか一項に記載の工程管理システム。
【請求項７】
製造工程の管理を行う工程管理方法であって、
工程管理に係る情報を記憶する複数の演算装置の各々をノードとして、前記情報を分散して記憶する記憶ステップと、
前記工程管理に係る情報の入力を受け付ける入力ステップと、
を有し、
前記入力ステップは、
製品を特定するための製品情報と、作業者により当該製品に対して実行された工程段階及び当該工程段階の内容を示す処理段階情報と、を関連付けた工程情報を作成する工程情報作成ステップと、
前記工程情報を含むトランザクションデータを複数の前記演算装置に記憶するための記憶要求を出力する記憶要求ステップと、
を有し、
前記記憶ステップは、
前記記憶要求に示される前記工程情報が所定の完了条件を満たしているか否かを判定する判定ステップと、
前記判定ステップにおいて前記完了条件を満たしたと判定された工程情報を含むトランザクションデータに基づいて、ブロックデータを作成するブロック作成ステップと、
前記ブロックデータを全ての前記演算装置との間で共有し、当該ブロックデータと過去に共有されたブロックデータとを時系列に連結して記憶部に記憶する共有処理ステップと、
を有する、
工程管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工程管理システム及び工程管理方法に関する。
【背景技術】
【０００２】
製造工程において計測データ、作業の進捗情報等を取得し、品質管理及び工程管理を行うためのシステムとして、例えば特許文献１には、作業員のそれぞれが所持する携帯端末により、作業員の位置する作業現場、作業内容、施工画像等を取得して、管理サーバに集約する管理システムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５９７３０９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のシステムでは、工程管理に関する膨大なデータを管理サーバに集約して管理するため、管理サーバは高性能且つ大容量を有することが求められ、システムを構築するためのコストが増加する要因となっている。
また、管理サーバへのサイバー攻撃、作業者によるデータ改ざん等を抑制するために、セキュリティの強化が求められているが、システムのセキュリティ機能強化には大きなコストが必要となる。
【０００５】
本発明は、このような課題に鑑みてなされたものあって、安価な構成で工程管理に関する情報の改ざんを抑制することが可能な工程管理システム及び工程管理方法を提供する。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明は以下の手段を採用している。
本発明の第一の態様によれば、製造工程の管理を行う工程管理システムは、工程管理に係る情報を記憶する複数の演算装置の各々をノードとする分散型記憶システムと、前記工程管理に係る情報の入力を受け付ける入力装置と、を備える。
前記入力装置は、製品を特定するための製品情報と、作業者により当該製品に対して実行された工程段階及び当該工程段階の内容を示す処理段階情報と、を関連付けた工程情報を作成する工程情報作成部と、前記工程情報を含むトランザクションデータを前記分散型記憶システムに記憶するための記憶要求を出力する記憶要求部と、を有する。
前記演算装置の少なくとも一つは、前記記憶要求に示される前記工程情報が所定の完了条件を満たしているか否かを判定する判定部と、前記判定部が前記完了条件を満たしたと判定した工程情報を含むトランザクションデータに基づいて、ブロックデータを作成するブロック作成部と、前記ブロックデータを全ての前記演算装置との間で共有し、当該ブロックデータと過去に共有されたブロックデータとを時系列に連結して記憶部に記憶する共有処理部と、を有する。
このようにすることで、工程管理システムは、サイバー攻撃等により工程情報を改ざんする場合は、改ざんの対象となる工程情報を含むブロックデータと、当該ブロックデータ以降に作成されたブロックデータとの全てを改ざんしなければならなくなるため、改ざんの難易度を高めることができる。このため、工程管理システムは、システム全体における改ざんの難易度を高めることにより、工程情報が改ざんされることを抑制してセキュリティを向上させることが可能である。
また、上述の工程管理システムでは、高性能且つ高度なセキュリティ機能を有する管理サーバを用意する必要がないため、工程管理システムの導入コストを低く抑えることが可能である。
【０００７】
本発明の第二の態様によれば、上述の第一の態様に係る工程管理システムにおいて、前記判定部は、前記工程情報に前記工程段階が完了したことを承認する情報が含まれている場合、当該工程情報は前記完了条件を満たすと判定する。
このようにすることで、判定部は、管理者の承認を要する工程段階については、管理者により承認された工程情報のみが完了条件を満たすと判定する。これにより、管理者により確認及び承認された工程情報を含むトランザクションデータのみがブロックデータとして共有されるので、作業者が管理者の承認を得ないまま工程段階を完了したと報告する不正を抑制することができる。
【０００８】
本発明の第三の態様によれば、上述の第一または第二の態様に係る工程管理システムにおいて、前記入力装置は、第１の工程段階を示す第１の工程情報を含むトランザクションデータの記憶要求が出力されたときに、前記第１の工程段階の前工程となる第２の工程段階を示す第２の工程情報を含むトランザクションデータに、当該第２の工程段階が完了したことを承認する情報が含まれていない場合、当該第２の工程段階が完了したことを承認する。
このようにすることで、前工程において管理者による承認が滞っている場合、入力装置は、前工程である第２の工程段階が完了したことを承認することができる。これにより、管理者の承認待ちにより、実際の工程段階の進捗と、工程管理システム上における工程段階の進捗とが乖離することを抑制することができる。
【０００９】
本発明の第四の態様によれば、上述の第一から第三のいずれか一の態様に係る工程管理システムは、前記工程情報を登録するデータベースを更に備える。
前記演算装置の少なくとも一つは、前記判定部が前記完了条件を満たしたと判定した工程情報に基づいて、ハッシュ値を計算するハッシュ生成部と、前記工程情報と前記ハッシュ値とを関連付けて前記データベースに登録するデータ登録部と、を更に有する。前記ブロック作成部は、前記ハッシュ値を含む前記ブロックデータを作成する。
演算装置では、工程情報がブロックデータ別に分断されるので、作業者及び管理者がブロックデータを参照して所望の工程情報を検索、抽出するためには、演算装置において複雑な処理が必要となる可能性がある。しかしながら、上述の態様では、工程情報はデータベースに登録されるので、演算装置において工程情報の検索、抽出を行う機能を用意する必要がない。このため、工程管理システムの開発コストを低減することができる。
また、上述の工程管理システムでは、作業者及び管理者はデータベースに登録された工程情報から所望の工程情報を容易に読み出すことが可能となる。
【００１０】
本発明の第五の態様によれば、上述の第四の態様に係る工程管理システムにおいて、前記演算装置の少なくとも一つは、前記データベースに登録された前記ハッシュ値と、前記記憶部に記憶されたブロックデータに含まれる前記ハッシュ値とに基づいて、前記データベースに登録された前記工程情報の改ざんの有無を検出するデータ検証部を更に有する。
このようにすることで、データ検証部は、データベースに登録されたハッシュ値と、ブロックデータに含まれるハッシュ値とを比較することにより、データベースに登録された工程情報の改ざんの有無を容易に検出することができる。
【００１１】
本発明の第六の態様によれば、上述の第一から第五のいずれか一の態様に係る工程管理システムは、前記製品別の製品工程の進捗を示す進捗情報を作成する情報取得システムを更に備える。
前記演算装置の少なくとも一つは、前記判定部が前記完了条件を満たしたと判定した工程情報の製品及び工程段階を示す識別子を生成する識別子生成部を更に有する。
前記ブロック作成部は、前記識別子を含む前記ブロックデータを作成する。
前記情報取得システムは、前記分散型記憶システムにおいて共有された前記ブロックデータに含まれる前記識別子に基づいて、前記進捗情報を作成する進捗情報作成部を有する。
このようにすることで、工程管理システムは、識別子に基づいてブロックデータから所望の工程情報を検索、抽出することが容易になる。また、作業者及び管理者は、識別子に基づき作成された進捗情報を参照することにより、製品別の製品工程の進捗を認識することができる。
【００１２】
本発明の第七の態様によれば、製造工程の管理を行う工程管理方法は、工程管理に係る情報を記憶する複数の演算装置の各々をノードとして、前記情報を分散して記憶する記憶ステップと、前記工程管理に係る情報の入力を受け付ける入力ステップと、を有する。
前記入力ステップは、製品を特定するための製品情報と、作業者により当該製品に対して実行された工程段階及び当該工程段階の内容を示す処理段階情報と、を関連付けた工程情報を作成する工程情報作成ステップと、前記工程情報を含むトランザクションデータを複数の前記演算装置に記憶するための記憶要求を出力する記憶要求ステップと、を有する。
前記記憶ステップは、前記記憶要求に示される前記工程情報が所定の完了条件を満たしているか否かを判定する判定ステップと、前記判定ステップにおいて前記完了条件を満たしたと判定された工程情報を含むトランザクションデータに基づいて、ブロックデータを作成するブロック作成ステップと、前記ブロックデータを全ての前記演算装置との間で共有し、当該ブロックデータと過去に共有されたブロックデータとを時系列に連結して記憶部に記憶する共有処理ステップと、を有する。
【発明の効果】
【００１３】
本発明に係る工程管理システム及び工程管理方法によれば、安価な構成で工程管理に関する情報の改ざんを抑制することが可能である。
【図面の簡単な説明】
【００１４】
【図１】第１の実施形態に係る工程管理システムの概要を示す図である。
【図２】第１の実施形態に係る工程管理システムの機能構成を示す図である。
【図３】第１の実施形態に係る入力装置の処理フローである。
【図４】第１の実施形態に係る演算装置の処理フローである。
【図５】第１の実施形態に係る入力装置及び演算装置のハードウェア構成を示す図である。
【図６】第２の実施形態に係る工程管理システムの機能構成を示す図である。
【図７】第２の実施形態に係る演算装置の第１の処理フローである。
【図８】第２の実施形態に係る演算装置の第２の処理フローである。
【図９】第３の実施形態に係る工程管理システムの機能構成を示す図である。
【図１０】第３の実施形態に係る演算装置の処理フローである。
【図１１】第４の実施形態に係る工程管理システムの機能構成を示す図である。
【発明を実施するための形態】
【００１５】
＜第１の実施形態＞
以下、本発明の第１の実施形態に係る工程管理システム１００について、図１〜図５を参照しながら説明する。
【００１６】
（工程管理システムの全体構成）
図１は、第１の実施形態に係る工程管理システムの概要を示す図である。
図１に示すように、工程管理システム１００は、製品の製造工程における複数の工程段階のうち、少なくとも一つを実行するショップＰ１〜Ｐｎを備えている。工程段階は、例えば部品及び中間製造品の受け入れ、洗浄、仮組み、溶接、仕上げ、計測等の各工程を示す。なお、ショップＰ１〜Ｐｎは、製造会社が有する工場、生産ラインであってもよいし、部品を製造するサプライヤ、製品及び中間製造品の組み立てを行う組み立てメーカであってもよい。
【００１７】
また、工程管理システム１００は、入力装置２０と、分散型記憶システム６とを備えている。
【００１８】
入力装置２０は、製品の工程管理に関する情報の入力受け付けるための装置であり、ショップＰ１〜Ｐｎのそれぞれに少なくとも一つ設けられている。なお、入力装置２０は、工程段階別に一つずつ用意されていてもよく、複数の工程段階を実行するショップには複数の入力装置２０が設けられていてもよい。
【００１９】
分散型記憶システム６は、複数の演算装置６０の各々をノードとし、入力装置２０により入力された製品の工程管理に係る情報を記憶するためのシステムである。
演算装置６０は、ショップＰ１〜Ｐｎのそれぞれに少なくとも一つ設けられている。なお、演算装置６０は、工程段階別に一つずつ用意されていてもよく、複数の工程段階を実行するショップには複数の演算装置６０が設けられていてもよい。
複数の演算装置６０のそれぞれは、有線または無線のネットワークＮＷを介して通信可能に接続されている。また、ショップＰ１〜Ｐｎのそれぞれに設けられた入力装置２０と演算装置６０とは、専用の通信回線により接続されていてもよいし、ネットワークＮＷを介して接続されていてもよい。
【００２０】
（入力装置の機能構成）
図２は、第１の実施形態に係る工程管理システムの機能構成を示す図である。
以下、図２を参照して、工程管理システム１００が有する入力装置２０及び演算装置６０の機能構成について説明する。なお、ショップＰ１〜Ｐｎに設けられた入力装置２０及び演算装置６０は、互いに共通の機能構成を有している。このため、以下では、ショップＰ１の入力装置２０及び演算装置６０を例として説明する。
【００２１】
まず、入力装置２０について、図２を参照して説明する。
図２に示すように、入力装置２０は、受付部２１と、表示部２２と、通信部２３と、記憶部２４と、ＣＰＵ２５とを有している。
【００２２】
受付部２１は、ショップＰ１に割り当てられた工程段階を実行する作業者（製造会社内の作業者、サプライヤ等の社外の作業者を含む）による操作を受け付ける装置であり、例えば、キーボード、マウス等の入力装置である。また、受付部２１は、部品及び中間製造品に付されたバーコード等のコードから情報を読み取るコード読取機であってもよいし、部品及び中間製造品の重量、形状等を計測するセンサ機器であってもよい。
受付部２１は、作業者の操作に基づいて、製品の工程管理に関する情報（固定情報）の入力を受け付ける。また、受付部２１は、自動的に製品の工程情報の入力を受け付けるようにしてもよい。例えば、受付部２１は、所定位置に置かれた製品の部品及び中間製造品から、コード読取機等により工程管理に関する情報を自動的に読み取るようにしてもよい。
製品の工程管理に関する情報（工程情報）とは、例えば、製品を特定するための製品情報と、作業者が実行した工程段階及び当該工程段階の内容を示す処理段階情報とを含む。
製品情報とは、例えば、製造される製品を特定可能な製品番号を含む。処理段階情報とは、例えば、工程段階（部品及び中間製造品の受け入れ、洗浄、仮組み、溶接、仕上げ、計測、試験等の各工程）を示す情報、工程段階を実行するショップを示す情報（ショップ番号）、工程段階を実行する作業者を示す情報（作業者の署名）、工程段階で使用される部品を特定可能な部品番号、実行内容（作業時間、使用した機器、薬剤の情報等）、実行結果（工程の着手または完了を示す情報、計測結果）等を含む。
作業者は、それぞれ固有のアカウントを用いて入力装置２０へ工程情報の入力を行う。このとき、作業者は、受付部２１を介して、記憶部２４に予め記憶されている製品番号、工程段階、ショップ番号、作業者、部品番号のリストから該当する情報を選択して入力してもよいし、任意の文字列を入力してもよい。また、作業者は、受付部２１を介して、例えば製品の試運転、品質チェック等の試験結果を含むファイルをアップロードしてもよい。また、作業者は、予め自身のアカウントでログイン状態にしておくことにより、受付部２１が自動的に読み取った工程情報の入力を、作業者のアカウントを用いて受け付けるようにしてもよい。
更に、受付部２１は、作業者または管理者の操作に基づいて、後述の演算装置６０にブロックデータとして記憶された過去の工程情報を読み出す操作を受け付けてもよい。
【００２３】
表示部２２は、工程管理の処理に係る情報を表示するための装置であり、例えば液晶ディスプレイ等の表示装置である。
表示部２２には、受付部２１が入力を受け付けた各種情報、演算装置６０から読み出した工程情報等が表示される。
【００２４】
通信部２３は、ネットワークＮＷ、または、専用回線を介して演算装置６０との間で各種情報の送受信を行う。
【００２５】
記憶部２４には、製品番号、工程段階、ショップ番号、作業者、部品番号のリスト等が予め記憶されている。
【００２６】
ＣＰＵ２５は、工程情報作成部２５１と、記憶要求部２５２とを有している。
工程情報作成部２５１は、受付部２１が入力を受け付けた製品情報と、処理段階情報とを関連付けた工程情報を作成する。
また、本実施形態において、工程情報作成部２５１は、工程情報と、当該工程情報が完了条件を満たすか否かを示す情報とを含むトランザクションデータを作成して、記憶要求部２５２に出力する。
完了条件を満たすか否かを示す情報とは、例えば、工程情報に含まれる工程段階が管理者の承認を要するか否かを示す情報である。また、管理者の承認を要する工程段階である場合、トランザクションデータには、当該工程段階が管理者により承認されているか否かを示す情報が更に含まれていてもよい。
【００２７】
記憶要求部２５２は、工程情報を含むトランザクションデータを、分散型記憶システム６にブロックデータとして記憶することを要求する記憶要求を出力する。
なお、ブロックデータとは、任意のサイズのデータのかたまりであり、データセットと表現されてもよい。
【００２８】
（分散型記憶システムの機能構成）
以下、図２を参照して本実施形態に係る分散型記憶システム６の機能構成について説明する。
本実施形態において、分散型記憶システム６は、ブロックチェーンのような分散型台帳技術を利用したシステムであり、複数の演算装置６０のそれぞれをノードとし、複数の工程情報をまとめたブロックデータ及びトランザクションデータを各ノード間で同期して記憶する。
図２に示すように、分散型記憶システム６が有する演算装置６０は、通信部６１と、記憶部６２と、ＣＰＵ６５とを有している。
【００２９】
通信部２３は、ネットワークＮＷを介して他の演算装置６０との間で各種情報の送受信を行う。また、通信部２３は、ネットワークＮＷ、または、専用回線を介して入力装置２０との間で各種情報の送受信を行う。
【００３０】
記憶部６２には、入力装置２０から収集した工程情報を含むトランザクションデータが記憶されている。また、記憶部６２には、後述のブロック作成部６５２が作成したブロックデータが記憶されている。
【００３１】
ＣＰＵ６５は、工程情報取得部６５１と、ブロック作成部６５２と、判定部６５３と、共有処理部６５４とを有している。
【００３２】
工程情報取得部６５１は、入力装置２０から記憶要求とともに工程情報を含むトランザクションデータを取得して、記憶部６２に記憶する。
また、本実施形態において、工程情報取得部６５１は、入力装置２０からトランザクションデータを取得すると、当該トランザクションデータを他の演算装置６０に転送して全ての演算装置６０に同じトランザクションデータが蓄積されるようにする。
【００３３】
ブロック作成部６５２は、記憶部６２に蓄積されているトランザクションデータのうち、後述の判定部６５３が所定の完了条件を満たしていると判定したトランザクションデータに基づいて、ブロックデータを作成する。例えば、ブロック作成部６５２は、所定期間（例えば約１０分間）に完了条件を満たしたと判定された複数のトランザクションデータと、前回作成したブロックデータに基づいて計算されたハッシュ値とを含むブロックデータを作成する。
所定の完了条件を満たさず、ブロックデータに含まれなかったトランザクションデータは、一定期間（例えば２４時間）、記憶部６２に保持されたのちに削除される。
【００３４】
判定部６５３は、入力装置２０より記憶要求が出力された場合に、工程情報取得部６５１が取得した工程情報が所定の完了条件を満たしているか否かを判定する。
完了条件とは、工程段階が完了して次の工程段階に進んでもよいか否かを判断するための基準である。本実施形態では、判定部６５３は、工程情報が管理者の承認を要さない工程段階を含んでいる場合、当該工程情報は完了条件を満たしていると判定する。なお、本実施形態では、判定部６５３は、トランザクションデータに管理者の承認が必要ではないことを示す情報が含まれている場合、当該トランザクションデータに含まれる工程情報は完了条件を満たしていると判定する。
また、判定部６５３は、工程情報が管理者の承認を要する工程段階を含み、且つ、管理者が工程段階の完了を承認したことを示す情報が含まれている場合、完了条件を満たしていると判定する。なお、本実施形態では、判定部６５３は、トランザクションデータに管理者の承認が必要であることを示す情報が含まれている場合であって、管理者の承認を示す情報（管理者の署名）が含まれている場合は当該工程情報が完了条件を満たしていると判定し、管理者の承認を示す情報（管理者の署名）が含まれていない場合は当該工程情報が完了条件を満たしていないと判定する。
【００３５】
共有処理部６５４は、ブロック作成部６５２が作成したブロックデータを全ての演算装置６０間で共有し、当該ブロックデータと過去に共有されたブロックデータとを時系列に連結して記憶部６２に記憶する。また、共有されたブロックデータに含まれるトランザクションデータは、各演算装置６０の記憶部６２から削除される。
【００３６】
（入力装置の処理フロー）
図３は、第１の実施形態に係る入力装置の処理フローである。
以下、図３を参照して、本実施形態に係る入力装置２０がトランザクションデータの記憶要求を行う処理の流れについて説明する。
図３に示すように、まず、入力装置２０の受付部２１は、製品情報及び処理段階情報の入力を受け付ける（ステップＳ１００）。
例えば、ショップＰ１において、作業者が製品に用いる部品の受け入れの工程段階を完了したとする。このとき、作業者は、受付部２１を介して、製品の製品番号を含む製品情報を入力する。また、作業者は、受付部２１を介して、「部品の受け入れ」の工程段階を示す情報と、ショップＰ１のショップ番号（Ｐ１）、作業者の署名と、受け入れた部品の部品番号と、当該部品の受け入れ工程が完了したことを示す情報と、を含む処理段階情報を入力する。また、受付部２１は、バーコード等から製品情報及び処理段階情報を自動的に読み取ることにより、これら情報の入力を受け付けてもよい。
このとき、表示部２２には、作業者が受付部２１を介して入力した製品情報及び処理段階情報、作業者の操作に基づいて記憶部２４から読み出された製品番号のリスト等が表示される。
【００３７】
次に、入力装置２０の工程情報作成部２５１は、受付部２１が受け付けた製品情報と、処理段階情報とを関連付けた工程情報を作成する（ステップＳ１０１）。また、本実施形態において、工程情報作成部２５１は、工程情報と、当該工程情報が完了条件を満たすか否かを示す情報とを含むトランザクションデータを作成して、記憶要求部２５２に出力する。
【００３８】
次に、入力装置２０の記憶要求部２５２は、工程情報作成部２５１が作成したトランザクションデータを分散型記憶システム６に記憶するための記憶要求を出力する（ステップＳ１０２）。
入力装置２０は、受付部２１が工程情報の入力を受け付ける度に、上述のステップＳ１００〜Ｓ１０２を繰り返す。
【００３９】
なお、本実施形態では、一部の工程段階は、管理者の承認が必要であるとする。例えば、ショップＰ１における工程段階が全て完了し、次のショップＰ２に中間製造品の受け渡しを行う場合、ショップＰ１の管理者の承認が必要であるとする。
この場合、作業者は、マルチシグネチャ機能を利用して、工程情報の入力及びトランザクションデータの記憶要求を行う。マルチシグネチャ機能は、予め設定された複数の署名がトランザクションデータに入力されるまで、当該トランザクションデータがブロックデータに格納されない（演算装置６０において所定の完了条件を満たさないと判定される）ようにする機能である。
具体的には、上述の処理フローにおいて、受付部２１は、管理者の承認が必要な工程段階の工程情報の入力を受け付ける場合、作業者と管理者との両方の署名を要するマルチシグネチャ機能が有効となるアカウントを用いて製品情報及び処理段階情報の入力を受け付ける（ステップＳ１００）。
そうすると、工程情報作成部２５１は、受付部２１を介して受け付けた製品情報及び処理段階情報とを関連付けた工程情報（未承認工程情報）を作成する（ステップＳ１０１）とともに、当該工程情報と、当該工程情報に含まれる工程段階が管理者の承認を要することを示す情報（マルチシグネチャ機能が用いられていることを示す情報）とを含むトランザクションデータを作成する。また、このとき、工程情報作成部２５１は、作業者の署名のみが入力され、管理者の署名が含まれていないトランザクションデータを作成する。
記憶要求部２５２は工程情報作成部２５１が作成した未承認工程情報を含むトランザクションデータの記憶要求を出力する（ステップＳ１０２）。当該トランザクションデータには、管理者の承認を要することを示す情報を含み、且つ、管理者による承認を示す情報（管理者の署名）が含まれていないので、演算装置６０の判定部６５３において所定の完了条件を満たしていないと判定される。このため、当該トランザクションデータはブロックデータには含まれず、演算装置６０の記憶部６２に未処理のまま保持される。
次に、管理者は、未承認工程情報の内容と、中間製造品との確認を行うと、受付部２１を介して管理者の署名（承認）の入力を行う（ステップＳ１００）。
そして、工程情報作成部２５１は、未承認工程情報が管理者により承認されたことを示す工程情報（承認済み工程情報）を作成する（ステップＳ１０１）とともに、当該工程情報と、管理者の承認を示す情報（管理者の署名）とを含むトランザクションデータを作成する。
記憶要求部２５２は当該工程情報作成部２５１が作成した承認済み工程情報を含むトランザクションデータの記憶要求を出力する（ステップＳ１０２）。承認済み工程情報を含むトランザクションデータには、管理者の署名が含まれるため、演算装置６０の判定部６５３において所定の完了条件を満たしていると判定される。
【００４０】
（演算装置の処理フロー）
図４は、第１の実施形態に係る演算装置の処理フローである。
以下、図４を参照して、本実施形態に係る演算装置６０がブロックデータを共有する処理の流れについて説明する。
演算装置６０の工程情報取得部６５１は、入力装置２０から取得した工程情報を含むトランザクションデータを記憶部６２に蓄積している。判定部６５３は、記憶部６２に蓄積されているトランザクションデータのそれぞれについて、まず、管理者の承認（署名）が必要であるか否かを判断する（ステップＳ１１０）。
判定部６５３は、トランザクションデータにマルチシグネチャ機能が用いられていない場合、当該トランザクションデータは管理者の承認が不要であると判断する（ステップＳ１１０：ＮＯ）。この場合、判定部６５３は、当該トランザクションデータは所定の完了条件を満たしたと判定し、ステップＳ１１２においてブロックデータに含めるトランザクションデータとして抽出する。
一方、判定部６５３は、工程情報にマルチシグネチャ機能が用いられている場合、当該トランザクションデータは管理者の承認が必要であると判断し（ステップＳ１１０：ＹＥＳ）、次のステップＳ１１１に進む。
【００４１】
次に、判定部６５３は、トランザクションデータは管理者の承認が必要であると判断した場合（ステップＳ１１０：ＹＥＳ）、当該トランザクションデータに管理者の署名（承認）が含まれているか否かを判断する（ステップＳ１１１）。
判定部６５３は、トランザクションデータに管理者の署名が含まれていない場合（ステップＳ１１１：ＮＯ）、当該トランザクションデータに含まれる工程情報（未承認工程情報）は所定の完了条件を満たしていないと判定する。この場合、ステップＳ１１２をスキップしてステップＳ１１３に進む。即ち、未承認工程情報を含むトランザクションデータは、ブロックデータを作成するためのトランザクションデータとして抽出されず、記憶部６２に未処理のまま保持される。
一方、判定部６５３は、トランザクションデータに管理者の署名が含まれている場合（ステップＳ１１１：ＹＥＳ）、当該トランザクションデータに含まれる工程条件（承認済み工程情報）は所定の完了条件を満たしていると判定し、次のステップＳ１１２に進む。
【００４２】
次に、ブロック作成部６５２は、判定部６５３により工程情報が所定の完了条件を満たしていると判定した場合（ステップＳ１１０：ＮＯ、または、ステップＳ１１１：ＹＥＳ）、当該工程情報を含むトランザクションデータを、ブロックデータを作成するためのトランザクションデータとして抽出する（ステップＳ１１２）。
また、ブロック作成部６５２は、記憶部６２に記憶されている全てのトランザクションデータの抽出を完了したか否かを判断する（ステップＳ１１３）。ブロック作成部６５２は、全てのトランザクションデータの抽出を完了していない場合（ステップＳ１１３：ＮＯ）、即ち、記憶部６２に判定部６５３により判定されていないトランザクションデータがある場合、ステップＳ１１０に戻り、他のトランザクションデータについても上述のステップＳ１１０〜Ｓ１１２の処理を実行する。
一方、ブロック作成部６５２は、全ての工程情報の抽出を完了した場合（ステップＳ１１３：ＹＥＳ）、次のステップＳ１１４に進む。
【００４３】
次に、ブロック作成部６５２は、ステップＳ１１２において抽出したトランザクションデータに基づいて、ブロックデータを作成する（ステップＳ１１４）。
【００４４】
次に、共有処理部６５４は、ブロック作成部６５２が作成したブロックデータを全ての演算装置６０間で共有し、当該ブロックデータと過去に共有されたブロックデータとを時系列に連結して記憶部６２に記憶する（ステップＳ１１５）。
このとき、複数の演算装置６０がブロックデータを作成した場合は、最も早く新たなブロックデータを作成した演算装置６０が、他の演算装置６０に当該新たなブロックデータを転送して共有するようにしてもよい。
演算装置６０は、以上の処理を定期的に実行することにより、ブロックデータを作成して複数の演算装置６０間で共有する。
【００４５】
（入力装置及び演算装置のハードウェア構成）
図５は、第１の実施形態に係る入力装置及び演算装置のハードウェア構成の例を示す図である。
以下、図５参照して、本実施形態に係る入力装置２０及び演算装置６０のハードウェア構成について説明する。
【００４６】
コンピュータ９００は、ＣＰＵ９０１、主記憶装置９０２、補助記憶装置９０３、入出力インタフェース９０４、通信インタフェース９０５を備える。
上述の入力装置２０及び演算装置６０は、それぞれ異なるコンピュータ９００に実装される。そして、上述した入力装置２０及び演算装置６０の各部の動作は、プログラムの形式でそれぞれのコンピュータ９００が有する補助記憶装置９０３に記憶されている。ＣＰＵ９０１（ＣＰＵ２５、ＣＰＵ６５）は、プログラムを補助記憶装置９０３から読み出して主記憶装置９０２に展開し、当該プログラムに従って上記処理を実行する。また、ＣＰＵ９０１は、プログラムに従って、処理に伴い取得、生成した各種情報を記憶するための記憶領域（記憶部２４、記憶部６２）を主記憶装置９０２に確保する。また、ＣＰＵ９０１は、プログラムに従って、処理中のデータを記憶する記憶領域を補助記憶装置９０３に確保する。
なお、コンピュータ９００は、入出力インタフェース９０４を介して、外部記憶装置９１０と接続されており、上記記憶領域は、外部記憶装置９１０に確保されてもよい。また、コンピュータ９００は、通信インタフェース９０５を介して、外部記憶装置９２０と接続されており、上記記憶領域は、外部記憶装置９２０に確保されてもよい。
【００４７】
なお、少なくとも一つの実施形態において、補助記憶装置９０３は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、入出力インタフェース９０４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ９００に配信される場合、配信を受けたコンピュータ９００が当該プログラムを主記憶装置９０２に展開し、上記処理を実行しても良い。
【００４８】
また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置９０３に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００４９】
（作用効果）
以上のように、本実施形態に係る工程管理システム１００は、製造工程の管理を行う工程管理システム１００であって、工程管理に係る情報を記憶する複数の演算装置６０の各々をノードとする分散型記憶システム６と、工程管理に係る情報の入力を受け付ける入力装置２０と、を備える。
入力装置２０は、製品を特定するための製品情報と、作業者により当該製品に対して実行された工程段階及び当該工程段階の内容を示す処理段階情報と、を関連付けた工程情報を作成する工程情報作成部２５１と、工程情報を分散型記憶システム６に記憶するための記憶要求を出力する記憶要求部２５２と、を有する。
演算装置６０の少なくとも一つは、記憶要求に示される工程情報が所定の完了条件を満たしているか否かを判定する判定部６５３と、判定部６５３が完了条件を満たしたと判定した工程情報に基づいて、ブロックデータを作成するブロック作成部６５２と、ブロックデータを全ての演算装置６０との間で共有し、当該ブロックデータと過去に共有されたブロックデータとを時系列に連結して記憶部６２に記憶する共有処理部６５４と、を有する。
このようにすることで、工程管理システム１００は、サイバー攻撃等により工程情報を改ざんする場合は、改ざんの対象となる工程情報を含むブロックデータと、当該ブロックデータ以降に作成されたブロックデータとの全てを改ざんしなければならなくなるため、改ざんの難易度を高めることができる。このため、工程管理システム１００は、システム全体における改ざんの難易度を高めることにより、工程情報が改ざんされることを抑制してセキュリティを向上させることが可能である。
また、上述の工程管理システム１００では、高性能且つ高度なセキュリティ機能を有する管理サーバを用意する必要がないため、工程管理システム１００の導入コストを低く抑えることが可能である。
【００５０】
また、判定部６５３は、工程情報に工程段階が完了したことを承認する情報（管理者の署名）が含まれている場合、当該工程情報は完了条件を満たすと判定する。
このようにすることで、判定部６５３は、管理者の承認を要する工程段階については、管理者により承認された工程情報のみが完了条件を満たすと判定する。これにより、管理者により確認及び承認された工程情報を含むトランザクションデータのみがブロックデータとして共有されるので、作業者が管理者の承認を得ないまま工程段階を完了したと報告する不正を抑制することができる。
【００５１】
また、本実施形態において、入力装置２０の受付部２１は、作業者と管理者との両方の署名を要するマルチシグネチャ機能が有効となるアカウントを用いて製品情報及び処理段階情報の入力の受け付けを行う。このように、受付部２１がアカウントを切り替えて工程情報の入力を受け付けることにより、工程情報作成部２５１は、複雑な処理を行うことなく、作業者及び管理者双方の署名を要するトランザクションデータを作成することができる。
【００５２】
また、入力装置２０の受付部２１は、作業者または管理者の操作に基づいて、演算装置６０に記憶されているブロックデータから過去の工程情報を読み出す操作を受け付けてもよい。これにより、工程管理システム１００は、読み出した工程情報を活用することにより、工程管理が正しく行われていることを証明することができる。また、工程管理システム１００は、工程情報として試験結果を含むファイルがアップロードされている場合には、当該試験結果により製品の品質及び性能を証明することができる。
【００５３】
＜第２の実施形態＞
次に、本発明の第２の実施形態に係る工程管理システム１００について図６〜図８を参照して説明する。
第１の実施形態と共通の構成要素には同一の符号を付して詳細説明を省略する。
【００５４】
図６は、第２の実施形態に係る工程管理システムの機能構成を示す図である。
図６に示すように、本実施形態に係る工程管理システム１００は、ネットワークＮＷを介して入力装置２０、及び、複数の演算装置６０のそれぞれと通信可能に接続されたデータベース３０を更に備えている。
データベース３０には、演算装置６０が入力装置２０より記憶要求とともに受信した工程情報が登録される。
【００５５】
入力装置２０のＣＰＵ２５は、データ要求部２５３を更に有している。
データ要求部２５３は、作業者及び管理者が受付部２１を介して入力した製品に関する工程情報を、データベース３０から読み出す。例えば、データ要求部２５３は、作業者及び管理者が受付部２１を介して入力した製品番号等を含む工程情報をデータベース３０から読み出し、表示部２２に表示するようにしてもよい。
【００５６】
演算装置６０のＣＰＵ６５は、ハッシュ生成部６５５と、データ登録部６５６と、データ検証部６５７とを更に有している。
ハッシュ生成部６５５は、判定部６５３が完了条件を満たしたと判定した工程情報に基づいてハッシュ値を計算する。
具体的には、ハッシュ生成部６５５は、工程情報を含むトランザクションをハッシュ化したトランザクションＩＤ（ハッシュ値）を生成するとともに、工程情報をハッシュ化したハッシュ値を生成する。また、工程情報に試験結果等のファイルが添付されている場合は、当該ファイルのハッシュ値を生成してもよい。
【００５７】
また、本実施形態において、ブロック作成部６５２は、ハッシュ生成部６５５が計算したトランザクションＩＤを工程情報に付与する。そして、ブロック作成部６５２は、当該トランザクションＩＤと、工程情報のハッシュ値とを関連付けてブロックデータを作成する。
なお、本実施形態では、ブロックデータにはトランザクションＩＤと、工程情報及び添付ファイルのハッシュ値とが含まれていればよく、工程情報及び添付ファイル自体は含まれていても、含まれていなくてもよい。ブロック作成部６５２が工程情報及び添付ファイル自体を含まないブロックデータを作成する場合は、その分ブロックデータの容量を小さくすることができる。
【００５８】
データ登録部６５６は、工程情報と、当該工程情報のトランザクションＩＤとを関連付けてデータベース３０に登録する。
【００５９】
データ検証部６５７は、データベース３０に登録された工程情報のハッシュ値と、記憶部６２に記憶されたブロックデータに含まれるハッシュ値とに基づいて、データベース３０に登録された工程情報の改ざんの有無を検出する。また、データ検証部６５７は、工程情報が改ざんされたことを検出すると、入力装置２０のそれぞれに異常報告を出力する。
【００６０】
（演算装置の処理フロー）
図７は、第２の実施形態に係る演算装置の第１の処理フローである。
以下、図７を参照して、本実施形態に係る演算装置６０がブロックデータを共有する処理の流れについて説明する。
まず、演算装置６０のブロック作成部６５２は、記憶部６２に記憶されている複数の工程情報のうち、ブロックデータに含めるトランザクションデータを抽出する（ステップＳ２００）。このとき、判定部６５３及びブロック作成部６５２は、上述の第１の実施形態と同様の処理（図４のステップＳ１１０〜Ｓ１１２）を実行する。
【００６１】
次に、ハッシュ生成部６５５は、ステップＳ２００において抽出されたトランザクションデータに含まれる工程情報をハッシュ化する（ステップＳ２０１）。
【００６２】
次に、ハッシュ生成部６５５は、工程情報を含む記憶要求のトランザクションをハッシュ化したトランザクションＩＤ（ハッシュ値）を生成し、工程情報のそれぞれを特定可能なトランザクションＩＤとして工程情報に付与する（ステップＳ２０２）。
【００６３】
次に、データ登録部６５６は、工程情報と、当該工程情報のトランザクションＩＤとを関連付けてデータベース３０に登録する（ステップＳ２０３）。
【００６４】
次に、ブロック作成部６５２は、記憶部６２に記憶されている全てのトランザクションデータの抽出を完了したか否かを判断する（ステップＳ２０４）。ブロック作成部６５２は、全てのトランザクションデータの抽出を完了していない場合（ステップＳ２０４：ＮＯ）、即ち、記憶部６２に判定部６５３により判定されていないトランザクションデータがある場合、ステップＳ２００に戻り、他のトランザクションデータについても上述のステップＳ２００〜Ｓ２０３の処理を実行する。
一方、ブロック作成部６５２は、全てのトランザクションデータの抽出を完了した場合（ステップＳ２０４：ＹＥＳ）、次のステップＳ２０５に進む。
【００６５】
次に、ブロック作成部６５２は、工程情報のトランザクションＩＤとハッシュ値とを関連付けてブロックデータを作成する（ステップＳ２０５）。
【００６６】
次に、共有処理部６５４は、ブロック作成部６５２が作成したブロックデータを全ての演算装置６０間で共有し、当該ブロックデータと過去に共有されたブロックデータとを時系列に連結して記憶部６２に記憶する（ステップＳ２０６）。
演算装置６０は、以上の処理を定期的に実行することにより、ブロックデータを作成して複数の演算装置６０間で共有する。
【００６７】
図８は、第２の実施形態に係る演算装置の第２の処理フローである。
以下、図８を参照して、演算装置６０のデータ検証部６５７が工程情報の改ざんの有無を検出する処理の流れについて説明する。
まず、演算装置６０のデータ検証部６５７は、データベース３０に登録されている工程情報のトランザクションＩＤを取得する（ステップＳ２１０）。
【００６８】
次に、データ検証部６５７は、トランザクションＩＤに基づいてブロックデータから工程情報を抽出し、データベース３０に登録されている工程情報のハッシュ値と、ブロックデータに記憶されている工程情報のハッシュ値が一致するか否かを判断する（ステップＳ２１１）。
データ検証部６５７は、データベース３０に登録されている工程情報のハッシュ値と、ブロックデータに記憶されている工程情報のハッシュ値が一致する場合（ステップＳ２１１：ＹＥＳ）、当該工程情報は改ざんされていないと判断する。
一方、データ検証部６５７は、データベース３０に登録されている工程情報のハッシュ値と、ブロックデータに記憶されている工程情報のハッシュ値が一致しない場合（ステップＳ２１１：ＮＯ）、当該工程情報は改ざんされていると判断する。この場合、データ検証部６５７は、工程情報が改ざんされていることを示す異常報告を入力装置２０に出力する（ステップＳ２１２）。このとき、データ検証部６５７は、改ざんされていると判断された工程情報（処理段階情報）に含まれるショップ番号を参照して、当該ショップ番号が示すショップに設けられた入力装置２０のみに異常報告を出力するようにしてもよいし、全ての入力装置２０に異常報告を出力するようにしてもよい。これにより、ショップＰ１〜Ｐｎの作業者及び管理者が、工程情報の改ざんが行われたことを知ることができる。
【００６９】
次に、データ検証部６５７は、データベース３０に登録された全ての工程情報に対する改ざん有無の検出が完了したか否かを判断する（ステップＳ２１３）。
データ検証部６５７は、改ざん有無の検出を行っていない工程情報が残っている場合（ステップＳ２１３：ＮＯ）、ステップＳ２１０に戻り、上述のステップＳ２１０〜Ｓ２１２の処理を繰り返し実行する。
一方、データ検証部６５７は、全ての工程情報について改ざん有無の検出が完了した場合（ステップＳ２１３：ＹＥＳ）、当該処理を終了する。
データ検証部６５７は、所定間隔（例えば２４時間）ごとに、上述の工程情報の改ざんの有無を検出する処理を実行する。
【００７０】
（作用効果）
以上のように、本実施形態に係る工程管理システム１００は、工程情報を登録するデータベース３０を更に備える。
演算装置６０の少なくとも一つは、判定部６５３が完了条件を満たしたと判定した工程情報に基づいて、ハッシュ値を計算するハッシュ生成部６５５と、工程情報とハッシュ値とを関連付けてデータベース３０に登録するデータ登録部６５６と、を更に有する。ブロック作成部６５２は、ハッシュ値を含むブロックデータを作成する。
演算装置６０では、工程情報がブロックデータ別に分断されるので、作業者及び管理者がブロックデータを参照して所望の工程情報を検索、抽出するためには、演算装置６０において複雑な処理が必要となる可能性がある。しかしながら、上述の態様では、工程情報はデータベース３０に登録されるので、演算装置６０において工程情報の検索、抽出を行う機能を用意する必要がない。このため、工程管理システム１００の開発コストを低減することができる。例えば、入力装置２０のデータ要求部２５３は、作業者及び管理者が受付部２１を介して入力した製品に関する工程情報を、データベース３０から読み出し、表示部２２に表示するようにしてもよい。これにより、作業者及び管理者は、入力装置２０を介してデータベース３０より所望の工程情報を検索、抽出して閲覧することができる。
また、上述の工程管理システム１００では、作業者及び管理者はデータベース３０に登録された工程情報から所望の工程情報を容易に読み出すことが可能となる。
【００７１】
また、演算装置６０の少なくとも一つは、データベース３０に登録されたハッシュ値と、記憶部６２に記憶されたブロックデータに含まれるハッシュ値とに基づいて、データベース３０に登録された工程情報の改ざんの有無を検出するデータ検証部６５７を更に有する。
このようにすることで、データ検証部６５７は、データベース３０に登録された工程情報のハッシュ値と、ブロックデータに含まれるハッシュ値とを比較することにより、データベース３０に登録された工程情報の改ざんの有無を容易に検出することができる。
また、データベース３０に登録された工程情報にはそれぞれトランザクションＩＤが付与されているため、当該トランザクションＩＤに基づいて、ブロックデータから工程情報を読み出す処理を高速化することができる。
【００７２】
また、ブロック作成部６５２は、工程情報自体を含まないブロックデータを作成してもよい。このようにすることで、ブロック作成部６５２は、ブロックデータの容量を小さくすることができる。この結果、工程管理システム１００は、記憶部６２の容量を削減して、システムの構築に要するコストを削減することができる。
【００７３】
また、データ検証部６５７は、改ざんされていると判断された工程情報（処理段階情報）に含まれるショップ番号を参照して、当該ショップ番号が示すショップに設けられた入力装置２０のみに異常報告を出力するようにしてもよいし、全ての入力装置２０に異常報告を出力するようにしてもよい。これにより、ショップＰ１〜Ｐｎの作業者及び管理者が、工程情報の改ざんが行われたことを知ることができる。
【００７４】
＜第３の実施形態＞
次に、本発明の第３の実施形態に係る工程管理システム１００について図９〜図１０を参照して説明する。
上述の各実施形態と共通の構成要素には同一の符号を付して詳細説明を省略する。
【００７５】
図９は、第３の実施形態に係る工程管理システムの機能構成を示す図である。
図９に示すように、本実施形態に係る入力装置２０のＣＰＵ２５は、完了承認部２５４を更に有する。
なお、図９では図示を省略しているが、本実施形態に係る工程管理システム１００は、第２の実施形態（図６）において説明したデータベース３０と、入力装置２０のデータ要求部２５３と、演算装置６０のハッシュ生成部６５５、データ登録部６５６、及びデータ検証部６５７とを更に有していてもよい。
【００７６】
完了承認部２５４は、記憶要求部２５２が後工程段階（第１の工程段階）を含む工程情報（第１の工程情報）の記憶要求を出力したときに、前工程（第２の工程段階）を含む工程情報（第２の工程情報）に当該前工程が完了したことを承認する情報（管理者の署名）が含まれていない場合、当該前工程が完了したことを承認する情報（署名）を含むトランザクションデータを発行する。
【００７７】
（入力装置の処理フロー）
図１０は、第３の実施形態に係る演算装置の処理フローである。
以下、図１０を参照して、本実施形態に係る入力装置２０が工程情報の記憶要求を行う処理の流れについて説明する。
以下の説明では、例えば、ショップＰ１における最後の工程（「部品の受け入れ」工程）を完了した後、ショップＰ２における最初の工程（「部品の洗浄」工程）を行われるものとする。
ショップＰ２の作業者は、「部品の洗浄」工程を完了すると、受付部２１を介して、製品の製品番号を含む製品情報を入力する。また、ショップＰ２の作業者は、受付部２１を介して、「部品の洗浄」の工程段階を示す情報と、ショップＰ１のショップ番号（Ｐ２）、作業者の署名と、受け入れた部品の部品番号と、当該部品の洗浄工程が完了したことを示す情報と、を含む処理段階情報を入力する。
そうすると、図１０に示すように、入力装置２０の受付部２１は、ショップＰ２の作業者の操作に基づいて、製品情報及び処理段階情報の入力を受け付ける（ステップＳ３００）。また、受付部２１は、バーコード等から製品情報及び処理段階情報を自動的に読み取ることにより、これら情報の入力を受け付けてもよい。
【００７８】
次に、入力装置２０の工程情報作成部２５１は、ステップＳ３００において受付部２１が受け付けた製品情報と、処理段階情報とを関連付けた工程情報を作成する（ステップＳ３０１）。また、本実施形態において、工程情報作成部２５１は、工程情報と、当該工程情報が完了条件を満たすか否かを示す情報とを含むトランザクションデータを作成して、記憶要求部２５２に出力する。
【００７９】
次に、入力装置２０の記憶要求部２５２は、工程情報作成部２５１が作成したトランザクションデータを分散型記憶システム６に記憶するための記憶要求を出力する（ステップＳ３０２）。
【００８０】
次に、完了承認部２５４は、ステップＳ３０１において作成した工程情報が示す工程段階（「部品の洗浄」）の前工程、即ち「部品の受け入れ」工程が完了状態になっているか否かを判断する（ステップＳ３０３）。
具体的には、完了承認部２５４は、「部品の受け入れ」工程を示す工程情報を含むトランザクションデータに、管理者の承認を示す情報（管理者の署名）が入力されているか否かを判断する。
ここで、ショップＰ１において、前工程である「部品の受け入れ工程」を示す工程情報が、複数人の署名を要するマルチシグネチャ機能が有効となるアカウントを用いて入力されていたとする。また、本実施形態では、ショップＰ１の作業者及び管理者と、ショップＰ２の作業者または管理者の３つの署名のうち、２つの署名が入力された場合、当該工程は必要な署名（承認）が入力されたトランザクションデータとして扱われる（演算装置６０の判定部６５３により完了条件を満たすと判定される）ものとする。
完了承認部２５４は、演算装置６０の記憶部６２に記憶されているブロックデータから前工程を示す工程情報を含むトランザクションデータ検索し、当該トランザクションデータに管理者の署名が入力されている場合、前工程は完了状態になっていると判断し（ステップＳ３０３：ＹＥＳ）、処理を終了する。
一方、完了承認部２５４は、前工程の工程情報を含むトランザクションデータに、管理者の署名が入力されていない場合、前工程は完了状態になっていないと判断し（ステップＳ３０３：ＮＯ）、次のステップＳ３０４に進む。
【００８１】
次に、完了承認部２５４は、前工程である「部品の受け入れ」を示す工程情報を含むトランザクションデータに管理者の署名が入力されていない場合（ステップＳ３０３：ＮＯ）、当該トランザクションデータにショップＰ２の作業者または管理者の署名、即ち、承認情報を入力する（ステップＳ３０４）。
【００８２】
次に、完了承認部２５４によりトランザクションデータに承認情報が入力されると、入力装置２０の記憶要求部２５２は、当該トランザクションデータを分散型記憶システム６に記憶するための記憶要求を出力する（ステップＳ３０５）。
【００８３】
（作用効果）
以上のように、完了承認部２５４は、記憶要求部２５２が後工程を示す工程情報を含むトランザクションデータの記憶要求を出力したときに、前工程の工程情報に管理者の署名、即ち、当該前工程が完了したことを承認する情報が含まれていない場合、後工程の作業者または管理者の署名を入力して、前工程が完了したことを承認してもよい。
このようにすることで、前工程において管理者による承認が滞っている場合、完了承認部２５４は、前工程が完了したことを承認することができる。これにより、管理者の承認待ちにより、実際の工程段階の進捗と、工程管理システム１００上における工程段階の進捗とが乖離することを抑制することができる。
【００８４】
＜第４の実施形態＞
次に、本発明の第４の実施形態に係る工程管理システム１００について図１１を参照して説明する。
上述の各実施形態と共通の構成要素には同一の符号を付して詳細説明を省略する。
【００８５】
図１１は、第４の実施形態に係る工程管理システムの機能構成を示す図である。
図１１に示すように、本実施形態に係る工程管理システム１００は、情報取得システム４０を更に備えている。
なお、図１１では図示を省略しているが、本実施形態に係る工程管理システム１００は、第２の実施形態（図６）において説明したデータベース３０と、演算装置６０のハッシュ生成部６５５、データ登録部６５６、及びデータ検証部６５７とを更に有していてもよいし、第３の実施形態（図９）において説明した入力装置２０の完了承認部２５４を更に有していてもよい。
【００８６】
入力装置２０のＣＰＵ２５は、データ要求部２５３を有している。
データ要求部２５３は、作業者及び管理者が受付部２１を介して入力した検索キーに基づいて、製造工程の進捗情報を出力するように情報取得システム４０に要求する。検索キーは、例えば製品番号、部品番号、ショップ番号、工程段階である。例えば、作業者及び管理者が検索キーとして製品番号を入力すると、データ要求部２５３は、当該製品番号と関連する製品の進捗情報を出力するように情報取得システム４０に要求する。なお、データ要求部２５３は、複数の検索キーと関連する進捗情報を出力するように情報取得システム４０に要求してもよい。
また、データ要求部２５３は、情報取得システム４０から出力された進捗情報を、表示部２２に表示するようにしてもよい。
【００８７】
演算装置６０のＣＰＵ６５は、識別子生成部６５８を更に有している。
識別子生成部６５８は、判定部６５３が完了条件を満たしたと判定した工程情報の製品及び工程段階を示す識別子を生成する。
識別子は、工程情報の概要を識別可能な情報であり、例えば、どの製品また部品がどの工程段階を実行したかを示す。
識別子生成部６５８は、少なくとも製品番号、部品番号、ショップ番号、工程段階が識別可能な識別子を生成する。なお、各工程段階の詳細な実行内容、試験結果のような、サプライヤ等の社外へ公開できない秘匿性の高い情報は識別子からは判別できないようにする。
また、識別子生成部６５８は、記憶部６２に予め記憶されている工程情報と識別子との対応表に基づいて、識別子を生成するようにしてもよい。
【００８８】
また、本実施形態において、ブロック作成部６５２は、識別子生成部６５８が生成した識別子を工程情報に付与する。そして、ブロック作成部６５２は、当該識別子を含むブロックデータを作成する。
【００８９】
情報取得システム４０は、ネットワークＮＷを介して入力装置２０、及び、複数の演算装置６０のそれぞれと通信可能に接続されており、製品別の製品工程の進捗を示す進捗情報を作成する装置である。
情報取得システム４０は、通信部４１と、記憶部４２と、ＣＰＵ４５とを有している。
【００９０】
通信部４１は、ネットワークＮＷを介して入力装置２０、及び、演算装置６０との間で各種情報の送受信を行う。
【００９１】
記憶部４２には、工程情報（製品番号、部品番号、ショップ番号、工程段階等）と識別子との対応表が予め記憶されている。
【００９２】
ＣＰＵ４５は、要求受付部４５１と、進捗情報作成部４５２とを有している。
要求受付部４５１は、入力装置２０から指定された検索キーとともに進捗情報の出力要求を受け付けて、検索キーと関連する識別子を抽出する。
要求受付部４５１は、例えば入力装置２０から製品番号を検索キーとして指定された場合、記憶部６２に記憶されている工程情報と識別子との対応表を参照して、指定された製品番号を含む識別子を抽出する。
【００９３】
進捗情報作成部４５２は、分散型記憶システム６において共有されたブロックデータに含まれる識別子に基づいて、進捗情報を作成する。
具体的には、進捗情報作成部４５２は、まず、記憶部６２に記憶されたブロックデータから、要求受付部４５１が抽出した識別子を含む工程情報を抽出する。そして、進捗情報作成部４５２は、ブロックデータカラ抽出した工程情報に基づいて、進捗情報を作成する。
進捗情報作成部４５２は、識別子のみを含む進捗情報を作成してもよいし、識別子から識別可能な工程情報（製品番号、部品番号、ショップ番号、工程段階等）を含む進捗情報を作成してもよい。進捗情報に識別子のみが含まれる場合は、入力装置２０の記憶部２４に工程情報と識別子との対応表が予め記憶されていてもよい。
進捗情報作成部４５２は、作成した進捗情報を通信部４１を介して入力装置２０へ出力する。
【００９４】
（作用効果）
以上のように、本実施形態に係る工程管理システム１００は、製品別の製品工程の進捗を示す進捗情報を作成する情報取得システム４０を更に備える。
演算装置６０の少なくとも一つは、判定部６５３が完了条件を満たしたと判定した工程情報の製品及び工程段階を示す識別子を生成する識別子生成部６５８を更に有する。
ブロック作成部６５２は、前記識別子を含む前記ブロックデータを作成する。
前記情報取得システム４０は、分散型記憶システム６（複数の演算装置６０）において共有されたブロックデータに含まれる識別子に基づいて、進捗情報を作成する進捗情報作成部４５２を有する。
このようにすることで、工程管理システム１００は、識別子に基づいてブロックデータから所望の工程情報を検索、抽出することが容易になる。また、作業者及び管理者は、識別子に基づき作成された進捗情報を参照することにより、製品別の製品工程の進捗を認識することができる。
【００９５】
また、進捗情報作成部４５２は、識別子のみを含む進捗情報を作成してもよいし、識別子から識別可能な工程情報（製品番号、部品番号、ショップ番号、工程段階等）を含む進捗情報を作成してもよい。
より高度な品質管理、工程管理を行うためには、製造会社の作業員により実行される工程のみならず、製造会社に部品納入を行う部品サプライヤ、組み立てを請け負う組立てメーカ等の作業員による工程も管理可能な管理システムを構築する必要がある。このように複数の会社で工程情報を閲覧可能としてしまうと、各工程段階の詳細な実行内容、試験結果のような、他社へ公開できない秘匿性の高い情報が流出してしまう可能性がある。
しかしながら、上述の実施形態では、進捗情報作成部４５２は、工程情報のうち、秘匿性の高い情報を除いた概要情報のみを含む進捗情報を作成する。このため、複数の会社に跨る製造工程であっても、複数の会社のそれぞれの作業者及び管理者は、進捗情報に基づいてどの製品がどの工程段階を実行したか認識できるが、進捗情報に含まれない秘匿性の高い情報は閲覧できない。このため、上述の工程管理システム１００は、秘匿性の高い情報が他社に知られてしまうことを抑制することができる。
【００９６】
以上、本発明の実施形態について詳細に説明したが、本発明の技術的思想を逸脱しない限り、これらに限定されることはなく、多少の設計変更等も可能である。
例えば、上述の各実施形態では、ショップＰ１〜Ｐｎのそれぞれに演算装置６０が設けられている例について説明したが、これに限られることはない。他の実施形態では、ショップＰ１〜Ｐｎとは異なる場所にクラウドサーバとして複数の演算装置６０を設けてもよい。
【符号の説明】
【００９７】
１００  工程管理システム
２０  入力装置
２１  受付部
２２  表示部
２３  通信部
２４  記憶部
２５  ＣＰＵ
２５１  工程情報作成部
２５２  記憶要求部
２５３  データ要求部
２５４  完了承認部
３０  データベース
４０  情報取得システム
４１  通信部
４２  記憶部
４５  ＣＰＵ
４５１  要求受付部
４５２  進捗情報作成部
６  分散型記憶システム
６０  演算装置
６１  通信部
６２  記憶部
６５  ＣＰＵ
６５１  工程情報取得部
６５２  ブロック作成部
６５３  判定部
６５４  共有処理部
６５５  ハッシュ生成部
６５６  データ登録部
６５７  データ検証部
６５８  識別子生成部
【図１】
2018169798.tif 000003
【図２】
2018169798.tif 000004
【図３】
2018169798.tif 000005
【図４】
2018169798.tif 000006
【図５】
2018169798.tif 000007
【図６】
2018169798.tif 000008
【図７】
2018169798.tif 000009
【図８】
2018169798.tif 000010
【図９】
2018169798.tif 000011
【図１０】
2018169798.tif 000012
【図１１】
2018169798.tif 000013