JP7393426B2 - 分散コンピューティングおよびストレージのためのインテリジェントで自律的な非中央集権型の市場 - Google Patents

分散コンピューティングおよびストレージのためのインテリジェントで自律的な非中央集権型の市場 Download PDF

Info

Publication number
JP7393426B2
JP7393426B2 JP2021525094A JP2021525094A JP7393426B2 JP 7393426 B2 JP7393426 B2 JP 7393426B2 JP 2021525094 A JP2021525094 A JP 2021525094A JP 2021525094 A JP2021525094 A JP 2021525094A JP 7393426 B2 JP7393426 B2 JP 7393426B2
Authority
JP
Japan
Prior art keywords
node
computing
computational
nodes
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
JP2021525094A
Other languages
English (en)
Other versions
JP2022511686A (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.)
Iagon As
Original Assignee
Iagon As
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=69582142&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP7393426(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Iagon As filed Critical Iagon As
Publication of JP2022511686A publication Critical patent/JP2022511686A/ja
Application granted granted Critical
Publication of JP7393426B2 publication Critical patent/JP7393426B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • 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
    • 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/104Peer-to-peer [P2P] networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/505Clust

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Electrotherapy Devices (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

(関連する出願の参照)
本出願は、2018年11月8日に出願された米国仮特許出願第62/757,327号の優先権の利益を主張するものである。
本実施形態は、非中央集権型クラウドコンピューティング市場に関する。詳細には、幾つかの実施形態は、非中央集権型方式で計算リソースにアクセスする市場(マーケットプレイス)に関する。
一部のユーザや企業は、計算リソースに対する需要が変動する可能性がある。例えば、NETFLIXやHULUなどのビデオストリーミングサービスでは、ユーザが仕事で占有されていない午後5時以降に、より大量の計算リソースを必要とする場合がある。同じビデオストリーミングサービスでも、午後5時以前は、人々が仕事に追われてビデオストリーミングサービスを利用できないため、リソースの必要性が減少する。このような需要の変動は、ビデオストリーミングサービスがリソースを所有することが賢明ではないという点で問題となり得る。むしろ、需要の変動に応じてリソースをレンタルする方が、ビデオストリーミングサービスにとって好ましい場合がある。同様に、データセンターの運営、デスクトップ、あるいは携帯電話の所有者など、計算リソースの所有者は、通常、無料の報酬や収入を得るために利用できる予備の計算リソースを有している。
実施形態の様々な利点は、以下の明細書および添付の特許請求の範囲を読み、以下の図面を参照することによって、当業者に明らかになるであろう。
一実施形態によるインテリジェントで自律的な非中央集権型アーキテクチャの一例を示す図である。 一実施形態による計算リソースを分散するアーキテクチャである。 一実施形態による非中央集権型コンピューティングアーキテクチャである。 一実施形態によるノード接続操作を実行する方法の一例を示すフローチャートである。 一実施形態による、ネットワークにクライアントノードを追加する方法の一例を示すフローチャートである。 一実施形態による処理設定部の一例である。 一実施形態によるグラフィカルユーザインターフェースの一例である。 一実施形態によるグラフィカルユーザインターフェースの一例である。 一実施形態によるクライアント構成とオープンな開発者のインターフェースの一例である。 一実施形態による評価を管理する方法の一例を示すフローチャートである。 一実施形態による評価を更新する方法の一例を示すフローチャートである。
図1は、CPU/GPU処理やデータストレージなどの計算リソースの取り扱いを可能にする、完全に非中央集権化されたインテリジェントで自律的な市場を生成するためのアーキテクチャ100を示している。ゲーム理論的なミクロ経済原理と人工知能(AI)が、市場の管理、リソースの割り当て、評価の管理、および全体的なパフォーマンスの最適化に使用される。幾つかの実施形態では、ブロックチェーンまたは分散型台帳技術(DLT)を用いて、市場参加者の認証、取引監査、データセキュリティ、および全体的な安全性が保証される。
クライアントは、クライアントノード102a~102nによって表すことができる。クライアントノード102a~102nは、ネットワークをトラバースして、Tier1~TierNのマイナー122a~122nによって表され得る適切な(例えば、信頼性が高く、低コストの)分散型計算リソース(例えば、計算処理やストレージ)とマッチングすることができる。すなわち、クライアントノード102a~102nは、ネットワークにアクセスし、自律的な非中央集権型の計算市場(後述)で公開される注文を行うことができる。クライアントノード102a~102nの数は、Tier1~TierNのマイナー122a~122nの数とは異なっていてもよいことが理解されるであろう。すなわち、クライアントノード102nの「n」は、TierNのマイナー122nの「n」および「N」とは異なる数であってもよい。
非中央集権型市場とは、アーキテクチャ100の全体的な機能を維持するために中央集権型コンポーネントが必要でないことを意味してもよい。例えば、非中央集権型アーキテクチャは、中央集権型コンポーネントが存在しないことを意味してもよく、中央集権型コンポーネントがアーキテクチャ100の全体的な機能にとってクリティカルでないことを意味してもよい。
計算リソースの提供者(功利主義者(ユーティリタリアン)とも呼ばれる)は、Tier1~TierNの計算ノード122a~122nと称することもできる。Tier1~TierNの計算ノード122a~122nは、計算リソースを提供することができる。Tier1~TierNの計算ノードは、Tier1~TierNの計算ノード122a~122nが提供するリソースの量を割り当ておよび/または設定することができる。幾つかの実施形態では、Tier1~TierNの計算ノード122a~122nは、人工知能(AI)層110がトークンおよび/または価格のインセンティブ、使用量、および他のパラメータに基づいて量または計算リソースを決定することを可能にしてもよい。
幾つかの実施形態では、AI層110は、KwH(1時間あたりのキロワット)の電気コストを入力するため、Tier1~Nの計算ノード122a~122nにオンライン計算機を提供してもよく、AI層110は、予想される電気コストを計算してもよい。AI層110は、統計的にTier1~Nの計算ノード122a~122nが、クライアントノード102a~102nがそれらを利用できないことに気づく前、3分の1の時間で、利用可能である必要があると想定する。
ストレージについては、AI層110は、マイナーにストレージ(例えば、ハードディスク)の購入日を入力するように求めてもよく、その後、AI層110は、ストレージの典型的な小売原価を考慮して、1GBあたりのコストを償却してもよい。電気コストは、ストレージコストと共に、オークションでの入札時に使用され得るTier1~Nの計算ノード122a~122nの実際のコストを形成してもよい。同様のプロセスが、価格を見積もる(例えば、プロセッサの)他のハードウェアコンポーネントでも起こり得る。
これらのリソースは、P2P非中央集権型市場114で公開されてもよく、そのうちのいくつかは、異なる種類のリソースのため、また、フォールトトレランスのために、動的に作成することができる。クライアントノード102a~102nによって求められているリソースと、Tier1~TierNの計算ノード122a~122nによって提供されているリソースとがマッチングした場合、ブロックチェーンおよび/またはDLT技術を用いてスマートコントラクトトランザクションが消費されてもよい。幾つかの実施形態では、コントラクトロジックによりトランザクションの消費が自動化される。
いくつかのサービス階層(例えば、N個のサービス階層)を、Tier1~TierNの計算ノード122a~122nによって提供することができる。同様に、クライアントノード102a~102nは、特定のサービス階層を所望できる。階層は、異なるレベルの稼働時間、可用性および/または信頼性を備えたコンピューティングおよびストレージ性能のレベルを指定してもよい。
例えば、Tier1は、高パフォーマンスの分散コンピューティングのためのものであってもよい。Tier2は、小企業、中企業、および消費者級のコンピューティングのためのものであってもよい。Tier3は、モバイル・デバイス・コンピューティングのためのものであってもよい。上記では、3つの階層を説明したが、提供される階層の数は限定されず、3つ以上または3つ以下の階層を提供することもできる。
市場の作成を可能にする基本的なメカニズムは、ピアツーピア(P2P)ネットワークプロトコルに基づいている。この特定の例では、Kademila P2P DHTプロトコル108および/またはAI層110により、全てのピアノードの発見、メッセージング、同期、およびリソースの割り当てを管理することができる。
また、評価管理システム124は、高パフォーマンスのTier1の計算ノード~TierNの計算ノード122a~122n(例えば、計算リソース提供者)をランク付けし、リソースの割り当てを強化し、アーキテクチャ100における悪意のあるノードや不正なノードを隔離することができる。例えば、評価管理システム124は、機械学習に基づく予測分析を行い、Tier1~Nの計算ノード122a~122n全てに評価(例えば、1~5で1が最悪、5が最高)を割り当てる評価管理サービスを構築することもできる。このサービスの結果は、ブロックチェーン層を通じて全てのユーザがアクセスでき、これにより、上述した分散型で保証されているように、Tier1~Nの計算ノード122a~122nおよびクライアントノード102a~102nの追加のストレージまたは処理要件を回避することができる。
評価管理システム124は、高パフォーマンスのTier1の計算ノード~TierNの計算ノード122a~122nに、金銭的なインセンティブおよび/またはより多くのジョブを通じて報酬を与えるため、ランキングをAI層110に提供することができる。すなわち、AI層110は、高パフォーマンスのTier1の計算ノード~TierNの計算ノード122a~122nに優遇措置を与えることができる。
このように、幾つかの実施形態は、高品質かつ低コストの計算能力およびストレージを求めるクライアントとの間で計算リソースを商業化するトランザクションベースの市場を作成するため、ブロックチェーンおよび/またはDLTを使用して、ピアツーピア分散型ネットワークにおける分散型計算リソース(計算能力およびストレージ)を割り当て、認証し、管理し、発見する方法およびアーキテクチャ100に関する。例えば、リソースの少なくとも2つは、P2P非中央集権型計算処理116とP2P非中央集権型ストレージ118を含む。
AI層110は、自律的かつインテリジェントな非中央集権型クラウドコンピューティングプラットフォームを作成するために、動作の少なくとも一部を管理および強化することができる。図示されているように、API106は、ユーザインターフェース104とブロックチェーン108との間の呼び出しを容易化することができる。ブロックチェーン108は、トランザクション、ランキング、サービス要求、リソース提供、評価スコアなどの台帳または記録として機能してもよい。
以下、Tier1の計算ノード~ティアNの計算ノード122a~122nにわたってクラウドコンピューティングとストレージを完全に非中央集権化するAI駆動の市場を構築する態様について詳述する。これに対して、他のシステムは、システムの全体的な機能のために必要かつ重要である包括的な中央集権型コンポーネントを有する場合がある。本発明の実施形態は、計算リソースおよびストレージリソースを取引するための柔軟で安全な市場を含む、完全にオープンで非中央集権型の無限に拡張可能なクラウドコンピューティングソリューションを構築するための、分散コンピューティングおよびストレージに関するものであり得る。
ブロックチェーン、DLT、および暗号通貨技術の出現により、インターネット規模のソリューションが可能となり得るようになった。ブロックチェーン、DLT、および/またはP2Pネットワークを活用し、拡張されたリソースを持つ、真に非中央集権化されたインターネット規模のクラウドコンピューティングおよびストレージソリューションを構築することができる。幾つかの実施形態では、コンテナとしてカプセル化されたジョブ(例えば、Dockerコンテナ、ライブラリや他の依存関係を含む、全ての部分を有するアプリケーション)が渡され、クライアントノード102a~102nは、ジョブの実行期間中にのみ支払いが必要となる。このように、ユーザは、ほぼ無制限の高度に利用可能な計算能力に、低コストかつ高効率でアクセスすることができる。
図1に示されるように、アーキテクチャ100は、クライアントノード102a~102nに対するクライアントインターフェース104を含む。クライアントインターフェース104および/またはクライアントノード102a~102nは、様々なプラットフォーム(例えば、WINDOWS(登録商標)、MAC OS、LINUX)であり得る。クライアントインターフェース104は、クライアントノード102a~102n上で動作してもよく、クライアントノード102a~102nから離れていてもよい。クライアントインターフェース104およびクライアントノード102a~102nは、インテリジェントなP2P非中央集権型市場114を介して、分散型計算およびストレージリソースのネットワークインフラストラクチャに接続されてもよい。
幾つかの実施形態において、「アレクサンドリアプロトコル」と呼ばれる人工知能層110は、分散型計算リソースの割り当ておよびパフォーマンスの最適化を可能にする。人工知能層110は、P2P非中央集権型市場114における相互作用から継続的に学習し、P2P非中央集権型市場114の参加者の戦略を最適化する。例えば、人工知能層110は、以下を実行することができる。
1. 分散型P2Pリソースの割り当てと、P2P非中央集権型計算処理116およびP2P非中央集権型ストレージ118のパフォーマンスを計画し、最適化する。
2. クライアントノード102a~102n(例えば、功利主義者)、Tier1~Nのマイナー122a~122n(例えば、クライアント)、および/または管理ノード(後述)など、システム内のノードの評価を構築する。
3. クライアントノード102a~102nの稼働時間や可用性を予測する。
4. タスクの仕様に基づいて、Tier1~TierNのマイナー122a~122nのタスクのおおよその完了時間を予測する。
5. クライアントノード102a~102nに対して、ローカルリソースの利用率と潜在的利益を最大化するように、最適な価格戦略を推奨する。
アーキテクチャ100がより多くのタスクや参加者によりスケールアップするほど、人工知能層110の機械および/または深層学習モデルは、追加のデータから学習し、参加者にとってより効率的で有用になり得る。
幾つかの実施形態では、人工知能層110は、アーキテクチャ100に対する脅威を評価する脅威マネージャ126を含む。幾つかの実施形態では、脅威マネージャ126は、このようなリスクを軽減するために、人工知能層110の動作および/またはパラメータを修正する。例えば、幾つかの実施形態では、脅威マネージャ126は、アーキテクチャ100に潜在的にリスクを課すものとして識別された計算ノード122a~122nの一部を除外し、人工知能層110の動作および/またはパラメータを修正して、このようなリスクを軽減する。
幾つかの実施形態では、人工知能層110は、コンセンサスメカニズムを実装する。コンセンサスメカニズムでは、その名が示すように、Tier1~nの計算ノード122a~122nの複数(例えば、3つまたは別の奇数)の計算ノードに計算タスクを分散し、Tier1~nの計算ノード122a~122nのうち大多数によって提供される結果を選択する。選択された結果と一致しない結果を提供したTier1~nの計算ノード122a~122nは、いかなる補償も得られず、評価スコアに関してペナルティを受ける。
幾つかの実施形態は、非中央集権型の分散コンピューティングおよびストレージ市場の構築に関する。P2P非中央集権型ブロックチェーン108(および/またはDLT)、P2P非中央集権型市場114、Tier1~TierNの計算ノード122a~122n、クライアントノード102a~102n、および分散計算リソース(ストレージおよび計算)のためのAI層110などのアーキテクチャ100の態様は、図2のアーキテクチャ200により詳細に示される。アーキテクチャ200は、アーキテクチャ100の一部として、重複するコンポーネントが互いに含まれる形で容易に実装することができる。
アーキテクチャ200は、1)非中央集権型アプリケーション(Decentralized Application,Dapp)・ウェブクライアントインターフェース層202、2)ブロックチェーンおよび/またはDLT層216(例えば、Ethereum、IOTA、Corda、EOS、Hyperledgerなどの層)、および3)P2Pネットワーク層214を含む少なくとも3つの層によって形成することができる。
下位のP2Pネットワーク層214は、任意の新しいノードがP2Pネットワーク層214に参加し、他のピアに挿入され、同期されるネットワークプロトコルを含み得る。新しいノードが追加されると、計算リソースの提供者(新しいノードの計算ノード)は、計算ノードの計算リソースを市場で利用できるようにする方法と、これらのサービスに対する選択された報酬を設定することができる。また、これらのサービスは、ブロックチェーンおよび/またはDLT216に追加され、Tier1~Nの異なるサービス階層204a~204nによって分類され、ノード206a~206n、208a~208n、210a~210nの計算ノードは、暗号化されたハッシュポインタを使用してリソースの可用性を公開するために自動的にサインアップすることができる。
Tier1~Nの各サービス階層204a~204nは、クライアントと計算ノードの提供者が非中央集権方式で計算リソースを商業化するために相互作用することができる、一定のパラメータ内の計算リソース(例えば、一定の制限間の計算能力およびストレージ)の固有のセットを公開する。サービスのマッチングが識別され、スマートコントラクトまたは任意のスマートコードロジックのトランザクションがブロックチェーンおよび/またはDLT層216で行われると、計算ノードとクライアントノードの間でトークンが交換され、サービスの支払いを行うことができる。
例えば、Tier1 204aは、企業レベルの処理能力およびストレージに対応する。ノード210aは、Tier1 204aカテゴリのサービスを提供する計算ノードであってもよい。すなわち、ノード210aは、企業レベルの処理能力およびストレージを提供することができる。ノード210aは、Tier1 204aにおいて、ノード210aの正確な処理能力およびストレージのレベル、価格設定の要件、サービス契約、時間の制約(例えば、2時間以内または午前2時から午前6時の間に実行できるジョブでなければならない)などを公開する。ノード210nは、クライアントノードであってもよい。ノード210nは、Tier1 204aのサービスレベルを要求し、Tier1 204aの全ての公開ノード情報のリストを受信する。ノード210nは、ノード210aの公開を許容できると判断し、ノード210aを選択することができる。ノード210nは、ノード210aを選択する前に、高レイテンシの通信の可能性を緩和するため、レイテンシテストを実行することもできる。その後、ノード210nは、ノード210aにワークロードをオフロードする。ノード210aがワークロードを完了した後、ノード210nは、ワークロードが十分に実行されたことを検証し、そうであればノード210aにトークンを提供する。
幾つかの実施形態では、ノード210nは、特定の国からの計算ノードおよび/または特定のレイテンシ特性を有する計算ノードを選択するオプションを有する。地域に特化した複数のP2Pネットワークに対応している。例えば、米国西部、米国東部、欧州西部、欧州東部、インド、東南アジアなどのP2Pネットワークが考えられる。これにより、地理的に近い計算ノードの選択が容易になるだけでなく、EUにおけるGDPR規制のような地域固有のデータハンドリング要件を満たすことが可能になる。
サービス階層204a~204nは、以下のように決定することができる。例えば、ネットワーク内の功利主義者は、ラップトップやデスクトップマシンを有するホームユーザが主である場合がある。いくつかの例では、これらの功利主義者は、Tier2 204bの功利主義者として定義される。また、企業級のハードウェアやソフトウェアの提供者、データセンターの運用者が、計算能力やストレージを販売するためにアーキテクチャ300に参加する場合がある。この企業の功利主義者は、Tier1 204aの功利主義者として定義される。さらに、モバイル機器やIoT(Internet of Thing)機器のカテゴリに関連するものはTierN 204nの功利主義者として定義される。これらは、計算能力やストレージ能力は低くても、アーキテクチャ200のピアツーピアネットワークにリソースを提供することができる。
Tier2 204bのレベルは、以下に示すように、異なる範囲の計算能力を表す複数のサブカテゴリに細分化することができる。例えば、T2.smallは、最大2つのCPU、2~4GBのRAM、最高2GHzのCPU速度を有する任意のマシンを表す。階層化とサブカテゴリ化の戦略は、将来的なTier1提供者の追加を考慮している。Tier1、2のサービス階層204a、204bが以下の表1に示される。幾つかの実施形態では、表1は、TierN 204nのサービス提供者を含むことができる。

