(58)【調査した分野】(Int.Cl.,DB名)
請求項1から5の何れか1項に記載の管理装置としてコンピュータを機能させるためのプログラムであって、上記各部としてコンピュータを機能させるための管理プログラム。
【発明を実施するための形態】
【0017】
〔実施形態〕
以下、本発明の一実施形態について、詳細に説明する。本実施形態に係る管理システム1は、製品の材料の取引明細を、ブロックチェーンに記録するシステムである。ここで、本実施形態では、材料は、粉状または液状であり、一例として、缶、袋、箱等の包装体に収容された状態で取り引きされる。なお、包装体の材料としては、一例として、紙、金属、プラスチック等が挙げられる。また、材料には、ロットナンバーが割り振られ、包装体の表面に記載または印字されるか、記載または印字されたラベルが貼付されている。
【0018】
<管理システム1の構成>
図1は、本発明の実施形態に係る管理システム1の構成を示すブロック図である。
図1において、管理システム1は、管理装置10_1〜10_4と、ブロックチェーンシステム200とを含む。
【0019】
管理装置10_1〜10_4の各々は、製品の材料のサプライチェーンを構成する複数の拠点の何れかに設置される。例えば、管理装置10_1は、材料を生産する下請け業者の拠点に設置される。また、管理装置10_2は、下請け業者から購入した材料を流通用の包装体に収容して販売する材料メーカの拠点に設置される。また、管理装置10_3は、輸出入業者の拠点に設置される。また、管理装置10_4は、材料を輸入してエンドユーザに販売する販売業者の拠点に設置される。以下では、下請け業者、材料メーカ、輸出入業者、販売業者、仲介業者(例えば、商社、代理店、問屋)等といった材料を取引する主体を、取引主体とも記載する。
【0020】
ここで、管理装置10_1〜10_4がそれぞれ有する機能的構成は同一である。以降、管理装置10_1〜10_4を特に区別して説明する必要がない場合には、これらの各装置を単に管理装置10とも記載する。
図1には、4つの拠点に配置された4つの管理装置10を記載しているが、本実施形態における管理システム1が有する管理装置10の数およびこれらが設置される拠点の数を限定するものではない。管理装置10を設置する取引の拠点の他の例としては、物流業者(例えば、倉庫業者、運送業者、3PL(third-party logistics))、輸出入業者(例えば、乙仲、船会社等)、通関業者、税関、分析業者、仲介業者(例えば、商社、代理店、問屋)、エンドユーザの拠点等が考えられる。
【0021】
管理装置10は、後述するブロックチェーンシステム200に含まれるノード20_1〜20_4の少なくとも何れかと、ネットワーク91を介して通信可能に接続される。ネットワーク91は、有線LAN(Local Area Network)、無線LAN、インターネット、またはこれらの組み合わせであってもよい。ここで、ノード20_1〜20_4がそれぞれ有する機能的構成は同一であり、以降、ノード20_1〜20_4を特に区別して説明する必要がない場合には、これらの各装置を単にノード20とも記載する。
【0022】
なお、
図1では、管理装置10およびノード20が一対一に対応して接続される例を示しているが、管理装置10は、ノード20の少なくとも何れかと通信可能に接続されていればよく、必ずしも一対一に対応するノード20と接続されていなくても構わない。また、管理装置10の数およびノード20の数は同一でなくても構わない。また、ノード20は、管理装置10が設置される拠点に設置されていてもよい。また、管理装置10およびノード20は、ネットワーク91を介して通信可能に接続される代わりに、一体の装置として構成されていてもよい。
【0023】
<ブロックチェーンシステム200の機能的構成>
ブロックチェーンシステム200は、ブロックチェーンを用いて情報を記録するシステムである。
図1に示したように、ブロックチェーンシステム200は、複数のノード20を含む。これらのノード20間は、P2P(peer to peer)ネットワーク92を介して接続される。ブロックチェーンは、情報を記録したブロックの列であり、複数のノード20によって共有される。具体的には、ブロックチェーンの共有は、同一のブロックチェーンの複製が各ノード20に記憶されることにより実現される。また、ブロックチェーンには、所定のコンセンサスアルゴリズムに従って複数のノード20間で承認されたブロックが追加される。
【0024】
図2は、ノード20の機能的構成を示すブロック図である。
図2において、ノード20は、ブロックチェーン記憶部21と、トランザクション受付部22と、共有部23と、ブロック追加部24と、トランザクション出力部25とを含む。
【0025】
ブロックチェーン記憶部21は、ブロックチェーンを記憶する。当該ブロックチェーンは、他のノード20のブロックチェーン記憶部21に記憶されたブロックチェーンと同一の内容となるよう同期される。
【0026】
図3は、ブロックチェーンおよび各ブロックの構成を模式的に示す図である。
図3において、ブロックB1、B2、B3の各々は、タイムスタンプ、直前のブロックのハッシュ値、ナンス、および1または複数のトランザクションデータを含む。各ブロックが直前のブロックのハッシュ値を含むことにより、ブロック間の順序関係が規定され、ブロックチェーンが構成される。
図3の例では、ブロックB1、B2、B3、・・・の順に並んだブロックチェーンが構成されている。なお、
図3に示すトランザクションデータの構成については後述する。
【0027】
トランザクション受付部22は、ブロックチェーンに記録するトランザクションデータを取得する。トランザクション受付部22は、トランザクションデータを取得すると、取得したトランザクションデータを、後述する共有部23を介して他のノード20にブロードキャストする。トランザクションデータの一例として、例えば、取引明細を表す情報が挙げられるが、これに限られない。本実施形態では、トランザクションデータは、管理装置10から受信される。ただし、トランザクションデータは、ネットワークを介して他の装置から受信されてもよいし、入力装置を介して入力されてもよい。また、トランザクションデータは、可搬型記憶媒体に記憶されたデータが読み込まれることによって取得されてもよい。
【0028】
共有部23は、他のノード20との間で共有するデータを送受信する。例えば、共有部23は、当該ノード20によって取得または生成されたデータを、他のノード20にブロードキャストする。また、他のノード20からブロードキャストされたデータを受信する。
【0029】
ブロック追加部24は、ブロックチェーンに追加すべきブロックを生成する。ブロック追加部24は、追加すべきブロックに、ブロックチェーン記憶部21に記憶されたブロックチェーンにおける最後尾のブロックのハッシュ値を含める。また、ブロック追加部24は、追加すべきブロックに、トランザクション受付部22によって取得されたトランザクションデータ、および、共有部23によって受信されたトランザクションデータのうち、まだブロックチェーンに登録されていない1または複数のトランザクションデータを含める。また、ブロック追加部24は、追加すべきブロックに含めるナンスとして、所定条件を満たすナンスを算出する処理を行う。ナンスを算出する処理については後述する。このようにして生成した追加すべきブロックが、所定のコンセンサスアルゴリズムに基づき複数のノード20間で承認された場合、ブロック追加部24は、生成したブロックを、ブロックチェーン記憶部21に記憶されたブロックチェーンに追加する。また、ブロック追加部24は、追加するブロックを、共有部23を介して他のノード20にブロードキャストする。
【0030】
また、ブロック追加部24は、他のノード20から共有部23を介して受信したブロックを、ブロックチェーン記憶部21に記憶されたブロックチェーンに追加する。このとき、ブロック追加部24は、他のノード20から受信したブロックが、所定のコンセンサスアルゴリズムにより承認された正当なブロックであるか否かを検証後、正当なブロックである場合に追加する処理を行ってもよい。
【0031】
なお、コンセンサスアルゴリズムとは、複数のノード20が単一の結果について合意するためのアルゴリズムである。代表的なコンセンサスアルゴリズムとしては、PoW(Proof of Work)が知られている。PoWでは、複数のノード20のうち所定条件を満たすナンスを最初に算出したノード20によって生成されたブロックが、ブロックチェーンに追加するブロックとして承認される。なお、所定条件の一例としては、当該ナンスを含むブロックのハッシュ値が、先頭に所定数の連続する0を有するとの条件等があるが、これに限られない。また、PoWでは、同時に複数のノード20が所定条件を満たすナンスを算出した場合、または、通信の遅延等の影響が有る場合等、ブロックチェーンが分岐すると、長い方のブロックチェーンが正当であると承認される。ただし、コンセンサスアルゴリズムは、PoWに限らず、その他のアルゴリズムであってもよい。
【0032】
トランザクション出力部25は、トランザクションデータを検索する検索条件を受信すると、ブロックチェーン記憶部21に記録されたブロックチェーンから、当該検索条件を満たすトランザクションデータを検索して出力する。
【0033】
以上のように構成されるブロックチェーンシステム200は、ブロックチェーンに記録される情報の改ざん、消去が難しいとの特徴を有する。そのため、取引に関連する処理の記録にブロックチェーンを用いることにより、記録の信頼性が保証される。また、運用後全ての取引に関連する処理が改ざん、消去されることなく記録されることから、トレーサビリティが実現される。トレーサビリティは、あるトランザクションデータに記録されたインプット(受領された物品)と同一のアウトプット(送付された物品)が記録された他のトランザクションデータを辿ることにより実現される。
【0034】
なお、以降では、ブロックチェーンシステム200の各ノード20によって共有されるブロックチェーンを、単に、ブロックチェーンとも記載する。
【0035】
<管理装置10の構成>
図4は、管理装置10の機能的構成を示すブロック図である。
図4において、管理装置10は、材料識別情報生成部11と、周辺情報取得部12と、トランザクション登録部13と、トランザクション取得部14と、情報出力部15とを含む。情報出力部15は、本発明における評価部および取引履歴出力部の一実施形態である。また、管理装置10は、センサ30に接続される。また、管理装置10は、複数のノード20の少なくとも何れかと通信可能に接続される。なお、管理装置10における各ブロック間のデータ送受信、管理装置10とセンサ30との間のデータ送受信、および管理装置10とノード20との間のデータ送受信は、暗号化されることが望ましい。例えば、管理装置10は、さらに暗号化部(図示せず)を備えてもよい。この場合、暗号化部は、各ブロック間で送受信されるデータの暗号化および復号を行う。また、ノード20が暗号化通信を行う機能を有する場合、管理装置10の暗号化部は、ノード20との間で送受信するデータの暗号化および復号を行う。また、センサ30が暗号化通信を行う機能を有する場合、管理装置10の暗号化部は、センサ30から受信するデータの復号を行う。
【0036】
材料識別情報生成部11は、センサ30を用いて取得した材料を表す情報を用いて、材料に固有の特徴量を示す材料識別情報を生成する。当該材料識別情報により、材料を識別することが可能であり、材料識別情報を比較することにより、材料の同一性を判定することができる。
【0037】
センサ30としては、一例として、カメラが挙げられる。この場合、材料を表す情報として、材料の画像が取得される。なお、材料を表す情報は、これに限られない。例えば、材料を表す情報は、材料の大きさ、形状、テクスチャ、反射スペクトル分布を表す画像であってもよいし、揮発成分分析、匂い分析等によって得られる材料の匂いを表す情報であってもよい。例えば、反射スペクトル分布を表す画像を得るセンサ30の一例として、分光光度計が挙げられる。また、匂いを表す情報を得るセンサ30の一例として、クロマトグラフが挙げられる。その他の匂いセンサの一例としては、例えば、半導体式センサ、水晶振動子式センサ、FET(Field effect transistor)バイオセンサ、膜型表面応力センサ、等が挙げられる。また、他のセンサ30の一例として、透視画像取得センサが挙げられる。透視画像取得センサの具体例には、X線(エックス線)センサがあるが、これに限られない。この場合、材料を表す情報として、材料の透視画像が取得される。また、他のセンサ30の一例として、液体分析装置が挙げられる。液体分析装置の具体例には、LC−MS(Liquid Chromatography Mass Spectrometry)、ICP−MS(Inductively Coupled Plasma - Mass Spectrometry)、およびLC−NMR(Liquid Chromatography -Nuclear Magnetic Resonance)が挙げられるが、これらに限られない。この場合、材料を表す情報として、材料中の特定の成分の濃度が取得される。また、他のセンサ30の一例として、pH(potential of Hydrogen)センサが挙げられる。この場合、材料を表す情報として、材料のpH値が取得される。
【0038】
また、材料識別情報生成部11は、1種類のセンサ30に限らず、複数種類のセンサ30を用いて得られる複数種類の情報を用いてもよい。例えば、材料識別情報生成部11は、材料の画像および匂い情報を用いて材料識別情報を生成してもよい。なお、材料識別情報を生成する手法としては、材料を表す情報(材料の画像、匂い情報等)からノイズを取り除くことにより当該材料に固有の特徴量を抽出する公知の手法を適用可能である。
【0039】
また、材料識別情報生成部11は、センサ30から得られる情報に加えて、当該材料の物質としての状態、物性等を表す情報を用いて、材料識別情報を生成してもよい。物質としての状態の一例としては、固体、液体、気体が挙げられるが、その他に、半固体、分散体等の状態を適用してもよく、これらに限られない。また、物性の一例としては、質量、粘性、弾性、融点、沸点等が挙げられるが、これらに限られない。この場合、材料識別情報生成部11は、材料の物質としての状態、物性等を表す情報を、入力操作によって取得してもよいし、材料の物質としての状態および物性等が記憶されたデータベース(図示せず)から取得してもよい。
【0040】
なお、材料を包装体に収容する処理を行う拠点では、収容前の材料からセンサ30を用いて材料を表す情報を取得することが可能である。また、包装体に収容された材料が取引される拠点では、包装体からサンプルとして抜き取られた材料から、センサ30を用いて材料を表す情報を取得することが可能である。また、包装体に収容された材料が取引される拠点では、包装体に収容された状態のまま材料をセンシング可能なセンサ30を用いて、材料を表す情報を取得することが可能である。例えば、少なくとも一部が赤外線を透過する包装材からなる包装体であれば、赤外線カメラをセンサ30として用いて、材料の画像を取得することが可能である。
【0041】
周辺情報取得部12は、取引の対象となる材料の周辺の状況を表す周辺情報を取得する。周辺情報の一例としては、材料の保管場所、保管場所に関する情報(例えば、温度、湿度、ガス濃度(例えば酸素や二酸化炭素等の濃度))、荷姿写真(荷姿が被写体として写された画像)をそれぞれ示す情報が挙げられるが、これらに限られない。また、周辺情報は、周辺情報が取得された時刻を含んでいてもよい。
【0042】
トランザクション登録部13は、ブロックチェーンシステム200によって記憶されるブロックチェーンに、材料の取引内容を示すトランザクションデータを登録する。トランザクションデータには、上述のように生成した材料識別情報と、取得した周辺情報とが含まれる。材料識別情報は、材料の流通によって変動しない情報であり、周辺情報は、材料の流通によって変動し得る情報である。また、トランザクションデータは、材料識別情報および周辺情報に加えて、取引内容を示す取引情報を含んでいてもよい。
【0043】
ここで、トランザクションデータの構成について、
図3を参照して説明する。
図3に示したように、トランザクションデータは、材料識別情報を少なくとも含む。また、トランザクションデータは、周辺情報を含む。また、トランザクションデータは、取引情報を含む。取引情報の一例としては、例えば、材料名称、取引ID、個別取引ID、取引先、出荷/着荷/納品の種別、ロットナンバー、拠点情報、取引日時等が挙げられるが、これらに限られない。なお、この例では、「取引ID」とは、材料の取引の経路に対応して付与されるIDであり、当該経路おける一連の取引で一貫して用いられるIDである。また、「個別取引ID」とは、拠点間において実行される取引ごとに付与されるIDである。また、取引情報は、EDI(Electronic Data Interchange)の標準フォーマットにしたがった情報を含んでいてもよい。
【0044】
トランザクション取得部14は、ブロックチェーンシステム200に記憶されたブロックチェーンから、取引によって得られた材料の取引内容を示すトランザクションデータを取得する。具体的には、トランザクション取得部14は、材料を得た取引を特定する取引IDを含むとの検索条件をノード20に対して送信することにより、当該取引内容を示すトランザクションデータを取得する。
【0045】
また、トランザクション取得部14は、ブロックチェーンシステム200に記憶されたブロックチェーンから、取引によって得られた材料から生成した材料識別情報を含む1または複数のトランザクションデータを取得する。具体的には、トランザクション取得部14は、当該材料識別情報を含むとの検索条件をノード20に対して送信することにより、当該材料識別情報を含む1または複数のトランザクションデータを取得する。
【0046】
情報出力部15は、取引内容を示すトランザクションデータに含まれる材料識別情報と、取引によって得られた材料から生成した材料識別情報とを比較する。また、情報出力部15は、比較結果に基づいて、当該トランザクションデータが示す材料と、取引によって得られた材料との同一性を評価した評価情報を出力する。具体的には、情報出力部15は、双方の材料識別情報の一致度を算出し、算出した一致度を評価情報として出力してもよい。また、情報出力部15は、一致度が閾値以上であるか否かに応じて、同一であるか否かを表す評価情報を出力してもよい。
【0047】
また、情報出力部15は、所定の材料識別情報を含む1または複数のトランザクションデータがブロックチェーンに登録された日時に基づいて、材料の取引履歴を表す情報を出力する。例えば、情報出力部15は、各トランザクションデータに含まれる周辺情報および取引情報を登録された日時の順に並べることにより、取引履歴を表す情報を出力する。換言すると、取引履歴を表す情報には、周辺情報の履歴と、取引情報の履歴とが含まれる。このようにして出力された取引履歴を表す情報を参照することにより、ユーザは、例えば、拠点情報の履歴(すなわち、流通経路)を確認することができる。また、ユーザは、例えば、材料の保管温度の履歴を確認することができる。これにより、材料を受領したユーザは、取引情報および周辺情報の履歴を確認することにより、当該材料が適正なタイミングで、適正な経路を経て、適正な保管状況にて、当該ユーザに到達したか否かを確認することができる。
【0048】
このように、情報出力部15は、材料の流通によって変動しない材料識別情報を用いて、材料の同一性を評価するとともに、材料の流通によって変動し得る周辺情報を用いて、当該材料の来歴情報をユーザに提供する。例えば、情報出力部15は、当該材料の来歴情報を、後述の出力装置50に出力することによりユーザに提供する。
【0049】
図5は、情報出力部15が出力する取引履歴を表す情報(来歴情報)の画面例を示す図である。情報出力部15は、出力装置50が表示装置である場合に、画面G1を表示装置に表示する。画面G1は、材料がエンドユーザに納品されるまでの来歴情報を示す。ただし、来歴情報は、必ずしもエンドユーザに納品されるまでの取引履歴に限らず、流通経路の途中段階までの取引履歴を示すものであってもよい。
【0050】
図5に示すように、画面G1は、タイトルG101と、履歴情報G102〜G108とを含む。タイトルG101は、材料の名称と、取引IDとを含む。材料の名称は、当該来歴情報を有する材料の名称を示し、ここでは「材料A」である。取引IDは、当該「材料A」に関わる一連の取引で一貫して用いられた取引IDを示し、ここでは、「A001」である。履歴情報G102〜G108は、それぞれ、「材料A」の材料識別情報を含むトランザクションデータに対応し、登録された順に並べられる。この例では、履歴情報G102、G103、G105、G107は、それぞれ、周辺情報(保管温度、保管場所に関する情報(例えば、温度、湿度、ガス濃度(例えば酸素や二酸化炭素等の濃度))、荷姿写真)と、取引情報(取引時刻、個別取引ID)とを含んでいる。また、履歴情報G104、G106、G108は、取引情報(取引時刻、個別取引ID)を含んでいる。なお、情報出力部15は、「材料A」の材料識別情報を含む各トランザクションデータに含まれる情報の一部を来歴情報に含めてもよいし、全部を来歴情報に含めてもよい。また、情報出力部15は、来歴情報に、該当する材料識別情報を含む複数のトランザクションデータの一部を来歴情報に含めてもよいし、全てを来歴情報に含めてもよい。
【0051】
ここで、前述したように、画面G1は、「材料A」がエンドユーザに納品されるまでの来歴情報を示している。例えば、各拠点に設置された管理装置10の情報出力部15は、「材料A」のエンドユーザへの納品後に画面G1を出力可能である。例えば、エンドユーザの拠点に管理装置10が設置される場合、当該管理装置10の情報出力部15は、納品された「材料A」について画面G1を表示装置に出力する。これにより、エンドユーザは、納品された「材料A」について、改ざんの可能性が非常に少ない来歴情報を知ることができる。また、流通経路の途中の拠点(例えば、材料メーカYの拠点)に設置された管理装置10の情報出力部15は、当該拠点から「材料A」が出荷された後、エンドユーザに納品後であれば、画面G1を出力可能である。これにより、流通経路の途中段階の拠点(例えば、材料メーカY)は、自拠点から出荷した「材料A」が最終的にエンドユーザに納品されるまでについて、改ざんの可能性が無いまたは非常に低い来歴情報を知ることができる。
【0052】
また、前述したように、情報出力部15は、画面G1の例に限らず、来歴情報として、流通経路の途中段階までの取引履歴を表す情報を出力してもよい。例えば、流通経路の途中の拠点(例えば、輸出入業者Zの拠点)に設置された管理装置10の情報出力部15は、当該拠点まで「材料A」の取引が行われた段階で、当該拠点までの取引履歴を示す情報を来歴情報として表示してもよい。例えば、輸出入業者Zの拠点に設置された管理装置10の情報出力部15は、「材料A」が当該拠点に着荷した時点で、
図5に示すG101〜G105までを含む来歴情報を表示装置に表示する。このように、材料の流通経路における任意の拠点のユーザは、流通過程における任意の時点で、当該時点までの当該材料の来歴情報として、改ざんの可能性が無いまたは非常に低い情報を知ることができる。
【0053】
図6は、情報出力部15が出力する取引履歴を表す情報(来歴情報)の他の画面例を示す図である。
図6に示す画面G2は、流通経路の途中段階での取引履歴を表している。この例では、画面G2は、仲介業者の拠点に設置された管理装置10において出力される。なお、ここでは、上述した管理装置10_1〜10_4に加えて、さらに他の管理装置10が仲介業者の拠点に設置されているとする。一例として、仲介業者は、輸出入業者および販売業者を仲介する業者である。
【0054】
図6に示すように、仲介業者の拠点に設置された管理装置10の情報出力部15は、当該拠点まで「材料B」の取引が行われた段階で、当該拠点までの取引履歴を示す情報を来歴情報として出力する。
【0055】
画面G2は、タイトルG201と、履歴情報G202〜G207とを含む。タイトルG201は、材料の名称と、取引IDとを含む。材料の名称は、当該来歴情報を有する材料の名称を示し、ここでは「材料B」である。取引IDは、当該「材料B」に関わる一連の取引で一貫して用いられた取引IDを示し、ここでは、「B002」である。履歴情報G202〜G207は、それぞれ、「材料B」の材料識別情報を含むトランザクションデータに対応し、登録された順に並べられる。履歴情報G202〜G207の詳細については、
図5を参照して説明した履歴情報G102〜G107と同様であるため、詳細な説明を繰り返さない。
【0056】
また、例えば、情報出力部15は、このような来歴情報を、材料識別情報生成部11による材料識別情報の生成を契機に出力してもよい。この場合、各拠点のユーザは、包装体に含まれる材料をセンサ30に検出させると、当該材料のそれまでの来歴情報を表示装置にて確認することができる。
【0057】
また、情報出力部15は、このような来歴情報を、後述の入力装置40を介して受信するユーザ指示に応じて表示してもよい。例えば、情報出力部15は、材料識別情報生成部11によって材料識別情報が生成されると、来歴情報の出力指示を受け付けるユーザインタフェースオブジェクト(例えば、「来歴出力ボタン」等)を表示装置に表示する。各拠点のユーザは、マウス等の入力装置40を用いてそのようなユーザインタフェースオブジェクトを操作することにより、該当する材料のそれまでの来歴情報を表示装置にて確認することができる。
【0058】
また、情報出力部15は、このような来歴情報を、入力装置40を介して受信する取引IDに応じて表示してもよい。この場合、情報出力部15は、当該取引IDが示す取引において取引された材料の材料識別情報を特定する。また、情報出力部15は、特定した材料識別情報を含む複数のトランザクションデータをブロックチェーンシステム200から取得することにより、来歴情報を表示する。例えば、材料を含む包装体の表面に取引IDを示す一次元コードまたは多次元コードが表示されているとする。各拠点のユーザは、そのような一次元コードまたは多次元コードをハンディスキャナ等の入力装置40を用いて読み取らせることにより、当該材料のそれまでの来歴情報を表示装置にて確認することができる。
【0059】
<管理システム1の動作>
以上のように構成された管理システム1の動作について、図面を参照して説明する。
【0060】
(材料識別情報の生成およびトランザクションデータの登録)
図7は、管理装置10が材料識別情報を生成してトランザクションデータを登録する動作S1を示すフローチャートである。
【0061】
ステップS101において、材料識別情報生成部11は、センサ30を用いて材料を表す情報を取得する。例えば、材料識別情報生成部11は、包装体に収容前の材料、または、包装体からサンプルとして抜き取られた材料に対して、カメラおよび匂いセンサを用いることにより、材料の画像および匂い情報を取得する。また、材料識別情報生成部11は、材料を収容した包装体に対して、赤外線カメラ等のセンサ30を用いることにより、材料の画像を取得する。
【0062】
ステップS102において、材料識別情報生成部11は、ステップS101で取得された材料を表す情報を用いて、材料に固有の特徴量を示す材料識別情報を生成する。生成には、材料を表す情報を用いて材料に固有の特徴量を抽出する公知の手法を用いる。
【0063】
ステップS103において、周辺情報取得部12は、当該材料の周辺情報を取得する。周辺情報取得部12は、周辺情報として、入力装置を介して入力される情報(例えば、時刻、保管場所等)を取得してもよい。また、周辺情報取得部12は、周辺情報として、周辺情報を検出する検出装置(例えば、保管場所の温度を検出する温度センサ、荷姿を撮影するカメラ等)から送信される情報(例えば、保管温度、荷姿写真等)を取得してもよい。
【0064】
ステップS104において、トランザクション登録部13は、当該材料に関わる取引情報を生成する。例えば、トランザクション登録部13は、取引情報を、ユーザの入力によって取得してもよい。一例として、トランザクション登録部13は、取引情報のうち取引ごとに異なる情報(例えば、取引ID、取引先、取引日時、出荷/着荷/納品の種別等)を、ユーザの入力によって取得してもよい。また、トランザクション登録部13は、取引情報のうち拠点によって定まる情報(例えば、拠点情報等)として、記憶済みの情報を取得してもよい。また、トランザクション登録部13は、取引情報のうち外部装置によって検出可能な情報(例えば、読取装置によって読み取り可能なロットナンバー等)を、当該外部装置から取得してもよい。
【0065】
ステップS105において、トランザクション登録部13は、ステップS102で生成された材料識別情報と、ステップS103で取得された周辺情報と、ステップS104で生成された取引情報とを含むトランザクションデータを、ノード20に送信することにより、ブロックチェーンに登録する。
【0066】
以上で、管理装置10は、動作S1を終了する。
【0067】
(同一性の評価)
図8は、管理装置10が材料の同一性を評価する動作S2を示すフローチャートである。
【0068】
ステップS201において、材料識別情報生成部11は、取引によって得られた材料について材料識別情報を生成する。ステップS201の詳細は、ステップS101〜S102で説明した通りであるため、詳細な説明を繰り返さない。
【0069】
ステップS202において、トランザクション取得部14は、当該材料が得られた取引を示すトランザクションデータを、ブロックチェーンから取得する。具体的には、トランザクション取得部14は、当該取引を特定する取引IDを含むことを検索条件としてノード20に送信することより、該当するトランザクションデータを取得する。
【0070】
ステップS203において、情報出力部15は、ステップS201で得られた材料識別情報と、ステップS202で得られたトランザクションデータに含まれる材料識別情報とを比較することにより、材料の同一性を評価した評価情報を出力する。
【0071】
以上で、管理装置10は、動作S2を終了する。
【0072】
(取引履歴の出力)
図9は、管理装置10が材料の取引履歴を出力する動作S3を示すフローチャートである。
【0073】
ステップS301において、材料識別情報生成部11は、取引によって得られた材料について材料識別情報を生成する。ステップS301の詳細は、ステップS101〜S102で説明した通りであるため、詳細な説明を繰り返さない。
【0074】
ステップS302において、トランザクション取得部14は、ステップS301で得られた材料識別情報を含む1または複数のトランザクションデータを、ブロックチェーンから取得する。具体的には、トランザクション取得部14は、当該材料識別情報を含むことを検索条件としてノード20に送信することより、該当するトランザクションデータを取得する。
【0075】
ステップS303において、情報出力部15は、ステップS302で取得された各トランザクションデータの登録順序に基づいて、取引履歴を表す情報を出力する。取引履歴を表す情報には、周辺情報の履歴と、取引情報の履歴とをそれぞれ表す情報が含まれる。
【0076】
以上で、管理装置10は、動作S3を終了する。
【0077】
(材料の流通に伴う各拠点での管理装置10の動作の具体例)
図10は、材料の流通に伴って、各拠点で実行される管理装置10の動作の具体例を説明するシーケンス図である。
図10では、管理装置10_1〜10_4各々の動作を示すフロー間を左右に結ぶ破線の矢印は、取引による材料の流通を表している。
【0078】
ステップS401の処理は、下請け業者から材料が出荷される段階で実行される。
【0079】
ステップS401において、下請け業者の拠点に配置された管理装置10_1は、生産した材料の材料識別情報を生成し、生成した材料識別情報を、出荷の取引内容を示すトランザクションデータD1に含めてブロックチェーンに登録する。ステップS401の詳細な動作は、
図7を参照して説明した通りである。これにより、トランザクションデータD1に含まれる周辺情報は、下請け業者の拠点から出荷される段階で得られた材料の周辺の状況を表す。
【0080】
ステップS402およびS403の処理は、材料メーカに材料が着荷した段階で実行される。
【0081】
ステップS402において、材料メーカの拠点に配置された管理装置10_2は、下請け業者から着荷した材料の材料識別情報を生成して当該材料の同一性を評価する。下請け業者から着荷した材料は、本発明における「取引によって得られた材料」の一例である。具体的には、管理装置10_2は、管理装置10_1が登録したトランザクションデータD1をブロックチェーンから取得し、生成した材料識別情報と、トランザクションデータD1に含まれる材料識別情報とを比較することにより、同一性を評価する。ステップS402の詳細な動作は、
図7を参照して説明した通りである。ここでは、評価情報として、同一であることを示す評価情報が出力されたとする。
【0082】
ステップS403において、管理装置10_2は、ステップS402で生成した材料識別情報を、着荷の取引内容を示すトランザクションデータD2に含めてブロックチェーンに登録する。ステップS403の詳細な動作は、
図7を参照して説明した通りである。ただし、当該材料の材料識別情報はステップS402で既に生成済みであるため、ステップS101〜S102の処理は省略される。これにより、トランザクションデータD2には、トランザクションデータD1と同一の材料識別情報と、トランザクションデータD1とは異なる周辺情報とが含まれる。当該周辺情報は、材料メーカの拠点に着荷した段階で得られた材料の周辺の状況を表す。
【0083】
ステップS404は、材料メーカの担当者が取引履歴を確認したい時点で実行される。このため、ステップS404の処理は、必ずしもステップS403の後、または、ステップS404の前に限らず、任意の時点で実行可能である。
【0084】
ステップS404において、管理装置10_2は、ブロックチェーンから、ステップS402で生成した材料識別情報を含むトランザクションデータとして、トランザクションデータD1、D2を取得する。また、管理装置10_2は、取得したトランザクションデータD1、D2に含まれる取引情報を、ブロックチェーンへの登録順序にしたがってこの順で並べた取引履歴を表す情報を出力する。ステップS404の詳細な動作は、
図9を参照して説明した通りである。ただし、当該材料の材料識別情報はステップS402で既に生成済みであるため、ステップS101〜S102の処理は省略される。これにより、例えば、材料の周辺情報の履歴として、下請け業者から出荷される段階での周辺情報と、材料メーカに着荷した段階での周辺情報とが出力される。当該ステップで出力される取引履歴を表す情報は、例えば、
図5に示したG102〜G103までである。
【0085】
ステップS405の処理は、材料が包装体に収容され、出荷される段階で実行される。
【0086】
ステップS405において、管理装置10_2は、ステップS402で生成した材料識別情報を、出荷の取引内容を示すトランザクションデータD3に含めてブロックチェーンに登録する。ステップS405の詳細な動作は、
図7を参照して説明した通りである。ただし、当該材料の材料識別情報はステップS402で既に生成済みであるため、ステップS101〜S102の処理は省略される。これにより、トランザクションデータD3には、トランザクションデータD2と同一の材料識別情報と、トランザクションデータD2とは異なる周辺情報とが含まれる。当該周辺情報は、材料メーカの拠点から出荷した段階で得られた材料の周辺の状況を表す。
【0087】
ステップS406〜S409の処理は、輸出入業者に材料が着荷すると管理装置10_3によって実行される。これらの処理の詳細は、ステップS402〜S405と同様であるため、詳細な説明を繰り返さない。ただし、ステップS406では、管理装置10_2が登録したトランザクションデータD3を用いて同一性が評価される。ステップS407では、トランザクションデータD4が登録される。ステップS407では、トランザクションデータD1〜D4が取得され、これらに基づく取引履歴を表す情報が出力される。これにより、例えば、材料の周辺情報の履歴として、下請け業者から出荷される段階での周辺情報と、材料メーカに着荷した段階での周辺情報と、材料メーカから出荷した段階での周辺情報とが出力される。ステップS408で出力される取引履歴を表す情報は、例えば、
図5に示したG102〜G105までである。ステップS409では、トランザクションデータD5が登録される。
【0088】
ステップS410〜S413の処理は、販売業者に材料が着荷すると管理装置10_4によって実行される。これらの処理の詳細は、ステップS402〜S405と同様であるため、詳細な説明を繰り返さない。ただし、ステップS410では、管理装置10_3が登録したトランザクションデータD5を用いて同一性が評価される。ステップS411では、トランザクションデータD6が登録される。ステップS412では、トランザクションデータD1〜D6が取得され、これらに基づく取引履歴を表す情報が出力される。これにより、例えば、材料の周辺情報の履歴として、下請け業者から出荷される段階での周辺情報と、材料メーカに着荷した段階での周辺情報と、材料メーカから出荷した段階での周辺情報と、販売業者に着荷した段階での周辺情報とが出力される。ステップS412で出力される取引履歴を表す情報は、例えば、
図5に示したG102〜G107までである。ステップS413では、エンドユーザへの納品を示すトランザクションデータD7が登録される。
【0089】
以上で、各管理装置10の動作の具体例の説明を終了する。なお、各拠点における管理装置10の動作は、上述した具体例に限られない。例えば、任意の拠点において、同一性を評価する処理が実行されなくてもよい。また、任意の拠点において、取引履歴を出力する処理が実行されなくてもよい。また、任意の拠点において、その他の取引履歴を示すトランザクションデータが登録されてもよい。
【0090】
<本実施形態の効果>
以上説明したように、本実施形態に係る管理システムは、各拠点においてセンサから取得した材料を表す情報を用いて当該材料に固有の特徴量を示す材料識別情報を生成し、生成した材料識別情報を含むトランザクションデータをブロックチェーンに登録するので、今回の取引で得られた材料と、直前の取引においてトランザクションデータに記録された材料との同一性を判定することができる。
【0091】
また、本実施形態は、各拠点において材料識別情報を生成してトランザクションデータに含めることにより、現実世界における材料と、ブロックチェーンに記録されたトランザクションデータとの紐づけを確実にすることができる。その結果、本実施形態は、材料識別情報をキーとして、材料の同一性を保証しながらより確実なトレーサビリティ機能を提供することができる。
【0092】
〔変形例1〕
上述した実施形態は、同一の材料の流通経路が分岐する場合に対応して、以下のように変形することができる。同一の材料であっても、流通経路が分岐するケースの一例として、以下のケース1およびケース2が考えられる。
【0093】
ケース1は、拠点aにおいて、同時に生産された同一の材料が収容された複数の包装体があり、その一部が拠点b1に出荷される第1の取引と、他の一部が拠点b2に出荷される第2の取引とが行われる場合である。
【0094】
ケース2は、拠点aにおいて、第1の包装体に収容された材料が複数の第2の収容体に分割され、複数の第2の包装体の一部が拠点b1に出荷される第1の取引と、他の一部が拠点b2に出荷される第2の取引とが行われる場合である。なお、この場合、第1の包装体が、同一の材料をそれぞれ収容した複数の第2の包装体をあらかじめ収容していることを前提としてもよい。あるいは、第1の包装体に収容される材料が、新たに複数の第2の包装体に再収容されてもよい。この場合、第1の包装体に収容される材料が、第2の包装体に再収容される処理を経ても変質しないことを前提としてもよい。
【0095】
ケース1およびケース2の何れであっても、拠点aに設置された管理装置10は、当該材料の材料識別情報を、第1の取引を示すトランザクションデータD1と、第2の取引を示すトランザクションデータD2とに含めて、それぞれブロックチェーンに登録する。
【0096】
また、拠点b1に設置された管理装置10は、第1の取引により得た材料の同一性を評価する処理を、第1の取引を示すトランザクションデータD1を参照することにより実行する。また、拠点b2に設置された管理装置10は、第2の取引により得た材料の同一性を評価する処理を、第2の取引を示すトランザクションデータD2を参照することにより実行する。
【0097】
また、拠点b1およびb2のそれぞれに設置された管理装置10が取引履歴を出力する手法としては、一例として、以下の手法1、手法2が考えられる。
【0098】
手法1は、トランザクションデータに、包装体の識別情報を含める。各管理装置10は、同一の材料識別情報および同一の包装体の識別情報を含む1または複数のトランザクションデータをブロックチェーンから取得することにより、分岐した流通経路のうち該当する拠点を含む取引履歴を表す情報を出力する。
【0099】
手法2は、トランザクションデータに、直前の取引内容を示すトランザクションデータを特定可能な取引履歴情報を含める。各管理装置10は、材料識別情報を用いなくても、取引履歴情報を辿ることにより、分岐した流通経路のうち該当する拠点を含む取引履歴を表す情報を出力することが可能となる。
【0100】
なお、流通経路が分岐するケースは、上述したケース1、ケース2に限られない。また、流通経路が分岐する場合に取引履歴を出力する手法は、上述した手法1、手法2に限られない。
【0101】
〔変形例2〕
上述した実施形態は、取引履歴に対するアクセスコントロールを行う態様に変形できる。
【0102】
本変形例では、各管理装置10は、秘密鍵および公開鍵のペアを記憶している。各管理装置10が有するペアは、他の管理装置10が有するペアとは異なる。
【0103】
トランザクション登録部13は、秘密鍵を用いてトランザクションデータに含める情報を暗号化する。なお、トランザクション登録部13は、暗号化の処理を指示された情報について暗号化を施した上でトランザクションデータに含め、暗号化の処理を指示されない情報については、暗号化せずにトランザクションデータに含める。
【0104】
例えば、トランザクション登録部13は、取引情報の暗号化を指示する情報が取得された場合には、取引情報を暗号化した暗号化取引情報を生成し、材料識別情報と、周辺情報と、暗号化取引情報とをトランザクションデータに含める。
【0105】
また、情報の暗号化に用いた秘密鍵に対応する公開鍵は、当該情報の閲覧権限を有する拠点の管理装置10に対して公開されるものとする。この場合、閲覧権限を有する拠点に対応する管理装置10において、情報出力部15は、そのような公開鍵を用いて暗号化された情報を復号することにより、取引履歴を出力する。
【0106】
例えば、材料メーカの拠点に設置された管理装置10_2および販売業者の拠点に設置された管理装置10_4においてのみ、暗号化取引情報を含むトランザクションデータを登録し、他の各管理装置10_1、10_3では、暗号化していない取引情報を含むトランザクションデータを登録する。また、管理装置10_2が有する公開鍵は、管理装置10_4に公開され、管理装置10_4が有する公開鍵は、管理装置10_2に公開される。この場合、材料の提供者である材料メーカおよび受領者である販売業者は、暗号化された取引情報を復号して全ての取引履歴を閲覧することができる。一方、下請け業者および輸出入業者は、暗号化された取引情報を復号できないので、全ての取引履歴を閲覧することができない。本変形例により、取引履歴に対するアクセスコントロールを実現し、取引履歴を閲覧可能なユーザを制限することができる。
【0107】
なお、本変形例において、秘密鍵を用いて取引情報を暗号化する例について説明したが、これに限らず、周辺情報を暗号化してもよいし、周辺情報および取引情報を暗号化してもよい。また、本変形例において、暗号化取引情報を登録する管理装置10が、材料メーカおよび販売業者の各拠点に設置された管理装置10である例について説明したが、これに限らず、他の管理装置10において暗号化を行ってもよい。また、暗号化された取引情報を復号するための公開鍵が公開される管理装置10は、上述した例に限定されない。
【0108】
〔変形例3〕
上述した実施形態は、取引履歴に対するアクセスコントロールを行う他の態様に変形できる。
【0109】
本変形例では、管理システム1は、認証サーバ(図示せず)をさらに有する。管理装置10のトランザクション取得部14は、ノード20との通信を、認証サーバを介して行うよう変形される。
【0110】
認証サーバは、トランザクション取得部14からノード20に対するトランザクションデータの検索要求を受信すると、当該検索要求をノード20に転送することにより、検索条件を満たすトランザクションデータを取得する。
【0111】
このとき、認証サーバは、検索条件を満たすトランザクションデータが示す取引の経路における、要求元の管理装置10に対応する取引主体の位置に基づいて、当該経路に含まれる各トランザクションデータに対する閲覧権限があるか否かを判断する。そのような経路における取引主体の位置は、ブロックチェーンに記憶されたトランザクションデータに基づき取引の経路を辿ることにより解析可能である。例えば、認証サーバは、当該取引主体が経路における上流の所定位置に存在する場合、または、下流の所定位置に存在する場合、経路に含まれる各トランザクションデータに対する閲覧権限があると判断する。また、認証サーバは、当該取引主体が上流の所定位置および下流の所定位置の間に存在する場合、経路に含まれるトランザクションデータのうち、当該取引主体に関わるトランザクションデータに対する閲覧権限はあるが、それ以外に対する閲覧権限がないと判断する。また、認証サーバは、ノード20から取得した、検索条件を満たすトランザクションデータのうち、閲覧権限があると判断したトランザクションデータを、要求元の管理装置10に送信する。
【0112】
本変形例は、取引履歴に対するアクセスコントロールを実現し、取引履歴を閲覧可能なユーザを制限することができる。
【0113】
〔変形例4〕
上述した実施形態は、周辺情報に含まれる荷姿写真を用いて、ユーザによる材料の同一性の判定を支援するよう変形することができる。
【0114】
本変形例では、情報出力部15は、取引内容を示すトランザクションデータに含まれる周辺情報の荷姿写真と、取引によって得られた材料の周辺情報として得られた荷姿写真とを比較して一致度を算出し、算出した一致度を出力する。または、情報出力部15は、一致度が閾値以下の場合に警告を出力するようにしてもよい。これにより、ユーザは、荷姿の変化の程度を確認することができ、変化の程度が小さければ材料が同一である可能性が高いと判断することができる。
【0115】
また、情報出力部15は、取引履歴を表す情報として、周辺情報に含まれる荷姿写真の履歴を出力してもよい。これにより、ユーザは、材料の荷姿写真の変化を確認することができ、変化の程度が小さければ材料が同一である可能性が高いと判断することができる。
【0116】
このように、本変形例は、ユーザによる材料の同一性の判定を支援することができる。
【0117】
〔変形例5〕
上述した実施形態および変形例では、各取引主体が実行した処理を示すトランザクションデータが、ブロックチェーンシステム200が記憶する1つのブロックチェーンに記憶される例について説明した。ただし、上述した実施形態は、ブロックチェーンが、材料の取引の経路毎に生成される場合にも対応するよう変形できる。この場合、各ブロックチェーンは、該当する経路における取引に関連するトランザクションデータを含むブロックの並びとして生成される。本変形例について、
図11〜14を参照して説明する。
【0118】
<本変形例におけるノード20の構成>
本変形例におけるブロックチェーンシステム200における各ノード20の各機能構成について説明する。
【0119】
ブロックチェーン記憶部21は、複数のブロックチェーンを記憶可能に変形される。
図11は、ブロックチェーン記憶部21に記憶される複数のブロックチェーンを模式的に説明する図である。この例では、3個のブロックチェーンC1〜C3が記憶されている。複数のブロックチェーンC1〜C3は、他のノード20のブロックチェーン記憶部21に記憶された複数のブロックチェーンC1〜C3と同期される。換言すると、複数のブロックチェーンC1〜C3の複製が、各ノード20のブロックチェーン記憶部21に記憶される。なお、
図11には、3個のブロックチェーンを示しているが、本変形例におけるブロックチェーンの個数を限定するものではない。
【0120】
トランザクション受付部22は、上述した構成に加えて、登録先のブロックチェーンを特定する情報、ブロックチェーンを新規作成する要求、ブロックチェーンを複製する要求を受信するよう変形される。
【0121】
また、トランザクション受付部22は、登録すべきトランザクションデータと共に、登録先のブロックチェーンを特定する情報を、共有部23を介して他のノード20にブロードキャストする。
【0122】
ブロック追加部24は、上述した構成に加えて、(1)既存のブロックチェーンを対象として動作する機能、(2)ブロックチェーンを新規作成する機能、および(3)ブロックチェーンを複製する機能、を有するよう変形される。
【0123】
(既存のブロックチェーンを対象として動作する機能)
ブロック追加部24は、既存のブロックチェーンの識別情報およびトランザクションデータが、トランザクション受付部22または共有部23によって受信された場合に、当該識別情報が示すブロックチェーンを対象として上述したように動作する。これにより、当該ブロックチェーンにトランザクションデータが記録される。
【0124】
(ブロックチェーンを新規作成する機能)
ブロック追加部24は、ブロックチェーンを新規作成する要求がトランザクション受付部22によって受信された場合は、ブロックチェーン記憶部21に新規のブロックチェーンを作成する。また、ブロック追加部24は、共有部23を介して他のノード20に対して、新規作成したブロックチェーンをブロードキャストする。また、ブロック追加部24は、他のノード20から共有部23を介して受信した新規のブロックチェーンを、ブロックチェーン記憶部21に記憶する。
【0125】
(ブロックチェーンを複製する機能)
ブロック追加部24は、ブロックチェーンを複製する要求がトランザクション受付部22によって受信された場合は、当該要求が示すブロックチェーンを複製した新たなブロックチェーンを作成し、ブロックチェーン記憶部21に記憶する。また、ブロック追加部24は、共有部23を介して他のノード20に対して、複製したブロックチェーンをブロードキャストする。また、ブロック追加部24は、他のノード20から共有部23を介して受信した複製されたブロックチェーンを、ブロックチェーン記憶部21に記憶する。
【0126】
トランザクション出力部25は、上述した構成に加えて、トランザクションデータの検索を、既存のブロックチェーンの何れかを対象として実行するよう変形される。
【0127】
具体的には、トランザクション出力部25は、トランザクションデータの検索条件と共に、ブロックチェーンを特定する情報を受信する。ブロックチェーンを特定する情報は、ブロックチェーン記憶部21に記憶された既存のブロックチェーンの識別情報である。トランザクション出力部25は、当該識別情報が示すブロックチェーンを対象として上述したように動作することにより、当該ブロックチェーンから検索条件を満たすトランザクションデータを取得して出力する。
【0128】
<本変形例における管理装置10の構成>
本変形例における管理装置10の各機能ブロック構成について説明する。なお、材料識別情報生成部11、周辺情報取得部12については、上述した通りに構成される。トランザクション登録部13、トランザクション取得部14および情報出力部15は、以下のように変形される。
【0129】
トランザクション登録部13は、上述した機能に加えて、(1)既存のブロックチェーンを特定する機能、(2)ブロックチェーンの新規作成を要求する機能、および(3)ブロックチェーンの複製を要求する機能を有するよう変形される。
【0130】
(既存のブロックチェーンを特定する機能)
トランザクション登録部13は、トランザクションデータを登録すべきブロックチェーンとして、既存のブロックチェーンの何れかを特定する。具体的には、トランザクション登録部13は、トランザクションデータとして登録すべき、取引に関連する処理を示す情報と共に、当該取引の対象となる材料の材料識別情報を取得する。トランザクション登録部13は、材料識別情報に基づいて、該当する取引の経路に対応する既存のブロックチェーンを特定する。
【0131】
例えば、トランザクション登録部13は、材料識別情報およびブロックチェーンの識別情報を関連付けたテーブルを参照することにより、登録すべきブロックチェーンを特定する。
図12は、材料識別情報およびブロックチェーンの識別情報を関連付けたテーブルの一例を説明する図である。
図12では、例えば、材料識別情報「M1」に対して、ブロックチェーンの識別情報「C1」が関連付けられている。以降、「M1」等で識別される材料を「材料M1」等と記載し、「C1」等で識別されるブロックチェーンを「ブロックチェーンC1」等と記載する。この例では、ブロックチェーンC1は、材料M1が取引される経路に対応する。また、ブロックチェーンC2は、材料M2が取引される経路に対応する。また、ブロックチェーンC3は、材料M3が取引される経路に対応する。なお、当該テーブルは、各管理装置10に個別に記憶されていてもよいし、各管理装置10と通信可能な装置(例えば、図示しないデータベースサーバ)等に記憶され共有されていてもよい。
【0132】
なお、トランザクション登録部13は、上述したテーブルを参照する代わりに、当該材料識別情報を含むトランザクションデータが記録されるブロックチェーンをブロックチェーンシステム200から検索することにより、登録すべきブロックチェーンを特定してもよい。具体的には、トランザクション登録部13は、各ブロックチェーンを対象として当該材料識別情報を含むトランザクションデータを検索する検索条件を、ノード20に送信すればよい。
【0133】
また、トランザクション登録部13は、作成したトランザクションデータを、特定したブロックチェーンの識別情報と共にノード20に送信する。これにより、当該トランザクションデータは、当該トランザクションデータが示す処理に関連する取引の経路に対応するブロックチェーンに登録される。
【0134】
(ブロックチェーンの新規作成を要求する機能)
トランザクション登録部13は、トランザクションデータを登録すべきブロックチェーンの新規作成を、ノード20に対して要求する。新規作成の要求は、取引を含む経路に対応するブロックチェーンが未だ無い場合に実行される。一例として、このような新規作成の要求は、取引の経路の最も上流に存在する取引主体(例えば、材料メーカ)に対応する管理装置10によって実行される。
【0135】
具体的には、トランザクション登録部13は、新たなブロックチェーンの新規作成を指示する情報を、入力装置を介して取得すると、新たなブロックチェーンの新規作成をノード20に要求する。
【0136】
また、トランザクション登録部13は、新規作成が完了すると、当該新規のブロックチェーンを対象として、取引に関連する処理を示すトランザクションデータを登録する。このようにして、取引の経路の最も上流に存在する取引主体を起点として材料の取引が新たに開始されると、対応するブロックチェーンが生成されてトランザクションデータの記録が開始される。
【0137】
なお、新規作成を指示する情報は、入力装置を介して取得されることに限られない。例えば、トランザクション登録部13は、上述した「既存のブロックチェーンを特定する機能」を実行して該当するブロックチェーンを特定できなかった場合に、新規作成を指示する情報を取得したとして動作してもよい。
【0138】
また、トランザクション登録部13は、新規作成したブロックチェーンの識別情報と、材料識別情報とを関連付けて、
図12に示したようなテーブルに登録する。
【0139】
(ブロックチェーンの複製を要求する機能)
トランザクション登録部13は、トランザクションデータを登録すべきブロックチェーンを複製により生成する処理を、ノード20に対して要求する。複製の要求は、取引を含む経路が分岐する場合に実行される。取引を含む経路が分岐するとは、取引される材料の一部および他の一部が、それぞれ異なる経路に分岐して取引されることをいう。このような複製の要求は、一例として、取引を分岐させた取引主体に対応する管理装置10によって実行される。
【0140】
具体的には、トランザクション登録部13は、ブロックチェーンの複製を指示する情報を、入力装置を介して取得すると、ブロックチェーンの複製をノード20に要求する。なお、複製を指示する情報には、複製元となるブロックチェーンの識別情報が含まれる。
【0141】
また、複製が完了すると、トランザクション登録部13は、複製元のブロックチェーンを対象として、分岐した一方の取引に関連する処理を示すトランザクションデータを登録する。また、トランザクション登録部13は、複製されたブロックチェーンを対象として、分岐した他方の取引に関連する処理を示すトランザクションデータを登録する。
【0142】
図13は、取引が分岐する場合に複製されるブロックチェーンを模式的に説明する図である。
図13の左図に示すように、下請け業者aからメーカAが材料M(例えば100袋)を購入する取引が行われると、ブロックチェーンC1が生成され、トランザクションデータD1およびD2が登録される。トランザクションデータD1は、下請け業者aが材料M100袋を出荷した取引明細を示す。トランザクションデータD2は、材料メーカAが当該材料M100袋を着荷した取引明細を示す。
【0143】
その後、材料メーカAから、材料Mの一部(例えば60袋)がA商事に販売され、他の一部(例えば40袋)がB商事に販売されると、ブロックチェーンC1の複製としてブロックチェーンC1_1が生成される。ブロックチェーンC1には、トランザクションデータD3およびD4が登録される。トランザクションデータD3は、材料メーカAが材料M60袋を出荷した取引明細を示す。トランザクションデータD4は、A商事が材料M60袋を着荷した取引明細を示す。ブロックチェーンC1_1には、トランザクションデータD5およびD6が登録される。トランザクションデータD5は、材料メーカAが材料M40袋を出荷した取引明細を示す。トランザクションデータD6は、B商事が材料M40袋を着荷した取引明細を示す。
【0144】
なお、
図13の例では、説明を簡単にするため、1つのブロックに1つのトランザクションデータが記録されるものとして説明しているが、1つのブロックに複数のトランザクションデータが記録されても構わない。
【0145】
トランザクション取得部14は、トランザクションデータの検索条件と共に、対象となるブロックチェーンを特定する情報をノード20に対して送信するよう変形される。トランザクション取得部14は、例えば、材料識別情報およびブロックチェーンの識別情報が関連付けられた上述のテーブルを参照してもよい。これにより、トランザクション取得部14は、特定の材料識別情報に対応するブロックチェーンから、検索条件を満たすトランザクションデータを取得することができる。
【0146】
情報出力部15は、材料の取引の経路に対応するブロックチェーンに含まれる各トランザクションデータの登録順序に基づいて、当該材料の取引履歴を表す情報を出力する。具体的には、情報出力部15は、材料の取引の経路に対応するブロックチェーンとして、当該材料の材料識別情報に関連付けられたブロックチェーンを、上述のテーブルを参照して特定する。特定したブロックチェーンに含まれるトランザクションデータは、全て、当該材料の取引内容を示すものである。そこで、情報出力部15は、トランザクション取得部14を介して当該ブロックチェーンから全てのトランザクションデータを取得する。また、情報出力部15は、取得したトランザクションデータを登録順序にしたがってこの順で並べた取引履歴を表す情報を出力する。
【0147】
<本変形例の動作>
(トランザクションデータの登録動作)
図14は、管理装置10がトランザクションデータを登録する動作S5を示すフローチャートである。
【0148】
ステップS501において、トランザクション登録部13は、新たな取引の開始等により、ブロックチェーンの新規作成を指示する情報が取得されたか否かを判断する。ステップS501でYesの場合、次のステップS502の処理が実行される。ステップS502でNoの場合については後述する。
【0149】
ステップS502において、トランザクション登録部13は、ブロックチェーンの新規作成をノード20に対して要求する。
【0150】
ステップS503において、取引主体が取引に関連して実行した処理を示すトランザクションデータが生成される。
【0151】
ステップS504において、ステップS503で生成されたトランザクションデータが、ステップS502の要求により新規作成されたブロックチェーンに登録される。ステップS503〜S504の処理は、
図7に示したステップS101〜S105と同様であるため、詳細な説明を繰り返さない。
【0152】
一方、ステップS502でNoの場合、次のステップS505の処理が実行される。ステップS505において、トランザクション登録部13は、取引の経路の分岐等により、ブロックチェーンの複製を指示する情報が取得されたか否かを判断する。ステップS505でYesの場合、次のステップS506の処理が実行される。ステップS505でNoの場合については後述する。
【0153】
ステップS506において、トランザクション登録部13は、ブロックチェーンの複製をノード20に対して要求する。
【0154】
その後、ステップS506で複製された複製先のブロックチェーンと、複製元のブロックチェーンとを対象として、ステップS503〜S504の処理がそれぞれ実行される。これにより、分岐した各取引に関連する処理を示すトランザクションデータが、異なるブロックチェーンに登録される。
【0155】
一方、ステップS505でNoの場合、次のステップS507の処理が実行される。ステップS507において、トランザクション登録部13は、トランザクションデータを登録すべき既存のブロックチェーンを特定する。既存のブロックチェーンの特定は、上述したテーブルを参照することにより行われる。
【0156】
その後、ステップS507で特定されたブロックチェーンを対象として、ステップS503〜S304の処理が実行される。これにより、該当する取引に関連する処理を示すトランザクションデータが、該当する取引の経路に対応するブロックチェーンに登録される。
【0157】
以上で、管理装置10は、動作S5を終了する。
【0158】
本変形例における材料の同一性を評価する動作は、
図8に示した動作S2と同様であるため、詳細な説明を繰り返さない。ただし、ステップS202において、取引内容を示すトランザクションデータを取得する際に、当該取引に対応するブロックチェーンの識別情報を特定した上で動作する点が異なる。
【0159】
また、本変形例において取引履歴を出力する動作は、
図9に示した動作S3と同様であるため、詳細な説明を繰り返さない。ただし、ステップS302において、同一の材料識別情報を含むことを検索条件として複数のトランザクションデータを得る代わりに、当該材料識別情報に対応するブロックチェーンに含まれる全てのトランザクションデータを取得する点が異なる。
【0160】
以上のように、本変形例では、材料の取引の経路毎にブロックチェーンが生成される形態であっても、上述した実施形態と同様に、材料のサプライチェーンにおいて材料の同一性を保証しながら取引対象のトレーサビリティをより確実にすることができる。
【0161】
〔ソフトウェアによる実現例〕
管理装置10の機能的な各ブロック(特に材料識別情報生成部11、トランザクション登録部13、トランザクション取得部14、および情報出力部15)およびノード20の機能的な各ブロック(ブロックチェーン記憶部21、トランザクション受付部22、共有部23、ブロック追加部24、およびトランザクション出力部25)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。後者の場合、管理装置10およびノード20の各々は、例えば、コンピュータ(電子計算機)を用いて構成することができる。
図15は、管理装置10およびノード20として用いられるコンピュータの物理的構成を例示したブロック図である。
【0162】
(管理装置10の物理的構成)
管理装置10は、
図15に示すように、バス110と、プロセッサ101と、主メモリ102と、補助メモリ103と、通信インタフェース104と、入出力インタフェース105とを備えたコンピュータによって構成可能である。プロセッサ101、主メモリ102、補助メモリ103、通信インタフェース104、および入出力インタフェース105は、バス110を介して互いに接続されている。入出力インタフェース105には、センサ30、入力装置40、出力装置50が接続されている。
【0163】
プロセッサ101としては、例えば、マイクロプロセッサ、デジタルシグナルプロセッサ、マイクロコントローラ、またはこれらの組み合わせ等が用いられる。
【0164】
主メモリ102としては、例えば、半導体RAM(random access memory)等が用いられる。
【0165】
補助メモリ103としては、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、またはこれらの組み合わせ等が用いられる。補助メモリ103には、プロセッサ101に上述した管理装置10の動作S1、S2、S3、S5を実行させるためのプログラムが格納されている。プロセッサ101は、補助メモリ103に格納されたプログラムを主メモリ102上に展開し、展開したプログラムに含まれる各命令を実行する。また、補助メモリ103には、当該コンピュータを管理装置10として動作させるためにプロセッサ101が参照する各種データが格納されている。
【0166】
通信インタフェース104は、ネットワーク91に接続するインタフェースである。
【0167】
入出力インタフェース105としては、例えば、USB(Universal Serial Bus)インタフェース、赤外線やBluetooth(登録商標)等の近距離通信インタフェース、またはこれらの組み合わせが用いられる。
【0168】
センサ30としては、上述したように、例えば、カメラ、匂いセンサ、またはこれらの組み合わせ等が用いられる。入力装置40としては、例えば、キーボード、マウス、タッチパッド、マイク、又はこれらの組み合わせ等が用いられる。出力装置50としては、例えば、ディスプレイ、プリンタ、スピーカ、又はこれらの組み合わせが用いられる。
【0169】
(ノード20の物理的構成)
ノード20は、
図15に示すように、バス210と、プロセッサ201と、主メモリ202と、補助メモリ203と、通信インタフェース204と、通信インタフェース205とを備えたコンピュータによって構成可能である。プロセッサ201、主メモリ202、補助メモリ203、通信インタフェース204、および通信インタフェース205は、バス210を介して互いに接続されている。
【0170】
プロセッサ201としては、例えば、マイクロプロセッサ、デジタルシグナルプロセッサ、マイクロコントローラ、またはこれらの組み合わせ等が用いられる。
【0171】
主メモリ202としては、例えば、半導体RAM等が用いられる。
【0172】
補助メモリ203としては、例えば、フラッシュメモリ、HDD、SSD、またはこれらの組み合わせ等が用いられる。補助メモリ203には、当該コンピュータをノード20として動作させるためのプログラムが格納されている。プロセッサ201は、補助メモリ203に格納されたプログラムを主メモリ202上に展開し、展開したプログラムに含まれる各命令を実行する。また、補助メモリ203には、上述したブロックチェーンと、当該コンピュータをノード20として動作させるためにプロセッサ201が参照する各種データとが格納されている。
【0173】
通信インタフェース204は、ネットワーク91に接続するインタフェースである。通信インタフェース205は、ネットワーク92に接続するインタフェースである。
【0174】
なお、上述した各プログラムは、補助メモリ103または補助メモリ203にそれぞれ記憶される代わりに、外部記録媒体に記録され、外部記録媒体から読み込まれることにより該当するコンピュータに供給されてもよい。外部記録媒体としては、コンピュータ読み取り可能な「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブル論理回路などを用いることができる。また、上述した各プログラムは、伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介してコンピュータに供給されてもよい。また、本発明の一態様は、各プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0175】
〔まとめ〕
本発明の一態様に係る管理装置は、製品の材料を取引するサプライチェーンを構成する拠点に配置される管理装置であって、センサを用いて取得した前記材料を表す情報を用いて、前記材料に固有の特徴量を示す材料識別情報を生成する材料識別情報生成部と、トランザクションデータを含むブロックの並びが複数のノードによって共有されるブロックチェーンであって、所定のコンセンサスアルゴリズムを用いて前記複数のノード間で承認されたブロックが追加されるブロックチェーンに、前記材料の取引内容を示すトランザクションデータとして前記材料識別情報を含むトランザクションデータを登録するトランザクション登録部と、を備える。
【0176】
上記の構成によれば、現実世界の材料とトランザクションデータとを材料識別情報を用いてより確実に紐づけることができ、当該管理装置がサプライチェーンの各拠点に設置されることにより、トレーサビリティをより確実にすることができる。
【0177】
本発明の一態様に係る管理装置において、前記材料識別情報生成部は、取引によって得られた材料に固有の特徴量を示す材料識別情報を生成し、当該材料の取引内容を示すトランザクションデータを前記ブロックチェーンから取得するトランザクション取得部と、取得されたトランザクションデータに含まれる材料識別情報と、前記材料識別情報生成部によって生成された材料識別情報とを比較することにより、当該トランザクションデータが示す材料と、取引によって得られた材料との同一性を評価した評価情報を出力する評価部と、をさらに備える、ことが好ましい。
【0178】
上記の構成によれば、サプライチェーンの拠点において、今回の取引で得られた材料と、直前の取引を示すトランザクションに記録された材料との同一性を判定することができる。
【0179】
本発明の一態様に係る管理装置において、前記材料識別情報を含む1または複数のトランザクションデータを前記ブロックチェーンから取得するトランザクション取得部をさらに備え、前記評価部は、取得された各トランザクションデータの登録順序に基づいて、前記材料の取引履歴を表す情報を出力する、ことが好ましい。
【0180】
上記の構成によれば、サプライチェーンの拠点において、取引で得られた材料の取引履歴を確認することができる。
【0181】
本発明の一態様に係る管理装置において、前記ブロックチェーンは、前記材料の取引の経路毎に、当該経路における取引内容を示す前記トランザクションデータを含むブロックの並びとして生成され、前記トランザクション登録部は、前記材料の取引内容を示すトランザクションデータを、当該取引の経路に対応するブロックチェーンに登録し、前記取引の経路に対応するブロックチェーンに含まれるトランザクションデータの登録順序に基づいて、当該材料の取引履歴を表す情報を出力する取引履歴出力部と、をさらに備える、ことが好ましい。
【0182】
上記の構成によれば、ブロックチェーンが取引の経路毎に生成される形態においても、サプライチェーンの拠点において、取引で得られた材料の取引履歴を確認することができる。
【0183】
本発明の一態様に係る管理装置において、取引の対象となる材料の周辺の状況を表す周辺情報を取得する周辺情報取得部をさらに備え、前記トランザクション登録部は、前記材料識別情報と前記周辺情報とを含む前記トランザクションデータを前記ブロックチェーンに登録し、前記取引履歴出力部は、前記取引履歴を表す情報に、前記周辺情報の履歴を含めて出力する、ことが好ましい。
【0184】
上記の構成によれば、ユーザは、取引によって得られた材料について、周辺の状況が適正な状態で流通してきたか否かを確認することができる。
【0185】
本発明の一態様に係る管理システムは、製品の材料を取引するサプライチェーンを構成する複数の拠点の各々に配置された上述の管理装置と、前記複数のノードによって構成されるブロックチェーンシステムと、を備える。
【0186】
上記の構成によれば、現実世界の材料とトランザクションデータとを材料識別情報を用いてより確実に紐づけることができ、トレーサビリティをより確実にすることができる。
【0187】
本発明の一態様に係る管理方法は、製品の材料を取引するサプライチェーンを構成する拠点に配置された管理装置が、センサを用いて取得した前記材料を表す情報を用いて、前記材料に固有の特徴量を示す材料識別情報を生成するステップと、トランザクションデータを含むブロックの並びが複数のノードによって共有されるブロックチェーンであって、所定のコンセンサスアルゴリズムを用いて前記複数のノード間で承認されたブロックが追加されるブロックチェーンに、前記材料の取引内容を示すトランザクションデータとして前記材料識別情報を含むトランザクションデータを登録するステップと、を実行する。
【0188】
上記の構成によれば、上述した管理装置と同様の効果を奏する。
【0189】
本発明の一態様に係る管理プログラムは、上述の管理装置としてコンピュータを機能させるためのプログラムであって、上記各部としてコンピュータを機能させる。
【0190】
上記の構成によれば、上述した管理装置と同様の効果を奏する。
【0191】
本発明の一態様に係るコンピュータ読み取り可能な記録媒体は、上述の管理プログラムを記録する。
【0192】
上記の構成によれば、上述した管理装置と同様の効果を奏する。
【0193】
〔付記事項〕
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
材料のサプライチェーンにおいて取引対象のトレーサビリティをより確実にする。製品の材料を取引するサプライチェーンを構成する拠点に配置される管理装置(10)は、センサを用いて取得した材料を表す情報を用いて、材料に固有の特徴量を示す材料識別情報を生成する材料識別情報生成部(11)と、材料の取引内容を示すトランザクションデータとして、生成した材料識別情報を含むトランザクションデータを、ブロックチェーンシステム(200)に記憶されるブロックチェーンに登録するトランザクション登録部(13)と、を備える。