JP7490394B2 - 情報共有支援方法、及び情報共有支援システム - Google Patents

情報共有支援方法、及び情報共有支援システム Download PDF

Info

Publication number
JP7490394B2
JP7490394B2 JP2020039017A JP2020039017A JP7490394B2 JP 7490394 B2 JP7490394 B2 JP 7490394B2 JP 2020039017 A JP2020039017 A JP 2020039017A JP 2020039017 A JP2020039017 A JP 2020039017A JP 7490394 B2 JP7490394 B2 JP 7490394B2
Authority
JP
Japan
Prior art keywords
information
integration
request
requests
integrated
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.)
Active
Application number
JP2020039017A
Other languages
English (en)
Other versions
JP2021140577A (ja
JP2021140577A5 (ja
Inventor
淳 中島
洋司 小澤
ヂーフイ ルー
ジエ ウー
ジエン ヤン
ミン チャイ
ジュンシオン リン
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 JP2020039017A priority Critical patent/JP7490394B2/ja
Priority to US17/184,728 priority patent/US20210279660A1/en
Publication of JP2021140577A publication Critical patent/JP2021140577A/ja
Publication of JP2021140577A5 publication Critical patent/JP2021140577A5/ja
Application granted granted Critical
Publication of JP7490394B2 publication Critical patent/JP7490394B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06313Resource planning in a project environment
    • 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • 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/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • 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/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Security & Cryptography (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報共有支援方法、及び情報共有支援システムに関する。
従来、金融機関や政府等の信頼できる中央集権機関を経由して実施されてきた利用者間の取引を、利用者間のP2P(Peer to Peer)による直接的な取引で代替する技術が登場した。これは、すなわち、ブロックチェーン(以下、BCとも称する)を用いた分散台帳技術である。
分散台帳技術の主な特徴としては、(1)分散台帳システムの参加者間の取引において、中央集権機関ではなく(任意ないしは特定の)参加者による合意形成又は承認によって取引を確定させること、(2)複数のトランザクションをブロックにまとめ、これらのブロックを数珠つなぎにブロックチェーンと呼ばれる分散台帳に記録し、連続するブロックにハッシュ計算を施すことにより、改ざんを実質不可能にすること、(3)参加者全員が同一の分散台帳を共有することにより、参加者全員での取引の確認を可能とすること、といったものが挙げられる。
また、当該分散台帳技術の応用例として、スマートコントラクト(以下、SCとも称する)も提案されている。SCは、複雑な取引条件や多様なアプリケーションにも分散台帳技術を適用可能とするものある。これにより、取引データだけでなく取引条件を考慮したロジックが形成される。SCに関する従来技術としては、SCの実行機能を有する分散台帳基盤に関する技術(非特許文献1および非特許文献2参照)が提案されている。
また、分散台帳技術の応用例としては、いわゆるコンソーシアム型の分散台帳基盤も提案されている。この分散台帳基盤は、特定業界のコンソーシアム又はサプライチェーンに関係する複数企業など、特定の複数または一つの団体又は人により許可されたコンピュータのみが取引の承認者となるものである。こうしたコンソーシアム型の分散台帳基盤では、承認者を選ぶ管理主体が存在するため、取引承認のスピードを早められるメリットがある。
こうして進展してきた各種の分散台帳基盤では、各ノードが、相互にトランザクション(以下、TXとも称する)に関する所定水準の合意を形成しつつTXを受け入れ、当該TXを実行し、当該TXの実行結果を保持することにより、複数ノードが当該TXに関する情報(台帳)を共有することとなる。また、各ノードが、TXに対して予め決めたロジックを実行するSC実行機能を備えている場合もある。
このようにBC技術の適用が様々な業種や利用シーンで進む中、ブロックチェーンシステムが商取引に関する性能要件を現実的なレベルで満たす必要が生じており、この性能の向上の実現を目指す技術(非特許文献3参照)が提案されている。非特許文献3の技術においては、複数のリクエストをBCに一括送信し、BCにおける合意形成処理を並列化することで性能向上を実現しようとする旨が開示されている。
"Ethereum White Paper", [online]、[平成31年12月23日検索]、インターネット<URL:https://github.com/ethereum/wiki/wiki/White-Paper> "Hyperledger Fabric", [online]、[平成31年12月23日検索]、インターネット<URL:http://hyperledger-fabric.readthedocs.io/en/latest/> " Accelerating Throughput in Permissioned Blockchain Networks"、[平成31年12月23日検索]、インターネット<URL:https://www.samsungsds.com/us/en/solutions/bns/Blockchain/Blockchain.html>
ところが、商取引が活発化し、大量のストリームデータを扱う場合には、商取引全体にわたる性能(スループット性能)の向上がより重大な課題となる。
この点、非特許文献3の技術によれば、BCにおける合意形成処理の性能向上が期待される。しかし、BCでは、書込みを直列におこなう仕組みにより、各組織のノード同士の状態の一致を担保することが必要であり、この書き込み性能がスループット性能に大きく影響する。しかし、非特許文献3では、BCにおける書込み処理は実行順序を一意に決めた上で直列に行われるので、非特許文献3の技術では、スループット性能の向上にとって重要な書込み処理の性能の向上が期待できない。
本発明はこのような現状に鑑みてなされたものであり、その目的は、情報共有に係る通信のスループット性能(例えば、合意形成処理、書込み処理に関する性能)を向上させることが可能な情報共有支援方法、及び情報共有支援システムを提供することにある。
前記した課題を解決するための本発明の一つは、情報処理装置が、互いに通信可能な複数のノードでトランザクションの履歴をブロックチェーンデータの形式で共有するブロックチェーンシステムである情報処理システムに対する、所定の情報を前記情報処理システムの各ノードに書き込む旨のトランザクションに係る複数の要求を受信するリクエスト受信処理と、統合する要求が満たすべき条件、及び、前記情報処理システムが処理可能な形式にするために不要な情報を規定した所定のルールに従って、前記受信した複数の要求のうち前記条件を満たす複数の要求それぞれの内容たるバリューの全てを一つのバリューに再構成すると共に、再構成したバリューに対して、前記不要な情報を削除することにより、前記条件を満たす複数の要求を、前記情報処理システムの各ノードが処理可能な形式に変換しつつ統合して、前記統合した複数の要求に係る複数の情報を前記情報処理システムの各ノードに書き込む旨のトランザクションに係る新たな要求を作成する統合管理処理と、前記新たな要求を前記情報処理システムに送信することにより、当該情報処理システムの各ノードに、前記統合した複数の要求に係る複数の情報を記憶させ、前記新たな要求のトランザクションを前記ブロックチェーンデータに追加させるリクエスト処理とを実行する、情報共有支援方法、とする。
前記した課題を解決するための本発明の他の一つは、互いに通信可能な複数のノードでトランザクションの履歴をブロックチェーンデータの形式で共有するブロックチェーンシステムである情報処理システムに対する、所定の情報を前記情報処理システムの各ノードに書き込む旨のトランザクションに係る複数の要求を受信するリクエスト受信処理と、統合する要求が満たすべき条件、及び、前記情報処理システムが処理可能な形式にするために不要な情報を規定した所定のルールに従って、前記受信した複数の要求のうち前記条件を満たす複数の要求それぞれの内容たるバリューの全てを一つのバリューに再構成すると共に、再構成したバリューに対して、前記不要な情報を削除することにより、前記条件を満たす複数の要求を、前記情報処理システムの各ノードが処理可能な形式に変換しつつ統合して、前記統合した複数の要求に係る複数の情報を前記情報処理システムの各ノードに書き込む旨のトランザクションに係る新たな要求を作成する統合管理処理と、前記新たな要求を前記情報処理システムに送信することにより、当該情報処理システムの各ノードに、前記統合した複数の要求に係る複数の情報を記憶させ、前記新たな要求のトランザクションを前記ブロックチェーンデータに追加させるリクエスト処理とを実行する演算装置を備える、情報共有支援システム、とする。
本発明によれば、情報共有に係る通信のスループット性能を向上させることができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
第1実施形態に係る情報共有支援システムの構成の一例を説明する図である。 統合条件テーブルの一例を示す図である。 統合ポリシテーブルの一例を示す図である。 統合ルールテーブルの一例を示す図である。 キーマッピングテーブルの一例を示す図である。 クライアントノードが備える機能の一例を説明する図である。 メンバ管理ノードが備える機能の一例を説明する図である。 分散台帳ノードが備える機能の一例を説明する図である。 情報共有支援システムにおける各情報処理装置が備えるハードウェアの一例を説明する図である。 情報共有支援処理の概要を説明するフローチャートである。 統合要否判定処理の一例を説明するフローチャートである。 リクエスト解析処理の一例を説明するフローチャートである。 リクエスト統合処理の一例を説明するフローチャートである。 リクエスト変換処理の一例を説明するフローチャートである。 第2実施形態に係る情報共有支援システムの構成の一例を示す図である。
以下、本発明の実施の形態について図面を参照しつつ説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。各図面において、複数の図を通じて同一の符号は同一の構成要素を示している。
なお、本明細書において、情報処理装置がモジュール又はプログラムを実行することを説明する場合は、モジュール又はプログラムを主語にして当該説明を行う場合がある。
また、本明細書において、「aaaテーブル」又は「aaaデータベース」等の用語によってデータの内容が説明されている場合があるが、これらはデータ構造を限定する趣旨ではない。したがって、このことを示すために「aaa情報」と呼ぶことがある。同様に、「識別情報」、「識別子」、「名称」、「ID」といういずれの用語も、ある対象を特定するための情報の意味であって、それらの意味は同じである。
[第1実施形態]
<システム構成>
図1は、第1実施形態に係る情報共有支援システム1の構成の一例を説明する図である。
情報共有支援システム1は、所定の業務を行う特定のメンバ(事業者、業務の関係者、ベンダ、個人等)によって構成されている組織(業界団体、管理組織、コンソーシアム等)が利用するブロックチェーンシステムである。すなわち、情報共有支援システム1は、いわゆるコンソーシアム型のブロックチェーンシステムである。
具体的には、情報共有支援システム1は、複数のクライアントノード2000と、各クライアントノード2000と通信可能に接続される管理ノード1000と、各クライアントノード2000及び管理ノード1000と通信可能に接続されるブロックチェーンシステム5000とを含んで構成されている。
クライアントノード2000は、各メンバが業務に使用する情報処理装置であり、例えば、各メンバの事業所、データセンタ等に設けられる。クライアントノード2000は、メンバの業務に係るデータ(業務データ)を作成し、作成した業務データに係る、ブロックチェーンシステム5000に対する所定の処理要求(以下、TX、リクエスト、又はト
ランザクションデータともいう)を管理ノード1000に送信する。
なお、本実施形態では、TXは、要求の識別子たるキー(Key)及び、要求の内容たるバリュー(Value、すなわち業務データを含むデータ)を含んで構成される(KVS:Key-Value Store)。
ブロックチェーンシステム5000は、複数の分散台帳ノード4000と、メンバ管理ノード3000とを含んで構成され、これらは互いに通信可能に接続される。ブロックチェーンシステム5000は、例えば、所定の事業所、データセンタ等に設けられる。
このうち分散台帳ノード4000は、情報処理装置である。各分散台帳ノード4000は、クライアントノード2000が送信したTXの履歴をブロックチェーンデータの形式で共有して記憶している。分散台帳ノード4000は、TXにおけるキー及びバリューを特定することで、TXの要求に応じた業務データに関する処理を行う。ブロックチェーンデータは、例えば、TX、ハッシュ、及びナンスを含んで構成されるブロックデータを時系列的に結合することにより、TXの履歴を記録したデータである。
次に、メンバ管理ノード3000は、情報処理装置である。メンバ管理ノード3000は、ブロックチェーンシステム5000に参加して業務データを他のメンバと共有しようとする者(新たなクライアントノード2000)に対して、所定の認証情報(秘密鍵)を発行することにより、その者を新たなメンバとして登録する。
管理ノード1000は、所定の管理業者等によって管理される情報処理装置であり、例えば、管理業者の事業所、データセンタに設けられる。
管理ノード1000は、各クライアントノード2000から送信されてくるTXを受信し、これらのTXを所定のポリシに従って統合又は変換し、統合又は変換した処理要求をブロックチェーンシステム5000に送信する。ブロックチェーンシステム5000の各分散台帳ノード4000は、統合又は変換したTXに基づき、ブロックチェーンデータを作成又は更新する。
このように、本実施形態に係る情報共有支援システム1は、管理ノード1000がクライアントノード2000と分散台帳ノード4000との間に介在してTXに関する処理をフックする(例えば、TXを統合する)ことで、クライアントノード2000が発行するTXに関するスループット性能を向上させることができる。
なお、情報共有支援システム1における各情報処理装置の間は、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、専用線等の有線又は無線の
ネットワーク9000によって通信可能に接続される。
次に、各情報処理装置が備える機能について説明する。
<管理ノードの機能>
まず、管理ノード1000の機能を説明する。
図1に示すように、管理ノード1000は、リクエスト受信モジュール1205と、統合要否判定モジュール1210、リクエスト解析モジュール1220、統合モジュール1230、及びリクエスト変換モジュール1250を有する統合管理モジュール1206と、リクエストモジュール1240とを含む各モジュールにより実現される機能を備える。
また、管理ノード1000は、統合条件テーブル1110、統合ポリシテーブル1120、統合ルールテーブル1130、及びキーマッピングテーブル1140の各テーブルを記憶している。
リクエスト受信モジュール1205は、複数の分散台帳ノード4000で業務データを共有するブロックチェーンシステム5000に対する、当該業務データに関する所定の要求(すなわち、TX、リクエスト、又はトランザクションデータ)を複数受信する。
例えば、リクエスト受信モジュール1205は、所定の情報をブロックチェーンシステム5000の各分散台帳ノード4000に書き込む旨のTX(以下、WriteTXという)を複数受信する。
また、例えば、リクエスト受信モジュール1205は、複数のWriteTXが示す各業務データのうちいずれかの業務データである対象情報の取得の要求(以下、ReadTXという)をクライアントノード2000から受信する。
統合管理モジュール1206は、リクエスト受信モジュール1205が受信した複数のTX(以下、これらのTXを統合前TXともいう。)を、所定のルール(統合条件テーブル1110、統合ポリシテーブル1120、及び統合ルールテーブル1130)に従って、ブロックチェーンシステム5000の各分散台帳ノード4000が処理可能な形式に変換しつつ統合して新たな要求(以下、統合後TXという)を作成する。
例えば、統合管理モジュール1206は、リクエスト受信モジュール1205が受信した複数のTXに基づき、書き込みに関する統合後TXを作成する。
具体的には、まず、統合要否判定モジュール1210は、統合条件テーブル1110に規定されたポリシに基づき、TXの統合の要否を判断する。
そして、例えば、統合要否判定モジュール1210は、ブロックチェーンシステム5000における通信負荷が所定閾値を超えるか否かを判定し、当該通信負荷が当該閾値を超えると判定した場合にのみ、統合後TXを作成する。
ここで、統合条件テーブル1110について説明する。
(統合条件テーブル)
図2は、統合条件テーブル1110の一例を示す図である。統合条件テーブル1110には、TXの統合開始要件としての、通信負荷(I/Oパス)に関する情報が格納される。
統合条件テーブル1110には、TXの送信先(宛先)のノードの種類である要素タイプ1111と、要素タイプ1111に係るノードの評価項目であるメトリックタイプ1112と、メトリックタイプ1112に係る評価項目がどのような状態である場合に要素タイプ1111に係るノードを送信先とするTXの統合を行うかを示す情報であるステータス1113とを含む各要素で構成される、1以上のレコードを有するデータベースである。
図2に示した例では、分散台帳ノード4000のCPU利用率が閾値を超過した場合に、TXの統合が必要と判断する条件と、分散台帳ノード4000のWriteエラー率が閾値を超過した場合にTXの統合が必要と判断する条件とが示されている。
なお、統合条件テーブル1110の要素タイプ1111には、分散台帳ノード4000の情報の他、所定の効果(例えば、TXに対する処理負荷が低減される)が得られる処理を行う他のノードの情報が設定されてもよい。例えば、メンバ管理ノード3000、TXの順序性を保証する所定の処理(Ordering Service)を行うノード(図
示しない)のような、TXに関する処理を行う他のノードが設定されてもよい。また、情報共有支援システム1内の各ノード間で送受信されるTXを転送するIPスイッチ(図示しない)のような、TXに関する処理を間接的に行うノードが設定されてもよい。また、ステータス1113には、評価項目の状態の詳細な内容、例えばエラーコードやエラー内容等が格納されてもよい。
なお、統合条件テーブル1110の内容は、予めユーザが設定し又は後で追加してもよい。また、所定の情報処理装置が各ノードの性能の劣化又は障害の発生を監視しておき、その結果を、統合条件テーブル1110の各レコードに自動的に反映するようにしてもよい。例えば、ステータス1113の値はユーザが手動で設定してもよいし、メトリックタイプ1112に係る評価項目の値がステータス1113に自動的に設定されてもよいし、他のレコードの情報に基づいた値が自動的にステータス1113に設定されてもよい。
また、統合条件テーブル1110には、複数のレコードの内容を統合した条件を設定してもよい。例えば、複数の障害イベントが同時に発生した場合を、AND等の論理式を用いる等して、新たな条件を設定してもよい。
次に、図1に示すようにリクエスト解析モジュール1220は、TXを解析することにより、統合ポリシテーブル1120に規定されたポリシに基づき、統合するリクエストを選定する。
例えば、リクエスト解析モジュール1220は、リクエスト受信モジュール1205が受信した複数のTXの種類を判定し、当該種類が所定の条件を満たす場合にのみ、統合後TXを作成する。
また、リクエスト解析モジュール1220は、統合後TXを作成する際、リクエスト受信モジュール1205が受信した複数のTXのうち、ブロックチェーンシステム5000の各分散台帳ノード4000が処理可能な形式にするために不要な情報を削除することにより、統合後TXを作成する。
また、リクエスト解析モジュール1220は、複数のTXを統合する際、リクエスト受信モジュール1205が受信した複数のTXのうち所定のTX(例えば、最初に受信したTX)を受信した時から所定期間(待ち時間)を経過したと判定した場合に、統合後TXの作成を開始する。
また、リクエスト解析モジュール1220は、前記複数のTXを統合する際、リクエスト受信モジュール1205が受信した複数のTXの数が所定値を超えたか否かを判定し、当該数が当該所定値を超えたと判定した場合に、統合後TXの作成を開始する。
ここで、統合ポリシテーブル1120について説明する。
(統合ポリシテーブル)
図3は、統合ポリシテーブル1120の一例を示す図である。統合ポリシテーブル1120は、統合条件テーブル1110に基づきTXの統合を行うと決定した場合において、TXの種類に応じてどのような条件が満たされた場合に当該TXの統合を開始するかについてのポリシを規定した情報である。
統合ポリシテーブル1120は、第2ポリシを特定する情報であるポリシID1121と、ポリシID1121に係る第2ポリシにおいて、統合を開始する対象たるTXの種類の情報である対象リクエスト種別1122と、ポリシID1121に係るポリシにおいて統合可能なTXの最大数である最大リクエスト数1123と、ポリシID1121に係るポリシにおいて、最大リクエスト数1123に係る数のTXの受信待機可能時間である待ち時間1124とを含む各要素を有する、1以上のレコードで構成される。
ここで、対象リクエスト種別1122には、TXを区別可能な分類の情報を登録する。例えば、直接リクエストの名称を登録してもよいし(例えば、“Request A”)
、全ての種別のリクエストを統合対象とする旨を示す情報を登録してもよい(例えば、“ALL”)。
図3に示した例では、管理ノード1000が受信した全ての種類のTX(「All」)のそれぞれに関して、管理ノード1000が当該種類のTXを「100」回受信した場合、又は、その種類のTXを所定時に受信してから「10秒」経過した場合に(例えば、10秒間、管理ノード1000がその種類のTXの蓄積を行った場合に)、受信した当該種類の各TXの統合を開始する(ポリシID1121が「1」のポリシ)。
また、管理ノード1000が受信した、「一時間に10回未満」しか読み込まれないような業務データの書き込みをブロックチェーンシステム5000に要求するWriteTXに関して、管理ノード1000がその種類のTXを「3000」回受信した場合、又はその種類のTXを所定時に受信してから「50秒」経過した場合に、受信した当該種類の各TXの統合を開始する(ポリシID1121が「2」のポリシ)。
すなわち、このポリシはWriteTXにより所定のデータを書き込んだ後、当該データが読み込まれることが1時間に10回以下しかないようなTXを、「Read数 <
10回/h」として登録している。この場合、管理ノード1000は、これまでに受信したTXの履歴を取得する(例えば、後述する統合一時格納テーブルを利用する)ことにより、読み込み頻度を特定する。
次に、管理ノード1000が受信した「Request A」なる種類のTXに関して
、管理ノード1000がその種類のTXを「500」回受信した場合、又は、その種類のTXを所定時に受信してから「20秒」経過した場合に、受信した当該種類の各TXの統合を開始する(ポリシID1121が「3」のポリシ)。
なお、以上の統合ポリシテーブル1120の内容は、予めユーザが設定し又は後で追加してもよい。また、統合ポリシテーブル1120の内容はここで例示したものに限定されない。例えば、後述の統合ルールテーブル1130の内容を統合ポリシテーブル1120に設定してもよい。
次に、図1に示すように統合モジュール1230は、統合ルールテーブル1130に規定されたルールに従ってTXを統合して統合後TXを作成する。
例えば、統合モジュール1230は、統合後TXを作成する際、リクエスト受信モジュール1205が受信した複数のTXのうち、ブロックチェーンシステム5000が処理可能な形式にするために不要な情報を削除することにより、統合後TXを作成する。
ここで、統合ルールテーブル1130について説明する。
(統合ルールテーブル)
図4は、統合ルールテーブル1130の一例を示す図である。統合ルールテーブル1130は、TXの種別ごとに設定された、TXの統合規則の情報である。
統合ルールテーブル1130は、TXの種別ごとに、1又は複数設けられる(統合ルールテーブル1130A、1130B、1130C)。
統合ルールテーブル1130は、統合対象のTXの種類であるリクエスト種類1131(1131A、1131B、1131C)と、統合するTXが満たすべき条件である統合条件1132(1132A、1132B、1132C)と、統合条件1132に係る条件に基づきTXを統合する際の付加条件(オプション情報)たる統合オプション1133(1133A、1133B、1133C)とを含む各要素を有する、少なくとも1以上のレコードを有して構成される。
図4の例では、統合ルールテーブル1130には、「Request A」なる種類のリクエストに関する統合ルールテーブル113Aと、「Request B」なる種類のリクエストに関する統合ルールテーブル113Bと、「Request C」なる種類のリクエストに関する統合ルールテーブル113Cとがある。
まず、統合ルールテーブル1130Aは、TXの引数属性を利用した論理式により規定された統合条件1131Aと、これに対応する統合オプション1133Aとを備える。具体的には、統合条件1131Aには、「(equal arg2) and (equal arg3) and (equal arg4)」が設定され、これは、TXにおける第2引数の値が等しい、かつ第3引数の値が等しい、かつ第4引数の値が等しい、という条件を規定している。また、統合条件1131Aには、「(not arg1) and (not arg6) and (not arg7)」が設定され、これは、第1引数は統合後のリクエストに不要、かつ第6引数は統合後のリクエストに不要、かつ第7引数は統合後のリクエストに不要、というオプション情報を規定している。
統合ルールテーブル1130Bは、TXの引数属性を利用するのではなく、情報共有支援システム1が保持する任意の他のテーブル(同図では「テーブルA」)を利用した論理式により規定された統合条件1131Bと、これに対応する統合オプション1133Bとを備える。具体的には、統合条件1131Bには、「(in table A.column X) and (in table A.column Y) and (in table A.column Z)」が設定され、これは、テーブルAのエン
トリ毎にカラムX、Y、Zの値を参照し、これらのカラムX、Y、Zの値と同じ文字列が含まれるTX同士を統合対象とする、という条件を規定している。また、統合オプション1133Bには、“None”と設定され、オプション情報は存在しない。
統合ルールテーブル1130Cの統合条件1132Cには、「引数の属性が全て同じリクエストを統合の対象とする」という論理式”equal arg”が設定されている。また、統合オプション1133Cには、「オプション情報が存在しない」という情報“None”が設定されている。すなわち、統合ルールテーブル1130Cは、統合に係る各TXが示す要求の内容自体は同じであるが、TXに付帯する他の要素(例えば、TXによる要求実行のタイミング)が異なる場合などに利用されるテーブルである。例えば、統合ルールテーブル1130Cは、任意の情報が書き込まれた回数さえわかれば良い場合等に利用される。例えば、統合ルールテーブル1130Cのポリシを適用することにより、(引数の属性の異なるTXをそれぞれ処理せずとも、)統合対象のTXの個数を統合後TXに設定しつつTXを統合することができる。
なお、統合ルールテーブル1130の項目及び内容はここで例示したものに限られない。例えば、以上のような各統合ルールテーブル1130における情報参照先のテーブルと
しては、情報共有支援システム1内の任意のテーブルを指定してもよい。例えば、統合条件1132に対して、クライアントノード2000の業務情報管理テーブル2110、分散台帳ノード4000の共有情報テーブル4120等を設定してもよい。
また、統合ルールテーブル1130の統合条件1132および統合オプション1133の項目及び内容は、予めユーザが設定し又は後に追加、修正、削除等してもよい。さらに、統合ルールテーブル1130の数は任意であり、新たな統合ルールテーブル1130を追加もしくは削除し、又は、複数の統合ルールテーブル1130を統合してもよい。
次に、図1に示すように、リクエストモジュール1240は、統合後TXを、分散台帳ノード4000に送信する。
すなわち、リクエストモジュール1240は、統合後TXをブロックチェーンシステム5000に送信することにより、ブロックチェーンシステム5000の各分散台帳ノード4000に、統合前TXに係る要求を処理させる。
例えば、リクエストモジュール1240は、統合管理モジュール1206が作成した統合後TXをブロックチェーンシステム5000に送信することにより、当該ブロックチェーンシステム5000の各分散台帳ノード4000に、複数の統合前TXに係る複数の情報を記憶させる。
また、リクエストモジュール1240は、ブロックチェーンシステム5000から、統合後TXに対するリプライデータを受信する。
リクエスト変換モジュール1250は、統合前TX及び統合後TXの間の対応関係を規定したキーマッピングテーブル1140を作成し、これを記憶する。管理ノード1000は、このキーマッピングテーブル1140を用いることにより、クライアントノード2000とブロックチェーンシステム5000との間で送受信されるTXの整合性を取ることができる。
また、リクエスト変換モジュール1250は、キーマッピングテーブル1140に基づき特定される、リクエスト受信モジュール1205が受信したReadTXに対応する所定の取得要求(統合後TXに対応させた新たなReadTX)に基づき、先に書き込んだ統合後TXのうちいずれかのTX(業務データ)を、ブロックチェーンシステム5000に記憶させた複数のTX(業務データ)から取得し、取得したTX(業務データ)を、クライアントノード2000に送信する。
ここで、キーマッピングテーブル1140について説明する。
(キーマッピングテーブル)
図5は、キーマッピングテーブル1140の一例を示す図である。キーマッピングテーブル1140には、クライアントノード2000が送信したTXの識別子又はキー(以下、統合前識別子、又は統合前キーという)と、当該TXに対応して管理ノード1000が送信する新たなTXの識別子又はキー(以下、統合後識別子、又は統合後キーという)との対応関係を示す情報が格納される。
キーマッピングテーブル1140は、統合前識別子が設定されるオリジナルキー1141と、オリジナルキー1141に係る統合前識別子に対応づけられた統合後識別子が設定されるインテグレートキー1142と、オリジナルキー1141に係る統合前識別子に対応する、インテグレートキー1142に係る統合後識別子における副識別子又は副キー(
以下、統合後副識別子、又は統合後副キーという)である統合インデックス1143とを含む各項目を有する、1以上のレコードで構成されるデータベースである。
図5の例では、統合前識別子が「1」に対応する副識別子は「1」であるため、この統合前識別子に係るTXは、統合後識別子「SupA-DemB-Order111」に係るTXにおける1番目の要素として統合されている。同様に、統合前識別子「2」に対応する副識別子は「3」であるため、この統合前識別子に係るTXは、統合後識別子「SupA-DemB-Order111」に係るTXにおける3番目の要素として統合されている。
なお、キーマッピングテーブル1140は、統合前TX及び統合後TXの対応関係を規定したものであればよく、ここで説明したものと異なる構成であってもよい。
<クライアントノードの機能>
次に、図6は、クライアントノード2000が備える機能の一例を説明する図である。クライアントノード2000は、業務プログラム2210、及びトランザクション発行プログラム2220のそれぞれにより実現される各機能を備える。また、クライアントノード2000は、業務情報管理テーブル2110を記憶している。
業務プログラム2210は、メンバから業務に関する情報の入力を受け付け、入力された情報に基づき業務データを作成する。業務プログラム2210は、この業務データを業務情報管理テーブル2110に蓄積する。また、業務プログラム2210は、入力された業務データに係るTXを作成する。
本実施形態では、TXには少なくとも、業務データをブロックチェーンシステム5000の各分散台帳ノード4000にブロックチェーンデータの形態で書き込む要求であるWriteTXと、ブロックチェーンシステム5000の各分散台帳ノード4000が記憶したブロックチェーンデータのうち対象の業務データを読み込む要求であるReadTXとがあるものとする。
なお、業務プログラム2210は、作成したTXに所定の発行者情報を付与するものとする。この発行者情報には、メンバ管理ノード3000が予め作成した、各メンバの認証情報(ここでは秘密鍵とするが、他の種類の情報に限定されない)が付帯しているものとする。
トランザクション発行プログラム2220は、業務プログラム2210が作成したTXを管理ノード1000に送信する。
<メンバ管理ノードの機能>
次に、図7は、メンバ管理ノード3000が備える機能の一例を説明する図である。メンバ管理ノード3000は、メンバ管理プログラム3210により実現される機能を備える。また、メンバ管理ノード3000は、メンバ管理テーブル3110を記憶している。
メンバ管理プログラム3210は、ブロックチェーンシステム5000(コンソーシアム)に参加する各メンバの認証情報(秘密鍵)を作成する。
また、メンバ管理プログラム3210は、分散台帳ノード4000がクライアントノード2000からTXを受信した際に、このTXに付帯している認証情報(秘密鍵)と、この認証情報に対応する情報(ここでは、公開鍵とする)とに基づき、TXを送信してきたクライアントノード2000の認証処理、このTXに対する署名付与処理、及び、このT
Xに係るスマートコントラクトのメンバへの実行権限等の制御等を行う。
このように、メンバ管理プログラム3210は、TXが正当な権限を有するメンバ(クライアントノード2000)により送信されたものであるか否かを判定する。これにより、正当な権限を有するメンバのみが、TXに関する業務を行うことができる。
次に、メンバ管理テーブル3110は、各メンバの認証情報(秘密鍵)、及びこれに対応する公開鍵等の情報を記憶している。
<分散台帳ノード>
次に、図8は、分散台帳ノード4000が備える機能の一例を説明する図である。分散台帳ノード4000は、トランザクション発行プログラム4220、トランザクション管理プログラム4230、コンセンサス管理プログラム4240、及びスマートコントラクト実行管理プログラム(以下、SC実行管理プログラム4250ともいう)の各プログラムにより実現される機能を備える。また、分散台帳ノード4000は、業務スマートコントラクト4210、ブロックチェーンデータ4110、共有情報テーブル4120、及び構成性能テーブル4130の各情報を記憶している。
トランザクション発行プログラム4220は、TXを発行する(分散台帳ノード4000は、自らTXを発行することができる)。
トランザクション管理プログラム4230は、ネットワーク9000を介して送信されてきたTXを受信する。また、トランザクション管理プログラム4230は、管理ノード1000を介したクライアントノード2000からのTXが示す要求に応じて、ブロックチェーンデータ4110から所定のデータを取得し、取得したデータの内容をクライアントノード2000の所定の画面に表示する。
なお、前述のように、トランザクション管理プログラム4230がTXを受信した際には、メンバ管理ノード3000はメンバ管理プログラム3210を実行し、当該TXの送信主体(クライアントノード2000)が正当な権限を有するメンバであるか否かを確認する。
コンセンサス管理プログラム4240は、他の分散台帳ノード4000との間で、トランザクション管理プログラム4230が受信したTXを受け付けて処理するか否かについての合意形成の処理を行う。
SC実行管理プログラム4250は、予めデプロイされた、後述する業務スマートコントラクト4210を含む各スマートコントラクトを実行する。SC実行管理プログラム4250は、各スマートコントラクトの実行により得られた情報(例えば、TXに係る業務データ)を、ブロックチェーンデータ4110に記憶する。
また、SC実行管理プログラム4250は、TXの現在の状態を示す情報(ステート情報)を共有情報テーブル4120に記憶する。なお、SC実行管理プログラム4250は、各スマートコントラクトのデプロイも実施する。
次に、業務スマートコントラクト4210は、各業務を実行するための処理プログラム(スマートコントラクト)である。業務スマートコントラクト4210は、各メンバの業務に係る業務システム毎のビジネスロジックを実装している。
ブロックチェーンデータ4110及び共有情報テーブル4120は、各種の業務に関する業務スマートコントラクト4210に関する情報である。
ブロックチェーンデータ4110は、トランザクション管理プログラム4230が受信したTXの履歴の情報である。ブロックチェーンデータ4110は、各分散台帳ノード4000間で共有される。
共有情報テーブル4120は、統合条件テーブル1110、統合ポリシテーブル1120、及び統合ルールテーブル1130を記憶している。これらのテーブルは、各分散台帳ノード4000間で共有される。
構成性能テーブル4130は、分散台帳ノード4000等の情報処理装置の構成情報を記憶している。本実施形態では、この構成情報は、各情報処理装置のハードウェアの仕様又はハードウェアの性能の情報であるものとする。すなわち、構成情報は、例えば、情報処理装置のCPU又はメモリの仕様、情報処理装置で実行されているスマートコントラクトの情報、情報処理装置のCPU利用率又は書き込みエラー率等である。
<ハードウェア>
ここで、図9は、情報共有支援システム1における各情報処理装置(管理ノード1000、クライアントノード2000、メンバ管理ノード3000、及び分散台帳ノード4000)が備えるハードウェアの一例を説明する図である。これらの情報処理装置は、CPU等のプロセッサ1400、RAM(Random Access Memory)、ROM(Read Only Memory)等の記憶デバイス100、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等の補助記憶デバイス1100、キーボード又はタッチパネル等の入力デバイス1600、モニタ又はディスプレイ等の出力デバイス1700、他の情報処理装置と通信を行うネットワークインターフェイスカード等の通信デバイス1300とを備え、これらがバスなどの内部通信線1800により接続される。
以上に説明した、情報共有支援システム1における各情報処理装置の各機能は、専用ハードウェアにより、又は、プロセッサ1400が記憶デバイス1500又は補助記憶デバイス1100に記憶されているプログラム(モジュール)を読み出し、また、入力デバイス1600、出力デバイス1700、通信デバイス1300等を用いることにより実現される。また、各プログラム(モジュール)は、各情報処理装置が読み取り可能な記録媒体にあらかじめ記録されていてもよいし、記憶媒体又は所定の通信ネットワークを介して、必要なときに導入されてもよい。また、各プログラムは、ハイパーバイザ型もしくはコンテナ型といった仮想化環境上で実行されてもよい。
<処理>
次に、情報共有支援システム1において行われる処理について説明する。情報共有支援システム1は、管理ノード1000がクライアントノード2000からのTXに対して所定の処理を行うと共にブロックチェーンシステム5000がこのTXに関する情報共有を行う処理(以下、情報共有支援処理という)を実行する。
<情報共有支援処理>
図10は、情報共有支援処理の概要を説明するフローチャートである。情報共有支援処理は、例えば、管理ノード1000及びブロックチェーンシステム5000が起動した後に実行される。
まず、管理ノード1000は、クライアントノード2000からの、TXの受信を待機する(s1)。
具体的には、例えば、クライアントノード2000の業務プログラム2210が、所定の業務に関するTXを作成し、トランザクション発行プログラム2220がそのTXを送信する。管理ノード1000のリクエスト受信モジュール1205は、この送信されたTXの受信を待機する。
リクエスト受信モジュール1205は、クライアントノード2000からTXを受信すると、受信したTXの要求を判定する(s3)。
受信したTXがWriteTXである場合は(s3:WriteTX)、統合要否判定モジュール1210は、受信したWriteTXを含む複数のWriteTXを一つのTX(統合後TX)に統合するか否かを判定することを含む統合要否判定処理s5000の実行を開始する(s5)。その後は、s1の処理が繰り返される。
他方、受信したTXがReadTXである場合は(s3:ReadTX)、リクエスト変換モジュール1250は、受信したReadTXを統合後TXに対応するデータに変換することを含むリクエスト変換処理s8000を実行する。その後は、s1の処理が繰り返される。
以下、統合要否判定処理s5000及びリクエスト変換処理s8000の詳細を説明する。
<統合要否判定処理>
図11は、統合要否判定処理s5000の一例を説明するフローチャートである。統合要否判定モジュール1210は、WriteTXを受信すると(s5001)、受信したWriteTXが示す宛先ノード(構成要素)の性能の情報を取得する(s5002)。
具体的には、例えば、統合要否判定モジュール1210は、予め取得してキャッシュしておいた又は本ステップで取得した構成性能テーブル4130を参照することで、受信したWriteTXが示す宛先の性能の情報を取得する。
なお、構成性能テーブル4130の取得の他の方法としては、例えば、各分散台帳ノード4000のトランザクション発行プログラム4220が構成性能テーブル4130の情報を管理ノード1000に送信する合意を当該分散台帳ノード4000間でした上で、各分散台帳ノード4000が管理ノード1000に対して構成性能テーブル4130を定期的に送信し、管理ノード1000がこの構成性能テーブル4130を取得する、といった方法でもよい。このように、構成性能テーブル4130の取得の方法及びタイミングについては特に限定されない。
統合要否判定モジュール1210は、s5002で取得した性能の情報と、統合条件テーブル1110とを比較することで、ブロックチェーンシステム5000の通信負荷が高いか否か、すなわち、受信したWriteTXを他のWriteTXと統合するか否かを判定する(s5003)。
具体的には、例えば、統合要否判定モジュール1210は、統合条件テーブル1110のうち要素タイプ1111に、受信したWriteTXが示す宛先(ノード)が設定されているレコードの内容を全て取得し、取得したレコードのメトリックタイプ1112及びステータス1113により特定される性能の条件を、受信したWriteTXが示す宛先(ノード)が満たしているか否かを判定する。
例えば、宛先が分散台帳ノード4000である場合、図2の例では、「CPU Usa
ge」(メトリックタイプ1112)が「閾値超過」(ステータス1113)であるとい
う条件を各分散台帳ノード4000が満たしているか否か(例えば、分散台帳ノード4000のCPU使用率が99%を超えているか否か)が判定される。
受信したWriteTXを他のWriteTXと統合すると判定した場合は(s5003:Yes)、統合要否判定モジュール1210は、次述するs5004の処理を実行する。他方、受信したWriteTXを他のWriteTXと統合しないと判定した場合は(s5003:No)、統合要否判定モジュール1210は、WriteTXが示す処理を行うべく、後述するs5005の処理を実行する。
s5004において統合要否判定モジュール1210は、リクエスト解析モジュール1220に、統合後TXを作成すべくWriteTXを解析する要求であるリクエスト解析処理要求を送信する(s5004)。その後は、統合後TXが示す処理を実行すべくs5005の処理が行われる。
s5005において統合要否判定モジュール1210は、WriteTXに関する処理(WriteTXの処理(s5003:Noの場合)、又は、統合後TXの処理(s5003:Yesの場合))の実行要求(すなわち、統合後TX)をリクエストモジュール1240に送信する(s5005)。リクエストモジュール1240は、この統合後TXを、各分散台帳ノード4000に送信する。
その後、各分散台帳ノード4000は、受信した統合後TXをブロックチェーンデータ4110に追加する。なお、各分散台帳ノード4000は、このブロックチェーンデータ4110に関する所定の合意形成処理を行う。以上で、統合要否判定理は終了する(s5006)。
なお、以上の統合要否判定処理では、統合要否判定モジュール1210は、TXの統合の要否を判定するため性能の情報(構成性能テーブル4130)を取得したが、その他の情報を取得してもよい。例えば、統合要否判定モジュール1210は、性能情報そのものを取得するのではなく、各ノードが各タイミングで作成した性能に関する情報(例えば、性能の閾値の判定の結果の情報、性能劣化のエラー情報等)を取得してもよい。
また、性能の劣化が発生していなくても常にTXの統合を行う場合も想定されるため、統合要否判定モジュール1210は、前記のs5003の処理を実行せず、常にs5004以降の処理を実行してもよい。
また、クライアントノード2000が、管理ノード1000を介して分散台帳ノード4000にアクセスするか、又は直接分散台帳ノード4000にアクセスするかを切り替えられるようにしてもよい。具体的には、例えば、クライアントノード2000が、TXに対応づけられたアクセス先の情報(例えば、分散台帳ノード4000のアドレス及びサービス名称の情報、又は、管理ノード1000のアドレス及びサービス名称の情報)を送信し、この情報に対応した主体(管理ノード1000又は分散台帳ノード4000)が当該TXを処理する。
<リクエスト解析処理>
図12は、リクエスト解析処理の一例を説明するフローチャートである。まず、リクエスト解析モジュール1220は、統合要否判定モジュール1210からリクエスト解析処理要求(s5004)を受信すると、s5001で受信したTXの種類を特定する(s6001)。
また、リクエスト解析モジュール1220は、統合ポリシテーブル1120を取得する
(s6002)。
リクエスト解析モジュール1220は、s6002で取得した統合ポリシテーブル1120に基づき、s6001で特定した種類のWriteTXが統合対象のTXであるか否かを判定すると共に、その統合に際して適用するポリシを特定する(s6003)。
具体的には、例えば、リクエスト解析モジュール1220は、統合ポリシテーブル1120の各レコードを参照し、s6001で特定したWriteTXの種類の情報が対象リクエスト種別1122に設定されているレコードを全て取得し、取得したレコードのうち一つを選択する。
例えば、図8において、WriteTXの種類が「Request A」である場合、
2つのレコード、すなわち、対象リクエスト種別1122に「All」(全ての種類のTX)が設定されているポリシID1121が「1」のレコード、及び、対象リクエスト種別1122に「Request A」が設定されているポリシID1121が「3」のレ
コードが特定される。そして、これらの2つのレコードのうち1つのみが選択される。このように、判定対象の種類のTXに対するポリシが複数ある場合は、いずれか一つのポリシに従ってリクエストを集約する。この場合のポリシの選択方法としては、例えば、あらかじめ定められた基準(例えば、最大リクエスト数1123に係る値が大きい方を選択する)によって選択してもよいし、ユーザにポリシを選択させるようにしてもよい。
このようにして、統合に際して適用するポリシを特定できた場合は(s6003:Yes)、リクエスト解析モジュール1220は、統合するTXの種類(以下、統合種類という)の情報を含む、TXの統合を要求するリクエスト統合要求を、リクエスト統合モジュール1230に送信し(s6004)、リクエスト解析処理を終了し統合要否判定処理に戻る(s6005)。他方、統合に際して適用するポリシを特定できなかった場合は(s6003:No)、リクエスト解析モジュール1220は、リクエスト解析処理を終了し統合要否判定処理に戻る(s6005)。
<リクエスト統合処理>
図13は、リクエスト統合処理の一例を説明するフローチャートである。統合モジュール1230は、リクエスト解析モジュール1220からリクエスト統合処理要求を受信すると、統合種類のTXを受信した場合にそのTXを、所定の統合用一時格納テーブル(図示しない)に蓄積する処理を開始する(s7001)。以後、この処理は、統合種類のTXが統合されるまで(s7006)継続される。
なお、統合用一時格納テーブルは、例えば、TXの種類ごとに、受信した各TXと、各TXの受信時刻と、受信したTXの個数(受信回数)とを対応づけたレコードを記憶した情報とする。なお、統合用一時格納テーブルは、TXの種類ごとではなく、その他の単位ごとの情報でもよい。例えば、統合ルールテーブル1130に示されるTXの種類ごとの情報であってもよい。
また、統合用一時格納テーブルは、管理ノード1000以外の場所(例えば、他の情報処理装置、所定の記憶装置、クラウド等)に、所定のタイミング(例えば、後述するTXの統合が実行される前)で、バックアップを作成するようにしてもよい。これにより、何らかの障害で統合用一時格納テーブルの情報を参照できなくなる場合に備えることができる。
さらに、統合モジュール1230は、統合ポリシテーブル1120から、統合種類のTXに関する統合条件の情報を取得する(s7002)。
具体的には、例えば、統合モジュール1230は、統合ポリシテーブル1120を参照し、対象リクエスト種別1122に統合種類のTXの情報が設定されているレコードの最大リクエスト数1123及び待ち時間1124の内容を取得する。
統合モジュール1230は、統合用一時格納テーブルの内容と、s7002で取得した統合条件の情報とを比較することにより、統合種類のTXの統合を開始するか否かを判定する(s7003-S7004)。
まず、統合モジュール1230は、統合種類のTXを統合するために必要な待ち時間が、所定の起算時から経過しているか否かを判定する(s7003)。
具体的には、例えば、統合モジュール1230は、統合用一時格納テーブルのうち、統合種類のTXに係るレコードの内容を全て取得することにより、当該種類のTXを最初に受信した時刻(又は統合用一時格納テーブルに格納した時刻)から現在時刻までの時間長さが、s7002で取得した統合条件たる待ち時間を超えているか否かを判定する。なお、統合モジュール1230は、現在時刻の情報をどのような方法によって取得してもよいが、統合種類のTXを最初に受信した時刻を取得した方法と同様の方法により取得することが好ましい。
必要な待ち時間を経過している場合は(s7003:Yes)、統合モジュール1230は、後述するs7005の処理を実行し、必要な待ち時間を経過していない場合は(s7003:No)、統合モジュール1230は、次述するs7004の処理を実行する。
s7004において統合モジュール1230は、統合種類のTXを、所定の起算時から所定回数(最大リクエスト数)以上、受信したか否かを判定する。
具体的には、例えば、統合モジュール1230は、統合用一時格納テーブルのうち、統合種類のTXに係るレコードの内容を全て取得することにより、統合種類のTXを最初に受信した時刻(又は統合用一時格納テーブルに格納した時刻)以降に当該統合種類のTXを受信した回数が、s7002で取得した統合条件たる最大リクエスト数を超えているか否かを判定する。
統合種類のTXを所定回数以上受信している場合は(s7004:Yes)、統合モジュール1230は、次述するs7005の処理を実行し、統合種類のTXを所定回数以上受信していない場合は(s7004:No)、統合モジュール1230は、s7003以降の処理を繰り返す。
s7005において統合モジュール1230は、統合種類のTXの統合を開始するべく、まず、統合ルールテーブル1130から、統合種類のTXの統合方法の情報を取得する。
具体的には、例えば、統合モジュール1230は、複数の統合ルールテーブル1130のうち、統合種類のTXに係る統合ルールテーブル1130を特定し、特定した統合ルールテーブル1130の統合条件1132及び統合オプション1133の内容を取得する。
統合モジュール1230は、s7005で取得した情報に基づき、統合種類のTXを統合し、新たなTX(すなわち統合後TX)を作成する(s7006)。
具体的には、例えば、統合モジュール1230は、s7005で取得した統合ルールテ
ーブル1130の統合条件1132が示す条件に従って、統合用一時格納テーブルに記録されている統合種類のTXにおけるバリュー(業務データ等)の全てを一つのバリューに再構成すると共に、再構成したバリューに対して、s7005で取得した統合オプション1133が示すルールを適用することにより、統合後TX(統合前のTXと比べてバリュー部分が変更されているTX)を作成する。この際、統合モジュール1230は、統合後TXにおける所定のキー(統合後キー)を統合後TXに設定する。
統合モジュール1230は、s7006で統合する前のTX(統合前TX)と、s7006で作成した統合後TXとを対応付けるべく、キーマッピングテーブル1140を作成又は更新する(s7007)。キーマッピングテーブル1140は、後述する、ReadTXに係るリクエスト変換処理に用いられる。その後は、リクエスト解析処理に戻る。
具体的には、例えば、統合モジュール1230は、統合用一時格納テーブルに記録されている統合種類の各TXの識別子(キー)をオリジナルキー1141に設定し、s7006で作成した統合後TXの識別子(キー)をインテグレートキー1142に設定し、統合用一時格納テーブルに記録されている統合種類の各TXに対応する統合後副キーを統合インデックス1143に設定した新たな1又は複数のレコードを、キーマッピングテーブル1140に作成する、
なお、統合モジュール1230は、統合用一時格納テーブルのうち、s7006までの処理により統合を行ったTXに関するレコードを削除(破棄)する。これにより、記憶領域の浪費を回避できる。
(統合処理の具体例)
ここで、s7006、s7007の処理の具体例について説明する。まず、クライアントノード2000のトランザクション発行プログラム2220が送信したWriteTXが、以下の3つのRequestであったとする:Request A(1、Company A、Company B、Trade111、ID_03a23X81z19nd、1、2)、Request A(2、Company A、Company B、Trade111、ID_AdsfKj034hafk、2、2)、Request A(3、Company A、Company B、Trade112、ID_93jdlfhdijer1、1、2)。
この場合、統合モジュール1230は、s7005において、統合ルールテーブル1130Aにおける、「Request A」に係る統合条件1132Aに基づき、第2引数
、第3引数、及び第4引数が同一のリクエスト(TX)を、統合用一時格納テーブルにおける統合前TXの情報から取得する。そして、統合モジュール1230は、統合ルールテーブル1130Aの統合オプション1133Aに基づき、当該リクエスト(TX)から不要な引数を削除する。これにより、統合後TXとして、「Request A´(Com
panyA-CompanyB-Trade111、(ID_03a23X81z19nd、ID_AdsfKj034hafk))」が作成される。
この後、統合モジュール1230は、キーマッピングテーブル1140に、統合前TXの第一引数(KVS(Key-Value Store)におけるKey相当の情報を想定)と、統合後
TXの第一引数の情報との対応関係の情報を追加する。この際、統合モジュール1230は、統合後TXの第二引数における値の順序に従い、第一引数が「1」である統合前TXに対応させて、キーマッピングテーブル1140の統合インデックス1143に「1」を統合後TXの統合後TXサブキーとして格納し、第一引数が「2」である統合前TXに対応させて、キーマッピングテーブル1140の統合インデックス1143に「2」を統合後TXの統合後TXサブキーとして格納する。
なお、以上のリクエスト統合処理において統合モジュール1230は、TXの統合を開始するタイミングとして、所定の起算時からの待ち時間(s7003)及び所定の起算時からの最大リクエスト数(s7004)を考慮したが、その他の方法によりTXの統合の開始を決定してもよい。
例えば、統合モジュール1230は、最大リクエスト数又は待ち時間のいずれかのみによってTXの統合の開始を決定してもよい。また、統合モジュール1230は、他の統合タイミングを設定してもよい。例えば、統合モジュール1230は、各クライアントノード2000に対応づけて設定された所定のタイムアウト値に基づき、TXの統合の開始のタイミングを決定してもよい。
また、統合モジュール1230は、統合用一時格納テーブルに格納されたTXの個数が、予め定めておいた任意の固定値に達した場合に、s7004以降の処理を実行してもよい。
また、統合モジュール1230は、その他の統合要件に基づき、TXの統合の開始を決定してもよい。例えば、統合モジュール1230は、クライアントノード2000の業務情報管理テーブル2110に格納されている、業務の内容を示すパラメータ値に基づき、TXを統合する単位を決めても良い。例えば、所定の1個の製品のために100個の部品を購入する業務を行うため、各部品の購入に係るTXを扱う場合、統合モジュール1230は、各部品に係る100個のTXの全てを統合用一時格納テーブルに格納したか否かを、製品IDと各部品IDと対応関係を記録した業務情報管理テーブル2110を参照することにより判定し、100個全ての部品に係るTXを統合用一時格納テーブルに格納した場合に、これらのTXの統合を行うようにしてもよい。
<リクエスト変換処理>
図14は、リクエスト変換処理の一例を説明するフローチャートである。まず、管理ノード1000のリクエスト受信モジュール1205がReadTXを受信すると(s8001)、リクエスト変換モジュール1250は、キーマッピングテーブル1140を取得する(s8002)。
リクエスト変換モジュール1250は、s8001で受信したReadTXが、リクエスト統合処理により統合されたTX(統合後TX)であるかどうかを判定する(s8003)。
ReadTXが、リクエスト統合処理により統合された統合後TXである場合は(s8003:Yes)、次述するs8004の処理を実行し、ReadTXが、リクエスト統合処理により統合された統合後TXでない場合は(s8003:No)、後述するs8009の処理を実行する。
s8004においてリクエスト変換モジュール1250は、s8002で取得したキーマッピングテーブル1140に基づき、s8001で受信したReadTXに係るキー(統合前キー)を、対応する統合後キーに変換する。
具体的には、例えば、リクエスト変換モジュール1250は、キーマッピングテーブル1140から、ReadTXに係る統合前キーがオリジナルキー1141に設定されているレコードを特定し、特定したレコードのインテグレートキー1142を取得する。
リクエスト変換モジュール1250は、s8004で取得した統合後キーと、s8001で受信したReadTXが示す読み込み対象の業務データとを対応づけて記憶した新た
なReadTX(業務データの読み込み要求)を作成し、新たなReadTXを、リクエストモジュール1240に送信する(s8005)。リクエストモジュール1240は、受信したReadTXに基づき、ブロックチェーンシステム5000の分散台帳ノード4000から、レスポンスデータたる、読み込み対象の業務データを含むレスポンスデータを受信する。
その後、リクエスト変換モジュール1250は、リクエストモジュール1240から、レスポンスデータを受信する(s8006)。
リクエスト変換モジュール1250は、受信したレスポンスデータのうち、s8001で受信したReadTXが示す読み込み対象のTX(業務データ)を抽出する(s8007)。これは、s8006で受信したレスポンスデータは、キーマッピングテーブル1140のインテグレートキー1142(統合後キー)が示す複数のキーに係る業務データを含んでいるため、それらの業務データの中から、このインテグレートキー1142に対応するオリジナルキー1141(統合前キー)が示す業務データのみを取得する必要があるためである。
リクエスト変換モジュール1250は、s8007で取得した業務データと、s8001で受信したReadTXに係るキー(統合前キー)とを対応づけたデータ(クライアントノード2000が送信してきたReadTXに対するリプライデータ)を作成し、作成したリプライデータを、ReadTXを送信してきたクライアントノード2000に送信する(s8008)。以上でリクエスト変換処理は終了する。
他方、s8009、s8010においてリクエスト変換モジュール1250は、特に処理を加えずにリプライデータをクライアントノード2000に送信する。
すなわち、リクエスト変換モジュール1250は、s8001で受信したReadTXをリクエストモジュール1240に送信する(s8009)。リクエストモジュール1240は、受信したReadTXに基づき、ブロックチェーンシステム5000の分散台帳ノード4000から、レスポンスデータを受信する。リクエスト変換モジュール1250は、リクエストモジュール1240からレスポンスデータを受信する。
リクエスト変換モジュール1250は、受信したレスポンスデータと、s8001で受信したReadTXに係るキー(統合前キー)とを対応づけたリプライデータを、ReadTXを送信してきたクライアントノード2000に送信する(s8010)。以上でリクエスト変換処理は終了する。
以上のようなリクエスト変換処理によれば、クライアントノード2000は、自身に追加的な実装をすることなく、通常のReadTXのみで、先に統合して書き込まれたTXに係る業務データを読み込むことができる。
なお、本実施形態のリクエスト変換処理では、s8005の要求処理とs8006の実行結果受信処理とが同期的に実行されることとしているが、これらの処理は非同期的であってもよい。例えば、s8005の実行後、非同期的にs8006の実行を開始してもよい。
以上のように、本実施形態の情報共有支援方法においては、管理ノード1000が、ブロックチェーンシステム5000に対して送信されたTX(WriteTX等)を複数受信し、受信した複数のTXを所定のルール(統合条件テーブル1110、統合ポリシテーブル1120、及び統合ルールテーブル1130)に従って、ブロックチェーンシステム
5000が対応可能な形式にしつつ統合して新たなTXを作成し、このTXをブロックチェーンシステム5000に送信する。
これにより、ブロックチェーンシステム5000に対するトランザクションに係るリクエスト数自体を削減できる。そして、これにより、ブロックチェーンシステム5000における情報共有に係る通信のスループット性能の向上(合意形成処理、及び書込み処理を含む性能向上)を実現することができる。
また、管理ノード1000によれば、例えば、管理ノード1000は、情報共有支援システム1における負荷の状況等のルール又はポリシに基づいて複数のリクエストを統合し、ブロックチェーンにリクエストに係るデータを書込むことができるので、ブロックチェーンシステム5000の性能向上を実現することができる。
具体的に説明すると、ブロックチェーンシステムにおいては、非特許文献2等に記載がある通り、各TXを処理する際、TXに係る合意形成、TXのリクエスト順序の制御、及びTXに係るデータの書き込み等の各種処理が必要である。さらに、各処理において、クライアントノード2000、Orderingノード(本実施形態では図示しない)、及び複数の分散台帳ノード4000等の多くの管理計算機の間でTXが送受信されるという特徴がある。
したがって、TXに係るリクエスト数を削減することが可能な本実施形態の情報共有支援方法によれば、ブロックチェーンシステムは、従来よりも特に高い性能を発揮することができるようになる。
特に、本実施形態で例示したコンソーシアム型のブロックチェーンシステムでは、リクエスト数の削減によりTXのサイズが大きくなることのデメリットに比べて、リクエスト数を削減することによる性能向上のメリットの効果が非常に大きい。これにより、大量のストリームデータを扱うブロックチェーンシステムを利用する場合であっても、当該データをブロックチェーンデータに効率良く格納することが可能となり、これまでブロックチェーンデータを扱い難かった業務システムに対しても、ブロックチェーンシステムを適用することが可能となる。
近年では、モノの活動に伴うIoTデータやモバイルデータ、人の活動に伴うライフデータ等、社会において取り扱われるデータ量が増大している。これに伴い、大量のストリームデータを複数の組織間で共有しつつセキュアに保存する要請が高まることが想定される。そのような状況の中で、大量のストリームデータをブロックチェーンデータに効率よく格納できる本実施形態の情報共有支援方法は、そのような要請を満たすことが可能である。
[第2実施形態]
第1実施形態では、管理ノード1000が1台であることを想定したが、管理ノード1000は複数台存在していてもよい。このような場合としては、例えば、複数の管理組織(業界団体)が存在する場合がある。
図15は、第2実施形態に係る情報共有支援システム1の構成の一例を示す図である。本実施形態の情報共有支援システム1は、ネットワーク9000により互いに通信可能に接続された複数の管理ノード1000を含んで構成されている。その他の各ノードの構成及び機能は、第1実施形態と同様である(なお、第1実施形態と同様であるため記載は省略している)。
この場合、複数の管理ノード1000のそれぞれが、TXの統合に関するルールの情報(統合条件テーブル1110、統合ポリシテーブル1120、又は統合ルールテーブル1130)を共有し、ブロックチェーンデータの形式でそれぞれ記憶する。これにより、複数の管理組織の間で統一したポリシに基づいて、TXを共有できる。また、管理組織間でトランザクションの処理を整合的に行うことができる。
なお、管理ノード1000ではなく、各分散台帳ノード4000が、TXの統合に関するルールの情報を共有し、ブロックチェーンデータの形式でそれぞれ記憶してもよい。この場合、各分散台帳ノード4000は、各ルールの情報の作成、更新、又は削除等の変更があった場合、分散台帳ノード4000間でこれらの変更に係る合意形成を行った上で、各ルールを共有することになる。
これにより、管理組織間でトランザクションの処理を整合的に行うことができる。例えば、クライアントノード2000が複数の管理ノード1000に各TXを書き込む場合に、各TXの統合の有無及びその統合の内容の統一性をとることができる。また、各管理組織に対応するクライアントノード2000が複数存在する場合にも、各管理組織の間でTXの整合的な統合処理を行うことができる。また、管理ノード1000の管理者との関係でも、管理者は、複数の管理ノード1000のうち一つの管理ノード1000で情報を設定するだけで、他の管理ノード1000を含めた全ての管理ノード1000において、整合的なTXの統合処理を行うことができる。
また、各管理ノード1000は、キーマッピングテーブル1140を共有し、ブロックチェーンデータの形式でそれぞれ記憶する。これにより、複数の管理組織の間で統一したルールに従って、統合変換したTXの書き込み及びこれにより書き込まれた各業務データ(TX)の読み込みを正しく行うことができる。
なお、分散台帳ノード4000がキーマッピングテーブル1140を共有して記憶するとしてもよい。この場合、キーマッピングテーブル1140に、どの管理ノード1000からのTXに基づき統合後TXを作成したかを特定する情報を設定する項目を追加してもよい。
これにより、各クライアントノード2000は、どの管理ノード1000を経由してTXをブロックチェーンシステム5000に書き込んだ場合であっても、書き込んだTXに対応する適切な業務データをブロックチェーンシステム5000から読み込むことができる。
以上、本発明を実施するための形態について具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
例えば、各実施形態では、情報共有支援システム1は、コンソーシアム型のブロックチェーンシステムであるものとしたが、特定のメンバから構成される他の形態のブロックチェーンシステムであってもよい。
また、管理ノード1000が記憶しているテーブル、及びモジュールの少なくともいずれかは、分散台帳ノード4000やクライアントノード2000が記憶していてもよい。
また、本実施形態では、統合するTXの種類は同一である場合を前提としたが、異なる種類のTXを統合するようにしてもよい。例えば、一連で行われる複数の異なる処理を統合するようにしてもよい。
また、TXの統合は複数の種類についてそれぞれ並列的に行っても良いし、同時期には一つの種類のTXについてのみ統合を行うようにしてもよい。
以上の本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、各実施形態の情報共有支援システム1においては、前記情報処理装置(管理ノード1000)が、前記統合管理処理において、前記情報処理システムにおける通信負荷が所定閾値を超えるか否かを判定し、当該通信負荷が当該閾値を超えると判定した場合にのみ、前記新たな要求を作成する、としてもよい。
これにより、ブロックチェーンシステム5000に負荷がかかっていてTXの統合処理等によるスループット性能の有意な向上が期待できない場合には、当該処理を行わないので、スループット性能を安定させることができる。
また、各実施形態の情報共有支援システム1においては、前記情報処理装置が、前記統合管理処理において、前記受信した複数の要求の種類を判定し、当該種類が所定の条件を満たす場合にのみ、前記新たな要求を作成する、としてもよい。
これにより、例えば、統合によるスループット性能の有意な向上が期待できる種類のTXに対してのみ、当該統合処理を行うことにより、スループット性能を向上させることができる。
また、各実施形態の情報共有支援システム1においては、前記情報処理装置が、前記統合管理処理において、前記新たな要求を作成する際、前記受信した複数の要求のうち、前記情報処理システムの各ノードが処理可能な形式にするために不要な情報を削除することにより、前記新たな要求を作成する、としてもよい。
このように、TXを統合する際、統合前のTXから不要な情報を削除することで、システムに対する負荷を軽減し、スループット性能を向上させることができる。
また、各実施形態の情報共有支援システム1においては、前記情報処理装置が、前記統合管理処理において、前記複数の要求を統合する際、前記受信した複数の要求のうち所定の要求を受信した時から所定期間を経過したと判定した場合に、前記新たな要求の作成を開始する、としてもよい。
このように、所定のTX(例えば、最初のTX)を受信した時から所定期間を経過してからTXを統合することで、統合するTXの数を適切に減らすことができる。これにより、スループット性能を安定させることができる。
また、各実施形態の情報共有支援システム1においては、前記統合管理処理において、前記複数の要求を統合する際、前記受信した複数の要求の数が所定値を超えたか否かを判定し、当該数が当該所定値を超えたと判定した場合に、前記新たな要求の作成を開始する、としてもよい。
このように、受信したTXの数が多くなった場合にTXの統合を開始することで、統合するTXに係るリクエストの数が過大となることを防ぐことができる。これにより、スループット性能を安定させることができる。
また、各実施形態の情報共有支援システム1においては、前記情報処理装置が、前記リクエスト受信処理において、所定の情報を前記情報処理システムの各ノードに書き込む旨の要求を複数受信し、前記統合管理処理において、前記受信した複数の要求に基づき、書
き込みに関する前記新たな要求を作成し、前記リクエスト処理において、前記作成した新たな要求を前記情報処理システムに送信することにより、当該情報処理システムの各ノードに、前記複数の要求に係る複数の情報を記憶させる、としてもよい。
このように、管理ノード1000が、受信した複数のWriteTXに基づき統合後TXを作成し、これをブロックチェーンシステム5000に送信することで、トランザクションの書き込みに係るスループット性能を向上させることができる。
また、各実施形態の情報共有支援システム1においては、記情報処理装置が、
前記所定のルールとして、前記受信した複数の書き込む旨の要求のそれぞれと、前記新たな要求との対応づけの情報を記憶し、前記リクエスト受信処理において、前記複数の書き込む旨の要求が示す各情報のうちいずれかの情報の取得の要求を所定の装置から受信し、前記記憶した対応付けの情報に基づき特定される、前記受信した取得の要求に対応する前記新たな要求に対応づけられた、所定の取得要求に基づき、前記いずれかの情報を、前記情報処理システムに記憶されている複数の情報から取得し、取得した対象情報を含む情報を、前記所定の装置に送信するリクエスト変換処理を実行する、としてもよい。
このように、管理ノード1000は、統合後TX(WriteTX)によるデータの書き込みを行った後、そのデータのうち一部のデータに対するReadTXを受信した場合は、キーマッピングテーブル1140により統合後TXに対応した取得要求(新たなReadTX)を作成し、この取得要求によってブロックチェーンシステム5000から上記一部データを取得し、これをクライアントノード2000に送信する。これにより、複数のTXを統合した統合後TXをブロックチェーンシステム5000に書き込んだ場合であっても、そのブロックチェーンシステム5000から統合前のTXに係る業務データを正しく選択して読み込むことができる。
また、各実施形態の情報共有支援システム1においては、複数の前記情報処理装置のそれぞれが、前記所定のルールを共有して記憶するポリシ共有処理を実行する、としてもよい。
これにより、複数の業界団体等があり管理ノード1000が複数存在する場合であっても、各管理ノード1000において、共通のルール(統合条件テーブル1110、統合ポリシテーブル1120、及び統合ルールテーブル1130)によってTXの統合を整合的に行うことができる。
また、各実施形態の情報共有支援システム1においては、複数の前記情報処理装置のそれぞれが、前記所定のルールとして、前記受信した複数の要求のそれぞれと、前記複数の要求の統合後の要求との対応づけの情報を記憶し、前記情報処理装置のそれぞれが、前記統合管理処理において、前記受信した複数の要求を前記記憶した情報に従って対応づけた、前記新たな要求を作成する、としてもよい。
このように、複数の管理ノード1000が、対応づけ情報たるキーマッピングテーブル1140を共有し、各管理ノード1000が統合後TXを作成することで、複数の管理団体等があるため管理ノード1000が複数存在する場合であっても、各管理ノード1000において、TXの統合を整合的に行うことができ、各管理団体間で業務データを正しく共有することができる。
1 情報共有支援システム、1000 管理ノード、2000 クライアントノード、3000 メンバ管理ノード、4000 分散台帳ノード、5000 ブロックチェーンシ
ステム

Claims (9)

  1. 情報処理装置が、
    互いに通信可能な複数のノードでトランザクションの履歴をブロックチェーンデータの形式で共有するブロックチェーンシステムである情報処理システムに対する、所定の情報を前記情報処理システムの各ノードに書き込む旨のトランザクションに係る複数の要求を受信するリクエスト受信処理と、
    統合する要求が満たすべき条件、及び、前記情報処理システムが処理可能な形式にするために不要な情報を規定した所定のルールに従って、前記受信した複数の要求のうち前記条件を満たす複数の要求それぞれの内容たるバリューの全てを一つのバリューに再構成すると共に、再構成したバリューに対して、前記不要な情報を削除することにより、前記条件を満たす複数の要求を、前記情報処理システムの各ノードが処理可能な形式に変換しつつ統合して、前記統合した複数の要求に係る複数の情報を前記情報処理システムの各ノードに書き込む旨のトランザクションに係る新たな要求を作成する統合管理処理と、
    前記新たな要求を前記情報処理システムに送信することにより、当該情報処理システムの各ノードに、前記統合した複数の要求に係る複数の情報を記憶させ、前記新たな要求のトランザクションを前記ブロックチェーンデータに追加させるリクエスト処理とを実行する、
    情報共有支援方法。
  2. 前記情報処理装置が、前記統合管理処理において、
    前記情報処理システムにおける通信負荷が所定閾値を超えるか否かを判定し、当該通信負荷が当該閾値を超えると判定した場合にのみ、前記新たな要求を作成する、
    請求項1に記載の情報共有支援方法。
  3. 前記情報処理装置が、前記統合管理処理において、
    前記受信した複数の要求の種類を判定し、当該種類が所定の条件を満たす場合にのみ、前記新たな要求を作成する、
    請求項1に記載の情報共有支援方法。
  4. 前記情報処理装置が、前記統合管理処理において、
    前記複数の要求を統合する際、前記受信した複数の要求のうち所定の要求を受信した時から所定期間を経過したと判定した場合に、前記新たな要求の作成を開始する、
    請求項1に記載の情報共有支援方法。
  5. 前記情報処理装置が、前記統合管理処理において、
    前記複数の要求を統合する際、前記受信した複数の要求の数が所定値を超えたか否かを判定し、当該数が当該所定値を超えたと判定した場合に、前記新たな要求の作成を開始する、
    請求項に記載の情報共有支援方法。
  6. 前記情報処理装置が、
    前記統合した複数の要求のそれぞれと、前記新たな要求との対応づけの情報を記憶し、
    前記リクエスト受信処理において、前記統合した複数の要求に係る各情報のうちいずれかの情報の取得の要求を所定の装置から受信し、
    前記記憶した対応付けの情報に基づき特定される、前記受信した取得の要求に対応する前記新たな要求に対応づけられた、所定の取得要求に基づき、前記いずれかの情報を、前記情報処理システムに記憶させた複数の情報から取得し、取得した対象情報を含む情報を、前記所定の装置に送信するリクエスト変換処理を実行する、
    請求項に記載の情報共有支援方法。
  7. 複数の前記情報処理装置のそれぞれが、
    前記所定のルールを共有して記憶するポリシ共有処理を実行する、
    請求項1に記載の情報共有支援方法。
  8. 複数の前記情報処理装置のそれぞれが、前記統合した複数の要求のそれぞれと、前記複数の要求の統合後の要求との対応づけの情報を記憶し、
    前記情報処理装置のそれぞれが、前記統合管理処理において、前記統合した複数の要求を前記記憶した情報に従って対応づけた、前記新たな要求を作成する、
    請求項1に記載の情報共有支援方法。
  9. 互いに通信可能な複数のノードでトランザクションの履歴をブロックチェーンデータの形式で共有するブロックチェーンシステムである情報処理システムに対する、所定の情報を前記情報処理システムの各ノードに書き込む旨のトランザクションに係る複数の要求を受信するリクエスト受信処理と、
    統合する要求が満たすべき条件、及び、前記情報処理システムが処理可能な形式にするために不要な情報を規定した所定のルールに従って、前記受信した複数の要求のうち前記条件を満たす複数の要求それぞれの内容たるバリューの全てを一つのバリューに再構成すると共に、再構成したバリューに対して、前記不要な情報を削除することにより、前記条件を満たす複数の要求を、前記情報処理システムの各ノードが処理可能な形式に変換しつつ統合して、前記統合した複数の要求に係る複数の情報を前記情報処理システムの各ノードに書き込む旨のトランザクションに係る新たな要求を作成する統合管理処理と、
    前記新たな要求を前記情報処理システムに送信することにより、当該情報処理システムの各ノードに、前記統合した複数の要求に係る複数の情報を記憶させ、前記新たな要求のトランザクションを前記ブロックチェーンデータに追加させるリクエスト処理とを実行する演算装置を備える、
    情報共有支援システム。
JP2020039017A 2020-03-06 2020-03-06 情報共有支援方法、及び情報共有支援システム Active JP7490394B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020039017A JP7490394B2 (ja) 2020-03-06 2020-03-06 情報共有支援方法、及び情報共有支援システム
US17/184,728 US20210279660A1 (en) 2020-03-06 2021-02-25 Information sharing assistance method and information sharing assistance system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020039017A JP7490394B2 (ja) 2020-03-06 2020-03-06 情報共有支援方法、及び情報共有支援システム

Publications (3)

Publication Number Publication Date
JP2021140577A JP2021140577A (ja) 2021-09-16
JP2021140577A5 JP2021140577A5 (ja) 2022-07-11
JP7490394B2 true JP7490394B2 (ja) 2024-05-27

Family

ID=77555053

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020039017A Active JP7490394B2 (ja) 2020-03-06 2020-03-06 情報共有支援方法、及び情報共有支援システム

Country Status (2)

Country Link
US (1) US20210279660A1 (ja)
JP (1) JP7490394B2 (ja)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001154811A (ja) 1999-11-30 2001-06-08 Toshiba Corp 計算機システム
JP2003296038A (ja) 2002-03-21 2003-10-17 Network Appliance Inc Raidシステムにおいてストライプの連続アレイに書き込む方法
US20040040013A1 (en) 2002-08-26 2004-02-26 Mohit Kalra Time-based breakpoints in debuggers
JP2008015716A (ja) 2006-07-05 2008-01-24 Nec Corp 要求集約通信装置、その通信方法、通信システムおよび制御プログラムならびに携帯情報端末
JP2014112937A (ja) 2014-02-19 2014-06-19 Ricoh Co Ltd 装置、情報処理システム、情報処理方法、及び情報処理プログラム
JP2017021618A (ja) 2015-07-13 2017-01-26 富士通株式会社 情報処理装置、並列計算機システム、ファイルサーバ通信プログラム及びファイルサーバ通信方法
JP2019504369A (ja) 2016-11-25 2019-02-14 華為技術有限公司Huawei Technologies Co.,Ltd. データチェック方法および記憶システム
WO2019218814A1 (zh) 2018-05-16 2019-11-21 腾讯科技(深圳)有限公司 图数据处理方法、图数据的计算任务发布方法、装置、存储介质及计算机设备
US20200344132A1 (en) 2019-04-26 2020-10-29 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a metadata driven rules engine on blockchain using distributed ledger technology (dlt)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201912068D0 (en) * 2019-08-22 2019-10-09 Nchain Holdings Ltd Computer-implemented system and method

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001154811A (ja) 1999-11-30 2001-06-08 Toshiba Corp 計算機システム
JP2003296038A (ja) 2002-03-21 2003-10-17 Network Appliance Inc Raidシステムにおいてストライプの連続アレイに書き込む方法
US20040040013A1 (en) 2002-08-26 2004-02-26 Mohit Kalra Time-based breakpoints in debuggers
JP2008015716A (ja) 2006-07-05 2008-01-24 Nec Corp 要求集約通信装置、その通信方法、通信システムおよび制御プログラムならびに携帯情報端末
JP2014112937A (ja) 2014-02-19 2014-06-19 Ricoh Co Ltd 装置、情報処理システム、情報処理方法、及び情報処理プログラム
JP2017021618A (ja) 2015-07-13 2017-01-26 富士通株式会社 情報処理装置、並列計算機システム、ファイルサーバ通信プログラム及びファイルサーバ通信方法
JP2019504369A (ja) 2016-11-25 2019-02-14 華為技術有限公司Huawei Technologies Co.,Ltd. データチェック方法および記憶システム
WO2019218814A1 (zh) 2018-05-16 2019-11-21 腾讯科技(深圳)有限公司 图数据处理方法、图数据的计算任务发布方法、装置、存储介质及计算机设备
JP2021523474A (ja) 2018-05-16 2021-09-02 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 グラフデータ処理方法、グラフデータの計算タスクの配布方法、装置、コンピュータプログラム、及びコンピュータ機器
US20200344132A1 (en) 2019-04-26 2020-10-29 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a metadata driven rules engine on blockchain using distributed ledger technology (dlt)

Also Published As

Publication number Publication date
JP2021140577A (ja) 2021-09-16
US20210279660A1 (en) 2021-09-09

Similar Documents

Publication Publication Date Title
US11373173B2 (en) Distributed ledger system, distributed ledger subsystem, and distributed ledger node
EP3605946B1 (en) Distributed ledger-based enterprise resource planning system
KR20210050525A (ko) 분할 가능한 증권형 토큰
US11461679B2 (en) Message management using machine learning techniques
CN103038788A (zh) 提供多个网络资源
US20160086131A1 (en) Storage system
US8660996B2 (en) Monitoring files in cloud-based networks
US10834220B2 (en) Apparatus for providing cloud brokerage service based on multiple clouds and method thereof
US11734350B2 (en) Statistics-aware sub-graph query engine
US11120155B2 (en) Extensibility tools for defining custom restriction rules in access control
US10200455B2 (en) Information processing system and method
CN107911443A (zh) 一种会话信息处理方法、装置、服务器和可读存储介质
JP7460348B2 (ja) ブロックチェーンの拡張を可能にするトランザクション処理システムおよび方法
JP7490394B2 (ja) 情報共有支援方法、及び情報共有支援システム
US11704726B1 (en) Systems and methods for bartering services and goods using distributed ledger techniques
US20170345073A1 (en) Electronic notifications to facilitate collateralized agreements
US20220391746A1 (en) Api optimizer using contextual analysis of interface data exchange
KR102446213B1 (ko) 블록체인 변환 방법 및 장치
JP7327781B2 (ja) マッチング支援装置、マッチング支援方法、コンピュータプログラム及び記録媒体
CN107526530A (zh) 数据处理方法和设备
US11222026B1 (en) Platform for staging transactions
US20220327597A1 (en) Systems and methods for quoting and recommending connectivity services
WO2023176014A1 (ja) コンソーシアム運営装置及びコンソーシアム運営方法
US20220382775A1 (en) Employee compensation manager
JP6880981B2 (ja) 更新制御プログラム、更新制御方法及び更新制御装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220701

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220701

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231002

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240119

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: 20240423

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240515

R150 Certificate of patent or registration of utility model

Ref document number: 7490394

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150