JP6859510B2 - メッセージをブロードキャストするための方法およびデバイス - Google Patents

メッセージをブロードキャストするための方法およびデバイス Download PDF

Info

Publication number
JP6859510B2
JP6859510B2 JP2019528064A JP2019528064A JP6859510B2 JP 6859510 B2 JP6859510 B2 JP 6859510B2 JP 2019528064 A JP2019528064 A JP 2019528064A JP 2019528064 A JP2019528064 A JP 2019528064A JP 6859510 B2 JP6859510 B2 JP 6859510B2
Authority
JP
Japan
Prior art keywords
message
processing device
consensus node
message processing
thread
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019528064A
Other languages
English (en)
Other versions
JP2020504928A (ja
JP2020504928A5 (ja
Inventor
ニン・リ
Original Assignee
アドバンスド ニュー テクノロジーズ カンパニー リミテッド
アドバンスド ニュー テクノロジーズ カンパニー リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アドバンスド ニュー テクノロジーズ カンパニー リミテッド, アドバンスド ニュー テクノロジーズ カンパニー リミテッド filed Critical アドバンスド ニュー テクノロジーズ カンパニー リミテッド
Publication of JP2020504928A publication Critical patent/JP2020504928A/ja
Publication of JP2020504928A5 publication Critical patent/JP2020504928A5/ja
Application granted granted Critical
Publication of JP6859510B2 publication Critical patent/JP6859510B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1854Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1868Measures taken after transmission, e.g. acknowledgments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • G06F16/1837Management specially adapted to peer-to-peer storage networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本出願は、ブロックチェーン技術の分野に関し、特に、メッセージをブロードキャストするための方法およびデバイスに関する。
ブロックチェーン技術の分野では、サービスに対するコンセンサス検証を行う役割を果たすブロックチェーンノードが、コンセンサスノードと呼ばれる。ブロックチェーンのグローバル化の傾向にある中、コンセンサスノードは多くの場合、世界中に分布している。
各コンセンサスノードは、通例、サービスハンドリングフェーズ、コンセンサス検証フェーズ、および他のフェーズにおいてコンセンサスノードにメッセージ(例えば、サービスメッセージまたはコンセンサスメッセージ)をブロードキャストする必要がある。グローバル化した異種ネットワークは、メッセージ送信プロセスにおいて不安定性を引き起こす可能性があり、例えば、中国のネットワークおよびアメリカのネットワークは異種ネットワークであり、アメリカのネットワークにおけるコンセンサスノードは、中国のネットワークにおけるコンセンサスノードによってブロードキャストされるメッセージの受信に失敗する場合がある。したがって、他の各コンセンサスノードが比較的高い成功率でメッセージを受信することを確実にするために、メッセージをブロードキャストするコンセンサスノードは、通例、他の各コンセンサスノードのために1つのスレッドを作成し、このスレッドを用いることによって、メッセージを別のコンセンサスノードに送信するタスクを実行する。
特に、スレッドを用いることによってメッセージを別のコンセンサスノードに送信した後、メッセージをブロードキャストするコンセンサスノードは、この別のコンセンサスノードによって返される通知(この別のコンセンサスノードがメッセージを受信したことを知らせる)の受信を待機する。スレッドを用いることによって指定の時間内に通知を受信しない場合、メッセージをブロードキャストするコンセンサスノードが通知を受信するまで、メッセージをブロードキャストするコンセンサスノードは、スレッドを用いることによって、この別のコンセンサスノードにメッセージを再び送信する。代替的に、メッセージをブロードキャストするコンセンサスノードが、メッセージを複数回送信した後、スレッドを用いることによって通知を依然として受信しない場合、メッセージをブロードキャストするコンセンサスノードはスレッドをキャンセルする。したがって、別のコンセンサスノードが比較的高い成功率でメッセージを受信することを確実にすることができる。
しかしながら、実際に、メッセージをブロードキャストするコンセンサスノードによって作成されるスレッドを用いることによって、別のコンセンサスノードにメッセージを送信するタスクを実行するとき、メッセージをブロードキャストするコンセンサスノードは、通例、メッセージを複数回繰り返して送信する必要がある。これにより、メッセージをブロードキャストするコンセンサスノードの多数のコンピューティングリソースが消費され、メッセージをブロードキャストするコンセンサスノードに対する過度の負担が生じる。
本出願の実施形態は、メッセージをブロードキャストするための既存の方法により、メッセージをブロードキャストするコンセンサスノードに対する過度の負担が生じる問題を回避するために、メッセージをブロードキャストするための方法およびデバイスを提供する。
上記の技術的問題を回避するために、本出願の実施形態は、以下のように実施される。
本出願の実施形態は、メッセージをブロードキャストするための方法であって、ブロックチェーンネットワークのコンセンサスノードによって、第1のブロードキャストメッセージを得るステップと、コンセンサスノードに対応するメッセージ処理デバイスのための第1のスレッドを作成するステップと、第1のスレッドを用いることによって、第1のブロードキャストメッセージをメッセージ処理デバイスに送信するステップであって、メッセージ処理デバイスは、別のコンセンサスノードに対応するメッセージ処理デバイスに第1のブロードキャストメッセージを送信する、ステップと、第1のスレッドをキャンセルするステップとを含む、方法を提供する。
本出願の実施形態は、メッセージをブロードキャストするための別の方法であって、メッセージ処理デバイスによって、メッセージ処理デバイスに対応するコンセンサスノードによって送信される第1のブロードキャストメッセージを受信するステップと、他の各コンセンサスノードに対応するメッセージ処理デバイスのための第2のスレッドを作成するステップと、第2のスレッドを用いることによって、別のコンセンサスノードに対応するメッセージ処理デバイスに第1のブロードキャストメッセージを送信するステップと、別のコンセンサスノードに対応するメッセージ処理デバイスが第1のブロードキャストメッセージを受信するとの判断に応答して、第2のスレッドをキャンセルするステップとを含む、方法を提供する。
本出願の実施形態は、メッセージをブロードキャストするためのデバイスであって、第1のブロードキャストメッセージを得るように構成された取得モジュールと、送信モジュールであって、デバイスに対応するメッセージ処理デバイスのための第1のスレッドを作成し、第1のスレッドを用いることによって、第1のブロードキャストメッセージをメッセージ処理デバイスに送信するように構成され、メッセージ処理デバイスは、別のコンセンサスノードに対応するメッセージ処理デバイスに第1のブロードキャストメッセージを送信する、送信モジュールと、第1のスレッドをキャンセルするように構成されたキャンセルモジュールとを備える、デバイスを提供する。
本出願の実施形態は、メッセージをブロードキャストするための別のデバイスであって、デバイスに対応するコンセンサスノードによって送信される第1のブロードキャストメッセージを受信するように構成された第1の受信モジュールと、送信モジュールであって、他の各コンセンサスノードに対応するメッセージ処理デバイスのための第2のスレッドを作成し、第2のスレッドを用いることによって、第1のブロードキャストメッセージを別のコンセンサスノードに対応するメッセージ処理デバイスに送信するように構成された送信モジュールと、別のコンセンサスノードに対応するメッセージ処理デバイスが第1のブロードキャストメッセージを受信するとの判断に応答して、第2のスレッドをキャンセルするように構成されたキャンセルモジュールとを備える、デバイスを提供する。
本出願の実施形態において提供される上記の技術的解決策から、本出願の実施形態において、1つのメッセージ処理デバイスが各コンセンサスノードに配分され、コンセンサスノード間でメッセージをブロードキャストする機能が、実施のためにメッセージ処理デバイスにハンドオーバーされることがわかる。特定のコンセンサスノードのために、そのコンセンサスノードに対応するメッセージ処理デバイスは、別のコンセンサスノードに対応するメッセージ処理デバイスがブロードキャストメッセージを受信するまで、この別のコンセンサスノードに対応するメッセージ処理デバイスがメッセージブロードキャスティングタスクを実行するためのスレッドを作成することができる。したがって、メッセージブロードキャスティングタスクを実行するためのスレッドは、コンセンサスノードのリソースを消費することなく、メッセージ処理デバイスのコンピューティングリソースのみを消費する。したがって、コンセンサスノードに対する負荷は生じず、それによって、コンセンサスノードは、サービスに対するコンセンサス検証をより効率的に行うことができる。
本出願の実施形態または既存の技術における技術的解決策をより明確に説明するために、以下は、実施形態または既存の技術を説明するのに必要な添付の図面について簡潔に説明する。明らかに、以下の説明における添付の図面は、本出願のいくつかの実施形態を示すものに過ぎず、当業者は、依然として、創造的取り組みなしでこれらの添付の図面から他の図面を導出することができる。
本出願の実施形態による、メッセージをブロードキャストするための方法を示すフローチャートである。 メッセージをブロードキャストするための既存の方法を、本出願において提供されるメッセージをブロードキャストするための方法と比較する例を示す概略図である。 本出願の実施形態による、メッセージをブロードキャストするためのデバイスを示す概略図である。 本出願の実施形態による、メッセージをブロードキャストするための別のデバイスを示す概略図である。
本出願の実施形態は、メッセージをブロードキャストするための方法およびデバイスを提供する。
当業者に本出願における技術的解決策をより良好に理解してもらうために、以下において、本出願の実施形態における添付の図面を参照して、本出願の実施形態における技術的解決策を明確にかつ包括的に説明する。明らかに、説明される実施形態は、本出願の実施形態のうちのいくつかに過ぎず、全てではない。本出願の実施形態に基づいて当業者によって創造的取り組みなしで得られる全ての他の実施形態は、本出願の保護範囲内にある。
本出願の実施形態において提供される技術的解決策は、添付の図面を参照して以下に詳細に説明される。
図1は、本出願の実施形態による、メッセージをブロードキャストするための方法を示すフローチャートである。メッセージをブロードキャストするための方法は、以下のステップを含む。
S101.コンセンサスノードが、第1のブロードキャストメッセージを得る。
本出願のこの実施形態において、コンセンサスノードは、ブロックチェーンネットワークにおけるサービスに対するコンセンサス検証に参加するブロックチェーンノードである。典型的なブロックチェーンネットワークにおいて、全てのブロックチェーンノードは、コンセンサスノードとしてコンセンサス検証に参加することができる。しかしながら、特殊なブロックチェーンネットワーク(例えば、コンソーシアムチェーンサブネットワークおよびパブリックチェーンサブネットワークを含むブロックチェーンネットワーク)では、全てのブロックチェーンノードがコンセンサスノードとしてコンセンサス検証に参加することができるわけではない。
サービスハンドリングフェーズ、コンセンサス検証フェーズおよび他のフェーズにおいて、コンセンサスノードが互いにメッセージをブロードキャストまたは送信する必要があることが本出願の実施形態の適用シナリオである。
サービスハンドリングフェーズは、特定のコンセンサスノードがサービスメッセージを受信し、このサービスメッセージを他のコンセンサスノードにブロードキャストし、全てのコンセンサスノードがサービスメッセージを受信するようにすることを意味する。これにより、サービスメッセージに対する後続のコンセンサス検証が容易になる。コンセンサス検証フェーズは、全てのコンセンサスノードが特定のコンセンサスアルゴリズムに準拠して、検証結果に対するコンセンサスに達するフェーズである。コンセンサス検証フェーズでは、全てのコンセンサスノードが互いに検証メッセージを送信してコンセンサスに達する必要がある。
本出願のこの実施形態において、第1のブロードキャストメッセージはサービスメッセージ、検証メッセージ、または特定のコンセンサスノードによって別のコンセンサスノードにブロードキャストまたは送信されるメッセージとすることができる。
本方法は任意のコンセンサスノードによって実行可能であることに留意することが有意義である。サービス処理フェーズにおいて、コンセンサスノードは、クライアントまたは非コンセンサスノードによって送信されたサービスメッセージを受信し、このサービスメッセージを、得られた第1のブロードキャストメッセージとして用いることができる。コンセンサス検証フェーズにおいて、コンセンサスノードは、サービスメッセージを検証した後に検証メッセージを生成し、この検証メッセージを、得られた第1のブロードキャストメッセージとして用いることができる。
S102.コンセンサスノードは、コンセンサスノードに対応するメッセージ処理デバイスのための第1のスレッドを作成し、第1のスレッドを用いることによって、第1のブロードキャストメッセージをメッセージ処理デバイスに送信する。
S103.コンセンサスノードは第1のスレッドをキャンセルする。
本出願のこの実施形態において、コンセンサスノードは、第1のブロードキャストメッセージを、このコンセンサスノードに対応するメッセージ処理デバイスに送信し、第1のブロードキャストメッセージをブロードキャストまたは送信するタスクを、処理のためにこのコンセンサスノードに対応するメッセージ処理デバイスに完全にハンドオーバーすることができ、それによって、メッセージ処理デバイスが、別のコンセンサスノードのメッセージ処理デバイスが第1のブロードキャストメッセージの受信に成功することを確実にする。したがって、コンセンサスノードは、全ての他のコンセンサスノードが第1のブロードキャストメッセージを受信することを確実にするためにコンピューティングリソースを可能な限り多く消費する必要がない。
図2は、メッセージをブロードキャストするための既存の方法を、本出願において提供されるメッセージをブロードキャストするための方法と比較する例を示す概略図である。図2に示すように、コンセンサスノードに対応するメッセージ処理デバイスは、コンセンサスノードから独立したコンピューティングデバイスである。コンセンサスノード間のメッセージ交換は、コンセンサスノードに対応するメッセージ処理デバイスによってそれぞれ実行される。
すなわち、コンセンサスノードは、このコンセンサスノードに対応するメッセージ処理デバイスのための第1のスレッドを作成することしか必要でなく、第1のスレッドを用いることによってコンセンサスノードに対応するメッセージ処理デバイスに第1のブロードキャストメッセージを送信した後、第1のスレッドを継続して維持するためにコンピューティングリソースを消費することなく、第1のスレッドをキャンセルすることができる。
第1のスレッドは、コンセンサスノードに対応するメッセージ処理デバイスのためにコンセンサスノードによって作成されるスレッドであり、以下に説明される第2のスレッドは、メッセージ処理デバイスによって、別のコンセンサスノードに対応するメッセージ処理デバイスのために作成されるスレッドである。
実際に、コンセンサスノードは、非同期呼技術を用いて、コンセンサスノードに対応するメッセージ処理デバイスに第1のブロードキャストメッセージを送信するのに用いられる第1のスレッドを作成する。第1のスレッドを用いることによって第1のブロードキャストメッセージを送信した後、コンセンサスノードは、メッセージ処理デバイスが第1のブロードキャストメッセージを受信するか否かを配慮することなく第1のスレッドを直接キャンセルすることができる。
コンセンサスノードおよびこのコンセンサスノードに対応するメッセージ処理デバイスは、通例、異種ネットワーク内で分散していないことに留意することが有意義である。すなわち、コンセンサスノードと、このコンセンサスノードに対応するメッセージ処理デバイスとの間の情報交換は安定している。したがって、メッセージ処理デバイスは、通例、このメッセージ処理デバイスに対応するコンセンサスノードによって送信されるメッセージを1回で受信することに成功することができる。
更に、第1のブロードキャストメッセージが、第1のブロードキャストメッセージをコンセンサスノードから対応するメッセージデバイスに送信するプロセスにおいて失われないことを完全に確実にするために、地域専用線を用いて、コンセンサスノードを、このコンセンサスノードに対応するメッセージ処理デバイスに接続し、コンセンサスノードと、このコンセンサスノードに対応するメッセージ処理デバイスとの間に存在し得るネットワーク妨害を可能な限り回避することができる。
コンセンサスノードに対応するメッセージ処理デバイスに、メッセージをブロードキャストするように命令することに加えて、コンセンサスノードは、このコンセンサスノードに対応するメッセージ処理デバイスを用いることによって、別のコンセンサスノードによってブロードキャストされるメッセージを更に受信することができる。
特に、コンセンサスノードは、このコンセンサスノードに対応するメッセージ処理デバイスによって送信される第2のブロードキャストメッセージを受信することができる。第2のブロードキャストメッセージは、別のコンセンサスノードに対応するメッセージ処理デバイスによってブロードキャストされる。メッセージ処理デバイスは、別のコンセンサスノードに対応するメッセージ処理デバイスによってブロードキャストされる第2のブロードキャストメッセージを受信し、次に、第2のブロードキャストメッセージをコンセンサスノードに送信することができる。
第1のブロードキャストメッセージおよび第2のブロードキャストメッセージの双方が、コンセンサスノードによってブロードキャストされるブロードキャストメッセージであり、第1のブロードキャストメッセージおよび第2のブロードキャストメッセージの双方が、サービスメッセージ、検証メッセージ等であり得ることに留意することが有意義である。
S104.メッセージ処理デバイスは、他の各コンセンサスノードに対応するメッセージ処理デバイスのための第2のスレッドを作成し、第2のスレッドを用いることによって、第1のブロードキャストメッセージを、別のコンセンサスノードに対応するメッセージ処理デバイスに送信する。
S105.メッセージ処理デバイスが、別のコンセンサスノードに対応するメッセージ処理デバイスが第1のブロードキャストメッセージを受信するとの判断に応じて、第2のスレッドをキャンセルする。
既存の技術において、コンセンサスノードは、メッセージのブロードキャストを担当する。コンセンサスノードは、このコンセンサスノードのコンピューティングリソースを占有するスレッドを作成し、このスレッドを用いて、このコンセンサスノードによってブロードキャストされたメッセージを全ての他のコンセンサスノードが受信することを可能な限り確実にする。
本出願のこの実施形態では、コンセンサスノードは、このコンセンサスノードに対応するメッセージ処理デバイスに第1のブロードキャストメッセージを送信することしか必要でない。コンセンサスノードと独立したコンピューティングデバイスとして、メッセージ処理デバイスは、メッセージのブロードキャストを独立して担当することができる。したがって、コンセンサスノードは解放され、それによって、コンセンサスノードは、限られたコンピューティングリソースを、コンセンサス検証機能をより効率的に行うことに集中させることができる。
本出願のこの実施形態では、メッセージ処理デバイスは、他の各コンセンサスノードに対応するメッセージ処理デバイスのための第2のスレッドを作成し、メッセージ処理デバイスのコンピューティングリソースを消費するこの第2のスレッドを用いて、他の各コンセンサスノードに対応するメッセージ処理デバイスが第1のブロードキャストメッセージの受信に成功することの確認を待機する。
特に、メッセージ処理デバイスは、他の各コンセンサスノードに対応するメッセージ処理デバイスのために作成された第2のスレッドを用いることによって、他の各コンセンサスノードに対応するメッセージ処理デバイスに第1のブロードキャストメッセージを送信し、受信した応答信号の数をカウントし、ここで、応答信号は、別のコンセンサスノードに対応するメッセージ処理デバイスによって、第1のブロードキャストメッセージの受信後に返され、受信した応答信号のカウント数が特定値以上になるまで、カウント数が特定値よりも小さいとの判断に応答して、各第2のスレッドを用いることによって第1のブロードキャストメッセージを再送する。ここで、特定値は、0よりも大きい整数である。特定値は構成可能である。より高い特定値は、より多くのコンセンサスノードが第1のブロードキャストメッセージを受信すること、したがってコンセンサスノードがより高い成功率でメッセージをブロードキャストすることを確実にすることができる。特定値は、本出願では具体的に限定されない。
更に、カウント数が特定値未満である場合、メッセージ処理デバイスは、前回カウントされた受信応答信号の総数が特定値以上になるまで、応答信号を返さないメッセージ処理デバイスに対応する第2のスレッドを用いて、応答信号を返さないメッセージ処理デバイスへの第1のブロードキャストメッセージの送信を継続することができる。代替的に、メッセージ処理デバイスは、次回カウントされる受信応答信号の数が特定値以上になるまで、全ての第2のスレッドを用いることによって全ての他のメッセージ処理デバイスに第1のブロードキャストメッセージを再び送信してもよい。
更に、メッセージ処理デバイスが第2のスレッドを用いることによって指定の回数にわたって別の特定のメッセージ処理デバイスに第1のブロードキャストメッセージを送信した後、メッセージ処理デバイスが、第2のスレッドを用いることによって、別のメッセージ処理デバイスによって返された応答信号を依然として受信しない場合、メッセージ処理デバイスは、別のメッセージ処理デバイスへの第1のブロードキャストメッセージの送信を停止することができる。指定された期間の後、メッセージ処理デバイスは、別のメッセージ処理デバイスへの第1のブロードキャストメッセージの送信を継続する。
例えば、メッセージ処理デバイスは、まず、第1のブロードキャストメッセージを他のメッセージ処理デバイスにブロードキャストすることができ、次に、応答信号を返さない別のメッセージ処理デバイス(すなわち、第1のブロードキャストメッセージの受信に失敗したメッセージ処理デバイス)を特定し、次に、第1のブロードキャストメッセージの受信に失敗したメッセージ処理デバイスに第1のブロードキャストメッセージを再送することができる。これらの動作は繰り返される。メッセージ処理デバイスは、第1のブロードキャストメッセージを同じ別のメッセージ処理デバイスに3回繰り返し送信した後、解決されるべき一時的送信問題があることを示す(この問題は、第1のブロードキャストメッセージの受信に失敗したメッセージ処理デバイスの故障に起因して、または大きなネットワーク障害に起因して生じ得る)。したがって、メッセージ処理デバイスは、まず、別のメッセージ処理デバイスへの第1のブロードキャストメッセージの送信を停止し、次に、(送信問題が解決された場合がある)長い時間待機した後、別のメッセージ処理デバイスへの第1のブロードキャストメッセージの送信を継続する。
本出願のこの実施形態では、メッセージ処理デバイスは、他の各コンセンサスノードに対応するメッセージ処理デバイスが第1のブロードキャストメッセージを受信することを確実にした後にのみ第2のスレッドをキャンセルする。メッセージ処理デバイスが、他の各コンセンサスノードに対応するメッセージ処理デバイスが第1のブロードキャストメッセージを受信することを確実にするために、遅延送達および補償送達(メッセージを受信するのに失敗した対象が、メッセージの補償を能動的に要求する)等の様々なメッセージ送達ポリシを使用可能であることに留意することが有意義である。メッセージ処理デバイスによって用いられるメッセージ送達ポリシは、本出願では具体的に限定されない。
上記の説明から、メッセージ処理デバイスは、実際に、他の各コンセンサスノードに対応するメッセージ処理デバイスのために、他の各コンセンサスノードに対応するメッセージ処理デバイスに第1のブロードキャストメッセージを送信するのに用いられる1つの第2のスレッドを作成するための同期呼技術を用いることがわかる。第2のスレッドを用いることによって第1のブロードキャストメッセージを送信した後、メッセージ処理デバイスは、依然として、第2のスレッドを用いて、他の各コンセンサスノードに対応するメッセージ処理デバイスが第1のブロードキャストメッセージを受信することの確認を待機する。他の各コンセンサスノードに対応するメッセージ処理デバイスが第1のブロードキャストメッセージを受信するのに失敗した場合、メッセージ処理デバイスは、第2のスレッドを用いることによって、他の各コンセンサスノードに対応するメッセージ処理デバイスに第1のブロードキャストメッセージを再送する。第2のスレッドは、他の各コンセンサスノードに対応するメッセージ処理デバイスが、第1のブロードキャストメッセージを確実に受信するまで、または送信停止条件がトリガされるまでの場合にだけ、キャンセルされる。
S106.別のコンセンサスノードに対応するメッセージ処理デバイスは、対応する別のコンセンサスノードに第1のブロードキャストメッセージを送信する。
上記で説明したように、別のコンセンサスノードは、別のコンセンサスノードに対応するメッセージ処理デバイスを用いることによって、別のコンセンサスノードによってブロードキャストされたメッセージを受信することができる。
図1に示すメッセージをブロードキャストするための方法によれば、1つのメッセージ処理デバイスが各コンセンサスノードに配分され、コンセンサスノード間でメッセージをブロードキャストする機能が、実施のためにメッセージ処理デバイスにハンドオーバーされる。特定のコンセンサスノードについて、コンセンサスノードに対応するメッセージ処理デバイスは、他の各コンセンサスノードに対応するメッセージ処理デバイスが、別のコンセンサスノードに対応するメッセージ処理デバイスがブロードキャストを受信するまでメッセージブロードキャスティングタスクを実行するためのスレッドを作成することができる。したがって、メッセージブロードキャスティングタスクを実行するためのスレッドは、コンセンサスノードのリソースを消費することなく、メッセージ処理デバイスのコンピューティングリソースのみを消費する。したがって、コンセンサスノードに対し負担が生じず、それによって、コンセンサスノードは、サービスに対するコンセンサス検証をより効率的に行うことができる。
図1に示すメッセージをブロードキャストするための方法に基づいて、本出願の実施形態は、これに対応して、メッセージをブロードキャストするためのデバイスを更に提供する。図3に示すように、メッセージをブロードキャストするためのデバイスは、第1のブロードキャストメッセージを得るように構成された取得モジュール301と、このデバイスに対応するメッセージ処理デバイスのための第1のスレッドを作成し、第1のスレッドを用いることによって、第1のブロードキャストメッセージをメッセージ処理デバイスに送信するように構成された送信モジュール302であって、それによって、メッセージ処理デバイスは、別のコンセンサスノードに対応するメッセージ処理デバイスに第1のブロードキャストメッセージを送信する、送信モジュール302と、第1のスレッドをキャンセルするように構成されたキャンセルモジュール303とを備える。
デバイスは、地域専用線を用いることによってメッセージ処理デバイスに接続される。
デバイスは、デバイスに対応するメッセージ処理デバイスによって送信される第2のブロードキャストメッセージを受信するように構成された受信モジュール304を更に含み、ここで、第2のブロードキャストメッセージは、別のコンセンサスノードに対応するメッセージ処理デバイスによってブロードキャストされる。
図1に示すメッセージをブロードキャストするための方法に基づいて、本出願の実施形態は、これに対応して、メッセージをブロードキャストするための別のデバイスを更に提供する。図4に示すように、メッセージをブロードキャストするためのデバイスは、デバイスに対応するコンセンサスノードによって送信される第1のブロードキャストメッセージを受信するように構成された第1の受信モジュール401と、他の各コンセンサスノードに対応するメッセージ処理デバイスのための第2のスレッドを作成し、第2のスレッドを用いることによって、第1のブロードキャストメッセージを別のコンセンサスノードに対応するメッセージ処理デバイスに送信するように構成された送信モジュール402と、別のコンセンサスノードに対応するメッセージ処理デバイスが第1のブロードキャストメッセージを受信するとの判断に応答して、第2のスレッドをキャンセルするように構成されたキャンセルモジュール403とを備える。
キャンセルモジュール403は、各第2のスレッドを用いることによって、受信した応答信号の数をカウントし、ここで、応答信号は、別のコンセンサスノードに対応するメッセージ処理デバイスによって、第1のブロードキャストメッセージの受信後に返され、受信した応答信号のカウント数が特定値以上になるまで、カウント数が特定値よりも小さいとの判断に応答して、各第2のスレッドを用いることによって第1のブロードキャストメッセージを再送するように構成され、ここで、特定値は、0よりも大きい整数である。
デバイスは、別のコンセンサスノードに対応するメッセージ処理デバイスによってブロードキャストされる第2のブロードキャストメッセージを受信し、第2のブロードキャストメッセージをコンセンサスノードに送信するように構成された第2の受信モジュール404を更に備える。
1990年代には、技術における改良が、ハードウェアにおける改良(例えば、ダイオード、トランジスタまたはスイッチ等の回路構造における改良)であるか、またはソフトウェアにおける改良(メソッドプロシージャにおける改良)であるかは、明らかに区別可能である。しかしながら、技術の発展にともない、現在における多くのメソッドプロシージャの改良は、ハードウェア回路構造における直接改良とみなされることができる。ほぼ全ての設計者は、ハードウェア回路内に改良されたメソッドプロシージャのプログラミングを行い、対応するハードウェア回路構造を得る。したがって、メソッドプロシージャは、ハードウェアエンティティモジュールを用いることによって改良することができる。例えば、プログラマブルロジックデバイス(PLD)(例えば、フィールドプログラマブルゲートアレイ(FPGA))は、そのような集積回路であり、PLDの論理関数は、ユーザによってデバイスプログラミングを通じて決定される。設計者は、チップ製造業者に特定用途向け集積回路チップを設計し、製造するように依頼する必要なく、デジタルシステムをPLDに「集積する」ようにプログラミングを行う。更に、現在、このタイプのプログラミングは、集積回路チップを手動で製造する代わりに、多くの場合、「ロジックコンパイラ」ソフトウェアを使用することにより実施される。「ロジックコンパイラ」ソフトウェアは、プログラムを開発し、書き込むために使用されるソフトウェアコンパイラに類似している。元のコードは、コンパイルされる前に、特定のプログラミング言語で書き込まれる必要がある。言語は、ハードウェア記述言語(HDL)と称される。アドバンストブール演算式言語(ABEL)、Alteraハードウェア記述言語(AHDL)、Confluence、Cornell Universityプログラミング言語(CUPL)、HDCal、Javaハードウェア記述言語(JHDL)、Lava、Lola、MvHDL、PALASM、およびRubyハードウェア記述言語(RHDL)等の、多くのHDLがある。超高速集積回路ハードウェア記述言語(VHDL)およびVerilogは、現在最も一般的に使用されている。また当業者は、上記のいくつかのハードウェア記述言語を使用することによって、メソッドプロシージャが論理的にプログラミングされ、集積回路内にプログラミングされるならば、ロジックメソッドプロシージャを実装するハードウェア回路が容易に得られることを理解するべきである。
コントローラは、任意の適切な方式において実装されることができる。例えば、コントローラは、マイクロプロセッサ、プロセッサ、マイクロプロセッサもしくはプロセッサにより実行可能なコンピュータ可読プログラムコード(ソフトウェアまたはファームウェア等)を格納するコンピュータ可読媒体、論理ゲート、スイッチ、特定用途向け集積回路(ASIC)、プログラマブルロジックコントローラ、または埋め込み型マイクロプロセッサの形態をとることができる。コントローラの例は、限定ではないが、次のマイクロプロセッサ、すなわち、ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20、およびSilicone Labs C8051F320を含む。代替的に、メモリコントローラは、メモリの制御ロジックの一部として実装されてもよい。また、当業者は、コンピュータ可読プログラムコードを用いることによってコントローラを実施することに加えて、方法ステップを、コントローラが論理ゲート、スイッチ、特定用途向け集積回路、プログラマブルロジックコントローラ、または埋め込み型マイクロコントローラの形態で同じ機能を実施することを可能にするように論理的にプログラムすることができることもわかる。したがって、コントローラは、ハードウェアコンポーネントとみなされることができ、コントローラに含まれ、様々な機能を実施するように構成されたデバイスは、ハードウェアコンポーネント内の構造とみなされることもできる。代替的に、様々な機能を実施するように構成されたデバイスは、方法を実装するためのソフトウェアモジュール、およびハードウェアコンポーネント内の構造の両方とみなされてもよい。
上記の実施形態において示されるシステム、デバイス、モジュールまたはユニットは、コンピュータチップもしくはエンティティを用いることによって、または特定の機能を有する製品を使用することによって特に実装することができる。典型的な実施デバイスはコンピュータである。特に、コンピュータは、例えば、パーソナルコンピュータ、ラップトップコンピュータ、携帯電話、カメラフォン、スマートフォン、携帯情報端末、メディアプレーヤ、ナビゲーションデバイス、電子メールデバイス、ゲームコンソール、タブレットコンピュータ、ウェアラブルデバイス、またはこれらのデバイスのうちの任意のものの組合せとすることができる。
説明を簡単にするために、上記のデバイスは、このデバイスを機能に基づいて様々なユニットに分割することによって説明される。確かに、本出願を実施するときに、ユニットの機能は、1つまたは複数のソフトウェアおよび/またはハードウェアにおいて実施することができる。
当業者は、本開示の実施形態を方法、システムまたはコンピュータプログラム製品として提供することができることを理解するべきである。したがって、本開示は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、またはソフトウェアとハードウェアを組み合わせる実施形態の形態を用いることができる。加えて、本開示は、コンピュータ利用可能プログラムコードを含む(限定ではないが、磁気ディスクストレージ、CD-ROM、光メモリ等を含む)1つまたは複数のコンピュータ利用可能ストレージ媒体において実施されるコンピュータプログラム製品の形態を用いることができる。
本開示は、本開示の実施形態による方法、デバイス(システム)およびコンピュータプログラム製品のフローチャートおよび/またはブロック図を参照しながら説明される。コンピュータプログラム命令を用いて、フローチャートの各プロセスおよび/またはブロック図の各ブロックならびにフローチャートのプロセスおよび/またはブロック図のブロックの組合せを実施可能であることに留意することが有意義である。これらのコンピュータプログラム命令を、マシンを生成するために汎用コンピュータ、専用コンピュータ、組み込みプロセッサまたは別のプログラマブルデータ処理デバイスのプロセッサに対して提供することができ、それによって、コンピュータまたは別のプログラマブルデータ処理デバイスのプロセッサによって実行される命令は、フローチャートの1つまたは複数のプロセスおよび/またはブロック図の1つまたは複数のブロックにおける特定の機能を実現するためのデバイスを生成する。
代替的に、これらのコンピュータプログラム命令は、特定の方法で作動するようにコンピュータまたは別のプログラマブルデータ処理デバイスに命令することができるコンピュータ可読メモリに格納されてもよく、それによって、コンピュータ可読メモリに格納された命令は、命令デバイスを含むアーチファクトを生成する。命令デバイスは、フローチャートの1つまたは複数のプロセスおよび/またはブロック図の1つまたは複数のブロックの特定の機能を実施する。
代替的に、これらのコンピュータプログラム命令は、コンピュータまたは別のプログラマブルデータ処理デバイスにロードされてもよく、それによって、一連の動作およびステップは、コンピュータまたは別のプログラマブルデバイスにおいて実行され、これによって、コンピュータ実施処理が生成される。したがって、コンピュータまたは別のプログラマブルデバイスにおいて実行される命令は、フローチャートの1つまたは複数のプロセスおよび/またはブロック図の1つまたは複数のブロックの特定の機能を実現するためのステップを提供する。
典型的な構成において、コンピューティングデバイスは、1つまたは複数のプロセッサ(CPU)と、1つまたは複数の入力/出力インターフェースと、1つまたは複数のネットワークインターフェースと、1つまたは複数のメモリとを備える。
メモリは、非持続的メモリ、ランダムアクセスメモリ(RAM)、不揮発性メモリ、および/または、コンピュータ可読媒体における別の形態のメモリ、例えばリードオンリーメモリ(ROM)またはフラッシュメモリ(フラッシュRAM)を含むことができる。メモリは、コンピュータ可読媒体の一例である。
コンピュータ可読媒体は、任意の方法または技術を用いることによって情報を記憶することができる持続性、非持続性、可動、および非可動媒体を含む。情報は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータとすることができる。コンピュータストレージ媒体の例は、限定ではないが、パラメータランダムアクセスメモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、別のタイプのランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、電気的に消去可能プログラム可能なリードオンリーメモリ(EEPROM)、フラッシュメモリもしくは別のメモリ技術、コンパクトディスクリードオンリーメモリ(CD-ROM)、デジタル多用途ディスク(DVD)もしくは別の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクメモリもしくは別の磁気ストレージデバイス、またはコンピューティングデバイスによりアクセス可能な情報を格納するために使用することができる任意の他の非伝送媒体を含む。本明細書の定義に基づき、コンピュータ可読媒体は、変調されたデータ信号および搬送波等の一時的なコンピュータ可読媒体(一時的媒体)を含まない。
「含む」および「備える」という用語、ならびにそれらの任意の他の変化形は、非排他的包含を含むように意図され、それによって、要素のリストを含むプロセス、方法、システム、製品、またはデバイスが、それらの要素を含むだけでなく、明確に列挙されていない他の要素も含むか、またはそのようなプロセス、方法、製品、もしくはデバイスに固有の要素を更に含むことに更に留意することが有意義である。別途何らかの限定のない場合、「…を含む」が続く要素は、その要素を含むプロセス、方法、製品またはデバイスに更なる同一の要素が存在することを除外するものではない。
当業者であれば、本出願の実施形態が方法、システム、またはコンピュータプログラム製品として提供され得ることを理解するべきである。したがって、本出願は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態として、またはソフトウェアおよびハードウェアを組み合わせた実施形態の形態を用いることができる。加えて、本出願は、コンピュータ使用可能プログラムコードを含む1つまたは複数のコンピュータ使用可能ストレージ媒体(磁気ディスクストレージ、CD-ROM、光メモリ等を含むが、これらに限定されるものではない)上で実装されるコンピュータプログラム製品の形態を用いてもよい。
本出願は、コンピュータ、例えば、プログラムモジュールにより実行されるコンピュータ実行可能命令との一般的関連で説明することができる。一般に、プログラムモジュールは、特定のタスクを実行するために、または特定の抽象データ型を実装するために、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。代替的に、本出願は、分散コンピューティング環境において実施されてもよい。これらの分散コンピュータ環境において、タスクは、通信ネットワークを介して接続される遠隔処理デバイスにより実行される。分散コンピューティング環境において、プログラムモジュールは、ストレージデバイスを含むローカルおよびリモート双方のコンピュータ記憶媒体内に設置することができる。
本明細書における例示的な実施形態は、漸次に説明される。実施形態の同一の、または同様の部分については、実施形態への相互参照を行うことができる。各実施形態は、他の実施形態との差異に焦点を当てている。特に、システムの実施形態は、方法の実施形態に基本的に類似しているため、簡単に説明される。関連部分については、方法の実施形態におけるいくつかの記載を参照することができる。
上記の説明は本出願の実施形態に過ぎず、本出願を限定することは意図されていない。当業者であれば、本出願に対し様々な変更および変形を行うことができる。本出願の趣旨および原理から逸脱することなく行われる任意の変更、等価な置き換え、改良等が、本出願における特許請求の範囲の適用範囲内に入る。
301 取得モジュール
302 送信モジュール
303 キャンセルモジュール
304 受信モジュール
401 第1の受信モジュール
402 送信モジュール
403 キャンセルモジュール
404 第2の受信モジュール

Claims (8)

  1. メッセージをブロードキャストするための方法であって、
    ブロックチェーンネットワークのコンセンサスノードによって、第1のブロードキャストメッセージを得るステップと、
    前記コンセンサスノードによって、前記コンセンサスノードに対応するメッセージ処理デバイスのための第1のスレッドを作成するステップと、
    前記コンセンサスノードによって、前記第1のスレッドを用いることによって、前記第1のブロードキャストメッセージを前記メッセージ処理デバイスに送信するステップと
    前記コンセンサスノードによって、前記第1のスレッドをキャンセルするステップと、
    前記コンセンサスノードに対応する前記メッセージ処理デバイスによって、前記第1のブロードキャストメッセージを前記コンセンサスノードから受信するステップと、
    前記コンセンサスノードに対応する前記メッセージ処理デバイスによって、他の各コンセンサスノードに対応するメッセージ処理デバイスのための第2のスレッドを作成するステップと、
    前記コンセンサスノードに対応する前記メッセージ処理デバイスによって、前記第2のスレッドを用いることによって、別のコンセンサスノードに対応するメッセージ処理デバイスに前記第1のブロードキャストメッセージを送信するステップと、
    前記別のコンセンサスノードに対応する前記メッセージ処理デバイスが前記第1のブロードキャストメッセージを受信したとの判断に応答して、前記コンセンサスノードに対応する前記メッセージ処理デバイスによって、前記第2のスレッドをキャンセルするステップと、を含む、方法。
  2. 前記コンセンサスノードは、地域専用通信線を用いることによって前記メッセージ処理デバイスに接続される、請求項1に記載の方法。
  3. 前記コンセンサスノードに対応する前記メッセージ処理デバイスによって送信される第2のブロードキャストメッセージを受信するステップであって、前記第2のブロードキャストメッセージは、前記別のコンセンサスノードに対応する前記メッセージ処理デバイスによってブロードキャストされる、ステップを更に含む、請求項1に記載の方法。
  4. 前記別のコンセンサスノードに対応する前記メッセージ処理デバイスが前記第1のブロードキャストメッセージを受信したと判断するステップは、特に、
    各第2のスレッドを用いることによって、受信した応答信号の数をカウントするステップであって、前記応答信号は、前記別のコンセンサスノードに対応する前記メッセージ処理デバイスによって、前記第1のブロードキャストメッセージを受信した後に返される、ステップと、
    前記受信した応答信号のカウント数が特定値以上になるまで、前記数が前記特定値よりも小さいとの判断に応答して、各第2のスレッドを用いることによって前記第1のブロードキャストメッセージを再送するステップであって、前記特定値は、0よりも大きい整数である、ステップと、
    を含む、請求項1に記載の方法。
  5. 前記別のコンセンサスノードに対応する前記メッセージ処理デバイスによってブロードキャストされる第2のブロードキャストメッセージを受信するステップと、
    前記第2のブロードキャストメッセージを前記コンセンサスノードに送信するステップと、
    を更に含む、請求項1に記載の方法。
  6. 前記第1のスレッドを作成するステップは、非同期呼技術に基づく、請求項1に記載の方法。
  7. 前記ブロックチェーンネットワークは、コンソーシアムブロックチェーンネットワークを含む、請求項1に記載の方法。
  8. メッセージをブロードキャストするためのシステムであって、
    第1のブロードキャストメッセージを得るように構成された取得モジュールと、
    コンセンサスノードに対応するメッセージ処理デバイスのための第1のスレッドを作成し、
    前記第1のスレッドを用いることによって、前記第1のブロードキャストメッセージを前記メッセージ処理デバイスに送信するように構成された送信モジュールと
    前記第1のスレッドをキャンセルするように構成されたキャンセルモジュールと
    を備えるデバイスと、
    前記第1のブロードキャストメッセージを前記デバイスから受信するように構成された受信モジュールと、
    他の各コンセンサスノードに対応するメッセージ処理デバイスのための第2のスレッドを作成し、前記第2のスレッドを用いることによって、別のコンセンサスノードに対応するメッセージ処理デバイスに前記第1のブロードキャストメッセージを送信するように構成された送信モジュールと、
    前記別のコンセンサスノードに対応する前記メッセージ処理デバイスが前記第1のブロードキャストメッセージを受信したとの判断に応答して、前記第2のスレッドをキャンセルするように構成されたキャンセルモジュールと
    を備える前記コンセンサスノードに対応するメッセージ処理デバイスと
    を有する、システム
JP2019528064A 2017-03-24 2018-03-19 メッセージをブロードキャストするための方法およびデバイス Active JP6859510B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710182459.1 2017-03-24
CN201710182459.1A CN107196772B (zh) 2017-03-24 2017-03-24 一种广播消息的方法及装置
PCT/CN2018/079435 WO2018171543A1 (zh) 2017-03-24 2018-03-19 一种广播消息的方法及装置

Publications (3)

Publication Number Publication Date
JP2020504928A JP2020504928A (ja) 2020-02-13
JP2020504928A5 JP2020504928A5 (ja) 2020-07-30
JP6859510B2 true JP6859510B2 (ja) 2021-04-14

Family

ID=59870952

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019528064A Active JP6859510B2 (ja) 2017-03-24 2018-03-19 メッセージをブロードキャストするための方法およびデバイス

Country Status (16)

Country Link
US (2) US10824485B2 (ja)
EP (1) EP3531618B1 (ja)
JP (1) JP6859510B2 (ja)
KR (1) KR102205750B1 (ja)
CN (1) CN107196772B (ja)
AU (1) AU2018240583B2 (ja)
BR (1) BR112019010520B1 (ja)
CA (1) CA3044603C (ja)
MX (1) MX2019005982A (ja)
MY (1) MY192565A (ja)
PH (1) PH12019501151A1 (ja)
RU (1) RU2730039C1 (ja)
SG (1) SG10202100605QA (ja)
TW (1) TW201836372A (ja)
WO (1) WO2018171543A1 (ja)
ZA (1) ZA201903267B (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107196772B (zh) 2017-03-24 2020-03-13 创新先进技术有限公司 一种广播消息的方法及装置
CN108052392B (zh) * 2017-12-26 2020-12-25 成都质数斯达克科技有限公司 一种基于区块链的业务处理方法及装置
WO2020033048A1 (en) * 2018-08-09 2020-02-13 Hrl Laboratories, Llc System and method for consensus ordering of broadcast messages
US11277260B2 (en) * 2019-09-17 2022-03-15 International Business Machines Corporation Off-chain notification of updates from a private blockchain
CN110602249B (zh) * 2019-09-29 2021-10-22 腾讯科技(深圳)有限公司 一种资源分配的方法以及相关装置
CN112019599A (zh) * 2020-03-16 2020-12-01 支付宝(杭州)信息技术有限公司 在区块链共识处理时进行处理消息同步的方法及装置
CN113012466A (zh) * 2021-02-23 2021-06-22 中国联合网络通信集团有限公司 基于区块链的车位共享方法、用户节点、设备及存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1980411A (zh) * 2006-10-27 2007-06-13 华为技术有限公司 业务消息传输方法和系统
US8799402B2 (en) 2007-06-29 2014-08-05 Qualcomm Incorporated Content sharing via mobile broadcast system and method
US8199688B2 (en) 2008-03-22 2012-06-12 Qualcomm Incorporated Signaling and management of broadcast-multicast waveform embedded in a unicast waveform
CN101801113B (zh) * 2009-02-05 2012-07-11 华为技术有限公司 网络拓扑分簇处理方法和处理系统
WO2012141677A1 (en) * 2011-04-11 2012-10-18 Hewlett-Packard Development Company, L.P. Performing a task in a system having different types of hardware resources
WO2014053073A1 (en) 2012-10-03 2014-04-10 Qualcomm Incorporated Broadcast/multicast used for m2m/mtc
CN104079389A (zh) * 2013-03-25 2014-10-01 株式会社Ntt都科摩 移动广播业务的重传方法
JP6326736B2 (ja) * 2013-08-26 2018-05-23 富士通株式会社 中継装置、中継方法、及び中継プログラム
CN104579905B (zh) * 2013-10-15 2018-11-06 阿里巴巴集团控股有限公司 消息传递方法和系统及mom服务器、接收端
US9397917B2 (en) 2014-01-10 2016-07-19 Huawei Technologies Co., Ltd. System and method for zoning in software defined networks
US10275772B2 (en) * 2014-06-16 2019-04-30 Bank Of America Corporation Cryptocurrency risk detection system
CN104580253B (zh) * 2015-01-30 2017-08-08 网易(杭州)网络有限公司 一种处理用户数据的方法及装置
US9967333B2 (en) * 2015-03-02 2018-05-08 Dell Products Lp Deferred configuration or instruction execution using a secure distributed transaction ledger
US9967334B2 (en) * 2015-03-02 2018-05-08 Dell Products Lp Computing device configuration and management using a secure decentralized transaction ledger
US10095558B2 (en) * 2015-05-26 2018-10-09 Cavium, Inc. Systems and methods for offloading inline SSL processing to an embedded networking device
JP6452156B2 (ja) * 2015-09-03 2019-01-16 日本電信電話株式会社 許諾情報管理システム、利用者端末、権利者端末、許諾情報管理方法、および、許諾情報管理プログラム
KR101701131B1 (ko) * 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템
CN106446067B (zh) * 2016-09-06 2020-02-18 联动优势科技有限公司 一种获取交易数据的方法和装置
CN107196772B (zh) 2017-03-24 2020-03-13 创新先进技术有限公司 一种广播消息的方法及装置

Also Published As

Publication number Publication date
EP3531618A1 (en) 2019-08-28
EP3531618A4 (en) 2019-10-02
BR112019010520B1 (pt) 2022-04-26
PH12019501151A1 (en) 2019-12-16
AU2018240583B2 (en) 2020-09-03
ZA201903267B (en) 2021-09-29
EP3531618B1 (en) 2022-01-12
KR102205750B1 (ko) 2021-01-22
US20200334090A1 (en) 2020-10-22
JP2020504928A (ja) 2020-02-13
CA3044603C (en) 2021-01-19
RU2730039C1 (ru) 2020-08-14
MY192565A (en) 2022-08-29
MX2019005982A (es) 2019-08-12
KR20190069554A (ko) 2019-06-19
US20190340042A1 (en) 2019-11-07
CN107196772B (zh) 2020-03-13
TW201836372A (zh) 2018-10-01
CA3044603A1 (en) 2018-09-27
US11003514B2 (en) 2021-05-11
WO2018171543A1 (zh) 2018-09-27
US10824485B2 (en) 2020-11-03
AU2018240583A1 (en) 2019-06-06
BR112019010520A2 (pt) 2019-09-17
SG10202100605QA (en) 2021-02-25
CN107196772A (zh) 2017-09-22

Similar Documents

Publication Publication Date Title
JP6859510B2 (ja) メッセージをブロードキャストするための方法およびデバイス
JP6794551B2 (ja) トランザクション情報を送信するためのおよびコンセンサス検証のための方法およびデバイス
JP6756918B2 (ja) コンセンサス方法およびデバイス
KR20190099222A (ko) 블록체인 기반 합의 방법 및 디바이스
CN116405554B (zh) 一种网络通信的方法、装置、存储介质及电子设备
CN117033005B (zh) 一种无死锁路由方法、装置、存储介质及电子设备
CN116954952A (zh) 一种机器人的自适应混合通信方法、装置、介质及设备
CN115658368A (zh) 一种故障处理方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190625

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190625

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200619

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200917

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20201203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201207

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20201228

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210105

R150 Certificate of patent or registration of utility model

Ref document number: 6859510

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250