(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-11-10
(54)【発明の名称】PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法、システム、設備および媒体
(51)【国際特許分類】
H04L 9/32 20060101AFI20221102BHJP
G06F 11/07 20060101ALI20221102BHJP
H04L 69/40 20220101ALI20221102BHJP
【FI】
H04L9/32 200Z
G06F11/07 193
G06F11/07 157
H04L69/40
G06F11/07 140A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022513959
(86)(22)【出願日】2020-10-10
(85)【翻訳文提出日】2022-03-01
(86)【国際出願番号】 CN2020120111
(87)【国際公開番号】W WO2021068919
(87)【国際公開日】2021-04-15
(31)【優先権主張番号】201910956576.8
(32)【優先日】2019-10-10
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】521389103
【氏名又は名称】杭州趣鏈科技有限公司
【氏名又は名称原語表記】HANGZHOU QULIAN TECHNOLOGY CO., LTD.
【住所又は居所原語表記】Room 2001, Building A, Building 2, No.399, Danfeng Road, Binjiang District, Hangzhou, Zhejiang, China
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】邱 ▲ウェイ▼▲偉▼
(72)【発明者】
【氏名】李 ▲偉▼
(72)【発明者】
【氏名】端 豪
(72)【発明者】
【氏名】黄 方蕾
(72)【発明者】
【氏名】▲張▼ ▲帥▼
(72)【発明者】
【氏名】匡 立中
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042GA12
5B042JJ20
5B042JJ29
5B042KK17
(57)【要約】
本出願では、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法を開示し、3f+1個のノードで構成されるPBFTネットワークでは、ネットワークの遅延やネットワークの切断などにより、単一ノードが異常状態に入ることがよくある。異常ノードはまずビュー変更要求を開始し、所定時間内に同じビュー値を含む2f+1個のビュー変更要求を受け取ることができない場合、異常ノードは回復待ち状態に入り、回復待ちノードはネットワーク全体のすべてのノードに回復要求を開始し、正常ノードからの返信を待ち、かつ同じビュー値を含むノードからの2f+1個の返信を収集するまでカウントし、その後、ネットワーク全体の安定性チェックポイントの高さを算出し、状態更新して最終的に回復を完了する。この方法は、PBFTアルゴリズムに内在する、自律的に回復できない単一ノードの障害という問題を解決し、PBFTアルゴリズムの実用性を大幅に向上させる。
【特許請求の範囲】
【請求項1】
PBFTアルゴリズムは、最大でf個のノードのビザンチンエラーを許容できる、3f+1個のノードを含むピアツーピアネットワークを必要とし、
正常に動作しているノードは、ネットワーク上の理由でシステムの異常が検出されると、異常状態に入り、すなわち異常ノードになるステップS1と、
前記異常ノードは、ネットワーク全体のすべてのノードに対して、次のビューへ入るためのビュー変更要求を開始し、前記ビュー変更要求は、本ノードのID、本ノードが推奨したビュー値、本ノードの安定性チェックポイントの高さ、および本ノードのPQC情報を含むステップS2と、
前記異常ノードは、所定時間内に他のノードのビュー変更要求を待ってカウントし、所定時間内に同じビュー値を含む2f+1個のビュー変更要求を受信した場合、PBFTアルゴリズムのビュー変更回復方法によって回復を完了し、所定時間内に2f+1個のビュー変更要求を受信しなかった場合、前記異常ノードは回復待ち状態に入り、すなわち回復待ちノードになるステップS3と、
前記回復待ちノードは、ネットワーク全体のすべてのノードに対して、前記回復待ちノードのIDを含む回復要求を送信するステップS4と、
前記回復待ちノードは、所定時間内に他のノードからの返信を待ってカウントし、ここで、他の正常ノードは、前記回復待ちノードからの回復要求を受信した後、自身のビュー値と安定性チェックポイントの高さ、ID、およびPQC情報を返信し、前記回復待ちノードは、所定時間内に同じビュー値を含む2f+1個の返信を受信した場合、S6に入り、状態回復を行い、所定時間内に同じビュー値を含む2f+1個の返信を受信しなかった場合、S4に戻るステップS5と、
ここで、前記PQC情報は、Pre-Prepareメッセージ、Prepareメッセージ、およびCommitメッセージであり、
前記回復待ちノードは、2f+1個のノードから返信されたチェックポイント情報に基づき、ネットワーク全体の安定性チェックポイントの高さを算出し、前記回復待ちノードの安定性チェックポイントの高さがネットワーク全体の安定性チェックポイントの高さよりも小さい場合、PBFTの高速同期アルゴリズムによってチェックポイントの回復を行い、回復が完成した後、S7に入り、最終的な回復を実行し、そうでない場合、直接S7に入り、最終的な回復を実行するステップS6と、
前記回復待ちノードは、ネットワーク全体のすべてのノードに対して安定性チェックポイント後のPQC情報を要求するステップS7と、
他の正常ノードは、PQCへの要求を受信すると、自身の安定性チェックポイント後のすべてのPQC情報を返信するステップS8と、
前記回復待ちノードは、受信したPQC返信情報に基づき、正常ノードの高さに回復するまで再実行し、これにより異常回復を完了するステップS9と、を含むことを特徴とする、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
【請求項2】
前記S2のビュー変更要求はさらに、本ノードの署名情報を含むことを特徴とする、請求項1に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
【請求項3】
前記S3および前記S5では、カウントルールとして、1つのノードが1票しかカウントできず、所定時間内に同一ノードから複数の返信情報を同時に受信した場合も1回しかカウントできないことを特徴とする、請求項1に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
【請求項4】
前記S4の回復要求はさらに、回復待ちノードの署名情報を含むことを特徴とする、請求項1に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
【請求項5】
前記S5の他の正常ノードの返信情報には、本ノードの署名情報も含まれることを特徴とする、請求項1に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
【請求項6】
前記S9では、前記回復待ちノードは、PQC返信情報を受信した後、同じPQCを繰り返し実行することで実行エラーにより回復待ちノードが再び異常状態になることを防ぐために、自身の高さ以上のPQC情報のみを再実行することを特徴とする、請求項1に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
【請求項7】
最大でf個のノードのビザンチンエラーを許容する、3f+1個のノードを含むピアツーピアネットワークに適用され、
異常ノードを特定し、前記異常ノードからネットワーク全体の他のノードにビュー変更要求を開始し、ここで、前記ビュー変更要求は、次のビューへの入りを要求するために使用され、前記ビュー変更要求は、本ノードのID、本ノードが推奨したビュー値、本ノードの安定性チェックポイントの高さ、および本ノードのPQC-Set情報を含み、前記PQC-Set情報は、PBFTアルゴリズムにおけるビュー変更回復のために定義されたP-Set、Q-Set、C-Setにそれぞれ対応するステップと、
第1のプリセット時間内に前記他のノードからのビュー変更要求を待ってカウントし、前記第1のプリセット時間内に2f+1個のビュー変更要求を受信しなかった場合、前記異常ノードを回復待ちノードにするステップと、
前記回復待ちノードからネットワーク全体の他のノードに、前記回復待ちノードのIDを含む回復要求を送信するステップと、
第2のプリセット時間内に前記他のノードからの返信を待ってカウントし、ここで、前記他のノードは、前記回復待ちノードからの回復要求を受信した後、自身のビュー値および安定性チェックポイントの高さ、ID、PQC-Set情報を返信し、前記第2のプリセット時間内に同じビュー値を含む2f+1個の返信を受信した場合、状態回復を実行するステップと、を含み、
上述した状態回復を実行することは、
2f+1個のノードから返信された安定性チェックポイントの高さとPQC-Set情報に基づき、ネットワーク全体の安定性チェックポイントの高さを取得し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さよりも小さい場合、PBFTの高速同期アルゴリズムによってチェックポイント回復を行い、回復が完了した後に最終的な回復を実行し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さ以上である場合、最終的な回復を実行すること、を含み、
上述した最終的な回復を実行することは、
前記回復待ちノードは、ネットワーク全体の他のノートに対して安定性チェックポイント後のPQC情報を要求し、ここで、前記PQC情報はPre-Prepareメッセージ、Prepareメッセージ、およびCommitメッセージであり、前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づき、前記回復待ちノードが正常ノードに回復するまで再実行することを含む、ことを特徴とする、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
【請求項8】
上述した第1のプリセット時間内に前記他のノードからのビュー変更要求を待ってカウントするステップの後、さらに、
前記第1のプリセット時間内に同じビュー値を含む2f+1個のビュー変更要求を受信した場合、PBFTアルゴリズムのビュー変更回復方法によって回復を完了するステップを含むことを特徴とする、請求項7に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
【請求項9】
上述した第2のプリセット時間内に前記他のノードからの返信を待ってカウントするステップの後、さらに、
前記第2のプリセット時間内に同じビュー値を含む2f+1個の返信を受信しなかった場合、上述した前記回復待ちノードからネットワーク全体の他のノートに回復要求を送信するステップに戻るステップを含むことを特徴とする、請求項7に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
【請求項10】
前記ビュー変更要求はさらに、本ノードの署名情報を含むことを特徴とする、請求項7に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
【請求項11】
カウントする時、各ノードは1回だけカウントされることを特徴とする、請求項7に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
【請求項12】
前記回復要求はさらに、前記回復待ちノードの署名情報を含むことを特徴とする、請求項7に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
【請求項13】
前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報は、本ノードの署名情報を含むことを特徴とする、請求項7に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
【請求項14】
上述した前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づいて再実行することは、
前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づき、前記回復待ちノードの安定性チェックポイントの高さ以上のPQC情報を再実行するステップを含むことを特徴とする、請求項7に記載のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法。
【請求項15】
異常ノードを特定し、前記異常ノードからネットワーク全体の他のノードにビュー変更要求を開始するための異常要求モジュールと、
ここで、前記ビュー変更要求は、次のビューへの入りを要求するために使用され、前記ビュー変更要求は、本ノードのID、本ノードが推奨したビュー値、本ノードの安定性チェックポイントの高さ、および本ノードのPQC-Set情報を含み、前記PQC-Set情報は、PBFTアルゴリズムにおけるビュー変更回復のために定義されたP-Set、Q-Set、C-Setにそれぞれ対応し、
第1のプリセット時間内に前記他のノードからのビュー変更要求を待ってカウントし、前記第1のプリセット時間内に2f+1個のビュー変更要求を受信しなかった場合、前記異常ノードを回復待ちノードにするための第1のカウントモジュールと、
前記回復待ちノードからネットワーク全体の他のノードに、前記回復待ちノードのIDを含む回復要求を送信するための回復要求モジュールと、
第2のプリセット時間内に前記他のノードからの返信を待ってカウントし、ここで、前記他のノードは、前記回復待ちノードからの回復要求を受信した後、自身のビュー値および安定性チェックポイントの高さ、ID、PQC-Set情報を返信し、前記第2のプリセット時間内に同じビュー値を含む2f+1個の返信を受信した場合、状態回復に移行するための第2のカウントモジュールと、
2f+1個のノードから返信された安定性チェックポイントの高さおよびPQC-Set情報に基づき、ネットワーク全体の安定性チェックポイントの高さを取得し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さよりも小さい場合、PBFTの高速同期アルゴリズムによってチェックポイント回復を行い、回復が完了した後に最終的な回復に移行し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さ以上である場合、最終的な回復に移行することを含む、状態回復を実行するための第1の回復モジュールと、
前記回復待ちノードがネットワーク全体の他のノートに対して安定性チェックポイント後のPQC情報、すなわちPre-Prepareメッセージ、Prepareメッセージ、およびCommitメッセージを要求し、また、前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づき、前記回復待ちノードが正常ノードに回復するまで再実行することを含む、最終的な回復を実行するための第2の回復モジュールと、を含むことを特徴とする、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復システム。
【請求項16】
コンピュータプログラムが記憶されたメモリと、プロセッサとを含み、前記プロセッサが前記コンピュータプログラムを実行する時に、請求項1-14のいずれか一項に記載の方法を実現することを特徴とする、コンピュータ設備。
【請求項17】
プロセッサによって実行されると、請求項1-14のいずれか一項に記載の方法のステップを実現することを特徴とする、コンピュータプログラムが記憶された可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2019年10月10日に出願された、「PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法」と題された中国特許出願第201910956576.8の優先権を主張し、そのすべての内容が参照により本出願に組み込まれている。
【0002】
本出願は、PBFTアルゴリズムの技術分野に関し、特に、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法、システム、設備および媒体に関する。
【背景技術】
【0003】
PBFTは、Practical Byzantine Fault Toleranceの略語で、つまり、実用的なビザンチンフォールトトレランスアルゴリズムである。当該アルゴリズムは、1999年にMiguel Castro(カストロ)およびBarbara Liskov(リスコフ)によって提案されたもので、元のビザンチンフォールトトレランスアルゴリズムの低効率の問題を解決し、アルゴリズムの時間計算量がO(n^2)であるため、実際のシステム応用ではビザンチンフォールトトレランスの問題を解決することができる。f個のビザンチンノードの存在を許容するために、PBFTはインターネット全体で少なくとも3f+1個のノードを必要としている。
【0004】
PBFTアルゴリズムの通常のコンセンサスプロセスは、Pre-PrepareとPrepareとCommitの3つの段階に分かれている。スレーブノードがマスターノードの異常を発見した場合、スレーブノードはビュー変更を能動的にトリガーしてマスターノードを切り替えることで、システムの正常なサービスを外部に提供することを確保することができる。しかしながら、あるノードはマスターノードとの接続が一時的に切断される(マスターノードが異常であると誤認される)ことで、そのノードがビュー変更状態になるが、他のノードはマスターノードに正常に接続されていて通常状態のままであるため、そのノードは、インターネット全体が次のビュー変更に入るまでビュー変更要求を継続的に再送することでしか通常状態に戻ることができないので、全体的な異常回復時間は、インターネット全体が次の異常回復をトリガーする時間に依存しており、このような受動的な回復方法は、実際の応用に対して明らかに十分に実用ではない。
【発明の概要】
【課題を解決するための手段】
【0005】
本出願の様々な実施例によれば、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法を提供し、前記PBFTアルゴリズムは、最大でf個のノードのビザンチンエラーを許容できる、3f+1個のノードを含むピアツーピアネットワークを必要とし、当該方法は以下のようなステップを含む。
【0006】
S1:正常に動作しているノードは、ネットワーク上の理由でシステムの異常が検出されると、異常状態に入り、すなわち異常ノードになる。
【0007】
S2:前記異常ノードは、ネットワーク全体のすべてのノードに対して、次のビューへ入るためのビュー変更要求を開始し、前記ビュー変更要求は、本ノードのID、本ノードが推奨したビュー値、本ノードの安定性チェックポイントの高さ、および本ノードのPQC情報を含む。
【0008】
S3:前記異常ノードは、所定時間内に他のノードのビュー変更要求を待ってカウントし、所定時間内に同じビュー値を含む2f+1個のビュー変更要求を受信した場合、PBFTアルゴリズムのビュー変更回復方法によって回復を完了し、所定時間内に2f+1個のビュー変更要求を受信しなかった場合、前記異常ノードは回復待ち状態に入り、すなわち回復待ちノードになる。
【0009】
S4:前記回復待ちノードは、ネットワーク全体のすべてのノードに対して、前記回復待ちノードのIDを含む回復要求を送信する。
【0010】
S5:前記回復待ちノードは、所定時間内に他のノードからの返信を待ってカウントし、ここで、他の正常ノードは、前記回復待ちノードからの回復要求を受信した後、自身のビュー値と安定性チェックポイントの高さ、ID、およびPQC情報を返信し、前記回復待ちノードは、所定時間内に同じビュー値を含む2f+1個の返信を受信した場合、S6に入り、状態回復を行い、所定時間内に同じビュー値を含む2f+1個の返信を受信しなかった場合、S4に戻る。
【0011】
前記PQC情報は、Pre-Prepareメッセージ、Prepareメッセージ、およびCommitメッセージである。
【0012】
S6:前記回復待ちノードは、2f+1個のノードから返信されたチェックポイント情報に基づき、ネットワーク全体の安定性チェックポイントの高さを算出し、前記回復待ちノードの安定性チェックポイントの高さがネットワーク全体の安定性チェックポイントの高さよりも小さい場合、PBFTの高速同期アルゴリズムによってチェックポイントの回復を行い、回復が完成した後、S7に入り、最終的な回復を実行し、そうでない場合、直接S7に入り、最終的な回復を実行する。
【0013】
S7:前記回復待ちノードは、ネットワーク全体のすべてのノードに対して安定性チェックポイント後のPQC情報を要求する。
【0014】
S8:他の正常ノードは、PQCへの要求を受信すると、自身の安定性チェックポイント後のすべてのPQC情報を返信する。
【0015】
S9:前記回復待ちノードは、受信したPQC返信情報に基づき、正常ノードの高さに回復するまで再実行し、これにより異常回復を完了する。
【0016】
さらに、前記S2のビュー変更要求には、本ノードの署名情報も含まれる。
【0017】
さらに、前記S3および前記S5では、カウントルールとして、1つのノードが1票しかカウントできず、所定時間内に同一ノードから複数の返信情報を同時に受信した場合も1回しかカウントできない。
【0018】
さらに、前記S4の回復要求には、回復待ちノードの署名情報も含まれる。ここで、回復待ちノードの署名情報は、ノードのアイデンティティを確認し、悪意のあるノードが回復要求を偽造して正常ノードのネットワーク帯域幅を消費することを防ぐために使用される。
【0019】
さらに、前記S5の他の正常ノードの返信情報には、本ノードの署名情報も含まれる。ここで、前記署名情報は、回復待ちノードが正常ノードのアイデンティティを確認し、悪意のあるノードが返信情報を偽造して回復待ちノードが回復を完了できないということを防ぐために使用される。
【0020】
さらに、前記S9では、前記回復待ちノードは、PQC返信情報を受信した後、同じPQCを繰り返し実行することで実行エラーにより回復待ちノードが再び異常状態になることを防ぐために、自身の高さ以上のPQC情報しか再実行できない。
【0021】
本出願の有益な効果は以下のとおりである。
【0022】
本出願の方法では、PBFTアルゴリズムに基づいて単一ノードの異常回復プロセスを追加し、異常ノードを2つのステップで異常回復させ、第1ステップでは、従来のPBFTアルゴリズムのビュー変更法に従って異常回復を試み、回復がタイムアウトした場合、単一ノードの異常回復法の第2のステップに進み、この方法ではノードが一致した2f+1個のビュー値を取得してビュー値を更新し、かつ2f+1個のノードのチェックポイント高さを取得してチェックポイントの高速回復を行うことで回復速度を高める。本出願で提案するPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法は、従来のPBFTアルゴリズムにおける単一ノードが異常である場合の受動的回復法を改善し、ノード動作中の異常回復速度を大幅に上昇させ、PBFTアルゴリズムの実用性を向上させる。
【0023】
本出願の様々な実施例によれば、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法をさらに提供し、前記方法は、最大でf個のノードのビザンチンエラーを許容する、3f+1個のノードを含むピアツーピアネットワークに適用され、前記方法は、
異常ノードを特定し、前記異常ノードからネットワーク全体の他のノードにビュー変更要求を開始するステップと、ここで、前記ビュー変更要求は、次のビューへの入りを要求するために使用され、前記ビュー変更要求は、本ノードのID、本ノードが推奨したビュー値、本ノードの安定性チェックポイントの高さ、および本ノードのPQC-Set情報を含み、前記PQC-Set情報は、PBFTアルゴリズムにおけるビュー変更回復のために定義されたP-Set、Q-Set、C-Setにそれぞれ対応し、
第1のプリセット時間内に前記他のノードからのビュー変更要求を待ってカウントし、前記第1のプリセット時間内に2f+1個のビュー変更要求を受信しなかった場合、前記異常ノードを回復待ちノードにするステップと、
前記回復待ちノードからネットワーク全体の他のノードに、前記回復待ちノードのIDを含む回復要求を送信するステップと、
第2のプリセット時間内に前記他のノードからの返信を待ってカウントし、ここで、前記他のノードは、前記回復待ちノードからの回復要求を受信した後、自身のビュー値および安定性チェックポイントの高さ、ID、PQC-Set情報を返信し、前記第2のプリセット時間内に同じビュー値を含む2f+1個の返信を受信した場合、状態回復を実行するステップと、を含み、
上述した状態回復を実行することは、
2f+1個のノードから返信された安定性チェックポイントの高さとPQC-Set情報に応じて、ネットワーク全体の安定性チェックポイントの高さを取得し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さよりも小さい場合、PBFTの高速同期アルゴリズムによってチェックポイント回復を行い、回復が完了した後に最終的な回復を実行し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さ以上である場合、最終的な回復を実行すること、を含み、
上述した最終的な回復を実行することは、
前記回復待ちノードは、ネットワーク全体の他のノートに対して安定性チェックポイント後のPQC情報を要求し、ここで、前記PQC情報はPre-Prepareメッセージ、Prepareメッセージ、およびCommitメッセージであり、前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づき、前記回復待ちノードが正常ノードに回復するまで再実行することを含む。
【0024】
一実施例では、上述した第1のプリセット時間内に前記他のノードからのビュー変更要求を待ってカウントするステップの後、さらに、
前記第1のプリセット時間内に同じビュー値を含む2f+1個のビュー変更要求を受信した場合、PBFTアルゴリズムのビュー変更回復方法によって回復を完了するステップを含む。
【0025】
一実施例では、上述した第2のプリセット時間内に前記他のノードからの返信を待ってカウントするステップの後、さらに、
前記第2のプリセット時間内に同じビュー値を含む2f+1個の返信を受信しなかった場合、上述した前記回復待ちノードからネットワーク全体の他のノートに回復要求を送信するステップに戻るステップを含む。
【0026】
一実施例では、前記ビュー変更要求はさらに、本ノードの署名情報を含む。
【0027】
一実施例では、カウントする時、各ノードは1回だけカウントされる。
【0028】
一実施例では、前記回復要求はさらに、前記回復待ちノードの署名情報を含む。
【0029】
一実施例では、前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報は、本ノードの署名情報を含む。
【0030】
一実施例では、上述した前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づいて再実行することは、
前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づき、前記回復待ちノードの安定性チェックポイントの高さ以上のPQC情報を再実行するステップを含む。
【0031】
本出願の様々な実施例によれば、さらに、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復システムを提供し、前記システムは、
異常ノードを特定し、前記異常ノードからネットワーク全体の他のノードにビュー変更要求を開始するための異常要求モジュールと、ここで、前記ビュー変更要求は、次のビューへの入りを要求するために使用され、前記ビュー変更要求は、本ノードのID、本ノードが推奨したビュー値、本ノードの安定性チェックポイントの高さ、および本ノードのPQC-Set情報を含み、前記PQC-Set情報は、PBFTアルゴリズムにおけるビュー変更回復のために定義されたP-Set、Q-Set、C-Setにそれぞれ対応し、
第1のプリセット時間内に前記他のノードからのビュー変更要求を待ってカウントし、前記第1のプリセット時間内に2f+1個のビュー変更要求を受信しなかった場合、前記異常ノードを回復待ちノードにするための第1のカウントモジュールと、
前記回復待ちノードからネットワーク全体の他のノードに、前記回復待ちノードのIDを含む回復要求を送信するための回復要求モジュールと、
第2のプリセット時間内に前記他のノードからの返信を待ってカウントし、ここで、前記他のノードは、前記回復待ちノードからの回復要求を受信した後、自身のビュー値および安定性チェックポイントの高さ、ID、PQC-Set情報を返信し、前記第2のプリセット時間内に同じビュー値を含む2f+1個の返信を受信した場合、状態回復に移行するための第2のカウントモジュールと、
2f+1個のノードから返信された安定性チェックポイントの高さおよびPQC-Set情報に応じて、ネットワーク全体の安定性チェックポイントの高さを取得し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さよりも小さい場合、PBFTの高速同期アルゴリズムによってチェックポイント回復を行い、回復が完了した後に最終的な回復に移行し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さ以上である場合、最終的な回復に移行することを含む、状態回復を実行するための第1の回復モジュールと、
前記回復待ちノードがネットワーク全体の他のノートに対して安定性チェックポイント後のPQC情報、すなわちPre-Prepareメッセージ、Prepareメッセージ、およびCommitメッセージを要求し、また、前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づき、前記回復待ちノードが正常ノードに回復するまで再実行することを含む、最終的な回復を実行するための第2の回復モジュールと、を含む。
【0032】
本出願の様々な実施例によれば、さらにコンピュータ設備を提供し、前記コンピュータ設備は、メモリおよびプロセッサを備え、前記メモリにはコンピュータプログラムが記憶され、前記プロセッサは、前記コンピュータプログラムを実行する時に、上述したPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法のステップを実現する。
【0033】
本出願の様々な実施例によれば、コンピュータプログラムが記憶された可読記憶媒体をさらに提供し、前記コンピュータプログラムは、プロセッサによって実行されると、上述したPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法のステップを実現する。
【0034】
ここで開示されるそれらの発明の実施例および/または例示をよりよく記述及び説明するために、1つ以上の図面を参照することができる。図面を説明するための追加の詳細または例示は、開示された発明、現在説明されている実施例および/または例示、および現在理解されているこれらの発明の最良の態様のいずれかの範囲を制限するものと見なされるべきではない。
【図面の簡単な説明】
【0035】
【
図1】本出願の実施例に係る単一ノードの異常能動的回復のプロセスを示す概略図である。
【
図2】本出願の実施例に係るPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法のプロセスを示す概略図である。
【
図3】本出願の実施例に係るPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復システムの構造を示す概略図である。
【
図4】本出願の実施例に係るコンピュータ設備の内部構造を示す図である。
【発明を実施するための形態】
【0036】
本出願への理解を容易にし、本出願の上記目的、特徴および利点をより明白かつ理解しやすくするために、以下は図面と併せて本出願の具体的な実施形態を詳細に説明する。以下の説明では、本出願を十分に理解するために、多くの具体的な詳細が示されており、本出願の好ましい実施形態が図面で示されている。しかし、本出願は多くの異なる形態で実施可能であり、本明細書に記載された実施形態に限定されない。むしろ、これらの実施形態は、本出願の開示内容をより徹底的かつ包括的に理解する目的で提供されている。本出願は、本明細書に記載されたもの以外にも多くの方法で実施することができ、また、本出願の内容に矛盾することなく当業者が同様の改良を加えることができるため、本出願は以下に開示される具体的な実施例によって限定されない。
【0037】
なお、「第1」、「第2」という用語は目的を説明するためのものに過ぎず、相対的な重要度を指示や示唆するもの、或いは指示される技術的特徴の数を暗示的に表示するものとして理解できない。そこで、「第1」、「第2」に限定される特徴は、それらの特徴のうちの1つ以上を明示的や暗示的に含むことができる。本出願の説明において、「複数」とは、特に明示的かつ具体的に限定しない限り、2つ以上、例えば2つ、3つなどを意味する。本出願の説明において、「若干」とは、特に明示的かつ具体的に限定しない限り、1つ以上、例えば1つ、2つなどを意味する。
【0038】
特に定義されていない限り、本明細書で使用されているすべての技術的および科学的用語は、当業者が一般的に理解しているものと同じ意味を持つ。本明細書で使用されている用語は、具体的な実施形態を説明するためのものに過ぎず、本出願を限定するものではない。本明細書では、「および/または」という用語は、挙げられた関連する1つ以上の項目の任意およびすべての組み合わせを含む。
【0039】
図1に示すように、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法であって、前記PBFTアルゴリズムは、最大でf個のノードのビザンチンエラーを許容できる、3f+1個のノードを含むピアツーピアネットワークを必要とし、当該方法は具体的に、以下のS1、S2、S3、S4、S5、S6、S7、S8、S9を含む。
【0040】
S1:正常に動作しているノードは、ネットワーク上の理由でマスターノードが異常であることを判明すると、異常状態に入り、すなわち異常ノードになる。
【0041】
S2:前記異常ノードは、ネットワーク全体のすべてのノードに対して、次のビューに入るためのビュー変更要求を開始し、前記ビュー変更要求は、本ノードのID、本ノードが推奨したビュー値、本ノードの安定性チェックポイントの高さ、および本ノードのPQC情報を含む。
【0042】
S3:前記異常ノードは、所定時間内に他のノードのビュー変更要求を待ってカウントし、所定時間内に同じビュー値を含む2f+1個のビュー変更要求を受信した場合、PBFTアルゴリズムのビュー変更回復方法によって回復を完了し、所定時間内に2f+1個のビュー変更要求を受信しなかった場合、前記異常ノードは回復待ち状態に入り、すなわち回復待ちノードになる。
【0043】
当該ステップでは、前記異常ノードは、まずビュー変更を試み、ネットワーク全体で2f+1個以上のノードが同じビュー値でビュー変更を開始することを試みる場合、前記異常ノードは直接ビュー変更方法によって異常回復を完了することができ、具体的には、前記異常ノードは、ネットワーク全体の2f+1個のノードから推奨されたビュー値によって、新しいビューのマスターノードを特定し、かつ新しいマスターノードが確認メッセージを送信するのを待ち、これによって異常回復を完了できるようになり、前記異常ノードが所定時間内に2f+1個のノードからのビュー変更要求を受信しなかった場合、この時点ではネットワーク全体が正常状態にあり、当該ノードのみが異常状態にあると考えられ、このとき、前記異常ノードは、元のPBFTアルゴリズムにおけるビュー変更要求を連続的に再送する方法に従った受動的な回復待ちを要することなく、直接回復待ち状態に入り、その後の回復方法によって自律的に回復する。
【0044】
S4:前記回復待ちノードは、ネットワーク全体のすべてのノードに対して、前記回復待ちノードのIDを含む回復要求を送信する。
【0045】
S5:前記回復待ちノードは、所定時間内に他のノードからの返信を待ってカウントし、ここで、他の正常ノードは、前記回復待ちノードからの回復要求を受信した後、自身のビュー値と安定性チェックポイントの高さ、ID、およびPQC情報を返信し、前記回復待ちノードは、所定時間内に同じビュー値を含む2f+1個の返信を受信した場合、S6に入り、状態回復を行い、所定時間内に同じビュー値を含む2f+1個の返信を受信しなかった場合、S4に戻る。
【0046】
前記正常ノードが回復待ちノードから回復要求を受信した後に返信されたビュー値は、回復待ちノードがネットワーク全体の安定したビュー値を取得してビュー回復を実行できるように保証するために使用され、返信された安定性チェックポイントの高さは、回復待ちノードがネットワーク全体の最新の安定性チェックポイントの高さを取得してチェックポイント状態回復を実行できるように保証するために使用される。
【0047】
前記PQC情報は、Pre-Prepareメッセージ、Prepareメッセージ、およびCommitメッセージである。
【0048】
S6:前記回復待ちノードは、2f+1個のノードから返信されたチェックポイント情報に基づき、ネットワーク全体の安定性チェックポイントの高さを算出し、前記回復待ちノードの安定性チェックポイントの高さがネットワーク全体の安定性チェックポイントの高さよりも小さい場合、PBFTの高速同期アルゴリズムによってチェックポイントの回復を行い、回復が完成した後、S7に入り、最終的な回復を実行し、そうでない場合、直接S7に入り、最終的な回復を実行する。
【0049】
ここで、安定性チェックポイントは、ネットワーク全体のノードの2/3以上が到達したと本ノードによって確認された高さであり、PBFTアルゴリズムにおけるメモリリサイクル条件に到達した高さである。
【0050】
S7:前記回復待ちノードは、ネットワーク全体のすべてのノードに対して安定性チェックポイント後のPQC情報を要求する。
【0051】
S8:他の正常ノードは、PQCへの要求を受信すると、自身の安定性チェックポイント後のすべてのPQC情報を返信する。
【0052】
S9:前記回復待ちノードは、受信したPQC返信情報に基づき、正常ノードの高さに回復するまで再実行し、これにより異常回復を完了する。
【0053】
PQC情報はPBFTアルゴリズムにおける3段階のコンセンサスメッセージであるため、PQC情報のみで正常ノードと一致する高さまで回復することができる。
【0054】
本出願に係るPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法を利用することで、異常ノードは、異常回復プロセスを自律的にトリガーすることができ、異常回復にかかる時間を大幅に短縮することができる。
【0055】
好ましくは、前記S2のビュー変更要求はさらに、本ノードの署名情報を含む。
【0056】
好ましくは、前記S3および前記S5では、カウントルールとして、1つのノードが1票しかカウントできず、所定時間内に同一ノードから複数の返信情報を同時に受信した場合も1回しかカウントできない。
【0057】
好ましくは、前記S4の回復要求には、回復待ちノードの署名情報も含まれる。ここで、回復待ちノードの署名情報は、ノードのアイデンティティを確認し、悪意のあるノードが回復要求を偽造して正常ノードのネットワーク帯域幅を消費することを防ぐために使用される。
【0058】
好ましくは、前記S5の他の正常ノードの返信情報には、本ノードの署名情報も含まれる。ここで、前記署名情報は、回復待ちノードが正常ノードのアイデンティティを確認し、悪意のあるノードが返信情報を偽造して回復待ちノードが回復を完了できないということを防ぐために使用される。
【0059】
好ましくは、前記S9では、前記回復待ちノードは、PQC返信情報を受信した後、同じPQCを繰り返し実行することで実行エラーにより回復待ちノードが再び異常状態になることを防ぐために、自身の高さ以上のPQC情報しか再実行できない。
【0060】
さらに、
図2に示すように、本出願に係るPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法は、最大でf個のノードのビザンチンエラーを許容できる、3f+1個のノードを含むピアツーピアネットワークに応用され得、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復を以下のステップによって実現できる。
【0061】
S110:異常ノードを特定し、前記異常ノードからネットワーク全体の他のノードにビュー変更要求を開始し、ここで、前記ビュー変更要求は、次のビューへの入りを要求するために使用され、前記ビュー変更要求は、本ノードのID、本ノードが推奨したビュー値、本ノードの安定性チェックポイントの高さ、および本ノードのPQC-Set情報を含み、前記PQC-Set情報は、PBFTアルゴリズムにおけるビュー変更回復のために定義されたP-Set、Q-Set、C-Setにそれぞれ対応する。
【0062】
S120:第1のプリセット時間内に前記他のノードからのビュー変更要求を待ってカウントし、前記第1のプリセット時間内に2f+1個のビュー変更要求を受信しなかった場合、前記異常ノードを回復待ちノードにする。
【0063】
S130:前記回復待ちノードからネットワーク全体の他のノートに、前記回復待ちノードのIDを含む回復要求を送信する。
【0064】
S140:第2のプリセット時間内に前記他のノードからの返信を待ってカウントし、ここで、前記他のノードは、前記回復待ちノードからの回復要求を受信した後、自身のビュー値および安定性チェックポイントの高さ、ID、PQC-Set情報を返信し、前記第2のプリセット時間内に同じビュー値を含む2f+1個の返信を受信した場合、状態回復を実行する。
【0065】
S150:上述した状態回復を実行することは、2f+1個のノードから返信された安定性チェックポイントの高さとPQC-Set情報に基づき、ネットワーク全体の安定性チェックポイントの高さを取得し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さよりも小さい場合、PBFTの高速同期アルゴリズムによってチェックポイント回復を行い、回復が完了した後に最終的な回復を実行し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さ以上である場合、最終的な回復を実行すること、を含む。
【0066】
S160:上述した最終的な回復を実行することは、前記回復待ちノードは、ネットワーク全体の他のノートに対して安定性チェックポイント後のPQC情報を要求し、ここで、前記PQC情報はPre-Prepareメッセージ、Prepareメッセージ、およびCommitメッセージであり、前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づき、前記回復待ちノードが正常ノードに回復するまで再実行することを含む。
【0067】
一実施例では、上述した第1のプリセット時間内に前記他のノードからのビュー変更要求を待ってカウントするステップの後、さらに、
前記第1のプリセット時間内に同じビュー値を含む2f+1個のビュー変更要求を受信した場合、PBFTアルゴリズムのビュー変更回復方法によって回復を完了するステップを含む。
【0068】
一実施例では、上述した第2のプリセット時間内に前記他のノードからの返信を待ってカウントするステップの後、さらに、
前記第2のプリセット時間内に同じビュー値を含む2f+1個の返信を受信しなかった場合、上述した前記回復待ちノードからネットワーク全体の他のノートに回復要求を送信するステップに戻るステップを含む。
【0069】
一実施例では、前記ビュー変更要求はさらに、本ノードの署名情報を含む。
【0070】
一実施例では、カウントする時、各ノードは1回だけカウントされる。
【0071】
一実施例では、前記回復要求はさらに、前記回復待ちノードの署名情報を含む。
【0072】
一実施例では、前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報は、本ノードの署名情報を含む。
【0073】
一実施例では、上述した前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づいて再実行することは、
前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づき、前記回復待ちノードの安定性チェックポイントの高さ以上のPQC情報を再実行するステップを含む。
【0074】
一実施例では、
図3に示すように、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復システムを提供し、前記システムは、
異常ノードを特定し、前記異常ノードからネットワーク全体の他のノードにビュー変更要求を開始するための異常要求モジュール210と、ここで、前記ビュー変更要求は、次のビューへの入りを要求するために使用され、前記ビュー変更要求は、本ノードのID、本ノードが推奨したビュー値、本ノードの安定性チェックポイントの高さ、および本ノードのPQC-Set情報を含み、前記PQC-Set情報は、PBFTアルゴリズムにおけるビュー変更回復のために定義されたP-Set、Q-Set、C-Setにそれぞれ対応し、
第1のプリセット時間内に前記他のノードからのビュー変更要求を待ってカウントし、前記第1のプリセット時間内に2f+1個のビュー変更要求を受信しなかった場合、前記異常ノードを回復待ちノードにするための第1のカウントモジュール220と、
前記回復待ちノードからネットワーク全体の他のノードに、前記回復待ちノードのIDを含む回復要求を送信するための回復要求モジュール230と、
第2のプリセット時間内に前記他のノードからの返信を待ってカウントし、ここで、前記他のノードは、前記回復待ちノードからの回復要求を受信した後、自身のビュー値および安定性チェックポイントの高さ、ID、PQC-Set情報を返信し、前記第2のプリセット時間内に同じビュー値を含む2f+1個の返信を受信した場合、状態回復に移行するための第2のカウントモジュール240と、
2f+1個のノードから返信された安定性チェックポイントの高さおよびPQC-Set情報に基づき、ネットワーク全体の安定性チェックポイントの高さを取得し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さよりも小さい場合、PBFTの高速同期アルゴリズムによってチェックポイント回復を行い、回復が完了した後に最終的な回復に移行し、前記回復待ちノードの安定性チェックポイントの高さが前記ネットワーク全体の安定性チェックポイントの高さ以上である場合、最終的な回復に移行することを含む、状態回復を実行するための第1の回復モジュール250と、
前記回復待ちノードがネットワーク全体の他のノートに対して安定性チェックポイント後のPQC情報、すなわちPre-Prepareメッセージ、Prepareメッセージ、およびCommitメッセージを要求し、また、前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づき、前記回復待ちノードが正常ノードに回復するまで再実行することを含む、最終的な回復を実行するための第2の回復モジュール260と、を含む。
【0075】
一実施例では、第1の回復モジュール250はさらに、前記第1のプリセット時間内に同じビュー値を含む2f+1個のビュー変更要求を受信した場合、PBFTアルゴリズムのビュー変更回復方法によって回復を完了するために使用される。
【0076】
一実施例では、前記第2のプリセット時間内に同じビュー値を含む2f+1個の返信を受信しなかった場合、前記回復要求モジュール230は引き続き、前記回復待ちノードからネットワーク全体の他のノートに回復要求を開始する。
【0077】
一実施例では、前記ビュー変更要求はさらに、本ノードの署名情報を含む。
【0078】
一実施例では、カウントする時、各ノードは1回だけカウントされる。
【0079】
一実施例では、前記回復要求はさらに、前記回復待ちノードの署名情報を含む。
【0080】
一実施例では、前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報は、本ノードの署名情報を含む。
【0081】
一実施例では、第2の回復モジュール260は、前記他のノードから返信された自身の安定性チェックポイント後のPQC返信情報に基づき、前記回復待ちノードの安定性チェックポイントの高さ以上のPQC情報を再実行するために使用される。
【0082】
PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復システムについての具体的な限定は、上記のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法の限定を参照することができるので、ここでは繰り返して説明しない。上記のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復システムにおける各モジュールの全部または一部は、ソフトウェア、ハードウェアおよびそれらの組み合わせによって実現できる。上記の各モジュールは、ハードウェア形態でコンピュータ設備のプロセッサに組み込まれ、またはそのプロセッサから独立してもよいし、プロセッサが上記の各モジュールに対応する操作を呼び出して実行できるように、ソフトウェア形態でコンピュータ設備のメモリに記憶されてもよい。
【0083】
一実施例では、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復のコンピュータ設備を提供し、当該コンピュータ設備は端末であってもよく、その内部構造図は
図4に示すものであってもよい。当該コンピュータ設備は、システムバスを介して接続されたプロセッサ、メモリ、ネットワークインターフェース、ディスプレイおよび入力装置を含む。ここで、当該コンピュータ設備のプロセッサは、コンピューティングおよび制御機能を提供するために使用される。当該コンピュータ設備のメモリは、不揮発性記憶媒体と内部メモリを含む。当該不揮発性記憶媒体には、オペレーティングシステムおよびコンピュータプログラムが記憶されている。当該内部メモリは、不揮発性記憶媒体のオペレーティングシステムやコンピュータプログラムが動作する環境を提供する。当該コンピュータ設備のネットワークインターフェースは、ネットワークを介して外部の端末と通信するために使用される。当該コンピュータプログラムは、プロセッサによって実行されると、PBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法を実現する。当該コンピュータ設備のディスプレイは、液晶ディスプレイまたは電子インクディスプレイであり得、当該コンピュータ設備の入力装置は、ディスプレイ上に覆われたたタッチ層であってもよく、コンピュータ設備のハウジング上に設置されたキー、トラックボール、タッチパッドであってもよく、外付けのキーボード、タッチパッド、マウスなどであってもよい。
【0084】
図4に示された構造は、本出願の解決手段に関連する構造の一部を示すブロック図に過ぎず、本出願の解決手段が応用されるスマートコントラクトクライアントプログラムを生成するための設備を限定するものではなく、スマートコントラクトクライアントプログラムを生成するための具体的な設備は、図に示されたものよりも多くのまたは少ない部品を含めるか、特定の部品を組み合わせてもよく、または部品の異なる配置を有することが、当業者には理解され得る。
【0085】
一実施例では、コンピュータ設備を提供し、コンピュータプログラムが記憶されたメモリと、プロセッサとを含み、当該プロセッサがコンピュータプログラムを実行する時に、上記のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法のステップを実現する。
【0086】
一実施例では、コンピュータプログラムが記憶された可読記憶媒体を提供し、コンピュータプログラムがプロセッサによって実行されると、上記のPBFTアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法のステップを実現する。
【0087】
当業者であれば理解されるように、上記の実施例の方法におけるプロセスの全部または一部は、関連するハードウェアを指示するコンピュータプログラムによって実現可能であり、当該コンピュータプログラムは、不揮発性のコンピュータ可読記憶媒体に記憶されてもよく、また、実行されると、上述した各方法の実施例のプロセスを含み得る。ここで、本出願で提供される各実施例で使用されるメモリ、ストレージ、データベース、または他の媒体への言及は、いずれも不揮発性メモリおよび/または揮発性メモリを含んでもよい。不揮発性メモリは、読み取り専用メモリ(ROM)、プログラム可能なROM(PROM)、電気的にプログラム可能なROM(EPROM)、電気的に消去可能なプログラム可能なROM(EEPROM)またはフラッシュメモリを含み得る。揮発性メモリは、ランダムアクセスメモリ(RAM)または外部キャッシュメモリを含み得る。限定ではなく例として、RAMは、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、同期DRAM(SDRAM)、ダブルデータレートSDRAM(DDRSDRAM)、拡張SDRAM(ESDRAM)、同期リンク(Synchlink)DRAM(SLDRAM)、ラムバス(Rambus)ダイレクトRAM(RDRAM)、ダイレクトラムバスダイナミックRAM(DRDRAM)、やラムバスダイナミックRAM(RDRAM)など、様々な形式で利用できる。
【0088】
上述した実施例の各技術的特徴は、任意に組み合わせてもよく、説明を簡潔にするために、上述した実施例の技術的特徴の可能な組み合わせのすべてを説明していないが、これらの技術的特徴の組み合わせが矛盾しない限り、いずれも本明細書の範囲内にあるとみなされるべきである。
【0089】
当業者であれば理解されるように、前述は本出願の好ましい実施例に過ぎず、本出願を限定することを意図したものではなく、前述の実施例を参照して本出願を詳細に説明したにもかかわらず、当業者は、前述の実施例に記載された技術的解決手段を修正したり、その技術的特徴の一部を同等に置き換えたりすることが可能である。本出願の精神と原則の範囲内のすべての修正、同等な置き換えなどは、いずれも本出願の保護範囲に含まれるものとする。
【符号の説明】
【0090】
210 異常要求モジュール
220 第1のカウントモジュール
230 回復要求モジュール
240 第2のカウントモジュール
250 第1の回復モジュール
260 第2の回復モジュール
【国際調査報告】