表1:利用可能な計算リソースに基づくサービス階層の分類
エージェント(例えば、ソフトウェアエージェント、アプリケーション、および/または他のソフトウェアの一部)は、計算ノードのCPUおよびRAMの数を決定し、計算ノードのリソースが該当する階層を自動的に決定することができる。また、エージェントは、その階層の管理ノードを探し、計算リソースを販売するため、管理ノードにより計算ノードをリスト化することができる。計算ノードのユーザ(あるいは計算ノードが自動的に)は、計算リソースを他の人が使用できない期間をリスト化するオプションを有していてもよい。また、計算ノードは、1時間(または他の期間)ごとに計算リソースを共有するための価格(例えばUSD)を提供してもよい。クライアントノードは、功利主義者のリソースを使用するために、N分(例えば、15分)間隔の増分で課金されてもよい。計算機サービスを提供する市場に計算ノードが登録されると、その計算ノードは功利主義者と呼ばれるようになる。
図3は、P2Pネットワーク302内のP2P階層を含む非中央集権型コンピューティングアーキテクチャ300を示す図である。P2P非中央集権型ブロックチェーン(および/またはDLT)市場114、Tier1~TierNの計算ノード122a~122n、クライアントノード102a~102n、分散計算リソース(ストレージおよび計算)のためのAI層110、ノード206a~206n、208a~208n、210a~210n、ブロックチェーン、非中央集権型計算リソース市場212、および非中央集権型アプリケーション・ウェブクライアントインターフェース層202などのアーキテクチャ100(図1)およびアーキテクチャ200(図2)の態様が、図3のアーキテクチャ300にさらに詳細に示されている。アーキテクチャ300は、アーキテクチャ100(図1)および200(図2)の一部として、重複するコンポーネントが互いの中に含まれるように、容易に実装することができる。
P2Pネットワーク302では、計算リソースを含むトランザクションを管理するためのブロックチェーンおよび/またはDLT(例えば、Ethereum、IOTA、Corda、EOS、Hyperledgerなど)を使用して、計算リソースを共有することができる。P2P階層は、本明細書で記載されているような計算リソース市場に基づいて、決定することができる。
幾つかの実施形態では、P2Pネットワーク302の要素は以下を含む。
1. クライアント:自分のタスクを実行するための計算リソースを探しており、リソースに対して支払いを行う意思のあるクライアントノード312、316。
2. 功利主義者:報酬のために自分の予備の計算リソースおよびストレージリソースを売りたい計算ノード308a、308b、310a~310c。
3. 市場の所有者または取引所:クライアントによる功利主義者の発見を容易にする、動的に選択された管理ノード304、306。ネットワーク内には、功利主義者が販売する計算リソースやストレージリソースの範囲に応じて、複数の市場所有者が存在する場合があり、検証および実施のスキームに有利に参加することができる。
なお、ノード304、306、308a、308b、310a~310c、312は、複数のモードを有することができる。例えば、ノード304、306、308a、308b、310a~310c、312のいずれかは、2つのモードを有していてもよく、クライアント、功利主義者のP2Pノード(例えば、リソース提供者)、および市場所有者のうちの2つ以上として機能してもよい。
図3に示すように、サービス階層の特定の例では、計算リソースのための2つの市場が存在しており、P2Pネットワーク302の管理ノード304(例えば、T2nano)および管理ノード306(例えば、T2large)を通じて識別される。計算リソースを販売する計算ノード310a~310c、308a、308bは、適切な管理ノード304、306を介して、これら2つの市場のいずれかに自身を掲載することができる。例えば、計算ノード310a~310c、308a、308bは、管理ノード304、306を介して、リソースの可用性をブロードキャストすることができる。
同様に、計算リソースを探したいクライアントノード312、316は、所望のサービスレベルで、適切な管理ノード306、304の市場所有者を識別し、サービスを提供可能な管理ノード304、306から功利主義者のリストを取得することができる。
例えば、特定の階層(例えば、Tier2)内に計算リソースの3つのサブカテゴリ、1)ナノ、2)ミディアム、3)ラージがあってもよい。「ナノ」は、功利主義者が市場に提供できる小さなリソース(例えば、コンピュータストレージおよび処理)を意味し、「ミディアム」は、功利主義者が提供できる中程度のリソース(例えば、コンピュータストレージおよび処理)を意味し、「ラージ」は、功利主義者が提供できる大きなリソース(例えば、コンピュータストレージおよび処理)を意味する。
ノード304、306、308a、308b、310a~310c、312は、パブリックなブロックチェーンおよび/またはDLTアドレスを有していてもよい。ノード304、306、308a、308b、310a~310c、312は、P2Pネットワーク302から生成できる価値を最大化するために参加する論理的エンティティと考えてよい。幾つかの実施形態では、ゲーム理論の原理が適用され得る。一方で、ネットワーク内には悪意のあるノードも存在する可能性があり、これらのネットワーク運用への影響を最小化するための例示的な方法について以下で議論する。
幾つかの実施形態では、コントロールプレーン322は、脅威モデルのシナリオおよびソリューションを識別するため、脅威マネージャ126と類似した脅威マネージャ324を含む。すなわち、幾つかの実施形態では、重要な中央集権的ガバナンスを持たない完全または実質的に非中央集権化されたシステムを含むため、異なる参加者が利己的な利益のためにアーキテクチャ300を操作しようとする様々なシナリオが存在し得る。脅威マネージャ324は、そのような重要なシナリオを識別し、システム全体が高い性能と忠実さをもって機能し続けることを保証するための技術的解決策を定めることができる。
例えば、エクリプス攻撃では、攻撃者が個々のノードをP2Pネットワークに参加できないようにすることができる。このような攻撃は、例えば、ネットワークノードの50%以上が攻撃者によって制御されている場合に可能である。例示的な実施形態によると、IPアドレスをブロックチェーン(例えば、Ethereum)パブリックアドレスと共に追加することで、以下のようなノードのP2PネットワークIDを生成する。
このように、上述のようなIDを割り当てることで、エクリプス攻撃に関連するリスクを軽減することができる。
シビル攻撃は、攻撃者がP2Pネットワーク302のノード304、306、308a、308b、310a~310c、312、316の大部分を制御して、P2Pネットワーク302の全体的な評価と機能を低下させることができるエクリプス攻撃の拡張版である。実際、この攻撃は、エクリプス攻撃が成功するための前提条件である。
アーキテクチャ300におけるシビル攻撃の1つの現れは、攻撃者が市場および計算ノード310a~310c、308a、308b(例えば、功利主義者)を制御し、クライアントの計算の制御を行い、実際の作業を行わずに計算ノード310a~310c、308a、308bの作業に対する報酬を得ることである。クライアントノード312、316のうち、仕事を実行するために、計算ノード310a~310c、308a、308bのうちの単一の計算ノード、または、計算ノード310a~310c、308a、308bのセットに依存するクライアントノードは、受け取った出力の正否を知る方法がない。
エクリプス攻撃について上述した技術的解決策および緩和戦略は有用となり得る。また、P2Pネットワーク302内の管理ノード、計算ノード、およびクライアントノード304、306、308a、308b、310a~310c、312、316のうち「善良な」ノードがシビル攻撃の影響を最小限に抑えることができるように採用可能な技術がいくつかある。これらの技術は、評価管理および計算結果のクロスチェックを中心に展開される。このように、幾つかの実施形態では、シビル攻撃から保護するために、管理の詳細を維持し、計算結果をクロスチェックする。
いくつかの攻撃では、貪欲な功利主義者が、タスクに対して低コストの付け値を提示し、その後、クライアントノード312、316に対して質の悪いサービスを提供する場合がある。クライアントノード312、316は、貪欲な功利主義者が自分に提供されたタスクに対して低品質の計算や正しくない計算を提供したことをすぐに知ることができない可能性がある。これは、シビル攻撃の一形態であるかもしれないが、実際にタスクを完了することなくタスクに対する報酬を得たい貪欲な功利主義者がいるという小規模なものである。シビル攻撃に対処するために提案された技術は、このような貪欲な功利主義者がオークションプロセスに勝つのを避けるためにも、貪欲な功利主義者が必要な計算を行わなかった出力を検出するためにも有用である。
幾つかの実施形態では、悪意のある市場所有者(例えば、管理ノード)が存在することがある。この攻撃シナリオでは、P2Pネットワーク302に悪意のある市場所有者が存在することの影響について議論される。このシナリオでは、起こり得る攻撃の種類として、a)悪意のある計算ノード(例えば、功利主義者)と結託して、善良なノードがオークションプロセスに参加するのを妨げること、b)システム全体の有用性を低下させるために、情報を保存しない、および/または、クライアントノード312、316と共有しないこと、が挙げられる。以下の問題は、解決策の一部として以下の方法によって対処されてもよく、脅威マネージャ324を介して実施および/または伝播されてもよい。
1)(ここで説明した)計算ノード308a、308b、310a~310cに対する評価を構築する方法と同様に、市場所有者に対する評価を構築する。
2)所与のサービス階層ごとに、市場所有者を交代させる。以下で説明するように、アーキテクチャ300では、入力値のTier1のハッシュを計算するため、その年の週番号を使用する。そのため、毎週、計算ノード308a、308b、310a~310cは、同じ階層であっても、P2Pネットワーク302から選択される新しい管理ノードに再登録される。クライアントノード312、316は、新しい管理ノードを探すのに使用するハッシュも更新し続けるため、新しい管理ノードを見つけられる可能性がある。なお、幾つかの実施形態では、インスタントアーキテクチャ300における時間は、協定世界時(UTC)に基づいていてもよい。これにより、P2Pネットワーク302全体で時計をグローバルに同期させる必要がなくなる。クライアントノード312、316のクライアントノードが、ある階層について管理ノード304、306から管理ノードを探し、計算ノード情報を受信しなかった場合、アーキテクチャ300は、週番号を1だけ繰り上げて新たな管理ノードを自動的にリトライしてもよい。すなわち、幾つかの実施形態では、レジリエンシを確保するために、アクティブ-アクティブモードまたはアクティブ-パッシブモードのいずれかで、複数のネットワークノードが市場の共同所有者として働くようにサポートしてもよい。市場所有者になることに同意したノードは、ChordやKademliaなどのプロトコルを使用してピアツーピアネットワークを形成し、ハッシュを生成し、そのハッシュ値に対して検索を行うことで、計算リソース値の正確な市場所有者が決定される。
3) 階層ごとに冗長な市場所有者(管理ノード)が存在してもよい。冗長な管理ノードは、指定された管理ノードのすぐ次の隣接ノードであってもよい。例えば、管理ノード306がTier1の市場所有者だとすると、計算ノード310a~310cは、後続のノード2にもリストアップされてもよい。クライアントノード310は、管理ノード306から計算ノード310a~310cのリストを取得する際に、ノード2にも連絡して、計算ノード310a~310cのリストを取得してもよい。計算ノード310a~310cに連絡した後でも、2つのデータセットが大きく異なる場合、クライアントノード312は、管理ノード306への支払いを省略し、また、管理ノード306の評価が悪いことをブロードキャストしてもよい。
幾つかの実施形態では、ただ乗りのクライアントがアーキテクチャ300を使用することがある。すなわち、計算ノード308a、308b、310a~310cにタスクを実行してもらいながら、計算ノード308a、308b、310a~310cや管理ノード304、306への支払いをしないことで、クライアントノード312、316がP2Pネットワーク302内のリソースを悪用する可能性がある。これは、ブロックチェーンおよび/またはDLTをエスクローとして使用し、スマートコントラクトによって取引を強制することで解決される。
幾つかの実施形態では、結果検証技術として、計算ノードが「ジャンクな結果」をクライアントノードに返さないようにすることが採用される(例えば、トロイの木馬の注入など)。これを緩和するために、幾つかの実施形態では、既知の出力値と検証可能な値を有するクライアント計算のステップを自動的に注入することが含まれる。タスクが完了すると、計算ノードからの出力結果には、この既知の値が含まれているはずである。ウェブホスティングに関連するDockerタスクは、計算ノードが期待されるウェブサイト(またはウェブサービス)をホストしていることを確認するために、継続的にチェックすることができる「ヘルスチェックURL」を受け入れることができる。既知の値が欠けている場合、アーキテクチャ300は、計算ノードがクライアントノードの仕様通りにタスクを処理していないと判断し、支払いを行うべきではないと判断することができる。
図4は、ノード接続動作を実行する方法400を示している。方法400は、一般に、計算機によって実装され、例えば、上述したアーキテクチャ100(図1)、アーキテクチャ200(図2)、およびアーキテクチャ300(図3)など、本明細書で説明した実施形態のいずれかと連携して実装することができる。一実施形態では、方法400は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、プログラマブルROM(PROM)、ファームウェア、フラッシュメモリなどの機械またはコンピュータ読み取り可能な記憶媒体、プログラマブルロジックアレイ(PLA)、フィールドプログラマブルゲートアレイ(FPGA)、複合プログラマブルロジックデバイス(CPLD)などのコンフィギュラブルロジック、特定用途向け集積回路(ASIC)、相補型金属酸化膜半導体(CMOS)、トランジスタ-トランジスタ論理(TTL)技術などの回路技術を用いた固定機能性論理ハードウェア、またはそれらの任意の組み合わせに格納された論理命令のセットとして1つ以上のモジュールで実装される。
例えば、方法400に示された動作を実行するコンピュータプログラムコードは、JAVA(登録商標)、SMALLTALK(登録商標)、C++などのオブジェクト指向プログラミング言語と、「C」プログラミング言語などの従来の手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで書かれてもよい。また、論理命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、状態設定データ、集積回路の構成データ、電子回路をパーソナライズする状態情報、および/またはハードウェア(ホストプロセッサ、中央処理装置(CPU)、マイクロコントローラなど)に固有の他の構造コンポーネントを含み得る。
図示された処理ブロック402では、計算ノードがネットワーク(例えば、P2Pネットワーク)に参加する。処理ブロック402は、P2PネットワークID=hash(ブロックチェーンおよび/またはDLPのパブリックアドレス,IPアドレス,国コード)などのP2Pネットワークの識別(ID)を生成することを含んでもよい。幾つかの実施形態では、処理ブロック402は、新しいノードがネットワークに参加するのを助ける公開ノードのリストを決定する。これに代わって、または同時に、既にP2Pネットワークの一部である検証済みのノードのランダムなリストを返すブロックチェーンからノードのリストを返すAPIを提供してもよい。
幾つかの実施形態では、P2PネットワークIDを生成するためのデータは、ネットワークが新規ユーザのP2Pネットワークへの参加を可能にするために提供するディレクトリサービスを介して提供されてもよい。あるいは、これらのデータは、新規ユーザがブロックチェーンに直接問い合わせて、P2Pネットワークに参加する可能性のあるユーザのリストを取得することで配布されてもよい。
この特定の例では、ネットワークに参加するノードは、計算ノードである。したがって、計算ノード(例えば、作業者および/または功利主義者)は、計算ノードが提供し得るサービスの階層を選択する404。これは、処理能力(例えば、CPUの数、CPUの種類、GPUの数、GPUの種類)および利用可能なストレージ(例えば、RAM、ソリッドステートドライブおよび/またはハードドライブなどの長期ストレージなど)に基づいてもよい。
図示された処理ブロック406では、階層に対して選択されたリソース要件が、計算ノードの履歴記録を満たすか否か決定する。例えば、計算リソースを販売する資格を得るためには、計算ノードは、過去1時間のCPUおよび/またはGPUの利用率が50%以下である必要がある。つまり、計算ノードの過去のリソース使用量(例えば、利用可能なリソース量)が、その階層の最小要件(例えば、販売対象となるリソースの最小量)を満たす必要がある。アプリケーションやタイミングなどに応じて、他の閾値を採用してもよい。また、計算リソースのクラスごとに異なる階層の定義があってもよい。リソース要件を満たさない場合、図示された処理ブロック404が実行されて、別のサービス階層が選択される。
リソース要件を満たす場合、図示された処理ブロック408では、サービス階層に基づいて、管理ノードネットワークIDが生成される。例えば、計算ノードは、計算ノードが提供するサービス階層の管理ノードに対して、管理ノードP2PネットワークIDを生成する。管理ノードネットワークIDにより、その階層の市場所有者を識別することができる。幾つかの実施形態では、単一の市場所有者が所定のサービス階層を独占しないようにするために(それによって、悪意のある攻撃および/または中央管理の確率を低減するために)、ハッシュ関数において、乱数(例えば、週番号)が追加されてもよい。市場所有者のP2PネットワークIDは、「hash(vCPUs,RAM,週番号)」で識別することができる。
図示された処理ブロック410では、計算ノードの追加および計算ノードの関連する特徴(例えば、利用可能なリソース、価格設定要求など)を管理ノードに通知する。例えば、計算ノードは、自身を管理ノードに登録してもよい。この登録情報は、タプル(例えば、IPアドレス、利用可能な時間間隔、利用可能なリソースなど)の形式であってもよい。また、この登録のコピーは、監査のためにブロックチェーンおよび/またはDLTに保存されてもよい。
図5は、ネットワークにクライアントノードを追加する方法500を示している。方法500は、一般に、例えば、上述したアーキテクチャ100(図1)、アーキテクチャ200(図2)、アーキテクチャ300(図3)、および方法400(図4)のような、ここに記載された実施形態のいずれかと組み合わせて実装することができる。より詳細には、方法500は、RAM、ROM、PROM、ファームウェア、フラッシュメモリなどの機械またはコンピュータで読み取り可能な記憶媒体、PLA、FPGA、CPLDなどのコンフィギュラブルロジック、ASIC、CMOS、TTL技術などの回路技術を用いた固定機能性論理ハードウェア、またはそれらの任意の組み合わせに格納された論理命令のセットとして、1つ以上のモジュールで実装される。
図示された処理ブロック502において、クライアントノードは、ネットワークに参加し、所望のサービス階層の管理ノードを識別する。例えば、クライアントノードのユーザは、Dockerイメージとして指定された自分のタスクに必要なサービス階層を指定する。選択された階層に基づいて、クライアントノードは、対応する市場所有者(例えば、管理ノード)を探す。この検索プロセスは、方法400で上述した計算ノードの検索で説明したプロセスと同様または同じであってよい。
図示された処理ブロック504において、クライアントノードは、管理ノードに連絡し、管理ノードから全ての計算ノードのリストを受信することができる。次いで、図示された処理ブロック506において、クライアントノードはオークションを実施することができる。このオークションの間、クライアントノードは、価格設定情報について全ての計算ノードに連絡してもよい。粒度(例えば、15分)を用いて、実行価格(オークションが開かれている時間帯)を指定する返信を受け取ってもよい。この返信は、計算ノードが依然として計算ノードを共有できているかどうかの検証にもなる。
図示された処理ブロック508において、クライアントノードは、返信した全ての計算ノードのレイテンシを測定する。所定の閾値(例えば、デフォルトで5秒)より大きいレイテンシを有する全ての計算ノードが拒絶されてもよい。幾つかの実施形態では、レイテンシは、計算ノードからクライアントノードへのメッセージがクライアントノードに到達するまでの時間として測定される。
図示された処理ブロック510において、功利主義者のノードからの入札価格および/またはレイテンシ分析を受信すると、クライアントノードは、計算ノードのうち、レイテンシ閾値を満たす最低入札額の1つ以上の計算ノードを選択する。幾つかの実施形態では、クライアントノードは、レイテンシが、より安価な計算ノードよりも望ましいことを示す速度閾値以下である場合、より高価な計算ノードを選択してもよい。
図示された処理ブロック512では、選択された1つ以上の計算ノードに実行されるイメージを送信する。すなわち、クライアントノードは、1つ以上の計算ノードと通信し、実行されるべきDockerイメージを送信する。図示された処理ブロック514において、クライアントノードは、1つ以上の計算ノードによる計算結果を受信する。例えば、1つ以上の計算ノードからの計算結果は、クライアントノードに送り返され、所定のディレクトリに、またはコールバックのユニフォームリソースインジケータ(URI)を介して格納される。
図示された処理ブロック516では、支払いが行われる。幾つかの実施形態では、クライアントノードによって支払われる価格は、ヴィックリーオークションで説明されるように、計算ノードの全ての入札額から2番目に低い価格であってもよい。この形式のオークションメカニズムは、計算ノードの最良の入札戦略が、計算リソースの提供コストを真に共有することであることを保証する。また、オークションの詳細は、ブロックチェーンに記録されてもよい。幾つかの実施形態では、管理ノードは、クライアントノードから支払いを受けてもよい。管理ノードへの支払い額は、最低入札額(1つ以上の計算ノードが提供した入札額)と2番目に低い入札額との間の金額の差である。
例えば、ヴィックリーオークションでは、計算ノードが計算リソースを提供するコストを見積もる際、真実を伝えることが最良の戦略となる。計算ノードは、最低コストに基づいて選択されるかもしれないが、彼らが受け取る報酬は、同じ市場に掲載された2番目に低いコストである。幾つかの実施形態では、ヴィックリーオークションプロトコルをさらに拡張して、ファイルがチャンクされて複製される必要があり、したがって複数のマイナーに保存される必要があるため、オークションの最後に複数の勝者が選択される可能性があることが考慮されてもよい。さらに、オークションの参加者全員がオンラインであり、互いに知らないという事実に起因する複数の障害シナリオが考慮されてもよい。
方法500は、全てスマートコントラクトによって制御されてもよい。
図6は、功利主義者が自分のリソースを売るための値を設定することができるアプリケーション(または他のソフトウェア)における処理設定部600を示している。図示されているように、ユーザおよび/または計算ノードは、パラメータ606を設定することができる。パラメータ606は、クライアントノードが利用可能なディスクスペース604のサイズや、アプリケーションがユーザの入力および計算ノードの構成に基づいて自動的に定義する階層設定602を含んでもよい。
図7は、ユーザおよび/またはクライアントノードが、タスクの分散実行のためにネットワーク内の計算ノードから計算リソースを購入できるようにするためのグラフィカルユーザインターフェース700を示している。グラフィカルユーザインターフェース700は、クライアントが、自分のタスクを実行するために必要な計算能力の階層に対する要件をどのように設定できるかを示している。例えば、クライアントノードが、クライアントノードのタスク要件702を指定し、実行するDockerイメージ704を指定した後、ソフトウェアエージェントは、その階層の管理ノードに到達し、利用可能な功利主義者(計算ノード)のリストを取得してもよい。クライアントノードのユーザは、図8に示すように、功利主義者の詳細を、功利主義者を選択するためのオプションとともに提供されてもよい。
例えば、グラフィカルユーザインターフェース800は、市場に提供された功利主義者リソース802をリストアップしている。ユーザが功利主義者リソース802の1つを選択しない場合、エージェントは、レイテンシテストによる関連する功利主義者へのレイテンシが所定値以下である限り、可能な限り低いコストの功利主義者リソース804から功利主義者リソースを自動的に選択するように構成することもできる。
幾つかの実施形態では、クライアントノードは、テスト結果が保存されるディレクトリを構成してもよい。計算結果が利用可能になると、ユーザは、作業が完了したことを確認する電子メールを受け取るオプションがある。また、アプリケーションは、同じアクションに関する通知を提供してもよい。
図9は、REST API910を用いたオープンな開発者のインターフェース900およびクライアント構成を示す図である。ユーザがストレージ容量を売買できるアプリケーションに市場を統合することができる。同様の機能を、計算リソースの売買や管理のためのRESTful API 910を通じて提供してもよい。このようなオープンプラットフォームにより、開発者は大規模で安価、かつアクセスが容易な計算リソースを活用した新しい革新的なアプリケーションを構築することができる。図示されているように、インターフェース900は、Electronアプリケーション902、ウェブユーザインターフェース908、ノードウェブサービス904、およびDocker エンジン906を含んでもよい。
以下は、REST API 910を実装するための疑似コードである。
販売する計算リソースの作成
特定の階層の計算リソースを提供する功利主義者のリストを取得
選択された功利主義者で実行するためのDockerインスタンスを提出
Dockerエンジン906において単一のDockerコンテナとしてパッケージ化されたクライアントのタスクが管理されてもよい。ワークロードの中には、相互に依存したタスクの集合を必要とするものがあり、それらは中間的な並列処理を経て順次実行される必要がある。一般的なワークフロー管理システムが提供されており、クライアントはこれを利用してタスクのワークフローを定義し、送信することができる。ワークフロー管理システムは、全てのタスクの実行を自動的にスケジューリングし、管理し、最適化することで、必要な全てのタスクを完了するための最高の信頼性、性能、コスト効果を提供する。
図10は、評価を管理する方法1000を示している。方法1000は、一般に、例えば、上述したアーキテクチャ100(図1)、アーキテクチャ200(図2)、アーキテクチャ300(図3)、方法400(図4)、および方法500(図5)のような、ここに記載された実施形態のいずれかと組み合わせて実装することができる。より詳細には、方法1000は、RAM、ROM、PROM、ファームウェア、フラッシュメモリなどの機械またはコンピュータで読み取り可能な記憶媒体、PLA、FPGA、CPLDなどのコンフィギュラブルロジック、ASIC、CMOS、TTL技術などの回路技術を用いた固定機能性論理ハードウェア、またはそれらの任意の組み合わせに格納された論理命令のセットとして1つ以上のモジュールで実装される。
幾つかの実施形態によれば、革新的な評価管理とインセンティブエンジニアリングにより、システムの自立が可能となる。上述したように、低い評価スコアに基づいて、悪意のある、または性能の低い計算ノード、管理ノード、およびクライアントノードをアーキテクチャから削除することができる。
ネットワーク内の全てのノードは、他の全てのノードの評価のコピーを有してもよい。評価は、他のノードとの作業に関するノードの直接的な経験や、ノードが受信した評価ブロードキャストメッセージの集約された表現であってもよい。この評価は、功利主義者、市場所有者、クライアントの他の全てのノードに対して算出され得る。
例示的な実施形態によれば、評価管理は以下のように実行される。図示された処理ブロック1002において、計算ノードは、トランザクションを完了する。図示された処理ブロック1004において、トランザクションが正常に完了した後、計算ノードは、完了証明書を生成する。図示の処理ブロック1006では、計算ノードがネットワーク上で認識している他の全てのノードに完了証明書をブロードキャストする。完了証明書には、クライアントノードから計算ノードへの支払いトランザクションを記録したブロックチェーンブロックへのハッシュポインタが含まれていてもよい。完了証明書を受け取った他のノードは、以下のように計算ノードの評価を計算する。
新しい功利主義者評価=f(古い功利主義者評価×クライアント評価)、または2つの値のいずれかが0である場合は1 (式1)
同じペアの計算ノードとクライアントノードの場合、1週間に1回だけ評価を増加させる。
評価は、ノードのP2PネットワークIDと関連付けられてもよく、これはブロックチェーンのパブリックアドレスと関連付けられることを意味する。また、評価は、単調に増加する整数であってもよい。値が大きいほど評価が高くなり、ゼロが最低であることを意味する。また、ゼロの値は、ノードの評価が不明であることも意味する。悪意のあるノードは常にそのP2PネットワークIDを再生成し、未知のノードとしてネットワークに再参加することができるため、最低評価と未知の評価は互換的に扱われ得る。
図11は、評価を更新する方法を示している。図示された処理ブロック1102では、完了証明書を受信する。図示された処理ブロック1104では、完了証明書に関連付けられたノードの評価スコアを計算する。図示された処理ブロック1106では、ノードの新しい完了証明書が制限時間内に受信されたかどうかを決定する。例えば、ノードの評価は、時間の減衰関数であってもよい。したがって、功利主義者がサービスを提供しなければ、時間の経過とともに徐々に下がっていく。新しい証明書が受信されない場合、図示された処理ブロック1108において、以下のように評価が下がる。
新しい評価=過去30日間の評価×α+以前の評価×(1-α) (式2)
上記の式において、αは、より新しい評価に割り当てられる重みを制御する。上述したように、ノードの評価は、ノードがサービスを提供および/または受信することを決定する際の判断材料の一部となる。
実施形態は、あらゆる種類の半導体集積回路(「IC」)チップでの使用に適用可能である。これらのICチップの例としては、プロセッサ、コントローラ、チップセットコンポーネント、プログラマブルロジックアレイ(PLA)、メモリチップ、ネットワークチップ、システムオンチップ(SoC)、SSD/NANDコントローラASICなどが挙げられるが、これらに限定されるものではない。また、一部の図面では、信号線が線で表されている。これは、より多くの構成信号経路を示すために異なるものであったり、構成信号経路の数を示すために数字が付されていたり、一次情報の流れ方向を示すために1つ以上の端部に矢印が付いていたりする場合がある。しかしながら、これらは限定的に解釈されるべきではない。むしろ、このような追加情報は、回路の理解を容易にするために、1つ以上の例示的な実施形態に関連して使用される。表現された信号線は、追加情報を有するか否かにかかわらず、実際には複数の方向に進むことができる複数の信号で構成されていてもよく、任意の適切な種類の信号方式、例えば、差動ペアで実装されたデジタルまたはアナログ線、光ファイバ線、および/またはシングルエンド線で実装されてもよい。
例示的なサイズ/モデル/値/範囲が与えられるが、実施形態はこれらに限定されない。製造技術(例えば、フォトリソグラフィ)が時間をかけて成熟するにつれて、より小さなサイズのデバイスが製造されることが期待される。さらに、ICチップや他のコンポーネントへの既知の電源/グラウンド接続は、図解や議論を簡略化するために、また、実施形態の特定の態様が不明瞭となるのを避けるために、図内に示されている場合もあれば、示されていない場合もある。また、このようなブロック図の配置の実装に関する詳細は、実施形態が不明瞭となるのを避けるため、また、実施形態が実装される計算システムに大きく依存するという事実を考慮して、ブロック図の形式で示される場合があるが、このような詳細は当業者の範囲内であるべきである。例示的な実施形態を説明するために、具体的な詳細(例えば、回路)が記載されている場合、当業者には、これらの具体的な詳細がなくても、または、これらの具体的な詳細を変更しても、実施形態が可能であることが明らかになるはずである。したがって、この説明は、限定的なものではなく、例示的なものとみなされるべきである。
「接続」という用語は、本明細書では、構成要素の間の直接的または間接的なあらゆる種類の関係を指すために使用され、電気的、機械的、流体的、光学的、電磁的、電気機械的、またはその他の接続に適用され得る。また、「第1」、「第2」などの用語は、議論を容易にするためにのみ本明細書で使用され、別段の指示がない限り、時間的または年代的な意味を特に持たない。
本出願および特許請求の範囲で使用されるように、「~の1つ以上」という用語で結合された項目のリストは、リストされた用語の任意の組み合わせを意味してもよい。例えば、「A、B、またはCの1つ以上」という表現は、A;B;C;AとB;AとC;BとC;またはAとBとCを意味してもよい。
当業者は、上述の説明から、実施形態の広範な技術が様々な形態で実施可能であることを理解するだろう。したがって、実施形態をその特定の例に関連して説明してきたが、図面、明細書、および以下の特許請求の範囲を検討すると、当業者には他の変更が明らかになるため、実施形態の真の範囲はそのように限定されるべきではない。

