(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-04-07
(45)【発行日】2022-04-15
(54)【発明の名称】情報処理装置、プログラム、三次元データ管理システムおよび三次元データ管理方法
(51)【国際特許分類】
G06F 30/10 20200101AFI20220408BHJP
【FI】
G06F30/10 100
(21)【出願番号】P 2021159494
(22)【出願日】2021-09-29
【審査請求日】2021-09-29
【早期審査対象出願】
(73)【特許権者】
【識別番号】000221546
【氏名又は名称】東電設計株式会社
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100175824
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100140774
【氏名又は名称】大浪 一徳
(74)【代理人】
【識別番号】100179833
【氏名又は名称】松本 将尚
(74)【代理人】
【識別番号】100114937
【氏名又は名称】松本 裕幸
(72)【発明者】
【氏名】大島 紀夫
【審査官】松浦 功
(56)【参考文献】
【文献】特開2002-342385(JP,A)
【文献】特開平09-288690(JP,A)
【文献】特開平11-110538(JP,A)
【文献】特開2002-175381(JP,A)
【文献】特開2020-170296(JP,A)
【文献】樋口一希,BIMの課題と可能性・117 [online],2016年06月23日,インターネット,<URL: https://www.decn.co.jp/?p=70952>,[検索日 2021.11.18]
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00 -30/398
(57)【特許請求の範囲】
【請求項1】
複数の構成要素から構成される三次元物体について前記構成要素ごとに、第1ユーザによって行われる操作に応じて第2ユーザに対して変更の許可を行い前記第2ユーザからの変更内容の申請に対して承認を行う処理、または、前記構成要素ごとに、第3ユーザに対して第4ユーザから変更の許可が行われた場合に前記第3ユーザによって行われる操作に応じて前記第4ユーザに対して変更内容の申請を行う処理、のうちの少なくとも1つを実行する処理部を備え
、
前記処理部は、前記三次元物体を構成する前記構成要素ごとに前記構成要素ごとのデータを独立したファイルとして保存し、前記ファイルごとに前記変更内容をトランザクションに格納し、前記トランザクションをブロックチェーンに追加することで、前記構成要素ごとの前記変更の履歴を前記ブロックチェーンにて管理する、
情報処理装置。
【請求項2】
前記変更は、前記構成要素の差替、前記構成要素の分割、前記構成要素の結合、前記構成要素の削除、前記構成要素の追加のうちの少なくとも1つを含む、
請求項
1に記載の情報処理装置。
【請求項3】
前記構成要素ごとの構成要素データは、形状を表す形状データ、および、属性を表す属性データを含む、
請求項1
または請求項2に記載の情報処理装置。
【請求項4】
前記構成要素データは、さらに、付帯情報データを含む、
請求項
3に記載の情報処理装置。
【請求項5】
前記構成要素データに含まれる各データは、GUIDを名称に含むファイルによって保持される、
請求項
3または請求項
4に記載の情報処理装置。
【請求項6】
コンピュータに、
複数の構成要素から構成される三次元物体について前記構成要素ごとに、第1ユーザによって行われる操作に応じて第2ユーザに対して変更の許可を行い前記第2ユーザからの変更内容の申請に対して承認を行う処理ステップ、または、前記構成要素ごとに、第3ユーザに対して第4ユーザから変更の許可が行われた場合に前記第3ユーザによって行われる操作に応じて前記第4ユーザに対して変更内容の申請を行う処理ステップ、のうちの少なくとも1つ
の処理ステップを実行させるための
プログラムであって、
前記少なくとも1つの処理ステップは、前記三次元物体を構成する前記構成要素ごとに前記構成要素ごとのデータを独立したファイルとして保存し、前記ファイルごとに前記変更内容をトランザクションに格納し、前記トランザクションをブロックチェーンに追加することで、前記構成要素ごとの前記変更の履歴を前記ブロックチェーンにて管理する、
プログラム。
【請求項7】
複数の構成要素から構成される三次元物体について前記構成要素ごとに、第1ユーザによって行われる操作に応じて第2ユーザに対して変更の許可を行う処理を実行する第1処理部と、
前記第2ユーザによって行われる操作に応じて前記第1ユーザに対して変更内容の申請を行う処理を実行する第2処理部と、
前記第1ユーザによって行われる操作に応じて前記第2ユーザからの変更内容の申請に対して承認を行う処理を実行する第3処理部と、を備え
、
前記三次元物体を構成する前記構成要素ごとに前記構成要素ごとのデータを独立したファイルとして保存し、前記ファイルごとに前記変更内容をトランザクションに格納し、前記トランザクションをブロックチェーンに追加することで、前記構成要素ごとの前記変更の履歴を前記ブロックチェーンにて管理する、
三次元データ管理システム。
【請求項8】
複数の構成要素から構成される三次元物体について前記構成要素ごとに、第1ユーザによって行われる操作に応じて第2ユーザに対して変更の許可を行う処理を実行する第1処理ステップと、
前記第2ユーザによって行われる操作に応じて前記第1ユーザに対して変更内容の申請を行う処理を実行する第2処理ステップと、
前記第1ユーザによって行われる操作に応じて前記第2ユーザからの変更内容の申請に対して承認を行う処理を実行する第3処理ステップと、を備え
、
前記三次元物体を構成する前記構成要素ごとに前記構成要素ごとのデータを独立したファイルとして保存し、前記ファイルごとに前記変更内容をトランザクションに格納し、前記トランザクションをブロックチェーンに追加することで、前記構成要素ごとの前記変更の履歴を前記ブロックチェーンにて管理する、
三次元データ管理方法。
【請求項9】
複数の構成要素から構成される三次元物体について前記構成要素ごとに
、第3ユーザに対して第4ユーザから変更の許可が行われた場合に前記第3ユーザによって行われる操作に応じて前記第4ユーザに対して変更内容の申請を行う処理
を実行する処理部を備え
、
前記処理部は、前記第3ユーザに対して前記第4ユーザから変更の許可が行われた場合に、前記第3ユーザによって行われる操作に応じて第5ユーザに対して変更の許可を行い前記第5ユーザからの変更内容の申請に対して承認を行う処理を実行し、前記第3ユーザによって行われる操作に応じて前記第5ユーザからの変更内容で前記第4ユーザに対して変更内容の申請を行う処理を実行する、
情報処理装置。
【請求項10】
前記変更は、前記構成要素の差替、前記構成要素の分割、前記構成要素の結合、前記構成要素の削除、前記構成要素の追加のうちの少なくとも1つを含む、
請求項
9に記載の情報処理装置。
【請求項11】
前記構成要素ごとの構成要素データは、形状を表す形状データ、および、属性を表す属性データを含む、
請求項
9または請求項
10に記載の情報処理装置。
【請求項12】
前記構成要素データは、さらに、付帯情報データを含む、
請求項
11に記載の情報処理装置。
【請求項13】
前記構成要素データに含まれる各データは、GUIDを名称に含むファイルによって保持される、
請求項
11または請求項
12に記載の情報処理装置。
【請求項14】
前記処理部は、前記三次元物体を構成する前記構成要素ごとに前記構成要素ごとのデータを独立したファイルとして保存し、前記ファイルごとに前記変更内容をトランザクションに格納し、前記トランザクションをブロックチェーンに追加することで、前記構成要素ごとの前記変更の履歴を前記ブロックチェーンにて管理する、
請求項
9から請求項
13のいずれか1項に記載の情報処理装置。
【請求項15】
コンピュータに、
複数の構成要素から構成される三次元物体について前記構成要素ごとに
、第3ユーザに対して第4ユーザから変更の許可が行われた場合に前記第3ユーザによって行われる操作に応じて前記第4ユーザに対して変更内容の申請を行う処理ステップ
を実行させるための
プログラムであって、
前記処理ステップは、前記第3ユーザに対して前記第4ユーザから変更の許可が行われた場合に、前記第3ユーザによって行われる操作に応じて第5ユーザに対して変更の許可を行い前記第5ユーザからの変更内容の申請に対して承認を行う処理を実行し、前記第3ユーザによって行われる操作に応じて前記第5ユーザからの変更内容で前記第4ユーザに対して変更内容の申請を行う処理を実行する、
プログラム。
【請求項16】
複数の構成要素から構成される三次元物体について前記構成要素ごとに、第1ユーザによって行われる操作に応じて第2ユーザに対して変更の許可を行う処理を実行する第1処理部と、
前記第2ユーザによって行われる操作に応じて前記第1ユーザに対して変更内容の申請を行う処理を実行する第2処理部と、
前記第1ユーザによって行われる操作に応じて前記第2ユーザからの変更内容の申請に対して承認を行う処理を実行する第3処理部と、を備え
、
前記第2ユーザに対して前記第1ユーザから変更の許可が行われた場合に、前記第2ユーザによって行われる操作に応じて第5ユーザに対して変更の許可を行い前記第5ユーザからの変更内容の申請に対して承認を行う処理を実行し、前記第2ユーザによって行われる操作に応じて前記第5ユーザからの変更内容で前記第1ユーザに対して変更内容の申請を行う処理を実行する、
三次元データ管理システム。
【請求項17】
複数の構成要素から構成される三次元物体について前記構成要素ごとに、第1ユーザによって行われる操作に応じて第2ユーザに対して変更の許可を行う処理を実行する第1処理ステップと、
前記第2ユーザによって行われる操作に応じて前記第1ユーザに対して変更内容の申請を行う処理を実行する第2処理ステップと、
前記第1ユーザによって行われる操作に応じて前記第2ユーザからの変更内容の申請に対して承認を行う処理を実行する第3処理ステップと、を備え
、
前記第2ユーザに対して前記第1ユーザから変更の許可が行われた場合に、前記第2ユーザによって行われる操作に応じて第5ユーザに対して変更の許可を行い前記第5ユーザからの変更内容の申請に対して承認を行う処理を実行し、前記第2ユーザによって行われる操作に応じて前記第5ユーザからの変更内容で前記第1ユーザに対して変更内容の申請を行う処理を実行する、
三次元データ管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、プログラム、三次元データ管理システムおよび三次元データ管理方法に関する。
【背景技術】
【0002】
近年、建設業界では設計あるいは施工の段階でBIM(Building Information Modeling)あるいはCIM(Construction Information Modeling/Management)に代表される設計・施工用の三次元CADが用いられている。三次元CADのデータは、三次元モデルと属性の情報が全てひとつのファイルに収められている。また、このようなファイルの仕様はCADベンダー独自のフォーマットとなっていることが多く、CADベンダーが用意したソフトウェア以外のプログラムからファイルの中身を直接編集することができない構造となっている。
【0003】
図26は、背景技術に係る三次元データのファイル構成の一例を示す図である。
図26には、設計・施工用の三次元CADのファイル3021の構成例を示してある。
図26には、具体例として、三次元物体3011(テレビ)を示してある。
三次元物体3011は複数の構成要素である、構成要素A(ディスプレイ)、構成要素B(支持部)、構成要素C(スタンド)から構成される。
この場合、ファイル3021には、構成要素Aの形状データ、構成要素Bの形状データ、構成要素Cの形状データ、構成要素Aの属性データ、構成要素Bの属性データ、構成要素Cの属性データが含まれる。
このように、すべての構成要素の形状データおよび属性データが、ひとつのファイル3021により管理される。
また、ファイル3021の形式は、CADベンダー独自の形式であり、当該形式の仕様が公開されていない場合も多い。
【0004】
特許文献1には、ブロックチェーンを用いた建築工程管理システムが記載されている(特許文献1参照。)。特許文献1の技術では、二次元または三次元のCADデータが用いられており、データをブロックチェーンによって蓄積することが行われている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の技術では、複数の構成要素から構成される三次元物体を表すデータの管理が効率的でない場合があった。例えば、従来の技術では、三次元物体の構成要素ごとの変更の管理が不十分である場合があった。
【0007】
本開示は、このような事情を考慮してなされたもので、複数の構成要素から構成される三次元物体を表すデータの管理を効率的に行うことができる情報処理装置、プログラム、三次元データ管理システムおよび三次元データ管理方法を提供することを課題とする。
【課題を解決するための手段】
【0008】
本開示の一態様は、複数の構成要素から構成される三次元物体について前記構成要素ごとに、第1ユーザによって行われる操作に応じて第2ユーザに対して変更の許可を行い前記第2ユーザからの変更内容の申請に対して承認を行う処理、または、前記構成要素ごとに、第3ユーザに対して第4ユーザから変更の許可が行われた場合に前記第3ユーザによって行われる操作に応じて前記第4ユーザに対して変更内容の申請を行う処理、のうちの少なくとも1つを実行する処理部を備え、前記処理部は、前記三次元物体を構成する前記構成要素ごとに前記構成要素ごとのデータを独立したファイルとして保存し、前記ファイルごとに前記変更内容をトランザクションに格納し、前記トランザクションをブロックチェーンに追加することで、前記構成要素ごとの前記変更の履歴を前記ブロックチェーンにて管理する、情報処理装置である。
本開示の一態様は、複数の構成要素から構成される三次元物体について前記構成要素ごとに、第3ユーザに対して第4ユーザから変更の許可が行われた場合に前記第3ユーザによって行われる操作に応じて前記第4ユーザに対して変更内容の申請を行う処理を実行する処理部を備え、前記処理部は、前記第3ユーザに対して前記第4ユーザから変更の許可が行われた場合に、前記第3ユーザによって行われる操作に応じて第5ユーザに対して変更の許可を行い前記第5ユーザからの変更内容の申請に対して承認を行う処理を実行し、前記第3ユーザによって行われる操作に応じて前記第5ユーザからの変更内容で前記第4ユーザに対して変更内容の申請を行う処理を実行する、情報処理装置である。
【0009】
本開示の一態様は、コンピュータに、複数の構成要素から構成される三次元物体について前記構成要素ごとに、第1ユーザによって行われる操作に応じて第2ユーザに対して変更の許可を行い前記第2ユーザからの変更内容の申請に対して承認を行う処理ステップ、または、前記構成要素ごとに、第3ユーザに対して第4ユーザから変更の許可が行われた場合に前記第3ユーザによって行われる操作に応じて前記第4ユーザに対して変更内容の申請を行う処理ステップ、のうちの少なくとも1つの処理ステップを実行させるためのプログラムであって、前記少なくとも1つの処理ステップは、前記三次元物体を構成する前記構成要素ごとに前記構成要素ごとのデータを独立したファイルとして保存し、前記ファイルごとに前記変更内容をトランザクションに格納し、前記トランザクションをブロックチェーンに追加することで、前記構成要素ごとの前記変更の履歴を前記ブロックチェーンにて管理する、プログラムである。
本開示の一態様は、コンピュータに、複数の構成要素から構成される三次元物体について前記構成要素ごとに、第3ユーザに対して第4ユーザから変更の許可が行われた場合に前記第3ユーザによって行われる操作に応じて前記第4ユーザに対して変更内容の申請を行う処理ステップを実行させるためのプログラムであって、前記処理ステップは、前記第3ユーザに対して前記第4ユーザから変更の許可が行われた場合に、前記第3ユーザによって行われる操作に応じて第5ユーザに対して変更の許可を行い前記第5ユーザからの変更内容の申請に対して承認を行う処理を実行し、前記第3ユーザによって行われる操作に応じて前記第5ユーザからの変更内容で前記第4ユーザに対して変更内容の申請を行う処理を実行する、プログラムである。
【0010】
本開示の一態様は、複数の構成要素から構成される三次元物体について前記構成要素ごとに、第1ユーザによって行われる操作に応じて第2ユーザに対して変更の許可を行う処理を実行する第1処理部と、前記第2ユーザによって行われる操作に応じて前記第1ユーザに対して変更内容の申請を行う処理を実行する第2処理部と、前記第1ユーザによって行われる操作に応じて前記第2ユーザからの変更内容の申請に対して承認を行う処理を実行する第3処理部と、を備え、前記三次元物体を構成する前記構成要素ごとに前記構成要素ごとのデータを独立したファイルとして保存し、前記ファイルごとに前記変更内容をトランザクションに格納し、前記トランザクションをブロックチェーンに追加することで、前記構成要素ごとの前記変更の履歴を前記ブロックチェーンにて管理する、三次元データ管理システムである。
本開示の一態様は、複数の構成要素から構成される三次元物体について前記構成要素ごとに、第1ユーザによって行われる操作に応じて第2ユーザに対して変更の許可を行う処理を実行する第1処理部と、前記第2ユーザによって行われる操作に応じて前記第1ユーザに対して変更内容の申請を行う処理を実行する第2処理部と、前記第1ユーザによって行われる操作に応じて前記第2ユーザからの変更内容の申請に対して承認を行う処理を実行する第3処理部と、を備え、前記第2ユーザに対して前記第1ユーザから変更の許可が行われた場合に、前記第2ユーザによって行われる操作に応じて第5ユーザに対して変更の許可を行い前記第5ユーザからの変更内容の申請に対して承認を行う処理を実行し、前記第2ユーザによって行われる操作に応じて前記第5ユーザからの変更内容で前記第1ユーザに対して変更内容の申請を行う処理を実行する、三次元データ管理システムである。
【0011】
本開示の一態様は、複数の構成要素から構成される三次元物体について前記構成要素ごとに、第1ユーザによって行われる操作に応じて第2ユーザに対して変更の許可を行う処理を実行する第1処理ステップと、前記第2ユーザによって行われる操作に応じて前記第1ユーザに対して変更内容の申請を行う処理を実行する第2処理ステップと、前記第1ユーザによって行われる操作に応じて前記第2ユーザからの変更内容の申請に対して承認を行う処理を実行する第3処理ステップと、を備え、前記三次元物体を構成する前記構成要素ごとに前記構成要素ごとのデータを独立したファイルとして保存し、前記ファイルごとに前記変更内容をトランザクションに格納し、前記トランザクションをブロックチェーンに追加することで、前記構成要素ごとの前記変更の履歴を前記ブロックチェーンにて管理する、三次元データ管理方法である。
本開示の一態様は、複数の構成要素から構成される三次元物体について前記構成要素ごとに、第1ユーザによって行われる操作に応じて第2ユーザに対して変更の許可を行う処理を実行する第1処理ステップと、前記第2ユーザによって行われる操作に応じて前記第1ユーザに対して変更内容の申請を行う処理を実行する第2処理ステップと、前記第1ユーザによって行われる操作に応じて前記第2ユーザからの変更内容の申請に対して承認を行う処理を実行する第3処理ステップと、を備え、前記第2ユーザに対して前記第1ユーザから変更の許可が行われた場合に、前記第2ユーザによって行われる操作に応じて第5ユーザに対して変更の許可を行い前記第5ユーザからの変更内容の申請に対して承認を行う処理を実行し、前記第2ユーザによって行われる操作に応じて前記第5ユーザからの変更内容で前記第1ユーザに対して変更内容の申請を行う処理を実行する、三次元データ管理方法である。
【発明の効果】
【0012】
本開示によれば、情報処理装置、プログラム、三次元データ管理システムおよび三次元データ管理方法において、複数の構成要素から構成される三次元物体を表すデータの管理を効率的に行うことができる。
【図面の簡単な説明】
【0013】
【
図1】実施形態に係る三次元データ管理システムの概略的な構成の一例を示す図である。
【
図2】実施形態に係るコンピュータシステムの概略的な構成の一例を示す図である。
【
図3】実施形態に係る三次元データ管理システムの概略的な構成の他の例を示す図である。
【
図4】実施形態に係るコンピュータシステムの概略的な構成の他の例を示す図である。
【
図5】実施形態に係る三次元データのファイル構成の一例を示す図である。
【
図6】実施形態に係る三次元データファイルを生成する方法の一例を示す図である。
【
図7】実施形態に係る三次元データファイルを生成する方法の他の例を示す図である。
【
図8】実施形態に係るブロックチェーンに格納するトランザクションの概略的な一例を示す図である。
【
図9】(A)は差替のトランザクションのIn情報およびOut情報の一例を示す図であり、(B)は分割のトランザクションのIn情報およびOut情報の一例を示す図であり、(C)は結合のトランザクションのIn情報およびOut情報の一例を示す図であり、(D)は削除のトランザクションのIn情報およびOut情報の一例を示す図であり、(E)は追加のトランザクションのIn情報およびOut情報の一例を示す図であり、(F)は権限委譲のトランザクションのIn情報およびOut情報の一例を示す図である。
【
図10】実施形態に係るジェネシストランザクションの構成例を示す図である。
【
図11】実施形態に係る許可トランザクションの構成例を示す図である。
【
図12】実施形態に係る申請トランザクションの構成例を示す図である。
【
図13】実施形態に係る承認トランザクションの構成例を示す図である。
【
図14】実施形態に係るブロックチェーンをプロジェクト単位で新規に作成する処理の手順の一例を示す図である。
【
図15】実施形態に係るトランザクションを作成する処理の手順の一例を示す図である。
【
図16】実施形態に係るブロックチェーンファームの一例を示す図である。
【
図17】実施形態に係る三次元データ表示の処理の手順の一例を示す図である。
【
図18】実施形態に係る三次元データ抽出装置により行われる処理の手順の一例を示す図である。
【
図19】実施形態に係る三次元データ表示装置により行われる処理の手順の一例を示す図である。
【
図20】実施形態に係る三次元データ表示装置により表示される画面の概略的な構成例を示す図である。
【
図21】実施形態に係るトランザクション情報表示部の画面の一例を示す図である。
【
図22】実施形態に係る三次元データ表示部の画面の一例を示す図である。
【
図23】実施形態に係る変更許可に関する画面の一例を示す図である。
【
図24】実施形態に係る変更申請に関する画面の一例を示す図である。
【
図25】実施形態に係る変更承認に関する画面の一例を示す図である。
【
図26】背景技術に係る三次元データのファイル構成の一例を示す図である。
【発明を実施するための形態】
【0014】
以下、図面を参照し、本開示の実施形態について説明する。
【0015】
[三次元データ管理システムの一例]
本例では、ファイルデータベース(ファイルDB)を各ノードで保持する場合を示す。
【0016】
図1は、実施形態に係る三次元データ管理システム1の概略的な構成の一例を示す図である。
三次元データ管理システム1は、複数のコンピュータシステム11~14と、P2P(Peer to Peer)ネットワーク21と、を備える。
それぞれのコンピュータシステム11~14は、P2Pネットワーク21と接続され、P2Pネットワーク21を介して互いに通信することが可能である。
【0017】
図1の例では、4個のコンピュータシステム11~14を示してある。
それぞれのコンピュータシステム11~14は、ノードとなる。
図1の例では、それぞれのコンピュータシステム11~14は、許可ノード、申請ノード、承認ノード、マイナーノードとして示されているが、必ずしもコンピュータシステムごとにノードが決められていなくてもよく、1個のコンピュータシステムが2種類以上のノードとして機能してもよい。
本実施形態では、ノードは、ブロックチェーンを共有保有しているコンピュータシステムを示す。
【0018】
なお、マイナーノードは、専用のノードであってもよく、あるいは、任意のノードであってもよい。
本実施形態では、マイナーノードはマイニングを行うが、他の構成例として、マイニングが行われなくてもよく、この場合、マイナーノードは不要である。例えば、パブリックブロックチェーンが構成される場合にはマイナーノードによるNonce値を用いることで耐改ざん性を向上させることができ、一方、プライベートブロックチェーンが構成される場合にはマイナーノードが設けられずに安全性が確保されてもよい。
【0019】
[コンピュータシステムの一例]
図2は、実施形態に係るコンピュータシステムN1の概略的な構成の一例を示す図である。
図1に示されるコンピュータシステム11~13の構成および動作は概略的に同様であり、コンピュータシステムN1としてまとめて説明する。
コンピュータシステムN1は、情報処理装置の一例である。本実施形態では、コンピュータシステムN1は、ユーザのログインの操作(例えば、当該ユーザの識別情報およびパスワードの入力)に応じて当該ユーザを認証し、当該ユーザによって行われる操作に応じて各種の処理(本実施形態では、以下で説明する各種の内容を実現するための処理)を実行する。
なお、コンピュータシステムは、単にコンピュータと呼ばれてもよい。
【0020】
コンピュータシステムN1は、データベース(DB)111と、バックアップ領域112と、三次元データ抽出装置113と、三次元データ表示装置114と、トランザクション処理装置115と、ブロックチェーン116と、ブロックチェーン処理装置117と、P2P通信処理装置118と、を備える。
なお、本実施形態では、図示も含めて、トランザクションをTXと略して示す場合がある。
また、本実施形態では、図示も含めて、ブロックをBLと略して示す場合がある。
また、本実施形態では、図示も含めて、データベースをDBと略して示す場合がある。
【0021】
DB111は、三次元構成要素ファイルを記憶する三次元構成要素ファイルDBと、付帯情報ファイルを記憶する付帯情報ファイルDBと、を含む。
バックアップ領域112は、三次元構成要素ファイルおよび付帯情報ファイルをバックアップとして記憶する。
なお、DB111のデータは、例えば、利用者(本実施形態において、ユーザとも呼ぶ。)の公開鍵を用いた公開鍵暗号方式により保護されてもよい。この場合、秘密鍵を保有している者以外はDB111のデータを利用することができない。
【0022】
三次元データ抽出装置113は、DB111およびバックアップ領域112とファイルのやり取りをする。
三次元データ抽出装置113は、三次元データを抽出する。本実施形態では、三次元データは、三次元構成要素ファイルのデータと、付帯情報ファイルのデータと、を含む。
三次元データ抽出装置113は、三次元データを三次元データ表示装置114に出力する。
三次元データ抽出装置113は、ブロックチェーン116とデータをやり取りする。
【0023】
三次元データ表示装置114は、三次元データ抽出装置113から入力した三次元データを用いて、三次元データを表示する。
三次元データ表示装置114は、トランザクション処理装置115とデータをやり取りする。
本実施形態では、三次元データ表示装置114は、表示対象となる三次元の物体を構成する複数の構成要素のファイルを集めて、これらのファイルのデータを統合して当該物体を画面に表示する機能を有する。
なお、三次元データ表示装置114は、三次元ビューアなどと呼ばれてもよい。
【0024】
トランザクション処理装置115は、トランザクションの処理を行う。トランザクションの処理は、例えば、許可、申請、承認を含む。
ブロックチェーン116は、分散型台帳データを有する。
ブロックチェーン116は、三次元データ抽出装置113とデータをやり取りする。
ブロックチェーン116は、ブロックチェーン処理装置117とデータをやり取りする。
【0025】
ブロックチェーン処理装置117は、ブロックチェーンの処理を行う。ブロックチェーンの処理は、例えば、トランザクションを一旦貯めておくトランザクションプール、トランザクションおよびブロックの検証、ブロックをブロックチェーンに追加する処理を含む。トランザクションプールは、例えば、複数のノードに共通に存在する。
ブロックチェーン処理装置117は、ブロックチェーン116とデータをやり取りする。
ブロックチェーン処理装置117は、P2P通信処理装置118とデータをやり取りする。
【0026】
P2P通信処理装置118は、P2Pネットワーク21の通信処理を行う。
P2P通信処理装置118は、ブロックチェーン処理装置117とデータをやり取りする。
【0027】
ここで、コンピュータシステムN1は、例えば、CPU(Central Processing Unit)などのプロセッサーと、記憶装置(
図2の例では、DB111、バックアップ領域112、および、ブロックチェーン116の記憶装置を含む。)と、を備え、プロセッサーにより所定のプログラム(制御プログラム)を実行することで、各種の処理を実行する。
【0028】
なお、
図2の例では、コンピュータシステムN1の処理部(制御部などと呼ばれてもよい。)が複数の構成部分に区分された例を示してあるが、この区分は説明のための一例であり、各構成部分の区分としては、他の任意の区分が用いられてもよい。また、
図2に示される各構成部分の間のつながり(情報のやり取り)も説明のための一例であり、
図2の例に限定されない。
また、必ずしも各構成部分の区分が存在する必要は無く、例えば、コンピュータシステムN1が有する処理部(制御部などと呼ばれてもよい。)が、コンピュータシステムN1におけるすべての処理を実行すると捉えられてもよい。
【0029】
また、本実施形態では、説明を簡易にするために、ノードを構成する全てのコンピュータシステム11~13が同様な構成(
図2に示される構成)であるとして説明するが、それぞれのコンピュータシステムはそれぞれ任意の構成であってもよい。
なお、マイナーノードとなるコンピュータシステム14は、マイニングを行う機能を有している。
【0030】
[三次元データ管理システムの他の例]
本例では、ファイルDBを中央のサーバーで管理する場合を示す。
【0031】
図3は、実施形態に係る三次元データ管理システム2の概略的な構成の他の例を示す図である。
三次元データ管理システム2は、複数のコンピュータシステム31~34と、P2Pネットワーク41と、サーバー51と、DB61と、バックアップ領域62と、インターネット71と、を備える。
【0032】
ここで、コンピュータシステム31~34とP2Pネットワーク41については、
図1の例と同様である。
さらに、それぞれのコンピュータシステム31~33は、インターネット71と接続され、インターネット71を介してサーバー51と通信することが可能である。
【0033】
DB61は、三次元構成要素ファイルを記憶する三次元構成要素ファイルDBと、付帯情報ファイルを記憶する付帯情報ファイルDBと、を含む。
バックアップ領域62は、三次元構成要素ファイルおよび付帯情報ファイルをバックアップとして記憶する。
なお、配信されるDB61のデータは、例えば、ユーザの公開鍵を用いた公開鍵暗号方式により保護されてもよい。
【0034】
サーバー51は、DB61およびバックアップ領域62とファイルのやり取りをする。
サーバー51は、三次元データを配信する。
サーバー51は、インターネット71と接続され、インターネット71を介してそれぞれのコンピュータシステム31~33と通信することが可能である。
【0035】
[コンピュータシステムの他の例]
図4は、実施形態に係るコンピュータシステムN2の概略的な構成の他の例を示す図である。
図3に示されるコンピュータシステム31~33の構成および動作は概略的に同様であり、コンピュータシステムN2としてまとめて説明する。
コンピュータシステムN2は、情報処理装置の一例である。本実施形態では、コンピュータシステムN2は、ユーザのログインの操作(例えば、当該ユーザの識別情報およびパスワードの入力)に応じて当該ユーザを認証し、当該ユーザによって行われる操作に応じて各種の処理(本実施形態では、以下で説明する各種の内容を実現するための処理)を実行する。
【0036】
コンピュータシステムN2は、インターネット通信処理装置131と、三次元データ抽出装置132と、三次元データ表示装置133と、トランザクション処理装置134と、ブロックチェーン135と、ブロックチェーン処理装置136と、P2P通信処理装置137と、を備える。
【0037】
インターネット通信処理装置131は、インターネットの通信処理を行う。
三次元データ抽出装置132は、インターネット通信処理装置131と三次元データをやり取りする。
ここで、
図3および
図4の例では、
図1および
図2の例と比べて、DB61およびバックアップ領域62がクラウドに設けられており、コンピュータシステムN2がインターネット71を介してサーバー51と通信することでDB61およびバックアップ領域62と三次元データをやり取りする点で相違し、他の点で同様である。
【0038】
なお、
図3および
図4の例では、インターネット71が用いられる場合を示したが、インターネット71の代わりに、他のネットワークが用いられてもよい。
【0039】
ここで、コンピュータシステムN2は、例えば、CPUなどのプロセッサーと、記憶装置(
図4の例では、ブロックチェーン135の記憶装置を含む。)と、を備え、プロセッサーにより所定のプログラム(制御プログラム)を実行することで、各種の処理を実行する。
【0040】
なお、
図4の例では、コンピュータシステムN2の処理部(制御部などと呼ばれてもよい。)が複数の構成部分に区分された例を示してあるが、この区分は説明のための一例であり、各構成部分の区分としては、他の任意の区分が用いられてもよい。また、
図4に示される各構成部分の間のつながり(情報のやり取り)も説明のための一例であり、
図4の例に限定されない。
また、必ずしも各構成部分の区分が存在する必要は無く、例えば、コンピュータシステムN2が有する処理部(制御部などと呼ばれてもよい。)が、コンピュータシステムN2におけるすべての処理を実行すると捉えられてもよい。
【0041】
また、本実施形態では、説明を簡易にするために、ノードを構成する全てのコンピュータシステム31~33が同様な構成(
図4に示される構成)であるとして説明するが、それぞれのコンピュータシステムはそれぞれ任意の構成であってもよい。
なお、マイナーノードとなるコンピュータシステム34は、マイニングを行う機能を有している。
【0042】
以下では、
図1および
図2に示される構成が用いられる場合について説明する。
以下と同様な構成および動作は、
図3および
図4に示される構成に適用されてもよい。
【0043】
[三次元データのファイル構成]
図5は、実施形態に係る三次元データのファイル構成の一例を示す図である。
本実施形態では、三次元データの構成要素ごとに、形状データと属性データをそれぞれ別のファイルで管理する。
【0044】
図5には、具体例として、三次元物体211(テレビ)を示してある。
三次元物体211を複数の構成要素である、構成要素A(ディスプレイ)、構成要素B(支持部)、構成要素C(スタンド)に分けて管理する。
構成要素Aについて、構成要素Aの形状データを含む形状ファイル221と、構成要素Aの属性データを含む属性ファイル222を管理する。
構成要素Bについて、構成要素Bの形状データを含む形状ファイル231と、構成要素Bの属性データを含む属性ファイル232を管理する。
構成要素Cについて、構成要素Cの形状データを含む形状ファイル241と、構成要素Cの属性データを含む属性ファイル242を管理する。
【0045】
ここで、三次元データの構成要素は、例えば、コンピュータグラフィックスにおける座標を持った描画対象の形状(ジオメトリ)の集合体であり、物体として意味を成す最小単位のオブジェクトを指す。具体例として、テレビの構成要素は、例えば、当該テレビを構成する「ディスプレイ」、「支持部」、「スタンド」となる。また、テレビについて、「スタンド」を固定する「ボルト」が三次元データで表現されている場合には、当該「ボルト」も構成要素として扱われる。
【0046】
図5の例では、三次元物体を3個の構成要素に分けて管理する場合を示したが、三次元物体の構成要素数は、1個であってもよく、2個であってもよく、あるいは、4個以上であってもよい。
三次元物体を複数の構成要素に分ける分け方としては、任意の分け方であってもよく、例えば、分解可能な構成要素の単位での分け方が用いられてもよい。
【0047】
それぞれのファイルの形式は、任意であってもよく、例えば、仕様が公開されている形式であってもよく、あるいは、他の形式であってもよい。具体例として、形状ファイルの形式として、STL、OBJ、glTFなどが用いられてもよい。また、属性ファイルの形式として、Text、CSV、JSON、SQLiteなどが用いられてもよい。
【0048】
[三次元データファイルを生成する方法の一例]
図6は、実施形態に係る三次元データファイルを生成する方法の一例を示す図である。
本例では、基になる三次元データファイルに基づいて三次元構成要素ファイル(形状ファイルと属性ファイル)および付帯情報ファイルからなる三次元データファイルを生成する方法について説明する。
なお、形状ファイルは形状データファイルなどと呼ばれてもよく、また、属性ファイルは属性データファイルなどと呼ばれてもよい。また、形状ファイルのデータは形状データなどと呼ばれてもよく、また、属性ファイルのデータは属性データなどと呼ばれてもよい。
基になる三次元データファイルは、任意のファイルであってもよく、例えば、設計・施工用の三次元CADデータのファイルである。
【0049】
三次元データ311は、基になるデータである。
三次元データ311は、形状データと、属性データを含む。
本実施形態では、三次元データ311は、N(Nは2以上の整数)個の構成要素に分けられる場合を示す。
【0050】
三次元データ変換装置312は、三次元データ311を取り込み、構成要素を特定し、特定した構成要素の三次元データをファイルとして生成し、データ形式の変換およびGUID(Globally Unique Identifier)の付与を行い、生成したファイルを出力する。
このように、三次元データ変換装置312は、構成要素ごとに、三次元データ311に基づいて、形状ファイル321、属性ファイル322を生成する。
【0051】
付帯情報作成ソフト313は、付帯情報ファイル323を生成する。
付帯情報作成ソフト313は、付帯情報を作成するソフトウェアであり、例えば、拡張子ごとのアプリケーションである。
形状ファイル321、属性ファイル322、および付帯情報ファイル323のファイルセットが、三次元の構成要素ごとに、総じて複数生成される。
【0052】
GUID生成装置314は、GUIDを生成する。
また、GUID生成装置314は、拡張子cccのファイル名を変更する。
【0053】
形状ファイル321は、構成要素ごとにN個あり、例えば、ファイル名がGUID.aaaである。本実施形態では、aaaは三次元データファイル(形状データのファイル)の拡張子である。
属性ファイル322は、構成要素ごとにN個あり、例えば、ファイル名がGUID.bbbである。本実施形態では、bbbは、属性データのファイルの拡張子である。
付帯情報ファイル323は、任意のファイル数ごとにあり、例えば、ファイル名がGUID.cccである。本実施形態では、cccは、付帯情報ファイルの拡張子である。
【0054】
GUIDは、データを一意に識別するために用いられる識別子であり、例えば、128ビットの整数値からなる。
GUIDは、世界中に唯一のキーとして扱うことが可能であり、“8桁-4桁-4桁-4桁-12桁”のようにハイフン(-)で文字間を区切った文字列である。
【0055】
ここで、GUIDに関して同じ拡張子の付帯情報が複数ある場合には、同じ拡張子の付帯情報ファイルを圧縮(例えば、ZIP圧縮など)してひとまとめにする。この場合、圧縮ファイルのファイル名をGUIDとする。例えば、三次元構成要素[GUID]に対して、2つの付帯情報ファイルである“[任意の名前1].ccc”というファイルと“[任意の名前2].ccc”というファイルが存在する場合、これら2つのファイルを1つのファイルに圧縮し、圧縮ファイルのファイル名を“[GUID].zip”などとする。
【0056】
[三次元データファイルを生成する方法の他の例]
図7は、実施形態に係る三次元データファイルを生成する方法の他の例を示す図である。
本例では、三次元構成要素ファイル(形状ファイルと属性ファイル)および付帯情報ファイルからなる三次元データファイルのそれぞれを個別に生成する方法について説明する。
【0057】
三次元データ作成ソフト411は、モデルを作成し、それに基づく形状データのファイル(形状ファイル421)を保存する。
属性データ作成ソフト412は、属性データを入力し、それに基づく属性データのファイル(属性ファイル422)を保存する。
【0058】
ここで、三次元データ作成ソフト411としては、任意のソフトウェアが用いられてもよく、例えば、従来の設計・施工三次元CADソフトが用いられてもよい。三次元データ作成ソフト411としては、例えば、三次元データ表示装置114が表示することができるファイル形式(例えば、STL、OBJ、glTFなど)で保存することができればよい。
また、属性データ作成ソフト412についても、任意のソフトウェアが用いられてもよく、例えば、三次元データ表示装置114が表示することができるファイル形式で保存することができればよい。
【0059】
付帯情報作成ソフト413は、付帯情報ファイル423を生成する。
付帯情報作成ソフト413は、
図6に示される付帯情報作成ソフト313と同様な機能を有する。
形状ファイル421、属性ファイル422、および付帯情報ファイル423のファイルセットが、三次元の構成要素ごとの単一セットとして生成される。
【0060】
GUID生成装置414は、GUIDを生成する。
GUID生成装置414は、
図6に示されるGUID生成装置314と同様な機能を有する。
【0061】
形状ファイル421は、1個の構成要素について1個あり、例えば、ファイル名がGUID.aaaである。
属性ファイル422は、1個の構成要素について1個あり、例えば、ファイル名がGUID.bbbである。
付帯情報ファイル423は、任意のファイル数ごとにあり、例えば、ファイル名がGUID.cccである。
【0062】
[ブロックチェーンに格納するトランザクションの概要]
図8は、実施形態に係るブロックチェーンに格納するトランザクション501の概略的な一例を示す図である。
本例では、三次元構成要素ファイルおよび付帯情報ファイルの変更記録を行うトランザクションの概略的な例を示す。
【0063】
図8の例では、トランザクション501の構成部分の情報(構成部分情報)として、プロジェクト識別子511と、ユーザ識別子512と、In情報513と、Out情報514と、管理者の情報(管理者情報515)と、変更者の情報(変更者情報516)と、取引情報のデジタル署名517と、を示してある。
ここで、トランザクション501は、トランザクション501が使用される状況(本実施形態では、ジェネシス、許可、申請、承認)によって、
図8に例示される一部の構成部分情報を含まなくてもよく、あるいは、
図8に示される構成部分情報以外の情報を含んでもよい。
【0064】
In情報513は、変更前の構成要素並びに付帯情報のファイルを特定する情報である。
Out情報514は、変更後の構成要素並びに付帯情報のファイルを特定する情報である。
ファイルを特定する情報としては、例えば、ファイルのハッシュ値(ファイルハッシュ値)が用いられる。
ファイルの名称としては、例えば、GUIDの文字列が用いられ、三次元構成要素を特定するために使用される。
なお、それぞれの情報ごとに、トランザクション501における所定の領域に格納されてもよい。
【0065】
トランザクションは、ブロックチェーンにおける取引者と取引内容の記録データに相当する。本実施形態では、トランザクションは、三次元構成要素ファイルおよび付帯情報ファイルに対する、変更内容および変更を行った者、承認内容および承認を行った者などを記録する。
本実施形態では、変更前の情報をIn情報513の領域に記録し、変更後の情報をOut情報514の領域に記録する。本実施形態では、変更を行ったファイルそのもの(バイナリーデータ)はトランザクションに含まれず、ファイルを特定する情報としてファイルハッシュ値がIn情報513とOut情報514に登録される。ファイルハッシュ値により、形状ファイル、属性ファイル、および、付帯情報ファイルが特定される。
ファイルハッシュ値は、ファイルのバイナリーデータから生成されるハッシュ値である。ハッシュアルゴリズムとしては、任意のアルゴリズムが用いられてもよく、例えば、MD5、SHA-1、あるいは、SHA-256が用いられてもよい。
【0066】
In情報513とOut情報514には、三次元構成要素を示すファイル情報の他に、当該三次元構成要素に付帯する情報(付帯情報)を格納したファイルの情報が、変更情報として登録されてもよい。このような付帯情報は、例えば、施設の構成管理に必要な情報であってもよく、具体例として、仕様書などの設計要件情報、あるいは、設計図または図書などの施設構成情報であってもよい。
ここで、付帯情報は、構成要素ごとに対応付けられる付加的情報(メタデータ)であり、任意のファイル書式(例えば、テキスト、PDF、画像など)の電子ファイル(または、電子ファイル群)で管理されてもよい。本実施形態では、管理者または変更者は、三次元データ表示装置114により、構成要素の付加的情報として自由に付帯情報にアクセスすることができ、当該付帯情報の内容を確認することが可能である。
【0067】
ファイルそのものは、三次元構成要素ファイルDBまたは付帯情報ファイルDBのストレージ領域、または、バイナリーデータが格納できるデータベースシステムに保存される。管理者は、ファイルDBに保存されたファイルを照査することで、変更内容を評価し、承認または却下の判断を行う。
【0068】
[トランザクションのIn情報およびOut情報]
三次元構成要素の変更の種類および変更の許可に応じた、トランザクションのIn情報およびOut情報の組み合わせについて説明する。
【0069】
図9(A)は、差替のトランザクションのIn情報およびOut情報の一例を示す図である。
この場合、In情報は、単一のファイルセット情報であり、例えば、ファイル名と、ファイルハッシュ値である。なお、ファイル名は使用されなくてもよい。
また、Out情報は、単一のファイルセット情報であり、例えば、ファイル名と、ファイルハッシュ値である。なお、ファイル名は使用されなくてもよい。
ここで、差替は、Out情報のファイル情報で特定されるファイルを三次元構成要素ファイルDBまたは付帯情報ファイルDBに加え、In情報のファイル情報で特定されるファイルをバックアップ領域112に移動する処理を行う。
差替では、例えば、ある「椅子」から別の「椅子」への差替のように同一種類の物の差替が用いられてもよく、あるいは、ある「椅子」からある「テーブル」への差替のように異なる種類の物の差替が用いられてもよい。
【0070】
図9(B)は、分割のトランザクションのIn情報およびOut情報の一例を示す図である。
この場合、In情報は、単一のファイルセット情報であり、例えば、ファイル名と、ファイルハッシュ値である。なお、ファイル名は使用されなくてもよい。
また、Out情報は、複数のファイルセット情報であり、例えば、ファイル名と、ファイルハッシュ値である。なお、ファイル名は使用されなくてもよい。
ここで、分割は、Out情報のファイル情報で特定されるファイルを三次元構成要素ファイルDBまたは付帯情報ファイルDBに加え、In情報のファイル情報で特定されるファイルをバックアップ領域112に移動する処理を行う。
分割では、例えば、1つの構成要素が2つ以上の構成要素に分割されるというように、構成要素が増加する。
【0071】
図9(C)は、結合のトランザクションのIn情報およびOut情報の一例を示す図である。
この場合、In情報は、複数のファイルセット情報であり、例えば、ファイル名と、ファイルハッシュ値である。なお、ファイル名は使用されなくてもよい。
また、Out情報は、単一のファイルセット情報であり、例えば、ファイル名と、ファイルハッシュ値である。なお、ファイル名は使用されなくてもよい。
ここで、結合は、Out情報のファイル情報で特定されるファイルを三次元構成要素ファイルDBまたは付帯情報ファイルDBに加え、In情報のファイル情報で特定されるファイルをバックアップ領域112に移動する処理である。
結合では、例えば、2つ以上の構成要素が1つの構成要素に結合されるというように、構成要素が減少する。
【0072】
なお、構成要素が複数のGUID(三次元構成要素データを一意に識別するための識別子)で構成されている場合には、単一のGUIDに変更する。例えば、椅子が、脚に4つの構成要素、座面に1つの構成要素、背もたれに7つの構成要素といった合計12の構成要素を有する場合、結合の変更申請により、これらはまとめられて1つの構成要素として扱われるようになり、単一のGUIDで管理される。
【0073】
図9(D)は、削除のトランザクションのIn情報およびOut情報の一例を示す図である。
この場合、In情報は、単一または複数のファイルセット情報であり、例えば、ファイル名と、ファイルハッシュ値である。なお、ファイル名は使用されなくてもよい。
また、Out情報は、空である。
ここで、削除は、In情報のファイル情報で特定されるファイルをバックアップ領域112に移動する処理である。
削除では、例えば、1つの構成要素がなくなるというように、構成要素が減少する。
【0074】
図9(E)は、追加のトランザクションのIn情報およびOut情報の一例を示す図である。
この場合、In情報は、空である。
また、Out情報は、単一または複数のファイルセット情報であり、例えば、ファイル名と、ファイルハッシュ値である。なお、ファイル名は使用されなくてもよい。
ここで、追加は、Out情報のファイル情報で特定されるファイルを三次元構成要素ファイルDBまたは付帯情報ファイルDBに加える処理を行う。
追加では、例えば、1つの構成要素が追加されるというように、構成要素が増加する。
【0075】
図9(A)~
図9(E)に示されるそれぞれの種類の変更では、In情報のハッシュ値とOut情報のハッシュ値とが異なり、変更内容の承認が必要となる。
【0076】
図9(F)は、権限委譲のトランザクションのIn情報およびOut情報の一例を示す図である。
この場合、In情報は、単一または複数のファイルセット情報であり、例えば、ファイル名と、ファイルハッシュ値である。なお、ファイル名は使用されなくてもよい。
また、Out情報は、In情報と同じ情報である。
ここで、権限委譲は、In情報とOut情報の内容を全く同じにして、変更の権限および共同管理者の権限を送信先の者(ユーザ)に与える処理である。
【0077】
共同管理者の権限は、他の者に変更の権限を与えることができる権限である。
具体例として、最初の管理者を親とし、親から権限委譲を受けた者(変更者)を子とすると、子は共同管理者の権限によって他の者(孫)に権限委譲することができる。この場合、孫は変更者として変更を行い、当該変更の内容を子が承認する。そして、孫が行った当該変更の内容を子が行った変更として子が親に申請し、当該変更の内容を親が承認する。
【0078】
[ジェネシストランザクション]
図10は、実施形態に係るジェネシストランザクション601の構成例を示す図である。
ジェネシストランザクション601は、初期のトランザクションである。
ジェネシストランザクション601は、トランザクション識別子(TX識別子)611aと、プロジェクト識別子611bと、ユーザ識別子611cと、In情報613と、Out情報614と、管理者の公開鍵ハッシュ値(ハッシュ値615)と、を含む。
トランザクション識別子611aは、トランザクションを個別に識別するための番号である。
図10の例では、トランザクション識別子611aを“TX1”としている。
また、
図10の例では、管理者の秘密鍵(秘密鍵621)を示してある。
【0079】
ここで、プロジェクト識別子611bは、プロジェクトで扱う三次元データを識別するために使用される番号である。
ユーザ識別子611cは、プロジェクト内で管理されるブロックチェーンの管理者となるユーザを識別するために使用される番号であり、ユーザ識別子611cとしては、例えば、ユーザの公開鍵ハッシュ値などが用いられる。
In情報613は、初回の構成要素並びに付帯情報のファイルを特定する情報である。
Out情報614は、In情報613と同じ情報である。
【0080】
[許可トランザクション]
図11は、実施形態に係る許可トランザクション701の構成例を示す図である。
許可トランザクション701は、管理者から変更者へのトランザクションである。
許可トランザクション701は、トランザクション識別子(TX識別子)711aと、プロジェクト識別子711bと、ユーザ識別子711cと、In情報713と、Out情報714と、1つ前のトランザクションに基づくハッシュ値715と、変更者の公開鍵ハッシュ値(ハッシュ値716)と、管理者の公開鍵(公開鍵717)と、デジタル署名718と、を含む。
図11の例では、ハッシュ値715は、ジェネシストランザクション601におけるトランザクション識別子611a(“TX1”)のハッシュ値である。
図11の例では、トランザクション識別子711aを“TX2”としている。
また、
図11の例では、管理者の秘密鍵(秘密鍵621)、および、変更者の秘密鍵(秘密鍵721)を示してある。
【0081】
In情報713は、変更権限を与える構成要素並びに付帯情報のファイルを特定する情報である。
Out情報714は、In情報713と同じ情報である。
デジタル署名718は、ハッシュ値715、ハッシュ値716、および、変更対象(In情報713、Out情報714)のデジタル署名である。
デジタル署名718は、管理者の秘密鍵(秘密鍵621)により署名され、管理者の公開鍵(公開鍵717)により検証される。
【0082】
[申請トランザクション]
図12は、実施形態に係る申請トランザクション801の構成例を示す図である。
申請トランザクション801は、変更者から管理者へのトランザクションである。
申請トランザクション801は、トランザクション識別子(TX識別子)811aと、プロジェクト識別子811bと、ユーザ識別子811cと、In情報813と、Out情報814と、1つ前のトランザクションに基づくハッシュ値815と、管理者の公開鍵ハッシュ値(ハッシュ値816)と、変更者の公開鍵(公開鍵817)と、デジタル署名818と、を含む。
図12の例では、ハッシュ値815は、許可トランザクション701におけるトランザクション識別子711a(“TX2”)のハッシュ値である。
図12の例では、トランザクション識別子811aを“TX3”としている。
また、
図12の例では、変更者の秘密鍵(秘密鍵721)、および、管理者の秘密鍵(秘密鍵821)を示してある。
【0083】
In情報813は、変更前の構成要素並びに付帯情報のファイルを特定する情報である。
Out情報814は、変更後の構成要素並びに付帯情報のファイルを特定する情報である。
デジタル署名818は、ハッシュ値815、ハッシュ値816、および、変更内容(In情報813、Out情報814)のデジタル署名である。
デジタル署名818は、変更者の秘密鍵(秘密鍵721)により署名され、変更者の公開鍵(公開鍵817)により検証される。
【0084】
[承認トランザクション]
図13は、実施形態に係る承認トランザクション901の構成例を示す図である。
承認トランザクション901は、管理者による変更判定結果のトランザクションである。
承認トランザクション901は、トランザクション識別子(TX識別子)911aと、プロジェクト識別子911bと、ユーザ識別子911cと、In情報913と、Out情報914と、1つ前のトランザクションに基づくハッシュ値915と、管理者の公開鍵ハッシュ値(ハッシュ値916)と、管理者の公開鍵(公開鍵917)と、デジタル署名918と、を含む。
図13の例では、ハッシュ値915は、申請トランザクション801におけるトランザクション識別子811a(“TX3”)のハッシュ値である。
図13の例では、トランザクション識別子911aを“TX4”としている。
また、
図13の例では、管理者の秘密鍵(秘密鍵821)を示してある。
【0085】
In情報913は、変更前または変更後の構成要素並びに付帯情報のファイルを特定する情報である。
Out情報914は、In情報913と同じ情報である。
デジタル署名918は、ハッシュ値915、および、承認結果(In情報913、Out情報914)のデジタル署名である。
デジタル署名918は、管理者の秘密鍵(秘密鍵821)により署名され、管理者の公開鍵(公開鍵917)により検証される。
【0086】
図10~
図13に示されるトランザクションの処理について説明する。
管理者は、自身の公開鍵ハッシュ値が記録されていて且つIn情報とOut情報が同じトランザクション(例えば、ジェネシストランザクション601)に対して変更許可のためのトランザクション(例えば、許可トランザクション701)を発行することができる。
管理者から変更の許可を与えられない限り、管理者以外のユーザは、ファイルの変更を行うことはできない。
管理者は、変更許可のトランザクションを同時に複数のユーザに対して発行することができる。
変更許可が与えられたユーザは、トランザクション(例えば、許可トランザクション701)のOut情報に記載されたファイル情報から特定されるファイルに対してのみ変更を行うことができる。
変更許可が与えられたユーザは、当該ファイルの共同管理者の権限も与えられる。これにより、当該ユーザは、他のユーザに変更を許可する権限も得る。
【0087】
変更者は、構成要素の変更を行った場合、変更者に権限を与えた管理者に対してのみ、申請トランザクション801により、変更の申請を行うことができる。
管理者は、変更内容を確認し、承認または否認の判断を行う。承認の場合は、管理者は、変更後のファイル情報をIn情報とOut情報に記録し、承認トランザクション901を作成する。否認の場合は、管理者は、変更前のファイル情報をIn情報とOut情報に記録して、承認トランザクション901を作成する。承認トランザクション901には、該当する構成要素の管理者となるユーザの公開鍵ハッシュ値(ハッシュ値916)を登録する。
承認を行った管理者が再度管理者となる場合には、管理者は、自身の公開鍵ハッシュ値をトランザクションに登録する。変更申請した変更者に引き続き変更を許可する場合には、管理者は、変更者の公開鍵ハッシュ値をトランザクションに登録する。本実施形態では、該当する構成要素が最後に記録されたトランザクションに自身の公開鍵ハッシュ値が含まれているユーザが、当該構成要素について許可、申請、または、承認を実行することが可能である。
なお、複数のユーザに変更権限を与えた場合であって、変更が承認された後に他の変更者から変更の申請があった場合には、後から来た変更については、自動的に否認として扱う構成としても良い。
【0088】
[ブロックチェーンへのトランザクションの格納]
本実施形態では、初期には、ジェネシストランザクションによって、三次元データを構成する複数の構成要素のファイルセット(初期的な三次元データ)が定義される。そして、ジェネシストランザクションのみが格納されたブロック(ジェネシスブロック)が生成される。
その後、当該三次元データの構成要素ごとに、変更(差替、分割、結合、削除、追加)が実行されていく。1回の変更は、許可トランザクション、申請トランザクション、承認トランザクションといった流れで実現される。なお、管理者から変更者への変更許可ばかりでなく、権限委譲された当該変更者から他の変更者への変更許可が行われてもよい。
ジェネシストランザクション以外のトランザクション(許可トランザクション、申請トランザクション、承認トランザクション)は、ジェネシスブロックに後続するブロックに格納されていく。ブロックは、所定のタイミングごと(例えば、10分ごとなど)に生成され、前回のブロックが生成された後に発生した1個以上のトランザクションが次回のブロックに格納される。本実施形態では、プロジェクト識別子が同じであって、かつ、トランザクションプールのトランザクションに記録されたプロジェクト識別子とユーザ識別子の値が同じトランザクションが集められてブロックが形成される。
このような複数のブロックが時系列で繋がっていきブロックチェーンが生成される。
【0089】
本実施形態では、P2Pネットワーク21に参加しているユーザは、管理者から許可を与えられないと構成要素の各種情報(形状データ、属性データ、メタデータである付帯情報データ)にアクセスすることができない(確認することができない)構成としてあるが、P2Pネットワーク21に参加してブロックチェーンを扱うこと(例えば、マイニングだけするなど)は可能である。
なお、本実施形態では、プライベートブロックチェーンに基づくブロックチェーンが用いられているが、これに限られず、例えば、パブリック型、パーミッション型(プライベート、または、コンソーシアム)といった任意のブロックチェーンが用いられてもよい。
【0090】
[ブロックチェーンをプロジェクト単位で新規に作成する処理]
図14は、実施形態に係るブロックチェーンをプロジェクト単位で新規に作成する処理の手順の一例を示す図である。この処理の手順は、ジェネシストランザクション601を格納するブロック(ジェネシスブロック)を作成する処理の手順である。ジェネシスブロックは、ひとつ前のブロックハッシュ値を継承していない一番初めのブロックである。
この処理は、例えば、管理者が当該管理者のコンピュータシステムN1を操作することで行われる。
【0091】
(ステップS1)
コンピュータシステムN1では、プロジェクト識別子を取得する。そして、ステップS2の処理へ移行する。
この処理は、例えば、トランザクション処理装置115により行われる。
【0092】
(ステップS2)
コンピュータシステムN1では、三次元構成要素ファイルDBおよび付帯情報ファイルDBに初期データを登録する。そして、ステップS3の処理へ移行する。
この処理は、例えば、三次元データ抽出装置113により行われる。
【0093】
(ステップS3)
コンピュータシステムN1では、これらのファイルDB(三次元構成要素ファイルDBおよび付帯情報ファイルDB)の内部のファイル情報の全てを含むトランザクションを初期トランザクションとして発行する。そして、ステップS4の処理へ移行する。
この処理は、例えば、トランザクション処理装置115により行われる。
【0094】
(ステップS4)
コンピュータシステムN1では、発行するトランザクションに、プロジェクト識別子と、管理者のユーザ識別子を登録する。そして、ステップS5の処理へ移行する。
この処理は、例えば、トランザクション処理装置115により行われる。
【0095】
(ステップS5)
コンピュータシステムN1では、全トランザクションをジェネシスブロック(単一)に追加する。そして、本フローの処理を終了する。
この処理は、例えば、ブロックチェーン処理装置117により行われる。
【0096】
[トランザクションを作成する処理]
図15は、実施形態に係るトランザクションを作成する処理の手順の一例を示す図である。
この処理は、管理者または変更者が自身のコンピュータシステムN1を操作することで行われる。
この処理では、トランザクションを作成する条件と、トランザクションをピアに送信するまでの処理が示される。ピアは、ノードが接続している他のノードを表す。
【0097】
(ステップS11)
コンピュータシステムN1では、構成要素のGUIDを特定し、三次元構成要素ファイルからファイルハッシュ関数によりハッシュ値を特定する。そして、ステップS12の処理へ移行する。
この処理は、例えば、トランザクション処理装置115により行われる。
【0098】
(ステップS12)
コンピュータシステムN1では、自身(コンピュータシステムN1の操作者である管理者または変更者)の公開鍵ハッシュ値および当該構成要素がOut情報に記録されているトランザクションがブロックチェーン内に存在するか否かを判定する。
この判定の結果、このようなトランザクションが存在する場合には(ステップS12:YES)、ステップS13の処理へ移行する。
一方、この判定の結果、このようなトランザクションが存在しない場合には(ステップS12:NO)、ステップS20の処理へ移行する。
この処理は、例えば、ブロックチェーン処理装置117により行われる。
【0099】
(ステップS13)
コンピュータシステムN1では、該当するトランザクションにおけるIn情報とOut情報とが同じ情報であるか否かを判定する。
この判定の結果、これらの情報が同じ情報である場合には(ステップS13:YES)、ステップS14の処理へ移行する。
一方、この判定の結果、これらの情報が同じ情報ではない場合には(ステップS13:NO)、ステップS17の処理へ移行する。
この処理は、例えば、トランザクション処理装置115により行われる。
【0100】
(ステップS14)
コンピュータシステムN1では、他のユーザに変更許可を与えるか否かを判定する。
この判定の結果、他のユーザに変更許可を与える場合には(ステップS14:YES)、ステップS15の処理へ移行する。
一方、この判定の結果、他のユーザに変更許可を与えない場合には(ステップS14:NO)、ステップS16の処理へ移行する。
この処理は、例えば、トランザクション処理装置115により行われる。
【0101】
(ステップS15)
コンピュータシステムN1では、許可トランザクションの発行を行う。この場合、コンピュータシステムN1は、許可ノードとして機能する。そして、ステップS18の処理へ移行する。
この処理は、例えば、トランザクション処理装置115により行われる。
【0102】
(ステップS16)
コンピュータシステムN1では、申請トランザクションの発行を行う。この場合、コンピュータシステムN1は、申請ノードとして機能する。そして、ステップS19の処理へ移行する。
この処理は、例えば、トランザクション処理装置115により行われる。
【0103】
(ステップS17)
コンピュータシステムN1では、承認トランザクションの発行を行う。この場合、コンピュータシステムN1は、承認ノードとして機能する。そして、ステップS18の処理へ移行する。
この処理は、例えば、トランザクション処理装置115により行われる。
【0104】
(ステップS18)
コンピュータシステムN1では、発行したトランザクションをピアに送信する。そして、本フローの処理を終了する。
この処理は、例えば、ブロックチェーン処理装置117により行われる。
【0105】
(ステップS19)
コンピュータシステムN1では、変更後の構成要素および付帯情報のファイルをファイルDB(三次元構成要素ファイルDB、付帯情報ファイルDB)に登録する。そして、ステップS18の処理へ移行する。
この処理は、例えば、三次元データ抽出装置113により行われる。
【0106】
(ステップS20)
コンピュータシステムN1では、トランザクションの作成は不可であると判定する。そして、本フローの処理を終了する。
この処理は、例えば、トランザクション処理装置115により行われる。
【0107】
[ブロックチェーンファーム]
図16は、実施形態に係るブロックチェーンファーム1021の一例を示す図である。
図16には、コンピュータシステム1011(コンピュータシステムN1の一例)におけるブロックチェーンファーム1021の一例を示してある。
ブロックチェーンファーム1021では、複数のプロジェクト(案件)について、プロジェクトごとに独立したブロックチェーンが同一のノード内で管理される。なお、プロジェクトごとに、当該プロジェクト(同一のプロジェクト)内で発生した派生的なブロックチェーンのデータ構造が格納されてもよい。
なお、ブロックチェーンファームという名称は、説明の便宜上の名称であり、他の名称で呼ばれてもよい。
【0108】
ブロックチェーンファーム1021は、プロジェクト識別子ごとにデータを保持する。
図16の例では、複数のプロジェクト識別子1031~1034のそれぞれごとのデータを示してある。
プロジェクト識別子1031について、管理者情報1051および共同管理者情報1052、1053が保持されている。
管理者情報1051および共同管理者情報1052、1053のそれぞれは、ブロックチェーンのブロックのデータを保持する。
ここで、プロジェクト識別子ごとに、共同管理者は、1人であってもよく、あるいは、2人以上であってもよい。
【0109】
ここで、三次元データは、ブロックチェーンファーム1021の内部でプロジェクトごとに管理される。ブロックチェーンファーム1021の内部のプロジェクトは、プロジェクト識別子により個別に管理される。
本実施形態では、プロジェクトごとにプロジェクト識別子で管理することで、同一のノードで複数のブロックチェーンを扱うことが可能である。
【0110】
プロジェクトの内部では、ユーザ(管理者、または、変更者)ごとにブロックチェーンが管理される。プロジェクトの内部のブロックチェーンは、ユーザ識別子により個別に管理される。
ユーザ識別子に対応するユーザ以外のユーザは、原則、三次元データ表示装置114で当該ユーザ識別子に対応する三次元データを表示することはできない。
【0111】
[三次元データ表示の処理]
図17~
図19を参照して、三次元データ表示の処理について説明する。この処理は、ファイルDBから必要なデータを抽出して、当該データに基づく表示を行う処理である。
この処理は、管理者または変更者が自身のコンピュータシステムN1を操作することで行われる。
【0112】
図17は、実施形態に係る三次元データ表示の処理の手順の一例を示す図である。
【0113】
(ステップS31)
コンピュータシステムN1において、三次元データ表示装置114が起動されると、プロジェクトを選択する処理を行う。そして、ステップS32の処理に移行する。
この処理は、例えば、三次元データ表示装置114により行われる。
【0114】
(ステップS32)
コンピュータシステムN1において、三次元データ抽出装置113による処理(
図18に示される処理)を行う。そして、ステップS33の処理に移行する。
【0115】
(ステップS33)
コンピュータシステムN1において、三次元データ表示装置114によるファイルの表示の処理(
図19に示される処理)を行う。そして、本フローの処理を終了する。
【0116】
図18は、実施形態に係る三次元データ抽出装置113により行われる処理の手順の一例を示す図である。
【0117】
(ステップS41)
コンピュータシステムN1において、三次元データ抽出装置113は、ブロックチェーンファーム1021から、前段のプロジェクト(ステップS31で選択されたプロジェクト)に対してブロックチェーンを抽出する。そして、ステップS42の処理に移行する。
【0118】
(ステップS42)
三次元データ抽出装置113は、前段のブロックチェーン(ステップS41で抽出されたブロックチェーン)から、アクセス権限のある構成要素のファイル情報を取得する。そして、ステップS43の処理に移行する。
【0119】
(ステップS43)
三次元データ抽出装置113は、取得したファイル情報からファイルを特定し、ファイルDB(三次元構成要素ファイルDBおよび付帯情報ファイルDB)に当該ファイルを要求する。そして、ステップS44の処理に移行する。
【0120】
(ステップS44)
三次元データ抽出装置113は、ファイルDBから、要求したファイルを取得する。そして、本フローの処理を終了する。
【0121】
ここで、ファイルへのアクセス権限は、例えば、ブロックチェーンの内部のトランザクションのうち、ユーザの公開鍵ハッシュ値が記録されていて且つIn情報とOut情報とが同じ情報であるトランザクションのファイル情報に対して与えられてもよい。
また、変更者に対して、例えば、当該変更者が作成した申請トランザクションに関するファイルへのアクセス権が与えられてもよい。
また、管理者に対して、例えば、当該管理者によって管理される変更者がアクセス権限を持つファイルへのアクセス権限が与えられてもよい。
なお、これらの例に限られず、ファイルへのアクセス権限の設定は、任意の規則により行われてもよい。
【0122】
図19は、実施形態に係る三次元データ表示装置114により行われる処理の手順の一例を示す図である。
【0123】
(ステップS51)
コンピュータシステムN1において、三次元データ表示装置114は、三次元データ抽出装置113により取得されたファイル群を結合して画面に表示する。そして、変更許可の場合にはステップS52の処理に移行し、申請の場合にはステップS53の処理に移行し、承認の場合にはステップS54の処理に移行する。
【0124】
ここで、三次元データ表示装置114は、三次元データ抽出装置113により抽出された複数のファイルを、ファイル形式に応じて結合処理を行う。三次元データ表示装置114は、結合された三次元データを表示する。
三次元データ表示装置114は、構成要素の変更許可を他のユーザに与えること、あるいは、変更の申請または変更の承認を行うためのトランザクションの発行を行うことが可能である。
【0125】
(ステップS52)
コンピュータシステムN1において、三次元データ表示装置114は、変更許可の場合には、変更許可を与えるユーザと構成要素の選択を行う。そして、ステップS55の処理に移行する。
【0126】
(ステップS53)
コンピュータシステムN1において、三次元データ表示装置114は、申請の場合には、変更前と変更後の構成要素の選択を行う。そして、ステップS56の処理に移行する。
【0127】
(ステップS54)
コンピュータシステムN1において、三次元データ表示装置114は、承認の場合には、変更前後の状況を画面に表示し、これにより、管理者はそれを確認して変更の可否を判断する。そして、ステップS57の処理に移行する。
【0128】
(ステップS55)
コンピュータシステムN1において、三次元データ表示装置114は、トランザクション処理装置115により、許可トランザクションの発行を行う。そして、本フローの処理を終了する。
【0129】
(ステップS56)
コンピュータシステムN1において、三次元データ表示装置114は、トランザクション処理装置115により、申請トランザクションの発行を行う。そして、本フローの処理を終了する。
【0130】
(ステップS57)
コンピュータシステムN1において、三次元データ表示装置114は、トランザクション処理装置115により、承認トランザクションの発行を行う。そして、本フローの処理を終了する。
【0131】
本実施形態では、管理者は、ジェネシストランザクション、許可トランザクション、申請トランザクション、および、承認トランザクションに関し、三次元表示用のデータにアクセスすることが可能であり、三次元表示を行わせることができる。
また、変更者は、許可トランザクション、および、申請トランザクションに関し、三次元表示用のデータにアクセスすることが可能であり、三次元表示を行わせることができる。
なお、このような三次元表示は、例えば、管理者および変更者が担当(例えば、発行等)しているトランザクションのみについて可能であってもよい。
また、このような三次元表示の権限については、本実施形態における例に限られず、任意に設定されてもよい。
【0132】
[コンピュータシステムにより表示される画面の例]
図20は、実施形態に係る三次元データ表示装置114により表示される画面1101の概略的な構成例を示す図である。
画面1101は、三次元データを表示する表示部(三次元データ表示部1121)と、トランザクションに関する情報を表示する表示部(トランザクション情報表示部1122)と、を含む。
【0133】
ここで、三次元データ表示装置114は、ブロックチェーンで管理している三次元構成要素を合成して画面に表示する部分(三次元データ表示部1121)と、三次元構成要素の変更・承認に関するトランザクションを表示する部分(トランザクション情報表示部1122)を表示する。
コンピュータ用のソフトウェアの利用方法としては、特に限定はなく、例えば、端末(コンピュータ)にソフトウェアをインストールして利用する方法が用いられてもよく、あるいは、インターネットブラウザでアクセスしてサーバー側のソフトウェアを利用する方法が用いられてもよい。
【0134】
図21は、実施形態に係るトランザクション情報表示部の画面1201の一例を示す図である。
画面1201は、ログインユーザ名とともに、ログインユーザ名に対応付けられた情報として、通知メッセージ情報1221と、処理待ち情報1222と、処理済み情報1223と、を含む。
これらの情報はツリー構造となっており、ツリーの各項目が展開されることで、各項目の配下の内訳が表示される。なお、本実施形態では、ツリー構造の詳細については、図示および詳しい説明を省略する。
【0135】
通知メッセージ情報1221は、例えば、「自分に変更権限が付与された」という通知の情報、「自分に承認依頼がある」という通知の情報、「自分の申請が承認された」という情報、「自分の申請が却下された」という通知の情報を含む。それぞれの通知、および、全体の通知について、件数の情報が表示されてもよい。
【0136】
処理待ち情報1222は、例えば、「自分が申請」の場合の情報と、「自分が承認」の場合の情報を含む。「自分が申請」の場合の情報は、保留中の場合の情報と、申請中の場合の情報を含む。「自分が承認」の場合の情報は、受付中の場合の情報と、保留中の場合の情報を含む。それぞれの場合、および、全体について、件数の情報が表示されてもよい。
【0137】
処理済み情報1223は、例えば、「自分が申請」の場合の情報と、「自分が承認」の場合の情報と、「自分が許可」の場合の情報を含む。「自分が申請」の場合の情報は、承認完了の場合の情報と、却下の場合の情報を含む。「自分が承認」の場合の情報は、承認完了の場合の情報と、却下の場合の情報を含む。それぞれの場合、および、全体について、件数の情報が表示されてもよい。
【0138】
ここで、トランザクション情報表示部の画面1201には、トランザクションの内容に応じた通知メッセージ、処理待ちの情報、処理済みの情報が表示される。
通知メッセージには、許可トランザクションによりログインユーザに対して変更許可(変更権限)が与えられた旨、申請トランザクションによりログインユーザに対して変更承認の依頼がある旨、承認トランザクションによりログインユーザが申請した変更が承認または却下された旨について、例えば、メッセージの件数が表示される。ユーザは、メッセージを展開することで、メッセージの詳細を個別に確認することが可能である。
【0139】
処理待ちの情報には、変更内容を一時的に保存している「下書き保存中」(自分が申請して保留中)、申請トランザクションを発行して未承認状態の「(自分が申請して)申請中」、他のユーザからログインユーザに承認の依頼がある「承認受付中(自分が承認すべき受付中)」、ログインユーザが他のユーザに変更を許可した「変更許可中」(自分が承認すべき保留中)について、例えば、件数が表示される。ユーザは、「下書き保存中」または「申請中」、「承認受付中」、「変更許可中」を展開することで、該当するトランザクションの詳細を個別に確認することが可能である。
【0140】
処理済みの情報には、ログインユーザ(自分)が申請したトランザクションと自分が承認したトランザクションについて、例えば、件数が表示される。ユーザは、それぞれについて展開すると、例えば、承認が完了した件数および却下となった件数が表示される。ユーザは、承認完了または却下を展開することで、該当するトランザクションの詳細を個別に確認することが可能である。
【0141】
図22は、実施形態に係る三次元データ表示部の画面1301の一例を示す図である。
画面1301は、許可トランザクションに関し、管理者であるユーザに対して表示される画面である。
画面1301は、三次元データを表示している。
図22の例では、三次元データは、複数の三次元物体のデータを含む。複数の三次元物体は、机、椅子、ソファー、植木を含む。これらの三次元物体のそれぞれは、さらに複数の構成要素に分解されてもよい。
また、
図22の例では、ログインユーザの情報(ログインユーザ情報1351)が表示されている。
【0142】
ユーザは、画面1301においてカーソル1321を移動させる操作を行うことができる。そして、ユーザは、所定の物体(
図22の例では、椅子)にカーソル1321を合わせて、メニュー枠1331を表示させる操作を行うことができる。
メニュー枠1331には、「変更を許可する」、「差替」、「分割」、「結合」、「削除」、「追加」といったメニューが表示される。ユーザは、所望のメニューを選択する操作を行うことができる。
ここでは、ユーザが「変更を許可する」メニューを選択した場合について説明する。
【0143】
図23は、実施形態に係る変更許可に関する画面の一例を示す図である。
図23には、変更許可に関するトランザクションの画面1401と、管理者から変更者への許可トランザクション1501を示してある。
トランザクションの画面1401は、トランザクション識別子1421と、モードである形状データ1431、属性データ1432、および、付帯情報1433と、変更対象1441と、ユーザ選択部1451と、許可実行部1471と、を含む。
図23には、ログインユーザ情報1351が示されている。
【0144】
図23の例について説明する。
管理者は、トランザクション識別子1421として、椅子の取替を指定している。
モードでは、変更対象となる椅子について、形状データ1431、属性データ1432、付帯情報1433が表示されている。
変更対象1441の枠に、変更対象の椅子が表示される。
管理者は、ユーザ選択部1451において、変更許可を与えるユーザに対応するユーザ部1461を選択している。
管理者は、許可実行部1471を操作することで、画面1401の表示内容で変更許可を実行することができる。
【0145】
これにより、許可トランザクション1501が生成される。
許可トランザクション1501は、変更対象(
図23の例では、椅子)の構成要素の数と同じ数だけ存在する。つまり、変更対象の構成要素ごとに許可トランザクション1501が存在する。
【0146】
ここでは、説明を簡易化するために、1個の構成要素(1番目の構成要素)の許可トランザクション1501について説明する。
許可トランザクション1501は、In情報1521と、Out情報1522と、変更者の公開鍵ハッシュ値(ハッシュ値1523)と、取引情報のデジタル署名(デジタル署名1524)と、管理者の公開鍵(公開鍵1525)と、を含む。
なお、
図23の例では、許可トランザクション1501に含まれるトランザクション識別子、プロジェクト識別子、ユーザ識別子、および、1つ前のトランザクション識別子に基づくハッシュ値の図示を省略してある。
【0147】
In情報1521は、椅子の三次元構成要素1(GUID1)の情報である。
Out情報1522は、Inと同じ情報である。
ハッシュ値1523は、変更者として選択されたユーザ(ユーザ部1461のユーザ)の公開鍵ハッシュ値である。
公開鍵1525は、管理者(ログインユーザ情報1351に対応するユーザ)の公開鍵である。
【0148】
ここで、管理者は、三次元データ表示部の画面1301で選択した三次元データに対して、「変更を許可する」コマンドの他、「差替」コマンド、「分割」コマンド、「結合」コマンド、「削除」コマンド、「追加」コマンドを実行することが可能である。
「変更を許可する」コマンドを実行すると、変更許可を与えるユーザの選択および変更許可対象の三次元データ構成要素群を確認するためのトランザクション画面(画面1401)が表示される。
変更許可対象の三次元データ構成要素群は、トランザクション画面の変更対象エリアに表示され、モードボタンにより形状データと属性データ、付帯情報を切り替えて確認することができる。
管理者がトランザクション画面でトランザクションを発行するボタン(許可実行部1471)を実行すると、トランザクション処理装置115は許可トランザクション1501を発行し、P2P通信処理装置118はP2Pネットワーク21に参加しているピアに許可トランザクション1501を送信する。
【0149】
次に、
図22に示される画面1301と同様な情報が表示される画面において、ユーザが「差替」メニューを選択した場合について説明する。
本例では、ユーザは、管理者により指定された変更者である。
【0150】
図24は、実施形態に係る変更申請に関する画面の一例を示す図である。
図24には、変更申請に関するトランザクションの画面1601と、変更者から管理者への申請トランザクション1701を示してある。
トランザクションの画面1601は、トランザクション識別子1621と、モードである形状データ1631、属性データ1632、および、付帯情報1633と、変更対象に関する変更前情報1641および変更後情報1642と、ファイルドロップ部1651と、申請保留部1661と、申請実行部1671と、を含む。
図24には、ログインユーザ情報1352が示されている。本例では、ログインユーザは、変更者である。
【0151】
図24の例について説明する。
トランザクション識別子1621として、椅子の取替を指定している。
モードでは、変更対象(本例では、変更前)となる椅子について、形状データ1631、属性データ1632、付帯情報1633が表示されている。
変更対象の変更前情報1641として、変更前の椅子が表示される。
変更対象の変更後情報1642として、変更後の椅子が表示される。
変更者は、ファイルドロップ部1651に、変更後の椅子のファイルをドロップする。これにより、当該ファイルがアップロードされる。
変更者は、申請保留部1661を操作することで、画面1601の表示内容の申請を保留することができる。
変更者は、申請実行部1671を操作することで、画面1601の表示内容で申請を実行することができる。
【0152】
これにより、申請トランザクション1701が生成される。
本例では、申請トランザクション1701は、変更後(
図24の例では、椅子)の構成要素の数と同じ数だけ存在する。つまり、変更後の構成要素ごとに申請トランザクション1701が存在する。
【0153】
ここでは、説明を簡易化するために、1個の構成要素(1番目の構成要素)の申請トランザクション1701について説明する。
申請トランザクション1701は、In情報1721と、Out情報1722と、管理者の公開鍵ハッシュ値(ハッシュ値1723)と、取引情報のデジタル署名(デジタル署名1724)と、変更者の公開鍵(公開鍵1725)と、を含む。
なお、
図24の例では、申請トランザクション1701に含まれるトランザクション識別子、プロジェクト識別子、ユーザ識別子、および、1つ前のトランザクション識別子に基づくハッシュ値の図示を省略してある。
【0154】
In情報1721は、変更前の椅子の三次元構成要素1(GUID1)の情報である。
Out情報1722は、変更後の椅子の三次元構成要素1(newGUID1)の情報である。
公開鍵1725は、変更者(ログインユーザ情報1352に対応するユーザ)の公開鍵である。
【0155】
ここで、変更者は、構成要素の変更後に、変更のコマンドを実行することで、トランザクション画面(画面1601)にて変更の申請トランザクションを発行することができる。
変更者は、申請内容を一時的に保存する場合には、トランザクション画面(画面1601)で、申請を保留するボタン(申請保留部1661)を実行する。
【0156】
図23および
図24の例では、「差替」コマンドが実行される場合について例示したが、「分割」コマンド、「結合」コマンド、「削除」コマンド、「追加」コマンドが実行される場合についても、それぞれの変更の種類に応じて、許可トランザクションおよび申請トランザクションが発行される。
【0157】
図25は、実施形態に係る変更承認に関する画面の一例を示す図である。
本例では、ユーザは、管理者である。
図25には、変更承認に関するトランザクションの画面1801と、管理者による承認トランザクション1901を示してある。
トランザクションの画面1801は、トランザクション識別子1821と、モードである形状データ1831、属性データ1832、および、付帯情報1833と、変更対象に関する変更前情報1841および変更後情報1842と、変更前情報1841に対応する管理者情報1851と、変更後情報1842に対応する変更者情報1852と、通信欄1861と、却下部1871と、承認保留部1881と、承認実行部1891と、を含む。
【0158】
図25の例について説明する。
トランザクション識別子1821として、椅子の取替を指定している。
モードでは、変更対象(本例では、変更前)となる椅子について、形状データ1831、属性データ1832、付帯情報1833が表示されている。
変更対象の変更前情報1841として、変更前の椅子が表示される。
変更対象の変更後情報1842として、変更後の椅子が表示される。
管理者は、通信欄1861に、任意の内容の記述を行うことができる。
管理者は、却下部1871を操作することで、画面1801の表示内容の申請を却下することができる。
管理者は、承認保留部1881を操作することで、画面1801の表示内容の申請の承認を保留することができる。
管理者は、承認実行部1891を操作することで、画面1801の表示内容で申請の承認を実行することができる。
【0159】
これにより、承認済みの承認トランザクション1901が生成される。
本例では、承認トランザクション1901は、変更後(
図25の例では、椅子)の構成要素の数と同じ数だけ存在する。つまり、変更後の構成要素ごとに承認トランザクション1901が存在する。
【0160】
ここでは、説明を簡易化するために、1個の構成要素(1番目の構成要素)の承認トランザクション1901について説明する。
承認トランザクション1901は、In情報1921と、Out情報1922と、管理者の公開鍵ハッシュ値(ハッシュ値1923)と、取引情報のデジタル署名(デジタル署名1924)と、変更者の公開鍵(公開鍵1925)と、を含む。
なお、
図25の例では、承認トランザクション1901に含まれるトランザクション識別子、プロジェクト識別子、ユーザ識別子、および、1つ前のトランザクション識別子に基づくハッシュ値の図示を省略してある。
【0161】
In情報1921は、変更後の椅子の三次元構成要素1(newGUID1)の情報である。
Out情報1922は、In情報1921と同じ情報である。
【0162】
ここで、申請トランザクションが発行された場合、管理者のトランザクション情報表示部の「通知メッセージ」の「自分に承認依頼がある」という通知および「処理待ち」の「自分が承認」の「受付中」の通知に申請トランザクションが表示される。
管理者がトランザクション情報表示部で申請トランザクションを選択すると、申請内容をトランザクション画面(画面1801)で確認することができる。
管理者でログインしている場合、変更承認のトランザクション画面(画面1801)で変更後を選択すると、三次元データ表示部で表示される対象を、変更前の構成要素から、一時的に、変更後の構成要素に変更することができる。その後、管理者が変更前を選択すると、三次元データ表示部で表示される対象を、変更前の構成要素に戻すことができる。
管理者は、変更申請内容を確認して、問題がなければ承認実行ボタン(承認実行部1891)を実行し、一旦保留にする場合には承認保留ボタン(承認保留部1881)を実行し、申請を却下する場合には却下ボタン(却下部1871)を実行する。
管理者は、承認実行を行う際に、該当する構成要素について、今回の変更者に継続して変更の許可を与えるか否かを選択することができる。
【0163】
ここで、
図24および
図25の例では、変更の一例として差替の場合について説明したが、分割、結合、削除、追加のそれぞれの場合についても、同様な処理が行われる。
【0164】
[以上の実施形態について]
以上のように、本実施形態に係る三次元データ管理システム1では、許可ノード、申請ノード、あるいは、承認ノードなどとして機能するコンピュータシステムN1によって、複数の構成要素から構成される三次元物体を表すデータ(三次元データ)の管理を効率的に行うことができ、例えば、三次元物体の構成要素ごとの変更の管理を効率的に行うことができる。
【0165】
本実施形態に係る三次元データ管理システム1では、三次元データの構成要素ごとのファイルを分散管理しており、これにより、三次元データの構成要素ごとの部分的な変更に対応することができる。
本実施形態に係る三次元データ管理システム1では、三次元データを構成要素ごとに分割し、分割した構成要素ごとのファイル単位でブロックチェーンを用いて三次元データの変更(例えば、形状データおよび属性データ並びに付帯情報ファイルの更新)を管理している。
【0166】
例えば、従来のように三次元データをまとめて保持する構成(以下、説明の便宜上、従来構成Aと呼ぶ。)では、三次元データの一部が変更された場合においても、変更されていない箇所(本実施形態における変更されていない構成要素)を含めて三次元データ全体のファイルを更新して、更新後のファイルを電子メールあるいはインターネット転送サービスなどで関係する装置に送る必要があった。このため、このような従来の構成では、複数のユーザによる変更(特に、同時に並列的な変更)が必要な場合に運用が困難となる。
これに対して、本実施形態に係る三次元データ管理システム1では、三次元データの一部が変更された場合には、変更された構成要素に関するデータ送信がブロックチェーンのP2Pネットワーク21により即時に自動的に実行され、三次元データ全体のファイルを送る必要がない。このため、本実施形態に係る三次元データ管理システム1では、データ送信の時間的ロスまたは送信ミスを解消することができ、また、データ管理における非効率またはロスを解消することができる。また、本実施形態に係る三次元データ管理システム1では、複数のユーザによる変更(特に、同時に並列的な変更)も容易に可能であり、同時多発的なファイルの更新に対応することも可能である。
【0167】
例えば、上記した従来のような構成(上記した従来構成A)では、三次元データで表示される対象物(物体)は、その状態(形状データ、属性データ)が常に正しいという保証は無く、信憑性に欠ける場合があり、正しさを証明することが難しかった。
これに対して、本実施形態に係る三次元データ管理システム1では、変更者により変更を行うためには管理者による承認が必要であることからデータに対する信憑性があり、また、ブロックチェーンの特徴であるデータの耐改ざん性もあり、一度承認された更新情報は後から変更されることが困難となり、データの信頼性を向上させることができる。
【0168】
ここで、本実施形態に係る三次元データ管理システム1では、ブロックチェーンの分散型台帳を用いて構成要素の状態(形状データ、属性データ)について信憑性の問題を解決している。
具体的には、本実施形態に係る三次元データ管理システム1では、ブロックチェーンのブロックに含めるトランザクションに、三次元データの構成要素の変更前と変更後についてのファイル情報、および、承認権限者による判定結果を記録する。また、承認済みとなったトランザクションはブロックに登録されて、既存のブロックチェーンに加えられる。そして、当該変更前のファイルに関する情報はバックアップ領域112に移動され、これにより、管理者が承認した構成要素のみの情報が残るようになり、信憑性が担保される。
【0169】
例えば、既存の設計・施工用の三次元CADソフトおよびビューアソフトでは、三次元データの一部が変更された後に、変更前の状態を保持する機能が無いため、変更前の状態を知ることが難しい場合があった。なお、変更のたびに三次元データ全体のファイルをバックアップして保存しておくことも考えられるが、バックアップの回数が多くなると、所望の状態のバックアップファイルを探し出すことが煩雑になる。
これに対して、本実施形態に係る三次元データ管理システム1では、三次元データの構成要素ごとの変更内容を「取引」とみなして更新情報をブロックチェーンに記録しており、これにより、変更内容等の来歴管理を行うことができる。当該来歴管理としては、例えば、申請、変更、あるいは、承認などに関する内容の追跡または調査がある。
【0170】
ここで、本実施形態に係る三次元データ管理システム1では、三次元データの構成要素に加えられた全ての変更内容を、ブロックチェーンに記録することで、来歴の管理を可能としている。
これにより、ユーザは、構成要素の前の状態を知りたい場合には、当該構成要素が記録されているブロックをブロックチェーンの後方から前方に追跡することで、ひとつ前の状態から起源(初期)の状態に至るまで、全ての世代に対応した更新情報(変更情報)を表示させることが可能である。例えば、ユーザは、知りたい世代のブロックを指定することで、指定した世代の構成要素に関する情報をバックアップ領域112から復元することが可能である。
【0171】
本実施形態に係る三次元データ管理システム1は、任意の分野の技術に適用されてもよく、例えば、正確な情報管理が求められるあらゆる分野の施設、構造物、設備、装置、部品の構成管理に適用が可能である。ここで、構成管理とは、対象となる物(対象物)に対して3つの要素である「物理構成」、「施設構成情報」、「設計要件」の整合を維持し管理することであり、本実施形態に係る三次元データ管理システム1が適用されることで、効率的な管理が可能となる。
【0172】
ここで、本実施形態では、建築に関する三次元データを例として説明したが、三次元データとしては任意の三次元物体のデータが用いられてもよい。
【0173】
また、本実施形態に係る三次元データ管理システム1では、ブロックチェーンを用いる場合を示したが、他の構成例として、ブロックチェーンが用いられない構成とされてもよく、例えば、ブロックチェーンを用いずに、本実施形態に係るトランザクションに対応する情報を記憶する構成が用いられてもよい。
ここで、本実施形態に係る三次元データ管理システム1では、ブロックチェーンが用いられる場合、より効率的な管理が実現される。具体的には、本実施形態に係る三次元データ管理システム1では、ブロックチェーンが用いられることで、三次元物体の維持あるいは廃棄の段階における構成要素ごとの変更の記録を容易に管理することができ、変更の過程を三次元データを活用して容易に追跡することができる。本実施形態に係る三次元データ管理システム1では、例えば、三次元データを構成要素ごとの単位で部分的に変更する場合に、オープン仕様のフォーマットが採用され、ブロックチェーンにより構成要素ごとの変更の信憑性が担保され、ブロックチェーンにより構成要素ごとの来歴(変更の履歴など)が効率的に管理される。
また、本実施形態に係る三次元データ管理システム1では、P2Pネットワークが用いられる場合を示したが、他の構成例として、P2Pネットワーク以外のネットワークが用いられる構成とされてもよい。
【0174】
また、本実施形態に係る三次元データ管理システム1では、コンピュータシステムN1が管理者あるいは変更者といったユーザをログイン(例えば、ユーザの識別情報およびパスワード)により認証することで、許可、申請、あるいは、承認などを行う者を特定する構成について説明した。
他の構成例として、例えば、ユーザごとに使用するコンピュータシステムN1が定められている場合のように、特定のユーザと特定のコンピュータシステムN1とが1対1で対応している場合には、ユーザの認証の代わりにコンピュータシステムN1の認証(例えば、コンピュータシステムN1の識別情報の認証)により、許可、申請、あるいは、承認などを行う者が特定されてもよい。
さらに、他の構成例として、許可、申請、あるいは、承認などのそれぞれについて専用のコンピュータシステムN1が設定されている場合には、例えば、ユーザの認証をせずに、専用のコンピュータシステムN1によって行われた許可、申請、あるいは、承認などは正式なものとして扱われてもよい。
【0175】
<以上の実施形態に係る構成例>
一構成例として、情報処理装置(
図1および
図2の例ではコンピュータシステムN1、
図3および
図4の例ではコンピュータシステムN2)では、処理部が、次のような処理A1、または、処理A2、のうちの少なくとも1つを実行する。
処理A1は、複数の構成要素から構成される三次元物体について構成要素ごとに、第1ユーザ(本実施形態では、管理者となるユーザ)によって行われる操作に応じて、第2ユーザ(本実施形態では、変更者となるユーザ)に対して変更の許可を行い、当該第2ユーザからの変更内容の申請に対して承認を行う処理である。
処理A2は、複数の構成要素から構成される三次元物体について構成要素ごとに、第3ユーザ(本実施形態では、変更者となるユーザ)に対して第4ユーザ(本実施形態では、管理者となるユーザ)から変更の許可が行われた場合に、当該第3ユーザによって行われる操作に応じて、当該第4ユーザに対して変更内容の申請を行う処理である。
【0176】
なお、例えば、同一の情報処理装置が、処理A1を実行する機能と、処理A2を実行する機能と、の両方を有していてもよい。
また、例えば、処理A1を実行する機能を有し処理A2を実行する機能を有していない情報処理装置が用いられてもよく、あるいは、処理A2を実行する機能を有し処理A1を実行する機能を有していない情報処理装置が用いられてもよい。
また、処理A1において、第1ユーザ(本実施形態では、管理者となるユーザ)以外に他の同様な立場の者(本実施形態では、他の管理者)がいてもよく、つまり、2人以上の者により変更の許可が行われてもよい。
同様に、処理A2において、第4ユーザ(本実施形態では、管理者となるユーザ)以外に他の同様な立場の者(本実施形態では、他の管理者)がいてもよい。
【0177】
一構成例として、情報処理装置において、処理部は、第3ユーザに対して第4ユーザから変更の許可が行われた場合に、当該第3ユーザによって行われる操作に応じて、第5ユーザ(本実施形態では、変更者から変更許可が行われる他の変更者)に対して変更の許可を行い、当該第5ユーザからの変更内容の申請に対して承認を行う処理を実行する。そして、処理部は、当該第3ユーザによって行われる操作に応じて、当該第5ユーザからの変更内容で、当該第4ユーザに対して変更内容の申請を行う処理を実行する。
【0178】
一構成例として、情報処理装置において、変更は、構成要素の差替、構成要素の分割、構成要素の結合、構成要素の削除、構成要素の追加のうちの少なくとも1つを含む。
一構成例として、情報処理装置において、構成要素ごとの構成要素データは、形状を表す形状データ、および、属性を表す属性データを含む。
一構成例として、情報処理装置において、構成要素データは、さらに、付帯情報データを含む。
一構成例として、情報処理装置において、構成要素データに含まれる各データは、GUIDを名称に含むファイルによって保持される。
一構成例として、情報処理装置において、処理部は、三次元物体を構成する構成要素ごとに構成要素ごとのデータを独立したファイルとして保存し、ファイルごとに変更内容をトランザクションに格納し、トランザクションをブロックチェーンに追加することで、構成要素ごとの変更の履歴をブロックチェーンにて管理する。
【0179】
一構成例として、プログラムは、コンピュータ(情報処理装置を構成するコンピュータ)に、複数の構成要素から構成される三次元物体について構成要素ごとに、第1ユーザによって行われる操作に応じて第2ユーザに対して変更の許可を行い第2ユーザからの変更内容の申請に対して承認を行う処理ステップ、または、構成要素ごとに、第3ユーザに対して第4ユーザから変更の許可が行われた場合に第3ユーザによって行われる操作に応じて第4ユーザに対して変更内容の申請を行う処理ステップ、のうちの少なくとも1つを実行させるためのプログラムである。
【0180】
一構成例として、三次元データ管理システム(
図1および
図2の例では三次元データ管理システム1、
図3および
図4の例では三次元データ管理システム2)では、複数の構成要素から構成される三次元物体について構成要素ごとに、第1ユーザ(本実施形態では、管理者となるユーザ)によって行われる操作に応じて第2ユーザ(本実施形態では、変更者となるユーザ)に対して変更の許可を行う処理を実行する第1処理部(本実施形態では、許可ノードの処理部)と、第2ユーザによって行われる操作に応じて第1ユーザに対して変更内容の申請を行う処理を実行する第2処理部(本実施形態では、申請ノードの処理部)と、第1ユーザによって行われる操作に応じて第2ユーザからの変更内容の申請に対して承認を行う処理を実行する第3処理部(本実施形態では、承認ノードの処理部)と、を備える。
【0181】
一構成例として、三次元データ管理方法(例えば、三次元データ管理システムにより行われる方法)では、複数の構成要素から構成される三次元物体について構成要素ごとに、第1ユーザによって行われる操作に応じて第2ユーザに対して変更の許可を行う処理を実行する第1処理ステップと、第2ユーザによって行われる操作に応じて第1ユーザに対して変更内容の申請を行う処理を実行する第2処理ステップと、第1ユーザによって行われる操作に応じて第2ユーザからの変更内容の申請に対して承認を行う処理を実行する第3処理ステップと、を備える。
【0182】
なお、以上に説明した任意の装置(例えば、コンピュータシステム、あるいは、サーバーなど)における任意の構成部の機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録し、そのプログラムをコンピュータシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、オペレーティングシステムあるいは周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD(Compact Disc)-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークあるいは電話回線等の通信回線を介してプログラムが送信された場合のサーバーあるいはクライアントとなるコンピュータシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含むものとする。当該揮発性メモリーは、例えば、RAM(Random Access Memory)であってもよい。記録媒体は、例えば、非一時的記録媒体であってもよい。
【0183】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワークあるいは電話回線等の通信回線のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイルであってもよい。差分ファイルは、差分プログラムと呼ばれてもよい。
【0184】
また、以上に説明した任意の装置(例えば、コンピュータシステム、あるいは、サーバーなど)における任意の構成部の機能は、プロセッサーにより実現されてもよい。例えば、実施形態における各処理は、プログラム等の情報に基づき動作するプロセッサーと、プログラム等の情報を記憶するコンピュータ読み取り可能な記録媒体により実現されてもよい。ここで、プロセッサーは、例えば、各部の機能が個別のハードウェアで実現されてもよく、あるいは、各部の機能が一体のハードウェアで実現されてもよい。例えば、プロセッサーはハードウェアを含み、当該ハードウェアは、デジタル信号を処理する回路およびアナログ信号を処理する回路のうちの少なくとも一方を含んでもよい。例えば、プロセッサーは、回路基板に実装された1または複数の回路装置、あるいは、1または複数の回路素子のうちの一方または両方を用いて、構成されてもよい。回路装置としてはIC(Integrated Circuit)などが用いられてもよく、回路素子としては抵抗あるいはキャパシターなどが用いられてもよい。
【0185】
ここで、プロセッサーは、例えば、CPUであってもよい。ただし、プロセッサーは、CPUに限定されるものではなく、例えば、GPU(Graphics Processing Unit)、あるいは、DSP(Digital Signal Processor)等のような、各種のプロセッサーが用いられてもよい。また、プロセッサーは、例えば、ASIC(Application Specific Integrated Circuit)によるハードウェア回路であってもよい。また、プロセッサーは、例えば、複数のCPUにより構成されていてもよく、あるいは、複数のASICによるハードウェア回路により構成されていてもよい。また、プロセッサーは、例えば、複数のCPUと、複数のASICによるハードウェア回路と、の組み合わせにより構成されていてもよい。また、プロセッサーは、例えば、アナログ信号を処理するアンプ回路あるいはフィルター回路等のうちの1以上を含んでもよい。
【0186】
以上、この開示の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この開示の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0187】
1、2…三次元データ管理システム、11~14、31~34、1011、N1、N2…コンピュータシステム、21、41…P2Pネットワーク、51…サーバー、61、111…データベース(DB)、62、112…バックアップ領域、71…インターネット、113、132…三次元データ抽出装置、114、133…三次元データ表示装置、115、134…トランザクション処理装置、116、135…ブロックチェーン、117、136…ブロックチェーン処理装置、118、137…P2P通信処理装置、131…インターネット通信処理装置、211、3011…三次元物体、221、231、241、321、421…形状ファイル、222、232、242、322、422…属性ファイル、311…三次元データ、312…三次元データ変換装置、313、413…付帯情報作成ソフト、314、414…GUID生成装置、323、423…付帯情報ファイル、411…三次元データ作成ソフト、412…属性データ作成ソフト、501…トランザクション、611a、711a、811a、911a、1421、1621、1821…トランザクション識別子、511、611b、711b、811b、911b、1031~1034…プロジェクト識別子、512、611c、711c、811c、911c…ユーザ識別子、513、613、713、813、913、1521、1721、1921…In情報、514、614、714、814、914、1522、1722、1922…Out情報、515、1051、1851…管理者情報、516、1852…変更者情報、517、718、818、918、1524、1724、1924…デジタル署名、601…ジェネシストランザクション、615、715、716、815、816、915、916、1523、1723、1923…ハッシュ値、621、721、821…秘密鍵、701、1501…許可トランザクション、717、817、917、1525、1725、1925…公開鍵、801、1701…申請トランザクション、901、1901…承認トランザクション、1021…ブロックチェーンファーム、1052、1053…共同管理者情報、1101、1201、1301、1401、1601、1801…画面、1121…三次元データ表示部、1122…トランザクション情報表示部、1221…通知メッセージ情報、1222…処理待ち情報、1223…処理済み情報、1321…カーソル、1331…メニュー枠、1341…変更許可部、1351、1352…ログインユーザ情報、1431、1631、1831…形状データ、1432、1632、1832…属性データ、1433、1633、1833…付帯情報、1441…変更対象、1451…ユーザ選択部、1461…ユーザ部、1471…許可実行部、1641、1841…変更前情報、1642、1842…変更後情報、1651…ファイルドロップ部、1661…申請保留部、1671…申請実行部、1861…通信欄、1871…却下部、1881…承認保留部、1891…承認実行部、3021…ファイル
【要約】
【課題】複数の構成要素から構成される三次元物体を表すデータの管理を効率的に行うことができる情報処理装置を提供する。
【解決手段】複数の構成要素から構成される三次元物体について前記構成要素ごとに、第1ユーザによって行われる操作に応じて第2ユーザに対して変更の許可を行い前記第2ユーザからの変更内容の申請に対して承認を行う処理、または、前記構成要素ごとに、第3ユーザに対して第4ユーザから変更の許可が行われた場合に前記第3ユーザによって行われる操作に応じて前記第4ユーザに対して変更内容の申請を行う処理、のうちの少なくとも1つを実行する処理部を備える、情報処理装置。
【選択図】
図1