JP2020197873A - 情報処理システム、及び情報処理システムの制御方法 - Google Patents

情報処理システム、及び情報処理システムの制御方法 Download PDF

Info

Publication number
JP2020197873A
JP2020197873A JP2019103187A JP2019103187A JP2020197873A JP 2020197873 A JP2020197873 A JP 2020197873A JP 2019103187 A JP2019103187 A JP 2019103187A JP 2019103187 A JP2019103187 A JP 2019103187A JP 2020197873 A JP2020197873 A JP 2020197873A
Authority
JP
Japan
Prior art keywords
node
distributed ledger
data
verification
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019103187A
Other languages
English (en)
Other versions
JP7221799B2 (ja
Inventor
洋司 小澤
Yoji Ozawa
洋司 小澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2019103187A priority Critical patent/JP7221799B2/ja
Priority to US16/817,809 priority patent/US11360966B2/en
Publication of JP2020197873A publication Critical patent/JP2020197873A/ja
Application granted granted Critical
Publication of JP7221799B2 publication Critical patent/JP7221799B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Abstract

【課題】複数の組織で取り扱われるデータの加工内容を検証する仕組みを効率よく実現してデータの信頼性を向上する。【解決手段】情報処理システムは、複数の組織の夫々に設けられ、トランザクションの内容を互いに検証し、トランザクションの履歴を夫々が有する分散台帳に保持する複数の分散台帳ノードと、分散台帳ノードにトランザクションを送信するクライアントノードと、複数の組織の夫々に設けられ、検証対象処理を仮想化基盤において実行する処理ノードと、を含む。クライアントノードは、検証を行う複数の分散台帳ノードを選択し、選択した分散台帳ノードの夫々に、検証対象処理の実行要求を含むトランザクションを送信し、分散台帳ノードの夫々は、夫々が属する組織の処理ノードにおいて、検証対象処理を仮想化基盤で実行して検証対象処理の検証を行い、検証の結果を分散台帳に記録する。【選択図】図1

Description

本発明は、情報処理システム、及び情報処理システムの制御方法に関する。
近年、センサ等から収集されるIoTデータの活用が加速している。とくに産業分野においては、工場の設備やセンサ等から収集したIoTデータについての組織や企業を跨いだ利活用が進んでいる。
一般に工場の設備やセンサ等から収集したIoTデータは、設備やセンサ等から収集した生のデータがそのまま利用されることは少なく、利用目的に応じて加工した上で用いられる。またある組織で加工されたデータを他の組織で利用する場合、他の組織において更なる加工が行われる。
昨今、製造現場におけるデータの改ざんが発生しており、データ自体が改ざんされていないことを保証することが課題となっている。こうした課題に関し、特許文献1には、電子ファイルの変更処理(加工)イベントをブロックチェーンに格納して共有することによりリアルタイムに処理ステータスを共有し、変更履歴の信頼性を確保することが記載されている。
米国特許出願公開第2017/0295232号明細書
ところで、特許文献1の技術では、データを加工する組織がブロックチェーンに加工履歴の登録を行うため、ブロックチェーンに登録する前に加工履歴を改ざんすることは可能であり、加工履歴の信頼性を必ずしも保証することはできない。
また例えば、コンソーシアム型ブロックチェーンの考え方に基づき、加工履歴をコンソーシアム内の組織で互いに検証しあうようにした場合、検証のために消費するコンピューティングリソースが多いことが課題となる。単純にコンソーシアム内で互いに検証する構成とした場合、全ての組織で同じ加工処理を実施して処理結果を検証することとなり、膨大なIoTデータを処理するために多大なコンピューティングリソースが必要になる。またブロックチェーンのスマートコントラクトで実行できる処理は限られている上、既存の様々な加工ツールで行っている加工処理をスマートコントラクトとして改めて実装し直すことは必ずしも現実的でない。
本発明はこのような背景に基づきなされたものであり、複数の組織で取り扱われるデータの加工内容を検証する仕組みを効率よく実現してデータの信頼性を向上することが可能な、情報処理システム、及び情報処理システムの制御方法を提供することを目的とする。
上記の目的を達成するための本発明の一つは、情報処理システムであって、複数の組織の夫々に設けられ、トランザクションの内容を互いに検証し、前記トランザクションの履歴を夫々が有する分散台帳に保持する複数の分散台帳ノードと、前記分散台帳ノードにトランザクションを送信するクライアントノードと、前記複数の組織の夫々に設けられ、検
証の対象となる処理である検証対象処理を仮想化基盤において実行する処理ノードと、を含み、前記クライアントノードは、前記検証を行う複数の前記分散台帳ノードを選択し、選択した前記分散台帳ノードの夫々に、前記検証対象処理の実行要求を含むトランザクションを送信し、前記分散台帳ノードの夫々は、前記トランザクションを受信すると、夫々が属する前記組織の前記処理ノードにおいて、前記検証対象処理を前記仮想化基盤で実行して前記検証対象処理の検証を行い、前記検証の結果を前記分散台帳に記録する。
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄、及び図面により明らかにされる。
本発明によれば、複数の組織で取り扱われるデータの加工内容を検証する仕組みを効率よく実現してデータの信頼性を向上することができる。
データ加工履歴管理システムの仕組みを説明する図である。 データ加工履歴管理システムの概略的な構成を説明するブロック図である。 データ加工履歴管理システムを構成する情報処理装置の一例を示すブロック図である。 データフロー管理ノードが備える機能を説明するブロック図である。 管理ノードが備える機能を説明するブロック図である。 処理ノードの構成を説明するブロック図である。 データ格納ノードの構成を説明するブロック図である。 クライアントノードの構成を説明するブロック図である。 分散台帳ノードの構成を説明するブロック図である。 コンテナレジストリの構成を説明するブロック図である。 データフロー情報の一例である。 デプロイログの一例である。 コンテナ情報の一例である。 コンテナログの一例である。 データセットの一例である。 データセットアクセス権の一例である。 検証先決定用処理ノード情報の一例である。 検証先決定用パラメータ情報の一例である。 組織情報の一例である。 サブデータセット検証結果の一例である。 組織保持ポイント情報の一例である。 コンテナログの一例である。 ブロックチェーンの一例である。 ブロックチェーンの一例(図23Aの続き)である。 スマートコントラクト情報の一例である。 出力データの一例である。 コンテナイメージの一例である。 ユーザがデータフローを追加する際にデータ加工履歴管理システムにおいて行われる処理を説明するシーケンス図である。 データフローに従ってある組織でデータの加工処理が行われた際にデータ加工履歴管理システムにおいて行われる加工内容の検証処理に関する準備処理を説明するシーケンス図である。 検証先ノード選択処理の詳細を説明するフローチャートである。 ある組織でデータの加工処理が行われた際にデータ加工履歴管理システムにおいて行われる、上記のある組織におけるデータの加工内容の検証処理を説明するシーケンス図である。
以下、実施形態について図面を参照しつつ説明する。以下の説明において、同一のまたは類似する構成に同一の符号を付して重複した説明を省略することがある。また以下の説明において、同種の構成を区別する必要がある場合、構成を総称する符号の後に括弧書きで識別子(数字、アルファベット等)を表記することがある。また以下の説明において、「ブロックチェーン」のことを「BC」と略記することがある。
図1は、実施形態として示す情報処理システムであるデータ加工履歴管理システム1の仕組みを説明する図である。データ加工履歴管理システム1は、複数の組織の間でデータフローに従ってデータの提供や加工が行われる場合に、各組織において用いられる上記データの検証をコンソーシアム型のブロックチェーンの仕組みを用いて行い、上記データフローで用いられるデータに対して行われる不正や改ざんを防ぐ。
同図には、上記データを利用する3つの組織(以下、「組織A」、「組織B」、「組織C」とする。)においてデータフローに従ってデータの提供や加工が行われる場合を例示している。同図において、点線で区切った各段のうち上段にはデータフローを、中段にはデータフローを実行する仮想化基盤であるコンテナ基盤を、下段にはデータの加工履歴を管理するブロックチェーンの構成を、夫々示している。
上段に示すように、例示するデータフローでは、組織Aにおいてデータ源50から取得されたデータD1が組織Bに提供され、組織BにおいてデータD1について第1加工処理が行われてデータD2が生成され、生成されたデータD2が組織Cに提供され、組織CにおいてデータD2について第2加工処理が行われてデータD3が生成される。
中段に示すように、第1加工処理は組織Bのコンテナ基盤にデプロイされたコンテナ(以下、「第1加工コンテナ」と称する)で実行され、第2加工処理は組織Cのコンテナ基盤にデプロイされたコンテナ(以下、「第2加工コンテナ」と称する。)で実行される(S51)。
ここで組織Bにおいて実行される第1加工処理に着目すると、第1加工コンテナは、データD1を加工した際、当該第1加工コンテナのデプロイログと当該第1加工コンテナを実行することにより生成されるコンテナログを組織BのクライアントノードBに送信する(S52)。
組織Bのクライアントノードは、第1加工コンテナからデプロイログとコンテナログを受信すると、他の組織である組織A及び組織Cの夫々の分散台帳ノードに第1加工処理の検証依頼を送信する(S53)。
組織A及び組織Cの夫々の分散台帳ノードは、上記検証依頼を受信すると、夫々のスマートコントラクトにより夫々が属する組織のコンテナ基盤に検証用の第1加工コンテナをデプロイし(S54)、デプロイした第1加工コンテナの夫々にデータD1を入力し、夫々の第1加工コンテナがデータD1について行った処理(再現処理)の結果に基づき、データD1の加工内容を検証する(S55)。
上記検証に成功すると、組織A及び組織Cの夫々の分散台帳ノードは、夫々の分散台帳のサブデータセット検証結果に検証結果を書き込む(S56)。
図2は、データ加工履歴管理システム1の概略的な構成を説明するブロック図である。同図に示すように、データ加工履歴管理システム1は、ユーザ端末30、データフロー管理ノード40、データ源50、コンテナレジストリ60、及び複数の組織の夫々に存在するノード群(管理ノード11、処理ノード12、データ格納ノード13、クライアントノード21、分散台帳ノード22)を含む。これらはいずれも情報処理装置(コンピュータ)を用いて構成され、またこれらは通信ネットワーク5を介して通信可能に接続されている。尚、通信ネットワーク5は、複数のネットワークで構成されていてもよい。例えば、コンテナ基盤10とデータ源50を接続する通信ネットワークとクライアントノード21と分散台帳ノード22を接続する通信ネットワークは別であってもよい。
コンテナ基盤10は、管理ノード11、処理ノード12、及びデータ格納ノード13を実現する。コンテナ基盤10は、例えば、Docker(登録商標)やKubernetes(登録商標)等により構成される。尚、コンテナ基盤はノードの実現基盤(処理の実行環境)の一例に過ぎず、例えば、コンテナ基盤10に代えて仮想マシン(Virtual Machine)等を実行する基盤をノードの実現基盤として用いてもよい。尚、その場合、コンテ
ナレジストリ60は、仮想マシンのイメージのレジストリとなる。
尚、コンテナ基盤10をKubernetes(登録商標)により構成した場合には、加工処理の内容をコンテナイメージとして固定することができる。またコンテナイメージのハッシュ値をブロックチェーンの分散台帳に管理した場合、加工内容が改ざんされているか否かの検証が可能になる。またKubernetes(登録商標)はポータビリティ性に優れるため、例えば、検証用のコンテナ(以下、「検証用コンテナ」と称する。)を各組織のコンテナ基盤10にデプロイする際、加工処理の実行環境を各組織に容易に構築することができる。
ユーザ端末30は、ユーザがデータフローを管理するためのユーザインタフェースを提供する。ユーザ端末30は、ユーザからデータフローに関する要求を受け付け、その要求をデータフロー管理ノード40に送信する。データフロー管理ノード40は、ユーザ端末30から要求されたデータフローの管理(新規作成、変更(編集)、削除等)を管理ノード11に要求する。尚、データフロー管理ノード40は、ユーザ端末30と共通としても(同じ情報処理装置により構成しても)よい。
データ源50は、組織が取り扱うデータの生成源(各種製造装置、各種機械、各種センサ等)であり、センサデータ(IoTデータ)を生成する。
コンテナレジストリ60は、コンテナイメージを管理し、処理ノード12からコンテナイメージの取得要求を受信すると、要求元にコンテナイメージを提供(配信)する。
管理ノード11は、コンテナ基盤10の管理に関する処理を行う。上記処理は、例えば、処理ノード12へのコンテナのデプロイに関する処理や、デプロイログの生成に関する処理等である。
処理ノード12は、コンテナを実行し、コンテナとの間でデータの入出力に関する処理を行う。また処理ノード12は、コンテナの実行ログの生成や管理に関する処理を行う。尚、処理ノード12は同じ組織に複数存在していてもよい。
データ格納ノード13は、データ源50から収集したデータや加工コンテナによって加工されたデータを管理(記憶)する。データ格納ノード13は、他のノードに自身が格納しているデータに関する情報を提供する。
クライアントノード21は、ブロックチェーンに関する各種の処理を行う。クライアントノード21は、検証先の分散台帳ノード22を選択する。
分散台帳ノード22は、ブロックチェーンの分散台帳を管理し、データの加工内容の検証に関する処理を行う。分散台帳ノード22は、同じ組織に複数存在していてもよい。
図3は、ユーザ端末30、データフロー管理ノード40、コンテナレジストリ60、及びコンテナ基盤10を構成する情報処理装置(以下、「情報処理装置100」と称する。)の一例を示すブロック図である。
同図に示すように、例示する情報処理装置100は、プロセッサ101、主記憶装置102、補助記憶装置103、入力装置104、出力装置105、及び通信装置106を備える。尚、情報処理装置100は、クラウドにおけるクラウドサーバ等の仮想的な情報処理資源を用いて構成されるものであってもよい。
プロセッサ101は、例えば、演算処理を行う装置であり、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、AI(Artificial Intelligence)チップ等である。主記憶装置102は、プログラムや
データを記憶する装置であり、例えば、ROM(Read Only Memory)(SRAM(Static
Random Access Memory)、NVRAM(Non Volatile RAM)、マスクROM(Mask Read
Only Memory)、PROM(Programmable ROM)等)、RAM(Random Access Memory)(DRAM(Dynamic Random Access Memory)等)等である。補助記憶装置103は、ハードディスクドライブ(Hard Disk Drive)、フラッシュメモリ(Flash Memory)、SS
D(Solid State Drive)、光学式記憶装置(CD(Compact Disc)、DVD(Digital Versatile Disc)等)等である。補助記憶装置103に格納されているプログラムやデータ
は、主記憶装置102に随時読み込まれる。
入力装置104は、ユーザから情報を受付けるユーザインタフェースであり、例えば、キーボード、マウス、カードリーダ、タッチパネル等である。出力装置105は、各種の情報を出力(表示出力、音声出力、印字出力等)するユーザインタフェースであり、例えば、各種情報を可視化する表示装置(LCD(Liquid Crystal Display)、グラフィックカード等)や音声出力装置(スピーカ)、印字装置等である。
通信装置106は、通信ネットワーク5を介して他の装置と通信する通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール、USB(Universal Serial Interface)モジュール、シリアル通信モジュール等である。通信装置106は、通信可能に接続する他の装置から情報を受信する入力装置として機能することもできる。また通信装置106は、通信可能に接続する他の装置に情報を送信する出力装置として機能することもできる。
ユーザ端末30、データフロー管理ノード40、コンテナレジストリ60、及びコンテナ基盤10により実現される各ノード(管理ノード11、処理ノード12、データ格納ノード13、クライアントノード21、分散台帳ノード22)が備える機能は、プロセッサ101が、主記憶装置102に格納されているプログラムを読み出して実行することにより、もしくは、情報処理装置100を構成しているハードウェア(FPGA、ASIC、AIチップ等)により実現される。情報処理装置100は、基本的な機能として、例えば、オペレーティングシステム、デバイスドライバ、ファイルシステム、DBMS(DataBase Management System)等の機能を備えていてもよい。
図4は、データフロー管理ノード40が備える機能を説明するブロック図である。デー
タフロー管理ノード40は、記憶部411及びデータフロー管理部412の各機能を有する。
上記機能のうち、記憶部402は、データフロー情報451を記憶する。データフロー管理部412は、データフローの管理や編集(追加、変更、削除等)に関する処理要求を管理ノード11に要求する。データフロー情報451は、データフローに関する各種の情報を含む。
図5は、管理ノード11が備える機能を説明するブロック図である。管理ノード11は、記憶部111、及びコンテナデプロイ部112を備える。記憶部111は、デプロイログ151を記憶する。デプロイログ151は、コンテナのデプロイに関するログ情報を保持する。コンテナデプロイ部112は、処理ノード12へのコンテナのデプロイに関する処理を行う。尚、管理ノード11の全部又は一部の機能を処理ノード12により実現してもよい。
図6は、処理ノード12の構成を説明するブロック図である。処理ノード12は、記憶部121、コンテナ実行部122、及びコンテナログ管理部123を備える。
記憶部121は、コンテナ情報125及びコンテナログ126を記憶する。コンテナ情報125は、処理ノード12にデプロイされているコンテナに関する情報を含む。コンテナログ126は、例えば、コンテナの標準出力の内容やデータの加工処理の実行履歴を含む。
コンテナ実行部122はコンテナの実行に関する処理を行う。またコンテナ実行部122は、コンテナへのデータの入出力の制御に関する処理を行う。
コンテナログ管理部123は、コンテナから出力される実行履歴をコンテナログ126として管理(記憶)する。
図7は、データ格納ノード13の構成を説明するブロック図である。データ格納ノード13は、記憶部131を備える。記憶部131は、データセット135、データセットアクセス権136、及びデータ137を記憶する。
データセット135は、データ源50から取得したデータや、加工処理により加工されたデータにより構成される。データセットアクセス権136は、組織のデータセットに対するアクセス権に関する情報を含む。データ137は、データ源50から収集したデータや加工処理により加工されたデータである。データの信頼性を高めるために、データ自体やデータのハッシュ値を分散台帳に記録してもよい。
図8はクライアントノード21の構成を説明するブロック図である。クライアントノード21は、記憶部211、トランザクション発行部212、ノード選択部213、及び業務アプリ214を備える。
記憶部211は、検証先決定用処理ノード情報215、検証先決定用パラメータ情報216、及び組織情報217を記憶する。検証先決定用処理ノード情報215は、検証先の決定に際して用いられる情報であり、処理ノード12に関する情報を含む。検証先決定用パラメータ情報216は、検証先の決定に際して用いられる情報であり、各種のパラメータに関する情報を含む。組織情報217は、組織と分散台帳ノード22の対応を示す情報を含む。
トランザクション発行部212は、ブロックチェーンの分散台帳ノード22にトランザクションを発行(送信)する。後述するように、トランザクション発行部212は、データの加工内容(加工処理の内容)の検証要求を含むトランザクションを分散台帳ノード22に発行する。
ノード選択部213は、加工処理の検証に際して用いる分散台帳ノード22の選択に関する処理を行う。
業務アプリ214は、処理ノード12等から加工内容に関する情報を含んだコンテナログを取得し、その内容を検証するようにトランザクション発行部212にトランザクションの発行を要求する。
図9は分散台帳ノード22の構成を説明するブロック図である。分散台帳ノード22は、記憶部221、スマートコントラクト実行/管理部222、検証用コンテナデプロイ部
223、データ入力部224、及び検証実行部225を備える。
記憶部221は、現在(最新)のステート(サブデータセット検証結果251、組織保持ポイント情報252、コンテナログ253)、ブロックチェーン227、スマートコントラクト情報228、及び出力データ229を記憶する。
サブデータセット検証結果251は、サブデータセットごとの加工処理の検証結果を含む。サブデータセットは、データセットの構成要素であり、例えば、データセットをデータの所定の取得期間で分割したものである。
組織保持ポイント情報252は、各組織が保持しているポイントを保持する。尚、ポイントは、データの加工内容の検証のためにコンピューティングリソース(処理ノード12のリソース等)を提供した組織に付与される特典である。またポイントは受益者負担を促し、データセットを利用した組織は利用に必要なポイントを消費する。
コンテナログ253は、例えば、コンテナの標準出力の内容やデータの加工処理の実行履歴を含む。
ブロックチェーン227は、トランザクションの実行履歴等の情報を含む。
スマートコントラクト情報228は、分散台帳ノード22に登録されているスマートコントラクトに関する情報を含む。
出力データ229は、検証用コンテナがデータの加工処理を行った際の加工後のデータを含む。
スマートコントラクト実行/管理部222は、スマートコントラクトの実行に関する処
理(管理)を行う。
検証用コンテナデプロイ部223は、スマートコントラクトから呼び出され、トランザクションに指定されている処理ノード12への検証用コンテナのデプロイに関する処理を行う。
データ入力部224は、スマートコントラクトから呼び出され、トランザクションに含まれている、加工処理による加工前の入力データを取得し、取得した入力データを検証用コンテナに入力する。
検証実行部225は、スマートコントラクトから呼び出され、検証用コンテナの出力データに基づき、データの加工処理が正しいか否かを検証する処理を行う。検証実行部225は、例えば、処理ノード12のコンテナログ126に含まれている値や出力データに含まれている値に基づき上記検証を行う。尚、上記検証の方法は必ずしも限定されない。
図10は、コンテナレジストリ60の構成を説明するブロック図である。コンテナレジストリ60は、記憶部601及びコンテナイメージ管理部611を備える。
記憶部601は、コンテナイメージ651を記憶する。コンテナイメージ管理部611は、コンテナイメージ651の登録や提供(配布、配信)に関する処理を行う。
図11は、図4に示したデータフロー情報451の一例である。データフロー情報451は、データフローID4511、作成組織4512、作成日時4513、削除日時4514、入力データセットID4515、加工コンテナID4516、出力データセットID4517、及び状態4518の各項目を有する一つ以上のレコードで構成される。各レコードは一つのデータフローに対応している。
上記項目のうち、データフローID4511には、データフローの識別子(以下、「データフローID」と称する。)が設定される。作成組織4512には、当該データフローの作成を要求した組織の識別子(以下、「組織ID」と称する。)が設定される。作成日時4513には、当該データフローが作成された日時が設定される。削除日時1514には、当該データフローが削除された場合に当該が行われた日時が設定される。削除されていない場合は「N/A」が設定される。
入力データセットID4515には、当該データフローに入力されるデータセットの識別子(以下、「データセットID」と称する。)が設定される。同じデータフローに複数のデータセットが入力されることもあり、その場合、入力データセットID4515には、各データセットのデータセットIDが設定される。
加工コンテナID4516には、当該データフローの実行に際して利用するコンテナの識別子(以下、「コンテナID」と称する。)が設定される。出力データセットID4517には、当該データフローを実行することにより生成(出力)されるデータセットのデータセットIDが設定される。状態4518には、当該データフローの現在の実行状態を示す情報が設定される。
図12は、図5に示したデプロイログ151の一例である。デプロイログ151は、デプロイログID1511、作成日時1512、作成コンテナID1513、及びイメージID1514の各項目を有する一つ以上のレコードで構成される。各レコードは一つのデプロイログに対応している。
上記項目のうち、デプロイログID1511には、デプロイログの識別子(以下、「デプロイログID」と称する。)が設定される。作成日時1512には、当該デプロイログが生成された日時が設定される。
作成コンテナID1513には、当該デプロイログに対応するコンテナをデプロイしたコンテナのコンテナIDが設定される。イメージID1514には、当該デプロイログに対応するコンテナイメージの識別子(以下、「イメージID」と称する。)が設定される。
図13は、図6に示したコンテナ情報125の一例である。コンテナ情報125は、コンテナID1251、イメージID1252、及び状態1253の各項目を有する一つ以上のレコードで構成される。各レコードは一つのコンテナに対応している。
上記項目のうち、コンテナID1251にはコンテナIDが設定される。イメージID1252には当該コンテナのコンテナイメージのイメージIDが設定される。状態1253には、当該コンテナの現在の実行状態を示す情報が設定される。
図14は、図6に示したコンテナログ126の一例である。コンテナログ126は、コンテナログID1261、コンテナID1262、及びログ情報1263の各項目を有する一つ以上のレコードで構成される。各レコードは一つのコンテナログに対応している。
上記項目のうち、コンテナログID1261には、コンテナログの識別子(以下、「コンテナログID」と称する。)が設定される。コンテナID1251には、当該コンテナログを生成(出力)したコンテナのコンテナIDが設定される。
ログ情報1263には、コンテナから出力されたログの内容が設定される。例示するログ情報1263は、入力データの値、出力データの値、出力先のサブデータセットの情報等を含む。
図15は、図7に示したデータセット135の一例である。データセット135は、データセットID1351、サブデータセットID1352、及び取得期間1353の各項目を有する一つ以上のレコードで構成される。各レコードは一つのデータセットに対応している。
上記項目のうち、データセットID1351には、データセットの識別子(以下、「データセットID」と称する。)が設定される。サブデータセットID1352には、サブデータセットの識別子(以下、「サブデータセットID」と称する。)が設定される。取得期間1353には、当該サブデータセットの取得期間が設定される。
図16は、図7に示したデータセットアクセス権136の一例である。データセットアクセス権136は、データセットID1361及びアクセス権1362の各項目を有する一つ以上のレコードで構成される。各レコードは一つのデータセットに対応している。
上記項目のうち、データセットID1361には、データセットのデータセットIDが設定される。アクセス権1362には、当該データセットについてアクセス権を有するユーザ(本例では組織)とアクセス権の内容が設定される。尚、同図における「R」は読み込み権限であり、「W」は書き込み権限である。
図17は、図8に示した検証先決定用処理ノード情報215の一例である。検証先決定用処理ノード情報215は、処理ノード情報ID2151、組織ID2152、アクセス可能データセット2153、現在利用中データセット2154、及び検証実施必要ポイント2155の各項目を有する一つ以上のレコードで構成される。各レコードは一つの検証先決定用の処理ノードの情報に対応している。
検証先決定用処理ノード情報215は、クライアントノード21が検証先の分散台帳ノード22を選択する際に用いられる情報である。
上記項目のうち、処理ノード情報ID2151には、検証先決定用の処理ノードの情報の識別子(以下、「処理ノード情報ID」と称する。)が設定される。組織ID2152
には、組織IDが設定される。
アクセス可能データセット2153には、当該組織がアクセス可能な全てのデータセットのデータセットIDが設定される。現在利用中データセット2154には、当該組織が現在利用している全てのデータセットのデータセットIDが設定される。
検証実施必要ポイント2155には、当該組織が検証用コンテナを提供するために必要なポイント値が設定される。
図18は、図8に示した検証先決定用パラメータ情報216の一例である。検証先決定用パラメータ情報216は、パラメータ情報ID2161、パラメータ2162、及びパラメータ値2163の各項目を有する一つ以上のレコードで構成される。各レコードは一つの検証先決定用のパラメータの情報に対応している。
上記項目のうち、パラメータ情報ID2161には、検証先決定用のパラメータ情報の識別子(以下、「パラメータ情報ID」と称する。)が設定される。パラメータ2162には、パラメータを示す情報が設定される。例えば、「検証ノード(デプロイ)最大数」や「検証ノード(データ入力)最大数」が設定される。パラメータ値2163には、当該パラメータの値が設定される。
図19は、図8に示した組織情報217の一例である。組織情報217は、組織ID2171、組織名2172、及び分散台帳ノードID2173の各項目を有する一つ以上のレコードで構成される。各レコードは一つの組織に対応している。
上記項目のうち、組織ID2171には、組織IDが設定される。組織名2172には、当該組織の名称が設定される。分散台帳ノードID2173には、当該組織の分散台帳ノード22の識別子(以下、「分散台帳ノードID」と称する。)が設定される。一つの組織が複数の分散台帳ノード22を有している場合もあり、その場合、分散台帳ノードID2173には複数の分散台帳ノードIDが設定される。
図20は、図9に示したサブデータセット検証結果251の一例である。サブデータセット検証結果251は、サブデータセットID2511、検証実施レベル2112、及び更新日時2113の各項目を有する一つ以上のレコードで構成される。各レコードは一つのサブデータセットに対応している。
上記項目のうち、サブデータセットID2511には、サブデータセットIDが設定される。検証実施レベル2112には、検証の質(信頼性)を表す評価指標である検証実施レベルが設定される。本例では検証実施レベルの値が大きい程、検証の質は高くなる。分散台帳に書き込まれている検証実施レベルから行われた検証の質を知ることができる。データ源50から加工することなしにデータセットに格納された場合は検証実施レベル2112には「N/A」が設定される。更新日時2513には、検証実施レベル2112の内容が更新された日時が設定される。
図21は、図9に示した組織保持ポイント情報252の一例である。組織保持ポイント情報252は、組織ID2521、組織名2522、残ポイント2523、及び更新日時2524の各項目を有する一つ以上のレコードで構成される。各レコードは一つの組織に対応している。
上記項目のうち、組織ID2521には組織IDが設定される。組織名2522には当該組織の名称が設定される。残ポイント2523には、当該組織が現在保持しているポイ
ント値が設定される。更新日時2524には、残ポイント2523の直近の更新日時(最終更新日時)が設定される。
図22は、図9に示したコンテナログ253の一例である。コンテナログ253は、コンテナログID2531及びログ情報2532の各項目を有する一つ以上のレコードで構成される。各レコードは一つのコンテナログに対応している。
上記項目のうち、コンテナログID2531には、コンテナログIDが設定される。ログ情報2532には、コンテナから出力されたログの内容が設定される。例示するログ情報2532は、入力データの値、出力データの値、出力先のサブデータセットの情報等を含む。
図23A及び図23Bは、図9に示したブロックチェーン227の一例である。ブロックチェーン227は、ブロックID2271、トランザクション情報(タイムスタンプ2272、SCID2273、呼び出し関数2274、TX発行者2275、TX承認者2276、RWセット2277)、及び前ブロックハッシュ値2278の各項目を有する複数のレコードで構成される。各レコードは一つのブロックに対応している。例示するブロックチェーン227では、1つのブロックに1つのトランザクション(TX)を格納しているが、1つのブロックに複数のトランザクション(TX)が格納されていてもよい。
ブロックID2271には、ブロックチェーンを構成するブロックの識別子(以下、「ブロックID」と称する。)が設定される。トランザクション情報のうち、タイムスタンプ2272には、TXを実行した日時(タイムスタンプ)が設定される。
SCID2273には、実行したスマートコントラクト(SC)の識別子(以下、「スマートコントラクトID」と称する。)が設定される。呼び出し関数2274には、呼び出したSC内の関数が設定される(後述する図24の関数2283)。TX発行者2275には、トランザクション(TX)を発行した組織の名称が設定される。TX承認者2276には、トランザクション(TX)を承認した組織の名称が設定される。
RWセット2277には、Read/Writeセット(ステート(図20のサブデータセット検証結果251、図21の組織保持ポイント情報252、図22のコンテナログ253)に対する読み込みや書き込みの内容が設定される。本例の場合、例えば、ブロックID2271が「1」のレコードのRWセット2277は、データ源50からデータを加工なしにデータセットに格納している場合であり、keyである「検証実施レベル」についてValueとして「0」が書き込まれている。またブロックID2271が「2」のRWセット2277は、検証用コンテナをデプロイするトランザクション(TX)に関するものであり、デプロイの結果、ポイントが付与されるため、keyである「組織Aポイント」、「組織Bポイント」に夫々、Valueとして「100」、「400」が書き込まれている。またブロックIDが「5」のレコードのRWセット2277は、コンテナログに関するものであり、keyである「コンテナログ1」にValueとしてコンテナログ253のコンテナログIDが「1」のログ情報2302の内容が設定されている。尚、ステートの情報に加えて、検証用コンテナから出力されたデータの値等の検証結果をRWセットに含めてもよい。
前ブロックハッシュ値2278には、前ブロックのハッシュ値が格納される。前ブロックのハッシュ値を持つことによりブロックチェーン内のデータの改ざんの困難性が確保される。
図24は、図9に示したスマートコントラクト情報228の一例である。スマートコン
トラクト情報228は、スマートコントラクトID2281、種類2282、及び関数2283の各項目を有する一つ以上のレコードで構成される。各レコードは一つのスマートコントラクトに対応している。
スマートコントラクト情報228には、スマートコントラクトIDが設定される。種類2282には、スマートコントラクトの種類(処理内容)を示す情報が設定され、例えば、「検証(検証用コンテナデプロイ、ポイント更新)」、「検証(データ入力)」、「検証(出力データ検証)」等が設定される。関数2283には、各スマートコントラクトの関数が設定される。
図25は、図9に示した出力データ229の一例である。出力データ229は、コンテナID2291、入力サブデータセットID2292、及び出力データ2293の各項目を有する一つ以上のレコードで構成される。各レコードは一つの出力データに対応している。出力データ229は、分散台帳ノード22がデータの加工内容の検証に用いる情報を含む。
上記項目のうち、コンテナID2291には、出力データの識別子(本例ではコンテナID)が設定される。入力サブデータセットID2292は、コンテナに入力するデータを含むサブデータセットのサブデータセットIDが設定される。出力データ2293には、出力されたデータの内容が設定される。
図26は、図10に示したコンテナイメージ651の一例である。コンテナイメージ651は、コンテナID6051及び内容6052の各項目を含む一つ以上のレコードで構成されている。各レコードは一つのコンテナに対応している。
上記項目のうち、コンテナID6051には、コンテナイメージIDが設定される。内容6052には、コンテナイメージの内容(実体)が設定される。
<処理説明>
図27は、ユーザがデータフローを追加する際にデータ加工履歴管理システム1において行われる処理を説明するシーケンス図である。
まずユーザ端末30が、データフロー管理ノード40に対してデータフローの追加要求を送信する(S2711)。データフロー管理ノード40は、上記追加要求を受信すると、データフローの追加先の組織の管理ノード11にデータフローの追加要求を送信する(S2712)。
管理ノード11(処理ノード12でもよい)は、上記追加要求を受信すると、自身が属する組織の処理ノード12にコンテナのデプロイ要求を送信する(S2713)。処理ノード12は、上記デプロイ要求を受信すると、コンテナレジストリ60から追加するデータフローのコンテナイメージを取得し(S2714,S2715)、取得したコンテナイメージを用いて、データの加工処理を行うコンテナをデプロイする(S2716)。
図28は、データフローに従ってある組織でデータの加工処理が行われた際にデータ加工履歴管理システム1において行われる加工内容の検証処理に関する準備処理を説明するシーケンス図である。尚、以下の説明におけるデータは、例えば、時系列データであり、サブデータセットは一定期間ごとに生成されるものとする。
まず加工処理の対象となるデータ又はデータセットが、データ源50又はデータ格納ノード13から処理ノード12に送られる(S2811,S2812)。
処理ノード12のコンテナは、送られてくるデータを受信し、受信したデータについて加工処理を行い(S2813)、加工後のデータをデータ格納ノード13のデータセットに格納していく(S2814)。
処理ノード12のコンテナは、サブデータセットの生成が完了すると、自身が属する組織のクライアントノード21に加工内容の検証を要求する(S2815)。上記要求には、サブデータセットの作成完了の通知と、データを加工した際に生成されたコンテナログとが含まれる。尚、本例では、このように処理ノード12のコンテナが加工内容の検証要求を、サブデータセットの生成が完了したタイミングで送信するが、検証要求を送信するタイミングは必ずしも限定されない。例えば、ユーザが指定したタイミングで検証要求を送信してもよい。また加工したデータの数等に応じて検証要求を送信してもよい。
クライアントノード21は、検証要求を受信すると、検証先とする他の組織の分散台帳ノード22を選択する(S2816)。尚、この処理(以下、「検証先ノード選択処理S2816」と称する。)の詳細については後述する。
続いて、クライアントノード21は、選択した他の組織の複数の分散台帳ノード22の夫々に検証用コンテナのデプロイ要求を送信する(SS2817)。上記デプロイ要求はコンテナイメージのイメージIDを含む。尚、リソースの節約のため、検証用コンテナに入力されるサブデータセットの検証実施レベル2512に「0」が設定されている場合、クライアントノード21は上記デプロイ要求の送信を行わない。
各組織の分散台帳ノード22は、上記デプロイ要求を受信すると、自組織の管理ノード11に検証用コンテナのデプロイ要求を送信する(S2818)。
管理ノード11は、上記デプロイ要求を受信すると、当該デプロイ要求に指定されているコンテナのデプロイを自組織の処理ノード12に要求する(S2819)。尚、管理ノード11は、当該コンテナを検証用としてデプロイする。
処理ノード12は、上記デプロイ要求を受信すると、当該デプロイ要求に指定されているコンテナイメージをコンテナレジストリ60から取得し(S2820、S2821)、取得したコンテナイメージを用いて検証用コンテナをデプロイし(S2822)、管理ノード11にデプロイの完了通知を送信する(S2823)。尚、上記完了通知は、デプロイした検証用コンテナの所在を特定する情報(URL(Uniform Resource Locator)、IPアドレス等)を含む。
管理ノード11は、上記完了通知を受信すると、検証用コンテナのデプロイの完了通知を自組織の分散台帳ノード22に通知する(S2824)。
分散台帳ノード22は、上記完了通知を受信すると、自組織のポイントに検証用コンテナをデプロイした分に相当するポイントを反映(図21に示した組織ポイント情報226の残ポイント2523を更新)する(S2825)。尚、ポイントの更新履歴は、図23Aに例示したRWセット2277としてブロックチェーン227に記録される。
続いて、分散台帳ノード22は、S2817で検証用コンテナのデプロイ要求を送信してきたクライアントノード21にデプロイの完了通知を送信する(S2826)。
図29は、図28に示した検証先ノード選択処理S2816の詳細を説明するフローチャートである。同図に示すように、検証先ノード選択処理S2816は、検証用コンテナ
のデプロイ先の分散台帳ノード22を選択する処理(S2911〜S2914)と、検証用コンテナにデータを入力する分散台帳ノード22を選択する処理(S2915〜S2917)とを含む。
まずクライアントノード21は、図20に示した検証先決定用処理ノード情報215を参照し、自組織以外の他の組織のうち、加工後のデータセットを現在利用している組織があるか否かを判定する(S2911)。加工後のデータセットを現在利用している組織がなければ(S2911:NO)、クライアントノード21は、加工後のデータセット(サブデータセット)の図20に示したサブデータセット検証結果251の検証実施レベル2512に「0」を設定し、処理を終了する(S2912)。このように加工後のデータセットが他の組織で利用されない場合、分散台帳ノード22は選択されず、検証は行われないので、リソースが無駄に消費されてしまうのを防ぐことができる。
一方、加工後のデータセットを現在利用している組織がある場合(S2911:YES)、クライアントノード21は、加工後のデータセットを現在利用している組織の分散台帳ノード22を検証用コンテナのデプロイ先のノード(第1の分散台帳ノード)として選択する(S2913)。このように加工後のデータセットを現在利用している組織の分散台帳ノード22を検証用コンテナのデプロイ先として指定することで、検証により生じる負荷を負担する意義を有する組織を選択することができる。デプロイ先として選択可能な分散台帳ノード22の数が、図18に示した検証先決定用パラメータ情報216の検証ノード(デプロイ)最大数2162のパラメータ値2163を超える場合、クライアントノード21は、例えば、必要なポイントが少ない(安い)組織の分散台帳ノード22を優先して最大数分の分散台帳ノード22を選択する。
続いて、クライアントノード21は、加工後のデータセットの図20に示したサブデータセット検証結果251の検証実施レベル2512に、選択した分散台帳ノード22の数を設定する(S2914)。従って、選択した分散台帳ノード22の数が高い程、検証実施レベル(検証の質)は高くなる。これは多くの分散台帳ノード22で検証が行われる程、検証の質が向上するという前提に基づく。
続いて、クライアントノード21は、図16に示したデータセットアクセス権136を参照し、加工処理を行った組織以外の他の組織のうち、加工後のデータセットにアクセス可能な組織があるか否かを判定する(S2915)。加工後のデータセットにアクセス可能な組織がない場合(S2915:NO)、クライアントノード21は、加工後のデータセットの図20に示したサブデータセット検証結果251の検証実施レベル2512に「0」を設定し、処理を終了する(S2912)。このように加工後のデータセットにアクセス可能な組織がない場合、分散台帳ノード22は選択されず、検証は行われないので、リソースが無駄に消費されてしまうのを防ぐことができる。
一方、加工後のデータセットにアクセス可能な組織がある場合(S2915:YES)、クライアントノード21は、加工後データセットにアクセス可能な組織の分散台帳ノード22を検証用コンテナにデータを入力するノード(第2の分散台帳ノード)として選択する(S2916)。デプロイ先の分散台帳ノード22の数が、図18に示した検証先決定用パラメータ情報216の検証ノード(データ入力)最大数2162のパラメータ値2163を超える場合、クライアントノード21は、例えば、必要ポイントが少ない(安い)組織の分散台帳ノード22を優先して最大数分の分散台帳ノード22を選択する。このように、クライアントノード21は、分散台帳ノード22の選択に際し、組織のデータセットへのアクセス権を考慮するので、データのセキュリティを確保しつつ、検証処理を行う分散台帳ノード22を選択することができる。
続いて、クライアントノード21は、加工後のデータセット(サブデータセット)の図20に示したサブデータセット検証結果251の検証実施レベル2512に、選択した分散台帳ノード22の数を加算する(S2917)。
続いて、クライアントノード21は、S2913で選択した検証用コンテナのデプロイ先の分散台帳ノード22と、S2916で選択した検証用コンテナにデータを入力する分散台帳ノード22との一つ以上の組み合わせを生成する(S2918)。この組み合わせの方法は必ずしも限定されない。尚、例えば、選出した検証用コンテナにデータを入力する分散台帳ノード22の数が、選出した検証用コンテナのデプロイ先の分散台帳ノード22の数よりも少ない場合、一つの検証用コンテナにデータを入力する分散台帳ノード22が複数の検証用コンテナのデプロイ先の分散台帳ノード22と組み合わされる。
図30は、ある組織でデータの加工処理が行われた際にデータ加工履歴管理システム1において行われる、上記のある組織におけるデータの加工内容の検証処理を説明するシーケンス図である。
まずクライアントノード21は、検証先ノード選択処理S2816で選択したデータの入力を担当する分散台帳ノード22に、S2918において当該分散台帳ノード22と組み合わされた検証用コンテナのデプロイ先の分散台帳ノード22が属する組織の処理ノード12の検証用コンテナにデータ(加工処理における入力データ)を入力するように要求する(S3011)。尚、上記要求には、入力データセットや入力先のコンテナの所在を示す情報(URL、IPアドレス等)が含まれる。
分散台帳ノード22は、上記要求を受信すると、当該要求で指定されているデータ(データセット)を保持しているデータ格納ノード13に、上記検証用コンテナへのデータの入力要求を送信する(S3012)。
データ格納ノード13は、上記要求で指定されているデータ(データセット)を上記処理ノード12の検証用コンテナに入力する(S3013)。
検証用コンテナは、入力されたデータに対して、コンテナに定義されている加工処理を実行し(S3014)、加工後のデータを、検証用コンテナのデプロイ要求を送信してきた分散台帳ノード22に送信する(S3015)。尚、このとき、検証用コンテナが加工内容に関する情報を含むコンテナログを上記分散台帳ノード22に送信してもよい。
分散台帳ノード22は、加工後のデータを受信すると、S3011でデータの入力を要求してきたクライアントノード21に完了通知を送信する(S3016)。
クライアントノード21は、上記完了通知を受信すると、分散台帳ノード22に加工後のデータ(出力データ)の検証を要求する(S3017)。この要求には、図28の加工処理S2813における加工後のデータが含まれる。
分散台帳ノード22は、上記要求に含まれている上記加工後のデータと、S3015で受信した(検証環境からの)加工後のデータとを比較することにより、ある組織におけるデータの加工内容が正しいか否かを検証し(S3018)、検証結果をクライアントノード21に通知する(S3019)。
クライアントノード21は、全ての検証先の分散台帳ノード22から上記検証結果を受信し、その結果を確認する(S3020)。上記確認の結果、例えば、検証を依頼した分散台帳ノード22のうち、既定数以上の分散台帳ノード22からの結果が同一であった場
合、クライアントノード21は、加工内容(検証対象の加工処理の内容)は正しいと判定し、全ての分散台帳ノード22に対して、分散台帳(図20に示したサブデータセット検証結果251)の更新要求を送信する(S3021)。尚、加工内容が正しいか否かの判定方法は必ずしも限定されない。
上記要求を受信した分散台帳ノード22は、分散台帳をステートの内容(サブデータセット検証結果251、組織保持ポイント情報252、コンテナログ253)に基づき更新し(S3022)、管理ノード11に検証用コンテナの削除を要求する(S3023)。
管理ノード11は、上記要求を受信すると、処理ノード12に検証用コンテナの削除要求を送信する(S3024)。
処理ノード12は、指定された検証用コンテナを削除し(S3025)、管理ノード11に削除完了を通知する(S3026)。
管理ノード11は、上記通知を受信すると、分散台帳ノード22に処理完了を通知する(S3027)。
以上、詳細に説明したように、本実施形態のデータ加工履歴管理システム1によれば、ブロックチェーンの仕組みを利用して他の組織で行われたデータの加工処理を検証することができる。また検証対象となる加工処理はブロックチェーンの外部のリソースであるコンテナ基盤のリソースを用いて行われるため、既存のツール等を活用して加工内容の検証を効率よく行うことができる。このように、本実施形態のデータ加工履歴管理システム1によれば、複数の組織で取り扱われるデータの加工内容を検証する仕組みを効率よく実現してデータの信頼性を向上することができる。
以上、本発明の一実施形態について詳細に説明したが、本発明は上記の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、説明した全ての構成を備えるものに必ずしも限定されるものではない。また上記実施形態の構成の一部について、他の構成の追加や削除、置換をすることが可能である。
例えば、検証先の分散台帳ノード22の決定を、各組織が過去に利用していたデータセットの情報を利用して行ってもよい。
また上記の各構成、機能部、処理部、処理手段等は、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、IC
カード、SDカード、DVD等の記録媒体に置くことができる。
また上記の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。例えば、実際には殆ど全ての構成が相互に接続されていると考えてもよい。
また以上に説明した各情報処理装置の各種機能部、各種処理部、各種データベースの配置形態は一例に過ぎない。各種機能部、各種処理部、各種データベースの配置形態は、これらの装置が備えるハードウェアやソフトウェアの性能、処理効率、通信効率等の観点か
ら最適な配置形態に変更し得る。
また前述した各種のデータを格納するデータベースの構成(スキーマ(Schema)等)は、リソースの効率的な利用、処理効率向上、アクセス効率向上、検索効率向上等の観点から柔軟に変更し得る。
1 データ加工履歴管理システム、5 通信ネットワーク、10 コンテナ基盤、11 管理ノード、111 記憶部、112 コンテナデプロイ部、151 デプロイログ、12 処理ノード、121 記憶部、122 コンテナ実行部、123 コンテナログ管理部、125 コンテナ情報、126 コンテナログ、13 データ格納ノード、131 記憶部、135 データセット、136 データセットアクセス権、137 データ、21 クライアントノード、211 記憶部、212 トランザクション発行部、213 ノード選択部、214 業務アプリ、215 検証先決定用処理ノード情報、216 検証先決定用パラメータ情報、217 組織情報、22 分散台帳ノード、221 記憶部、222 スマートコントラクト実行/管理部、223 検証用コンテナデプロイ部、224 データ入力部、225 検証実行部、227 ブロックチェーン、228 スマートコントラクト情報、229 出力データ、251 サブデータセット検証結果、252
組織保持ポイント情報、253 コンテナログ、30 ユーザ端末、40 データフロー管理ノード、411 記憶部、412 データフロー管理部、451 データフロー情報、50 データ源、60 コンテナレジストリ、601 記憶部、611 コンテナイメージ管理部、651 コンテナイメージ

Claims (15)

  1. 複数の組織の夫々に設けられ、トランザクションの内容を互いに検証し、前記トランザクションの履歴を夫々が有する分散台帳に保持する複数の分散台帳ノードと、
    前記分散台帳ノードにトランザクションを送信するクライアントノードと、
    前記複数の組織の夫々に設けられ、検証の対象となる処理である検証対象処理を仮想化基盤において実行する処理ノードと、
    を含み、
    前記クライアントノードは、前記検証を行う複数の前記分散台帳ノードを選択し、選択した前記分散台帳ノードの夫々に、前記検証対象処理の実行要求を含むトランザクションを送信し、
    前記分散台帳ノードの夫々は、前記トランザクションを受信すると、夫々が属する前記組織の前記処理ノードにおいて、前記検証対象処理を前記仮想化基盤で実行して前記検証対象処理の検証を行い、前記検証の結果を前記分散台帳に記録する、
    情報処理システム。
  2. 請求項1に記載の情報処理システムであって、
    前記検証対象処理は、複数の前記組織の間でデータフローに従って行われるデータの加工処理である、
    情報処理システム。
  3. 請求項2に記載の情報処理システムであって、
    前記加工処理に用いるデータを提供するデータ格納ノードを更に含み、
    前記分散台帳ノードは、前記データ格納ノードから提供される前記データを前記検証対象処理に入力する、
    情報処理システム。
  4. 請求項3に記載の情報処理システムであって、
    前記データ格納ノードは、提供する前記データについて前記組織ごとにアクセス制限を行い、
    前記クライアントノードは、前記検証対象処理の実行要求を含むトランザクションの送信先として、前記検証対象処理に入力する前記データにアクセス可能な前記組織の前記分散台帳ノードを選択する、
    情報処理システム。
  5. 請求項3に記載の情報処理システムであって、
    前記クライアントノードは、前記検証対象処理の実行要求を含むトランザクションの送信先として、前記検証対象処理のデプロイを行う第1の前記分散台帳ノードを選択するとともに、前記データ格納ノードから提供される前記データの前記検証対象処理への入力を行う第2の前記分散台帳ノードを選択する、
    情報処理システム。
  6. 請求項2に記載の情報処理システムであって、
    前記クライアントノードは、前記検証対象処理の実行要求を含むトランザクションの送信先として、前記データフローにおいて前記検証対象処理の加工後のデータを利用している他の前記組織の分散台帳ノードを選択する、
    情報処理システム。
  7. 請求項5に記載の情報処理システムであって、
    前記データ格納ノードは、提供する前記データについて前記組織ごとにアクセス制限を
    行い、
    前記クライアントノードは、前記第2の前記分散台帳ノードとして、前記検証対象処理に入力する前記データにアクセス可能な前記組織の前記分散台帳ノードを選択する、
    情報処理システム。
  8. 請求項1に記載の情報処理システムであって、
    前記クライアントノードは、前記検証対象処理の実行要求を含むトランザクションの送信先として選択した送信先の数を、検証の質を表す評価指標である検証実施レベルとして前記トランザクションに設定し、
    前記分散台帳ノードは、前記検証により前記検証対象処理が正しいと判定した場合、前記検証実施レベルを分散台帳に記録する、
    情報処理システム。
  9. 請求項1に記載の情報処理システムであって、
    前記分散台帳は、前記組織の夫々が保有しているポイント値の記録を含み、
    前記分散台帳ノードは、自身が属する前記組織の前記処理ノードに前記検証対象処理がデプロイされた際、前記分散台帳における当該組織の前記ポイント値を増加させる、
    情報処理システム。
  10. 請求項9に記載の情報処理システムであって、
    前記クライアントノードは、
    前記組織ごとの検証実行のために必要なポイント値を記憶し、
    前記検証対象処理の実行要求を含むトランザクションの送信先として、前記必要なポイント値が少ない前記組織の前記分散台帳ノードを優先して選択する、
    情報処理システム。
  11. 請求項1に記載の情報処理システムであって、
    前記処理ノードは、前記仮想化基盤における前記検証対象処理の再現手順が記録されたイメージに基づきデプロイされた前記検証対象処理を実行する、
    情報処理システム。
  12. 複数の組織の夫々に設けられ、トランザクションの内容を互いに検証し、前記トランザクションの履歴を夫々が有する分散台帳に保持する複数の分散台帳ノードと、
    前記分散台帳ノードにトランザクションを送信するクライアントノードと、
    前記複数の組織の夫々に設けられ、検証の対象となる処理である検証対象処理を仮想化基盤において実行する処理ノードと、
    を含んで構成される情報処理システムの制御方法であって、
    前記クライアントノードが、前記検証を行う複数の前記分散台帳ノードを選択し、選択した前記分散台帳ノードの夫々に、前記検証対象処理の実行要求を含むトランザクションを送信するステップと、
    前記分散台帳ノードの夫々が、前記トランザクションを受信すると、夫々が属する前記組織の前記処理ノードにおいて、前記検証対象処理を前記仮想化基盤で実行して前記検証対象処理の検証を行い、前記検証の結果を前記分散台帳に記録するステップと、
    を含む、情報処理システムの制御方法。
  13. 請求項12に記載の情報処理システムの制御方法であって、
    前記検証対象処理は、複数の前記組織の間でデータフローに従って行われるデータの加工処理であり、
    前記処理ノードが、前記仮想化基盤における前記検証対象処理の再現手順が記録されたイメージに基づきデプロイされた前記検証対象処理を実行するステップを更に含む、
    情報処理システムの制御方法。
  14. 請求項13に記載の情報処理システムの制御方法であって、
    前記情報処理システムは、前記加工処理に用いるデータを提供するデータ格納ノードを更に含み、
    前記分散台帳ノードが、前記データ格納ノードから提供される前記データを前記検証対象処理に入力するステップを更に含む、
    情報処理システムの制御方法。
  15. 請求項14に記載の情報処理システムの制御方法であって、
    前記データ格納ノードが、提供する前記データについて前記組織ごとにアクセス制限を行うステップと、
    前記クライアントノードが、前記検証対象処理の実行要求を含むトランザクションの送信先として、前記検証対象処理に入力する前記データにアクセス可能な前記組織の前記分散台帳ノードを選択するステップと、
    を更に含む、情報処理システムの制御方法。
JP2019103187A 2019-05-31 2019-05-31 情報処理システム、及び情報処理システムの制御方法 Active JP7221799B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019103187A JP7221799B2 (ja) 2019-05-31 2019-05-31 情報処理システム、及び情報処理システムの制御方法
US16/817,809 US11360966B2 (en) 2019-05-31 2020-03-13 Information processing system and method of controlling information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019103187A JP7221799B2 (ja) 2019-05-31 2019-05-31 情報処理システム、及び情報処理システムの制御方法

Publications (2)

Publication Number Publication Date
JP2020197873A true JP2020197873A (ja) 2020-12-10
JP7221799B2 JP7221799B2 (ja) 2023-02-14

Family

ID=73549947

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019103187A Active JP7221799B2 (ja) 2019-05-31 2019-05-31 情報処理システム、及び情報処理システムの制御方法

Country Status (2)

Country Link
US (1) US11360966B2 (ja)
JP (1) JP7221799B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022202865A1 (ja) * 2021-03-24 2022-09-29 株式会社デンソー 分散型台帳システム及び方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115378674B (zh) * 2022-08-11 2023-11-03 国网湖南综合能源服务有限公司 一种基于区块链技术的共享储能云平台的应用方法及系统
US20240095724A1 (en) * 2022-09-12 2024-03-21 Capital One Services, Llc Techniques to provide secure cryptographic authentication of contactless cards by distributed entities

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018106386A (ja) * 2016-12-26 2018-07-05 富士通株式会社 プログラム、情報処理装置、および情報処理方法
JP2018109878A (ja) * 2017-01-05 2018-07-12 株式会社日立製作所 分散コンピューティングシステム
JP2018128723A (ja) * 2017-02-06 2018-08-16 株式会社日立製作所 信用度管理システムおよび信用度管理方法
US20190012249A1 (en) * 2017-07-07 2019-01-10 Microsoft Technology Licensing, Llc Blockchain analytics
CN109347868A (zh) * 2018-11-27 2019-02-15 咪咕文化科技有限公司 一种信息验证方法、装置及存储介质
US20190097807A1 (en) * 2017-09-25 2019-03-28 Sap Se Network access control based on distributed ledger
US20190116185A1 (en) * 2017-10-16 2019-04-18 Hitachi, Ltd. Access authority management method, access authority management system, and access authority management apparatus
JP2020509443A (ja) * 2018-12-29 2020-03-26 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited ブロックチェーン上のネイティブ契約を実施するためのシステムおよび方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190188700A1 (en) * 2017-12-15 2019-06-20 Fmr Llc Social Data Tracking Datastructures, Apparatuses, Methods and Systems
US10157078B2 (en) 2016-04-10 2018-12-18 Bank Of America Corporation System for transforming large scale electronic processing using application block chain
EP3804279A4 (en) * 2018-06-01 2022-01-19 Nokia Technologies OY METHOD AND DEVICE FOR DISTRIBUTED TRUST ASSESSMENT IN A DISTRIBUTED NETWORK
US11140201B2 (en) * 2019-02-19 2021-10-05 International Business Machines Corporation Security platform for multi-component system and services thereof

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018106386A (ja) * 2016-12-26 2018-07-05 富士通株式会社 プログラム、情報処理装置、および情報処理方法
JP2018109878A (ja) * 2017-01-05 2018-07-12 株式会社日立製作所 分散コンピューティングシステム
JP2018128723A (ja) * 2017-02-06 2018-08-16 株式会社日立製作所 信用度管理システムおよび信用度管理方法
US20190012249A1 (en) * 2017-07-07 2019-01-10 Microsoft Technology Licensing, Llc Blockchain analytics
US20190097807A1 (en) * 2017-09-25 2019-03-28 Sap Se Network access control based on distributed ledger
US20190116185A1 (en) * 2017-10-16 2019-04-18 Hitachi, Ltd. Access authority management method, access authority management system, and access authority management apparatus
JP2019074910A (ja) * 2017-10-16 2019-05-16 株式会社日立製作所 アクセス権管理方法、アクセス権管理システム、および、アクセス権管理装置
CN109347868A (zh) * 2018-11-27 2019-02-15 咪咕文化科技有限公司 一种信息验证方法、装置及存储介质
JP2020509443A (ja) * 2018-12-29 2020-03-26 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited ブロックチェーン上のネイティブ契約を実施するためのシステムおよび方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022202865A1 (ja) * 2021-03-24 2022-09-29 株式会社デンソー 分散型台帳システム及び方法

Also Published As

Publication number Publication date
US20200379982A1 (en) 2020-12-03
US11360966B2 (en) 2022-06-14
JP7221799B2 (ja) 2023-02-14

Similar Documents

Publication Publication Date Title
US11036771B2 (en) Data processing systems for generating and populating a data inventory
US11558429B2 (en) Data processing and scanning systems for generating and populating a data inventory
US10438016B2 (en) Data processing systems for generating and populating a data inventory
JP7330596B2 (ja) ブロックチェーンデータのアーカイブ方法、ブロックチェーンデータのアーカイブ装置、電子機器、及びコンピュータプログラム
JP7417677B2 (ja) ファイル共有のための技術
CN107577427B (zh) 用于区块链系统的数据迁移方法、设备和存储介质
US20190258654A1 (en) Data processing systems for generating and populating a data inventory
US11375015B2 (en) Dynamic routing of file system objects
WO2022008996A1 (en) Privacy preserving architecture for permissioned blockchains
JP7221799B2 (ja) 情報処理システム、及び情報処理システムの制御方法
CN112860777B (zh) 数据处理方法、装置及设备
CN116325833A (zh) 将设备标识集成到区块链的许可框架中
JP2009015585A (ja) 管理装置及びネットワークシステム及びプログラム及び管理方法
US20220407707A1 (en) Generative cryptogram for blockchain data managment
JP2023538497A (ja) 編集可能なブロックチェーン
US20220171763A1 (en) Blockchain selective world state database
US11501014B2 (en) Secure data replication in distributed data storage environments
CN113626510A (zh) 交易核对方法、装置、电子设备及存储介质
CN113194127B (zh) 一种数据存储方法、数据传输方法及计算设备
US11816088B2 (en) Method and system for managing cross data source data access requests
US20230153450A1 (en) Privacy data management in distributed computing systems
Moore et al. Assessment of RLG trusted digital repository requirements
US11176108B2 (en) Data resolution among disparate data sources
US20210103577A1 (en) Reliable detection of deleted assets in data stores
CN115204870A (zh) 区块链应用的管理方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230202

R150 Certificate of patent or registration of utility model

Ref document number: 7221799

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150