Claims (24)

  1. 階層内にある複数の計算ノードのリストを生成する管理ノードと、
    他のノードが利用するための計算リソースを提供する第1の計算ノードであって、前記計算リソースに少なくとも部分的に基づいて、前記第1の計算ノードが前記階層内にあるか判定を行い、前記判定に基づいて、前記第1の計算ノードを前記リストに追加するように前記管理ノードに通知を送信する第1の計算ノードと、
    クライアントノードであって、前記クライアントノードに関連付けられた1つ以上のタスクを実行するために利用されると予測される計算能力に基づいて、前記階層の識別を行い、前記識別に基づいて、前記管理ノードを識別し、前記管理ノードに前記リストを要求するクライアントノードと、を備えるピアツーピアネットワーク。
  2. 前記計算リソースは、1つ以上の利用可能な中央処理装置と、利用可能なメモリを含む請求項1に記載のピアツーピアネットワーク。
  3. 前記管理ノードは、前記リストを前記クライアントノードに送信する請求項1に記載のピアツーピアネットワーク。
  4. 前記クライアントノードは、前記複数の計算ノードの中から、最低コストのノードを識別する請求項1に記載のピアツーピアネットワーク。
  5. 前記クライアントノードは、前記クライアントノードと前記最低コストのノードとの間のレイテンシを決定するため、レイテンシテストを実行する請求項4に記載のピアツーピアネットワーク。
  6. 前記クライアントノードは、
    前記レイテンシが閾値より大きいか判定し、
    前記レイテンシが前記閾値より大きいと判定された前記計算ノードを拒絶する請求項5に記載のピアツーピアネットワーク。
  7. 前記第1の計算ノードは、少なくとも電気コストとユーザの入力に基づいて、前記計算リソースを利用するためのコストを決定する請求項1に記載のピアツーピアネットワーク。
  8. 前記第1の計算ノードは、前記計算リソースの識別を前記管理ノードに送信する請求項1に記載のピアツーピアネットワーク。
  9. 複数のコンピュータ装置によって実行される一組の命令を含む少なくとも1つのコンピュータ可読記憶媒体であって、
    管理ノードを用いて、階層内にある複数の計算ノードのリストを生成する手順と、
    第1の計算ノードを用いて、他のノードが利用するための計算リソースを提供する手順と、
    前記第1の計算ノードを用いて、前記計算リソースに少なくとも部分的に基づいて、前記第1の計算ノードが前記階層内にあるか判定を行う手順と、
    前記第1の計算ノードを用いて、前記判定に基づいて、前記第1の計算ノードを前記リストに追加するように前記管理ノードに通知を送信する手順と、
    クライアントノードを用いて、前記クライアントノードに関連付けられた1つ以上のタスクを実行するために利用されると予測される計算能力に基づいて、前記階層の識別を行う手順と、
    前記クライアントノードを用いて、前記識別に基づいて、前記管理ノードを識別する手順と、
    前記クライアントノードを用いて、前記管理ノードに前記リストを要求する手順と、
    を前記複数のコンピュータ装置に実行させる少なくとも1つのコンピュータ可読記憶媒体。
  10. 前記計算リソースは、1つ以上の利用可能な中央処理装置と、利用可能なメモリを含む請求項9に記載の少なくとも1つのコンピュータ可読記憶媒体。
  11. 前記命令の実行時に、前記複数のコンピュータ装置に、前記管理ノードを用いて、前記リストを前記クライアントノードに送信させる請求項9に記載の少なくとも1つのコンピュータ可読記憶媒体。
  12. 前記命令の実行時に、前記複数のコンピュータ装置に、前記クライアントノードを用いて、前記複数の計算ノードの中から、最低コストのノードを識別させる請求項9に記載の少なくとも1つのコンピュータ可読記憶媒体。
  13. 前記命令の実行時に、前記複数のコンピュータ装置に、前記クライアントノードを用いて、前記クライアントノードと前記最低コストのノードとの間のレイテンシを決定するため、レイテンシテストを実行させる請求項12に記載の少なくとも1つのコンピュータ可読記憶媒体。
  14. 前記命令の実行時に、前記複数のコンピュータ装置に、
    前記クライアントノードを用いて、前記レイテンシが閾値より大きいか判定させ、
    前記レイテンシが前記閾値より大きいと判定された前記計算ノードを拒絶させる請求項13に記載の少なくとも1つのコンピュータ可読記憶媒体。
  15. 前記命令の実行時に、前記複数のコンピュータ装置に、前記第1の計算ノードを用いて、少なくとも電気コストとユーザの入力に基づいて、前記計算リソースを利用するためのコストを決定させる請求項9に記載の少なくとも1つのコンピュータ可読記憶媒体。
  16. 前記命令の実行時に、前記複数のコンピュータ装置に、前記第1の計算ノードを用いて、前記計算リソースの識別を前記管理ノードに送信させる請求項9に記載の少なくとも1つのコンピュータ可読記憶媒体。
  17. 管理ノードを用いて、階層内にある複数の計算ノードのリストを生成する工程と、
    第1の計算ノードを用いて、他のノードが利用するための計算リソースを提供する工程と、
    前記第1の計算ノードを用いて、前記計算リソースに少なくとも部分的に基づいて、前記第1の計算ノードが前記階層内にあるか判定を行う工程と、
    前記第1の計算ノードを用いて、前記判定に基づいて、前記第1の計算ノードを前記リストに追加するように前記管理ノードに通知を送信する工程と、
    クライアントノードを用いて、前記クライアントノードに関連付けられた1つ以上のタスクを実行するために利用されると予測される計算能力に基づいて、前記階層の識別を行う工程と、
    前記クライアントノードを用いて、前記識別に基づいて、前記管理ノードを識別する工程と、
    前記クライアントノードを用いて、前記管理ノードに前記リストを要求する工程と、
    を含む方法。
  18. 前記計算リソースは、1つ以上の利用可能な中央処理装置と、利用可能なメモリを含む請求項17に記載の方法。
  19. 前記管理ノードを用いて、前記リストを前記クライアントノードに送信することをさらに含む請求項17に記載の方法。
  20. 前記クライアントノードを用いて、前記複数の計算ノードの中から、最低コストのノードを識別することをさらに含む請求項17に記載の方法。
  21. 前記クライアントノードを用いて、前記クライアントノードと前記最低コストのノードとの間のレイテンシを決定するため、レイテンシテストを実行することをさらに含む請求項20に記載の方法。
  22. 前記クライアントノードを用いて、前記レイテンシが閾値より大きいか判定することと、
    前記レイテンシが前記閾値より大きいと判定された前記計算ノードを拒絶することをさらに含む請求項21に記載の方法。
  23. 前記第1の計算ノードを用いて、少なくとも電気コストとユーザの入力に基づいて、前記計算リソースを利用するためのコストを決定することをさらに含む請求項17に記載の方法。
  24. 前記第1の計算ノードを用いて、前記計算リソースの識別を前記管理ノードに送信することをさらに含む請求項17に記載の方法。
