[第1の実施形態]
第1の実施形態について図面を参照して説明する。本実施形態に係る管理システムは、建築、土木作業時の各種施工に関する情報を含む施工データの保存、管理などを行うシステムである。管理システムでは、施工データは、ピア・ツー・ピア方式で接続された複数のノードで分散管理される。また、施工データは、ブロックチェーンを用いた形式で保存される。これらのことから、管理システムでは、施工データの改竄が困難となっている。管理システムには、保存された施工データを参照して、ユーザの手元にあるデータが改竄されていないことを確認する仕組みが設けられている。
〈システム構成〉
図1は、本実施形態に係る管理システム1の構成例の概略を示す。図1に示すように、管理システム1は、管理ネットワーク110と、現場管理者パーソナルコンピュータ(PC)120と、現場端末130と、確認者PC140とを備える。管理ネットワーク110は、信頼性が確保された施工データを保存する。管理ネットワーク110は、ノードとして機能する複数のサーバ等が、例えば、ピア・ツー・ピア型ネットワークで互いに接続されることで構成されている。現場端末130は、施工現場で用いられる端末である。現場端末130は、施工現場で、施工に関係するデータを収集する。現場管理者PC120は、現場端末130によって取得されたデータなどを整理したり、そのデータに基づいて報告書を作成したりする。現場管理者PC120は、現場端末130で取得されたデータ、当該データに基づく加工データ、報告書のデータなどのうち、記録が必要なデータを管理ネットワーク110にブロードキャスト送信する。管理ネットワーク110の各ノードは、所定の方式に従って、現場管理者PC120から送信されたデータに基づく情報を保存する。また、現場管理者PC120は、報告すべきデータを確認者PC140に送信する。確認者PC140は、現場管理者PC120から取得したデータに基づいて、施工に関する確認作業を行う。また、確認者PC140は、管理ネットワーク110に保存された記録と照合することで、現場管理者PC120から取得したデータの真偽を確認する。
管理ネットワーク110は、複数のノードを含むピア・ツー・ピア型ネットワークである。図1には、第1のノード111、第2のノード112、第3のノード113、第4のノード114、及び第5のノード115の5つのノードが模式的に示されている。このノードの数はいくつであってもよい。ノードは、例えばサーバ装置であり得る。管理ネットワーク110の各ノードは、施工データを所定の規則に従って保存する。各ノードは、互いに合意して、同一のデータを保存する。すなわち、管理ネットワーク110は、分散台帳型ネットワークとなっている。本実施形態では、施工データは、ブロックチェーン技術を用いて記録されている。例えば、各ノードは、記録すべき同一の施工データを取得する。各ノードは、ブロックチェーンに追加する当該施工データを含むブロックの情報を互いに送信し、その同一性を確認する。各ノードが、自身がブロックチェーンに追加しようとしているブロックと、他のノードがブロックチェーンに追加しようとしているブロックとが一致していると判断したとき、各ノードがその同一のブロックをブロックチェーンに追加する。このようにして、各ノードが同一のブロックチェーンを保持し続ける。なお、保存されるデータは、適宜に暗号化されてもよい。
現場管理者PC120は、例えば施工現場に配置され、現場管理者によって使用される。現場管理者PC120は、現場端末130と通信を行う。また、現場管理者PC120は、例えばインターネットに接続し、管理ネットワーク110及び確認者PC140とも通信を行う。現場管理者PC120は、当該施工現場で行われる施工に関するデータを整理する。現場管理者PC120は、管理ネットワーク110に、記録すべき施工データを送信する。施工データを受信した管理ネットワーク110の各ノードは、施工データを所定の方式で保存する。測定で得られたデータなど未処理で保存すべきデータについては、現場管理者PC120などで加工がされないよう、自動的に管理ネットワーク110に送信される仕組みを管理システム1が備えていてもよい。また、現場管理者PC120は、施工データを確認者PC140にも送信する。
現場管理者PC120から管理ネットワーク110及び確認者PC140に送信される施工データは、施工場所、施工日時、施工内容などのデータ、設計に関する情報、施工時の各種測定によって得られる測定データ、施工状況の点検結果、それらに基づいて作成された報告書のデータ等、種々のデータであり得る。
現場端末130は、例えば、施工現場に持参される、タブレット型の情報端末である。現場端末130は、現場管理者PC120と通信を行う。現場端末130は、施工現場の情報を収集したり、施工現場を撮影したり、施工現場で測定される各種測定データを記録したり、点検した施工状況が入力されたりする装置であり得る。また、現場端末130は、施工に関する計測装置に接続され、計測データを取得する装置であってもよい。この場合、現場端末130は、用途が限定された専用のコンピュータであり得る。また、現場端末130は、計測装置と現場管理者PC120との間のデータの中継をする装置であってもよい。現場端末130は、取得した各種データを現場管理者PC120に送信する。図1には、現場管理者PC120と現場端末130とが1つずつ描かれているが、1台の現場管理者PC120に複数の現場端末130が接続されてもよい。また、1台の現場端末130が、複数の現場管理者PC120に接続してもよい。
確認者PC140は、現場管理者PC120から受信した施工データが正しいか否かを確認する確認者が使用するPCである。確認者PC140は、現場管理者PC120から受信した施工データについて各種処理を行ってもよい。確認者PC140は、例えばインターネットを介して、管理ネットワーク110及び現場管理者PC120と通信を行う。確認者PC140は、現場管理者PC120から施工に関するデータを受信する。確認者PC140は、管理ネットワーク110に、信頼性が確保された施工データに係る情報を要求し、当該情報を取得する。確認者PC140は、現場管理者PC120から取得したデータと、管理ネットワーク110から取得したデータとを比較することで、現場管理者PC120から取得したデータの真偽を判断する。確認者PC140は、現場管理者PC120から取得したデータに基づいて、施工状況の管理、施工結果の点検、その他の各種データ処理を行う。
図1には、管理ネットワーク110、現場管理者PC120、現場端末130及び確認者PC140がそれぞれ1つ図示されているが、これらはそれぞれいくつであってもよい。例えば、複数の工事現場の情報や複数の施工段階の情報が1つの管理ネットワーク110を用いて管理される場合、1つの管理ネットワーク110に接続する現場管理者PC120及び確認者PC140は複数となる。同一の工事現場でも施工段階に応じて異なる管理ネットワーク110を用いて管理される場合、1つの確認者PC140が、複数の管理ネットワーク110に接続することがある。この場合に、各管理ネットワーク110にそれぞれ異なる現場管理者PC120が接続する。
〈情報処理装置の構成〉
上述の各装置を構成するサーバ、PC、タブレット型情報端末、専用のコンピュータなどは、一般的に情報処理装置の構成を有する。図2は、このような情報処理装置300の構成例の概略を示す。情報処理装置300は、バスライン308を介して互いに接続された、CPU(Central Processing Unit)301、RAM(Random Access Memory)302、ROM(Read Only Memory)303、ストレージ304、通信装置305、入力装置306、表示装置307などを備える。
CPU301は、各種信号処理等を行う。RAM302は、CPU301の主記憶装置として機能する。ROM303は、各種プログラムなどを記憶している。ストレージ304には、例えば、Hard Disk Drive(HDD)、Solid State Drive(SSD)等が用いられる。ストレージ304には、CPU301で用いられるプログラム、パラメータ等各種情報が記録されている。また、ストレージ304は、各種データが記録される。情報処理装置300は、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等を備えていてもよい。
上述のプログラムは、例えばインターネットといった通信回線や、各種記憶媒体を介して提供され、情報処理装置300にインストールされる。インストールされるプログラムに応じて、情報処理装置300は、管理ネットワーク110のノード、現場管理者PC120、現場端末130又は確認者PC140などとして機能する。すなわち、各プログラムが、複数の情報処理装置に提供され、情報処理装置がそれぞれの機能を果たすことで、管理システム1が形成される。
通信装置305は、他の装置との通信に用いられる。通信装置305は、例えば、有線又は無線の各種通信規格を使用し得る。通信には、半導体メモリなど各種記録媒体が用いられてもよい。入力装置306は、例えば、キーボード、マウス、タッチパネルなどであり得る。表示装置307は、液晶ディスプレイ、有機ELディスプレイなどであり得る。
〈データ構造〉
本実施形態では、施工データの記録に、データベースとしてのブロックチェーンが用いられる。図3は、ブロックチェーンを用いた記録データのデータ構造の一例の概略を示す。一連の施工データを含むブロックチェーン500は、複数のブロックを含む。例えば、図3には、n−1番目のブロック510と、n番目のブロック520と、n+1番目のブロック530とが示されている。
各ブロックには、ブロックヘッダと、トランザクションリストに相当する施工データとが含まれる。施工データは、現場管理者PC120から送信された記録されるべきデータである。ブロックヘッダは、少なくとも直前のブロックのブロックヘッダのハッシュ値と、時刻情報と、施工データのマークルルートとを含む。
例えば、n−1番目のブロック510に、ある施工データ518を記録する。このとき、n−1番目のブロック510のブロックヘッダ511は、n−2番目のブロックのブロックヘッダのハッシュ値513を含む。また、このブロックヘッダ511は、当該データを記録する時の時刻情報514を含む。また、このブロックヘッダ511は、施工データ518に関するハッシュ値である、マークルルート515を含む。
次に、n番目のブロック520に次の施工データ528が記録されるとき、ブロックヘッダ521には、n−1番目のブロック510のブロックヘッダ511のハッシュ値523が含まれる。その他、n−1番目のブロック510の場合と同様に、記録される時の時刻情報524と、施工データ528のマークルルート525とがブロックヘッダ521に含められる。このようにして、ブロックヘッダ521と施工データ528とが対になったn番目のブロック520が記録される。
n+1番目のブロック530の場合も同様に、n番目のブロック520のブロックヘッダ521のハッシュ値533と、時刻情報534と、施工データ538のマークルルート535とを含むブロックヘッダ531が作成され、施工データ538とともに記録される。
仮にn番目のブロック520の施工データ528が変更されると、当該ブロック520の施工データ528とマークルルート525とが整合しないことになる。仮に施工データ528に合わせてマークルルート525を変更すると、次のn+1番目のブロック530に記録された直前ブロックのブロックヘッダのハッシュ値533がn番目のブロック520のブロックヘッダ521のハッシュ値と整合しないことになる。このように、ブロックチェーン500に保存された施工データの改変は、容易に発見され得る。このことに基づいて、ブロックチェーン500に保存された施工データの真正性は保証される。
なお、ここでは、各ブロックは、直前ブロックのブロックヘッダのハッシュ値を含むものとしたが、これに限らない。各ブロックは、例えば直前ブロック全体のハッシュ値を含んでいてもよい。このように、各ブロックは、過去に保存したデータに基づいて算出された値であって、過去に保存したデータが変化したら変化する値を含んでいればよい。
〈施工データの例〉
本実施形態に係る管理システム1は、例えば建築、土木などの種々の施工のデータを管理できる。管理されるデータには、杭基礎に関するデータも含まれ得る。杭基礎の場合を例に挙げて、杭施工時の測定データを施工データとした場合のデータ構造の一例を図4A及び図4Bを参照して説明する。
図4Aに示すように、測定データは、例えば次のような情報を含み得る。測定データごとにパスワードが設定され得る。測定データは、杭を特定する杭番号、杭の設計に関する種類を示す杭符号等を含み得る。また、測定データは、工事を特定するための工事ID及び工事名称を含み得る。測定データは、杭の位置を示す位置情報、当該施工が行われた日時を示す施工日時、杭の種類を示す杭種などの情報を含み得る。また、測定データは、掘削時に杭打機で測定され得る、回転トルク、電流値、掘削深度、回転速度、杭穴径、掘削液供給量などの情報を含み得る。測定データに含まれる情報は、上述の一部でもよいし、その他の情報が含まれてもよい。
図4Aには、1回の測定で1セットの施工データが作成される場合を示した。しかしながら、これに限らない。図4Bに示すように、1セットの施工データは、複数回の測定によって得られたデータを含んでいてもよい。この場合、図4Bに示すように、杭符号が同一であるデータが1セットの施工データとされてもよい。1セットの施工データに関するパスワードは、共通であってもよい。また、1セットの施工データに含まれる測定データごとに、パスワードが異なっていてもよい。杭符号ではなく、他のデータが同じ測定データの集合が1セットの施工データとされてもよいし、種々のデータが1セットの施工データとされてもよい。
図4A及び図4Bには、施工データとして測定データの一例を示したが、これに限らない。施工データは、施工概要、測定データ、設計データ、施工状況のチェック結果のデータ、施工現場の写真のデータ、施工報告書のデータ、帳票のデータ、報告書又は帳票等について、ゼネコン、元請け業者、又は施主等の確認印等が押されたもののデータ等であってもよいし、それらの組み合わせであってもよい。
これらデータには、例えば、深度とN値などN値に関する情報、ヘッド径の最小値及び最大値などオーガヘッドに関する情報、掘削深度、掘削速度、使用するオーガヘッド、ヘッド径、杭径、杭周固定液供給量、根固め液供給量、偏芯など掘削に関する情報、杭番号、杭種別、杭長、杭径、製品名、製造番号、接手など杭に関する情報、計測された杭穴深度、オーガ電流値、最大電流値、積分電流値、経過時間など支持層に関する情報、杭建込み位置、杭頭レベルなど杭埋設に関する情報といった、各種情報について、設計値、計画値、計測値、チェック結果など様々データがある。
1つのブロックチェーン500に記録されるデータは、1つの工事に関する全データであってもよい。また、例えば工事の種類に応じて、複数のブロックチェーン500に、分散して施工データが記録されてもよい。例えば、杭基礎に関する施工データは1つのブロックチェーン500に記録され、構造体に関する施工データは別のブロックチェーン500に記録されてもよい。
また、例えば杭基礎に関する施工データであっても、複数のブロックチェーン500に分散して記録されてもよい。例えば、同一の杭符号を有するデータは1つのブロックチェーン500に記録され、別の杭符号を有するデータは別のブロックチェーン500に記録されてもよい。
〈データの流れ〉
管理システム1におけるデータの流れのいくつかの例について、図5A乃至図5Hに示すシーケンス図を参照して説明する。
(第1の例)
第1の例について図5Aに示すシーケンス図を参照して説明する。現場端末130は、施工に関するデータを現場管理者PC120に送信する。現場管理者PC120は、ブロックチェーン500に記録されるように、取得したデータに基づく施工データをパスワードとともに、管理ネットワーク110に送信する。
管理ネットワーク110は、ブロックチェーン500に施工データをパスワードとともに保存する。この際、管理ネットワーク110は、ハッシュ関数を用いて施工データのマークルルート(ハッシュ値A)を算出する。この施工データのマークルルート(ハッシュ値A)もブロックチェーン500に保存される。また、施工データが記録された時刻に関する情報もブロックチェーン500に保存される。管理ネットワーク110は、追加された施工データのアドレスを、現場管理者PC120に送信する。
現場管理者PC120は、ブロックチェーン500に記録させたデータと同じ施工データを、確認者PC140にも報告する。この際、現場管理者PC120は、施工データとともにブロックチェーン500に記録された当該施工データに対応するパスワードと、管理ネットワーク110から取得した当該施工データが記録されたアドレスとを確認者PC140に送信する。
確認者PC140は、管理ネットワーク110に、現場管理者PC120から取得したアドレスとパスワードとを送信し、ブロックチェーン500に記録された施工データのハッシュ値Aを要求する。これに対して、管理ネットワーク110は、パスワードを照合し、アドレスとパスワードとの組み合わせが正しければ、確認者PC140から取得したアドレスに対応するハッシュ値Aを確認者PC140に送信する。
確認者PC140は、管理ネットワーク110が用いたハッシュ関数と同じ関数を用いて、現場管理者PC120から取得した施工データのマークルルート(ハッシュ値B)を算出する。確認者PC140は、管理ネットワーク110から取得したハッシュ値Aと、現場管理者PC120から取得した施工データに基づくハッシュ値Bとを比較し、それらが一致していることを確認する。これらハッシュ値が一致していれば、現場管理者PC120から取得した施工データが改竄等されていないことが明らかになる。このようにして、確認者PC140は、施工データの真正性を確認することができる。
(第2の例)
第2の例について図5Bに示すシーケンス図を参照して説明する。第1の例と異なる点のみ説明する。第1の例では、確認者PC140が管理ネットワーク110にハッシュ値Aを要求し、この要求に応じて管理ネットワーク110が確認者PC140にハッシュ値Aを送信する。これに対して第2の例では、施工データがブロックチェーン500に記録されると、管理ネットワーク110から確認者PC140にハッシュ値Aが送信される。
このため、現場管理者PC120は、施工データをブロックチェーン500に記録させるときに、管理ネットワーク110に施工データとともに、ハッシュ値Aの送信先を送る。この送信先に基づいて、管理ネットワーク110は、ブロックチェーン500に施工データを記録したときに、記録した施工データのマークルルート(ハッシュ値A)を、確認者PC140に送信する。したがって、現場管理者PC120は、確認者PC140にパスワードやアドレスを送る必要はなく、施工データのみ送ってもよい。なお、現場管理者PC120がパスワードを指定して、このパスワードを用いることで確認者PC140がハッシュ値Aを閲覧できるように構成されてもよい。
確認者PC140は、第1の例と同様に、管理ネットワーク110から取得したハッシュ値Aと、現場管理者PC120から取得した施工データに基づくハッシュ値Bとを比較し、それらが一致していることを確認し、施工データの真正性を確認する。
(第3の例)
第3の例について図5Cに示すシーケンス図を参照して説明する。第1の例と異なる点のみ説明する。第1の例では、確認者PC140が管理ネットワーク110にハッシュ値Aを要求していたが、第3の例では、確認者PC140が管理ネットワーク110にアドレスを指定して施工データを要求する。管理ネットワーク110は、確認者PC140からの要求に応じて、アドレスによって指定された施工データを確認者PC140に送信する。
確認者PC140は、第1の例と同様に、現場管理者PC120から取得した施工データAのマークルルートであるハッシュ値Aを算出するとともに、管理ネットワーク110から取得した施工データBのマークルルートであるハッシュ値Bを算出する。確認者PC140は、算出したこれら2つのハッシュ値を比較し、それらが一致していることを確認し、施工データの真正性を確認する。
(第4の例)
第4の例について図5Dに示すシーケンス図を参照して説明する。第3の例と異なる点のみ説明する。第3の例では、確認者PC140が管理ネットワーク110に施工データBを要求し、この要求に応じて管理ネットワーク110が確認者PC140に施工データBを送信する。これに対して第4の例では、施工データがブロックチェーン500に記録されると、管理ネットワーク110から確認者PC140にこの施工データBが送信される。
このため、現場管理者PC120は、施工データをブロックチェーン500に記録させるときに、管理ネットワーク110に施工データとともに、施工データの送信先を送る。この送信先に基づいて、管理ネットワーク110は、ブロックチェーン500に施工データを記録したときに、記録した施工データを、確認者PC140に送信する。したがって、現場管理者PC120は、確認者PC140にパスワードやアドレスを送る必要はなく、施工データのみ送ってもよい。なお、現場管理者PC120がパスワードを指定して、このパスワードを用いることで確認者PC140が施工データBを閲覧できるようにしてもよい。
確認者PC140は、第3の例と同様に、現場管理者PC120から取得した施工データAのマークルルートであるハッシュ値Aを算出するとともに、管理ネットワーク110から取得した施工データBのマークルルートであるハッシュ値Bを算出する。確認者PC140は、算出したこれら2つのハッシュ値を比較し、それらが一致していることを確認し、施工データの真正性を確認する。
(第5の例)
第5の例について図5Eに示すシーケンス図を参照して説明する。第3の例と異なる点のみ説明する。第3の例では、確認者PC140は、現場管理者PC120から取得した施工データAのハッシュ値Aと、管理ネットワーク110から取得した施工データBのハッシュ値Bとを比較している。これに対して、第5の例では、確認者PC140は、現場管理者PC120から取得した施工データAと、管理ネットワーク110から取得した施工データBとを比較し、それらが一致していることを確認し、施工データの真正性を確認する。
(第6の例)
第6の例について図5Fに示すシーケンス図を参照して説明する。第5の例と異なる点のみ説明する。第5の例では、確認者PC140が管理ネットワーク110に施工データBを要求していたが、第6の例では、施工データがブロックチェーン500に記録されると、管理ネットワーク110から確認者PC140にこの施工データBが送信される。
このため、現場管理者PC120は、施工データをブロックチェーン500に記録させるときに、管理ネットワーク110に施工データとともに、施工データの送信先を送る。この送信先に基づいて、管理ネットワーク110は、ブロックチェーン500に施工データを記録したときに、記録した施工データを、確認者PC140に送信する。確認者PC140は、現場管理者PC120から取得した施工データAと、管理ネットワーク110から取得した施工データBとを比較し、それらが一致していることを確認し、施工データの真正性を確認する。
(第7の例)
第7の例について図5Gに示すシーケンス図を参照して説明する。第1の例と異なる点のみ説明する。第1の例では、現場管理者PC120は施工データを管理ネットワーク110に施工データを送信し、施工データがブロックチェーン500に記録される。これに対して、第7の例では、現場管理者PC120は施工データのハッシュ値を管理ネットワーク110に送信し、ハッシュ値がブロックチェーン500に記録される。
このため、現場管理者PC120は、ハッシュ関数を用いて施工データのマークルルートであるハッシュ値Aを算出する。現場管理者PC120は、ブロックチェーン500に記録されるように、ハッシュ値Aをパスワードとともに、管理ネットワーク110に送信する。管理ネットワーク110は、ブロックチェーン500にハッシュ値Aをパスワードとともに保存する。管理ネットワーク110は、追加されたハッシュ値Aのアドレスを、現場管理者PC120に送信する。
現場管理者PC120は、ブロックチェーン500に記録させたハッシュ値に対応する施工データを、確認者PC140に報告する。この際、現場管理者PC120は、施工データとともにブロックチェーン500に記録されたパスワードと、管理ネットワーク110から取得したアドレスとを一緒に確認者PC140に送信する。
確認者PC140は、管理ネットワーク110に、現場管理者PC120から取得したアドレスとパスワードとを送信し、ブロックチェーン500に記録されたハッシュ値Aを要求する。これに対して、管理ネットワーク110は、パスワードを照合し、アドレスっとパスワードとの対応関係が確認できたら、確認者PC140から取得したアドレスに対応するハッシュ値Aを確認者PC140に送信する。
確認者PC140は、管理ネットワーク110が用いたハッシュ関数と同じ関数を用いて、現場管理者PC120から取得した施工データのマークルルート(ハッシュ値B)を算出する。確認者PC140は、管理ネットワーク110から取得したハッシュ値Aと、現場管理者PC120から取得した施工データに基づくハッシュ値Bとを比較し、それらが一致していることを確認し、施工データの真正性を確認する。
(第8の例)
第8の例について図5Hに示すシーケンス図を参照して説明する。第7の例と異なる点のみ説明する。第7の例では、確認者PC140が管理ネットワーク110にハッシュ値Aを要求していたが、第8の例では、ハッシュ値Aがブロックチェーン500に記録されると、管理ネットワーク110から確認者PC140にハッシュ値Aが送信される。
このため、現場管理者PC120は、施工データをブロックチェーン500に記録させるときに、管理ネットワーク110にハッシュ値Aとともに、ハッシュ値Aの送信先を送る。この送信先に基づいて、管理ネットワーク110は、ブロックチェーン500にハッシュ値Aを記録したときに、記録したハッシュ値Aを、確認者PC140に送信する。確認者PC140は、第7の例と同様に、管理ネットワーク110から取得したハッシュ値Aと、現場管理者PC120から取得した施工データに基づくハッシュ値Bとを比較し、それらが一致していることを確認し、施工データの真正性を確認する。
(各例におけるその他のデータについて)
上述の送受信されるデータは、管理システム1において送受信されるデータの一部である。管理システム1では、その他のデータも送受信される。例えば、現場管理者PC120と確認者PC140とのデータの送受信を行うために、互いの情報や、送受信するデータに関する各種取り決め等も送受信される。
例えば、作業所毎に、現場管理者PC120が確認者PC140に登録の依頼を行い、確認者PC140は作業所の登録作業を行ってもよい。確認者PC140は、作業所毎にIDを決定し、決定した作業所IDを現場管理者PC120に送信してもよい。このとき、作業所IDは、数値として送信されてもよいし、例えば2次元コードなどの画像として送信されてもよい。この作業所IDは、現場管理者PC120が管理ネットワーク110にアクセスするのに必要なID等として利用されてもよい。また、現場管理者PC120は、確認者PC140にデータを送信するときに、該当する作業所IDに関する情報を付加するようにしてもよい。この作業所IDがパスワードのように利用されてもよい。この作業所IDを入力することで確認者PC140が現場管理者PC120から取得したデータを閲覧できるように、データは構成されてもよい。
〈比較されるデータの組み合わせ〉
図5A乃至図5Hを参照して説明したとおり、現場管理者PC120から確認者PC140に送信されるデータは、必要な施工データである。一方、現場管理者PC120から管理ネットワーク110に送信されるデータ、管理ネットワーク110のブロックチェーン500に記録されるデータ、管理ネットワーク110から確認者PC140に送信されるデータ、確認者PC140でデータの真偽の判定に用いられるデータなどは、種々であり得る。例えば、施工データ、そのハッシュ値、その他、或いはそれらの種々の組み合わせが用いられ得る。その例の一覧を図6に示す。
上述の第1の例及び第2の例に対応する図6の(1)に示す例について説明する。現場管理者PC120から管理ネットワーク110には、施工データが送信される。管理ネットワーク110のブロックチェーン500には、この施工データが記録される。また、施工データのハッシュ値も併せてブロックチェーン500に記録される。管理ネットワーク110から確認者PC140には、記録されたハッシュ値が送信される。確認者PC140は、現場管理者PC120から取得した施工データのハッシュ値を算出し、管理ネットワーク110から取得したハッシュ値と比較して、現場管理者PC120から取得した施工データの真偽を確認する。
この方法によれば、管理ネットワーク110に合意が形成された施工データが記録される。したがって、真正な施工データが管理ネットワーク110に保存される。また、管理ネットワーク110から確認者PC140に送信されるデータがハッシュ値であり、データ量が小さく、その取り扱いが容易である。また、確認者PC140による比較処理もハッシュ値同士で行われるため、比較処理の負荷が小さい。
上述の第3の例及び第4の例に対応する図6の(2)に示す例について説明する。現場管理者PC120から管理ネットワーク110には、施工データが送信される。管理ネットワーク110のブロックチェーン500には、この施工データが記録される。管理ネットワーク110から確認者PC140には、記録された施工データが送信される。確認者PC140は、現場管理者PC120から取得した施工データのハッシュ値と、管理ネットワーク110から取得した施工データのハッシュ値とを算出し、それらハッシュ値を比較して、現場管理者PC120から取得した施工データの真偽を確認する。
この方法によれば、管理ネットワーク110に合意が形成された施工データが記録される。したがって、真正な施工データが管理ネットワーク110に保存される。また、確認者PC140による比較処理がハッシュ値同士で行われるため、比較処理の負荷が小さい。また、仮に現場管理者PC120から取得した施工データが改竄されたものであっても、確認者PC140は管理ネットワーク110から真正な施工データを取得することができる。
上述の第5の例及び第6の例に対応する図6の(3)に示す例について説明する。現場管理者PC120から管理ネットワーク110には、施工データが送信される。管理ネットワーク110のブロックチェーン500には、この施工データが記録される。管理ネットワーク110から確認者PC140には、記録された施工データが送信される。確認者PC140は、現場管理者PC120から取得した施工データと、管理ネットワーク110から取得した施工データとを比較して、現場管理者PC120から取得した施工データの真偽を確認する。
この方法によれば、管理ネットワーク110に合意が形成された施工データが記録される。したがって、真正な施工データが管理ネットワーク110に保存される。また、仮に現場管理者PC120から取得した施工データが改竄されたものであっても、確認者PC140は管理ネットワーク110から真正な施工データを取得することができる。
データ数が少ない場合などは、このような方法でも容易に照合できる。また、データの比較にハッシュ値を用いる場合には、データの内容のみならずデータのフォーマットの一致も比較することになるため、データのフォーマットを正確に統一する必要がある。これに対して、施工データ同士を比較する場合には、データのフォーマットが多少異なっていても、データの比較が可能となる。
図6の(4)に示す例について説明する。現場管理者PC120から管理ネットワーク110には、施工データが送信される。管理ネットワーク110のブロックチェーン500には、この施工データのハッシュ値が記録される。管理ネットワーク110から確認者PC140には、記録されたハッシュ値が送信される。確認者PC140は、現場管理者PC120から取得した施工データのハッシュ値を算出し、管理ネットワーク110から取得したハッシュ値と比較して、現場管理者PC120から取得した施工データの真偽を確認する。
この方法によれば、管理ネットワーク110に保存されるデータがハッシュ値であり、記憶されるデータ量が小さい。また、管理ネットワーク110から確認者PC140に送信されるデータがハッシュ値であり、データ量が小さく、その取り扱いが容易である。また、確認者PC140による比較処理もハッシュ値同士で行われるため、比較処理の負荷が小さい。
上述の第7の例及び第8の例に対応する図6の(5)に示す例について説明する。現場管理者PC120から管理ネットワーク110には、施工データのハッシュ値が送信される。管理ネットワーク110のブロックチェーン500には、この施工データのハッシュ値が記録される。管理ネットワーク110から確認者PC140には、記録されたハッシュ値が送信される。確認者PC140は、現場管理者PC120から取得した施工データのハッシュ値を算出し、管理ネットワーク110から取得したハッシュ値と比較して、現場管理者PC120から取得した施工データの真偽を確認する。
この方法によれば、管理ネットワーク110に施工データのハッシュ値が送信されるため、管理ネットワーク110を構成するノードは、施工データに触れることがない。このため、施工データが管理ネットワーク110を構成するノードに対して秘密にされる。また、管理ネットワーク110に保存されるデータがハッシュ値であり、記憶されるデータ量が小さい。また、管理ネットワーク110から確認者PC140に送信されるデータがハッシュ値であり、データ量が小さく、その取り扱いが容易である。また、確認者PC140による比較処理もハッシュ値同士で行われるため、比較処理の負荷が小さい。
〈システムの動作〉
管理システム1の各部の動作の概略を説明する。
(現場管理者PCの動作)
1件の施工データを管理ネットワーク110に記録する際の、現場管理者PC120の動作の概略について、図7に示すフローチャートを参照して説明する。
ステップS101において、現場管理者PC120は、例えば現場端末130から、施工に関するデータを取得する。
ステップS102において、現場管理者PC120は、取得した施工に関するデータに基づいて、ブロックチェーン500に記録する保存データを作成する。例えば、図5A乃至図5Fを参照して説明した第1の例乃至第6の例では、保存データは施工データとなる。また、例えば、図5G及び図5Hを参照して説明した第7の例及び第8の例では、保存データは、施工データに関するハッシュ値となる。
ステップS103において、現場管理者PC120は、保存データを管理ネットワーク110にブロードキャスト送信する。管理ネットワーク110は、現場管理者PC120から送信されたデータを、施工データ等としてブロックチェーン500に記録する。管理ネットワーク110は、現場管理者PC120から送信されブロックチェーン500に記録された施工データ等を特定するアドレス情報を現場管理者PC120に送信する。
ステップS104において、現場管理者PC120は、送信した施工データを特定するアドレス情報を管理ネットワーク110から受信し、受信した情報を保存する。
ステップS105において、現場管理者PC120は、確認者PC140に、管理ネットワーク110に送信して管理ネットワークに保存された施工データである保存データと、管理ネットワーク110から取得したアドレス情報などとを送信する。保存データがハッシュ値である場合などは、保存データそのものではなく、その元となった施工データが送信される。
(ノードの動作)
管理ネットワーク110に含まれるノードの動作の概略について説明する。管理ネットワーク110には、複数のノードが含まれる。ここで説明する処理は、各ノードで実行される。
まず、図5A,5C,5E,5Gをそれぞれ参照して説明した第1,3,5,7の例の場合を、図8Aに示すフローチャートを参照して説明する。
ステップS201において、ノードは、現場管理者PC120から保存データを受信したか否かを判定する。保存データを受信したと判定されたとき、処理はステップS202に進む。ステップS202において、ノードは、現場管理者PC120から、保存データを取得する。
取得した保存データが図5A乃至図5Fを参照して説明した第1の例乃至第6の例の場合のように施工データであれば、ステップS203において、ノードは、施工データのマークルルートであるハッシュ値を算出する。
ステップS204において、ノードは、ブロックチェーン500に追加するブロックを作成する。ブロックは、ブロックヘッダと、施工データ等とを含む。ここで、ブロックヘッダには、直前のブロックのブロックヘッダのハッシュ値、時刻情報、ステップS203で算出したマークルルートなどが含まれる。
ステップS205において、ノードは、コンセンサス処理を行う。すなわち、複数のノードによって、ブロックチェーン500に追加するブロックに関する合意が形成される。例えば、各ノードは、作成したブロックに関する情報を、他のノードに送信する。各ノードは、他のノードが送信したブロックに関する情報を取得し、自らが作成したブロックと比較する。自らが作成したブロックと他のノードが作成したブロックとが一致していれば、当該ノードは、他のノードに、当該ブロックが正しいものとする情報を送信する。各ノードが決められた手続きに従って処理を行ったとき、各ノードによって作成されるブロックが一致し、そのことが相互に確認される。このような場合に、合意が形成されたとされる。
例えば、図5に示すような構造を有するブロックチェーン500の場合、施工データのマークルルートがブロックヘッダに含まれているので、ブロックヘッダの内容のみを照合すれば、当該ブロックのデータの一致が確認され得る。また、ブロックヘッダには、当該ブロックヘッダのハッシュ値が記録され、このハッシュ値を照合することで、当該ブロックのデータの一致が確認されてもよい。
また、管理ネットワーク110を構成する全てのノードの作成したデータが一致していなくても合意が形成されるようにも、管理ネットワーク110は構成され得る。例えば所定数よりも多いノードの作成したデータが一致したとき、当該データが、合意が形成された旨とともに、管理ネットワーク110を構成する各ノードに伝達される。全てのノードが当該データを記録する。このように、管理ネットワーク110は構成されてもよい。
ステップS206において、ノードは、合意が形成されたか否かを判定する。合意が形成されたとき、処理はステップS207に進む。
ステップS207において、ノードは、ブロックチェーン500に作成したブロックデータを追加して、保存する。
ステップS208において、ノードは、追加したブロックを特定するアドレス情報を、保存データを送信した現場管理者PC120に送信する。以上で、受信した施工データを記録する一連の処理は終了し、処理はステップS201に戻る。
ステップS206の判定において、合意が形成されていないと判定されたとき、処理はステップS209に進む。ステップS209において、ノードは、現場管理者PC120に、合意が形成できず、受信した保存データをブロックチェーン500に記録できなかった旨のエラー情報を送信する。
ステップS201の判定において、保存データを受信していないと判定されたとき、処理はステップS210に進む。ステップS210において、ノードは、確認者PC140から、データ要求を受信したか否かを判定する。例えば、確認者PC140が現場管理者PC120から取得した施工データが真正なものであるかを判断するとき、確認者PC140は、現場管理者PC120から取得したアドレス及びパスワードを管理ネットワーク110に送信する。このようにして、確認者PC140からアドレス及びパスワードを受信したとき、ノードは、データ要求を受信したと判定する。データ要求を受信していないとき、処理はステップS201に戻る。データ要求を受信したとき、処理はステップS211に進む。
ステップS211において、ノードは、受信したデータ要求に含まれるアドレス情報と当該アドレスに記録されたパスワードとを照合する。パスワードが一致したとき、ノードは、ブロックチェーン500から、要求されたデータを読み出す。ステップS212において、ノードは、読み出した要求されたデータを、データを要求した確認者PC140に送信する。その後、処理はステップS201に戻る。
次に、図5B,5D,5F,5Hをそれぞれ参照して説明した第2,4,6,8の例の場合を、図8Bに示すフローチャートを参照して説明する。図8Aに示す場合との差異について説明する。
ステップS201の判定において、保存データを受信していないと判定されたとき、処理はステップS201を繰り返して待機する。ステップS201の判定において、保存データを受信したと判定されたとき、処理はステップS202に進む。ステップS202乃至ステップS208は、上述の場合と同様である。簡単に説明すると、ノードは、ステップS202において、保存データを取得し、ステップS203においてハッシュ値を算出し、ステップS204においてブロックを作成する。
ノードは、ステップS205においてコンセンサス処理を行い、ステップS206で合意が形成されたと判定されたとき、処理はステップS207においてブロックのデータをブロックチェーン500に追加して保存し、ステップS208において現場管理者PC120に追加したデータのアドレスを送信する。その後、ステップS220において、ノードは、確認者PC140に確認用データを送信する。確認用のデータは、施工データのマークルルートであるハッシュ値であったり、施工データそのものであったりする。その後、処理はステップS201に戻る。ステップS206で合意が形成されなかったと判定されたとき、ステップS209において、現場管理者PC120にエラーが送信されて、処理はステップS201に戻る。
(確認者PCの動作)
確認者PC140の動作の概略について説明する。まず、図5A,5C,5E,5Gをそれぞれ参照して説明した第1,3,5,7の例の場合を、図9Aに示すフローチャートを参照して説明する。
ステップS301において、確認者PC140は、現場管理者PC120から、施工データ等を受信したか否かを判定する。施工データを受信したとき、処理はステップS302に進む。ステップS302において、確認者PC140は、現場管理者PC120から、施工データ及びアドレスなどを取得する。ステップS303において、確認者PC140は、取得した施工データ及びアドレスなどを記録する。その後、処理はステップS301に戻る。
ステップS301において、施工データを受信していないと判定されたとき、処理はステップS304に進む。ステップS304において、確認者PC140は、データを確認するか否か、すなわち、ユーザによってデータ確認の指示が入力されたか否かを判定する。データの確認を行わないと判定されたとき、処理はステップS301に戻る。一方、データを確認すると判定されたとき、処理はステップS305に進む。
ステップS305において、確認者PC140は、確認すべきデータに関するアドレスを管理ネットワーク110に送信し、管理ネットワーク110にデータを要求する。この要求は、管理ネットワーク110を構成するノードの少なくとも1つに送信されればよい。この要求に応じて、上述のステップS212の処理により、管理ネットワーク110から確認者PC140にデータが送信される。ステップS306において、確認者PC140は、要求したデータを管理ネットワーク110から受信する。このデータは、例えば、施工データのハッシュ値であったり、施工データそのものであったりする。
ステップS307において、確認者PC140は、現場管理者PC120又は管理ネットワーク110から取得した施工データのハッシュ値を算出する。ステップS308において、確認者PC140は、現場管理者PC120から取得した施工データ又はそのハッシュ値と、管理ネットワーク110から取得した施工データ又はそのハッシュ値とを比較して、その一致について判定する。ステップS309において、確認者PC140は、比較の結果を出力する。例えば、値が一致しているとき、現場管理者PC120から取得した施工データが、ブロックチェーン500に記録された正しいデータであると判断され得る。
次に、図5B,5D,5F,5Hをそれぞれ参照して説明した第2,4,6,8の例の場合を、図9Bに示すフローチャートを参照して説明する。図9Aに示す場合との差異について説明する。
ステップS301において、確認者PC140は、現場管理者PC120から、施工データ等を受信したか否かを判定し、施工データを受信したと判定されたとき、処理はステップS302に進む。確認者PC140は、ステップS302において現場管理者PC120から施工データなどを取得し、ステップS303において、取得した施工データなどを記録する。その後、処理はステップS301に戻る。
ステップS301において、施工データを受信していないと判定されたとき、ステップS304において、確認者PC140は、データを確認するか否かを判定する。データの確認を行わないと判定されたとき、処理はステップS310に進む。ステップS310において、確認者PC140は、上述のステップS220において管理ネットワーク110から送信された、ブロックチェーン500に追加されたデータに関する確認データを受信したか否かを判定する。受信していないと判定されたとき、処理はステップS301に戻る。一方、受信したと判定されたとき、処理はステップS311に進む。確認者PC140は、ステップS311において、管理ネットワーク110から確認データを取得し、ステップS312において、取得した確認データを記録する。その後、処理はステップS301に戻る。
ステップS304において、データを確認すると判定されたとき、処理はステップS307に進む。ステップS307において、確認者PC140は、現場管理者PC120又は管理ネットワーク110から取得した施工データのハッシュ値を算出する。確認者PC140は、ステップS308において、現場管理者PC120から取得した施工データ又はそのハッシュ値と、管理ネットワーク110から取得した施工データ又はそのハッシュ値とを比較して、その一致について判定し、ステップS309において、比較の結果を出力する。
〈ノードの構成〉
管理ネットワーク110を構成する複数のノードは、ブロックチェーン500の生成時に合意を形成する。この合意が、ブロックチェーン500に記録された施工データの改竄を困難にする。このため、本実施形態において、改竄を困難とするようにノードの提供者は選択される。例えば、施工業者が全てのノードを提供するのでは、当該施工業者がブロックチェーン500を自由に書き換えられるので、このようなノード提供の分担は適切でない。ノードの提供者の組み合わせのいくつかの態様を示す。
第1の例として、1つの工事に関わる1つのゼネコンと分野が異なる複数の業者とが、それぞれノードを提供してもよい。例えば、ゼネコン、杭工事業者、配筋業者、構造体業者、外装業者、内装業者などといった各業者が、それぞれノードを提供する。このように同業他社が関係しないことで、互いに利害が関わることがなく、合意形成の客観性がより高まる。
また、ゼネコンがノードを提供することで、ゼネコンは、自社のサーバに施工データを蓄えることになる。ここで、1つの工事に関わる全ての施工データがこの管理ネットワーク110に保存されるようにすると、ゼネコンは、当該工事に関わる全ての施工データを自社のサーバに蓄えることになる。その結果、例えば、ゼネコンは、発注者に必要なデータを引き渡すなどを行いやすくなる。
第2の例として、1つのゼネコンと、当該ゼネコンの1つの分野の複数の下請け業者とが、それぞれノードを提供してもよい。例えば、ゼネコンと、当該ゼネコンの下請けをする複数の杭工事業者などといった各業者が、それぞれノードを提供する。このように、1つの分野の業者が集まることで、ゼネコンにとっては当該分野に関わる施工データが1か所に集まり便利である。また、ゼネコンがノードを提供することで、ゼネコンは、自社のサーバに施工データを蓄えることになる。その結果、例えば、ゼネコンは、発注者に必要なデータを引き渡すなどを行いやすくなる。この場合、同業他社が互いの生の施工データ等を共有することを避けるため、例えば図6の(5)に示した例のように、管理ネットワーク110に提供されるデータを施工データそのものではなく、施工データのハッシュ値としてもよい。
第3の例として、複数のゼネコンと、当該ゼネコンの1つの分野の複数の下請け業者とが、それぞれノードを提供してもよい。例えば、複数のゼネコンと、当該複数のゼネコンの下請けをする複数の杭工事業者などといった各業者が、それぞれノードを提供する。1つの大規模工事を複数のゼネコンが請け負う場合などに、当該分野に関わる施工データが1か所に集まり便利である。その他、第2の例と同様のことが言える。
第4の例として、1つの大規模工事を複数のゼネコンが請け負う場合などに、1つの工事に関わる複数のゼネコンと分野が異なる複数の業者とが、それぞれノードを提供してもよい。1つの大規模工事の多くの施工データが1か所に集まり便利である。その他、第3の例と同様のことが言える。
第5の例として、1つの下請け業者と、当該下請け業者の元請けとなる複数のゼネコンとが、それぞれノードを提供してもよい。当該下請け業者の施工データが1か所に集まり便利である。
〈管理システムについて〉
本実施形態によれば、施工データに関連する情報は、管理ネットワーク110を構成する複数社が提供する複数のノードの合意によって形成されたブロックチェーン500に保存される。この合意が形成されたブロックチェーン500は、各ノードに分散して保存される。このため、施工データの改竄は困難であり、施工データの改竄が防止される。
また、ブロックチェーンが用いられ、合意の形成にブロックヘッダのハッシュ値が用いられることで、新しい施工データが記録される際に、過去のデータの真正性も併せて確認される。このため、過去分も含めて全ての施工データの真正性が容易に保たれる。確認者が管理ネットワーク110を構成するノードを提供することで、確認者は、真正性が保証された施工データを容易に入手することも可能である。
また、確認者PC140は、現場管理者PC120から取得した施工データ又はそのハッシュ値と、管理ネットワーク110から取得した施工データ又はそのハッシュ値とを比較することで、施工データの改竄の有無を容易に確認することができる。
本実施形態によれば、外部の認証機関などが介在することがないので、認証機関のためのコストが削減される。また、データは、施工に関与する者が用意したサーバに保存される。このため、データを保存するための第三者サーバなどを用意する必要がなく、第三者サーバなどを用意するためのコストも削減される。
[第1の実施形態の変形例]
〈ブロックチェーンに記録されるデータについて〉
上述の実施形態は、ブロックチェーン500に記録されるデータは、現場管理者PC120から管理ネットワーク110に送信される例である。しかしながら、これに限らない。ブロックチェーン500に記録されるデータは、現場端末130から送信されるデータ、現場管理者PC120から送信されるデータ、確認者PC140から送信されるデータ、又はそれらの組み合わせであってもよい。
ブロックチェーン500に記録されるデータの例を、図10を参照して説明する。図10においては、現場端末は、施工に関する測定を行う測定装置の場合を例に示しており、現場端末から出力されるデータが測定データである場合を示している。しかしながら、これに限らず、上述の実施形態と同様に、現場端末は各種の施工データを出力するものであってよい。図10に示すデータの一部又は全部、あるいはその他のデータがブロックチェーンに記録されてもよい。
現場端末から出力された測定データが、ブロックチェーンに記録されてもよい。
現場端末から出力された測定データは、現場管理者PCに送信され、現場管理者PCが出力した測定データが、ブロックチェーンに記録されてもよい。
現場管理者PCは、現場端末から取得した測定データなどを用いて、帳票を作成し、作成した帳票がブロックチェーンに記録されてもよい。
現場管理者PCが作成した帳票は、確認者PCに送信され、確認者PCによって承認された帳票のデータが、ブロックチェーンに記録されてもよい。
現場管理者PCが作成した帳票は、確認者PCに送信され、確認者PCによって当該帳票を承認する旨が、確認者PCから現場管理者PCに送信されてもよい。この場合、確認者PCから出力された承認済みの帳票のデータがブロックチェーンに記録されてもよい。また、確認者PCから承認の旨を受信した現場管理者PCが作成した承認済みの帳票データが現場管理者PCから出力され、当該承認済み帳票データがブロックチェーンに記録されてもよい。
〈管理ネットワークによって記録されるデータの構造について〉
上述の実施形態は、施工データを保存するデータ構造としてブロックチェーンが用いられている。このブロックチェーンでは、施工データを含むブロックが、ハッシュ値を介して互いに関係を有して連結されている。しかしながら、データ構造はブロックチェーンに限らない。管理ネットワーク110が互いに同一のデータを有していれば、全てのデータを改竄することは困難であり、改竄が防止される。したがって、ノード同士が互いのデータが改竄されていないことを確認できれば、ブロックチェーン以外のデータ構造が用いられてもよい。
〈その他〉
上述の実施形態では、確認者PC140は、現場管理者PC120から施工データを取得するとともに、管理ネットワーク110から真正性が保証されたデータを受信している。確認者PC140は、現場管理者PC120から取得したデータに基づくデータと、管理者PC120から取得したデータに基づくデータとを比較にすることで、現場管理者PC120から取得したデータの真正性を確認している。しかしながら、これに限らない。確認者PC140が必要としているデータが管理ネットワーク110から取得可能である場合には、確認者PC140は、現場管理者PC120からではなく、管理ネットワーク110から真正性が保証されたデータとして施工データを取得してもよい。
また、上述の実施形態では、管理ネットワーク110における合意形成において、データが一致していることを条件とする例を挙げて説明したが、これに限らない。例えば各ブロックがナンス(nonce)を含み、マイナー(miner)によるプルーフオブワーク(proof of work)によってコンセンサスが形成されるようにブロックチェーン500及び管理ネットワーク110が構成されてもよい。この場合、マイナーには何かしらの報酬が提供されることが好ましい。ブロック追加の困難性が増すことで、改竄の困難性がさらに増し、保存されているデータが真正なものである確実性がより高まる。
[第2の実施形態]
第2の実施形態について説明する。ここでは、第1の実施形態との相違点について説明し、同一の部分については、同一の符号を付してその説明を省略する。本実施形態に係る管理システム1の構成例の概略を図11に示す。この図に示すように、本実施形態では、管理システム1は、施工に関する各種データを中継したり、各種データについて必要な加工を行ったりする施工管理サーバ150を有する。本実施形態では、施工管理サーバ150が管理ネットワーク110に接続されており、現場管理者PC120及び確認者PC140は、施工管理サーバ150に接続されている。
本実施形態では、現場管理者PC120は、確認者PC140に施工データの認証依頼を行い、確認者PC140は、この認証依頼に応じて、施工データの認証、修正又は差戻しを行える。本実施形態に係るデータの流れについて図12A乃至図12Cに示すシーケンス図を参照して説明する。
図12Aに示すように、現場端末130が測定データを取得しているとき、測定データは定期的に現場管理者PC120に送信される。現場管理者PC120は、受信した測定データを施工管理サーバ150に送信する。この測定データの送信は、例えば、リアルタイムで行われたり、3分毎、10分毎又は60分毎等、定期的に行われたりする。リアルタイムで送信される場合、測定データの修正は行われない。例えば60分毎など、送信の間隔が比較的長ければ、現場管理者PC120による測定データの修正、編集等も可能である。測定データの送信時に、データを特定するためのIDやデータを保護するためのパスワードを付加してもよい。
現場管理者PC120から測定データを受信した施工管理サーバ150は、帳票、報告書など各種書類等を、3分毎、10分毎、60分毎など定期的に作成する。現場管理者PC120は、受信した測定データ及び、作成した帳票、報告書、書類等を、ブロックチェーン500に保存するために、管理ネットワーク110に送信する。管理ネットワーク110は、第1の実施形態の場合と同様に、複数のノードによるコンセンサスを得ながら、ブロックチェーン技術を用いて、施工管理サーバ150から送信された各種データをブロックチェーン500に保存する。
図12Bに示すように、現場管理者PC120は、確認者PC140によるデータの確認が必要な場合には、確認者PC140で動作するアプリケーションソフトウェア(アプリ)用のID及びパスワードを確認者PC140に送信する。このようなID及びパスワードによって、確認者PC140による、現場管理者PC120が出力するデータへのアクセス権限が制御され得る。
確認者PC140は、アプリを起動し、現場管理者PC120から取得したID及びパスワードをアプリに入力する。確認者PC140のアプリは、入力されたID及びパスワードを、施工管理サーバ150に送信する。施工管理サーバ150は、受信したID及びパスワードに応じたデータ、すなわち、現場管理者PC120から取得したID及びパスワードと関連付けられた帳票、報告書、書類等のデータを確認者PC140に送信する。確認者PC140は、受信した帳票、報告書、書類等のデータに基づいて、これら書類等を表示する。この帳票、書類等は、施工管理サーバ150によって新たなものが作成されたときには、そのデータが施工管理サーバ150から確認者PC140に送信され、確認者PC140は表示を更新する。
図12Cに示すように、現場端末130から現場管理者PC120に測定データが送信され、現場管理者PC120が当該測定データとともに施工管理サーバ150に、確認者PC140による認証を要求する信号を送信したとする。この認証依頼は、例えば、杭工事であれば、掘削完了時、根固め部完了時、杭周固定部完了時等に行われ得る。
例えば、掘削完了時には、積分電流値などの掘削時の測定データと、それらを表すグラフ等の図などと、掘削完了マークの表示と、認証依頼とが送信される。例えば、根固め部作業完了時には、コンクリートミルクの注入量等の根固め部の測定データと、計測装置による計測結果表示のキャプチャ画像と、根固め部完了マークの表示と、認証依頼とが送信される。例えば、杭周固定部作業完了時には、コンクリートミルクの注入量等の根固め部の測定データと、計測装置による計測結果表示のキャプチャ画像と、杭周固定部完了マークの表示と、認証依頼とが送信される。
施工管理サーバ150は、認証依頼を受けた時点で作成している帳票、報告書、書類等を認証依頼情報とともにブロックチェーン500に保存するように、それらの情報を管理ネットワーク110に送信する。これら情報を取得した管理ネットワーク110は、ブロックチェーン500に当該情報を保存する。このようにして、修正が行われる可能性があるデータが保存され、修正が行われた場合にもその履歴が保存されることになる。
また、施工管理サーバ150は、認証依頼があった旨の通知と、当該認証依頼に関する情報とを確認者PC140に送信する。
認証依頼を受けた確認者PC140は、測定データ等の当該情報を認証するとき、その旨を施工管理サーバ150に送信する。認証は、掘削完了時には、積分電流値などに基づいて行われ、根固め部完了時には、キャプチャ画像などに基づいて行われ、杭周固定部完了時には、キャプチャ画像などに基づいて行われてもよい。
認証する旨の情報を確認者PC140から受けた施工管理サーバ150は、認証された測定データ、帳票、書類等の情報を認証情報とともにブロックチェーン500に保存するように、これら情報を管理ネットワーク110に送信する。これら情報を受けた管理ネットワーク110は、ブロックチェーン500に認証情報を含むこれら情報を保存する。
認証依頼を受けた確認者PC140は、測定データ等の当該情報を否認し修正するとき、データの修正を行い、修正データを施工管理サーバ150に送信する。例えば、認証依頼情報に、転記ミスなどがあるときには、これを修正した修正データを作成する。この修正データを受けた施工管理サーバ150は、修正受けた旨の修正通知と、修正内容の確認を依頼する旨とを、現場管理者PC120に送信する。
確認依頼を受けた現場管理者PC120は、修正に問題がないときには、修正後の測定データ等を再び施工管理サーバに認証依頼とともに送信する。その後、上述の処理と同様に、修正後のデータは施工管理サーバ150から管理ネットワーク110に送られ、ブロックチェーンに保存されるとともに、確認者PC140に認証依頼通知と認証依頼情報とが送られる。確認者PC140による認証が行われれば、認証情報とともに各種データがブロックチェーン500に保存され、認証されなければ修正等が再び繰り返される。
確認依頼を受けた現場管理者PC120は、修正に問題があるときには、自ら測定データを修正し、修正後の測定データ等を再び施工管理サーバに認証依頼とともに送信する。その後、上述の処理と同様に、修正後のデータは施工管理サーバ150から管理ネットワーク110に送られ、ブロックチェーンに保存されるとともに、確認者PC140に認証依頼通知と認証依頼情報とが送られる。確認者PC140による認証が行われれば、認証情報とともに各種データがブロックチェーン500に保存され、認証されなければ修正等が再び繰り返される。
認証依頼を受けた確認者PC140は、測定データ等について、現場管理者PC120に差し戻すとき、その旨を施工管理サーバ150に送信する。施工管理サーバ150は、現場管理者PC120に差戻し通知を行う。
本実施形態によれば、現場管理者PC120によるデータが確認者PC140によって確認され、認証されたことを示す情報とともにブロックチェーン500に保存される。また、転記ミスなどが存在すれば、そのミスは適切に修正される。例えば杭などに関する施工において、手作業による転記や点検結果の入力などが行われており、これら作業では、単純な誤りが発生する可能性がある。このような誤りは適切に修正され、修正後のデータが保存されることが好ましい。本実施形態によれば、適切な修正が行われ、修正後のデータが保存される。また、本実施形態では、修正の経緯などの情報が全てのノードで共有される。各ノードによる監視機能によって、例えば修正されるべきでない実測データなどに対する不適切な変更等が防止される。
修正を行える確認者PC140は、例えばゼネコンの管理者であり、設計管理者、施主は、修正を行えず、承認のみ行えてもよい。このような権限の差異は、例えばIDによって管理され得る。
第2の実施形態は、第1の実施形態及びその変形例として説明した各種事項と組み合わせられ得る。