JP6980769B2 - データ処理用の分散型台帳を使用するための方法、装置及びコンピュータプログラム - Google Patents

データ処理用の分散型台帳を使用するための方法、装置及びコンピュータプログラム Download PDF

Info

Publication number
JP6980769B2
JP6980769B2 JP2019515237A JP2019515237A JP6980769B2 JP 6980769 B2 JP6980769 B2 JP 6980769B2 JP 2019515237 A JP2019515237 A JP 2019515237A JP 2019515237 A JP2019515237 A JP 2019515237A JP 6980769 B2 JP6980769 B2 JP 6980769B2
Authority
JP
Japan
Prior art keywords
transaction
rules
ledger
data
client
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
JP2019515237A
Other languages
English (en)
Other versions
JP2019532419A (ja
Inventor
ペル, ダブリュー. ブラシャーズ,
Original Assignee
アール−ストール インコーポレイテッド
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 アール−ストール インコーポレイテッド filed Critical アール−ストール インコーポレイテッド
Publication of JP2019532419A publication Critical patent/JP2019532419A/ja
Application granted granted Critical
Publication of JP6980769B2 publication Critical patent/JP6980769B2/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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • G06F21/1078Logging; Metering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Accounting & Taxation (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

関連出願への相互参照
[1001]本出願は、2016年9月21日に出願された米国特許仮出願第62/397,911号に対する優先権を請求する。上記の仮出願の内容全体は、参照によって本明細書に組み込まれる。
背景
[技術分野]
[1002]本明細書に記載された特定の実施形態は、データ処理用の分散型台帳を使用するためのシステム及び方法に関連してもよい。より詳細には、本明細書に記載された特定の実施形態は、データトランザクションに関連付けられたメタデータの監査可能な可視の記録を可能にするためのブロックチェーンの使用に関連してもよい。
関連技術の説明
[1003]クラウドコンピューティングの進歩は、大量のデータを効率的に格納し、処理し、取り扱うことにおいて、飛躍的な改善につながった。クラウドコンピューティングの基本的思想の1つは、物理的境界又は地理的境界を考慮せずに、データを格納すること、及び/又は処理することができることである。したがって、企業は、専用サーバのセットをオンプレミスに所有する代わりに、世界中のデータセンターを含む「クラウド」にアクセスすることができる。クラウドコンピューティングの恩恵には、データストレージコストの減少、複数の地域のアクセス、及び生産性の向上などがある。
[1004]しかし、現在のクラウドインフラストラクチャの1つの欠点は、格納されたデータがデータセキュリティにおいて侵害を受ける可能性があることである。例えば、ハッカー(又は、不正なユーザ)がクラウド内の機密データ(例えば、クレジットカード番号、財務データなど)にアクセスした多くの事例があった。その他のセキュリティリスクには、許可されたユーザによるデータの不適切な使用(例えば、退職する前に競争力のあるデータをダウンロードする従業員)、クラウドストレージに侵入するマルウェア攻撃などがある。
[1005]現在のクラウドインフラストラクチャのもう1つの欠点は、特定の政府のデータ主権規制が特定の地域内で格納されたデータを損なう可能性があることである。このリスクを軽減するために、一部の国は、その国にあるサービスに関する特定のデータ(例えば、市民の個人データ)を維持することを要求する規制を課している。
[1006]セキュリティ又は妥当性確認の追加層を追加することによって、データセキュリティを改善できるが、そのような追加の測定はクラウドの効率を低下させる。同様に、場合によっては、クラウドサーバを特定の国でのみ維持することによって、データ主権の問題に対処できるが、これを行うには、新しい規制などに対する継続的な再検討が必要になる。更に、データを従来のクラウドインフラストラクチャに格納することは、監査が不可能になるため、ほとんどの企業及び政府にとって許容できない。例えば、Amazonは、この欠陥に対処するために、米国政府向けに「プライベートクラウド」を構築した。
[1007]したがって、データをクラウド内で処理して格納するための改善されたシステム及び方法に対する必要性が存在する。
概要
[1008]第1の実施形態によれば、統合クラウドコンピューティングネットワーク内で分散型台帳を使用してデータを処理するための方法が、ネットワークノードで、統合クラウドコンピューティングネットワークのクライアントに関連付けられたトランザクションの分散型台帳のセットを作成することを含んでもよい。この方法は、一連の事前に定義されたルールに従って、トランザクションに対応するデータを格納して処理することを含んでもよい。この方法は、トランザクションが一連の事前に定義されたルールに準拠しているかどうかを確認するためにトランザクションの妥当性を確認することを更に含んでもよい。加えて、この方法は、有効なトランザクションごとに分散型台帳のセットのうちの台帳にエントリを追加することと、無効なトランザクションごとに分散型台帳のセットのうちの台帳に側枝(side branch、サイドブランチ)を追加することとを含んでもよい。更に、この方法は、分散型台帳のセットをクライアントに関連付けられたエンドポイントに分散することを含んでもよい。
[1009]この方法の一実施形態では、分散型台帳のセットの各分散型台帳は、クライアントに固有の一意のルートキーを含む。この方法の別の実施形態では、一連の事前に定義されたルールは、暗号ルール、地理的ルール、寿命ルール、耐久性ルール、又は保持ルールを含んでもよい。この方法の更に別の実施形態では、この方法は、クライアントのトランザクションに対応するデータ、及び少なくとももう1つのクライアントの他のトランザクションに対応するデータを、別々の台帳で維持することを含んでもよい。この方法の別の実施形態によれば、この方法は、オブジェクト照会言語モジュール、ハッシュツリーモジュール、及びブロックチェーンモジュールを実装することによって分散型台帳のセットを管理することを含んでもよい。この方法の他の実施形態では、オブジェクト照会言語モジュールは、データ処理に関する一連のルールを受信するように構成されてもよく、ハッシュツリーモジュールは、各トランザクションに関する情報を記録するハッシュツリー構造を生成するように構成されてもよく、ブロックチェーンモジュールは、各トランザクションを表すエントリを含む共有台帳を生成するように構成されてもよい。
[1010]第2の実施形態は、装置を対象にしてもよい。この装置は、少なくとも1つのプロセッサ、コンピュータプログラムコードを含んでいる少なくとも1つのメモリを含んでもよい。少なくとも1つのメモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサと共に、この装置に、ネットワークノードで、統合クラウドコンピューティングネットワークのクライアントに関連付けられたトランザクションの分散型台帳のセットを作成することと、一連の事前に定義されたルールに従って、トランザクションに対応するデータを格納して処理することと、トランザクションが一連の事前に定義されたルールに準拠しているかどうかを確認するためにトランザクションの妥当性を確認することと、有効なトランザクションごとに分散型台帳のセットのうちの台帳にエントリを追加することと、無効なトランザクションごとに分散型台帳のセットのうちの台帳にサイドブランチを追加することと、分散型台帳のセットをクライアントに関連付けられたエンドポイントに分散することとを少なくとも実行させるように、構成される。
[1011]この装置の一実施形態では、分散型台帳のセットの各分散型台帳は、クライアントに固有の一意のルートキーを含んでもよい。この装置の別の実施形態では、一連の事前に定義されたルールは、暗号ルール、地理的ルール、寿命ルール、耐久性ルール、又は保持ルールを含む。この装置の更に別の実施形態では、少なくとも1つのメモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサと共に、この装置に、クライアントのトランザクションに対応するデータ及び少なくとももう1つのクライアントの他のトランザクションに対応するデータを別々の台帳で少なくとも維持させるように、更に構成されてもよい。
[1012]この装置の更に別の実施形態では、少なくとも1つのメモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサと共に、この装置に、オブジェクト照会言語モジュール、ハッシュツリーモジュール、及びブロックチェーンモジュールを実装することによって分散型台帳のセットを少なくとも管理させるように、更に構成されてもよい。この装置の別の実施形態によれば、オブジェクト照会言語モジュールは、データ処理に関する一連のルールを受信するように構成されてもよく、ハッシュツリーモジュールは、各トランザクションに関する情報を記録するハッシュツリー構造を生成するように構成されてもよく、ブロックチェーンモジュールは、各トランザクションを表すエントリを含む共有台帳を生成するように構成されてもよい。
[1013]第3の実施形態は、コンピュータプログラムを対象にする。このコンピュータプログラムは非一時的コンピュータ可読媒体上で具現化されてもよく、このコンピュータプログラムは、プロセッサによって実行されたときに、このプロセッサに、ネットワークノードで、統合クラウドコンピューティングネットワークのクライアントに関連付けられたトランザクションの分散型台帳のセットを作成することと、一連の事前に定義されたルールに従って、トランザクションに対応するデータを格納して処理することと、トランザクションが一連の事前に定義されたルールに準拠しているかどうかを確認するためにトランザクションの妥当性を確認することと、有効なトランザクションごとに分散型台帳のセットのうちの台帳にエントリを追加することと、無効なトランザクションごとに分散型台帳のセットのうちの台帳にサイドブランチを追加することと、分散型台帳のセットをクライアントに関連付けられたエンドポイントに分散することとを実行させる。
[1014]このコンピュータプログラムの一実施形態では、分散型台帳のセットの各分散型台帳は、クライアントに固有の一意のルートキーを含んでもよい。このコンピュータプログラムの別の実施形態では、一連の事前に定義されたルールは、暗号ルール、地理的ルール、寿命ルール、耐久性ルール、又は保持ルールを含んでもよい。このコンピュータプログラムの更に別の実施形態では、このコンピュータプログラムは、プロセッサによって実行されたときに、このプロセッサに、クライアントのトランザクションに対応するデータ、及び少なくとももう1つのクライアントの他のトランザクションに対応するデータを、別々の台帳で維持することを更に実行させてもよい。このコンピュータプログラムの別の実施形態によれば、このコンピュータプログラムは、プロセッサによって実行されたときに、このプロセッサに、オブジェクト照会言語モジュール、ハッシュツリーモジュール、及びブロックチェーンモジュールを実装することによって分散型台帳のセットを管理することを更に実行させてもよい。このコンピュータプログラムの別の実施形態では、オブジェクト照会言語モジュールは、データ処理に関する一連のルールを受信するように構成されてもよく、ハッシュツリーモジュールは、各トランザクションに関する情報を記録するハッシュツリー構造を生成するように構成されてもよく、ブロックチェーンモジュールは、各トランザクションを表すエントリを含む共有台帳を生成するように構成されてもよい。
[1015]本発明を適切に理解するために、添付の図面に対する参照が行われるべきである。
[1016]図1は、特定の実施形態に従う、ブロックチェーンクラウド統合のデプロイメントアーキテクチャを示す図である。
[1017]図2は、特定の実施形態に従う、ソフトウェアスタックを示す論理図である。
[1018]図3は、特定の実施形態に従う、データトランザクション用のブロックチェーンの実装の概略図である。
[1019]図4は、特定の実施形態に従う、ハッシュ(又はマークル)ツリーの概略図である。
[1020]図5は、特定の実施形態に従う、ハッシュ(又はマークル)ツリーの別の概略図である。
[1021]図6は、特定の実施形態に従う、オブジェクト照会言語モジュールのポリシー、動作、及びオペランドを示す図である。 [1021]図7は、特定の実施形態に従う、オブジェクト照会言語モジュールのポリシー、動作、及びオペランドを示す図である。 [1021]図8は、特定の実施形態に従う、オブジェクト照会言語モジュールのポリシー、動作、及びオペランドを示す図である。 [1021]図9は、特定の実施形態に従う、オブジェクト照会言語モジュールのポリシー、動作、及びオペランドを示す図である。 [1021]図10は、特定の実施形態に従う、オブジェクト照会言語モジュールのポリシー、動作、及びオペランドを示す図である。
[1022]図11は、特定の実施形態に従う、方法のフローチャートを示す図である。
[1023]図12は、特定の実施形態に従う装置を示す図である。
詳細な説明
[1024]本明細書全体を通して説明された本発明の特徴、構造、又は特性は、1つ又は複数の実施形態において、任意の適切な方法で組み合わせられてもよい。例えば、語句「特定の実施形態」、「一部の実施形態」、又はその他の同様の言葉の使用は、本明細書全体を通じて、実施形態に関連して説明された特定の特徴、構造、又は特性が本発明の少なくとも1つの実施形態に含まれてもよいということを指している。
[1025]以下の実施形態例の詳細な説明では、本明細書の一部を形成する添付の図面に対する参照が行われる。これらの実施形態は、当業者が本発明を実践できるように、十分詳細に説明されており、他の実施形態が使用されてもよく、本開示の思想又は範囲を逸脱することなく、本発明に対する論理的変更又は構造的変更が行われてもよいということが理解される。当業者が本明細書に記載された実施形態を実践できるようにするために必要のない詳細を回避するために、説明では、当業者にとって既知である特定の情報を省略することがある。したがって、以下の詳細な説明は、限定する意味で受け取られるべきではない。
[1026]本明細書において使用されるとき、単数形「a」、「an」、及び「the」は、文脈で特に示されない限り、複数形も含むことが意図されている。「含む(comprises)」、「含む(includes)」、「含む(has)」、及び同様の用語は、記載された特徴、ステップ、動作、要素、構成要素などの存在を示すが、1つ又は複数のその他の特徴、ステップ、動作、要素、構成要素、又はグループの存在又は追加を除外しない。
[1027]本明細書に記載された実施形態は、システムがデータ主権規制を考慮してデータの完全性を維持する必要性に対処し、データの格納及び/又は処理を含むトランザクションを検証し、妥当性を確認するための単純で効率的な方法を提供する。特定の実施形態によれば、企業及び政府などの必要性を満たす方法で、データの信頼性、可用性、及び拡張性の問題に対処するための方法が提供されてもよい。適切なルールに基づく分散型台帳及びアプリケーションプログラミングインターフェイス(API:application programming interfaces)の実装は、このレベルのトランザクションの透明性及び監査可能性を獲得することができる。更に、クライアントごとの一意の個別に署名された台帳、及び台帳間の活動を追跡/有効化するための中央台帳を所有することによって、拡張性を実現することができる。
[1028]一部の実施形態では、方法は、分散型台帳のセットを確立することを含んでもよい。各分散型台帳(又はブロックチェーン)は、クライアントに固有の一意のルートキーを含んでもよい。データの処理及び/又は操作に関する一連のルールが生成されてもよく、データがそのようなルールに従って処理されてもよい。エントリが、トランザクションごとに台帳に追加されてもよく、台帳が、クライアントに関連付けられたエンドポイントに分散されてもよい。無効な(又は不正な)トランザクションが発生した場合、「サイドブランチ」(又は「障害分岐」)が台帳に追加されてもよく、このようにして、トランザクションをクライアントにとって無効であるとして簡単に識別する。
[1029]一部の実施形態では、装置は、本明細書に記載されているように、データトランザクション用の分散型台帳を管理するように構成されたブロックチェーンデータハンドラを含んでもよい。ブロックチェーンデータハンドラは、メモリ又はプロセッサのうちの少なくとも1つにおいて実装されてもよく、オブジェクト照会言語(OQL:object query language)モジュール、ハッシュ(又はマークル)ツリーモジュール、及びブロックチェーンモジュールを含んでもよい。オブジェクト照会言語モジュールは、データの処理に関する一連のルールを受信するように構成されてもよい。更に、ハッシュツリーモジュールは、各トランザクションに関する情報を記録するハッシュツリー構造を生成するように構成されてもよい。ハッシュツリーモジュールは、有効な各トランザクションに関連付けられたハッシュ(又は識別子)を生成することによって、各データトランザクションに関連して、「存在の証明」を可能にしてもよい。ハッシュツリーモジュールは、不正なトランザクション(又は障害)を分離及び/又は識別するために、チェーンからの「分岐」も生成する。特定の実施形態では、ブロックチェーンモジュールは、各トランザクションを表すエントリ又は「ブロック」を含む共有台帳を生成するように構成されてもよい。他の実施形態では、共有台帳は、すべてのトランザクションに関する変更不可能で監査可能な記録を提供する。
[1030]特定の実施形態によれば、ハッシュツリーモジュールは、装置のエラー又はハッカーなどの外部からの圧力によって台帳のブロックが破損したときに、ブロックのハッシュが有効でなくなった場合に、変更されてもよい。この時点で、無効な台帳のブロックを破棄し、有効なブロックに置き換えることを選択することが可能であってもよい。特定の実施形態では、この動作は、プログラムによって、又は台帳のブロックをオブジェクトリポジトリから取り出すことによって、達成されてもよい。代替として、この問題は、台帳のブロック用の新しい一意のルートを作成し、トランザクションを別のチェーンに分離することによって解決されてもよい。これらのトランザクションは、分離して保持されてもよく、データアクセス要求がハニーポットに送信されてもよい。そのような変更されたハッシュツリーモジュールを使用して、ハッカー又は脅威を識別して特定するための十分な時間を提供し、台帳のブロックの更なる破損を防ぐことができてもよい。
[1031]一部の実施形態では、プロセッサによって実行される命令を表すコードを格納する非一時的プロセッサ可読媒体が、プロセッサに、ユーザに関連しているデータトランザクションに関連付けられた受信情報を決定させるための、コードを含む。このコードは、トランザクションがルールのセットに一致しているかどうか、及び/又は適合しているかどうかを決定するためのコードを更に含む。トランザクションがルールのセットに適合していると決定されたときに、エントリ(又は「ブロック」)(特定の実施形態では、エントリの集合を含んでもよい)が、ユーザに関連付けられたチェーンに追加されてもよい。このコードは、トランザクションがルールのセットに準拠していないと決定されたときに、一次チェーンからサイドチェーンを生成するためのコードを更に含んでもよい。特定の実施形態では、ユーザが有効な許可されたユーザであるが、トランザクションが許可されない場合、トランザクション又はトランザクションの要求は拒否され、エラーメッセージが送信されてもよい。一実施形態では、エラーメッセージは、「許可されない」というエラーメッセージを含んでもよい。
[1032]特定の実施形態によれば、ブロックチェーンは、任意のオンラインのデジタルトランザクションに適用可能な方法である。ブロックチェーンの方法は、ネットワーク参加者間で分散されるデジタル台帳を作成することを含む。参加者は、暗号ルールに従って、トランザクションに関連する台帳を操作できる。このようにして、信頼できる第三者を必要とせずに、各トランザクションの妥当性を検証できる。金融トランザクション(例えば、ビットコイン)との関連において、ブロックチェーンの方法は、各トランザクションを検証するために、銀行又はペイパルなどの信頼できる第三者の必要性を取り除く。各トランザクションは、暗号(すなわち、デジタル署名)を介して保護され、及び/又は検証される。各トランザクションは、妥当性を確認された後に、台帳に記録され、その後、すべてのネットワーク参加者と共有される。言い換えると、各トランザクションの記録は、新しい「ブロック」として「チェーン」に追加され、その後、すべての参加者と共有される。
[1033]特定の実施形態によれば、台帳はメタデータを含んでもよい。セキュリティのために、メタデータは、別々のキーセットを使用して暗号化され、あるキー空間がどこで終了し、別のキー空間がどこで開始するかを知ることができないようにする方法で、格納されてもよい。特定の実施形態では、署名された各ブロック内のメタデータは、マスクが適用される場合を除き、データ自体と同程度に変更不可能であってもよい。例えば、特定の実施形態では、メタデータが更新される場合、非監査ユーザには、以前のすべての更新情報ではなく、最後の更新情報のみが表示されてもよい。他の実施形態では、メタデータは、複数のフィールド又はカテゴリに分類されてもよい。1つのカテゴリは、例えばサーバの喪失後の下位構成要素の回復などの、システムによって生成されたデータであってもよい。別のカテゴリは、ユーザによって生成されたメタデータであってもよい。ユーザによって生成されたメタデータは、特定のオブジェクトIDで、新しい記録のキーと値のペアに含まれて、台帳に格納されてもよい。したがって、特定の実施形態によれば、台帳は、書き込み(新しいデータ又はメタデータの更新)、及びデータへの任意のアクセス(ユーザの要求又は装置によって生成される)のため、という条件で、更新されてもよい。
[1034]特定の実施形態では、ハッシュツリーモジュール又はブロックチェーンモジュールを実装するサービスは、異なって分割されてもよい。例えば、特定の実施形態によれば、サービスは、データサービス及びメタデータサービスに分割されてもよい。データサービスは、OQLを使用して、レイアウトルール(例えば複製又は抹消符号などの、データ主権及び耐久性)を適用してもよい。その後、これらのレイアウトは、オブジェクトのトランザクションの一部としてコミットされてもよい。特定の実施形態によれば、メタデータがトランザクションに集められ、保留中のトランザクションのブロックにマージされてもよい。保留中のトランザクションのブロックが、台帳のブロックチェーンの現在の末尾で一緒にハッシュされ、台帳のブロックチェーンの新しい末尾を形成してもよい。更に、台帳の新しい各ブロックは、前のブロック及び保留中のトランザクションのブロックへのポインタを含んでもよい。加えて、特定の実施形態では、台帳のブロックは、作成されたときにマークルツリーに追加され、結合の証明の妥当性確認を作成してもよい。このようにして、ブロックが変更された場合に、マークルツリーが瞬時に変更されてもよい。そのため、エラーが検出されてもよい。
[1035]特定の実施形態によれば、エラーの正確な位置を見つけるために、マークルツリーがより小さいツリーに分割され得る。エラーの修正は、プログラムによって、又は(変更不可能な)データのように扱われる台帳のブロックとして実行されてもよく、置換ブロックがデータストアから取得されてもよい。
[1036]図1は、特定の実施形態に従う、ブロックチェーンクラウド統合システム(又はネットワーク)のデプロイメントアーキテクチャを示す概略図である。ブロックチェーンネットワークは、ブロックチェーンネットワーク上に示されているデバイス及び/又はモジュールを含んでもよい。特定の実施形態によれば、デプロイメントアーキテクチャは、クライアントAPI100を含んでもよい。クライアントAPIは、管理、メタデータ操作、及びデータ操作のためのアクセスを可能にしてもよい。更に、これらの動作のサブセットが特定のインスタンス化から許可されるように、ルールが図1のデプロイメントアーキテクチャの構成要素に適用されてもよい。これによって、アクセス位置を認識した制限又はプロトコルを認識した制限を作成してもよい。これによって、制限されたユーザ権限の作成を可能にしてもよい。例えば、特定の実施形態では、ユーザは、データを追加することのみが許可され、そのデータを読み取ることが許可されないことがある。更に他の実施形態では、ユーザはデータを使用する権限を持つが、管理構成の変更を行う権限を持たないことがある。
[1037]特定の実施形態では、図1のデプロイメントアーキテクチャは、1つ又は複数のブロックチェーンハンドラ105を含んでもよい。特定の実施形態によれば、ブロックチェーンハンドラ105は、ストレージが関連付けられた物理的装置であってもよい。他の実施形態では、ブロックチェーンハンドラ105は仮想装置であってもよい。特定の実施形態によれば、ブロックチェーンハンドラ105は、読み取りキャッシュとして機能し、オブジェクトの格納のためのデータのステージングに役立ってもよい。
[1038]図1のデプロイメントアーキテクチャは、ステージングユニット110を更に含んでもよい。特定の実施形態によれば、ステージングユニットは、待ち時間の少ない、地理的に分散された方法で利用できるコピーを作成することによって、オブジェクトストアにアクセスすることにおいて、及びステージングユニットとブロックチェーンハンドラ105の間の帯域幅を最適化することにおいて、ブロックチェーンハンドラを支援してもよい。ステージングユニット110は、互いに連動して、ネットワーク転送の負荷を軽減しながら、エンドポイントの操作性を向上させることができる。
[1039]図1では、1つ又は複数のデータストレージノード115も示されている。データストレージノード115は、長期間の耐久性に関して最適化された複数のカテゴリに分類されてもよい。例えば、それらのカテゴリの一部は、動作中のトランザクション用であってもよく、したがって高速であってもよく、一方、他のカテゴリは、記録のための格納用であってもよい。他の実施形態では、データストレージノード115は、外国のクラウド上にあってもよい。
[1040]図1のデプロイメントアーキテクチャは、認証及び同期サービスノード120を更に含んでもよい。認証及び同期サービスノード120は、台帳が正確且つ確実に更新されていることを確認する役割を担ってもよい。認証及び同期サービスノード120は、ホットブロックに関して複製の台帳が作成されること、及びユーザが、アクセスすることを許可された構成要素にアクセスしていることを、保証してもよい。例えば、台帳が複数の場所からアクセスされているか、又は1つの場所で多数のクライアントによってアクセスされている場合、ホットブロックは、IO要求にサービスを提供するために作成された複製を必要とすることがある。
[1041]一部の実施形態では、単一の実体(又はサービスプロバイダ)が、ネットワーク全体に対して所有権を維持すること及び/又は制御することができる。言い換えると、一部の実施形態では、単一の実体(また他はサービスプロバイダ)は、クライアントエンドポイント(例えば、図1では「クライアントAPI」として識別される)を除く、示されているデバイス及び/又はモジュールのすべてに対して、所有権を維持すること及び/又は制御することができる。このようにして、本明細書に記載されたデータ管理のプロセスは、不正な「仲介者」などからの侵害の影響を受けにくくなる。したがって、本明細書に記載されたシステム及び方法は、ピアツーピアファイル共有、パブリックな「未使用」の空間を使用する分散化されたストレージなどとは異なっている。
[1042]図に示されているように、特定の実施形態に従うシステムは、本明細書に記載された動作のいずれかを実行するように構成された1つ又は複数のブロックチェーンデータハンドラ105を含んでもよい。例えば、一部の実施形態では、ブロックチェーンデータハンドラ105(又はブロックチェーンシステム全体)は、オブジェクト照会言語(OQL)モジュール、ハッシュ(又はマークル)ツリーモジュール、及びブロックチェーンモジュールを含むことができる。オブジェクト照会言語モジュールは、以下を含むさまざまな機能を実行してもよいが、これらに限定されない。
・オブジェクト、名前空間、集合、及びデータセットの動作に関するルールの格納、作成、及び/又は維持
・構成及び管理
・アプリケーション統合ポイント
・名前空間の定義
・ユーザの作成及び役割の割り当て
・ユーザによって定義されたメタデータの初期結合及び遅延結合の両方の有効化
[1043]特定の実施形態によれば、ハッシュ(又はマークル)ツリーモジュールは、以下を含むさまざまな機能を実行してもよいが、これらに限定されない。
・プリフェッチ/キャッシュの調整
・自動一貫性チェック/軽量一貫性チェック
・統合された能力監査
・ユーザによって定義されたメタデータのロギング
・きめ細かいアクセス制御
・柔軟な葉ノードリスト(柔軟な複製又はシャーディング戦略)
・自動データ局所性(データ主権、特定の地域内のストレージ、又は特定のエンドポイントのみからのアクセスのいずれかの種類に関する)
・過渡的な一貫性のある変更/報告/監査/テスト
・不変性の証明
[1044]他の実施形態では、ハッシュ(又はマークル)ツリーモジュールは、以下を含むさまざまな機能を実行してもよいが、これらに限定されない。
・保証された最終的な一貫性
・統合された監査能力
・セキュリティで保護された粒度の細かい共有
・自律的ノード間の保証された書き込み一貫性
・監査ルールを支援するための永続的な台帳のロギング
・アクセスの実施
・マルチテナントの分離
・利用者からのリスク及びトレードオフへの可視性
[1045]特定の実施形態によれば、図1〜5に示されたブロックチェーンハンドラ105及びその他のノードなどの、図1のデバイス及びモジュールは、任意の適切なネットワークによって相互接続され得る。ネットワークは、有線ネットワーク及び/又は無線ネットワークとして実装された任意の種類のネットワーク(例えば、ローカルエリアネットワーク(LAN:local area network)、広域ネットワーク(WAN:wide area network)、仮想ネットワーク、及び通信ネットワーク)であり得る。本明細書において更に詳細に説明されているように、一部の実施形態では、例えばデバイス及び/又はモジュールは、イントラネット、インターネットサービスプロバイダ(ISP:Internet Service Provider)及びインターネット、セルラーネットワーク、並びに/又は同様のものを介して互いに接続され得る。
[1046]図2は、特定の実施形態に従うソフトウェアアーキテクチャを示している。ソフトウェアアーキテクチャは、クライアントデータハンドラ200を含んでもよい。特定の実施形態では、クライアントデータハンドラ200は、独立してスケーリングされてもよく、クライアント接続を管理し、固有のライフサイクルのためのデータ及びメタデータを準備するために使用されてもよい。ソフトウェアアーキテクチャは、ルールエージェント205を含んでもよく、ルールエージェント205は、ユーザ、名前空間、及びデータパイプラインを確立するための別のインターフェイスであってもよい。
[1047]特定の実施形態によれば、ソフトウェアアーキテクチャは、セキュリティ層210を更に含んでもよい。セキュリティ層210は、セキュリティ及び認証をスケーリングできるようにする別の層であってもよく、不正なユーザがハニーポットにリダイレクトされる場所であってもよい。更に、ソフトウェアアーキテクチャは、ポリシー実施層215を含んでもよい。特定の実施形態では、ポリシー実施層は、トランザクションが有効であることを、及びトランザクションが、ブロックチェーンデータを処理するための既存のルールのいずれにも違反していないことを保証してもよい。図2には、配置エンジン220も示されている。特定の実施形態によれば、配置エンジン220は、トランザクションを適切なストレージノード(複数可)225にルーティングする役割を担ってもよい。更に、ポリシーが変更されたときに、配置エンジン220がデータを適切なストレージノード225上に再レイアウトしてもよい。
[1048]図2のソフトウェアアーキテクチャは、1つ又は複数のストレージノード225を含んでもよい。特定の実施形態によれば、ストレージノード225は、異なる設計点を有する物理ノードであってもよい。例えば、一部のストレージノード225は、長期間の耐久性のあるストレージ用に最適化されてもよく、他のストレージノード225は、動作中の処理用に最適化されてもよい。図2のソフトウェアアーキテクチャは、1つ又は複数の台帳230を含んでもよい。特定の実施形態によれば、台帳230は、すべてのトランザクションの状態をログに記録して監査できるようにする、独立したブロックチェーン層であってもよい。図2は、分析層235を更に示している。特定の実施形態によれば、分析層235は、許可されたユーザが、システムの現在の状態だけでなく、特定の名前空間のすべてのトランザクションを確認できるようにする報告層であってもよい。これによって、システムが世界中のさまざまな組織に従うことが、可能になってもよい。
[1049]図3は、特定の実施形態に従う、データトランザクション用のブロックチェーンの実装の概略図である。図3に示されたブロックチェーンは、有効なトランザクション状態300を含んでもよい。有効なトランザクション状態は、すべてのトランザクションの妥当性が確認されており、暗号によって署名されたブロックが生成されている、ある時点の状態を表してもよい。有効なトランザクション状態は、台帳が最初にインスタンス化されるときに、台帳の初期状態に適用されてもよい。
[1050]図3は、ブロックチェーンが保留中のトランザクションのログ305を含んでもよいということを更に示している。保留中のトランザクションのログ305は、台帳への挿入を保留している未処理のトランザクションのすべてのログを含んでもよい。特定の実施形態では、使用頻度の低い台帳の場合、保留中のトランザクションは相対的に少なく、又は非常に多くのトランザクションを受信している台帳の場合、保留中のトランザクションは非常に多いことがある。更に、ブロックチェーンは、ハッシュ及び署名手順310を含んでもよい。特定の実施形態によれば、ハッシュ及び署名手順310は、すべての有効なトランザクションをハッシュして署名するプロセスを含んでもよい。このプロセスは、コミットされていない特定の台帳のすべてのメタデータトランザクションを受け取り、それらのトランザクションの妥当性を確認して暗号化し、それらの新しいトランザクションから新しい葉をマークルツリー内に作成し、最後のブロックのハッシュを台帳内に作成してもよい。
[1051]一部の実施形態によれば、本明細書に記載されたブロックチェーン又は台帳のいずれかは、ビットマスクを使用して生成され得る。図3に示された状態は、生成されたハッシュツリーに格納され得る。
[1052]図4は、特定の実施形態に従う、ハッシュ(又はマークル)ツリーの概略図である。マークルツリーは、2つの主要な目的を果たしてもよい。下で説明されているように、トランザクションに対するどのような攻撃又は変更も、プライベートノード/ツリーの生成を自動的に引き起こすため、「障害」が分離される。その他の機能は、有効ないずれかの場所で提供される名前空間に関して、その名前空間に関連付けられた葉ノードのみを使用可能にする必要があるということである。メタデータトランザクションをデータトランザクションから分離することによって、自動的で自由な重複排除が結果として起きてもよい。更に、データの完全性は自動的であり、隣り合うどの2つの葉も、欠けている姉妹又は親を再作成することができる。
[1053]図4に示されているように、マークルツリーはルートハッシュ400を含んでもよい。特定の実施形態によれば、ルートハッシュ400は、ルートに隣り合い、一緒にハッシュされる、マークルツリー内のすべての葉ノードで形成されてもよい。マークルツリーは、葉A405及び葉B410を含んでもよい。標準的な左手−右手の表記法では、上位ハッシュの左のメンバーが葉A405と呼ばれ、対の左手側が葉B410と呼ばれ、対は、下位の葉A405及び葉B410を一緒にハッシュすることによって作成される。
[1054]図4に更に示されているように、マークルツリーは無効な葉415を含んでもよい。特定の実施形態によれば、無効な葉415は変更されて、もともとハッシュされていたのと同じ値にハッシュされなくなっていることがある。無効な葉415は、その値が正しくなくなったときに、親ノードによって検出可能であってもよい。次に、ルートハッシュも無効になる。そのような方法に従って、エラーを素早く検出し、エラーをそれが生じた場所から分離することが可能になってもよい。
[1055]図5は、特定の実施形態に従う、ハッシュ(又はマークル)ツリーの別の概略図である。これらのシステム及び/又はモジュールは、増加するデータ主権の問題を考慮してデータの完全性を維持することと、データトランザクションを追跡するためのセキュリティで保護されたシステムを提供することと、「存在の証明」をデータ及び/又はデータトランザクションに適用することとを含むが、これらに限定されない、本明細書に記載された機能を、集合的に及び/又は個別に実行する。
[1056]一部の実施形態では、システムは、複数の異なるクライアントアプリケーション(又はエンドポイント)に関連付けられ得る。具体的には、本明細書に記載されたシステム及び方法は、複数の異なるクライアントにサービスを提供するように動作することができる。そのような実施形態では、ブロックチェーンモジュールは、異なるクライアントごとに一意である「チェーン」の異なるルートキーを生成することができる。
[1057]例えば、特定の実施形態では、実体はメイン台帳を所有してもよい。実体がクライアントAを引き受ける場合、クライアントA用の一意のエントリが作成される。このエントリが、最初に設定されたOQLルールと共に使用されて、クライアント台帳の基礎になる一意のルートキー(又は、ルート付きサイドチェーンとも呼ばれる)を作成してもよい。これらのサイドチェーンの通常の使用(ハッカーの分離又は新しい台帳のルールをテストすること)ではなく、サイドチェーンが永続的に存続することを許可することが可能であってもよい。更に、一意の各台帳は、それ自身のマークルハッシュを含んでもよく、ルートから台帳の最新のブロックまで有効である。台帳のメタデータに対して変更(新規又は変更)を行うには、ツリー全体を再計算し、検証しなければならない。このようにして、多くのより小さいツリーを作成することによって、待ち時間を減らし、並列化及び拡張性を向上することができてもよい。
[1058]このようにして、クライアントごとのデータトランザクションが、別々のチェーン及び/又は他のクライアントごとに生成されたデータトランザクションから共有された台帳で、維持されてもよい。クライアントごとに別々の台帳又はブロックチェーンを生成することによって、チェーンの全体的長さを(すべてのクライアントに関連付けられた単一のチェーンと比較して)最小限に抑えることができ、ブロックチェーン(例えば、トランザクションの妥当性を確認するための作業の証明、トランザクションごとの存在の証明など)を実装するために必要な計算リソースを最小限に抑えることができる。
[1059]一部の実施形態では、本明細書に記載されたブロックチェーンの方法及びシステムは、トランザクションごとに「存在の証明」を実装することができる。存在の証明は、データトランザクションに関連付けられた「ハッシュ」(例えば、ハッシュツリーモジュールによって生成されたハッシュ及び/又はハッシュツリーモジュール内に含まれたハッシュ)を識別すること、及びそのハッシュをブロックチェーンに格納することを含んでもよい。ブロックチェーンは確認されたすべての有効なトランザクションを格納し、すべてのハッシュが一意であるため、そのトランザクションが有効であることが確認された後に、特定のドキュメントが存在することを証明するために、後でそのトランザクションが参照され得る。
[1060]一部の実施形態では、本明細書に記載された方法及びシステムは、有効なトランザクションごとに、エントリを台帳(又はブロックチェーン)に追加してもよい。台帳は、クライアントに関連付けられたエンドポイントに分散されてもよい。無効な(又は不正な)トランザクションが発生した場合、サイドブランチ(又は「障害分岐」)が台帳に追加されてもよく、したがって、トランザクションをクライアントにとって無効であるとして簡単に識別する。
[1061]以下では、一流企業であるクライアントの必要性に役立つことに関して、使用事例が説明される。それらの必要性を効果的に満たすために、監査可能な記録又はデータの完全性及びデータの配置を保つためのシステム及び方法が使用されてもよい。一部の実施形態では、この方法は、本明細書に記載されたブロックチェーンの方法を含んでもよい。
[1062]特定の実施形態に従う使用では、名前空間は、ユーザ(例えば、クライアント)が、データブロックなどのすべてのオブジェクトが最初に従う必要がある何らかのルールを、他の入力が元に戻らないということを前提として、作成することを可能にするための構造である。例えば、そのような1つのルールは、記録用媒体に「50年間格納する」ことである。しかし、前述の名前空間内のいずれかのオブジェクトに関して、より新しいポリシーが現れて、そのオブジェクトをホット層又はオンプレミスに移動するよう要求する可能性がある。50年間格納するという元のポリシーに違反してはならないため、複製のみがエッジに送信されるであろう。ユーザがエッジでデータの使用を完了したときに、そのデータを安全に削除することができ、名前空間は静的状態に戻る。これらの各移行は、ブロックチェーン台帳内のエントリによって表されてもよい。特定の実施形態では、ブロックチェーンとしてのメタデータ台帳は、アクセスを更新すること及びメタデータを複製することよりも大きい分岐を含んでもよい。別の例として、より新しいポリシーは、特定の国で可決されたデータ主権規制に関連する可能性がある。やはり、初期ルールは効力を維持し、システムは、そのような規制によって損なわれないようにデータを保護する。
[1063]上記の例では、主権のレイアウトルールが変更された場合、データの一部が新しいルールの外に存在するようになることがある。ルールに準拠しなくなった部分は、ルールに適合する記録用媒体に再レイアウトされてもよい。代替として、ルールに準拠しなくなった部分は、破棄されてもよい。更に、ルールの変更が、システムによって順守できない変更である場合、報告のためのメカニズムがトリガーされてもよく、データの一部がこの新しいポリシーに関して危険にさらされているということが、ユーザに知らされる。
[1064]本明細書に記載されているように、一部の実施形態では、システム内のすべてのアイテム(例えば、データブロック)が、エンドユーザが(例えば、OQLモジュールを介して)最初に示したルールに従っていることを、ユーザが検証して妥当性を確認するために、透明な台帳(又はブロックチェーン)が生成される。ブロックチェーン台帳の生成において、システムは、(実際のトランザクションの追跡の観点から言えば)「買い手」であると考えることができる。したがって、アップロード時のオブジェクト(又はデータ)は、デフォルトのポリシーで動作し、アップロードが完了した後に、オフプレミスの複製を作成し、第2の複製を使用して、そのオフプレミスの複製を保護する。この時点で、名前空間のルールは、作業を開始するための保護されたオブジェクトを含んでいる。特定の実施形態では、名前空間のルールは、広範囲且つ多様であってもよい。
[1065]特定の実施形態によれば、買い手であると考えられるシステム、及び売り手であると考えられるすべてのクライアントは、トランザクションの妥当性確認を容易にする。エンドユーザがオブジェクトをシステムに追加したい場合、エンドユーザが「売ろうとする意図」をポストする、と言うことができる。システムが帯域幅を持っている場合、システムはその販売を選択し、契約の条件(50年間の格納、又は自国内での維持など)を適用してもよく、普遍的に一意であるオブジェクトIDを返信することによって、トランザクションを完了する。加えて、この一意のIDに違反するその他のトランザクションが、同じ方法でログに記録されてもよく、最新の表示、又は完全な履歴の監査を可能にする。
[1066]一例として、名前空間が、データが変更不可能な媒体に50年間格納される、というルールを持っている場合について考える。この例では、オンプレミスに1つのコピー、オフプレミスに1つのミラーが存在すると考える。更に、オフプレミスから記録用媒体へのネットワークが好ましいと見なされていると考える。その場合、オフプレミスからの1つのコピーが、記録用媒体上に作成される。この作成の完了後に、3つのコピーがすべて削除されてもよく、クライアントに(例えば、分散型台帳を介して)完了が通知される。
[1067]そのような例では、クライアントが(例えば、アップロードなどのデータトランザクションを実行するために)「販売の要求」を挿入する場合、システムは、その販売を実現させるステップを完了するたびに、台帳を更新してもよい。本明細書に記載されたような、台帳システム(又はブロックチェーンシステム)の使用は、透明で、ハッキングに対する耐性を持ち、信頼性があり、極めて大きな拡張性を有する、データ「販売」要求を処理するための方法を提供する。オブジェクトが最初に作成されるときに、クライアントは、オリジナルを削除せず(すなわち、オリジナルのバイトを消去せず)、代わりに第1の台帳のエントリが作成されるのを待つはずである。第1の台帳のエントリは、例えば、ブロックチェーンモジュール又は任意のその他の適切なモジュールによって作成され得る。この時点で、オフプレミスの複製が完了する。この手順を使用するとき、データが喪失の危険にさらされる時間は存在しない。一部の実施形態では、クライアントは、次のエントリ(作成されたリモートミラー)又は最後のエントリのいずれかを待つことができる。クライアントは、粒度を使用して、独自のリスク許容度を選択することができ、データが望ましいポリシーに従って保護される、時間又はその他の盲目的な仮定への依存を行わないことが可能になる。
[1068]別の例として、例えばキャッシュのコピーを生成するために、ルールのオーバーライドがシステムに提供され得る。そのようなオーバーライドトランザクションも台帳内のエントリであり、システムは、保存されたデータを忠実に呼び戻し、コピーを、クライアントがアクセスするのに適した媒体上に作成する。コピーの動作が完了した後に、トランザクションが完了し、台帳に登録される。
[1069]しかし、不正なユーザが、データを削除するための要求を発行した場合、そのような要求が台帳に入力される。検査時に(50年が経過していなことを仮定する)、この要求は、違反していることが検出されて、拒否される。ユーザ(例えば、ユーザの管理者)は、この要求、及びシステムがこの要求に従うことができないこと、並びにこの要求を発行した人の指紋を確認する。このようにして、ユーザ管理者は、不正なユーザを発見する監査可能な方法を持つようになる。
[1070]透明な分散型台帳を生成することには、例えば請求書作成及び内部監査などの、他の用途もあり得る。一例として、異なる場所でのオブジェクトに対して、次の任意のコスト値を考える:最初のオンプレミスのバージョンは、単位当たり10ドル、オフプレミスは、単位当たり5ドル、及び記録用は、単位当たり1ドル。したがって、ユーザが1単位のデータをアップロードすると、10ドルかかり、5ドルかかるリモートの複製が作成され、5ドルのミラーバージョンが生成される。この仮定を用いると、これまでにクライアントは、この単位のデータに、20ドルを費やした。ここで、記録用のコピーが作成され、元のデータが削除される。したがって、この単位のコストが1ドルに低下する。次に、データを取得することを許可されたユーザが、データをオンプレミスに呼び戻し、3つのコピーを作成するための要求を行う。呼び戻されて複製される単位に関して、単位当たりの請求金額が、1ドルから30ドルに急に跳ね上がる。ユーザ管理者は、この金額を分散型台帳を介して確認し、社内の再請求システムを使用するか、或いはこの金額が過剰であると見なされる場合は、この要求を行ったエンドユーザのところへ行き、このポリシー要求を取り消させるか、又は少なくともコピーの数を減らさせることができる。
[1071]共有台帳システムに関して、これらの極めて批判に耐えられる外部の使用事例の他に、信じられないほど簡略化されたその他の内部の特徴がいくつか存在する。その1つが請求書作成、もう1つがデータの妥当性確認/検証(データの完全性の証明)であり、更にもう1つがデータのプリフェッチング/ステージングである。
[1072]ハッシュツリーモジュール(図4及び5のハッシュツリーの概略図にも示されている)は、データ処理のための多くの改良された方法を容易にすることができる。例えば、データのすべての単位に対して1つのハッシュツリーを維持することによって、ハッシュのサイズのシンプルな計算を可能にする。更に、オブジェクトの中程度のハッシュ値から強力なハッシュ値までの使用は、飛行中の検証を可能にし、強力なメカニズムが使用された場合は、無効なデータの飛行中の修正さえシンプルなプロセスになる。
[1073]図4及び5を参照すると、インテリジェントな方法でこれらのツリーを編成することによって、要求パターンの迅速な検出を可能にし、したがって、従来よりも高確率の精度で、キャッシュにデータをより迅速に入力することができる。したがって、データを使用したいユーザは、オブジェクト全体が新しく要求された場所に返される前に、そのデータを使用することができる。他のすべてのシステムは、I/Oが開始する前に、オブジェクト全体が再構築されることを必要とする。
[1074]また、公開キー−秘密キー構造を伴う、名前空間又は名前空間内のオブジェクトのその他の実施可能要件が、本明細書に記載されたシステム及び方法によって可能にされる。具体的には、ユーザは、タグを追加して、キーを使用した場合にのみデータにアクセスできるようにすることができる。このキーは、台帳に登録される。その後、キーの所有者がオブジェクトに対する権限を別のユーザに付与したい場合、キーの所有者は、他のユーザに対して公開キー(public key、パブリックキー)を要求し、その公開キーを秘密キー(privatekey、プライベートキー)と共に台帳に追加し、このようにして、オブジェクトにアクセスする能力を他のユーザに付与する。その後、他のユーザは、名前空間内のオブジェクトのコピー又はキャッシュされたコピーなどを作成するための要求を行うことができ、その分岐が元の名前空間の台帳に記入され、コピーが作成される。このコピーが管理される方法に関するルールの例としては、無料サンプル(第2のユーザが永続的に権限を有する)、制限されたアクセス、又は時間制限のあるアクセス(つまり、第2のユーザは、特定の時間の間、又は所有者によって自由に取り消し可能であるなどの、読み取り権限を有する)、及び多くのその他の組み合わせが挙げられる。取り消し可能なオブジェクトの場合、新しいユーザは、元の台帳への参照を含むエントリを取得する。元の台帳が、第2のユーザの公開キーを削除するトランザクションを受信した後に、このオブジェクトへのアクセスが終了される。
[1075]科学界には、変更不可能なデータの大きいコーパスが存在しており、このコーパスは、プライベートである期間を含み、その後、共同機関を追加し、最終的に世界的アクセスを提供するという、ライフサイクルを持っている。例えば、このコーパスは、時間と共に変化するデータフローに関連することがある。したがって、台帳システムの特定の実施形態は、前述したように、このデータフロー及び多くのその他のデータフローに最適であることがある。更に、アクセス制限を完全に取り除くことは、独立した公開キーを公表すること、又はキーに空のフィールドとしてタグ付けすることを含んでもよい。これらの状態の変化は、すべて台帳に記録することができ、監査可能であり、可視であり、反駁を許さない。
[1076]上の例では、公開キー−秘密キー構造は、暗号化されていないデータへのアクセスのことを指していてもよい。ユーザがデータを暗号化してからアップロードした場合でも、暗号化されたデータへのアクセス権限が付与されてもよい。したがって、暗号解読を完了することがまだできないことがある。しかし、他の実施形態によれば、データは、メタデータ台帳とは別に暗号化されてもよい。例えば、台帳は、ユーザが他のユーザ台帳を覗くことができないように、ユーザ台帳ごとに一意のキーを含む。
[1077]本明細書に記載されたブロックチェーンシステム及び方法の別の例として、ユーザ(又はクライアント)は、30年間データを格納し、最後に、格納されたデータを自動的に除去するための場所を、作成したいことがある。更に、ユーザは、格納及び除去の準拠を保証するために、トランザクションが監査可能であることを必要とすることがある。一部の実施形態では、この機能を可能にするように、OQLモジュールが構成され得る。図6〜10は、特定の実施形態に従う、OQLモジュールのポリシー、動作、及びオペランドを示している。そのような実施形態では、OQLモジュールは、ルール、動作、及び論理という3つの構文を含んでもよい。1つの例として、OQLは次を含んでもよいが、これに限定されない。
・create namespace alias=30year_retention policies: retain=30 purge=true
・・上記の戻り値は、名前ID及びそのエイリアスである。
[1078]ユーザがデータを名前空間に格納したい場合は、次のようになる。
・Open 30year_retention; put <追加されているオブジェクトのパス>; close 30year_retention
・・戻り値は、オブジェクトの寿命以上の期間の間、ユーザが維持する、耐久性のあるOIDである。
・・openステートメント及びcloseステートメントを追加する目的は、数百万個のオブジェクトをすべて1回の実行で一括処理し、それらのオブジェクトを囲むコンテナを追加することである。
[1079]ユーザが、ポリシーが機能していることを確認したい場合は、次のようになる。
・open 30year_retention; delete <OID>
・・この時点で、削除コマンドが特定のオブジェクトに送信される。
・・システムはメタデータを調べ、オブジェクトが今書き込まれたばかりであり、30年の不変性フラグを有していることを確認する。したがって、システムは、オブジェクトを削除する代わりに、違反の通知をアカウント所有者に送信し、ユーザにエラーを返信する。
[1080]ユーザが、データが期待通りに格納されていることを監査したい場合は、次のようになる。
・open 30year_retention; test <OID>
・・応答は、ポリシー設定を探し、オブジェクトのシャードを検索し、ポリシー設定が実行されていることを検証することである。
・・<OID>は、30年の不変性のポリシーを有しており、現在、このルールに準拠していないアクセスノード上にある。具体的には、データは、今書き込まれたため、保管層にまだ渡されていない。したがって、初期テスト後に、第2のテストが設定時間に実行された場合、結果は次のようになる。<OID>は、30年の不変性のポリシーを有しており、(一例として)指定された故障率を十分下回る1.2^−36の予想故障率を有する7つの媒体ライブラリにまたがってシャーディングされている。
[1081]ユーザが、オブジェクトを年末のデータの実行に使用したい場合は、次のようになる。
・Open 30year_retention; copy <OID> to <オブジェクトを配置するパス>; close 30year_retention
・・応答は、オブジェクトを取得して、指定された場所に配置することである。この例は、非常にユーザ対話的であってもよい。実際、照会が、関連するデータを検索し、そのデータを検査のためにアクセスボックスにステージングすることである、ということがあり得る。
・・Open 30year_retention; migrate <データセット> to <サイトID>; close。不変性フラグを前提として、この動作はワーキングコピーを生成するが、オリジナルを削除しない。
[1082]30年の期間の最後に、次を実行する。
・Open 30year_retention; get <oid>。応答は、OIDが有効でなくなったことを示すエラーである。
[1083]上記は、特定の実施形態に従うOQLモジュールの構造及び機能の一例にすぎない。一部の実施形態では、OQLモジュールは、望ましいビジネスロジックの可能性を実現するための十分な量及び種類のプリミティブを含んでもよい。例えば、一部の実施形態では、OQLモジュールは、21個以上のプリミティブを含むことができる。他の実施形態では、OQLモジュールは、26個以上のプリミティブを含むことができる。更に、特定の実施形態では、プリミティブは、この言語の基礎構造であることができ、更に小さい構成要素に分解できず、代わりに、ルールを構成するより大きく複雑な文の作成に使用することができる。言い換えると、プリミティブは、APIの最小の原子単位を表すことができる。
[1084]本明細書に記載された一部の実施形態は、本明細書に記載され、図1〜12に示された動作のいずれかを含む、コンピュータに実装されるさまざまな動作を実行するための命令又はコンピュータコードを含んでいる非一時的コンピュータ可読媒体(非一時的プロセッサ可読媒体と呼ぶこともできる)を備える、コンピュータストレージ製品に関連している。図1〜11に示された信号又はブロックが、ハードウェア、ソフトウェア、ファームウェア、1つ又は複数のプロセッサ、及び/又は回路などのさまざまな手段、或いはこれらの組み合わせによって実装されてもよいということが、理解されるべきである。コンピュータ可読媒体(又はプロセッサ可読媒体)は、それ自体が一時的な伝搬信号(例えば、空間又はケーブルなどの伝送媒体で情報を搬送する、伝搬する電磁波)を含んでいないという意味で、非一時的である。媒体及びコンピュータコード(コードと呼ぶこともできる)は、特定の1つ又は複数の目的のために設計されて構築されたものであってもよい。非一時的コンピュータ可読媒体の例としては、ハードディスク、フロッピーディスク、及び磁気テープなどの磁気ストレージ媒体、コンパクトディスク/デジタルビデオディスク(CD/DVD:Compact Disc/Digital Video Discs)、コンパクトディスク読み取り専用メモリ(CD−ROM:Compact Disc−Read Only Memories)、及びホログラフィックデバイスなどの光ストレージ媒体、光ディスクなどの光磁気ストレージ媒体、搬送波信号処理モジュール、並びに特定用途向け集積回路(ASIC:Application−Specific Integrated Circuits)デバイス、プログラマブル論理デバイス(PLD:Programmable Logic Devices)、読み取り専用メモリ(ROM:Read−Only Memory)デバイス、及びランダムアクセスメモリ(RAM:Random−Access Memory)デバイスなどの、プログラムコードを格納して実行するように特別に構成されたハードウェアデバイスなどが挙げられるが、これらに限定されない。本明細書に記載された他の実施形態は、例えば本明細書に記載された命令及び/又はコンピュータコードを含むことができる、コンピュータプログラム製品に関連している。
[1085]図11は、特定の実施形態に従う、方法のフローチャートを示している。図11に示された方法は、501で、統合クラウドコンピューティングネットワークのクライアントに関連付けられたトランザクションの分散型台帳のセットをネットワークノードにおいて作成することを含む。この方法は、505で、一連の事前に定義されたルールに従って、トランザクションに対応するデータを格納して処理することも含む。この方法は、510で、トランザクションが一連の事前に定義されたルールに準拠しているかどうかを確認するためにトランザクションの妥当性を確認することを含んでもよい。この方法は、515で、有効なトランザクションごとに、分散型台帳のセットのうちの台帳にエントリを追加することを更に含んでもよい。加えて、この方法は、520で、無効なトランザクションごとに、分散型台帳のセットのうちの台帳にサイドブランチを追加することを含んでもよい。更に、この方法は、525で、台帳のセットをクライアントに関連付けられたエンドポイントに分散することを含んでもよい。
[1086]図11に更に示されているように、この方法は、530で、クライアントのトランザクションに対応するデータ、及び少なくとももう1つのクライアントの他のトランザクションに対応するデータを、別々の台帳で維持することを含む。この方法は、535で、オブジェクト照会言語モジュール、ハッシュツリーモジュール、及びブロックチェーンモジュールを実装することによって分散型台帳のセットを管理することを更に含む。特定の実施形態によれば、分散型台帳のセットの各分散型台帳は、クライアントに固有の一意のルートキーを含んでもよい。他の実施形態では、一連の事前に定義されたルールは、暗号ルール、地理的ルール、寿命ルール、耐久性ルール、又は保持ルールを含んでもよい。更に他の実施形態では、オブジェクト照会言語モジュールは、データ処理に関する一連のルールを受信するように構成されてもよく、ハッシュツリーモジュールは、各トランザクションに関する情報を記録するハッシュツリー構造を生成するように構成されてもよく、ブロックチェーンモジュールは、各トランザクションを表すエントリを含む共有台帳を生成するように構成されてもよい。
[1087]図12は、特定の実施形態に従う装置10を示している。一実施形態では、装置10は、例えば、ブロックチェーンハンドラ、クライアントAP、或いはサーバ、コンピュータ、又は電子モバイルデバイス若しくは電子モバイルコンピュータなどのネットワークノードなどの、複数のデバイスを含んでもよい。他の実施形態では、装置10は、図1〜4のブロックに示された任意の構成要素又はユニットであってもよく、互いに独立して、又は互いに任意の組み合わせで、動作してもよい。図12では1つの装置10のみが示されているが、他の実施形態では、前述したように、2つ以上の装置10が、システムとしてさまざまな組み合わせで一緒に、又は独立して、実装されてもよい。
[1088]装置10は、情報を処理して命令又は動作を実行するためのプロセッサ22を含んでもよい。プロセッサ22は、中央処理装置(CPU:central processing unit)、デジタル信号プロセッサ(DSP:digital signal processor)、特定用途向け集積回路(ASIC)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA:field programmable gate arrays)、デジタル的に強化された回路、又は同等のデバイス、或いはこれらの組み合わせなどの、任意の計算処理デバイス又はデータ処理デバイスによって具現化されてもよい。プロセッサ22は、単一のコントローラ、或いは複数のコントローラ又はプロセッサとして実装されてもよい。
[1089]ファームウェア又はソフトウェアの場合、実装は、少なくとも1つのチップセットのモジュール又はユニット(例えば、手順、機能など)を含んでもよい。メモリ14は、前述したストレージデバイスなどの、独立している任意の適切なストレージデバイスであってもよい。メモリ及びコンピュータプログラム命令は、特定のデバイスのプロセッサと共に、装置10などのハードウェア装置に、前述したプロセスのいずれかを実行させるように、構成されてもよい(例えば、図1〜11を参照)。したがって、前述したように、特定の実施形態では、非一時的コンピュータ可読媒体は、コンピュータ命令又は1つ又は複数のコンピュータプログラム(追加又は更新されたソフトウェアルーチン、アプレット、又はマクロなど)を使用してエンコードされてもよく、これらのコンピュータ命令又は1つ又は複数のコンピュータプログラムは、ハードウェアにおいて実行されたときに、本明細書に記載されたプロセスのうちの1つなどのプロセスを実行してもよい。代替として、特定の実施形態は、ハードウェアにおいて全体的に実行されてもよい。
[1090]特定の実施形態によれば、メモリ14は、プロセッサ22によって実行できる情報及び命令を格納するために、プロセッサ22に結合されてもよい。メモリ14は、1つ又は複数のメモリであってもよく、ローカルな適用環境に適した任意の種類であってもよく、半導体ベースのメモリデバイス、磁気メモリデバイス若しくはシステム、光メモリデバイス若しくはシステム、固定メモリ、及び取り外し可能メモリなどの、任意の適切な揮発性又は不揮発性データストレージ技術を使用して実装されてもよい。そのようなメモリの例としては、前述したメモリが挙げられる。
[1091]装置10は、信号及び/又はデータを装置10との間で送信及び受信するための1つ又は複数のアンテナ(図示されていない)を含んでもよい。装置10は、トランシーバ28を更に含んでもよく、トランシーバ28は、情報をアンテナ(複数可)による送信用の搬送波形に変調し、アンテナ(複数可)を介して受信された情報を、装置10の他の要素によって更に処理するために復調する。他の実施形態では、トランシーバ28は、信号又はデータを直接送信及び受信することができてもよい。
[1092]特定の実施形態によれば、プロセッサ22は、上で説明され、図に示された手順のいずれかを含むが、これらに限定されない、装置10の動作に関連付けられた機能を実行してもよい。
[1093]他の実施形態では、メモリ14は、プロセッサ22によって実行されたときに機能を提供するソフトウェアモジュールを格納してもよい。これらのモジュールは、オペレーティングシステム機能を装置10に提供するオペレーティングシステム15を含んでもよい。メモリ14は、追加機能を装置10に提供するために、アプリケーション又はプログラムなどの1つ又は複数の機能モジュール18を格納してもよい。装置10の構成要素は、ハードウェア、又はハードウェア及びソフトウェアの任意の適切な組み合わせにおいて実装されてもよい。
[1094]コンピュータコードの例としては、マイクロコード又はマイクロ命令、コンパイラによって生成される機械命令などの機械命令、Webサービスを生成するために使用されるコード、及びインタープリタを使用してコンピュータによって実行される、より高レベルな命令を含んでいるファイルなどが挙げられるが、これらに限定されない。例えば、実施形態は、命令型プログラミング言語(例えば、C、Fortranなど)、関数型プログラミング言語(Haskell、Erlangなど)、論理型プログラミング言語(例えば、Prolog)、オブジェクト指向プログラミング言語(例えば、Java[登録商標]、C++など)、又はその他の適切なプログラミング言語、及び/或いは開発ツールを使用して実装されてもよい。コンピュータコードのその他の例としては、制御信号、暗号化されたコード、及び圧縮されたコードが挙げられるが、これらに限定されない。
[1095]一部の実施形態では、ブロックチェーンシステム及び/又は方法は、ユーザに関連付けられた名前空間を自由に提供するためのデータマスキングを含む。
[1096]一部の実施形態では、ブロックチェーンシステム及び/又は方法は、本明細書に記載されているように、メタデータを保管するように構成される。
[1097]説明された本発明の特徴、優位性、及び特性は、1つ又は複数の実施形態において、任意の適切な方法で組み合わせられ得る。当業者は、特定の実施形態の特定の特徴又は優位性のうちの1つ又は複数がなくても、本発明が実践され得るということを、認識するであろう。他の例では、本発明のすべての実施形態に存在しないことがある追加の特徴及び優位性が、特定の実施形態において認識され得る。当業者は、開示された順序とは異なる順序でステップを使用して、及び/又は開示された構成におけるハードウェア要素とは異なるハードウェア要素を使用して、前述したように本発明を実践できるということを、容易に理解するであろう。したがって、本発明は、これらの好ましい実施形態に基づいて説明されたが、本発明の思想及び範囲内に留まりながら、特定の変更、変形、及び代替の構造が明白であるということは、当業者にとって明らかであろう。
[発明の項目]
[項目1]
統合クラウドコンピューティングネットワーク内で分散型台帳を使用してデータを処理するための方法であって、
前記統合クラウドコンピューティングネットワークのクライアントに関連付けられたトランザクションの分散型台帳のセットをネットワークノードにおいて作成するステップと、
一連の事前に定義されたルールに従って、前記トランザクションに対応するデータを格納して処理するステップと、
前記トランザクションが前記一連の事前に定義されたルールに準拠しているかどうかを確認するために前記トランザクションの妥当性を確認するステップと、
有効なトランザクションごとに、前記分散型台帳のセットのうちの台帳にエントリを追加するステップと、
無効なトランザクションごとに、前記分散型台帳のセットのうちの前記台帳にサイドブランチを追加するステップと、
前記分散型台帳のセットを前記クライアントに関連付けられたエンドポイントに分散するステップと、
を含んでいる、方法。
[項目2]
前記分散型台帳のセットの各分散型台帳が、前記クライアントに固有の一意のルートキーを含んでいる、項目1に記載の方法。
[項目3]
前記一連の事前に定義されたルールが、暗号ルール、地理的ルール、寿命ルール、耐久性ルール、又は保持ルールを含んでいる、項目1に記載の方法。
[項目4]
前記クライアントの前記トランザクションに対応する前記データ、及び少なくとももう1つのクライアントの他のトランザクションに対応するデータを、別々の台帳で維持することを更に含んでいる、項目1に記載の方法。
[項目5]
オブジェクト照会言語モジュール、ハッシュツリーモジュール、及びブロックチェーンモジュールを実装することによって前記分散型台帳のセットを管理するステップを更に含んでいる、項目1に記載の方法。
[項目6]
前記オブジェクト照会言語モジュールが、前記データの処理に関する一連のルールを受信するように構成されており、
前記ハッシュツリーモジュールが、各トランザクションに関する情報を記録するハッシュツリー構造を生成するように構成されており、
前記ブロックチェーンモジュールが、各トランザクションを表すエントリを含む共有台帳を生成するように構成されている、項目5に記載の方法。
[項目7]
少なくとも1つのプロセッサと、
コンピュータプログラムコードを含んでいる少なくとも1つのメモリとを備えている装置であって、
前記少なくとも1つのメモリ及び前記コンピュータプログラムコードが、前記少なくとも1つのプロセッサと共に、前記装置に、
統合クラウドコンピューティングネットワークのクライアントに関連付けられたトランザクションの分散型台帳のセットをネットワークノードにおいて作成することと、
一連の事前に定義されたルールに従って、前記トランザクションに対応するデータを格納して処理することと、
前記トランザクションが前記一連の事前に定義されたルールに準拠しているかどうかを確認するために前記トランザクションの妥当性を確認することと、
有効なトランザクションごとに、前記分散型台帳のセットのうちの台帳にエントリを追加することと、
無効なトランザクションごとに、前記分散型台帳のセットのうちの前記台帳にサイドブランチを追加することと、
前記分散型台帳のセットを前記クライアントに関連付けられたエンドポイントに分散することと、
を少なくとも実行させるように構成されている、装置。
[項目8]
前記分散型台帳のセットの各分散型台帳が、前記クライアントに固有の一意のルートキーを含んでいる、項目7に記載の装置。
[項目9]
前記一連の事前に定義されたルールが、暗号ルール、地理的ルール、寿命ルール、耐久性ルール、又は保持ルールを含んでいる、項目7に記載の装置。
[項目10]
前記少なくとも1つのメモリ及び前記コンピュータプログラムコードが、前記少なくとも1つのプロセッサと共に、前記装置に、前記クライアントの前記トランザクションに対応する前記データ及び少なくとももう1つのクライアントの他のトランザクションに対応するデータを別々の台帳で少なくとも維持させるように、更に構成されている、項目7に記載の装置。
[項目11]
前記少なくとも1つのメモリ及び前記コンピュータプログラムコードが、前記少なくとも1つのプロセッサと共に、前記装置に、オブジェクト照会言語モジュール、ハッシュツリーモジュール、及びブロックチェーンモジュールを実装することによって前記分散型台帳のセットを少なくとも管理することを実行させるように、更に構成されている、項目7に記載の装置。
[項目12]
前記オブジェクト照会言語モジュールが、前記データの処理に関する一連のルールを受信するように構成されており、
前記ハッシュツリーモジュールが、各トランザクションに関する情報を記録するハッシュツリー構造を生成するように構成されており、
前記ブロックチェーンモジュールが、各トランザクションを表すエントリを含む共有台帳を生成するように構成されている、項目11に記載の方法。
[項目13]
非一時的コンピュータ可読媒体上で具現化されるコンピュータプログラムであって、前記コンピュータプログラムが、プロセッサによって実行されたときに、前記プロセッサに、
統合クラウドコンピューティングネットワークのクライアントに関連付けられたトランザクションの分散型台帳のセットをネットワークノードにおいて作成することと、
一連の事前に定義されたルールに従って、前記トランザクションに対応するデータを格納して処理することと、
前記トランザクションが前記一連の事前に定義されたルールに準拠しているかどうかを確認するために、前記トランザクションの妥当性を確認することと、
有効なトランザクションごとに、前記分散型台帳のセットのうちの台帳にエントリを追加することと、
無効なトランザクションごとに、前記分散型台帳のセットのうちの前記台帳にサイドブランチを追加することと、
前記分散型台帳のセットを前記クライアントに関連付けられたエンドポイントに分散することと、
を実行させる、コンピュータプログラム。
[項目14]
前記分散型台帳のセットの各分散型台帳が、前記クライアントに固有の一意のルートキーを含んでいる、項目13に記載のコンピュータプログラム。
[項目15]
前記一連の事前に定義されたルールが、暗号ルール、地理的ルール、寿命ルール、耐久性ルール、又は保持ルールを含んでいる、項目13に記載のコンピュータプログラム。
[項目16]
前記コンピュータプログラムが、プロセッサによって実行されたときに、前記プロセッサに、前記クライアントの前記トランザクションに対応する前記データ、及び少なくとももう1つのクライアントの他のトランザクションに対応するデータを、別々の台帳で維持することを更に実行させる、項目13に記載のコンピュータプログラム。
[項目17]
前記コンピュータプログラムが、プロセッサによって実行されたときに、前記プロセッサに、オブジェクト照会言語モジュール、ハッシュツリーモジュール、及びブロックチェーンモジュールを実装することによって前記分散型台帳のセットを管理することを更に実行させる、項目13に記載のコンピュータプログラム。
[項目18]
前記オブジェクト照会言語モジュールが、前記データの処理に関する一連のルールを受信するように構成されており、
前記ハッシュツリーモジュールが、各トランザクションに関する情報を記録するハッシュツリー構造を生成するように構成されており、
前記ブロックチェーンモジュールが、各トランザクションを表すエントリを含む共有台帳を生成するように構成されている、項目17に記載のコンピュータプログラム。

Claims (18)

  1. 統合クラウドコンピューティングネットワーク内で分散型台帳を使用してデータを処理するための方法であって、
    前記統合クラウドコンピューティングネットワークのクライアントに関連付けられたトランザクションの分散型台帳のセットをネットワークノードにおいて作成するステップと、
    一連の事前に定義されたルールに従って、前記トランザクションに対応するデータを格納して処理するステップと、
    前記格納して処理されたデータに対応する前記トランザクションが前記一連の事前に定義されたルールに準拠しているかどうかを監査するために、前記格納して処理されたデータに対応する前記トランザクションの妥当性を確認するステップと
    効なトランザクションごとに、前記分散型台帳のセットのうちの台帳にエントリを追加するステップと、
    無効なトランザクションごとに、前記分散型台帳のセットのうちの前記台帳にサイドブランチを追加するステップと、
    前記エントリ及び前記サイドブランチを含む前記分散型台帳のセットを前記クライアントに関連付けられたエンドポイントに分散するステップと、
    を含んでいる、方法。
  2. 前記分散型台帳のセットの各分散型台帳が、前記クライアントに固有の一意のルートキーを含んでいる、請求項1に記載の方法。
  3. 前記一連の事前に定義されたルールが、暗号ルール、地理的ルール、寿命ルール、耐久性ルール、又は保持ルールを含んでいる、請求項1に記載の方法。
  4. 前記クライアントの前記トランザクションに対応する前記データ、及び少なくとももう1つのクライアントの他のトランザクションに対応するデータを、別々の台帳で維持することを更に含んでいる、請求項1に記載の方法。
  5. オブジェクト照会言語モジュール、ハッシュツリーモジュール、及びブロックチェーンモジュールを実装することによって前記分散型台帳のセットを管理するステップを更に含んでいる、請求項1に記載の方法。
  6. 前記オブジェクト照会言語モジュールが、前記データの処理に関する一連のルールを受信するように構成されており、
    前記ハッシュツリーモジュールが、各トランザクションに関する情報を記録するハッシュツリー構造を生成するように構成されており、
    前記ブロックチェーンモジュールが、各トランザクションを表すエントリを含む共有台帳を生成するように構成されている、請求項5に記載の方法。
  7. 少なくとも1つのプロセッサと、
    コンピュータプログラムコードを含んでいる少なくとも1つのメモリとを備えている装置であって、
    前記少なくとも1つのメモリ及び前記コンピュータプログラムコードが、前記少なくとも1つのプロセッサと共に、前記装置に、
    統合クラウドコンピューティングネットワークのクライアントに関連付けられたトランザクションの分散型台帳のセットをネットワークノードにおいて作成することと、
    一連の事前に定義されたルールに従って、前記トランザクションに対応するデータを格納して処理することと、
    前記格納して処理されたデータに対応する前記トランザクションが前記一連の事前に定義されたルールに準拠しているかどうかを監査するために、前記格納して処理されたデータに対応する前記トランザクションの妥当性を確認することと
    効なトランザクションごとに、前記分散型台帳のセットのうちの台帳にエントリを追加することと、
    無効なトランザクションごとに、前記分散型台帳のセットのうちの前記台帳にサイドブランチを追加することと、
    前記エントリ及び前記サイドブランチを含む前記分散型台帳のセットを前記クライアントに関連付けられたエンドポイントに分散することと、
    を少なくとも実行させるように構成されている、装置。
  8. 前記分散型台帳のセットの各分散型台帳が、前記クライアントに固有の一意のルートキーを含んでいる、請求項7に記載の装置。
  9. 前記一連の事前に定義されたルールが、暗号ルール、地理的ルール、寿命ルール、耐久性ルール、又は保持ルールを含んでいる、請求項7に記載の装置。
  10. 前記少なくとも1つのメモリ及び前記コンピュータプログラムコードが、前記少なくとも1つのプロセッサと共に、前記装置に、前記クライアントの前記トランザクションに対応する前記データ及び少なくとももう1つのクライアントの他のトランザクションに対応するデータを別々の台帳で少なくとも維持させるように、更に構成されている、請求項7に記載の装置。
  11. 前記少なくとも1つのメモリ及び前記コンピュータプログラムコードが、前記少なくとも1つのプロセッサと共に、前記装置に、オブジェクト照会言語モジュール、ハッシュツリーモジュール、及びブロックチェーンモジュールを実装することによって前記分散型台帳のセットを少なくとも管理することを実行させるように、更に構成されている、請求項7に記載の装置。
  12. 前記オブジェクト照会言語モジュールが、前記データの処理に関する一連のルールを受信するように構成されており、
    前記ハッシュツリーモジュールが、各トランザクションに関する情報を記録するハッシュツリー構造を生成するように構成されており、
    前記ブロックチェーンモジュールが、各トランザクションを表すエントリを含む共有台帳を生成するように構成されている、請求項11に記載の装置。
  13. 非一時的コンピュータ可読媒体上で具現化されるコンピュータプログラムであって、前記コンピュータプログラムが、プロセッサによって実行されたときに、前記プロセッサに、
    統合クラウドコンピューティングネットワークのクライアントに関連付けられたトランザクションの分散型台帳のセットをネットワークノードにおいて作成することと、
    一連の事前に定義されたルールに従って、前記トランザクションに対応するデータを格納して処理することと、
    前記格納して処理されたデータに対応する前記トランザクションが前記一連の事前に定義されたルールに準拠しているかどうかを監査するために、前記格納して処理されたデータに対応する前記トランザクションの妥当性を確認することと
    効なトランザクションごとに、前記分散型台帳のセットのうちの台帳にエントリを追加することと、
    無効なトランザクションごとに、前記分散型台帳のセットのうちの前記台帳にサイドブランチを追加することと、
    前記エントリ及び前記サイドブランチを含む前記分散型台帳のセットを前記クライアントに関連付けられたエンドポイントに分散することと、
    を実行させる、コンピュータプログラム。
  14. 前記分散型台帳のセットの各分散型台帳が、前記クライアントに固有の一意のルートキーを含んでいる、請求項13に記載のコンピュータプログラム。
  15. 前記一連の事前に定義されたルールが、暗号ルール、地理的ルール、寿命ルール、耐久性ルール、又は保持ルールを含んでいる、請求項13に記載のコンピュータプログラム。
  16. 前記コンピュータプログラムが、プロセッサによって実行されたときに、前記プロセッサに、前記クライアントの前記トランザクションに対応する前記データ、及び少なくとももう1つのクライアントの他のトランザクションに対応するデータを、別々の台帳で維持することを更に実行させる、請求項13に記載のコンピュータプログラム。
  17. 前記コンピュータプログラムが、プロセッサによって実行されたときに、前記プロセッサに、オブジェクト照会言語モジュール、ハッシュツリーモジュール、及びブロックチェーンモジュールを実装することによって前記分散型台帳のセットを管理することを更に実行させる、請求項13に記載のコンピュータプログラム。
  18. 前記オブジェクト照会言語モジュールが、前記データの処理に関する一連のルールを受信するように構成されており、
    前記ハッシュツリーモジュールが、各トランザクションに関する情報を記録するハッシュツリー構造を生成するように構成されており、
    前記ブロックチェーンモジュールが、各トランザクションを表すエントリを含む共有台帳を生成するように構成されている、請求項17に記載のコンピュータプログラム。
JP2019515237A 2016-09-21 2017-09-21 データ処理用の分散型台帳を使用するための方法、装置及びコンピュータプログラム Active JP6980769B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662397911P 2016-09-21 2016-09-21
US62/397,911 2016-09-21
PCT/US2017/052688 WO2018057719A1 (en) 2016-09-21 2017-09-21 Systems and methods for using a distributed ledger for data handling

Publications (2)

Publication Number Publication Date
JP2019532419A JP2019532419A (ja) 2019-11-07
JP6980769B2 true JP6980769B2 (ja) 2021-12-15

Family

ID=60022195

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019515237A Active JP6980769B2 (ja) 2016-09-21 2017-09-21 データ処理用の分散型台帳を使用するための方法、装置及びコンピュータプログラム

Country Status (5)

Country Link
US (1) US10789597B2 (ja)
EP (1) EP3516545A1 (ja)
JP (1) JP6980769B2 (ja)
CN (1) CN110024357B (ja)
WO (1) WO2018057719A1 (ja)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US10417217B2 (en) 2016-08-05 2019-09-17 Chicago Mercantile Exchange Inc. Systems and methods for blockchain rule synchronization
KR101849917B1 (ko) * 2016-10-13 2018-05-31 주식회사 코인플러그 스마트 컨트랙트 기반의 인증서 서비스를 제공하는 방법 및 이를 이용한 서버
TW201837815A (zh) * 2017-03-28 2018-10-16 泰德陽光有限公司 分散式稽核方法、裝置及其系統
US10430611B2 (en) * 2017-05-03 2019-10-01 Salesforce.Com, Inc. Techniques and architectures for selective obfuscation of personally identifiable information (PII) in environments capable of replicating data
WO2019092725A1 (en) * 2017-11-13 2019-05-16 Newglobes Ltd. Novel means and methods for implementation of secure transactions.
US20190164157A1 (en) 2017-11-28 2019-05-30 American Express Travel Related Services Company, Inc. Transaction authorization process using blockchain
DE112018006630T5 (de) 2017-12-28 2020-09-24 Intel Corporation Visual fog
US20190034716A1 (en) 2017-12-28 2019-01-31 Intel Corporation Privacy-preserving demographics identification
US11121872B2 (en) * 2018-01-23 2021-09-14 Zeronorth, Inc. Trusted verification of cybersecurity remediation
US11539748B2 (en) 2018-01-23 2022-12-27 Zeronorth, Inc. Monitoring and reporting enterprise level cybersecurity remediation
US20200366495A1 (en) * 2018-01-29 2020-11-19 Ubiquicorp Limited Proof of majority block consensus method for generating and uploading a block to a blockchain
US11063745B1 (en) * 2018-02-13 2021-07-13 EMC IP Holding Company LLC Distributed ledger for multi-cloud service automation
US11387981B2 (en) * 2018-02-13 2022-07-12 Accenture Global Solutions Limited Platform for multi-party digital records using distributed ledger system
CN112767158A (zh) * 2018-02-27 2021-05-07 创新先进技术有限公司 基于区块链的交易执行方法及装置、电子设备
US11582042B2 (en) * 2018-03-16 2023-02-14 General Electric Company Industrial data verification using secure, distributed ledger
US10754989B2 (en) * 2018-03-27 2020-08-25 International Business Machines Corporation Runtime self-correction for blockchain ledgers
KR102181600B1 (ko) * 2018-03-30 2020-11-23 주식회사 코인플러그 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버
US11700132B2 (en) * 2018-05-02 2023-07-11 Cable Television Laboratories, Inc. Systems and methods for secure event and log management
US10985907B2 (en) * 2018-05-16 2021-04-20 International Business Machines Corporation Identifying faults in a blockchain ordering service
US11296864B2 (en) 2018-05-16 2022-04-05 International Business Machines Corporation Identifying faults in a blockchain ordering service
KR102111091B1 (ko) * 2018-05-18 2020-05-14 네이버 주식회사 분산된 온라인 예약 시스템 내 어뷰징 판매 채널을 탐지하는 방법 및 시스템
US11868321B2 (en) 2018-06-12 2024-01-09 Salesforce, Inc. Cryptographically secure multi-tenant data exchange platform
US11281796B2 (en) * 2018-06-13 2022-03-22 At&T Intellectual Property I, L.P. Blockchain based information management
CN108881274B (zh) * 2018-07-06 2019-10-01 众安信息技术服务有限公司 一种基于应用的区块链分片方法及装置
US11088827B2 (en) 2018-07-09 2021-08-10 At&T Intellectual Property I, L.P. Location-based blockchain
GB201811263D0 (en) * 2018-07-10 2018-08-29 Netmaster Solutions Ltd A method and system for managing digital using a blockchain
CN109064173A (zh) * 2018-08-01 2018-12-21 江苏恒宝智能系统技术有限公司 一种节点信息管理系统和方法
US11410174B2 (en) * 2018-08-07 2022-08-09 International Business Machines Corporation Custom blockchain for IoT devices
US10833845B2 (en) 2018-08-30 2020-11-10 International Business Machines Corporation Guarantee of ledger immutability
US10656936B2 (en) * 2018-08-30 2020-05-19 Dell Products L.P. Systems and methods for software integrity validation using blockchain
US10819523B2 (en) 2018-08-30 2020-10-27 International Business Machines Corporation Guarantee of ledger immutability
US11100091B2 (en) * 2018-09-19 2021-08-24 Salesforce.Com, Inc. Lightweight node in a multi-tenant blockchain network
US11128456B2 (en) 2018-09-19 2021-09-21 Cisco Technology, Inc. Assured transport of data over a network
US11809409B2 (en) 2018-09-19 2023-11-07 Salesforce, Inc. Multi-tenant distributed ledger interfaces
US11157484B2 (en) 2018-09-19 2021-10-26 Salesforce.Com, Inc. Advanced smart contract with decentralized ledger in a multi-tenant environment
EP3637673B1 (en) 2018-10-10 2022-02-02 Sap Se Secure data sharing
JP2020071791A (ja) * 2018-11-02 2020-05-07 富士通株式会社 通信方法、通信プログラムおよび通信装置
US20220006640A1 (en) * 2018-11-09 2022-01-06 Velo Holdings Limited Blockchain with non-turing complete system guards
US10936741B2 (en) 2018-11-19 2021-03-02 Bank Of America Corporation Management of access to data stored on a distributed ledger
US20220058549A1 (en) * 2018-11-30 2022-02-24 Shaun Cutts Systems and methods for distributed resource allocation
US20220038289A1 (en) * 2018-12-17 2022-02-03 Xeniro Multi-access edge computing node with distributed ledger
US20200202343A1 (en) * 2018-12-20 2020-06-25 Paypal, Inc. Blockchain-based suspicious activity verification and recording
CN111369243B (zh) * 2018-12-24 2023-07-14 航天信息股份有限公司 一种分布式记账的方法和装置
US11018848B2 (en) 2019-01-02 2021-05-25 Bank Of America Corporation Blockchain management platform for performing asset adjustment, cross sectional editing, and bonding
US11012232B2 (en) 2019-01-02 2021-05-18 Bank Of America Corporation Blockchain management platform for performing asset adjustment, cross sectional editing, and bonding
US11115186B2 (en) 2019-01-02 2021-09-07 Bank Of America Corporation Blockchain management platform for performing asset adjustment, cross sectional editing, and bonding
US11398896B2 (en) * 2019-01-11 2022-07-26 Johnson Controls Tyco IP Holdings LLP Building device with blockchain based verification of building device files
US11836259B2 (en) 2019-01-16 2023-12-05 EMC IP Holding Company LLC Blockchain technology for regulatory compliance of data management systems
US10992676B2 (en) 2019-01-16 2021-04-27 EMC IP Holding Company LLC Leveraging blockchain technology for auditing cloud service for data protection compliance
US10992458B2 (en) 2019-01-16 2021-04-27 EMC IP Holding Company LLC Blockchain technology for data integrity regulation and proof of existence in data protection systems
CN110020548B (zh) * 2019-01-31 2020-04-28 阿里巴巴集团控股有限公司 一种对写入块链的交易进行隐匿的方法及装置
US10909523B2 (en) 2019-02-25 2021-02-02 Capital One Services, Llc Generation of a combinatorial payment QR code
EP3939206A1 (en) 2019-03-12 2022-01-19 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for root cause analysis across multiple network systems
JP2020166732A (ja) * 2019-03-29 2020-10-08 株式会社オージス総研 情報処理装置、情報処理方法及びコンピュータプログラム
US20200322225A1 (en) * 2019-04-05 2020-10-08 Mimik Technology Inc. Method and system for distributed edge cloud computing
CN110046894B (zh) * 2019-04-19 2021-11-09 电子科技大学 一种基于纠删码的分组可重构区块链建立方法
AU2019207310A1 (en) * 2019-04-26 2020-11-12 Advanced New Technologies Co., Ltd. Anti-replay attack authentication protocol
US11150978B2 (en) 2019-04-26 2021-10-19 Bank Of America Corporation Automated system for intelligent error correction within an electronic blockchain ledger
US11194770B2 (en) * 2019-05-02 2021-12-07 International Business Machines Corporation Database mergeable ledgers
US11176273B2 (en) * 2019-05-03 2021-11-16 International Business Machines Corporation Privacy-preserving anomalous behavior detection
US11095661B2 (en) * 2019-05-29 2021-08-17 Cisco Technology, Inc. Enforcing data sovereignty policies in a cloud environment
US11201747B2 (en) * 2019-07-15 2021-12-14 Sap Se Federated data management between partner systems
US11880383B2 (en) 2019-07-15 2024-01-23 Sap Se Federated data management between partner systems
KR102218297B1 (ko) * 2019-08-01 2021-02-24 주식회사 블룸테크놀로지 원장의 증명 가능 프루닝 시스템
CN110650128B (zh) * 2019-09-17 2020-09-11 西安电子科技大学 一种检测以太坊数字货币盗取攻击的系统及方法
JP2021048546A (ja) * 2019-09-20 2021-03-25 富士通株式会社 通信装置、通信方法、通信システム、およびプログラム
WO2021096400A1 (en) * 2019-11-13 2021-05-20 Telefonaktiebolaget Lm Ericsson (Publ) Method of separating a private state and private transactions from an aggregate state and aggregate transactions in a distributed ledger network
US20210173826A1 (en) * 2019-12-05 2021-06-10 Vivsoft Technologies LLC System and methods for securing software chain of custody
US10789383B1 (en) 2020-01-09 2020-09-29 Capital One Services, Llc Systems and methods for data protection
CN115151899A (zh) * 2020-03-04 2022-10-04 三菱电机株式会社 管理装置、管理方法和管理程序
WO2021220360A1 (ja) * 2020-04-27 2021-11-04 三菱電機株式会社 管理装置、管理方法、及び、管理プログラム
US11539523B1 (en) 2020-07-22 2022-12-27 Wells Fargo Bank, N.A. Data creation limits
US11989747B2 (en) 2020-08-05 2024-05-21 Sap Se Smart feedback system
US20220156851A1 (en) * 2020-11-18 2022-05-19 Sage Intacct, Inc. Asserting general ledger balance changes
CN112508571A (zh) * 2020-12-17 2021-03-16 平安国际智慧城市科技股份有限公司 基于区块链的数据处理方法、装置、计算机设备及存储介质
US20230013119A1 (en) * 2021-07-19 2023-01-19 International Business Machines Corporation Tainted asset marker management
WO2024096914A1 (en) * 2022-10-31 2024-05-10 Venkataraman Mohan Blockchain based document and data sharing
CN115840683B (zh) * 2023-02-24 2023-05-16 浪潮电子信息产业股份有限公司 异构联盟链的监控方法、系统、装置、设备及存储介质
CN116662452B (zh) * 2023-07-31 2023-11-03 中国人民解放军军事科学院系统工程研究院 基于区块链和ipfs的无人蜂群数据存储方法及系统

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9684703B2 (en) * 2004-04-29 2017-06-20 Precisionpoint Software Limited Method and apparatus for automatically creating a data warehouse and OLAP cube
US8683228B2 (en) * 2007-01-16 2014-03-25 Terry Lee Stokes System and method for WORM data storage
JP5389740B2 (ja) * 2010-06-08 2014-01-15 日本電信電話株式会社 更新方法、更新装置及び更新システム
US8539006B2 (en) * 2010-11-01 2013-09-17 Microsoft Corporation Logical chart of accounts with hashing
CN103814362B (zh) * 2011-09-30 2016-06-15 国际商业机器公司 用于分布式kvs系统的处理方法和系统
US9338013B2 (en) 2013-12-30 2016-05-10 Palantir Technologies Inc. Verifiable redactable audit log
US10447696B2 (en) * 2014-05-16 2019-10-15 Nec Corporation Method for proving retrievability of information
US9608829B2 (en) 2014-07-25 2017-03-28 Blockchain Technologies Corporation System and method for creating a multi-branched blockchain with configurable protocol rules
WO2016046820A1 (en) * 2014-09-23 2016-03-31 Spondoolies Tech Ltd. System and method for providing shared hash engines architecture for a bitcoin block chain
US20160098730A1 (en) * 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and Method for Block-Chain Verification of Goods
US20160364787A1 (en) * 2015-06-09 2016-12-15 Intel Corporation System, apparatus and method for multi-owner transfer of ownership of a device
JP5952466B2 (ja) * 2015-06-17 2016-07-13 株式会社野村総合研究所 業務情報防護装置および業務情報防護方法、並びにプログラム
US10366204B2 (en) * 2015-08-03 2019-07-30 Change Healthcare Holdings, Llc System and method for decentralized autonomous healthcare economy platform
US10303887B2 (en) * 2015-09-14 2019-05-28 T0.Com, Inc. Data verification methods and systems using a hash tree, such as a time-centric merkle hash tree
CN105488675B (zh) * 2015-11-25 2019-12-24 布比(北京)网络技术有限公司 一种区块链的分布式共享总账构建方法
CN105488431B (zh) * 2015-11-30 2019-12-13 布比(北京)网络技术有限公司 区块链系统权限管理方法和装置
CN105608146A (zh) * 2015-12-17 2016-05-25 布比(北京)网络技术有限公司 一种区块链溯源追踪方法
CN105404701B (zh) * 2015-12-31 2018-11-13 浙江图讯科技股份有限公司 一种基于对等网络的异构数据库同步方法
CN105719185B (zh) * 2016-01-22 2019-02-15 杭州复杂美科技有限公司 区块链的数据对比及共识方法
CN105790954B (zh) * 2016-03-02 2019-04-09 布比(北京)网络技术有限公司 一种构建电子证据的方法和系统
US20170357966A1 (en) * 2016-06-09 2017-12-14 Mastercard International Incorporated Method and system for use of a proprietary private blockchain
US10915969B2 (en) * 2016-08-11 2021-02-09 Jpmorgan Chase Bank, N.A. Systems and methods for enhanced organizational transparency using a credit chain
US10402796B2 (en) * 2016-08-29 2019-09-03 Bank Of America Corporation Application life-cycle transition record recreation system
US10282558B2 (en) * 2016-09-02 2019-05-07 The Toronto-Dominion Bank System and method for maintaining a segregated database in a multiple distributed ledger system

Also Published As

Publication number Publication date
CN110024357A (zh) 2019-07-16
CN110024357B (zh) 2022-01-21
WO2018057719A1 (en) 2018-03-29
EP3516545A1 (en) 2019-07-31
US10789597B2 (en) 2020-09-29
JP2019532419A (ja) 2019-11-07
US20180082296A1 (en) 2018-03-22

Similar Documents

Publication Publication Date Title
JP6980769B2 (ja) データ処理用の分散型台帳を使用するための方法、装置及びコンピュータプログラム
JP7382108B2 (ja) ブロックチェーンのための効率的な検証
US11934550B2 (en) Replacing distinct data in a relational database with a distinct reference to that data and distinct de-referencing of database data
US10366247B2 (en) Replacing distinct data in a relational database with a distinct reference to that data and distinct de-referencing of database data
US20220414252A1 (en) Immutable bootloader and firmware validator
US11334562B2 (en) Blockchain based data management system and method thereof
US20210234682A1 (en) Resilient secret sharing cloud based architecture for data vault
US9424432B2 (en) Systems and methods for secure and persistent retention of sensitive information
CA3072719C (en) Immutable datastore for low-latency reading and writing of large data sets
CN113498589B (zh) 托管机密管理传输系统和方法
EP3709568A1 (en) Deleting user data from a blockchain
CA3088147C (en) Data isolation in distributed hash chains
JP2023551124A (ja) 自己監査ブロックチェーン
EP3472720B1 (en) Digital asset architecture
De Carvalho et al. Secure cloud storage service for detection of security violations
US20220399988A1 (en) Linking blockchain operations
Moreaux et al. Blockchain assisted near-duplicated content detection
US20240184908A1 (en) Replacing distinct data in a relational database with a distinct reference to that data and distinct de-referencing of database data
Securosis Securing big data: Security recommendations for hadoop and NoSQL environments
Daham et al. Remote Data Auditing in a Cloud Computing Environment
Prakash J et al. Blockchain‐based data deduplication using novel content‐defined chunking algorithm in cloud environment
WO2022073584A1 (en) Method and computer system for pricing data storage

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190913

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210603

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210922

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211117

R150 Certificate of patent or registration of utility model

Ref document number: 6980769

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350