JP2021525094A 2018-11-08 2019-11-07 分散コンピューティングおよびストレージのためのインテリジェントで自律的な非中央集権型の市場 Active JP7393426B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862757327P 2018-11-08 2018-11-08
US62/757,327 2018-11-08
PCT/IB2019/001212 WO2020099924A1 (en) 2018-11-08 2019-11-07 Intelligent, decentralized and autonomous marketplace for distributed computing and storage

Publications (2)

Publication Number Publication Date
JP2022511686A JP2022511686A (ja) 2022-02-01
JP7393426B2 true JP7393426B2 (ja) 2023-12-06

Family

ID=69582142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021525094A Active JP7393426B2 (ja) 2018-11-08 2019-11-07 分散コンピューティングおよびストレージのためのインテリジェントで自律的な非中央集権型の市場

Country Status (10)

Country Link
US (1) US11799954B2 (ja)
EP (1) EP3878161B1 (ja)
JP (1) JP7393426B2 (ja)
KR (1) KR20210096619A (ja)
CN (1) CN112997469B (ja)
AU (1) AU2019380719A1 (ja)
CA (1) CA3118374A1 (ja)
ES (1) ES2954424T3 (ja)
IL (1) IL282920B1 (ja)
WO (1) WO2020099924A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11676135B2 (en) * 2019-07-19 2023-06-13 Ebay Inc. Blockchain consensus protocol using predictive proof of metrics
CN113765956B (zh) 2020-06-03 2024-05-24 华为技术有限公司 报文处理方法、设备、系统及存储介质
CN112016923A (zh) * 2020-08-28 2020-12-01 北京大学深圳研究生院 基于区块链的网内跨域身份管理方法、系统以及算力网络
CN112653682B (zh) * 2020-12-16 2022-12-27 深圳前海微众银行股份有限公司 一种区块链日蚀攻击检测的方法及装置
US11575743B1 (en) * 2021-07-23 2023-02-07 Vmware, Inc. Peer-to-peer software distribution
WO2023173324A1 (en) * 2022-03-16 2023-09-21 Nvidia Corporation Application programming interface to select storage

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005122616A (ja) 2003-10-20 2005-05-12 Nippon Telegr & Teleph Corp <Ntt> ネットワーク型グリッドコンピューティングシステム
JP2015084252A (ja) 2010-01-12 2015-04-30 アマゾン テクノロジーズ インコーポレイテッド プログラム実行能力の私的利用の管理
WO2017112866A1 (en) 2015-12-23 2017-06-29 Idac Holdings, Inc. Methods of offloading computation from mobile device to cloud
US20180025399A1 (en) 2016-07-19 2018-01-25 Cisco Technology, Inc. Crowd-sourced cloud computing in a multiple resource provider environment

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671724B1 (en) * 2000-03-21 2003-12-30 Centrisoft Corporation Software, systems and methods for managing a distributed network
US7577750B2 (en) 2003-05-23 2009-08-18 Microsoft Corporation Systems and methods for peer-to-peer collaboration to enhance multimedia streaming
CN100488146C (zh) 2006-09-14 2009-05-13 华为技术有限公司 在p2p网络中建立点对点连接的方法及在p2p网络中的节点
US20090164576A1 (en) 2007-12-21 2009-06-25 Jeonghun Noh Methods and systems for peer-to-peer systems
CN101321161A (zh) * 2008-07-21 2008-12-10 南京大学 一种基于市场模型的点对点网络信誉管理方法
CN101448026B (zh) * 2008-12-16 2012-05-23 中国科学技术大学 网格市场中基于信任过滤的计算节点选择方法
WO2011144245A1 (en) 2010-05-20 2011-11-24 Telefonaktiebolaget Lm Ericsson (Publ) System and method for managing data delivery in a peer-to-peer network
US8640137B1 (en) 2010-08-30 2014-01-28 Adobe Systems Incorporated Methods and apparatus for resource management in cluster computing
CN102255811B (zh) * 2011-07-14 2014-03-12 华为技术有限公司 一种获取节点间代价的方法,设备和系统
US9158458B2 (en) * 2011-09-21 2015-10-13 Os Nexus, Inc. Global management of tiered storage resources
US9537748B1 (en) 2012-04-24 2017-01-03 EMC IP Holding Company LLC Finding shortest path in multi-access nodes in cloud service
GB2503463A (en) * 2012-06-27 2014-01-01 Ibm Overriding abstract resource manager methods to provide resources to implement nodes in a service definition
US9818137B1 (en) 2013-04-19 2017-11-14 Amazon Technologies, Inc. Estimating the operating cost of computing resources provided by a service provider
US10248977B2 (en) * 2013-08-24 2019-04-02 Vmware, Inc. NUMA-based client placement
US10148498B1 (en) 2016-03-30 2018-12-04 EMC IP Holding Company LLC Provisioning storage in a multi-site cloud computing environment
US10382358B1 (en) * 2016-06-13 2019-08-13 Amazon Technologies. Inc. Multi-tiered data processing service
US10873540B2 (en) * 2016-07-06 2020-12-22 Cisco Technology, Inc. Crowd-sourced cloud computing resource validation
US10404614B2 (en) 2016-11-21 2019-09-03 Vmware, Inc. Multi-cloud resource allocation
US10447806B1 (en) * 2017-06-09 2019-10-15 Nutanix, Inc. Workload scheduling across heterogeneous resource environments
US10853334B2 (en) * 2018-03-02 2020-12-01 Salesforce.Com, Inc. Technologies for providing service isolation, scalability, and proactive tenant migration in multi-tenant ecosystems
US10621004B2 (en) * 2018-03-19 2020-04-14 Accenture Global Solutions Limited Resource control stack based system for multiple domain presentation of cloud computing resource control
US10956229B2 (en) * 2018-10-04 2021-03-23 International Business Machines Corporation Managing resource sharing and task bidding on the internet of things (IoT)
CN109523243A (zh) * 2018-11-19 2019-03-26 济南浪潮高新科技投资发展有限公司 一种雾计算环境下基于区块链的数据存储方法
US11799952B2 (en) * 2019-01-07 2023-10-24 Intel Corporation Computing resource discovery and allocation
CN110086854A (zh) * 2019-03-28 2019-08-02 广东紫晶信息存储技术股份有限公司 一种分布式私有云系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005122616A (ja) 2003-10-20 2005-05-12 Nippon Telegr & Teleph Corp <Ntt> ネットワーク型グリッドコンピューティングシステム
JP2015084252A (ja) 2010-01-12 2015-04-30 アマゾン テクノロジーズ インコーポレイテッド プログラム実行能力の私的利用の管理
WO2017112866A1 (en) 2015-12-23 2017-06-29 Idac Holdings, Inc. Methods of offloading computation from mobile device to cloud
US20180025399A1 (en) 2016-07-19 2018-01-25 Cisco Technology, Inc. Crowd-sourced cloud computing in a multiple resource provider environment

