(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-29
(45)【発行日】2023-07-07
(54)【発明の名称】分散型台帳ネットワークのための自律品質規制
(51)【国際特許分類】
H04L 41/5009 20220101AFI20230630BHJP
G06Q 20/38 20120101ALI20230630BHJP
G06Q 50/10 20120101ALI20230630BHJP
【FI】
H04L41/5009
G06Q20/38
G06Q50/10
(21)【出願番号】P 2021514428
(86)(22)【出願日】2019-09-09
(86)【国際出願番号】 GB2019052509
(87)【国際公開番号】W WO2020053565
(87)【国際公開日】2020-03-19
【審査請求日】2022-08-23
(32)【優先日】2018-09-14
(33)【優先権主張国・地域又は機関】GB
(73)【特許権者】
【識別番号】520193839
【氏名又は名称】アルクイット リミテッド
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ウィリアムズ,デイビッド
【審査官】小林 義晴
(56)【参考文献】
【文献】米国特許出願公開第2018/0121909(US,A1)
【文献】米国特許出願公開第2013/0311424(US,A1)
【文献】米国特許出願公開第2019/0108364(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-12/66
41/00-101/695
G06Q 20/38
50/10
(57)【特許請求の範囲】
【請求項1】
分散型台帳ネットワークを動作させるためのコンピュータ実装方法であって、
前記分散型台帳ネットワークは複数のノードを含み、前記複数のノードはノードのグループを含み、
前記ノードのグループ内の各ノードは、分散型台帳トランザクションにおける信頼される第三者ノードとして動作するための機能性を含み、
前記方法は、
前記ノードのグループのうち1つ以上の選択されたノードについて動作性能試験を実行するステップであり、前記動作性能試験は、既定の期間にわたり、複数のテストメッセージを各選択されたノードへ送信する段階を含む、ステップと、
前記動作性能試験に関して、各選択されたノードに関連する動作性能データを受信するステップと、
前記受信した動作性能応答に基づいて、各選択されたノードについて動作性能統計を集約するステップと、
前記集約された動作性能統計に基づいて、前記分散型台帳ネットワークにわたる分散型台帳トランザクションについて、信頼される第三者として動作するための1つ以上の動作性能ベンチマークを満足する前記選択されたノードを、前記分散型台帳ネットワークに対して指示するステップと、
を含む、方法。
【請求項2】
前記各選択されたノードは、既定の時間間隔にわたり複数の動作性能試験を受信し、
各選択されたノードについて動作性能統計を集約する前記ステップは、さらに、
前記選択されたノードに関連する前記受信した動作性能データが、前記動作性能ベンチマークに関して対応する目標動作性能閾値を満足する頻度に基づいて、前記各選択されたノードについて前記動作性能統計を計算するステップ、
を含む、請求項1に記載の方法。
【請求項3】
前記動作性能試験それぞれは、前記既定の時間間隔にわたりランダムまたは疑似ランダム時間インスタンスで受信される、
請求項2に記載の方法。
【請求項4】
前記動作性能データは、前記テストメッセージを受信し、かつ、処理する前記選択されたノードに関連する1つ以上の測定可能な動作パラメータを含む、
請求項1乃至3いずれか一項に記載の方法。
【請求項5】
前記テストメッセージに関して、前記選択されたノードに関連する前記動作性能データが、
テストメッセージ送信タイムスタンプ、
テストメッセージ受信タイムスタンプ、
レイテンシ遅延、
選択されたノードの稼働時間、
トランザクション処理速度、および
当事者に関連する1つ以上のノードと、前記テストメッセージに関して選択されたノードとの間の往復時間、
に係るグループに基づく、少なくとも1つ以上の測定可能な動作パラメータを含む、
請求項1乃至4いずれか一項に記載の方法。
【請求項6】
前記動作性能ベンチマークは、
トランザクションを承認するための前記選択されたノードに対する可用性閾値を満足している、選択されたノード、
トランザクションを承認するための前記選択されたノードに対する稼働時間閾値を満足している、選択されたノード、
ネットワーク到達可能性閾値を満足している、選択されたノード、
通信速度閾値を満足している、選択されたノード、
トランザクション処理時間閾値を満足している、選択されたノード、
前記選択されたノードの動作性能を決定するために、前記選択されたノードに対する外部から決定可能または測定可能な、あらゆる他の動作性能閾値を満足している、選択されたノード
に係るグループに基づく、1つ以上の性能ベンチマークを含む、
請求項1乃至5いずれか一項に記載の方法。
【請求項7】
前記方法は、さらに、
前記選択されたノードが、前記動作性能ベンチマークそれぞれについて品質要求基準を満足するか、または、超えることを、前記動作性能統計が示す場合に、前記選択されたノードが、前記動作性能ベンチマークを満足していることを決定するステップ、
を含む、請求項1乃至6いずれか一項に記載方法。
【請求項8】
前記品質要求基準は、前記選択されたノードが、受信したテストメッセージの数に関して対応する前記動作性能ベンチマークを満足する頻度または回数に基づいている、
請求項7に記載の方法。
【請求項9】
前記品質要求基準は、時間間隔のパーセンテージ、または、受信/送信されたテストメッセージの数に基づいており、
前記選択されたノードは、M9またはMN5で表現される性能ベンチマークを満足し、ここで、Mは1以上である、
請求項7または8に記載の方法。
【請求項10】
前記品質要求基準は、前記選択されたノードが性能ベンチマークを満足するという、時間間隔にわたる確率、または、受信/送信されたテストメッセージの数に基づいている、
請求項7または8に記載の方法。
【請求項11】
前記テストメッセージの1つ以上は、第三者ノードとして動作するように前記ノードのグループからのノードを要求する2人以上の当事者間における診断テスト・トランザクションを含み、
前記テストメッセージを受信すると、前記ノードのグループから選択されたノードは、前記2人以上の当事者間における第三者ノードとして前記診断テスト・トランザクションを処理する、
請求項1乃至10いずれかに一項に記載の方法。
【請求項12】
前記2人以上の当事者は、前記分散型台帳ネットワークにおける同一のノードに基づいて存在する、
請求項11に記載の方法。
【請求項13】
前記2人以上の当事者は、前記分散型台帳ネットワークの異なるノードに基づいて存在する、
請求項11に記載の方法。
【請求項14】
前記テストメッセージのうちの1つ以上は、
前記選択されたノードの到達可能性を決定するためのピンメッセージ、
前記選択されたノードと共に存在する通信リンクを決定するためのキープアライブメッセージ、
前記選択されたノードに関する往復時間を判定するためのあらゆる他のメッセージまたはメッセージング・プロトコル、
前記選択されたノードに関するエンドツーエンド遅延または一方向遅延を判定するための他のメッセージまたはメッセージング・プロトコル
に係るグループに基づく、1つ以上のネットワーク到達可能性メッセージを含む、
請求項1乃至13いずれか一項に記載の方法。
【請求項15】
前記1つ以上のテストメッセージ、および、それに対する応答は、
前記選択されたノードとのトランザクションを開始する前記2人以上の当事者間におけるエンドツーエンド遅延を決定することに基づいて、
前記選択されたノードに係る前記トランザクションを実行するために、前記選択されたノードの可用性の推定値を決定する、
ように構成されている、請求項14に記載の方法。
【請求項16】
前記1つ以上のテストメッセージ、および、それに対する応答は、
前記2人以上の当事者と前記選択されたノードとの間で実行されているトランザクションの往復時間、および、前記2人以上の当事者と前記選択されたノードとの間のエンドツーエンド遅延に基づいて、
診断テスト・トランザクションに関して前記選択されたノードのトランザクション処理時間の推定値を決定する、
ように構成されている、請求項11乃至14いずれか一項に記載の方法。
【請求項17】
前記1つ以上のテストメッセージ、および、それに対する応答は、
前記選択されたノードとのトランザクションにおける前記2人以上の当事者間の往復時間及び/又はエンドツーエンド遅延を決定することに基づいて、
前記分散型台帳ネットワークにおいて前記選択されたノードへの接続のための通信帯域幅の推定値を決定する、
ように構成されている、請求項14に記載の方法。
【請求項18】
前記ノードのグループは、複数のノードのサブグループを含み、
対応するノードオペレータに関連する各ノードのサブグループ、および、前記ノードのサブグループ内の各ノードは、前記ノードのサブグループ内の他のノードとは独立に動作しており、
前記方法は、さらに、
前記ノードオペレータに関連する前記ノードのサブグループのうち選択されたノードが、前記動作性能ベンチマークを満足するか否かについて、各ノードオペレータに通知を送信する、ステップ、
を含む、請求項1乃至17いずれか一項に記載の方法。
【請求項19】
前記通知は、前記ノードのサブグループ内の前記選択されたノードに係る前記動作性能統計を表す診断データを含む、
請求項18に記載の方法。
【請求項20】
前記診断データは、選択されたノードが前記動作性能試験を満足するか否かを示す、
請求項19に記載の方法。
【請求項21】
前記ノードのグループは、複数のノードのサブグループを含み、
対応するノードオペレータに関連する各ノードのサブグループ、および、前記ノードのサブグループ内の各ノードは、前記ノードのサブグループ内の他のノードとは独立に動作しており、
前記方法は、さらに、
前記動作性能ベンチマークの全てを満たさない前記ノードのサブグループ内の選択されたノードを、ノードオペレータに通知する、ステップ、
を含む、請求項1乃至20いずれか一項に記載の方法。
【請求項22】
前記ノードのグループは、複数のノードのサブグループを含み、
対応するノードオペレータに関連する各ノードのサブグループ、および、前記ノードのサブグループ内の各ノードは、前記ノードのサブグループ内の他のノードとは独立に動作しており、
前記方法は、さらに、
前記動作性能ベンチマークの全てを満足する前記ノードのサブグループ内の選択されたノードの数に基づいて、ノードオペレータに対してトークンを提供することによって、前記ノードオペレータに報酬を与える、ステップ、
を含む、請求項1乃至21いずれか一項に記載の方法。
【請求項23】
1つ以上の動作性能ベンチマークを満足する前記選択されたノードを、前記分散型台帳ネットワークに対して指示する前記ステップは、さらに、
1つ以上の動作性能ベンチマークを満足する前記選択されたノードに対して、トランザクションがルーティングされることを確実にする、ステップ、
を含む、請求項1乃至22いずれか一項に記載の方法。
【請求項24】
トランザクションがルーティングされることを確実にする前記ステップは、
前記動作性能ベンチマークの1つ以上を満足していないと指示される前記選択されたノードから離れてトランザクションを再ルーティングするように前記分散型台帳ネットワークを構成する、ステップ、
を含む、請求項23に記載の方法。
【請求項25】
1つ以上の動作性能ベンチマークを満足する前記選択されたノードを、前記分散型台帳ネットワークに対して指示する前記ステップは、さらに、
前記選択されたノードそれぞれについての前記動作性能統計、及び/又は、前記選択されたノードそれぞれが前記1つ以上の動作性能ベンチマークを満足するか否かを、ブロックチェーンまたは分散型台帳に、保管するステップ、
を含み、
前記ブロックチェーンまたは分散型台帳は、トランザクションにおいて第三者ノードとして動作するために必要とされる前記動作性能ベンチマークを満足するノードを選択するために、前記トランザクションの1人以上の当事者によってアクセスされる、
請求項1乃至24いずれか一項に記載の方法。
【請求項26】
前記ノードのグループは、
スーパーピアノード、
マスターノード、
マイナノード、
陪審ノード、
公証ノード、
に係るグループから、ノードの少なくとも1つのタイプを含む、
請求項1乃至25いずれか一項に記載の方法。
【請求項27】
前記分散型台帳ネットワークは、
a)CORDAベースの分散型台帳ネットワークであり、かつ、前記ノードのグループが、公証ノードのプールを含むこと、
b)ブロックチェーンベースの分散型台帳ネットワークであり、かつ、前記ノードのグループが、マイナノードのプールを含むこと、
c)あらゆる他のタイプの分散型台帳ネットワークであり、ノードのグループが、1人以上の当事者について分散型台帳トランザクションにおいて信頼できる第三者として動作するためのノードを含むこと、
のうち、少なくとも1つに基づいている、
請求項1乃至26いずれか一項に記載の方法。
【請求項28】
複数のノードを含む分散型台帳ネットワークにおけるノードであって、
前記複数のノードは、ノードのグループを含み、
前記ノードのグループにおける各ノードは、トランザクションにおいて第三者ノードとして動作するための機能性を含み、
前記ノードは、請求項1乃至27いずれか一項に記載のコンピュータ実装方法を実施するように構成されている、
ノード。
【請求項29】
複数のノードを含む分散型台帳ネットワークであって、
前記複数のノードは、ノードのグループを含み、
前記ノードのグループにおける各ノードは、トランザクションにおいて第三者ノードとして動作するための機能性を含み、
前記複数のノードのうち1つ以上のノードは、請求項1乃至27いずれか一項に記載のコンピュータ実装方法を実施するように構成されている、
分散型台帳ネットワーク。
【請求項30】
プロセッサ、メモリ、および、通信インターフェイスを含む装置であって、
前記プロセッサは、前記メモリおよび前記通信インターフェイスに接続されており、
前記装置は、請求項1乃至27いずれか一項に記載の方法を実施するように構成されている、
装置。
【請求項31】
命令プログラムコードが保管されているコンピュータで読取り可能な記憶媒体であって、プロセッサによって実行されると、
請求項1乃至27いずれか一項に記載の方法を、前記プロセッサに実施させる、
コンピュータで読取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、分散型台帳(distributed ledger)ネットワークのための自律的品質規制(autonomous quality regulation)についてのシステム、装置、及び方法に関する。
【背景技術】
【0002】
初期の分散型台帳技術(DLT)(例えば、ブロックチェーンシステム)は、有機的に出現し、そこでは、トランザクションを承認するタスクがウォレット(wallet)所有者、ノードオペレータ、またはマイナ(miners)に分散されている(decentralised)。本質的に、必要な計算能力を有する者は誰でも(例えば、ノード)、「クラウドソース(“crowd sourced”)」のコンピューティングシステムに参加し得る。典型的に、これらの参加者は匿名(anonymous)であり、そして、彼らが提供し得るサービスの品質またはパフォーマンス・サービス・レベルに関して義務を負わない。大部分の初期のブロックチェーンシステム(例えば、ビットコイン(RTM)およびイーサリアム(RTM)は、「コンセンサス(“Consensus”)」を形成するものとして知られているプロセスにおいて手数料を生成するために、ノードに迅速にトランザクションを承認する(authorise)ようインセンティブを与える(incentivise)。このように、ランダムな無名のノードやシステムのアナーキーなグループ(anarchic group)が、金融トランザクションをまとめて推進している。しかしながら、これらのノードのうち51%が共謀するならば、彼らがブロックチェーン・ネットワークを乗っ取り、そして、さらには、ブロックチェーンの中の価値(value)を盗み得るというリスクが存在する。
【0003】
DLTは、今や、成熟しており(例えば、CORDA(RTM))、そうして、この技術を積極的に研究し、試験し、そして、投資している機関とのアクティビティが爆発的に進んでいる。このアクティビティは、ブロックチェーンシステム(例えば、ビットコイン(RTM))の初期の採用者を悩ませていた探索および研究段階の信頼性の低さから離れ、そして、産業、組織、および日常のオフィスライフにおける分散型台帳アプリケーション(例えば、コルダイト(RTM))の的を絞った配送および商業化へ向かって移行している。大部分のDLTアプリケーションは、トランザクションを承認するために必要とされる公証ノード(notary nodes)または信頼できる第三者ノードを伴う分散型台帳ネットワーク(DLN)を必要とする。個々のDLTアプリケーション(通信市場または製造サプライチェーン、といったもの)は、使用する公証ノードの数を選択することができ、そして、公証ノードの品質および由来(provenance)を優先する必要がある。さもなければ、公証ノードのパフォーマンスのレベルが変動するせいで、コンセンサスの歪み(skew)、及び/又は、トランザクションの喪失または遅延の恐れが存在する。
【0004】
分散型台帳トランザクション及び/又はDLTアプリケーションのための信頼できる第三者ノード(例えば、公証人グループ)として機能し得る、ノードの高品質なグループを作成するための信頼できるメカニズム、システム、及び/又は、プロセスが望まれている。また、そうしたメカニズムまたはシステムが、信頼できるノードオペレータ、そして、従って、信頼できる第三者ノードの可用性を常に確保し、トランザクションを承認することができることも望まれている。これらは、トランザクションのコンセンサスおよび処理の両方において完全性を有するDLN及び/又はDLアプリケーションを提供するための2つの重要な側面である。
【0005】
以下に説明される実施形態は、上述の既知のアプローチに係る欠点のいずれか又は全てを解決する実施に限定されるものではない。
【発明の概要】
【0006】
この概要は、以下の詳細な説明においてさらに記述される、概念の選択を簡略化された形式で紹介するために提供されている。この概要は、請求される技術的事項(subject matter)の主要な特徴または本質的な特徴を特定するように意図されたものではなく、また、請求される技術的事項の範囲を決定するために使用されるように意図されたものでもない。本発明の実施を促進し、かつ/あるいは、実質的に同様な技術的効果を達成するのに役立つ変形および代替的な特徴は、ここにおいて開示される本発明の範囲内あるものとみなされる。
【0007】
本開示は、ノードのグループ内の1つ以上のノードが、これらのノードが信頼される第三者として動作するために要求されるDLNの1つ以上の性能ベンチマークを満足するか否かの指標(indication)を提供することができる分散型台帳ネットワーク(DLN)のための品質規制機能を提供する。QRFは、自律的に規制する(self-regulating)DLNを提供するために、ノードのグループ内のノードそれぞれにおいて分散された方法で実装されてよく、信頼される第三者ノードとして動作するための信頼でき、かつ、高品質なノードのグループの可用性を提供し、一方で、コンセンサスの歪み、及び/又は、喪失または遅延トランザクションを回避している。
【0008】
第1の態様において、本開示は、分散型台帳ネットワークを動作させるためのコンピュータ実装方法を提供する。前記分散型台帳ネットワークは複数のノードを含み、前記複数のノードはノードのグループを含み、ここで、前記ノードのグループ内の各ノードは、分散型台帳トランザクションにおける信頼される第三者ノードとして動作するための機能性を含む。前記方法は、前記ノードのグループのうち1つ以上の選択されたノードについて動作性能試験を実行するステップであり、ここで、前記動作性能試験は、既定の期間にわたり、複数のテストメッセージを各選択されたノードへ送信する段階を含むステップと、前記動作性能試験に関して、各選択されたノードに関連する動作性能データを受信するステップと、前記受信した動作性能応答に基づいて、各選択されたノードについて動作性能統計を集約するステップと、前記集約された動作性能統計に基づいて、前記分散型台帳ネットワークにわたる分散型台帳トランザクションについて、信頼される第三者として動作するための1つ以上の動作性能ベンチマークを満足する前記選択されたノードを、前記分散型台帳ネットワークに対して指示するステップと、を含む。
【0009】
好ましくは、本コンピュータ実装方法において、前記各選択されたノードは、既定の時間間隔にわたり複数の動作性能試験を受信する。各選択されたノードについて動作性能統計を集約するステップを含む本コンピュータ実装方法は、さらに、前記選択されたノードに関連する前記受信した動作性能データが、前記動作性能ベンチマークに関して対応する目標動作性能閾値を満足する頻度に基づいて、前記各選択されたノードについて前記動作性能統計を計算するステップ、を含む。
【0010】
好ましくは、本コンピュータ実装方法において、前記動作性能試験それぞれは、前記既定の時間間隔にわたりランダムまたは疑似ランダム時間インスタンスで受信される。
【0011】
好ましくは、本コンピュータ実装方法において、前記動作性能データは、前記テストメッセージを受信し、かつ、処理する前記選択されたノードに関連する1つ以上の測定可能な動作パラメータを含む。
【0012】
好ましくは、本コンピュータ実装方法において、前記テストメッセージに関して、前記選択されたノードに関連する前記動作性能データが、テストメッセージ送信タイムスタンプ、テストメッセージ受信タイムスタンプ、レイテンシ遅延、選択されたノードの稼働時間、トランザクション処理速度、および、当事者に関連する1つ以上のノードと、前記テストメッセージに関して選択されたノードとの間の往復時間、等、及び/又は、アプリケーションの要求に応じたグループに基づく、少なくとも1つ以上の測定可能な動作パラメータを含む。
【0013】
好ましくは、本コンピュータ実装方法において、前記動作性能ベンチマークは、トランザクションを承認するための前記選択されたノードに対する可用性閾値を満足している、選択されたノード、トランザクションを承認するための前記選択されたノードに対する稼働時間閾値を満足している、選択されたノード、ネットワーク到達可能性閾値を満足している、選択されたノード、通信速度閾値を満足している、選択されたノード、トランザクション処理時間閾値を満足している、選択されたノード、前記選択されたノードの動作性能を決定するために、前記選択されたノードに対する外部から決定可能または測定可能な、あらゆる他の動作性能閾値を満足している、選択されたノード、等、及び/又は、アプリケーションの要求に応じたグループに基づく、1つ以上の性能ベンチマークを含む。
【0014】
好ましくは、本コンピュータ実装方法において、コンピュータ実装方法は、さらに、前記選択されたノードが、前記動作性能ベンチマークそれぞれについて品質要求基準を満足するか、または、超えることを、前記動作性能統計が示す場合に、前記選択されたノードが、前記動作性能ベンチマークを満足していることを決定するステップ、を含む。
【0015】
好ましくは、本コンピュータ実装方法において、前記品質要求基準は、前記選択されたノードが、受信したテストメッセージの数に関して対応する前記動作性能ベンチマークを満足する頻度または回数に基づいている。
【0016】
好ましくは、本コンピュータ実装方法において、前記品質要求基準は、時間間隔のパーセンテージ、または、受信/送信されたテストメッセージの数に基づいており、前記選択されたノードは、M9またはMN5で表現される性能ベンチマークを満足し、ここで、Mは1以上である。
【0017】
好ましくは、本コンピュータ実装方法において、前記品質要求基準は、前記選択されたノードが性能ベンチマークを満足するという、時間間隔にわたる確率、または、受信/送信されたテストメッセージの数に基づいている。
【0018】
好ましくは、本コンピュータ実装方法において、前記テストメッセージの1つ以上は、第三者ノードとして動作するように前記ノードのグループからのノードを要求する2人以上の当事者間における診断テスト・トランザクションを含み、ここで、前記テストメッセージを受信すると、前記ノードのグループから選択されたノードは、前記2人以上の当事者間における第三者ノードとして前記診断テスト・トランザクションを処理する。
【0019】
好ましくは、本コンピュータ実装方法において、前記2人以上の当事者は、前記分散型台帳ネットワークにおける同一のノードに基づいて存在する。
【0020】
好ましくは、本コンピュータ実装方法において、前記2人以上の当事者は、前記分散型台帳ネットワークの異なるノードに基づいて存在する。
【0021】
好ましくは、本コンピュータ実装方法において、前記テストメッセージのうちの1つ以上は、前記選択されたノードの到達可能性を決定するためのピンメッセージ、前記選択されたノードと共に存在する通信リンクを決定するためのキープアライブメッセージ、前記選択されたノードに関する往復時間を判定するためのあらゆる他のメッセージまたはメッセージング・プロトコル、前記選択されたノードに関するエンドツーエンド遅延または一方向遅延を判定するための他のメッセージまたはメッセージング・プロトコル、に係るグループに基づく、1つ以上のネットワーク到達可能性メッセージを含む。
【0022】
好ましくは、本コンピュータ実装方法において、前記1つ以上のテストメッセージ、および、それに対する応答は、前記選択されたノードとのトランザクションを開始する前記2人以上の当事者間におけるエンドツーエンド遅延を決定することに基づいて、前記選択されたノードに係る前記トランザクションを実行するために、前記選択されたノードの可用性の推定値を決定する、ように構成されている。
【0023】
好ましくは、本コンピュータ実装方法において、前記1つ以上のテストメッセージ、および、それに対する応答は、前記2人以上の当事者と前記選択されたノードとの間で実行されているトランザクションの往復時間、および、前記2人以上の当事者と前記選択されたノードとの間のエンドツーエンド遅延に基づいて、診断テスト・トランザクションに関して前記選択されたノードのトランザクション処理時間の推定値を決定する、ように構成されている。
【0024】
好ましくは、本コンピュータ実装方法において、前記1つ以上のテストメッセージ、および、それに対する応答は、前記選択されたノードとのトランザクションにおける前記2人以上の当事者間の往復時間及び/又はエンドツーエンド遅延を決定することに基づいて、前記分散型台帳ネットワークにおいて前記選択されたノードへの接続のための通信帯域幅の推定値を決定する。
【0025】
好ましくは、本コンピュータ実装方法において、前記ノードのグループは、複数のノードのサブグループを含み、対応するノードオペレータに関連する各ノードのサブグループ、および、前記ノードのサブグループ内の各ノードは、前記ノードのサブグループ内の他のノードとは独立に動作しており、本方法は、さらに、前記ノードオペレータに関連する前記ノードのサブグループのうち選択されたノードが、前記動作性能ベンチマークを満足するか否かについて、各ノードオペレータに通知を送信するステップ、を含む。
【0026】
好ましくは、本コンピュータ実装方法において、前記通知は、前記ノードのサブグループ内の前記選択されたノードに係る前記動作性能統計を表す診断データを含む。
【0027】
好ましくは、本コンピュータ実装方法において、前記診断データは、選択されたノードが前記動作性能試験を満足するか否かを示す。
【0028】
好ましくは、本コンピュータ実装方法において、前記ノードのグループは、複数のノードのサブグループを含み、対応するノードオペレータに関連する各ノードのサブグループ、および、前記ノードのサブグループ内の各ノードは、前記ノードのサブグループ内の他のノードとは独立に動作しており、本方法は、さらに、前記動作性能ベンチマークの全てを満たさない前記ノードのサブグループ内の選択されたノードを、ノードオペレータに通知するステップ、を含む。
【0029】
好ましくは、本コンピュータ実装方法において、前記ノードのグループは、複数のノードのサブグループを含み、対応するノードオペレータに関連する各ノードのサブグループ、および、前記ノードのサブグループ内の各ノードは、前記ノードのサブグループ内の他のノードとは独立に動作しており、本方法は、さらに、前記動作性能ベンチマークの全てを満足する前記ノードのサブグループ内の選択されたノードの数に基づいて、ノードオペレータに対してトークンを提供することによって、前記ノードオペレータに報酬を与えるステップ、を含む。
【0030】
好ましくは、本コンピュータ実装方法において、1つ以上の動作性能ベンチマークを満足する前記選択されたノードを、前記分散型台帳ネットワークに対して指示する前記ステップは、さらに、1つ以上の動作性能ベンチマークを満足する前記選択されたノードに対して、トランザクションがルーティングされることを確実にするステップ、を含む。
【0031】
好ましくは、本コンピュータ実装方法において、トランザクションがルーティングされることを確実にする前記ステップは、前記動作性能ベンチマークの1つ以上を満足していないと指示される前記選択されたノードから離れてトランザクションを再ルーティングするように前記分散型台帳ネットワークを構成するステップ、を含む。
【0032】
好ましくは、本コンピュータ実装方法において、1つ以上の動作性能ベンチマークを満足する前記選択されたノードを、前記分散型台帳ネットワークに対して指示する前記ステップは、さらに、前記選択されたノードそれぞれについての前記動作性能統計、及び/又は、前記選択されたノードそれぞれが前記1つ以上の動作性能ベンチマークを満足するか否かを、ブロックチェーンまたは分散型台帳に、保管するステップ、を含み、ここで、前記ブロックチェーンまたは分散型台帳は、トランザクションにおいて第三者ノードとして動作するために必要とされる前記動作性能ベンチマークを満足するノードを選択するために、前記トランザクションの1人以上の当事者によってアクセスされる。
【0033】
好ましくは、本コンピュータ実装方法において、前記ノードのグループは、スーパーピアノード、マスターノード、マイナノード、陪審ノード、公証ノード、等、それらの変更、それらの組み合せ、及び/又は、アプリケーションの要求に応じたグループから、ノードの少なくとも1つのタイプを含む。
【0034】
好ましくは、本コンピュータ実装方法において、前記分散型台帳ネットワークは、a)CORDAベースの分散型台帳ネットワークであり、かつ、前記ノードのグループが、公証ノードのプールを含むこと、b)ブロックチェーンベースの分散型台帳ネットワークであり、かつ、前記ノードのグループが、マイナノードのプールを含むこと、c)あらゆる他のタイプの分散型台帳ネットワークであり、ノードのグループが、1人以上の当事者について分散型台帳トランザクションにおいて信頼できる第三者として動作するためのノードを含むこと、等、及び/又は、アプリケーションの要求に応じたもののうち、少なくとも1つに基づいている、
【0035】
第2の態様において、本開示は、複数のノードを含む分散型台帳ネットワークにおけるノードを提供し、前記複数のノードは、ノードのグループを含み、ここで、前記ノードのグループにおける各ノードは、トランザクションにおいて第三者ノードとして動作するための機能性を含み、前記ノードは、第1の態様、それらの変更、それらの組み合せ、及び/又は、ここにおいて説明されるようなコンピュータ実装方法を実施するように構成されている。
【0036】
第3の態様において、本開示は、複数のノードを含む分散型台帳ネットワークを提供し、前記複数のノードは、ノードのグループを含み、ここで、前記ノードのグループにおける各ノードは、トランザクションにおいて第三者ノードとして動作するための機能性を含み、ここで、前記複数のノードのうち1つ以上のノードは、第1の態様、それらの変更、それらの組み合せ、及び/又は、ここにおいて説明されるような、もしくは、そうでなければ同様に、及び/又は、アプリケーションの要求に応じたコンピュータ実装方法を実施するように構成されている。
【0037】
第4の態様において、本開示は、プロセッサ、メモリ、および、通信インターフェイスを含む装置を提供し、前記プロセッサは、前記メモリおよび前記通信インターフェイスに接続されており、ここで、前記装置は、第1の態様、それらの変更、それらの組み合せ、及び/又は、ここにおいて説明されるような、もしくは、そうでなければ同様に、及び/又は、アプリケーションの要求に応じたものを実施するように構成されている。
【0038】
第5の態様において、本開示は、命令プログラムコードが保管されているコンピュータで読取り可能な記憶媒体を提供し、プロセッサ上で実行されると、第1の態様、それらの変更、それらの組み合せ、及び/又は、ここにおいて説明されるようなもの、等、及び/又は、アプリケーションの要求に応じたコンピュータ実装方法を、前記プロセッサに実施させる。
【0039】
ここにおいて説明される方法は、有形の記憶媒体におけるマシンで読取り可能な形態のソフトウェアにより実行され得る。例えば、プログラムがコンピュータ上で実行されるとき、ここにおいて説明される方法のいずれかの全てのステップを実行するように適合されたコンピュータプログムコード手段を含むコンピュータプログラムの形態であり、そして、ここで、コンピュータプログラムは、コンピュータで読取り可能な媒体上で実施され得る。有形(または、非一時的)記憶媒体の例は、ディスク、サムドライブ、メモリカード、等を含み、そして、伝搬信号を含まない。ソフトウェアは、本方法のステップが任意の適切な順序で、または、同時に実行され得るように、並列プロセッサまたは直列プロセッサにおける実行に適している。
【0040】
このアプリケーションは、ファームウェアおよびソフトウェアが、価値があり、個別に取引き可能な商品であり得ることを認識している。所望の機能性を実行するために、「ダム(“dumb”)」または標準ハードウェアを実行または制御するソフトウェアを包含することが意図されている。また、所望の機能性を実行するために、シリコンチップの設計または汎用プログラマブルチップの構成に使用されるように、HDL(ハードウェア記述言語)ソフトウェアといった、ハードウェアのコンフィグレーション「記述する(“describes”)」または定義するソフトウェアを包含することも意図されている。
【0041】
好ましい特徴は、当業者にとって明らかなように、適切に組み合せされ、そして、本発明の任意の態様と組み合わされ得る。
【図面の簡単な説明】
【0042】
以下の図面を参照して、本発明の実施形態が、例として、説明される。
【
図1A】
図1aは、本発明に従って、品質規制機能(quality regulation functionality、QRF)を含む、一つの例示的な分散型台帳ネットワーク(DLN)を示す概略図である。
【
図1B】
図1bは、本発明に従って、集中型QRFおよびハイブリッド集中/分散型(centralised/disributed)QRFを使用する、一つの例示的なDLNを示す概略図である。
【
図1C】
図1cは、本発明に従って、分散/分散型(decentralised/disributed)QRFを使用する、一つの例示的DLNを示す概略図である。
【
図1D】
図1dは、本発明に従って、一つの例示的なQRF性能試験を示す概略図である。
【
図1E】
図1eは、本発明に従って、別の例示的なQRF性能試験を示す概略図である。
【
図1F】
図1fは、本発明に従って、1つ以上の性能ベンチマークに関連する性能統計を決定するための一つの例示的な性能試験のQRFワークフローを示すフローチャートである。
【
図2A】
図2aは、本発明に従って、一つの例示的なQRFプロセスを示すフローチャートである。
【
図2B】
図2bは、本発明に従って、別の例示的なQRFプロセスを示すフローチャートである。
【
図2C】
図2cは、本発明に従って、さらなる例示的なQRFプロセスを示すフローチャートである。
【
図3】
図3は、本発明に従って、一つの例示的なQRFプロセスを示すフローチャートである。
【
図4】
図4は、本発明に従った、一つの例示的なコンピューティングシステムおよび装置の概略図である。
【
図5】
図5は、本発明に従った、一つの例示的なQRFシステムの概略図である。
【0043】
共通の参照番号は、類似の特徴を示すように図面の全体を通じて使用されている。
【発明を実施するための形態】
【0044】
本発明の実施形態が、単なる例示として以下に説明される。これらの実施例は、現在出願人に知られている発明を実施するための最良の方法を示しているが、これを達成する唯一の方法ではない。本明細書は、実施例の機能、および、実施例を構築および操作するための一連のステップを説明している。しかしながら、同一または均等な機能およびシーケンスが、異なる実施例によって達成され得る。
【0045】
本発明者は、分散型台帳ネットワーク/システムに対する品質規制機能を提案する。これは、トランザクションの不変性に関して分散/分散型(decentralised/disributed)システムの利点を有利に保持するものであり、性能診断を強化すること、および、DLNの1人以上の当事者のための分散型台帳トランザクションにおいて信頼される第三者ノードとして動作するように要求または構成された、DLN内のノードのグループの中でサービスの特定の標準/レベルを保証することによって、トランザクションのコンセンサスを維持し、一方で、コンセンサスの歪みおよび喪失または遅延したトランザクションを最小化している。
【0046】
分散型台帳トランザクションまたはトランザクションは、例えば、限定されるわけではないが、ユーザのペア及び/又はグループ、ベンダのペア及び/又はグループ、及び/又は、ユーザおよびベンダのペア及び/又はグループといった、当事者(party)のペアとグループとの間の情報の交換を含み、または、表すことができる。例えば、トランザクションは、分散型台帳技術、等を使用することを望むDLNの2つ以上のユーザまたは当事者間のものであってよい。本発明に従ったトランザクションの実施例は、例えば、限定されるわけではないが、スマートコントラクトトランザクション、電子オークショントランザクション、トレード、移転、および他の金融トランザクションを処理するためのバックオフィス決済システム、及び/又は、販売、交換、オークション、入札、両替、情報の配布、暗号通貨の支払/トランザクション、または、当事者間の監督および信頼が生じることを必要とする他のトランザクション、承認または検証を必要とするトランザクション、または、当事者間のあらゆる他のトランザクション、等を含み得る。
【0047】
分散型台帳ノード(ここにおいては、またノードとしても参照される)は、分散型台帳、等への提出及び/又は分散型台帳等からの取出し(retrieval)のために、トランザクション、トランザクションの一部、及び/又は、1つ以上のトランザクション、それらのサブパート、等に関して分散型台帳処理機能を実行するように構成された、プロセス、ハードウェア動作ノードソフトウェア、コンピューティング装置またはデバイス、及び/又は、サーバを含み、または、表している。分散型台帳ノードの例は、トランザクションに対する1人以上の当事者によって使用されるユーザノード、スーパーピア(super-peer)ノード、マスターノード、マイナノード、陪審(jury)ノード、公証(notary)ノード、分散型台帳トランザクションにおいて信頼される第三者ノードとして動作する任意のノード、及び/又は、分散型台帳ネットワークまたはシステムにおいて機能を実行し、または、機能を有する任意の他のノード、等を含む。
【0048】
信頼される第三者ノードは、信用性(trustworthiness)、信頼性(trust)、及び/又は、セキュリティのレベルを有する、分散型台帳ノードを含み、または表しており、そうして、分散型台帳トランザクションの動作及び/又は部分に関して、例えば、限定されるわけではないが、信頼されない第三者、証人、公証人または公証ノード、陪審員または陪審ノード、認証者(autheticator)、バリデータ(validator)、検証者(verifier)等として、分散型台帳ノードが動作するために、信用し、信頼し、かつ/あるいは、許可することを同意するようには相互に信用し得ない1人以上の分散型台帳トランザクションに対する当事者は、1人以上の信頼されない第三者が相互にトランザクションすることを可能にしている。
【0049】
ノードオペレータは、動作している1つ以上の分散型台帳ノード、ノード及び/又はノードのサブグループを含み、または表しており、ノードのサブグループは、分散型台帳ネットワークの一部もしくは少なくとも一部分を形成する1つ以上のノードまたは多数のノードを含んでいる。例えば、ノードオペレータに関連するノードのサブグループ内の1つ以上のノードは、ノードのサブグループ内の他のノードから独立して動作し、かつ/あるいは、他のノードオペレータに係るノードの他のサブグループ内の他のノードから独立して動作することができる。ノードのサブグループ内のノードは、信頼される第三者(TTP)ノードであってよく、それらは、例えば、限定されるわけではないが、公証または陪審機能、または、公証人/陪審員を形成するために使用されており、そこでは、ノードのサブグループ内のTTPノードそれぞれが、ノードのサブグループ内の他のノードとは独立して動作し、かつ/あるいは、公証または陪審機能を形成するため、または、アプリケーションの要求としても使用され得る、他のノードオペレータに係るノードの他のサブグループ内の他のノードとは独立して動作する。ノードオペレータの例は、例えば、限定されるわけではないが、ノードまたはノードのサブグループを所有するエンティティ、ノードのオペレータまたはノードのサブグループ、及び/又は、ノードまたはノードのサブグループを所有するエンティティの代わりに、1つ以上のノード、または、ノードの1つ以上のサブグループを操作するように契約された第三者プロバイダ(TPP)、等を含み得る。
【0050】
例えば、本発明は、分散型台帳トランザクションにおいて信頼される第三者ノードとして動作するように構成された、ノードのグループからの分散型台帳ノードについてモニタリングし、そして、試験を実行する、DLNのための品質規制機能(quality regulation function)に関する。QRFは、例えば、限定されるわけではないが、レイテンシ、稼働時間(uptime)、トランザクション処理速度、可用性、ノードについて利用可能な通信帯域幅、および他の任意の性能パラメータを含む、ライブ(live)動作性能パラメータに関して、ノードのグループ内のノードそれぞれの状態をリモートで判断することができる。QRFは、ノードのグループ内のノードそれぞれの性能を、動作性能パラメータに関連する既定のノード性能ベンチマーク(PB)と比較することができる。PBは、ノードのグループ内の全てのノードが、合意された又は所定のレベルの性能を満たし、または、満足することを確保するように設定されている。QRFは、既定の期間にわたり(例えば、毎時、毎日、毎週、毎月)PBに関連するノードの性能状態を判断するために、外部から性能パラメータを測定し、推定するためにノードに送られる、ネットワーク到達可能性メッセージ(例えば、ピン(ping)、キープアライブ(keep-alive)、等)及び/又はテスト分散型台帳トランザクションといった、1つ以上のテストメッセージを含み得る、性能試験を使用することができる。PB結果は、動作不能なノード、及び/又は、適切なPBを満足しない、または、合格しないノードといった、(時間にわたり)低い性能のノードを決定するために、QRFによって使用され得る。例えば、QRFは、許容可能な既定のノードPBを満たし/満足するために、例えば、限定されるわけではないが、時間の95%または既定の期間について、PBを合格しない1つ以上のノードを決定することができる。動作不能なノード及び/又は低い性能のノードの結果として、QRFは、任意の時点で動作不能であると決定されたノードからトランザクションを転換(divert)またはルーティングするように、もしくは、明らかに期待より低い性能のPBであるノードからトランザクション(またはトランザクショントラフィック)を転換またはルーティングするように構成され得る。QRFは、また、ノードオペレータ及び/又はネットワークマネージャに対して、障害または診断メッセージ/通知を送信することもできる。QRFは、また、ノードの報酬レベル(reward level)に影響を与え、かつ/あるいは、ノードの動作に関連するリモートの技術的決定に依存せずに、表彰(award)の付与、表彰の程度、表彰のタイミングを決定することもできる。QRFは、コンセンサスの歪みに対する保護のために信頼できるノードの数を増加させるネットワーク管理の利点を提供し、これは、全てのノード集団のうち比較的少数がコンセンサスの決定を支配している場合に問題となり得る。信頼できるノードの数を改善することによるQRFは、クリティカルノードが既定の標準または性能レベルを維持することを確実にすることによって、喪失または遅延したトランザクションレコードに関して、DLNの分散型台帳(例えば、ブロックチェーン、分散型台帳、等)の完全性に係る迅速なノード故障診断及び/又は保護のさらなる利点を提供する。
【0051】
図1aは、本発明に従って、一つの例示的な分散型台帳ネットワーク(DLN)100の示す概略図である。DLN100は、1つ以上の分散型台帳を使用し、かつ/あるいは、維持するために動作可能な複数のノード102a-102n、104a-104mを含む。複数のノード102、104、及び/又は108は、通信可能に一緒に結合されている。例えば、DLN100の複数のノード102、104、及び/又は108は、例えば、限定されるわけではないが、1つ以上の分散型台帳103a-103lを使用し、かつ/あるいは、維持するためのピアツーピア(peer-to-peer)通信ネットワークまたは他の適切な通信ネットワークを形成するように構成され得る。複数のノード102、104、及び/又は108は、例えば、限定されるわけではないが、ユーザノード102a-102nのグループ、およびDLNノード104a-104mのグループ、並びに他のノード108a-108pのグループを含み得る。DLN100は、また、少なくともDLNノードのグループ104が、DLN100のセキュリティ、完全性、及び/又は、動作の品質、および、分散型台帳103a-103lを確実にするために、所定の性能ベンチマークを満足し、または少なくとも満たすことをモニタリングし、規制し、確実にするための品質規制機能性106も含んでいる。
【0052】
ユーザノード102a-102nは、それぞれ、相互にトランザクションを実行することによってDLN100の分散型台帳103a-1031のうち1つ以上を使用することができる1人以上のユーザまたは当事者(例えば、ユーザ/当事者AからNまで)と関連付けされ得る。DLNノード104または104a-104nのグループは、ユーザノード102a-102nに関連する1人以上の当事者またはユーザ間でトランザクションの記録及び/又はトランザクションの進行を承認することによって、分散型台帳103a-103lを維持することを支援するように動作可能であり得る。DLNノード104a-104mそれぞれは、1人以上の当事者に関連する分散型台帳トランザクションにおいて信頼される第三者ノードとして動作する機能を含み、そして、対応するトランザクションまたはその進捗が記録される分散型台帳を維持することに責任がある。例えば、DLNノード104aは、それぞれに、ユーザノード102aおよび102bの当事者Aと当事者Bとの間で実行されるの分散型台帳トランザクションについて、信頼される第三者として動作するように選択され得る。当事者Aと当事者Bとの間で実行される分散型台帳トランザクションの各ステップについて、信頼される第三者として動作する、DLNノード104aと通信し、トランザクションが完了するまで、当事者Aと当事者Bとの間で実行される分散型台帳トランザクションの各ステップをモニタリングし、承認/認証する。各ステージまたはトランザクションの一部分は、分散型台帳103aに記録され、そして、安全に保管され得る。
【0053】
QRF106は、少なくともDLNノードのグループ104と通信するために動作可能であり、これらのノードが、1つ以上の分散型台帳103a-103lおよびDLN100に係るそれらのトランザクションの品質および完全性を確保するように、動作性能の最低限の標準またはレベルを満たすことを保証する。性能ベンチマーク(PB)のセットは、DLNノード104が、トランザクションにおいて第三者ノードとして動作するために必要とされる最低限の基準または性能レベルを満たしているか否かを評価するために使用され得る。QRF106は、これらのノードが1つ以上のPB(例えば、通信帯域幅、レイテンシ、トランザクション処理速度、可用性、ネットワーク到達性、等)を満たすか否かを評価するために、DLNノード104a-104mそれぞれに対する複数の性能試験の送信を制御することができる。各PBは、DLNノードが1人以上の当事者と関連するトランザクションにおいて第三者として動作し続けるために、満足し、または、満たすようにDLNノードが意図された動作性能タイプに基づいて、動作性能タイプおよび関連する最低性能レベルまたは閾値を記述する。
【0054】
例えば、PBは、以下のグループからの1つ以上のPBタイプまたは閾値に基づくものであってよい。選択されたノードがトランザクションを承認/処理するための可用性閾値を満たすために選択されたノードに要求されるノードの可用性、選択されたノードがトランザクションを承認/処理するための稼働時間閾値を満たすために選択されたノードに要求されるノードの稼働時間、ネットワーク到達可能性閾値を満たすために選択されたノードに要求されるネットワーク到達可能性、特定の通信接続速度または帯域幅閾値を満たすために選択されたノードに要求される通信接続速度または帯域幅、トランザクション処理時間閾値を満たすために選択されたノードに要求されるトランザクション処理時間、関連する動作性能閾値を満たすために選択されたノードに要求される任意の他の動作性能パラメータまたはPBタイプ、である。QRF106または任意の他のノードは、選択されたDLNノードが動作性能試験を実行または処理するときに、動作性能データ(例えば、タイムスタンプ、等)を外部で判断し、かつ/あるいは、測定するように構成され得る。この動作性能データは、各PBに関する性能統計として集約され、そして、選択されたDLNノードが対応するPBを満たし、または、満足するか否かを評価するために使用され得る。
【0055】
QRF106は、DLNノードのグループ104からDLNノードを選択し、そして、選択されたノードの動作性能を決定するためにノード動作性能試験を送信することができる。ノード動作性能試験は、既定の期間にわたり(例えば、時間、日、月、等の数量)、選択されたDLNノード104a-104mそれぞれに対して複数のテストメッセージを送信することを含み得る。
【0056】
QRF106は、性能試験に基づいて、各選択されたDLNノードから応答を受信し、または、測定することができる。各性能試験は、選択されたDLNノードの動作性能に係る異なる態様を試験するために、異なるタイプのテストメッセージを含み得る。テストメッセージに関連する各選択されたDLNノードから測定された応答または動作性能データは、各PBに関連して動作性能統計を集約するために使用され得る。テストメッセージは、以下のグループからの少なくとも1つ以上の測定可能な動作パラメータに基づいて、選択されたDLNノードの応答を引出し(elicit)、測定し、または決定するように構成され得る。テストメッセージ送信タイムスタンプ、テストメッセージ受信タイムスタンプ、レイテンシ遅延、選択されたノードの稼働時間、トランザクション処理速度、QRF106と選択されたDLNノードとの間のエンドツーエンド時間、当事者に関連する1つ以上のノードと、テストメッセージに関する選択されたノードとの間の往復時間(round-trip-time)、及び/又は、選択されたDLNノードが、性能試験、及び/又は、性能試験に関連する1つ以上のテストメッセージを処理するときに測定可能であり得るあらゆる他の動作性能データ、である。
【0057】
最初は、テストメッセージの数及び/又は既定の期間が、a)選択されたノードが、それに対して評価されるべき異なるタイプのPB、及び/又は、b)各PBに関して性能統計(statistics)を集計するために必要とされる応答サンプルサイズ、に基づいて決定され得る。これは、選択されたDLNノードが統計的に評価されることを確実にするためである。一旦、適切な応答サンプルサイズに基づくPBに関連する性能統計が集約/累積されると、選択されたDLNノードは、そのPBに基づいて評価され得る。選択されたDLNノードが少なくとも1つのPBを失敗した場合、そのDLNノードは、PBを満たさないと考えられ、DLN100に対して指示され得る。選択されたDLNが全てのPBを満たし、または、超える場合には、次いで、このことはDLN100に対して指示される。QRF106は、そのノードの性能統計を更新するため、そして、選択されたDLNノードがPBを満たし、または、満足するか否かを再評価するために、さらなる既定の期間にわたり、各選択されたDLNノードに対して性能試験を送信し続ける。新たなDLNノードが、DLN100内でオンラインになってよく、そうして、QRF106は、これらのDLNノードそれぞれについて、PBに関連する性能統計を集約するように構成され得る。従って、DLNノードのグループ104からの選択されたDLNノードがPBを満足するか否かの指示は、継続的または定期的に更新される。これらの性能試験およびPB評価は、無期限に、かつ/あるいは、選択されたDLNノードが、1人以上の当事者のためのトランザクションにおいて第三者ノードとして動作するためのDLN100の一部である限り、再発し得る。
【0058】
QRF106は、1つ以上の性能試験に関連する各DLNノード104a-104mからの応答をモニタリングし、そして、応答に基づいて、PBの評価に関連する性能統計を集約する。QRF106は、各PBの最低性能レベルに基づいて、DLNノード104a-104mそれぞれの性能統計を評価する。QRF106は、PBを満足するこれらのDLNノード104a-104mをDLN100に対して識別し、または、指示することができる。DLN100に対する指示は、トランザクショントラフィックを、PBを満足するDLNノード104a-104mへ向けて自動的にルーティングするために使用され得る。この識別または指示は、PBを満たすDLNノード104a-104m及び/又はPBを満たさないDLNノード104a-104mを表すデータのリストを生成することを含み得る。生成されたリストは、1人以上の当事者のための分散型台帳トランザクションにおいて信頼される第三者として動作し得るノードを選択する際に使用するために、DLN100の複数のノード102、104、及び/又は108、または、DLN100のあらゆる他の適切なノードに対して、アクセス可能にされ、または、公表され得る。このようにして、トランザクショントラフィックは、PBを満足するDLNノード104a-104mだけにルーティングされ得る。QRF106は、DLN100の中で、集中型、分散型、及び/又は、ハイブリッド集中/分散型で実装されるように構成され得る。
【0059】
図1bは、本発明に従って、集中型のやり方で、QR106を実装している、DLN110を示す概略図である。この場合に、DLNの特定のノード102、104、または108は、以下のグループからの任意のノードであり得る。ユーザノード、DLNノード、公証ノード、マスターノード、スーパーピア(super-peer)ノード、または、本発明に従って、DLMノードのグループ104に関してQRF106を実行するために使用され得るDLN100に係るあらゆる他の適切なノード、または、適切な1つ以上のノード、である。この例において、QRF106を含むDLNの集中化されたノードは、1人以上の当事者のためのトランザクションにおいて第三者ノードとして動作するための性能ベンチマークを満足する、それらのDLNノード104を表すデータ112をDLN100について決定し、識別し、そして、指示するように構成されている。PBを満足するDLNノード104を表すデータは、例えば、限定されるわけではないが、DLNノード104がPBを満足するか否かのリスト、DLNノード104がPBを満足するか否かを示すデータベース/レコード、DLNノード104がPBを満足するか否かの指示を記録し、かつ/あるいは、保管するPB分散型台帳112、を含み得る。QRF106の集中化された実装は、いくつかの状況においては望ましい場合もあるが、分散型台帳を使用するユーザおよび組織が増加しているので、DLN100も、また、需要に追いつくために成長する必要がある。従って、信頼される第三者ノードに対する需要は増加し、そして、従って、第三者として動作するために必要とされる性能ベンチマークを満足するDLNノード104の数も、また、増加する。従って、QRF106の集中化された実装は、DLNノード104の需要および数の増加に、完全にはスケール(scale)しなくてよい。
【0060】
別の例において、QRFは、ハイブリッド集中/分散型階層方式で実装されてよく、そこでは、DLN100のいくつかのノードは、マスターQRFノード108a、および、いくつか又は1つ以上のローカルまたはスレーブQRFノード108bまたは108cを含み得る、いわゆるQRFノード108a-108cを含み得る。このことは、DLTサービスおよび台帳、等に対するユーザの要求によりDLN100及び/又はDLNノード104の数が増加するように、集中化QRF106がスケールするのを支援し得る。ローカルQRFノード108bまたは108cそれぞれは、それらに割り当てられたDLNノード114aまたは114bのサブグループを、それぞれに、評価し、そして、その結果(例えば、性能マークを満足しているサブグループ内のそうしたDLNノードの指示)を、コンパイル(compilation)し、ファイナライズ(finalisation)し、および、性能ベンチマークを満たし、かつ/あるいは、満たさないDLN100の全てのDLNノード104を表すデータの指示を公表(publishing)するために、マスターQRFノード108aへ送信することができる。
【0061】
この例において、DLNノードのグループ104は、DLNノード114aおよび114bの複数のサブグループ(例えば、DLNノードの地理的領域、またはDLNノードのサブネット、もしくはDLNノードのあらゆる他の適切な分割)へと分割され得る。そして、1つ以上のローカルQRFノード108bまたは108cは、それぞれに、DLNノード114aまたは114bのサブグループに割り当てられる。これらのローカルQRFノード108bおよび108cは、DLNノード114aおよび114bの割り当てられたサブグループに対して定期的に性能試験を開始し、かつ、送信し、それらから応答を受信し、性能統計を集約し、PBに関してそれらの割り当てられたサブグループ内のDLNノードを評価し、そして、PBを満たし、かつ/あるいは、満たさないDLNノードの対応するサブグループ内のDLNノードの表示をマスターQRFノード108aへ提供する。マスターQRFノード108aは、コンパイル、ファイナライズ、および、PBを満たし、かつ/あるいは、満たさないDLN100の全てのDLNノード104を表すデータの指示を公表するために、ローカルQRFノード108bおよび108cそれぞれから指示を受信し得る。
【0062】
図1cは、分散および自己規制方式(decentralised and self-regulating manner)で、本発明に従ったQRF106を実装するDLN120を示す概略図である。DLN120は、それぞれがQRF106を含み得る、複数のノード104a-104m及び/又は102a-102nを含んでいる。少なくともDLNノード104a-104mがトランザクションにおいて第三者ノードとして動作するために、これらがPBを満たし、または、満足するか否かを評価するためである。これは、DLN120内のノードが、分散方式で相互に規制するように構成され得ることを意味する。QRF106を有するノード104a-104m及び/又は102a-102nそれぞれは、性能試験のためにDLNノード104a-104mのセットをそれぞれ選択し、そして、DLNノード104a-104mの選択されたセットが、トランザクションにおいて信頼される第三者ノードとして動作するためのPBを満足するか否か指示をDLN120へ提供することができる。
【0063】
QRF106を含む複数のノード104a-104m及び/又は102a-102nそれぞれは、QRFノードとして参照され得る。QRFノード104a-104m及び/又は102a-102mそれぞれは、ノードの選択されたセットのうちどれが、トランザクションにおいて信頼される第三者として動作するために必要とされる動作PBを満たすかを決定するように、複数のノード104a-104m及び/又は102a-102nにおける他のノードの選択されたセットに対して性能試験を送信するように、それらのQRF106によって、構成されている。各QRFノードは、
図1a-1bを参照して説明したのと同様な方法で、それらの最後のノードが、いつ動作PBを満足し、または、満足しなかったかに基づいて、複数のノード104a-104m及び/又は102a-102nから1つ以上のノードを、性能試験のために選択することができる。性能試験のためのDLNノード104a-104mの選択は、以下のグループからの任意の1つ以上の選択方法に基づいてよい。DLNノード104a-104mのセットのうちランダムな選択、更新されたトランザクションにおいて信頼できる第三者ノードとして動作するための動作PBを満足するか否かの指示を有するように決定されたDLNノード104a-104mのセットの選択、ローカルまたは各QRFノードの近傍における1つ以上のDLNノード104a-104mのセットから選択、既定の試験時間間隔でテストされていないDLNノード104a-104mからのDLNノード104a-104mのセットから選択、及び/又は、全てのDLNノード104a-104mがテストされたこと、および、DLN120に提供される、トランザクションにおいて信頼できる第三者ノードとして動作するための動作PBをDLNノード104a-104mが満足するか否かの指示を確保するために、DLNノード104a-104mを選択する他の任意の方法、である。
【0064】
各QRFノード104a-104mおよび102a-102nは、動作PBに関連するブロックチェーンまたは分散型台帳122内にこれらを記録し、かつ/あるいは、保管することによって、1つ以上の動作PBを満足する少なくとも選択されたDLNノード104a-104mの性能試験結果または指示をDLN120へ提出することができる。このことは、選択されたDLNノード104a-104mそれぞれに対する動作性能統計、及び/又は、選択されたDLNノード104a-104mそれぞれが1つ以上の動作PBを満足するか否かを保管し、かつ/あるいは、記録することを含み得る。各QRFノード104a-104m及び/又は102a-102nからの試験結果が、PBブロックチェーン及び/又はPB分散型台帳へと受け入れられ、入力され、かつ/あるいは、記録されるためには、QRFノード104a-104m及び/又は102a-102n間でコンセンサスが必要であり、これは、QRFノード104a-104m及び/又は102a-102nのうち任意の1つが、悪意のある又は信頼できない方法で動作している可能性を低減し、かつ/あるいは、確実にするための自己規制メカニズムを提供する。QRFノードが悪意のある又は信頼できない方法で動作している場合に、そうしたQRFノードからの試験結果は、おそらく受け入れられないだろう。なぜなら、これらの試験結果は、コンセンサスの最中に他のQRFノードによって検証され、その結果は、試験されたノードに関して禁忌の(contra-indicating)試験結果を有するからである。PBブロックチェーンまたはPB分散型台帳122は、トランザクションにおいて第三者ノードとして動作するために必要とされる動作PBを満足する少なくとも1つのDLNノード104a-104mを選択するために、トランザクションに対して1人以上の当事者のユーザノード102a-102nによってアクセス可能であり、かつ/あるいは、アクセスされる。PBブロックチェーン又はPB分散型台帳122は、また、DLN120の他のノード104a-104m、102a-102n、及び/又は、108a-108pによっても、アクセス可能であり、かつ/あるいは、アクセスされる。それらが、トランザクションにおいて第三者ノードとして動作するため、または、他の理由のために必要とされる動作PBを満足する少なくとも1つのDLNノード104a-104mを必要とする場合である。
【0065】
ユーザノード102a-102nは、QRF106を含み、かつ、DLNノード104a-104mの自己規制機構の一部であり得るが、ユーザノード102a-102nは、DLNノード104a-104mが第三者ノードとして動作するために必要とされるPBを満足するか否かを判断するのに適していないことがある。代わりに、DLNノード104a-104mのグループは、自己規制機能を実行するように構成され得る。DLNノード104a-104mは、1つ以上のPBを満たし、かつ、信頼される第三者ノードとして動作することが期待されるからであり、QRF106を実行するために活用され得る。
【0066】
図1dは、
図1aのDLN100における本発明に従って、一つの例示的なQRF性能試験130を示す概略図であり、ここで、性能試験は、DLN100の異なるユーザノードに基づいて存在し、または、存在している2人以上の当事者に基づいている。QRF性能試験130は、いわゆるQRFノードである、QRF106を含み得る、DLN100のノード104a-104m、102a-102n、及び/又は、108a-108pのいずれか1つによって実行され得る。この実施例において、第1のQRFノード102i/104iおよび第2のQRFノード102j/102jは、DLNノード104aの性能試験において使用され得る。QRF性能試験130は、1つ以上のテストメッセージをDLNノード104aへ送信することに基づいてよい。テストメッセージの1つは、診断テスト・トランザクション132に基づいてよく、QRFノード102i/104i及び/又は102j/104jが、診断テスト・トランザクション132を処理しているDLNノード104aの応答から動作性能統計を測定、かつ/あるいは、決定できるようにする。診断テスト・トランザクション132は、DLN100のDLNノードのグループ104a-104mからのノードがトランザクションにおいて第三者ノードとして動作することを必要とする、2人以上の当事者(例えば、当事者Aおよび当事者B)間に存在し得る。この場合に、第1のQRFノード102i/104iは、当事者Aとして機能し、そして、第2のQRFノード102j/104jは、診断テスト・トランザクション132において当事者Bとして機能し得る。
【0067】
診断トランザクション・テストメッセージ132に加えて、QRF性能試験130のテストメッセージは、さらに、以下のグループに基づいて1つ以上のネットワーク到達可能性メッセージを含み得る。選択されたDLNノード104aの到達可能性を判定するためのピン(ping)メッセージ、選択されたDLNノード104aと共に存在する通信リンクを判定するためのキープアライブ(keep-alive)メッセージ、選択されたDLNノード104aに関して往復時間を判定するためのあらゆる他のメッセージまたはメッセージング・プロトコル、選択されたDLNノード104aに関してエンドツーエンド遅延または一方向(one-way)遅延を判定するためのあらゆる他のメッセージまたはメッセージング・プロトコル、である。
【0068】
PBは、以下に基づいてよい。a)可用性の閾値(例えば、時間のXパーセント)に基づいてトランザクションを受信するために利用可能である(例えば、ノードの可用性)選択されたDLNノード104a、b)特定の通信接続速度または帯域幅の閾値を満足するために、QRFノード102i/104i及び/又は102j/104j間で、選択されたDLNノード104aとの通信が必要とされる、通信接続速度または帯域幅、c)トランザクション処理時間の閾値またはトランザクション処理における最大トランザクション処理速度またはレイテンシを満足するために、選択されたDLNノード104aが必要とされる、トランザクション処理時間、等である。
【0069】
本実施例においては、QRF性能試験130の動作134において、当事者Aとして動作する第1のQRFノード102i/104iが、DLNノード104aを選択し、そして、当事者Bとして動作する第2のQRFノード102j/104jに向けて診断テスト・トランザクション132を送信することができる。ここで、診断テスト・トランザクション132に関して信頼される第三者として動作するように、DLNノード104aが選択される。第1のQRFノード102i/104iは、また、テストメッセージ及びそれに対する応答を送信/受信するための1つ以上のタイムスタンプを記録することもできる。この場合には、診断テスト・トランザクション開始タイムスタンプが記録され得る。さらに、第1のQRFノード102i/104iは、また、QRFノード102i/104iとDLNノード104aとの間のエンドツーエンド遅延を判定するために、動作134において1つ以上のネットワーク到達可能性テストメッセージを送信し、または、PBに関して1つ以上の動作性能統計を判定するためのさらなるタイムスタンプを送信し得る。動作136において、DLNノード104aは、当事者Aに関して診断テスト・トランザクション132を処理し、それは、当事者Bへ送信する以前に、当事者A(例えば、TPA)に関連して第1の処理遅延を結果として生じる。
【0070】
動作138において、DLNノード104aは、当事者Bとして動作する第2のQRFノード102j/104jに、当事者Aに関して処理された診断テスト・トランザクション132を送信する。第2のQRFノード102j/104jは、テストメッセージ、テストメッセージに対する応答、及び/又は、DLNノード104aからの応答の受信/送信について1つ以上のタイムスタンプを記録することができる。この場合、第2のQRFノード102j/104jは、少なくとも、DLNノード104aからの処理された診断テスト・トランザクション132の受信についてタイムスタンプを記録することができる。当事者Bとして動作している第2のQRFノード102j/104jは、次いで、受信された診断テスト・トランザクション132をそれに応じて「処理(“process”)」し、そして、動作140においては、DLNノード104aでのさらなる処理のために、当事者Bの応答をDLNノード104aから診断テスト・トランザクション132へ送信し得る。加えて、第2のQRFノード102j/104jは、また、動作140において、QRFノード102j/104jとDLNノード104aとの間のエンドツーエンド遅延を判定するために、1つ以上のネットワーク到達可能性テストメッセージを送信し、または、PBに関する1つ以上の動作性能統計の判定において使用するために、さらなるタイムスタンプを送信し得る。
【0071】
動作142において、DLNノード104aは、処理された診断テスト・トランザクション132を当事者Aとして動作しているQRFノード102i/104iへ送信する以前に、当事者B(例えば、TPB)に関する第2の処理遅延を結果として生じる、当事者Bからの(または、当事者Bに関する)診断テスト・トランザクション132の応答を処理する。動作144において、DLNノード104aは、当事者Aおよび当事者Bに関する処理された診断テスト・トランザクション132を、当事者Aとして動作しているQRFノード102i/104iへ送り返す。QRFノード102i/104iは、当事者Aおよび当事者Bに関して処理された診断テスト・トランザクション132をDLNノード104aから受信し、そして、QRF性能試験130のこの部分の終端をマーキングする、終了タイムスタンプを記録し得る。第1および第2のQRFノード102i/104iおよび第2のQRFノード102j/104jは、動作146および1548において、動作134、138、140、144に関するタイムスタンプ情報を交換するために、任意的に、相互に通信することができる。このようにして、第1のQRFノード102i/104iが、QRFノード102i/104iおよび102j/104jの両方からのタイムスタンプ情報に基づいて、PBに関して動作性能統計を決定することができるか、第2のQRFノード102j/104jが、QRFノード102i/104iおよび102j/104jの両方からのタイムスタンプ情報に基づいて、PBに関して動作性能統計を決定することができるか、または、QRFノード102i/104iおよび102j/104jの両方が、互いから受信され、かつ、診断テスト・トランザクション132に関連するQRF性能試験130の最中に記録された、タイムスタンプ情報に基づいて、PBに関して動作性能統計を決定することができるか、いずれかである。
【0072】
第1および第2のQRFノード102i/104iおよび102j/104jによって記録されたタイムスタンプは、例えば、限定されるわけではないが、診断テスト・トランザクションを処理するDLNノード104aに対する往復時間、各QRFノード102i/104iまたは102j/104jと、DLNノード104aとの間のエンドツーエンド時間、を決定するために使用され得る。これらは、PBに関して動作性能統計/パラメータに関連する動作性能データのインスタンスまたはサンプルの推定値(estimate)を決定するのに役に立ち得る。PBは、例えば、限定されるわけではないが、DLNノード104aの可用性及び/又は稼働時間、DLNノード104aのトランザクション処理時間、及び/又は、DLNノード104aに使用されるか又は利用可能な通信リンクの通信帯域幅/速度、及び/又は、あらゆる他のDLNノード104aの動作性能手段に基づいている。1つ以上の動作性能統計の動作性能データのインスタンスまたはサンプルの推定値は、PBそれぞれに関して対応する1つ以上の動作性能統計と共に集約されてよく、または、それらを更新するために使用されてよい。
【0073】
QRF性能試験130は、複数回実施されてよく、従って、LNノード104aとのQRFノード102a/104iによって、異なる時間インスタンスでの複数の動作性能試験またはテストメッセージが実施される。複数の動作性能試験は、既定の時間間隔にわたり、または、数多く実施されてよく、PBに関して動作性能統計が、統計的に関連し/有意であることを可能にし得る。各性能試験の後の動作性能統計/パラメータそれぞれのインスタンスまたはサンプルは、各選択されたノードについて対応する動作性能統計を形成するように集約され得る。一つの例において、各PBに関して各動作性能統計に関連する性能試験から決定されたインスタンスまたはサンプルは、選択されたDLNノード104aに関連する受信した動作性能データが動作PBに関して対応する目標動作性能閾値を満足する頻度に基づいて、DLNノード104aについて動作性能を計算するために使用され得る。
【0074】
診断トランザクション・テストメッセージ132及び/又はネットワーク到達可能性メッセージ、および、それに対する応答により、QRFノード102i/104i及び/又は102j/104jは、DLNノード104aとのトランザクションを実行している当事者Aおよび当事者Bとして動作しているQRFノード102i/104iおよび102j/104jそれぞれの間のエンドツーエンド遅延を決定することに基づいて、選択されたノードのトランザクションを実行するために選択されたDLNノード104aの可用性の推定値を決定することができる。診断トランザクション・テストメッセージ132及び/又はネットワーク到達可能性メッセージ、および、それに対する応答により、QRFノード102i/104i及び/又は102j/104jは、診断テスト・トランザクション132の2人以上の当事者のノードと(例えば、当事者Aとして102i/104iおよび当事者Bとして102j/104jのQRFノード間)、選択されたDLNノード104aとの間で実行されている診断テスト・トランザクション132の往復時間、および、2人以上の当事者のノードと、選択されたDLNノード104aとの間のエンドツーエンド遅延に基づいて、診断テスト・トランザクション132(及び/又は、ネットワーク到達可能性メッセージ)に関して選択されたDLNノード104aのトランザクション処理時間の推定値を決定することができる。さらに、1つ以上のテストメッセージ、および、それに対する応答は、選択されたDLNノード及び/又はネットワーク到達可能性テストメッセージとのトランザクション132における2人以上の当事者間の往復時間及び/又はエンドツーエンド遅延を決定することに基づいて、選択されたDLNノード104aが有する、DLN100との通信リンクまたは接続に係る通信帯域幅の推定値を決定するように構成され得る。
【0075】
図1eは、
図1aのDLN100における本発明に係る別の例示的なQRF性能試験150を示す概略図であり、ここで、性能試験は、DLN100の同じユーザノードに基づいて存在し、または、存在している2人以上の当事者に基づいている。この例において、QRF性能試験150は、QRF106を含むDLN100のノード104a-104m、102a-102n、及び/又は108a-108p、いわゆるQRFノード、のうち1つによって実行される。この例において、QRFノード102i/104iは、DLNノード104aの性能試験において使用される。QRF性能試験150は、1つ以上のテストメッセージを、QRFノード102i/104iから、DLNノード104a、および、タイムスタンプ情報及び/又は利用可能な他のデータを測定しているQRFノード102i/104iへ送信すること、および、1つ以上のテストメッセージに関するDLNノード104aからの応答に基づいている。QRFノード102i/104iは、当事者Aおよび当事者Bの両方として動作する診断テスト・トランザクション152に基づいてテストメッセージを送信し、これにより、QRFノード102i/104iは、診断テスト・トランザクション152を処理するDLNノード104aの応答から動作性能統計を測定し、かつ/あるいは、決定することができる。診断テスト・トランザクション152は、トランザクションにおいて第三者ノードとして動作するためにDLNノード104aを必要とする、2人以上の当事者(例えば、当事者Aおよび当事者B)間に存在し得る。
【0076】
この例において、QRFノード102i/104iは、当事者Aとして動作し、当事者Bとの診断テスト・トランザクション152において信頼される第三者として動作するようにDLNノード104aを選択し得る。QRF性能試験150の動作154において、QRFノード102i/104iは、当事者Bに向けて診断テスト・トランザクション152を送信する。ここで、QRFノード102i/104iは、また、当事者Bとしても動作する。QRFノード102i/104iは、また、当事者Aとして動作するときに、テストメッセージ、および、それに対する応答を送信/受信するための1つ以上のタイムスタンプを記録することもできる。この場合には、診断テスト・トランザクション開始タイムスタンプが記録され得る。さらに、QRFノード102i/104iは、また、QRFノード102i/104iとDLNノード104aとの間のエンドツーエンド遅延を判定するために、動作154において1つ以上のネットワーク到達可能性テストメッセージを送信し、または、PBに関して1つ以上の動作性能統計を判定するためにさらなるタイムスタンプを送信し得る。動作156において、DLNノード104aは、当事者Aに関して診断テスト・トランザクション152を処理し、それは、当事者Bへ送信する以前の当事者A(例えば、TPA)に関する第1の処理遅延を結果として生じる。
【0077】
動作158において、DLNノード104aは、当事者Aに関して処理された診断テスト・トランザクション152を当事者Bに向けて送信し、そこでは、当事者Bとして動作しているQRFノード102j/104jが受信する。当事者Bとして動作するQRFノード102i/104iは、テストメッセージ、テストメッセージに対する応答、及び/又は、DLNノード104aからの応答を、受信/送信することに対する1つ以上のさらなるタイムスタンプを記録することができる。この場合に、QRFノード102i/104iは、DLNノード104aから、当事者Aに関して処理された診断テスト・トランザクション152を受信することに対する少なくとも1つのタイムスタンプを記録することができる。この時点で、所与のQRFノード102i/104iは、診断テスト・トランザクション152において当事者Aおよび当事者Bとして動作しており、動作154-158から収集されたタイムスタンプから、および、また、QRFノード102i/104iとDLNノード104aとの間のネットワーク到達可能性テストメッセージからのエンドツーエンド遅延推定値からも、QRFノード102i/104iは、当事者A(例えば、TPA)に関して第1の処理遅延を判定することができる。
【0078】
当事者Bとして動作しているQRFノード102i/104iは、次いで、それに応じて受信した診断テスト・トランザクション152を「処理(“process”)」し、そして、動作160においては、DLNノード104aにおけるさらなる処理のために、診断テスト・トランザクション152に対する当事者Bの応答を、DLNノード104aへ送信することができる。加えて、QRFノード102i/104iは、また、動作160において、QRFノード102i/104iとDLNノード104aとの間のさらなるエンドツーエンド遅延を判定するために、1つ以上のさらなるネットワーク到達可能性テストメッセージを送信し、かつ/あるいは、PBに関して1つ以上の動作性能統計を判定する際に使用するために、さらなるタイムスタンプを送信することもできる。動作162において、DLNノード104aは、当事者Bからの(例えば、当事者Bに関する)からの診断テスト・トランザクション152の応答を処理し、それは、DLNノード104aが処理された診断テスト・トランザクション152を当事者Aとして動作するQRFノード102i/104iに対して送信する以前に、結果として、当事者B(例えば、TPB)に関して第2の処理遅延を生じる。動作164において、DLNノード104aは、当事者Aおよび当事者Bに関して処理された診断テスト・トランザクション152を、当事者Aとして動作するQRFノード102i/104iへ送り返す。
【0079】
QRFノード102i/104iは、DLNノード104aから、当事者Aおよび当事者Bに関する処理された診断テスト・トランザクション152を受信し、そして、終了タイムスタンプ(end time-stamp)を記録して、QRF性能試験150に係るこの部分の終了をマーキングする。この時点で、所与のQRFノード102i/104iは、診断テスト・トランザクション152において当事者Aおよび当事者Bとして動作しており、動作160-164から収集されたタイムスタンプから、および、また、QRFノード102i/104iとDLNノード104aとの間のネットワーク到達可能性テストメッセージからのエンドツーエンド遅延推定値からも、QRFノード102i/104iは、当事者B(例えば、TPB)に関して第2の処理遅延を判定することができる。QRFノード102i/104iは、次いで、診断テスト・トランザクション132に関してQRFノード102i/104iによって記録された、タイムスタンプ情報、及び/又は、エンドツーエンド遅延情報、等に基づいて、PBに関する動作性能統計のインスタンス及び/又はサンプルを判定することができる。
【0080】
診断テスト・トランザクション152の最中にQRFノード102i/104iによって記録され得るタイムスタンプ情報及び/又はエンドツーエンド遅延情報は、例えば、限定されるわけではないが、当事者Aおよび当事者Bに関して診断テスト・トランザクション152を処理するDLNノード104aに関連する処理時間、診断テスト・トランザクション152を処理するDLNノード104aについての往復時間、QRFノード102i/104iとDLNノード104aとの間のエンドツーエンド時間、等を決定するために使用され得る。これらは、PBに関して動作性能統計/パラメータに関連する動作性能データのインスタンス又はサンプルの推定値を決定するのに有用であり得る。PBは、例えば、限定されるわけではないが、DLNノード104aの可用性及び/又は稼働時間、DLNノード104aのトランザクション処理時間、及び/又は、DLNノード104aに対して使用され、または利用可能な通信リンクの通信帯域幅/速度、及び/又は、DLNノード104aに係るあらゆる他の動作性能手段、に基づいている。1つ以上の動作性能統計に係る動作性能データのインスタンスまたは推定値は、PBそれぞれに関して対応する1つ以上の動作性能統計を更新するために、一緒に集約され、または、使用され得る。
【0081】
図1dを参照して説明したように、QRF性能試験150は、複数回実施されてよく、従って、LNノード104aとのQRFノード102a/104iによって、異なる時間インスタンスでの複数の動作性能試験またはテストメッセージが実施される。複数の動作性能試験は、既定の時間間隔にわたり、または、数多く実施されてよく、PBに関して動作性能統計が、統計的に関連し/有意であることを可能にし得る。各性能試験の後の動作性能統計/パラメータそれぞれのインスタンスまたはサンプルは、各選択されたノードについて対応する動作性能統計を形成するように集約され得る。一つの例において、各PBに関して各動作性能統計に関連する性能試験から決定されたインスタンスまたはサンプルは、選択されたDLNノード104aに関連する受信した動作性能データが動作PBに関して対応する目標動作性能閾値を満足する頻度に基づいて、DLNノード104aについて動作性能を計算するために使用され得る。
【0082】
診断トランザクション・テストメッセージ152及び/又はネットワーク到達可能性メッセージ、および、それに対する応答により、QRFノード102i/104iは、DLNノード104aとのトランザクションを実行する当事者Aおよび当事者Bの両方として動作しているQRFノード102i/104i間のエンドツーエンド遅延を決定することに基づいて、選択されたノードのトランザクションを実行するために選択されたDLNノード104aの可用性の推定値を決定することができる。診断トランザクション・テストメッセージ152及び/又はネットワーク到達可能性メッセージ、および、それに対する応答により、QRFノード102i/104iは、診断テスト・トランザクション152の2人以上の当事者のノードと(例えば、当事者Aとして102i/104i、及び/又は当事者Bとして102j/104jのQRFノード間)、選択されたDLNノード104aとの間で実行されている診断テスト・トランザクション152の往復時間、および、2人以上の当事者のノードと、選択されたDLNノード104aとの間のエンドツーエンド遅延に基づいて、診断テスト・トランザクション152(及び/又は、ネットワーク到達可能性メッセージ)に関して、選択されたDLNノード104aの全トランザクション処理時間(例えば、TPA+TPB)、及び/又は、各当事者に関連するトランザクション処理時間(例えば、TPAおよびTPB)の推定値を決定することができる。さらに、1つ以上のテストメッセージ、および、それに対する応答は、選択されたDLNノード104a及び/又はネットワーク到達可能性テストメッセージとのトランザクション132における2人以上の当事者間の往復時間及び/又はエンドツーエンド遅延を決定することに基づいて、選択されたDLNノード104aが有する、DLN100との通信リンクまたは接続に係る通信帯域幅の推定値を決定するために使用され得る。
【0083】
図1fは、診断テスト・トランザクション166に基づいて、性能試験に関して、1つ以上のQRFノード162a及び/又は162bと、選択されたDLNノード164(例えば、公証人プールからの公証ノード)との間における一つの例示的なQRFワークフロー160を示すフローチャートである。診断テスト・トランザクション166は、各当事者がトランザクション166の一部に署名することを要求される、当事者Aと当事者Bとの間のトランザクションであり得る。トランザクションは、当事者Aおよび当事者Bの署名を必要とするスマートコントラクトの一部であり得る。診断テスト・トランザクションは、例えば、限定されるわけではないが、公証ノード164の可用性または稼働時間、公証ノード164のトランザクション処理速度/遅延、及び/又は、公証ノード164の通信帯域幅/速度、等といった、1つ以上のPBに関して公証ノード164の性能統計を決定するために集約され得る、サンプル性能統計/パラメータを決定するために使用され得る。QRFノード162aおよび162bは、性能試験を実行し、そして、公証ノード164に関してPBに対応する動作性能統計を集約するためにQRF106aおよび106bを含んでいる。QRFノード162aは、診断テスト・トランザクション166において当事者Aとして動作し、そして、QRFノード162bは、診断テスト・トランザクション166において当事者Bとして動作する。当事者Aとして動作するQRFノード162aおよび当事者Bとして動作するQRFノード162bは、同じQRFノードの一部であってよく、及び/又は、例えば、
図1dおよび1eを参照して説明されるように、異なるQRFノードの一部であってもよい。
【0084】
この場合、当事者Aとして動作するQRFノード162aは、診断テスト・トランザクション166を開始し、そして、ワークフローの動作168において、当事者Aの署名を診断テスト・トランザクションに追加する(または、当事者Aに代わって診断テスト・トランザクションに署名する)。これは、当事者Aがトランザクションに有効に署名したことを確認かつ/あるいは認証するために公証ノード164による処理を必要とする。ワークフローの動作170においては、当事者Aの署名を伴う署名付き(signed)診断テスト・トランザクションが公証ノード164へ送信される。それは、署名付き診断テスト・トランザクションをQRFノード162aから公証ノード164へに転送するために、TANである通信リンク送信時間間隔を要する。ワークフローの動作172において、公証ノード164は、診断テスト・トランザクション166に追加された当事者Aの署名を確認し、検証し、かつ/あるいは、認証することによって、受信した診断テスト・トランザクションを処理する。これは、公証ノード164が、当事者Aがトランザクションに署名したことのコンセンサスを公証ノードのプールから得ることを必要とし、そして、一旦コンセンサスが得られると、トランザクションのこの部分を分散型台帳に対して追加または記録する。このことは、当事者Aの署名を処理するための第1処理遅延174(例えば、TPA)を結果として生じる。
【0085】
ワークフローの動作176において、公証ノード164は、次いで、当事者Aによって署名された検証済み診断テスト・トランザクションを、当事者Bとして動作するQRFノード162bへ送信することができ、それは、当事者Aによって署名された検証済み診断テスト・トランザクションを公証ノード164からQRFノード162bへ転送するために、TBNである通信リンク送信時間間隔を要し得る。ワークフローの動作178において、当事者Bとして動作するQRFノード162bは、当事者Bの署名を、当事者Aによって署名された検証済み診断テスト・トランザクションに追加する(または、当事者Bに代わって検証済み診断テスト・トランザクションに署名する)。再び、このことは、当事者Bがトランザクションに有効に署名したことを確認かつ/あるいは認証するために、公証ノード164による処理を必要とする。ワークフローの動作180においては、当事者Aの署名および当事者Bの署名を伴う署名された診断テスト・トランザクションが公証ノード164に送信される。それは、当事者Aおよび当事者Bが署名した診断テスト・トランザクションをQRFノード162bから公証ノード164へ転送するために、TBNである通信リンク送信時間間隔を要する。
【0086】
ワークフローの動作182において、公証ノード164は、ワークフローの動作178において診断テスト・トランザクションに追加された当事者Bの署名を確認し、検証し、かつ/あるいは、認証することにより、当事者Aおよび当事者Bによって署名された、受信した診断テスト・トランザクションを処理する。これは、公証ノード164が、当事者Bがトランザクションに有効に署名したことのコンセンサスを公証ノードのプールから得ることを必要とし、そして、一旦コンセンサスが得られると、トランザクションのこの部分を分散型台帳に対して追加または記録する。このことは、当事者Bの署名を処理するための第2処理遅延174(例えば、TPB)を結果として生じる。ワークフローの動作186において、公証ノード164は、次いで、当事者Aおよび当事者Bによって署名された検証済み診断テスト・トランザクションをQRFノードへ送信することができ、それは、当事者Aおよび当事者Bによって署名された検証済み診断テスト・トランザクションを公証ノード164からQRFノード162bへ転送するために、TNAである通信リンク送信時間間隔を要し得る。ワークフローの動作188において、QRFノード162aは、当事者Aおよび当事者Bによって署名された検証済み診断テスト・トランザクションの署名を記録し(例えば、分散型台帳に記録し)、そして、動作194において、トランザクションのその部分を終了することができる。ワークフローの動作190において、QRFノード162aは、当事者Aおよび当事者Bによって署名された検証済み診断テスト・トランザクションを、当事者Bとして動作するQRFノード162bに送信することができ、それは、ワークフローの動作192において、当事者Aおよび当事者Bによって署名された検証済み診断テスト・トランザクションの署名を記録し、そして、動作196においてトランザクションのその部分を終了することができる。当事者Aおよび当事者Bによって署名された検証済み診断テスト・トランザクションを公証ノード164からQRFノード162aへ送信した後で、公証ノード164は、ワークフローの動作198において、トランザクションのその部分を終了することができる。
【0087】
例えば、当事者Aおよび当事者Bに関して、公証ノード164がトランザクションを処理するために要する全処理時間は、TP=TPA+TPBとして定義されてよく、これは、例えば、限定されるわけではないが、以下に基づいて導出され得る。a)ワークフローの動作170において、当事者Aによって署名された診断テスト・トランザクションを送信し、そして、ワークフローの動作186において、当事者Aおよび当事者Bによって署名された検証済み診断テスト・トランザクションを受信するQRFノード162aが要する全往復時間(例えば、TRTT(TOT))、b)当事者Aとして動作するQRFノード162aと公証ノード164との間で、ワークフローの動作170および186に係る送信時間TANおよびTNAに基づく往復時間TRTT(AN)、およびc)当事者Bとして動作するQRFノード162bと公証ノード164との間で、ワークフローの動作176および180に係る送信時間TNBおよびTBNに基づくTRTT(BN)、である。これらは、ワークフローの動作170、176、180、186の最中にQRFノード162aおよび162bで記録された送信/受信タイムスタンプ、及び/又は、QRFノード162aと公証ノード164との間及び/又はQRFノード162bと公証ノード164との間のエンドツーエンド遅延を決定するさらなるネットワーク到達可能性テストメッセージによって決定され得る。例えば、当事者Aとして動作するQRFノード162aおよび当事者Bとして動作するQRFノード162bが異なるQRFノードである場合に、全処理時間161は、TP=TRTT(TOT)-(TRTT(AN)+TRTT(BN))として定義され得る。別の例において、全処理時間163は、当事者Aとして動作するQRFノード162aおよび当事者Bとして動作するQRFノード162bが同じQRFノードである場合に、TP=TRTT(TOT)-2(TRTT(AN))=TRTT(TOT)-2(TRTT(BN))として定義され得る。そして、従って、往復時間TRTT(AN)は、実質的に往復時間TRTT(BN)と同じである。
【0088】
図2aは、本発明に従って、一つの例示的なQRFプロセス200を示すフローチャートである。QRFプロセス200は、
図1a-
図1fを参照して説明したように、DLN100、120、及び/又は130に係るノード102、104、および108のいずれか1つにおいて実施され、かつ/あるいは、実行され得る。QRFプロセス200は、
図1b及び/又は
図1cを参照して説明したように、集中型、分散型、及び/又は、ハイブリッド集中/分散型QRFシステムの一部であってよい。QRFプロセス200は、DLN100、120、及び/又は130の動作を規制するために使用され得る。ここで、DLN100、120、及び/又は130は、複数のノードがノードのグループ104を含む、複数のノード102a-102n、104a-104m、108a-108pを含んでいる。ノードのグループ104における各ノードは、分散型台帳トランザクションにおいて信頼される第三者ノードとして動作するための機能性を含んでいる。複数のノード102a-102n、104a-104m、及び/又は108a-108pのうち1つ以上は、ノードのグループ104内のノードが、分散型台帳トランザクションにおいて信頼できる第三者ノードとして動作するために必要とされる動作性能ベンチマークを満足するか否かについて、DLN100、120、及び/又は130に対して指示を提供することを支援するためのQRFプロセス200に基づく機能性を含み得る。
【0089】
QRFプロセス200は、以下のブロックまたは動作に基づいて実行され得る。ブロック202において、QRF200は、ノードのグループ104のうち1つ以上の選択されたノード104a-104mについて動作性能試験を実行する。動作性能試験は、既定の期間にわたり、複数のテストメッセージを各選択されたノード104a-104mへ送信することを含む。ブロック204において、QRF200は、動作性能試験に関して、各選択されたノード104a-104mに関連付けられた動作性能データを受信する。ブロック206において、QRF200は、受信した動作性能応答に基づいて、各選択されたノード104a-104mの動作性能統計を集約する。ブロック208において、QRFは、集約された動作性能統計に基づいて、DLN100上で分散型台帳トランザクションのための信頼できる第三者として動作するために1つ以上の動作PBを満足している、それらの選択されたノード104a-104mをDLN100へ指示する。
【0090】
QRFプロセス200のブロックは、ノードのグループ104a-104mの各選択されたノードが、既定の時間間隔にわたり複数の動作性能試験を受信するように実行されてよく、そこでは、各選択されたノードについての動作性能統計が、この既定の時間間隔にわたり集約される。各選択されたノードについての動作性能統計を集計することは、さらに、選択されたノードに関連する受信した動作性能データが、動作PBに関して対応する目標動作パフォーマンス閾値を満足する頻度に基づいて、各選択されたノードについて動作性能統計を計算することを含んでよい。このことは、
図1a-
図1fを参照して説明されている。
【0091】
複数の性能試験が既定の時間間隔にわたり実施され得るとすれば、動作性能試験それぞれは、既定の時間間隔にわたり、ランダムまたは疑似ランダムな時間インスタンスで、選択されたノードによって送信され、かつ/あるいは、受信され得る。これは、選択されたノードが、QRFプロセス200によって試験されていることを容易に疑うことができず、または、特定できないことを確実にするためである。このことは、ノードが、1人以上の当事者に対して、任意の通常の分散型台帳トランザクションと同じように動作する可能性を最大化する。
【0092】
ブロック206は、さらに、動作性能統計が、選択されたノードが動作PBそれぞれについて品質要求基準(quality metric)を満たすか、または超えることを示す場合に、選択されたノードが動作PBを満足することを決定すること、を含むように修正されてよい。例えば、品質要求基準は、例えば、限定されるわけではないが、選択されたノードが、受信したテストメッセージの数に関して対応する動作PBを満足する頻度または回数に基づいてよい。追加的または代替的に、品質要求基準は、例えば、限定されるわけではないが、選択されたノードがM9またはMN5、ここでM>=1、で表現される性能ベンチマークを満足する時間間隔のパーセンテージ、または、受信/送信されたテストメッセージの数に基づいてよい。追加的または代替的に、品質要求基準は、例えば、限定されるわけではないが、選択されたノードがPBを満足する時間間隔、または、受信/送信されたテストメッセージの数の確率に基づいている。
【0093】
ブロック206は、さらに以下を含むように、1つ以上の動作PBを満足しているそれらの選択されたノードを分散型台帳ネットワークへ指示することを含むように、さらに修正されてよい。ブロックチェーンまたは分散型台帳に、選択されたノードそれぞれについての動作性能統計、及び/又は、選択されたノードそれぞれが1つ以上の動作性能ベンチマークを満足するか否かを保管すること、および、そこではノードがトランザクションの信頼される第三者として動作するために選択され得る、トランザクションの1人以上の当事者に対してブロックチェーンまたは分散型台帳へのアクセスを提供すること、である。ブロックチェーンまたは分散型台帳は、分散型台帳トランザクションの1人以上の当事者によってアクセス可能であり、または、分散型台帳トランザクションにおいて第三者ノードとして動作するために必要とされる動作性能ベンチマークを満足するノード104aを選択する際に使用するために、分散型台帳トランザクションの1人以上の当事者のユーザノードによってアクセス可能であってよい。
【0094】
例えば、QRFプロセス200を実装するCORDA(RTM)に基づくDLNにおいて、QRFプロセス200は、例えば、限定されるわけではないが、以下のPBに基づいて動作するように構成され得る。a)ノードのグループ104から選択されたノード104aは、トランザクションを承認するために利用可能でなければならない(例えば、ネットワーク到達可能性/可用性/稼働時間)こと、b)ノードのグループ104から選択されたノード104aは、Xミリ秒の最大レイテンシ(例えば、最小通信帯域幅/速度)まで動作しなければならず、ここで、Xは既定の通信レイテンシ閾値(例えば、450ミリ秒)であること、c)ノードのグループ104から選択されたノード104aは、Y秒(例えば、トランザクション処理時間)未満でダミートランザクションまたは診断テスト・トランザクションを処理しなければならず、ここで、Yは既定の処理時間閾値であること、である。
【0095】
項目a)において、QRFプロセス200は、性能試験の一部として、例えば、限定されるわけではないが、選択されたノード104aがスイッチオンにされて、通常として機能しており、DLNから任意の要求またはトランザクションを受け入れるために利用可能であるか否かを判断するためにテストメッセージ(例えば、ピンまたはキープアライブ)を送信することができる。選択されたノード104aに関連するノードオペレータ(node operator)が、選択されたノード104aを、DLNタスクに要求されるもの(例えば、分散型台帳トランザクション)とは関係のない他のタスクのための共有コンピューティングインフラストラクチャとして構成した場合には、そうしたコンピューティングリソースの共有は、選択されたノード104aがこの項目a)PBに違反すること、そして、従って、選択されたノード104aが、トランザクションにおいて信頼される第三者ノードとして動作するために満たし、または、満足することが期待される、必要な性能サービスレベルに違反し得ること、を意味するだろう。
【0096】
項目b)において、QRFプロセス200は、性能試験の一部として、例えば、限定されるわけではないが、テストメッセージ(例えば、ピン、キープアライブ、ネットワーク到達可能性メッセージ、速度テストメッセージ、等)を送信することができ、通信リンク(または、電気通信、もしくはインターネット接続)が、例えば、限定されるわけではないが、QRFプロセス200を動作するノード(例えば、要求している(requesting)ネットワークノード)に対してXミリ秒未満の往復(round trip)で、単一のビットメッセージ(トランザクション処理データまたは時間を含まない)を受信および確認することができるか否かを判断する。選択されたノード104aに関連するノードオペレータが、例えば、限定されるわけではないが、低品質のブロードバンド接続を使用している場合には、選択されたノード104aがこの項目b)PBに違反し、そして、従って、選択されたノード104aが、トランザクションにおいて信頼される第三者ノードとして動作するために満足されることが期待される、必要とされる性能サービスレベルに違反する可能性が非常に高い。さらに、このことは、DLN100の速度を低下させ、そして、当事者及び/又はユーザノード間で、DLN100が信頼できない、かつ/あるいは、トランザクションを失っているという認識を生成するだろう。従って、信頼の喪失は、DLN100を使用する1人以上の当事者を結果として生じ得る。
【0097】
項目c)において、QRFプロセス200は、性能試験の一部として、例えば、限定されるわけではないが、診断テスト・トランザクションメッセージ、及び/又、はダミーテストトランザクションメッセージを、選択されたノード104aに送信し、人為的な当事者間で(例えば、当事者Aおよび当事者B)、選択されたノード104aに向けて送信し、そして、選択されたノード104aが、処理時間閾値(例えば、指定された最大処理時間経過)以下でトランザクションを処理および確認するために適切な処理能力を有することを確実にするために、選択されたノード104aがテスト・トランザクションメッセージを処理するのに要する処理時間を決定することができる。これは、別の方法(例えば、ピン、等)によって確立されたトランザクション及び/又はエンドツーエンド時間に関してQRFプロセス200および選択されたノード104aを動作する、要求しているノードについての往復時間に基づいて、測定され得る。選択されたノード104aに関連するノードオペレータが、DLNタスクに要求されるもの(例えば、分散型台帳トランザクション)とは関係しない他のタスクのための共有コンピューティングインフラストラクチャとして、選択されたノード104aを構成した場合には、そうしたコンピューティングリソースの共有は、選択されたノード104aも、また、このPBに違反し、そして、従って、選択されたノード104aが、トランザクションにおいて信頼される第三者ノードとして動作するために満足することが期待される、要求された性能サービスレベルに違反することがある。代替的に、選択されたノード104aが誤動作し、そして、性能が悪く、従って、項目c)PBを満たすようにトランザクションを処理することができないことがある。
【0098】
QRFプロセス200は、例えば、限定されるわけではないが、ノードのグループ104における少なくとも全てのノード104a-104mについて、これらのPBを毎日テストすることができる。PB結果情報は、動作性能統計として集約され、そして、DLNにおいて分散型台帳またはブロックチェーンを介して更新されて保持されてよく、ノードのグループ104におけるノード104a-104mそれぞれの性能に係る疑う余地のない不変の記録を提供する。
さらに、QRFプロセス200は、ノードのグループ104とは異なるノードのサブグループに関連し得る、各ノードオペレータは、それらのノードのサブグループ内の各ノードがPBを満足することを維持し、かつ、確保することを保証するように構成され得る。例えば、限定されるわけではないが、時間に係る所定のパーセンテージ又はそれ以上であること、各ノードが、PBに関連する品質要求基準を満足するか、または上回ること、各ノードが、受信したテストメッセージの数に関して、対応する動作PBを満たす頻度または回数に基づく品質要求基準、時間間隔のパーセンテージまたは受信/送信したテストメッセージの数に基づく品質要求基準であり、各ノードは、M9の性能(例えば、トリプル9999パフォーマンス)またはM Nines 5(MN5)の性能パフォーマンス(例えば、1とハーフナイン(one and a half nines)、M=1は、95パーセントの性能レベルを表し、2とハーフナイン(two and a half nines)、M=2は、99.5パーセントの性能レベルを表し、そして、4とハーフナイン(four and a half nines)、M=4は、99.995パーセントの性能レベルを表す、等)に関して表される性能ベンチマークを満たすこと、各ノードがPBを満足する、時間間隔にわたる確率、または、受信/送信されたテストメッセージの数に基づく品質要求基準。または、ノードがPBを満足するか否かを評価するのに有用なあらゆる他の性能測定基準または品質要求基準、である。
【0099】
QRFプロセス200は、さらに、ノードオペレータに関連する各ノードが、PB、そして、従って、トランザクションにおいて信頼される第三者として動作するためにそれらのノードについて必要とされるサービスレベルに違反している期間(例えば、後続する30日の期間)の最中に、ノードオペレータまたはノードに通知、ペナルティ、または報酬を与えることができる。それに応じて、QRFプロセス200及び/又はDLNは、PBに違反するノードオペレータのノードから離れて、かつ、PBを満足するノードに向けて、トランザクション(例えば、トランザクション承認要求)を自動的に再ルーティングするように構成され得る。QRFプロセス200は、PBに違反する各ノードのノードオペレータが、これらのノードの性能を改善し、かつ、要求されるPB及び/又は性能サービスレベルを満足することを可能にする、保守(maintenance)または延長期間、もしくは、インターバル(例えば、10日の治癒期間)を提供することができる。これに失敗すると、QRFプロセス200及び/又はDLN100は、PBに違反するノードから離れたトランザクショントラフィックを再ルーティングし得る。
【0100】
QRFプロセス200は、さらに、各ノード、または、PB、そして、従って、要求される性能サービスレベルに違反するノードに関して、自動的な警告または診断メッセージを、ノード、ノードオペレータ、またはノードオペレータのコンタクトポイントに対して通知または送信することができる。このことは、また、トランザクションが、PBに違反するノードオペレータに関連するノードから離れるように、または、離れて再ルーティングされているという通知も含み得る。PB違反が治ると、QRFプロセス200及び/又はDLNは、次いで、PB、そして、従って、要求される性能サービスレベルを満足するノードへのトランザクショントラフィックのルーティングを自動的に復元する。
【0101】
図2bは、本発明に従って、一つの例示的なQRF指示プロセス210を示すフローチャートである。
図2aのQRFプロセス200は、ブロック206において実行されてよく、それは、集約された動作性能統計に基づいて、分散型台帳トランザクションについて信頼される第三者として動作するための1つ以上の動作PBを満足する選択されたノード104a-104mをDLN100に示し、さらに、選択されたノード104a-104mそれぞれの性能ベンチマーク結果に基づいて、修正され得る。QRF指示プロセス210は、以下に基づく、ブロックまたは動作を含んでいる。ブロック212において、QRFプロセス210は、ノードのグループ104a-104mの性能ベンチマーク結果を受信し、それは、選択されたノード104a-104mが、
図2aを参照して説明したように、集約された動作性能統計に基づいてPBを満足するか否かの指示を含み得る。ブロック214においては、PR結果に基づいてどのノードがPBを満足するか、および、PB結果に基づいてどのノードがPBを満足しないかを決定するために、PB結果が評価され得る。各選択されたノード104a-104mに対するPB結果は、PBを満足するノードおよびPBを満足しないノードを指示する、単なる表示またはバイナリフラグであってよい。例えば、ノードに対する指示は、例えば、限定されるわけではないが、以下のデータ表現を含み得る。a)ノードがPBを満足する「真(“True”)」またはノードがPBを満足しない「偽(“False”)」、または、b)PBを満足することについて「1」、およびPBを満足しないことについて「0」、もしくは、PBを満足することについて任意の値およびPBを満足しないことについて別の異なる値、等である。ブロック216において、QRFプロセス210は、PBを満足する選択されたノード104a-104mへ向けたDLN100内のトランザクショントラフィックまたはトランザクションのルーティングを制御し、かつ/あるいは、影響し得る。PBを満足しない選択されたノード104a-104mそれぞれは、上記の各選択されたノードのPB結果が再びPBを満足することを示すまで、トラフィックが次第に減少し、かつ/あるいは、最終的にはなんのトランザクショントラフィックも受信しないことがあり得る。選択されたノード104a-104mは、それらがPBを満足するか否かにかかわらず、さらなる既定の時間間隔または期間にわたり継続的に試験され、そこでは、QRFプロセス200が、これらの期間のインターバルの最中の任意の時点で実行され得ることに留意する。
【0102】
ブロック216は、さらに、修正されてよく、そこで、1つ以上の動作性能ベンチマークを満足する選択されたノードは、さらに、トランザクションが、1つ以上の動作性能ベンチマークを満足するそれらの選択されたノードに対してルーティングされるのを確実にすることを含むことを、DLN100に指示する。このことは、トランザクションに対して信頼される第三者として動作するためのPBを満足するノードだけにトランザクションをルーティングするようにDLN100を構成することによって達成され得る。トランザクションがPBを満足するノードへルーティングされるのを確実にすることは、さらに、動作PBのうち1つ以上を満足しないものとして指示された、選択されたノードから離れてトランザクションを再ルーティングするように、DLNを構成することを含む。このことは、DLN100、120、及び/又は130の全てのユーザノード102a-102nに対して最低限の標準またはサービスが提供され得ることを確実にし、そして、また、トランザクション中の遅延(例えば、コンセンサス遅延)を最小化または回避し、かつ/あるいは、分散型台帳トランザクションの時間に敏感な部分の失敗を最小化または回避する。
【0103】
図2cは、本発明に従って、さらなる例示的なQRF指示プロセス220を示すフローチャートである。
図2aのQRFプロセス200は、ブロック206において実行されてよく、それは、集約された動作性能統計に基づいて、分散型台帳トランザクションについて信頼される第三者として動作するための1つ以上の動作PBを満足する選択されたノード104a-104mをDLN100に示し、さらに、選択されたノード104a-104mそれぞれの性能ベンチマーク結果に基づいて、修正され得る。QRF指示プロセス210は、以下に基づく、ブロックまたは動作を含んでいる。ブロック222において、QRFプロセス210は、DLN100内のノードのグループ104a-104mの性能ベンチマーク結果を受信し、それは、選択されたノード104a-104mが、
図2a及び/又は
図2bを参照して説明したように、集約された動作性能統計に基づいてPBを満足するか否かの指示を含み得る。ブロック224においては、
図2bのブロック214と同様な方法で、PR結果に基づいてどのノードがPBを満足するか、および、PB結果に基づいてどのノードがPBを満足しないかを決定するために、PB結果が評価され得る。ブロック226において、QRFプロセス220は、全てのPBを満足しないノード104a-104m(または、各ノードのノードオペレータ)に通知して、これらのノード104a-104m及び/又はノードオペレータが、PBを満足しないか、または失敗するノードについて診断または保守を実行することを可能にする。これらのノードは、別の既定の試験時間間隔で再び試験されてよく、そして、従って、ノード及び/又はノードオペレータによって実行される任意の保守または診断に基づいて、その時点でPBを満足し得る。ブロック228においては、それらのノード、及び/又は、PBを満足する選択されたノード104a-104mのこれらのノード及び/又はノードオペレータは、PBを満足することに対して報酬を受けることができる。報酬は、ノード及び/又はノードオペレータに与えられるトークンまたは分散型台帳トークンの設定された数量であってよく、それにより、ノードは、DLN100内の他のノードのサービスを使用することができる、等。
【0104】
ノードのグループ104a-104mが複数のノードのサブグループを含み、そして、ノードのサブグループそれぞれが対応するノードオペレータと関連付けられている場合に、ブロック226は、さらに、ノードオペレータと関連付けられたノードのサブグループの選択されたノードが動作性能ベンチマークを満足するか否かについて、各ノードオペレータに通知を送信する、QRF指示プロセス220を含むように変更されてよい。それらの機能に依存して、ノードのサブグループ内の各ノードは、ノードのサブグループ内の他のノードから独立して動作し、かつ/あるいは、他のオペレータに係る他のノードのサブグループ内の他のノードから独立して動作し得る。例えば、ノードのサブグループ内の1つ以上のノードは、例えば、限定されるわけではないが、アプリケーションが要求するように、公証または陪審の機能、公証人/陪審員または任意の他の機能を形成するために使用されてよく、そこでは、ノードのサブグループ内のノードそれぞれが、ノードのサブグループ内の他のノードとは独立して動作すること、かつ/あるいは、アプリケーションが要求するように、公証または陪審の機能、または任意の他の機能を形成するためにも、また、使用される、他のノードのサブグループ内の他のノードとは独立して動作することが要求される。通知は、また、ノードオペレータに、全ての動作性能ベンチマークを満足しないノードのサブグループ内の選択されたノードを通知することも含み得る。代替的または追加的に、通知は、さらに、ノードのサブグループ内の選択されたノードの動作性能統計を表す診断データを含み得る。診断データは、選択されたノードが動作性能試験/PBを満足するか否かを示すことができる。この診断データは、ノードオペレータが、PBを満足しないノードについて診断を実行するのを支援し、かつ/あるいは、動作性能試験が実行される次の時に、これらのノードがPBを満足することを可能にするように、これらのノードの性能を改善し得る。
【0105】
ノードのグループ104a-104mがノードの複数のサブグループを含み、そして、各ノードのサブグループが対応するノードオペレータと関連付けられている場合に、ブロック228は、さらに、PBを満足するノードに基づいて各ノードオペレータに報酬を与えることを含むように修正され得る。これは、全ての動作性能ベンチマークの全てを満足するノードのサブグループ内の選択されたノードの数に基づいて、ノードオペレータにトークンまたは分散型台帳トークンの数量を提供することによって達成され得る。それらの機能に応じて、ノードのサブグループ内のノードそれぞれは、ノードのサブグループ内の他のノードから独立して、かつ/あるいは、他のオペレータに係る他のノードのサブグループ内の他のノードから独立して動作するように構成され得る。このことは、ノードオペレータが、ノードを保守すること、そして、分散型台帳トランザクションにおいて信頼される第三者として動作するために、ノードのグループ104a-104m内の十分な数のノードがPBを満足することを確保することのインセンティブをノードオペレータに与えることができる。
【0106】
図2bおよび
図2cは別々に説明されているが、QRF指示プロセス210及び/又は220は、ブロック216、226、および228のうちの少なくとも1つ以上、または、PBを満足しないことに対する任意の他のペナルティ、及び/又は、PBを満足することに対するインセンティブを含み得ることが、当業者によって正しく理解されるべきである。例えば、QRF指示プロセス210/220は、トランザクショントラフィックを、PBを満足するノードに向けてルーティングするように修正されてよく、一方で、同時に、PBを満足しないノードに、それらはPBを満足しておらず、かつ、次のテスト期間/インターバルのために性能を改善するように保守され/診断されるべきであることを通知する。別の例において、QRF指示プロセス210/220は、PBを満足するノードに向けてトランザクショントラフィックをルーティングし、かつ、PBを満足しないノードから離れてトランザクショントラフィックをルーティングするように修正されてよく、一方で、同時に、PBを満足しないノードに、それらはPBを満足しておらず、かつ、次のテスト期間/インターバルのために性能を改善するように保守され/診断されるべきであることを通知し、そして、また、PBを満足するノードまたはノードオペレータに報酬を与える。
【0107】
図3は、本発明に従って、さらに別の例示的なQRFプロセス300を示すフローチャートである。QRFプロセス300は、
図1a-
図1fを参照して説明したように、DLN100、120、及び/又は130のノード102、104、および108のうちいずれか1つにおいて実施され、かつ/あるいは、実行され得る。QRFプロセス300は、
図1b及び/又は
図1cを参照して説明したように、集中型、分散型、及び/又は、ハイブリッド集中/分散型QRFシステムの一部であってよい。QRFプロセス300は、DLN100、120、及び/又は130の動作を規制するために使用され得る。ここで、DLN100、120、及び/又は130は、複数のノード102a-102n、104a-104m、108a-108pを含み、そこでは、複数のノードがノードのグループ104を含んでいる。ノードのグループ104内の各ノードは、分散型台帳トランザクションにおいて信頼される第三者ノードとして動作するための機能性を含む。複数のノード102a-102n、104a-104m、及び/又は108a-108pのうち1つ以上は、分散型台帳トランザクションにおいて信頼される第三者ノードとして動作するために必要とされる動作性能ベンチマークを満足する、かつ/あるいは、満足しない、ノードのグループ104内のDLN100、120、及び/又は130に指示される、これらのノードを支援し、かつ/あるいは、規制するためのQRFプロセス300に基づく機能性を含み得る。
【0108】
QRFプロセス300は、以下のブロックまたは動作に基づいて実行され得る。ブロック302において、QRF300は、ノードのグループ104からノード104aを選択し、上記の選択されたノード104a上で動作性能試験を実行する。この選択されたノード104aは、以前にテストされていないか、または、テストされる予定であってよい。ブロック304において、QRFプロセス300は、選択されたノード104aについて動作性能試験を実行する、それは、選択されたノード104aに対する性能試験を含んでいる。性能試験は、既定の期間にわたり、選択されたノード104aに対して複数のテストメッセージを送信することを含み得る。テストメッセージは、例えば、限定されるわけではないが、1人以上の当事者に対するダミーの分散型台帳トランザクション(または、診断テスト分散型台帳トランザクション)、ネットワーク到達可能性メッセージ、QRFプロセス300がノード104aに関連する性能パラメータまたはデータを測定または推定(extrapolate)することを可能にする任意の他のメッセージ、を含み得る。ブロック306において、QRFプロセス300は、性能試験に関して、測定された性能パラメータ及び/又はデータを受信する。例えば、限定されるわけではないが、テストメッセージの送信/応答の受信に係るタイムスタンプ、往復時間、QRFプロセス300とノード104aとの間のエンドツーエンド遅延時間、及び/又は、ノード104aに関連する1つ以上の性能パラメータ/データを決定するのに有用なあらゆる他のデータ、といったものである。ブロック308において、QRFプロセスは、1つ以上のPBに関して動作性能結果及び/又はデータ(例えば、ノード104aの可用性、ノード104aの平均トランザクション処理時間、ノード104aに対して利用可能な接続速度または帯域幅、等)を計算する。ブロック310において、QRFプロセス300は、動作性能結果/データおよびPBに基づいて、動作性能サンプルを、選択されたノード104aについての動作性能統計へと集約する。各動作性能サンプルは、テストメッセージ/性能試験のために最近受信した動作性能結果/データに基づいている。ブロック312においては、既定の時間間隔にわたり、動作性能統計を形成するのに十分な動作性能サンプルが集約されたか否かが決定される。さらなる動作性能サンプルが必要とされる(例えば、十分でないOPRが収集されている、「いいえ(N)」)場合に、QRFプロセス300はブロック304に進み、そこでは、さらなる性能試験が選択されたノード104aに対して送信される。代替的または追加的に、QRFプロセス200は、ノード104a-104mのグループから別のノードを選択するためにブロック302へ戻って(return)よく、その結果としてノード104aが選択され得る。さらなる動作性能サンプルが必要とされない場合(例えば、十分なOPRが収集されている、「はい(Y)」)、プロセス300はブロック314へ進む。ブロック314において、QRFプロセス300は、選択されたノード104aについての動作性能統計(例えば、集約されたOPR)に基づいて、選択されたノード104aがPBを満足するか否かを指示/通知する。このことは、選択されたノード104aの集約された動作性能統計に基づいて、選択されたノード104aが、DLN100上で分散型台帳トランザクションについて信頼される第三者として動作するための1つ以上の動作PBの全てを満足するか否かを、DLN100に対して指示することを含み得る。このことは、
図2a-
図2cを参照して説明したように、種々の追加のブロック/動作が実行されることを結果として生じ得る。QRFプロセス104aは、ブロックまたは動作316へ進み、そこで、QRFプロセスは、動作性能統計及び/又は動作性能結果が更新されるべきかどうかを確認する。これは、既定の期間が経過し、そして、動作性能統計情報を更新するための新たな既定の期間が開始したためであり得る。代替的または追加的に、QRFプロセス104aは、ノード104aが動作性能統計/結果を更新することを検出することができる。更新が必要な場合(例えば、「はい(Y)」)、QRFプロセス300は、ノード104aに関して動作性能結果/統計を更新するために、ブロック302及び/又はブロック304へ進む。更新が要求されない場合(例えば、「いいえ(N)」)、QRFプロセス300は、ブロック314に進み、そこで、分散型台帳トランザクションにおいて信頼される第三者として行動するために要求されるPBをノード104aが満足するか否かについての指示を維持する。
【0109】
図4は、本発明に従った、QRFシステム、QRFプロセス、等の1つ以上の態様を実施するために使用され得る、コンピューティングシステム400の概略図であり、かつ/あるいは、ここにおいて説明されるような、及び/又は、
図1aから
図3のいずれかを参照して説明されるような、本発明、その変更、その組み合わせ、に関連する方法、処置、装置、及び/又は、システムに係る機能性を含んでいる。コンピューティングシステムは、コンピューティング装置402を含み、コンピューティング装置は、1つ以上のプロセッサユニット404、通信インターフェイス406、および、メモリユニット408を含み、そこで、1つ以上のプロセッサユニット404はメモリユニット408および通信インターフェイス406に接続されている。通信インターフェイス406は、1つ以上のネットワーク410(例えば、分散型台帳ネットワーク)を介して、コンピューティング装置402を、1つ以上のデータベース、もしくは、他の処理システムまたはコンピューティング装置と接続することができる。メモリユニット408は、1つ以上のプログラム命令、コード、またはコンポーネントを保管し得る。例えば、限定されるわけではないが、コンピュータ装置402を動作させるためのオペレーティングシステム408a、および、装置、モジュール、ノード、QRFノード、メカニズム、及び/又は、システム/プラットフォーム/アーキテクチャに係る1つ以上の方法、及び/又は、プロセスに関連する機能性及び/又は1つ以上の機能、または、機能性を実施することに関連する、追加データ、及び/又は、さらなるプログラム命令、プログラムコード、及び/又は、コンポーネントを保管するためのデータストア408b、ここにおいて説明されるような、かつ/あるいは、
図1aから
図3のうち少なくとも1つを参照して説明されるような、その変更、その組み合わせ、といったものである。
【0110】
本発明のさらなる態様は、通信インターフェイス、メモリユニット、およびプロセッサユニットを有する1つ以上の装置及び/又はデバイスを含み、プロセッサユニットは通信インターフェイスおよびメモリユニットに接続されている。ここで、プロセッサユニット、ストレージ・ユニット、通信インターフェイスは、システム、装置、QRFノード、QRFプロセス、方法及び/又はプロセス、ここにおいて説明されるような、かつ/あるいは、
図1aから
図3を参照して説明されるような、その変更、その組み合わせ、を実行するように構成されている。
【0111】
本発明のさらなる追加の態様は、分散型台帳ネットワーク内のノードを含み、分散型台帳ネットワークは複数のノードを含んでおり、複数のノードはノードのグループを含んでいる。ここで、ノードのグループ内の各ノードは、トランザクションにおいて第三者ノードとして動作するための機能性を含んでいる。ノードは、本発明に従った、システム、装置、QRFノード、QRFプロセス、方法及び/又はプロセス、ここにおいて説明されるような、かつ/あるいは、
図1aから
図3を参照して説明されるような、その変更、その組み合わせ、を実行し、または、実施するように構成されている。
【0112】
本発明のさらなる態様は、複数のノードを有する分散型台帳ネットワークを含み得る。複数のノードは、ノードのグループを含む。ここで、ノードのグループ内の各ノードは、トランザクションにおいて第三者ノードとして動作するための機能性を含み、ここで、複数のノードのうち1つ以上のノードは、さらに、本発明に従った、システム、装置、QRFノード、QRFプロセス、方法及び/又はプロセス、ここにおいて説明されるような、かつ/あるいは、
図1aから
図3を参照して説明されるような、その変更、その組み合わせ、を実行し、または、実施するように構成された機能性を含んでいる。
【0113】
図1aから
図5を参照して、ここにおいて説明されるような分散型台帳ネットワークは、以下の少なくとも1つに基づいてよい。a)CORDAベースの分散型台帳ネットワークであり、かつ、ノードのグループが公証ノードのプールを含むこと、b)ブロックチェーンベースの分散型台帳ネットワークであり、かつ、ノードのグループがマイナノードのプールを含むこと、およびc) あらゆる他のタイプの分散型台帳ネットワークであり、そこで、ノードのグループが、1人以上の当事者について分散型台帳トランザクションにおいて信頼できる第三者として動作するためのノードを含むこと、である。
【0114】
図1aから
図5を参照して、ここにおいて説明されるようなノードのグループは、スーパーピアノード、マスターノード、マイナノード、陪審ノード、公証ノード、及び/又は、本発明に従って、分散型台帳トランザクションに関して信頼される第三者ノードとして動作する機能性を含み得る、任意の他のノード、に係るグループからの少なくとも1つのタイプのノードに基づいてよい。
【0115】
図5は、本発明に従って、分散型台帳ネットワーク(DLN)を規制し、かつ、動作させるための一つの例示的なQRF DLNシステム500を示す概略図である。システム500は、1つ以上の性能試験を生成し、DLNの選択されたノードへ1つ以上の性能試験を送信、等するように構成された性能試験モジュール502を含んでいる。性能試験モジュール502は、ここにおいて説明されるような、本発明に関連する方法、プロセス、装置、ノード、QRFノード、装置、及び/又はシステムの機能性、または、ここにおいて説明されるような、かつ/あるいは、
図1aから
図4を参照して説明されるような、分散型台帳トランザクションにおいて信頼される第三者として行動するためにノードのグループの1つ以上の選択されたノードに対して1つ以上の性能試験を提供し、選択し、そして、送信、等するための、それらの変更、それらの組み合わせ、を含み得る。システム500は、さらに、ノードのグループのうち1つ以上の選択されたノードから応答を受信し、性能試験に関連する記録タイムスタンプ、及び/又は、その中の1つ以上のテストメッセージを記録するように構成された性能データ測定モジュール504を含む。性能ベンチマーク、等に関連する性能データ測定値を生成する際に使用するためである。性能データ測定モジュール504は、ここにおいて説明されるような、本発明に関連する方法、プロセス、装置、ノード、QRFノード、装置、及び/又はシステムの機能性、かつ/あるいは、
図1aから
図4を参照して説明されるような、性能測定データ、動作性能データ、性能データサンプル/インスタンス、等を提供するための、それらの変更、それらの組み合わせ、を含み得る。性能統計集約モジュール506は、1つ以上の性能ベンチマークに関して選択されたノードについて動作性能統計を形成するように、ノードのグループから選択されたノードに関連付けられた性能データ測定値/サンプル/インスタンスを集約ために構成され得る。動作性能統計は、1つ以上の動作性能ベンチマークとの比較または評価を可能にするのに十分なサンプルまたはインスタンスが収集されるまで、既定の時間間隔にわたり集約され得る。性能統計集約モジュール506は、ここにおいて説明されるような、本発明に関連する方法、プロセス、装置、ノード、QRFノード、装置、及び/又はシステムの機能性、または、ここにおいて説明されるような、かつ/あるいは、
図1aから
図4を参照して説明されるような、性能ベンチマーク、等に関して動作性能統計を集約し、かつ/あるいは、計算するための、それらの変更、それらの組み合わせ、を含み得る。
【0116】
システム500は、さらに、ノードのグループから選択されたノードが、分散型台帳トランザクションにおいて信頼される第三者ノードとして動作するために必要とされる1つ以上の性能ベンチマーク(例えば、ネットワーク可用性、トランザクション処理時間、通信速度/帯域幅、等)を満足するか否かを判断するように構成された性能ベンチマーク分析/評価/比較モジュール508を含み得る。性能ベンチマーク分析/評価/比較モジュール508は、ここにおいて説明されるように、本発明に関連する方法、プロセス、装置、ノード、QRFノード、装置、及び/又はシステムの機能性、それらの修正、それらの組み合わせ、または、ここにおいて説明され、かつ/あるいは、
図1a-
図4のいずれかを参照して説明されるように、ノードのグループから選択された1つのノードまたは1つ以上のノードが、分散型台帳トランザクションにおいて信頼できる第三者として動作するために1つ以上の性能ベンチマークを満足するか否かの指示を分析し、評価し、そして、指示するための機能性を含み得る、等。
【0117】
システム500は、さらに、1つ以上のノード、及び/又は、1つ以上のノードに関連するノードオペレータに、それらのノードが性能ベンチマークを満足するか否かについて通知するように構成された通知モジュール510を含み得る。通知モジュール510は、ここにおいて説明されるように、本発明に関連する方法、プロセス、装置、ノード、QRFノード、装置、及び/又はシステムの機能性、それらの修正、それらの組み合わせ、または、ここにおいて説明され、かつ/あるいは、
図1a-
図4のいずれかを参照して説明されるように、ノードのグループから選択された1つのノードまたは1つ以上のノードが、分散型台帳トランザクションにおいて信頼できる第三者として動作するために1つ以上の性能ベンチマークを満足していることに関して1つ以上のノード及び/又はノードオペレータに通知するための機能性を含み得る、等。システム500は、さらに、性能ベンチマークを満足しないノードに関して、1つ以上のノード及び/又は1つ以上のノードに関連するノードオペレータに診断データを提供するように構成された診断モジュール512を含み得る。このことは、ノード/ノードオペレータは、再び試験されるときに、性能試験を合格し/PBを満足するために、にノードを再構成/保守することを可能にし得る。診断モジュール512は、ここにおいて説明されるように、本発明に関連する方法、プロセス、装置、ノード、QRFノード、装置、及び/又はシステムの機能性、それらの修正、それらの組み合わせ、または、ここにおいて説明され、かつ/あるいは、
図1a-
図4のいずれかを参照して説明されるように、ノード及び/又はノードオペレータに通診断を提供するための機能性を含み得る、等。システム500は、さらに、性能ベンチマークを満足しているノードに向けてトランザクションを再ルーティングするために、分散型台帳ネットワークに制御を提供するように構成された制御モジュール(例えば、ルーティング)モジュール514を含み得る。制御モジュール514は、ここにおいて説明されるように、本発明に関連する方法、プロセス、装置、ノード、QRFノード、装置、及び/又はシステムの機能性、それらの修正、それらの組み合わせ、または、ここにおいて説明され、かつ/あるいは、
図1a-
図4のいずれかを参照して説明されるように、PBを満足しているノードに向けてトランザクショントラフィックの自動ルーティングを提供するための機能性を含み得る、等。システム500は、さらに、性能ベンチマークを満足するノードに関してインセンティブ及び/又は報酬を提供するように構成された報酬モジュール516を含み得る。報酬モジュール516は、ここにおいて説明されるように、本発明に関連する方法、プロセス、装置、ノード、QRFノード、装置、及び/又はシステムの機能性、それらの修正、それらの組み合わせ、または、ここにおいて説明され、かつ/あるいは、
図1a-
図4のいずれかを参照して説明されるように、PBを満足しているノードに関してインセンティブ及び/又は報酬を提供するための機能性を含み得る、等。
【0118】
システム500は、さらに、ここにおいて説明されるように、本発明に関連する方法、プロセス、装置、ノード、QRFノード、装置、及び/又はシステムの機能性、それらの修正、それらの組み合わせ、かつ/あるいは、
図1a-
図4のいずれかを参照して説明されるように、ノードのグループに係るノードが、1人以上の当事者のための分散型台帳トランザクションに関して信頼できる第三者として動作するために必要とされる性能ベンチマークを満足しているか否かの指標を分散型台帳ネットワークまたはシステムに提供するための機能性を含み得る、等。
【0119】
上記の実施形態において、DLN、方法、装置、システム、及び/又はコンピューティングシステム/デバイスは、サーバによって実装されてよく、サーバは、単一のサーバまたはサーバのネットワークを含み得る。いくつかの例において、サーバの機能性は、サーバの世界的に分散されたネットワークまたはクラウドサーバネットワークといった、地理的領域にわたり分散されたサーバのネットワークによって提供されてよく、そして、ユーザは、ユーザの場所(location)に基づいてサーバのネットワークのうち適切なものに対して接続され得る。
【0120】
上記の説明は、明確にするために、単一のユーザを参照して本発明の実施形態を説明している。実際には、システムは、複数のユーザによって、そして、おそらくは非常に多数のユーザによって、同時に共有され得ることが理解されるだろう。
【0121】
上述の実施形態は、完全に自動的である。いくつかの例において、システムのユーザまたはオペレータは、実行されるべき方法のいくつかのステップを手動で指示することができる。
【0122】
本発明の説明した実施形態において、システムは、コンピューティング装置及び/又は電子装置の任意の形態として実施され得る。そうした装置は、1つ以上のプロセッサを含み、それは、ルーティング情報を収集し、かつ、記録するために装置の動作を制御するために、コンピュータ実行可能命令を処理するためのマイクロプロセッサ、コントローラ、または任意の他の適切なタイプのプロセッサであり得る。いくつかの例において、例えば、システムオンチップアーキテクチャが使用される場合、プロセッサは、本方法の一部分をハードウェア(ソフトウェアまたはファームウェアではなく)で実装する1つ以上の固定機能ブロック(アクセラレータとしても参照される)を含み得る。オペレーティングシステムを含むプラットフォーム・ソフトウェア、または、任意の他の適切なプラットフォーム・ソフトウェアが、コンピューティング・ベースの装置に提供されてよく、アプリケーション・ソフトウェアが装置上で実行されるのを可能にする。
【0123】
ここにおいて説明される種々の機能、方法、プロセス、QRF機能性、QRFプロセス、等は、ハードウェア、ソフトウェア、または、それらの任意の組み合わせで実装され得る。ソフトウェアで実装される場合、機能、方法、プロセス、QRF機能、QRFプロセス、等は、1つ以上の命令、プログラムコード、またはコードとして、コンピュータで読取り可能な媒体上に保管され、または、送信され得る。コンピュータで読取り可能な媒体は、例えば、コンピュータで読取り可能な記憶媒体を含み得る。コンピュータで読取り可能な記憶媒体は、コンピュータで読取り可能な命令、データ構造、プログラムモジュール、または他のデータ、といった情報の保管のために任意の方法または技術で実施される、揮発性または不揮発性、リムーバブルまたは非リムーバブルな媒体を含み得る。例えば、コンピュータで読取り可能な媒体または有形のコンピュータで読取り可能な記憶媒体は、そこに保管される命令及び/又はプログラムコードを含んでよく、プロセッサ上で実行されると、プロセッサに、
図1から
図5のいずれかを参照してここにおいて説明されるように、本発明に従った、方法、プロセス、QRF機能性、QRFプロセス等、それらの修正、それらの組み合わせを実施させる。コンピュータで読取り可能な記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な記憶媒体であり得る。例えば、限定されるわけではないが、そうしたコンピュータで読取り可能な記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリデバイス、CD-ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶装置、もしくは、命令またはデータ構造の形態で所望のプログラムコードを搬送または保管するために使用され、かつ、コンピュータによってアクセスされ得る他の任意の媒体、を含み得る。ディスク(disc and disk)は、ここにおいて使用されるように、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク、およびブルーレイディスク(BD)を含む。さらに、伝搬される信号は、コンピュータで読取り可能な記憶媒体の範囲内には含まれない。コンピュータで読取り可能な媒体は、また、通信媒体も含み、ある場所から他の場所へのコンピュータプログラムの転送を促進する任意の媒体を含む通信媒体を含んでいる。接続は、例えば、通信媒体であってよい。例えば、ウェブサイト、サーバ、または他のリモートソースからソフトウェアが送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または、赤外線、無線、マイクロ波といった無線技術を使用することは、通信媒体の定義に含まれる。上記の組み合わせもまた、コンピュータで読取り可能な媒体の範囲内に含まれるべきである。
【0124】
代替的に、または追加的に、ここにおいて説明される機能性は、少なくとも部分的に、1つ以上のハードウェア論理コンポーネントによって実行され得る。例えば、限定されるわけではないが、使用され得るハードウェア論理コンポーネントは、フィールドプログラマブルゲートアレイ(FPGA)、プログラム特定の集積回路(ASIC)、プログラム特定の標準製品(ASSP)、システムオンチップ・システム(SOC)、複雑なプログラマブル・ロジック・デバイス(CPLD)、等を含み得る。
【0125】
単一のシステムとして示されているが、コンピューティング装置は分散システムであり得ることが理解されるべきである。従って、例えば、いくつかの装置は、ネットワーク接続によって通信し、そして、集合的に、コンピューティング装置によって実行されるものとして説明されたタスクを実行し得る。
【0126】
ローカル装置として示されているが、コンピュータ装置は、リモートに配置され、そして、ネットワークまたは他の通信リンクを介して(例えば、通信インターフェイスを使用して)アクセスされ得ることが理解されるだろう。
【0127】
用語「コンピュータ(“computer”)」は、ここでは、命令を実行することができるように、処理能力を備える任意の装置を参照するために使用されている。当業者であれば、そうした処理能力が多くの異なる装置の中に組み込まれていること、そして、従って、用語「コンピュータ」は、PC、サーバ、移動電話、パーソナル・デジタル・アシスタント、および、多くの他の装置を含むことを理解するだろう。
【0128】
当業者であれば、プログラム命令を保管するために利用される記憶装置がネットワークにわたり分散され得ることを理解するだろう。例えば、リモートコンピュータは、ソフトウェアとして説明された一つの例示的なプロセスを保管することができる。ローカルコンピュータまたはターミナルコンピュータは、リモートコンピュータにアクセスし、そして、プログラムを実行するためにソフトウェアの一部または全部をダウンロードすることができる。代替的に、ローカルコンピュータは、必要に応じてソフトウェアの一部をダウンロードし、または、ローカル端末およびリモートコンピュータ(またはコンピュータネットワーク)においていくつかのソフトウェア命令を実行することができる。当業者であれば、また、当業者に公知の従来技術を利用することにより、ソフトウェア命令の全て又は一部が、DSP、プログラマブル論理アレイ、等といった専用回路によって実行され得ることも正しく理解するだろう。
【0129】
上述の利益および利点は、1つの実施形態に関連し、または、いくつかの実施形態に関し得ることが理解されるだろう。実施形態は、記載された問題のいずれか又は全てを解決するもの、または、記載された利益および利点のいずれか又は全てを有するものに限定されるものではない。変形(variants)は、本発明の範囲内に含まれると考えられるべきである。
【0130】
「一つの(“an”)」項目へのあらゆる参照は、それらの項目の1つ以上を参照するものである。用語「含む(“comprising”)」は、特定された方法ステップまたは要素を含むことを意味するために、ここにおいて使用されるが、そうしたステップまたは要素は、排他的リストを含むものではなく、そして、方法または装置は、追加のステップまたは要素を含んでよい。ここにおいて使用されるように、用語「コンポーネント(“component”)」および「システム(“system”)」は、プロセッサによって実行されるとき、所定の機能を実行するようにさせるコンピュータで実行可能な命令で構成されている、コンピュータで読取り可能なデータストレージを包含するように意図されている。コンピュータで実行可能な命令は、ルーチン、関数、等を含み得る。コンポーネントまたはシステムは、単一のデバイス上にローカライズされ、または、複数のデバイスにわたり分散されてよいことも、また、理解されるべきである。
【0131】
さらに、ここにおいて使用されるように、用語「例示的(“exemplary”)」は、「あるものに係る説明または例示として役立つこと」を意味するように意図されている。さらに、用語「含む(“includes”)」が詳細な説明または請求項のいずれかで使用される限り、そうした用語は、用語「含む」と同様な方法で包括的であるように意図されている。「含む」は、使用される場合、請求項における経過用語として解釈されるからである。
【0132】
図は、例示的な方法を説明している。これらの方法は、特定のシーケンスで実施される一連の動作として示され、かつ、説明されているが、本方法は、シーケンスの順序によって限定されるものではないことが分かり、そして、正しく理解されるべきである。例えば、いくつかの動作は、ここにおいて説明されるものとは異なる順序で発生し得る。加えて、ある動作は他の動作と同時に発生し得る。さらに、いくつかのインスタンスにおいては、ここにおいて説明される方法を実施するために全ての動作が必要とされなくてもよい。
【0133】
そのうえ、ここにおいて説明される動作は、1つ以上のプロセッサによって実施され、かつ/あるいは、コンピュータで読取り可能な媒体またはメディア上に保管され得るコンピュータで実行可能な命令を含み得る。コンピュータで実行可能な命令は、ルーチン、サブルーチン、プログラム、実行スレッド、等を含み得る。さらに、また、本方法の動作の結果は、コンピュータで読取り可能な媒体に保管され、表示装置上に表示され得る、等。
【0134】
ここにおいて説明される方法のステップの順序は例示的であるが、ステップは、任意の適切な順序で、または、適切な場合には同時に実行され得る。加えて、ステップは、ここにおいて説明される技術的事項(subject matter)の範囲から逸脱することなく、追加され、または、置換されてよく、もしくは、任意の方法から個々のステップが削除されてよい。上述のいずれかの実施例の態様は、探索された効果を損なうことなく、さらなる実施例を形成するように、説明された実施例のいずれかの態様と組み合わされ得る。
【0135】
好ましい実施形態の上記の説明は、単なる例示として与えられ、そして、当業者によって種々の修正がなされ得ることが理解されるだろう。上述のものは、1つ以上の実施形態の例を含んでいる。もちろん、上述の態様を説明する目的のために、上記の装置または方法について考えられる全ての修正および変更を記載することは不可能であるが、当業者であれば、種々の態様に係る多くのさらなる修正および置換が可能であることを認識することができる。従って、説明される態様は、添付の請求項の範囲の精神および範囲内にある全てのそうした変更、修正、および変形を包含するように意図されている。