(57)【特許請求の範囲】
【請求項１】
ブロックチェーンベースのデータを処理するためのコンピュータにより実施される方法であって、
一指定時間期間内にシステムリソース消費に基づくコンセンサスに従って処理されるサービスデータの量を監視するステップ(101)と、
サービスデータの前記量に基づいて、ブロック生成時間を動的に調整し、調整時間期間を生成するステップ(103)と、
前記調整時間期間に基づいて、新たなブロックを生成するステップであって、前記新たなブロックの生成が、前記システムリソース消費にマッチしたサービスの必要性と関連がある、ステップ(105)と
を含む、方法。
【請求項２】
前記ブロック生成時間を動的に調整するステップが、
処理されたデータの前記量が、指定の第1のしきい値未満である場合、前記ブロック生成時間を、指定の第1の持続期間だけ延長するステップと、
処理されたデータの前記量が、指定の第2のしきい値よりも多い場合、前記ブロック生成時間を、指定の第2の持続期間だけ短縮するステップと
を含む、請求項1に記載の方法。
【請求項３】
処理されるサービスデータの前記量を監視するステップが、
連続するn個の指定時間期間内に前記コンセンサスによって処理されるサービスデータの量を監視するステップであって、nが自然数であり、前記一指定時間期間が、前記ブロック生成時間に基づいて決定される、ステップ
を含み、
処理されたデータの前記量に基づいて、前記ブロック生成時間を動的に調整するステップが、
前記指定時間期間に対応する処理されたデータの前記量に基づいて、前記ブロック生成時間を動的に調整するステップ
を含む、請求項1または2に記載の方法。
【請求項４】
前記ブロック生成時間を動的に調整するステップが、
前記指定時間期間に対応する処理されたデータの前記量が漸進的に増大し、かつ処理されたデータの最大量が、前記指定の第2のしきい値よりも多い場合、前記ブロック生成時間を、前記指定の第2の持続期間だけ短縮するステップ
を含む、請求項3に記載の方法。
【請求項５】
前記ブロック生成時間を動的に調整するステップが、
前記指定時間期間に対応する処理されたデータの前記量が漸進的に低減し、かつ処理されたデータの最小量が、前記指定の第1のしきい値未満である場合、前記ブロック生成時間を、指定の第1の持続期間だけ延長するステップ
を含む、請求項3に記載の方法。
【請求項６】
前記ブロック生成時間が基準時間に等しく、かつ連続するm個の指定時間期間内に生成されたサービスデータの量が、処理されるデータの基準量よりも多い場合、前記一指定時間期間内に前記コンセンサスによって処理されるサービスデータの前記量を調整するステップであって、mがn未満かつ自然数である、ステップ(206)
をさらに含む、請求項3に記載の方法。
【請求項７】
前記決定されたブロック生成時間が基準時間に等しく、かつ連続するm個の指定時間期間内に生成されたサービスデータの量が、処理されるデータの調整された量未満である場合、前記一指定時間期間内に前記コンセンサスによって処理されるサービスデータの前記量を調整するステップ(208)をさらに含み、mがn未満かつ自然数である、
請求項3に記載の方法。
【請求項８】
処理されるデータの前記調整された量に基づいて、サービスデータを(m+1)番目の指定時間期間内に前記コンセンサスによって処理するステップ(210)
をさらに含む、請求項6または7に記載の方法。
【請求項９】
前記コンセンサスによって処理された前記サービスデータを、前記新たなブロック上に格納するステップをさらに含む、請求項1から8のいずれか一項に記載の方法。
【請求項１０】
ブロックチェーンベースのデータを処理するためのデバイスであって、1つまたは複数のソフトウェアおよび/またはハードウェア内に実装された複数のユニットを具備し、請求項1から9のいずれか一項に記載の方法を実施するように構成された、デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、参照によりその全体がここに組み込まれている、2017年7月14日に出願した中国特許出願第201710575008.4号の優先権を主張するものである。
【０００２】
本出願は、インターネット情報処理技術分野およびコンピュータ技術分野に関し、詳細には、ブロックチェーンベースのデータ処理の方法およびデバイスに関する。
【背景技術】
【０００３】
ブロックチェーン技術は、分散型台帳技術とも呼ばれ、分散化、透明性、耐タンパー性、信用などを特徴とする、分散型インターネットデータベース技術である。ブロックチェーンネットワークは、ブロックチェーン技術に基づいて構築することができる。ブロックチェーンネットワーク内の論理データ構造として、ブロックを使用してサービスデータを格納することができるが、ブロックチェーンネットワーク内のブロックは動的に生成される。
【０００４】
実際の利用の間、ブロックは通常、指定の時間間隔に基づいて生成される(例えば、1つのブロックが、10分またはさらに長い時間ごとに生成される)。ブロックは、指定の時間間隔内に生成されたサービスデータを格納する。
【０００５】
しかし、科学技術の発展に伴い、サービスデータの量が変化しつつあり、データ量は変動することがある。したがって、既存のブロック生成メカニズムに基づいてサービスの必要性とシステムリソース消費との間のバランスを達成することはできない。
【発明の概要】
【課題を解決するための手段】
【０００６】
本出願の実装形態は、サービスの必要性とシステムリソース消費との間のバランスを達成するための、ブロックチェーンベースのデータ処理の方法およびデバイスを提供する。
【０００７】
本出願の実装形態では、以下の技術的解決策が使用される。
【０００８】
本出願の一実装形態は、次の、一指定時間期間内にコンセンサスによって処理されるサービスデータの量を監視することと、処理されたデータの量に基づいて、ブロック生成時間を動的に調整することと、調整された時間に基づいて、新たなブロックを生成することとを含む、ブロックチェーンベースのデータ処理方法を提供する。
【０００９】
本出願の一実装形態は、次の、一指定時間期間内にコンセンサスによって処理されるサービスデータの量を監視することを行うように構成された、監視ユニットと、処理されたデータの量に基づいて、ブロック生成時間を動的に調整することを行うように構成された、調整ユニットと、調整された時間に基づいて、新たなブロックを生成することを行うように構成された、処理ユニットとを含む、ブロックチェーンベースのデータ処理デバイスをさらに提供する。
【００１０】
本出願の一実装形態は、少なくとも1つのメモリと、少なくとも1つのプロセッサとを含み、メモリがプログラムを記憶し、プロセッサのうちの少なくとも1つが、次の、一指定時間期間内にコンセンサスによって処理されるサービスデータの量を監視するステップと、処理されたデータの量に基づいて、ブロック生成時間を動的に調整するステップと、調整された時間に基づいて、新たなブロックを生成するステップとを実施するように構成された、ブロックチェーンベースのデータ処理デバイスをさらに提供する。
【００１１】
本出願の実装形態において使用される技術的解決策のうちの少なくとも1つを使用して、以下の有益な効果を達成することができる。
【００１２】
本出願の実装形態では、一指定時間期間内にコンセンサスによって処理されるサービスデータの量が監視される。処理されたデータの量に基づいて、ブロック生成時間が動的に調整され、調整された時間に基づいて、新たなブロックが生成される。したがって、ブロック生成速度がサービスデータの変動にマッチすることが可能であり、そのことが、サービスの必要性を満足させ、またサービスデータがコンセンサスによって処理されるときのシステムリソース利用を確実なものにし、そのため、システムリソース利用の変動がない。したがって、サービスの必要性とシステムリソース消費との間のバランスが効果的に達成される。
【００１３】
ここで説明する添付の図面は、本出願のさらなる理解を提供することが意図されており、本出願の一部をなす。本出願の例示的実装形態、および例示的実装形態の説明は、本出願について説明することが意図されており、本出願に対する制限とはならない。
【図面の簡単な説明】
【００１４】
【図１】本出願の一実装形態によるブロックチェーンベースのデータ処理方法を示す、概略フローチャートである。
【図２】本出願の一実装形態によるブロックチェーンベースのデータ処理方法を示す、概略フローチャートである。
【図３】本出願の一実装形態によるブロックチェーンベースのデータ処理方法を示す、概略フローチャートである。
【図４】本出願の一実装形態によるブロックチェーンベースのデータ処理デバイスを示す、概略構造図である。
【図５】本出願の一実装形態によるブロックチェーンベースのデータ処理デバイスを示す、概略構造図である。
【図６】本開示の一実装形態によるブロックチェーンベースのデータ処理のためのコンピュータ実装方法の一例を示す、フローチャートである。
【発明を実施するための形態】
【００１５】
既存のブロック生成メカニズムに基づくと、サービスデータ生成速度がブロック生成速度よりもはるかに大きい場合、大量のサービスデータが累積し、サービスデータ処理効率が下がる。サービスデータ生成速度がブロック生成速度よりも遅い場合、少量のサービスデータがコンセンサスによって処理されることになり、システムリソースが無駄になる(というのも、システムリソースは、1つのコンセンサスを開始するために一定して消費されるためである)。
【００１６】
本出願の目的、技術的解決策、および利点をより明確にするために、以下では、本出願の技術的解決策について、本出願の特定の実装形態に即し、対応する添付の図面を参照して、明確に説明する。明らかに、説明する実装形態は、本出願の実装形態の全てではなく、一部にすぎない。当業者によって、本出願の実装形態に基づいて、創造的な努力なしに取得される他の実装形態はいずれも、本出願の保護範囲に含まれるものとする。
【００１７】
本出願の実装形態において提供される技術的解決策については以下で、添付の図面を参照して詳細に説明する。
【００１８】
図1は、本出願の一実装形態によるブロックチェーンベースのデータ処理方法を示す、概略フローチャートである。本方法については次のように説明することができる。本出願の本実装形態は、ブロックチェーンネットワーク内のブロックチェーンノード、またはブロックチェーンノードとは無関係の別のデバイスによって、ブロック生成速度を制御するように実施することができる。
【００１９】
ステップ101:一指定時間期間内にコンセンサスによって処理されるサービスデータの量を監視する。
【００２０】
本出願の本実装形態では、1つのブロックチェーンノードを監視オブジェクトとして使用することができ、そのブロックチェーンノードによって一指定時間期間内にコンセンサスによって処理されるサービスデータの量が、監視される。あるいは、複数のブロックチェーンノードを監視オブジェクトとして別々に使用することもでき、それらの異なるブロックチェーンノードによって一指定時間期間内にコンセンサスによって処理されるサービスデータの量が、別々に監視される。それについてはここでは限定されない。
【００２１】
以下の説明では、1つのブロックチェーンノードによって一指定時間期間内にコンセンサスによって処理されるサービスデータの量が、監視される。
【００２２】
本出願の本実装形態では、ブロック生成時間を調整する前に、ブロックを、指定の基準時間に基づいて生成することができる。換言すれば、基準時間が終了すると、1つの新たなブロックが生成される。したがって、サービスデータは、最終の基準時間から現在の基準時間までの期間内に生成される。
【００２３】
基準時間は、この場合、持続期間またはタイムスタンプとすることができる。それについてはここでは限定されない。
【００２４】
新たなブロックが生成された後、生成されたサービスデータがコンセンサスによって処理され、次いで、コンセンサスによって処理されたサービスデータが、新たなブロック上に格納される。
【００２５】
一指定時間期間は、ブロック生成基準時間に基づいて、または実際の必要性に基づいて決定することができる。それについてはここでは限定されない。
【００２６】
本出願の本実装形態では、少量のサービスデータが生成される場合、一指定時間期間内にコンセンサスによって処理されるサービスデータの量は、生成されたサービスデータの量と理解することができる。大量のサービスデータが生成される(1つのブロックが、生成されたサービスデータを格納するのに十分なほど大きくない)場合、一指定時間期間内にコンセンサスによって処理されるサービスデータは、コンセンサスによって実際に取得されるサービスデータの量と理解することができる。
【００２７】
一指定時間期間内にコンセンサスによって処理されるサービスデータの量が監視されるとき、ブロック生成時間を後に調整する精度を確実なものにするために、連続するn個の指定時間期間内にコンセンサスによって処理されるサービスデータの量をさらに監視することができ、ただしnは自然数である。一指定時間期間は、ブロック生成時間に基づいて決定される。
【００２８】
好ましくは、本出願の本実装形態では、処理されるサービスデータの基準量をさらに決定することができる。処理されるデータの基準量は、ブロック容量または実際の必要性に基づいて決定することができる。それについてはここでは限定されない。
【００２９】
ステップ103:処理されたデータの量に基づいて、ブロック生成時間を動的に調整する。
【００３０】
本出願の本実装形態では、処理されたデータの量が、指定の第1のしきい値未満である場合、ブロック生成時間は、指定の第1の持続期間だけ延長される。
【００３１】
処理されたデータの量が、指定の第2のしきい値よりも多い場合、ブロック生成時間は、指定の第2の持続期間だけ短縮される。
【００３２】
第1のしきい値は、この場合、処理されるデータの基準量、ブロックチェーンノードの最小サービスデータ処理能力、またはブロックチェーンノードの最大サービスデータ処理能力に基づいて決定することができる。それについてはここでは限定されない。
【００３３】
好ましくは、本出願の本実装形態では、連続するn個の指定時間期間内にコンセンサスによって処理されるサービスデータの量がステップ101において監視される場合、ブロック生成時間は、それらの指定時間期間に対応する処理されたデータの量に基づいて動的に調整される。
【００３４】
それらの指定時間期間に対応する処理されたデータの量が漸進的に増大し、かつ処理されたデータの最大量が、指定の第2のしきい値よりも多い場合、ブロック生成時間は、指定の第2の持続期間だけ短縮される。
【００３５】
それらの指定時間期間に対応する処理されたデータの量が漸進的に低減し、かつ処理されたデータの最小量が、指定の第1のしきい値未満である場合、ブロック生成時間は、指定の第1の持続期間だけ延長される。
【００３６】
第1の持続期間は、この場合、ブロック生成基準時間の整数倍とすることができる。例えば、基準時間が持続期間、例えば持続期間Tであると仮定されたい。この状況において、第1の持続期間はa*Tとすることができ、ブロック生成時間は、第1の持続期間だけ延長された後でT+a*Tであり、ただしaは正数である。第2の持続期間は、この場合、ブロック生成基準時間の分数倍とすることができる。例えば、基準時間が持続期間、例えば持続期間Tであると仮定されたい。この状況において、第2の持続期間はb*Tとすることができ、ブロック生成時間は、第2の持続期間だけ短縮された後でT・b*Tであり、ただしbは正数かつ1未満である。
【００３７】
ステップ105:調整された時間に基づいて、新たなブロックを生成する。
【００３８】
本出願の本実装形態では、新たなブロックは、調整された時間に基づいて動的に生成される。
【００３９】
調整された時間が基準時間よりも長い場合、計算の難しさが増大して、ブロック生成が減速し得る。調整された時間が基準時間よりも短い場合、計算の難しさが低減して、ブロック生成が加速し得る。
【００４０】
本出願において提供される技術的解決策では、一指定時間期間内にコンセンサスによって処理されるサービスデータの量が監視される。処理されたデータの量に基づいて、ブロック生成時間が動的に調整され、調整された時間に基づいて、新たなブロックが生成される。したがって、ブロック生成速度がサービスデータの変動にマッチすることが可能であり、そのことが、サービスの必要性を満足させ、またサービスデータがコンセンサスによって処理されるときのシステムリソース利用を確実なものにし、そのため、システムリソース利用の変動がない。したがって、サービスの必要性とシステムリソース消費との間のバランスが効果的に達成される。
【００４１】
図2は、本出願の一実装形態によるブロックチェーンベースのデータ処理方法を示す、概略フローチャートである。本方法については次のように説明することができる。ブロック生成時間が変化しないままである場合、本出願の本実装形態では、コンセンサスによって処理されるサービスデータの量を、システムリソース利用を向上させるようにさらに動的に調整し、それにより、サービスの必要性とシステムリソース消費との間のバランスを達成することができる。
【００４２】
ステップ202:連続するm個の指定時間期間内に生成されるサービスデータの量を監視する。
【００４３】
この場合、mはn未満かつ自然数である。
【００４４】
ステップ204:決定されたブロック生成時間が基準時間に等しい場合、その量が、処理されるデータの基準量よりも多いかどうかを判定し、またその量が、処理されるデータの調整された量未満であるかどうかを判定し、その量が、処理されるデータの基準量よりも多い場合、ステップ206を実施し、またはその量が、処理されるデータの調整された量未満である場合、ステップ208を実施する。
【００４５】
本出願の本実装形態では、ブロック生成時間は基準時間であるが、サービスが実行されているときにサービスデータの量が変化する、と仮定されたい。サービスデータの量が、処理されるデータの基準量未満である場合、新たなブロックが生成されるときに、生成された全てのサービスデータをコンセンサスによって処理することができる。
【００４６】
サービスデータの量が、処理されるデータの基準量よりも多い場合、ステップ206を実施する必要がある。すなわち、コンセンサスによって処理される各サービスデータの量が、システムリソース利用を確実なものにするように増大される。
【００４７】
ステップ206:連続するm個の指定時間期間内に生成されたサービスデータの量が、処理されるデータの基準量よりも多い場合、一指定時間期間内にコンセンサスによって処理されるサービスデータの量を調整し、ステップ210にスキップする。
【００４８】
本出願の本実装形態では、一指定時間期間内にコンセンサスによって処理されるサービスデータの量を調整することを、処理されるデータの量を増大させることと理解することができる。この場合、処理されるデータの量を増大させる程度は、処理されるサービスデータの基準量に基づいて決定することができる。
【００４９】
ステップ208:連続するm個の指定時間期間内に生成されたサービスデータの量が、処理されるデータの調整された量未満である場合、一指定時間期間内にコンセンサスによって処理されるサービスデータの量を調整し、ただしmはn未満かつ自然数である。
【００５０】
本出願の本実装形態では、連続するm個の指定時間期間内に生成されたサービスデータの量が、処理されるデータの調整された量未満である場合、それは、サービスデータ生成が減速しつつあるということを示唆している。この状況では、一指定時間期間内にコンセンサスによって処理されるサービスデータの量を低減させる必要がある。
【００５１】
ステップ210:処理されるデータの調整された量に基づいて、サービスデータを(m+1)番目の指定時間期間内にコンセンサスによって処理する。
【００５２】
図3は、本出願の一実装形態によるブロックチェーンベースのデータ処理方法を示す、概略フローチャートである。本方法については次のように説明することができる。
【００５３】
ステップ301:基準ブロック生成持続期間内に生成されたサービスデータを取得する。
【００５４】
ステップ303:サービスデータの量が、処理されるサービスデータの基準量未満であるかどうかを判定し、はいの場合、新たなブロックが生成されるときに、取得したサービスデータをコンセンサスによって処理するか、もしくは連続するm個の時間内にコンセンサスによって処理されたサービスデータの量が、処理されるサービスデータの基準量未満である場合、ブロック生成時間を延長し、またはいいえの場合、ステップ305を実施する。
【００５５】
ステップ305:新たなブロックが生成されるときに、取得したサービスデータから、処理されるデータの基準量に対応するサービスデータを取得し、そのサービスデータをコンセンサスによって処理する。
【００５６】
ステップ307:連続するm個の時間内にコンセンサスによって処理されたサービスデータの監視された量が、処理されるデータの基準量である場合、処理されるサービスデータの基準量を増大させ、処理されるデータの増大後の基準量を、次回コンセンサスによって処理されるサービスデータの量として使用する。
【００５７】
ステップ309:処理されるデータの増大後の基準量に基づくコンセンサス処理の(m+1)番目の時間に対応するサービスデータを取得し、取得したサービスデータをコンセンサスによって処理する。
【００５８】
ステップ302:処理されるデータの増大後の基準量が、指定の最大値に達したとき、ブロック生成時間を短縮する。
【００５９】
ステップ304:コンセンサスによって処理されるサービスデータの量を監視し、処理されたデータの量が、指定の最大値未満であるとき、ブロック生成時間を延長する。
【００６０】
ステップ306:ブロック生成時間が基準時間に達したとき、処理されるサービスデータの量を基準量に低減させる。
【００６１】
図4は、本出願の一実装形態によるブロックチェーンベースのデータ処理デバイスを示す、概略構造図である。データ処理デバイスは、監視ユニット401と、調整ユニット402と、処理ユニット403とを含む。
【００６２】
監視ユニット401は、一指定時間期間内にコンセンサスによって処理されるサービスデータの量を監視することを行うように構成される。
【００６３】
調整ユニット402は、処理されたデータの量に基づいて、ブロック生成時間を動的に調整することを行うように構成される。
【００６４】
処理ユニット403は、調整された時間に基づいて、新たなブロックを生成することを行うように構成される。
【００６５】
本出願の別の実装形態では、調整ユニット402は、処理されたデータの量が、指定の第1のしきい値未満である場合、ブロック生成時間を、指定の第1の持続期間だけ延長することを行うように、さらに構成される。あるいは、処理されたデータの量が、指定の第2のしきい値よりも多い場合、ブロック生成時間を、指定の第2の持続期間だけ短縮する。
【００６６】
本出願の別の実装形態では、監視ユニット401は、連続するn個の指定時間期間内にコンセンサスによって処理されるサービスデータの量を監視することであって、ただしnは自然数である、監視することを行うようにさらに構成される。一指定時間期間は、ブロック生成時間に基づいて決定される。
【００６７】
調整ユニット402は、それらの指定時間期間に対応する処理されたデータの量に基づいて、ブロック生成時間を動的に調整することを行うようにさらに構成される。
【００６８】
本出願の別の実装形態では、調整ユニット402は、それらの指定時間期間に対応する処理されたデータの量が漸進的に増大し、かつ処理されたデータの最大量が、指定の第2のしきい値よりも多い場合、ブロック生成時間を、指定の第2の持続期間だけ短縮することを行うようにさらに構成される。
【００６９】
本出願の別の実装形態では、調整ユニット402は、それらの指定時間期間に対応する処理されたデータの量が漸進的に低減し、かつ処理されたデータの最小量が、指定の第1のしきい値未満である場合、ブロック生成時間を、指定の第1の持続期間だけ延長することを行うようにさらに構成される。
【００７０】
本出願の別の実装形態では、調整ユニット402は、決定されたブロック生成時間が基準時間に等しく、かつ連続するm個の指定時間期間内に生成されたサービスデータの累積量が、処理されるデータの基準量よりも多い場合、一指定時間期間内にコンセンサスによって処理されるサービスデータの量を調整することを行うようにさらに構成され、ただしmはn未満かつ自然数である。
【００７１】
本出願の別の実装形態では、調整ユニット402は、決定されたブロック生成時間が基準時間に等しく、かつ連続するm個の指定時間期間内に生成されたサービスデータの累積量が、処理されるデータの調整された量未満である場合、一指定時間期間内にコンセンサスによって処理されるサービスデータの量を調整することを行うようにさらに構成され、ただしmはn未満かつ自然数である。
【００７２】
本出願の別の実装形態では、処理ユニット403が、処理されるデータの調整された量に基づいて、サービスデータを(m+1)番目の指定時間期間内にコンセンサスによって処理することを行うようにさらに構成される。
【００７３】
とりわけ、本出願の本実装形態において提供されるデータ処理デバイスは、ハードウェアまたはソフトウェアを使用して実装することができる。それについてはここでは限定されない。データ処理デバイスは、一指定時間期間内にコンセンサスによって処理されるサービスデータの量を監視し、処理されたデータの量に基づいて、ブロック生成時間を動的に調整し、調整された時間に基づいて、新たなブロックを生成する。したがって、ブロック生成速度がサービスデータの変動にマッチすることが可能であり、そのことが、サービスの必要性を満足させ、またサービスデータがコンセンサスによって処理されるときのシステムリソース利用を確実なものにし、そのため、システムリソース利用の変動がない。したがって、サービスの必要性とシステムリソース消費との間のバランスが効果的に達成される。
【００７４】
図5は、本出願の一実装形態によるブロックチェーンベースのデータ処理デバイスを示す、概略構造図である。データ処理デバイスは、少なくとも1つのメモリ501と、少なくとも1つのプロセッサ502とを含む。メモリ501はプログラムを記憶し、プロセッサ502のうちの少なくとも1つが、次の、一指定時間期間内にコンセンサスによって処理されるサービスデータの量を監視するステップと、処理されたデータの量に基づいて、ブロック生成時間を動的に調整するステップと、調整された時間に基づいて、新たなブロックを生成するステップとを実施するように構成される。
【００７５】
プロセッサの機能については、先の実装形態において記録された内容を参照することができる。詳細についてはここでは個別に説明しない。
【００７６】
1990年代には、技術の向上を、ハードウェアの向上(例えばダイオード、トランジスタ、またはスイッチなどの回路構造に関する向上)と、ソフトウェアの向上(方法手順に関する向上)との間で、明確に区別することができている。しかし、技術の発展に伴い、多くの方法プロセスの向上は、ハードウェア回路構造の直接的な向上と見なすことができる。設計者はほぼ全員が、向上された方法手順をハードウェア回路に対してプログラムして、対応するハードウェア回路構造を取得する。したがって、方法手順の向上は、ハードウェアエンティティモジュールを使用して実施することはできない、と考えることはできない。例えば、プログラマブル論理デバイス(PLD)(例えばフィールドプログラマブルゲートアレイ(FPGA))が、集積回路の一タイプである。プログラマブル論理デバイスの論理機能は、ユーザによって実行されるコンポーネントプログラミングによって決定される。設計者は、チップ製造業者に専用の集積回路チップを設計および製造するように求めることなく、自発的にプログラミングを実施して、デジタルシステムを単一のPLDに「集積する」。加えて、集積回路チップを手作業で製造するのではなく、このプログラミングはたいてい、プログラム開発中に使用されるソフトウェアコンパイラに類似した「論理コンパイラ」ソフトウェアによって実施される。コンパイル前のオリジナルコードはやはり、特定のプログラミング言語で記述され、それはハードウェア記述言語(HDL)と呼ばれており、ABEL(アドバンストブール演算式言語(Advanced Boolean Expression Language))、AHDL(Alteraハードウェア記述言語)、Confluence、CUPL(コーネル大学プログラミング言語)、HDCal、JHDL(Java(登録商標)ハードウェア記述言語)、Lava、Lola、MyHDL、PALASM、およびRHDL(Rubyハードウェア記述言語)などのような、2つ以上のタイプのHDLがある。現在、VHDL(超高速集積回路ハードウェア記述言語)およびVerilogが、最も一般に使用されている。方法手順は、前述のハードウェア記述言語を使用して論理的にプログラムされ、かつ集積回路にプログラムされるだけでよく、それによって、論理的方法プロセスを実装したハードウェア回路を容易に取得することが可能であることも、当業者なら理解するはずであろう。
【００７７】
コントローラを、任意の適切な様式で実装することができる。例えば、コントローラは、マイクロプロセッサもしくはプロセッサ、またはコンピュータ可読媒体、論理ゲート、スイッチ、特定用途向け集積回路(ASIC)、プログラマブル論理コントローラ、またはマイクロプロセッサもしくはプロセッサによって実行することのできる(ソフトウェアやファームウェアなどの)コンピュータ可読プログラムコードを格納する組込みマイクロプロセッサとすることができる。コントローラの例としては、それらに限定されないが、次のマイクロプロセッサ、ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20、およびSilicon Labs C8051F320がある。メモリコントローラも、メモリの制御論理回路の一部として実装することができる。当業者であれば、コントローラを、純粋なコンピュータ可読プログラムコードの様式で実装できること、および方法におけるステップを論理的にプログラムして、コントローラがさらに、一部の機能を論理ゲート、スイッチ、特定用途向け集積回路、プログラマブル論理コントローラ、組込みマイクロコントローラなどの形で実装できるようにすることができることも、分かっていよう。したがって、そのようなコントローラは、ハードウェアコンポーネントと見なすことができる。コントローラ内に含まれ、さまざまな機能を実装するように構成された装置も、ハードウェアコンポーネント内部の構造と見なすことができる。あるいは、さまざまな機能を実装するように構成された装置は、方法を実装するためのソフトウェアモジュールと、ハードウェアコンポーネント内部の構造の両方と見なすことさえできる。
【００７８】
先の実装形態において示したシステム、装置、モジュール、またはユニットは、コンピュータチップまたはエンティティを使用して実装することもでき、ある種の機能を備えた製品によって実装することもできる。典型的な実装デバイスが、コンピュータである。コンピュータは、例えば、パーソナルコンピュータ、ラップトップコンピュータ、セルラー電話、カメラ付き電話、インテリジェントフォン、パーソナルデジタルアシスタント、メディアプレーヤ、ナビゲーションデバイス、電子メールデバイス、ゲームコンソール、タブレットコンピュータ、ウェアラブルデバイス、またはこれらのデバイスのいずれかの組合せとすることができる。
【００７９】
説明しやすくするために、装置は、機能に基づいて装置をさまざまなユニットに分割することによって説明される。確かなことには、本出願を実装するとき、ユニットの機能は、1つまたは複数のソフトウェアおよび/またはハードウェアとして実装することができる。
【００８０】
本開示の実装形態を、方法、システム、またはコンピュータプログラム製品として提供できることを、当業者なら理解するはずであろう。したがって、本開示は、ハードウェアのみの実装形態の形を使用してもよく、ソフトウェアのみの実装形態の形を使用してもよく、ソフトウェアとハードウェアの組合せを用いた実装形態の形を使用してもよい。加えて、本開示は、コンピュータが使用可能なプログラムコードを含む、(磁気ディスク記憶装置、CD-ROM、光メモリなどを含むがそれらに限定されない)コンピュータが使用可能な1つまたは複数の記憶媒体上に実装された、コンピュータプログラム製品の形を使用することができる。
【００８１】
本開示については、本開示の実装形態による方法、デバイス(システム)、およびコンピュータプログラム製品のフローチャートおよび/またはブロック図を参照して説明されている。フローチャートおよび/またはブロック図内の各プロセスおよび/または各ブロック、ならびにフローチャートおよび/またはブロック図内のプロセスおよび/またはブロックの組合せを実装するためにコンピュータプログラム命令を使用することができることを理解されたい。これらのコンピュータプログラム命令を、汎用コンピュータ、専用コンピュータ、組込みプロセッサ、または別のプログラマブルデータ処理デバイスのプロセッサに提供して、マシンを生成することができ、したがって、コンピュータまたは別のプログラマブルデータ処理デバイスのプロセッサによって実行された命令は、フローチャート内の1つもしくは複数のプロセスにおける、かつ/またはブロック図内の1つもしくは複数のブロックにおける指定された機能を実装するための装置を生成する。
【００８２】
これらのコンピュータプログラム命令を、別法として、コンピュータ可読メモリ内に記憶することができ、それがコンピュータまたは別のプログラマブルデータ処理デバイスに、特定の様式で機能するように命令することができ、したがって、コンピュータ可読メモリ内に記憶された命令は、命令装置を含む人工物を生成する。この命令装置は、フローチャート内の1つもしくは複数のプロセスにおける、かつ/またはブロック図内の1つもしくは複数のブロックにおける指定された機能を実装する。
【００８３】
これらのコンピュータプログラム命令を、別法として、コンピュータまたは別のプログラマブルデータ処理デバイスにロードすることができ、それによって、コンピュータまたは別のプログラマブルデバイス上で一連の動作およびステップが実施され、それにより、コンピュータ実装処理が生じる。したがって、コンピュータまたは別のプログラマブルデバイス上で実行される命令は、フローチャート内の1つもしくは複数のプロセスにおける、かつ/またはブロック図内の1つもしくは複数のブロックにおける特定の機能を実施するためのステップを提供する。
【００８４】
典型的な構成では、コンピューティングデバイスは、1つまたは複数の中央処理装置(CPU)、入力/出力インターフェース、ネットワークインターフェース、およびメモリを含む。
【００８５】
メモリとしては、非永続的メモリ、ランダムアクセスメモリ(RAM)、不揮発性メモリ、および/またはコンピュータ可読媒体としての別の形、例えば読出し専用メモリ(ROM)もしくはフラッシュメモリ(フラッシュメモリ)があり得る。メモリは、コンピュータ可読媒体の一例である。
【００８６】
コンピュータ可読媒体としては、任意の方法または技術を使用して情報を記憶することのできる、永続的、非永続的、移動可能、および移動不能な媒体がある。情報は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータとすることができる。コンピュータ記憶媒体の例としては、それらに限定されないが、パラメータランダムアクセスメモリ(PRAM(登録商標))、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、別のタイプのランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、電気的消去可能プログラマブル読出し専用メモリ(EEPROM)、フラッシュメモリもしくは別のメモリ技術、コンパクトディスク読出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)もしくは別の光記憶装置、カセット、カセット磁気ディスク記憶装置もしくは別の磁気記憶デバイス、または他の任意の非伝送媒体がある。コンピュータ記憶媒体は、コンピューティングデバイスによってアクセスすることのできる情報を記憶するように構成することができる。本明細書において定めるように、コンピュータ可読媒体は、変調データ信号や搬送波などのコンピュータ可読一時的媒体(一時的媒体)を含まない。
【００８７】
とりわけ、「含む」、「具備する」という用語、またはそれらの他の任意の変形は、非排他的包含をカバーすることが意図されており、したがって、一連の要素を含むプロセス、方法、物品、またはデバイスは、それらの要素を含むのみならず、明示的に列記されていない他の要素も含み、またはそのようなプロセス、方法、物品、もしくはデバイスに固有の要素をさらに含む。それ以上の制約がないとき、別の同一のまたは等価な要素が、その要素を含むプロセス、方法、製品、またはデバイス内にあることも可能である。
【００８８】
本出願は、コンピュータによって実行されるコンピュータ実行可能命令、例えばプログラムモジュールの、一般的な文脈の中で説明することができる。一般に、プログラムモジュールは、特定のタスクを実行するかまたは特定の抽象データタイプを実装するためのルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本出願は、分散コンピューティング環境において実践することもできる。分散コンピューティング環境では、タスクは、通信ネットワークを通じて接続されるリモート処理デバイスによって実施される。分散コンピューティング環境では、プログラムモジュールは、記憶デバイスを含むローカルコンピュータ記憶媒体とリモートコンピュータ記憶媒体の両方内に位置付けることができる。
【００８９】
本明細書における実装形態についてはいずれも段階的に説明されている。実装形態における同一または類似の部分については、相互に参照することができる。各実装形態は、他の実装形態との差異に焦点を当てている。特に、システム実装形態は、方法実装形態に基本的に類似しており、したがって簡潔に説明されている。関連する部分については、方法実装形態における説明を一部参照することができる。
【００９０】
先の説明は、本出願の単なる実装形態であり、本出願を限定するように意図されてはいない。当業者なら、本出願にさまざまな修正および変更を行うことができる。本出願の趣旨および原理から逸脱することなく行われるいかなる修正、等価置換、または向上も、本出願の特許請求の範囲に記載の範囲に含まれるものとする。
【００９１】
図6は、本開示の一実装形態によるブロックチェーンベースのデータ処理のためのコンピュータ実装方法600の一例を示す、フローチャートである。提示を分かりやすくするために、続く説明は一般に、方法600について、本説明における他の図の文脈の中で説明している。しかし、方法600は、例えば任意のシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組合せによって適宜実施できることが、理解されよう。一部の実装形態では、方法600のさまざまなステップを、並列に、組み合わせて、ループをなして、または任意の順序で実行することができる。
【００９２】
602において、一指定時間期間内にブロックチェーンのコンセンサスによって処理されるサービスデータの量が監視される。一部の実装形態では、単一のブロックチェーンノードを使用して、監視を実施することができ、その場合、その単一のブロックチェーンノードによって一指定時間期間内にコンセンサスによって処理されるサービスデータの量が、監視される。あるいは、複数のブロックチェーンノードが別々に監視動作を実施することもでき、それらの異なるブロックチェーンノードによって一指定時間期間内にコンセンサスによって処理されるサービスデータの量が、別々に監視される。いくつかの場合には、ブロック生成時間を調整する前に、ブロックを、指定の基準時間に基づいて生成することができる。基準時間が終了すると、新たなブロックが生成される。サービスデータは、最終の基準時間から現在の基準時間までの期間内に生成される。いくつかの場合には、基準時間は持続期間であってよく、他の場合には、持続期間はタイムスタンプであってよい。新たなブロックが生成された後、生成されたサービスデータがコンセンサスによって処理され、次いで、コンセンサスによって処理されたサービスデータが、新たなブロック上または新たなブロック内に格納される。いくつかの場合には、一指定時間期間を、ブロック生成基準時間、現在のブロック生成時間に基づいて、または実際の必要性に基づいて決定することができる。
【００９３】
監視動作中に処理されるサービスデータの量はさまざまでよい。相対的に少量のサービスデータが生成される場合、一指定時間期間内にコンセンサスによって処理されるサービスデータの量は、生成されたサービスデータの実際の量を具備し得る。(1つのブロックが、生成されたサービスデータを格納するのに十分なほど大きくないような)大量のサービスデータが生成される場合、一指定時間期間内にコンセンサスによって実際に処理されるサービスデータは、コンセンサスによって実際に取得されるサービスデータの量を具備し得る。
【００９４】
いくつかの場合には、一指定時間期間内にコンセンサスによって処理されるサービスデータの量が、連続するn個の指定時間期間内にコンセンサスによって処理されるサービスデータの量を具備し、または表すことができ、ただしnは自然数である。そのようにすることによって、ブロック生成時間の後続の調整と関連する精度を、単一の時間期間に基づく調整を回避することによって、または経時的な傾向を観察することによって、上げることができる。602から、方法600は604に進む。
【００９５】
604において、一指定時間期間内に処理されたサービスデータの監視された量が、指定の第1のしきい値量未満であるかどうか、または一指定時間期間内に処理されたサービスデータの監視された量が、指定の第2のしきい値量を上回るかどうかについて、判定が行われる。いくつかの場合には、第1のしきい値量および第2のしきい値量は、とりわけ、処理されるデータの基準量(例えばブロック容量もしくは実際の必要性)、ブロックチェーンノードの最小サービスデータ処理能力、またはブロックチェーンノードの最大サービスデータ処理能力に基づいて、決定または特定することができる。
【００９６】
いくつかの場合には、連続するn個の指定時間期間が監視される場合、604の判定は、それらの指定時間期間に対応する処理されたデータの量、ならびに処理されたデータの量の漸進的な増大または低減に基づいてよい。
【００９７】
データの処理された量が第1のしきい値未満であると判定された場合、方法600は606に進む。そうではなく、データの処理された量が第2のしきい値よりも多いと判定された場合、方法600は608に進む。それらのどちらも生じないと判定された場合、いくつかの場合には、方法600は620に進んで、システムリソース利用技法の向上のためのさらなる調整を実施する。
【００９８】
606において、処理されたデータの量が第1のしきい値未満であるという判定に基づいて、ブロック生成時間が、指定の第1の持続期間だけ延長される。そうすることで、次のブロック生成時間の間に生成されるサービスデータの量を増大させることにより、コンセンサスによる処理と関連するシステムリソースの無駄を省くことができる。606から、方法600は610に進む。
【００９９】
608において、処理されたデータの量が第2のしきい値よりも多いという判定に基づいて、ブロック生成時間が、指定の第2の持続期間だけ短縮される。サービスデータ生成速度がブロック生成速度よりも著しく大きくなるようなところのブロック生成時間を縮小することによって、大量のサービスデータの累積を回避することにより、サービスデータ処理効率が上がる。608から、方法600は610に進む。
【０１００】
610において、調整されたブロック生成時間に基づいて、新たなブロックが生成される。いくつかの場合には、ブロック生成時間を調整する異なる方法が使用されてよい。例えば、調整された時間が基準時間よりも長い場合、計算の難しさが増大して、ブロック生成が減速し得る。調整された時間が基準時間よりも短い場合、計算の難しさが低減して、ブロック生成が加速し得る。610の後、方法600は停止することもでき、602に戻ってさらなる監視を継続することもできる。
【０１０１】
処理されたデータの監視されたものが、指定の第1のしきい値を上回り、かつ指定の第2のしきい値未満である場合のような、ブロック生成時間が変化しないままである場合、追加セットまたは代替セットの動作を実施することができる。具体的には、方法600は620に移り、そこでは、連続するm個の指定時間期間内に生成されるサービスデータの量が監視される。値mは自然数かつ(先に説明した連続するn個の指定時間期間の)n未満である。620から、方法600は622において継続する。
【０１０２】
622において、連続するm個の指定時間期間内に生成されたサービスデータ量の監視されたものが、処理されるデータの基準量よりも多いかどうか、ならびに連続するm個の指定時間期間内に生成されたサービスデータの監視された量が、処理されるデータの調整された量未満であるかどうかについて、判定が行われる。生成されたデータの監視された量が、処理されるデータの基準量よりも多いと判定された場合、方法600は624に進む。その量が、処理されるデータの調整された量未満である場合、方法600は626に進む。どちらの判定も生じない場合、方法600は停止するか、またはさらなる監視のために602もしくは620に戻る。
【０１０３】
624において、連続するm個の指定時間期間内に生成されたサービスデータが、処理されるデータの基準量よりも多いとの判定に応答して、一指定時間期間内にコンセンサスによって処理されるサービスデータの量を増大させることができる。処理されるデータの量を増大させる程度は、処理されるサービスデータの基準量に基づいて決定することができる。624から、方法600は628に進む。
【０１０４】
626において、連続するm個の指定時間期間内に生成されたサービスデータが、処理されるデータの調整された量未満であるとの判定に応答して、一指定時間期間内にコンセンサスによって処理されるサービスデータの量が低減される。低減が行われるのは、サービスデータ生成が減速しつつある可能性があると判定が示唆するときである。626から、方法600は628に進む。
【０１０５】
628において、処理されるデータの調整された量に基づいて、サービスデータが(m+1)番目の指定時間期間内にコンセンサスによって処理される。628の後、方法600は停止することもでき、602もしくは620に戻ってブロックチェーンのさらなる監視を継続することもできる。
【０１０６】
本明細書において説明するプロセスを使用して、確実に、ブロック生成速度がサービスデータの変動にマッチすることが可能であるようにすることができ、そのことが、サービスの必要性を満足させ、またサービスデータがコンセンサスによって処理されるときのシステムリソース利用を確実なものにし、それにより、システムリソース利用の変動がない。サービスの必要性とシステムリソース消費との間のバランスが効果的に達成される。さらに、コンセンサスによって処理されるサービスデータの量を動的に調整することによって、たとえブロック生成速度が変化していないときでも、システムリソース利用を向上させることができる。
【０１０７】
本明細書において説明する実施形態および動作は、デジタル電子回路として、または本明細書において開示した構造を含むコンピュータソフトウェア、コンピュータファームウェア、もしくはコンピュータハードウェアとして、またはそれらのうちの1つもしくは複数の組合せとして、実装することができる。動作は、1つもしくは複数のコンピュータ可読記憶デバイス上に記憶されたデータまたは他のソースから受領したデータに対してデータ処理装置によって実施される動作として、実装することができる。データ処理装置、コンピュータ、またはコンピューティングデバイスは、例としてプログラマブルプロセッサ、コンピュータ、システムオンチップ、または前述したもののうちの複数のものもしくは前述したものの組合せを含めて、データを処理するための装置、デバイス、およびマシンを包含してよい。装置は、専用論理回路、例えば中央処理装置(CPU)、フィールドプログラマブルゲートアレイ(FPGA)、または特定用途向け集積回路(ASIC)を含むことができる。装置は、当該のコンピュータプログラムのための実行環境を生み出すコード、例えばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム(例えば1つのオペレーティングシステムもしくはオペレーティングシステムの組合せ)、クロスプラットフォーム実行時環境、仮想マシン、またはそれらのうちの1つもしくは複数の組合せをなすコードを含むこともできる。装置および実行環境は、ウェブサービス、分散コンピューティング、およびグリッドコンピューティングのインフラストラクチャなど、さまざまな異なるコンピューティングモデルインフラストラクチャを実現することができる。
【０１０８】
(例えばプログラム、ソフトウェア、ソフトウェアアプリケーション、ソフトウェアモジュール、ソフトウェアユニット、スクリプト、またはコードとしても知られる)コンピュータプログラムは、コンパイル型言語またはインタープリタ型言語、宣言型言語または手続き型言語を含む任意の形のプログラミング言語で記述することができ、またそれは、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境において使用するのに適した他のユニットとして、を含む、任意の形でデプロイすることができる。プログラムは、他のプログラムもしくはデータを保持するファイルの一部分(例えばマークアップ言語ドキュメント内に格納された1つもしくは複数のスクリプト)内に、当該のプログラムに専用の単一ファイル内に、または複数の連係されたファイル(例えばコードの1つもしくは複数のモジュール、サブプログラム、もしくは部分を格納するファイル)内に、格納することができる。
【０１０９】
コンピュータプログラムを実行するためのプロセッサとしては、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータのいずれか1つまたは複数のプロセッサがある。一般に、プロセッサは、命令およびデータを、読出し専用メモリまたはランダムアクセスメモリまたはその両方から受領する。コンピュータの必須要素は、命令に従ってアクションを実施するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイスを含むか、またはそこからデータを受領するか、もしくはそこにデータを転送するか、もしくはその両方を行うように動作可能に結合される。コンピュータは、別のデバイス、例えばモバイルデバイス、パーソナルデジタルアシスタント(PDA)、ゲームコンソール、グローバルポジショニングシステム(GPS)レシーバ、またはポータブル記憶デバイスに組み込むことができる。コンピュータプログラム命令およびデータを記憶するのに適したデバイスとしては、例として半導体メモリデバイス、磁気ディスク、および光磁気ディスクを含む、不揮発性のメモリ、媒体、およびメモリデバイスがある。プロセッサおよびメモリは、専用論理回路によって補完するか、またはそれに組み込むことができる。
【０１１０】
モバイルデバイスとしては、ハンドセット、ユーザ機器(UE)、モバイル電話(例えばスマートフォン)、タブレット、ウェアラブルデバイス(例えばスマートウォッチおよびスマート眼鏡)、人体内埋込みデバイス(例えばバイオセンサ、人工内耳)、または他のタイプのモバイルデバイスがあり得る。モバイルデバイスは、(以下で説明する)さまざまな通信ネットワークに(例えば無線周波数(RF)信号を使用して)ワイヤレスで通信することができる。モバイルデバイスは、モバイルデバイスの現在の環境の特徴を決定するためのセンサを含むことができる。センサとしては、カメラ、マイクロフォン、近接センサ、GPSセンサ、モーションセンサ、加速度計、周辺光センサ、湿度センサ、ジャイロスコープ、コンパス、気圧計、指紋センサ、顔認識システム、RFセンサ(例えばWi-Fiおよびセルラー無線)、熱センサ、または他のタイプのセンサがあり得る。例えば、カメラとしては、可動または固定のレンズ、フラッシュ、イメージセンサ、および画像処理プロセッサを備えた前面カメラまたは背面カメラがあり得る。カメラは、顔認識および/または虹彩認識に関する詳細情報を捕捉することの可能なメガピクセルカメラとすることができる。カメラおよびデータプロセッサと、メモリ内に記憶されているかまたはリモートからアクセスされる認証情報とが、顔認識システムを形成することができる。顔認識システム、または1つもしくは複数のセンサ、例えばマイクロフォン、モーションセンサ、加速度計、GPSセンサ、もしくはRFセンサは、ユーザ認証に使用することができる。
【０１１１】
ユーザとの対話を可能にするために、実施形態は、ディスプレイデバイスおよび入力デバイスを有する、例えばユーザに情報を表示するための液晶ディスプレイ(LCD)または有機発光ダイオード(OLED)/仮想現実(VR)/拡張現実(AR)ディスプレイ、ならびにユーザがそれによってコンピュータに入力を行うことのできるタッチスクリーン、キーボード、およびポインティングデバイスを有するコンピュータ上に、実装することができる。他の種類のデバイスを使用して、ユーザとの対話を可能にすることもでき、例えば、ユーザに提供されるフィードバックは、任意の形の感覚フィードバック、例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形で受領することができる。加えて、コンピュータはユーザと、ドキュメントをユーザによって使用されているデバイスに送り、そこからドキュメントを受領することによって、例えば、ウェブページをユーザのクライアントデバイス上のウェブブラウザに、そのウェブブラウザから受領した要求に応答して送ることによって、対話することができる。
【０１１２】
実施形態は、任意の形または媒体の有線デジタルデータ通信またはワイヤレスデジタルデータ通信(またはそれらの組合せ)、例えば通信ネットワークによって相互接続された、コンピューティングデバイスを使用して実装することができる。相互接続されたデバイスの例が、一般に互いに遠隔にあるクライアントおよびサーバであり、それらは典型的には通信ネットワークを通じて対話する。クライアント、例えばモバイルデバイスは、取引自体をサーバと、またはサーバを通じて、例えば買い取引、売り取引、支払取引、寄付取引、送金取引、または貸借取引を実施するか、またはそれを認可して、遂行することができる。そのような取引は、アクションと応答とが時間的に近接するように、リアルタイムであってよく、例えば、個人はアクションと応答とがほぼ同時に生じると感じ、個人のアクションに続く応答の時間差は1ミリ秒(ms)未満もしくは1秒(s)未満であり、または応答には、システムの処理限界を考慮した上で、意図的な遅延がない。
【０１１３】
通信ネットワークの例としては、ローカルエリアネットワーク(LAN)、無線アクセスネットワーク(RAN)、メトロポリタンエリアネットワーク(MAN)、および広域ネットワーク(WAN)がある。通信ネットワークとしては、インターネットの全体もしくは一部、別の通信ネットワーク、または通信ネットワークの組合せがあり得る。情報は、通信ネットワーク上で、ロングタームエボリューション(LTE)、5G、IEEE 802、インターネットプロトコル(IP)、または他のプロトコルもしくはプロトコルの組合せを含むさまざまなプロトコルおよび標準規格に従って伝送することができる。通信ネットワークは、ボイスデータ、ビデオデータ、バイオメトリックデータ、もしくは認証データ、または他の情報を、接続されたコンピューティングデバイス間で伝送することができる。
【０１１４】
別々の実装形態として説明された特徴が、組み合わせて、単一の実装形態として実装されてもよく、一方、単一の実装形態として説明された特徴が、複数の実装形態として別々に、または任意の適切な部分組合せとして実装されてもよい。動作が特定の順序で説明および特許請求されている場合、それは、その特定の順序を要求するものと理解すべきではなく、示された全ての動作が実施されなければならないことを要求するものと理解すべきでもない(一部の動作はオプションとすることができる)。適宜、マルチタスキングまたは並列処理(またはマルチタスキングと並列処理の組合せ)を実施することができる。
【符号の説明】
【０１１５】
401  監視ユニット
402  調整ユニット
403  処理ユニット
501  メモリ
502  プロセッサ
600  コンピュータ実装方法
【図１】
0006719795.tif 000002
【図２】
0006719795.tif 000003
【図３】
0006719795.tif 000004
【図４】
0006719795.tif 000005
【図５】
0006719795.tif 000006
【図６】
0006719795.tif 000007