Also Published As

Publication number Publication date
CA3118374A1 (en) 2020-05-22
CN112997469B (zh) 2023-12-26
EP3878161B1 (en) 2023-05-31
US11799954B2 (en) 2023-10-24
EP3878161A1 (en) 2021-09-15
ES2954424T3 (es) 2023-11-22
AU2019380719A1 (en) 2021-06-10
US20220006860A1 (en) 2022-01-06
WO2020099924A1 (en) 2020-05-22
JP2022511686A (ja) 2022-02-01
IL282920A (en) 2021-06-30
KR20210096619A (ko) 2021-08-05
IL282920B1 (en) 2024-03-01
CN112997469A (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
JP7393426B2 (ja) 分散コンピューティングおよびストレージのためのインテリジェントで自律的な非中央集権型の市場
US10986177B2 (en) Systems and methods of self-forking blockchain protocol
US11368517B2 (en) Secure automated resource-exchange system
US11625738B2 (en) Methods and systems that generated resource-provision bids in an automated resource-exchange system
US10819776B2 (en) Automated resource-price calibration and recalibration by an automated resource-exchange system
US10592985B2 (en) Systems and methods for a commodity contracts market using a secure distributed transaction ledger
US11665105B2 (en) Policy-based resource-exchange life-cycle in an automated resource-exchange system
US20110145413A1 (en) Resource exchange management within a cloud computing environment
US11750679B1 (en) Systems and methods for it management of distributed computing resources on a peer-to-peer network
Debe et al. Blockchain-based decentralized reverse bidding in fog computing
Sandholm et al. Notes on Cloud computing principles
US11699186B1 (en) Systems and methods for IT supply chain management on a distributed platform
Xu et al. Cost-aware resource management for federated clouds using resource sharing contracts
Zhao et al. Online procurement auctions for resource pooling in client-assisted cloud storage systems
Wang et al. Smart contract-based caching and data transaction optimization in mobile edge computing
Goher et al. Cloud provider capacity augmentation through automated resource bartering
Chen et al. SmartStore: A blockchain and clustering based intelligent edge storage system with fairness and resilience
Nadjaran Toosi et al. SipaaS: Spot instance pricing as a Service framework and its implementation in OpenStack
Alrawahi et al. Multi-attribute combinatorial marketplaces for cloud resource trading
Zhao et al. Resource Management in Utility and Cloud Computing
Afraz et al. Hyperledger Blockchain‐Based Distributed Marketplaces for 5G Networks
Xu et al. Decentralized allocation of geo-distributed edge resources using smart contracts
Batool et al. Block-RACS: Towards Reputation-Aware Client Selection and Monetization Mechanism for Federated Learning
WO2022202865A1 (ja) 分散型台帳システム及び方法
Macedo et al. Distributed Auction-Based SFC Placement in a Multi-domain 5G Environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221104

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231006

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231124

R150 Certificate of patent or registration of utility model

Ref document number: 7393426

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150