JP2023541900A - リアルタイムデータ通信の方法、電子機器及びシステム - Google Patents
リアルタイムデータ通信の方法、電子機器及びシステム Download PDFInfo
- Publication number
- JP2023541900A JP2023541900A JP2023516216A JP2023516216A JP2023541900A JP 2023541900 A JP2023541900 A JP 2023541900A JP 2023516216 A JP2023516216 A JP 2023516216A JP 2023516216 A JP2023516216 A JP 2023516216A JP 2023541900 A JP2023541900 A JP 2023541900A
- Authority
- JP
- Japan
- Prior art keywords
- data
- resource pool
- contract
- data stream
- resource
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 122
- 238000004891 communication Methods 0.000 title claims abstract description 31
- 238000010187 selection method Methods 0.000 claims description 38
- 230000015654 memory Effects 0.000 claims description 15
- 238000010276 construction Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000001960 triggered effect Effects 0.000 claims description 6
- 238000005304 joining Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000004519 manufacturing process Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000003860 storage Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 239000003607 modifier Substances 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 description 2
- 230000003750 conditioning effect Effects 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/148—Migration or transfer of sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本開示は、リアルタイムデータ通信のための方法、電子機器およびシステムを提案する。データ受信側の電子機器で実行されるリアルタイムデータ通信のための方法は、ブロックチェーンネットワークにリソースプールコントラクトを配信し、前記リソースプールコントラクトが第一数量のリソースを含むリソースプールを建立するようにトリガすることと、リソースプールにおける第二数量のリソースに対応するデータ提供側とデータストリームを建立し、該第二数量が第一数量より小さいことと、データストリームによりデータ送信側が送信したリアルタイムデータを受信することと、を含む。
Description
本開示は、通信の分野に関し、かつより具体的にはリアルタイムデータ通信のための方法、電子機器及びシステムに関する。
通信技術の急速な発展に伴い、モノのインターネット(IoT)はますます注目されている。モノのインターネット、即ち「万物が接続されたインターネット」は、インターネットを基礎として延伸及び拡張を行ったネットワークであり、それは様々な情報感知設備(即ち、センサ)とインターネットを結合して形成された巨大なネットワークであり、任意の時間、任意の場所、人、機、物の相互接続を実現する。
市場調査報告「State of the market: Internet of things 2016」に基づいて統計し、全世界のIoTセンサ市場は既に6000億/年を超え、センサの購入、インストール、メンテナンス及びセンサインタフェースソフトウェアなどを含む。センサにより、センサ所有者はより多くのデータを取得することができ、サービスプロバイダはセンサデータに基づいて付加価値サービスを提供することもできる。5G技術の発展に伴い、センサデータの伝送がより便利であり、センサデータを迅速で、リアルタイムにデータ受信側に送信することができる。
したがって、将来がデータ時代であるということは、既に通信業、製造業などの各業界で合意を達成する。データ取引は、将来の発展傾向である。データ取引は、一方でセンサ所有者の投資、運営維持コストを低減することができ、他方でデータの価値掘削を促進することができる。
従来のデータ取引方法において、データ取引は一般的に第三者取引センターにより完了する。このようなデータ取引方法は、取引データの完全性を維持することが困難であり、かつ取引の非透明性、取引履歴が追跡しにくい等の原因により、取引プロセスの関連情報が修正されやすい。また、このようなデータ取引方法もネットワーク原因又はデータ提供側の原因によりデータストリームの遮断を引き起こす時にデータ受信側に新たなデータストリームをタイムリーに建立することを保証しにくく、それにより取引双方の利益が損なわれる可能性がある。
上記問題を少なくとも部分的に解決するか又は軽減するために、本開示の実施例に係るリアルタイムデータ通信のための方法、電子機器及びシステムを提供する。存在する可能性のあるデータ遮断現象を考慮し、あるデータストリームが遮断される場合、データ受信側は他のデータストリームに自動的に切り替えることができ、それにより任意の時刻にデータ量の需要を満たすデータ提供側とコントラクトを建立することを保証する。
本開示の第一態様によれば、データ購入側の電子機器で実行されるリアルタイムデータ通信のための方法を提供する。該方法は、ブロックチェーンネットワークにリソースプールコントラクトを配信し、前記リソースプールコントラクトが第一数量のリソースを含むリソースプールを建立するようにトリガすることと、前記リソースプールにおける第二数量のリソースに対応するデータ送信側とデータストリームを建立し、前記第二数量が前記第一数量より小さいことと、前記データストリームにより前記データ送信側が送信したリアルタイムデータを受信することと、を含む。
いくつかの実施例において、前記リソースプールコントラクトはリソース選択方法を含み、前記リソース選択方法が前記ブロックチェーンネットワークにおける一つ又は複数のノードがリソース切り替え条件を満たすと判断する時に呼び出されることにより、前記データ受信側が第二数量のリソースに対応するデータ送信側とデータストリームを建立する。いくつかの実施例において、前記リソース選択方法は、さらに、前記ブロックチェーンネットワークにおける一つ又は複数のノードにより呼び出され、それにより前記リソースプールにおける現在の前記データ受信側との対応データストリームが存在するリソース以外のリソースを選択し、かつ前記データ受信側が選択されたリソースに対応するデータ提供側と新たなデータストリームを建立する。いくつかの実施例において、前記リソース切り替え条件は、リソース切り替え周期、及びデータストリーム遮断のうちの一つ又は複数を含む。いくつかの実施例において、前記リソースプールコントラクトはリソースプールアクセス方法を含み、前記リソースプールアクセス方法は、リソースプールアクセスルールを含み、前記リソースプールアクセス方法は、前記ブロックチェーンネットワークにおける一つ又は複数のノードがリソースが前記リソースプールアクセスルールを満たすと決定する場合に前記リソースを前記リソースプールに加入するようにトリガする。いくつかの実施例において、前記リソースプールにおけるリソースは、データ送信側又はデータストリームコントラクトのうちの少なくとも一つである。いくつかの実施例において、前記リソースがデータ送信側である場合、前記リソースプールコントラクトは、さらに、データ送信者識別子リスト、データ送信側切替周期、データストリーム価格及び/又は価格計算方式、データ送信側プールアクセス方法、データ送信側選択方法、およびデータストリーム建立方法。の少なくとも一つを含む。いくつかの実施例において、前記リソースがデータストリームコントラクトである場合、前記リソースプールコントラクトは、さらに、データストリームコントラクト識別子リスト、データストリームコントラクト切り替え周期、データストリームコントラクトのプールアクセス方法、及びデータストリームコントラクトの選択方法、の少なくとも一つを含む。いくつかの実施例において、前記リソースプールにおける第二数量のリソースに対応するデータ送信側とデータストリームを建立するステップは、前記リソースプールコントラクトにおけるデータストリーム建立方法を実行し、前記第二数量に対応するリソースを超えないデータ送信側とデータストリームを建立すること、又は前記リソースプールコントラクトにおけるデータストリームコントラクトの選択方法を実行し、前記第二数量を超えないデータストリームコントラクトをトリガすることにより、前記第二数量のデータストリームコントラクトに対応するデータ送信側とデータストリームを建立すること、を含む。
本開示の第二態様によれば、データ購入側に使用される第一電子機器を提供する。該電子機器は、プロセッサ、前記プロセッサにより実行される時に前記第一電子機器に本開示の第一態様に記載の方法を実行させる指令を記憶するメモリと、を含む。
本開示の第三態様によれば、データ提供側の電子機器で実行されるリアルタイムデータ通信のための方法を提供する。該方法は、ブロックチェーンネットワークからリソースプールコントラクトを受信し、前記リソースプールコントラクトは第一数量のリソースを含むリソースプールを建立するようにトリガし、前記リソースプールコントラクトは、さらに、前記リソースプールにおける予期された同時にアクティブ化すべきリソースの第二数量を指示するパラメータを含み、前記第二数量は前記第一数量より小さいことと、前記ブロックチェーンネットワークに前記リソースプールへの加入を同意することを指示するメッセージを送信することと、を含む。
いくつかの実施例において、前記方法は、前記リソースプールコントラクトを実行する前記ブロックチェーンネットワークの協調で、前記リソースプールコントラクトを配信するデータ受信側とデータストリームを建立することと、建立されたデータストリームにより対応するデータ受信側にリアルタイムデータを送信することと、をさらに含む。
本開示の第四態様によれば、データ提供側の電子機器で実行されるリアルタイムデータ通信のための方法を提供する。該方法は、ブロックチェーンネットワークにデータストリームコントラクトを配信し、前記データストリームコントラクトは、前記データ提供側により提供されたデータストリームをリソースとしてリソースプールに加入するようにトリガし、前記リソースプールはデータ受信側により配信されたリソースプールコントラクトによってトリガされて建立された第一数量のリソースを含むリソースプールであり、前記リソースプールコントラクトは、さらに、前記リソースプールにおける予期された同時にアクティブ化すべきリソースの第二数量を指示するパラメータを含み、前記第二数量は前記第一数量より小さいことと、前記ブロックチェーンネットワークから前記データストリームコントラクトが前記リソースプールに加入されたことを指示するメッセージを受信することと、を含む。
いくつかの実施例において、前記方法は、前記データストリームコントラクトを実行する前記ブロックチェーンネットワークの協調で、前記リソースプールコントラクトを配信するデータ受信側とデータストリームを建立することと、建立されたデータストリームにより対応するデータ受信側にリアルタイムデータを送信することと、をさらに含む。いくつかの実施例において、前記データストリームコントラクトは、データストリームコントラクト識別子、前記データ送信側の識別子、データストリーム価格及び/又は価格計算方式、内容情報、データストリーム建立方法、及びリソースプール加入方法の少なくとも一つを含む。
本開示の第五態様によれば、データ提供側に使用される第二電子機器を提供する。該電子機器は、プロセッサ、前記プロセッサにより実行される時に前記第二電子機器に第三態様又は第四態様に記載の方法を実行させる指令を記憶するメモリと、を含む。
本開示の第六態様によれば、リアルタイムデータ通信のためのシステムを提供する。該システムは、ブロックチェーンネットワークと、前記ブロックチェーンとネットワーク通信で結合される第一電子機器と、前記ブロックチェーンとネットワーク通信で結合される一つ又は複数の第二電子機器と、を含み、前記第一電子機器は、第一プロセッサと、前記第一プロセッサにより実行される時に前記第一電子機器に、前記ブロックチェーンネットワークにリソースプールコントラクトを配信し、前記リソースプールコントラクトは第一数量のリソースを含むリソースプールを建立するようにトリガすることと、前記リソースプールにおける第二数量のリソースに対応するデータ送信側とデータストリームを建立し、前記第二数量が前記第一数量より小さいことと、前記データストリームにより前記データ送信側により送信されたリアルタイムデータを受信することと、という操作を実行させる指令を記憶する第一メモリと、を含み、前記一つ又は複数の第二電子機器は、第二プロセッサと、対応する第二プロセッサにより実行される時に対応する第二電子機器に、前記ブロックチェーンネットワークから前記リソースプールコントラクトを受信すること、及び前記ブロックチェーンネットワークに前記リソースプールへの加入を同意することを指示するメッセージを送信することと、という操作を実行させ、または、前記ブロックチェーンネットワークにデータストリームコントラクトを配信し、前記データストリームコントラクトは前記データ提供側により提供されたデータストリームをリソースとして前記リソースプールに加入するようにトリガすること、および前記ブロックチェーンネットワークから前記データストリームコントラクトが前記リソースプールに加入されたことを指示するメッセージを受信することと、という操作を実行させる指令を記憶する第二メモリと、を含む。
本開示の第七態様によれば、さらにコンピュータ読み取り可能な記憶媒体を提供し、それに指令が記憶され、前記指令はプロセッサにより実行される時に、前記プロセッサが上記第一態様、第三態様又は第四態様のリアルタイムデータ通信のための方法を実行することができるようにする。
上記方法、電子機器、システム及び/又はコンピュータ読み取り可能な記憶媒体を使用する場合、一方ではデータ提供側の設備故障によるデータ不足を回避し、他方でより多くのデータ提供側とコントラクトを建立することによる追加費用を回避する。
以下、図面を参照しながら本開示の好ましい実施例を説明することにより、本開示の上記及び他の目的、特徴及び利点をより明確にする。
本願の目的、技術案及び利点をより明確にするために、以下に図面を参照して本願をさらに詳細に説明する。注意すべきこととして、以下の説明は例示に過ぎず、本開示を限定するものではない。以下の説明において、本開示の完全な理解を提供するために、多くの特定の詳細を説明する。しかしながら、当業者にとって、これらの特定の詳細によって本開示を実行する必要がないことが、明らかなことである。他の実施例において、本開示を混同することを回避するために、公知の回路、材料又は方法を具体的に説明しない。
明細書全体において、「一つの実施例」、「実施例」、「一例」又は「例示」に対する言及は、該実施例又は例示を組み合わせて説明された特定の特徴、構成又は特性が本開示の少なくとも一つの実施例に含まれることを示す。したがって、明細書の各箇所に現れる「一つの実施例において」、「実施例において」、「一例」又は「例示」というフレーズは必ずしも同一の実施例又は例示を指すとは限らない。また、任意の適切な組み合わせ及び/又はサブ組み合わせで特定の特徴、構成又は特性を一つ又は複数の実施例又は例示に組み合わせることができる。また、当業者であれば理解すべきこととして、ここで提供された図面はいずれも説明を目的とし、かつ図面は必ずしも比例的に描かれているとは限らない。ここで使用される「及び/又は」という用語は、一つ又は複数の関連して列挙された項目の任意及び全ての組み合わせを含む。
注意すべきこととして、以下、「リアルタイムデータ取引」を例として本明細書の実施例を詳細に説明するが、本開示はこれに限定されない。実際には、リアルタイムデータ取引は、本明細書で言及された「リアルタイムデータ通信」という方案のある具体的な応用シーンであり、本願におけるリアルタイムデータ通信方案は、例えば、非取引性のリアルタイムデータ通信というリアルタイムデータ通信を行う必要がある任意の状況に適用することができる。
また、本明細書ではイーサリアム(ethereum)技術における「スマートコントラクト」又は「コントラクト」という用語及び使用されるSolidityプログラミング言語を採用したが、本開示はこれに限定されない。実際には、本明細書において「コントラクト」という用語は、データ取引(又はデータ通信)のうちの少なくとも一つの提出する建立、メンテナンス、変更、データストリームの取り外しなどに関する情報を指すことができ、かつ「スマートコントラクト」及び/又は「コントラクト」等の用語は、アプリケーション、APP、ソースコード、実行可能なコード、メッセージ、テキスト、バイナリデータ、ソフトウェア、ファームウェア等の任意のネットワークで伝達可能な情報であってもよい。外部に、リアルタイムデータ通信以外の分野に応用される場合、「スマートコントラクト」及び/又は「コントラクト」という用語は、データストリームに関連する他の情報に関しなくてもよい。
また、「データストリーム」という用語は、一般的にその伝送過程において情報を送信するか又は受信する一連のデジタル符号化の順序信号又はそのキャリアである。換言すれば、「データストリーム」という用語は本明細書において二つ又は複数のエンティティの間に伝送された一連の情報自体を指すことができるだけでなく、これらの二つ又は複数のエンティティの間に建立されたこれらの情報を伝送するための論理チャネルを指すこともできる。
前記のように、従来のデータ取引方法は例えば:取引データの完全性、取引の非透明性、取引履歴が追跡しにくく、関連情報が修正されやすく、データ遮断時にデータ受信側に新たなデータストリームをタイムリーに建立することができないなどの様々な問題が存在し、それによりデータ取引双方の利益が損なわれる可能性がある。従来のデータ取引方法に比べて、ブロックチェーンに基づくデータ取引方法は、分布式、分散化、取引データの改竄防止及び取り消しなどの利点によりますます多く注目される。
ブロックチェーンに基づくデータ取引システムは一般的に一つ又は複数のデータ提供側(本明細書において、「データ送信側」とも呼ばれる)、一つ又は複数のデータ購入側(本明細書において、「データ受信側」とも呼ばれる)及びブロックチェーンネットワークを含む。ブロックチェーンネットワークは、通常、複数のノードを含む。データ提供側とデータ購入側との間のデータ取引に関する情報は、ブロックチェーンネットワークにおける複数のノードに記憶されていてもよい。データ取引過程において、データ購入側又はデータ提供側のうちの一つ又は両方はブロックチェーンネットワークにスマートコントラクトを配信することができる。該スマートコントラクトはデータ購入側とデータ提供側とのデータストリームを建立するようにトリガし、かつ該データストリームを介してデータを受信しかつ支払うことができる。
スマートコントラクトは、ブロックチェーンによるデータ取引の重要な特性の一つである。スマートコントラクトの概念はNick Szaboが1994年に初めて提供され、彼はスマートコントラクトを以下のように定義する:「一つのスマートコントラクトは一セットの数字形式で定義された承認であり、コントラクト者が上でこれらの承認を実行できる協議を含む」。スマートコントラクトは情報化方式で契約を伝播し、検証するか又は実行することを目的とするコンピュータ協議である。スマートコントラクトは第三者がない状況で信頼できる取引を行うことを許可し、これらの取引は追跡可能でありかつ一般的に非可逆的である(コントラクトに条項が撤去される等がある場合を除く)。
より一般的には、スマートコントラクトをコンピュータプログラム又は取引協議と見なすことができ、それはコントラクト又は協議における条項に基づいて法律関連イベントを自動的に実行し、制御するか又は保留することを意味する。スマートコントラクトの目的は信頼できる裁定人への需要を減少させ、裁定及び強制実行のコストを減少させ、詐欺損失を減少させ、悪意のある行為と不慮の行為を減少させることである。
ブロックチェーン技術に基づくスマートコントラクトはスマートコントラクトがコスト効率の面での利点を発揮するだけでなく、悪意のある行為のコントラクトが正常に実行されたことへの干渉を回避することができる。スマートコントラクトをデジタル化の形式でブロックチェーンに書き込み、ブロックチェーン技術の特性により記憶、読み取り、プロセス全体の実行の透明、追跡可能、改竄不可能を保証する。同時に、ブロックチェーン内蔵のコンセンサスアルゴリズムにより一セットのステートマシンシステムを構築することにより、スマートコントラクトはより効率的に動作することができる。次に、図1を参照してブロックチェーンネットワークに基づくスマートコントラクトを詳細に説明する。
図1は、ブロックチェーンネットワークに基づくスマートコントラクトを示す例示的な適用シーン10を示す模式図である。図1に示すように、シーン10は、自分の自動車140を販売しようとするユーザ-1 110、自動車を購入しようとするユーザ-2 120、及び複数のノード151~154を含むブロックチェーンネットワーク150を含む。しかしながら、注意すべきこととして、図1のシーン10は例示的な説明のみに用いられ、かつ本開示はこれに限定されない。他の実施例において、シーン10には、より多くのユーザ、物品(例えば、自動車140)が含まれることができ、かつブロックチェーンネットワーク150は、より多く、より少ない又は異なるノードを含むことができる。
図1に示すように、ユーザ-1 110は、自分の自動車140を販売しようとする。したがって、ステップ1において、ユーザ-1 110は、スマートコントラクト130を編集してブロックチェーンネットワーク150に該スマートコントラクト130を配信することができる。
例えば、いくつかの実施例において、ユーザ-1 110は、例えばイーサネットネットワークに登録し、かつ割り当てられたアカウントID(例えば、123456)を取得し、その後にイーサネットネットワークにより提供されたアプリケーションを介して、そのネットワーク上のノード151~154のうちの少なくとも一つのノードに、編集されたスマートコントラクト130をアップロードして配置することができる。
いくつかの実施例において、簡単な例示的なスマートコントラクト130の内容は以下のように示すことができる:
// SPDX-License-Identifier: GPL-3.0
pragma solidity >0.6.99 <0.8.0;
contract Sell_A_Car{
address payable public seller; ///メンバー変数「販売者」
address payable public buyer; ///メンバー変数「購入者」
address public car; ///メンバー変数「自動車」
bytes32 passcode; ///メンバー変数「スマートロックパスワード」
enum State { Created, Locked, Release, Inactive }
State public state; ///メンバー変数「コントラクト状態」
modifier condition(bool _condition) {
require(_condition);
_;
}
modifier onlyBuyer() {
require(
msg.sender == buyer,
「購入者のみは該関数を呼び出すことができる」
);
_;
}
modifier onlySeller() {
require(
msg.sender == seller,
「販売者のみが該関数を呼び出すことができる」
);
_;
}
modifier inState(State _state) {
require(
state == _state,
「無効状態」
);
_;
}
event Aborted(); ///販売者が取引を中止するイベントを配信する
event PurchaseConfirmed(); ///購入者が購入を確認するイベントを配信する
event CarReceived(); ///購入者が車両を入手したイベントを配信する
event SellerRefunded(); ///販売者が代金を入手したイベントを配信する
///構築関数であって、それはコントラクトを初期化しかつ本コントラクトに係る販売者の身元、車両身元及びスマートロックパスワードを指定する
constructor(address payable _car, bytes32 _passcode) payable {
seller = msg.sender;
car = _car;
passcode = _passcode;
}
///購入中止関数であって、販売者がコントラクトをロックする前のみに呼び出すことができる
function abort ()
public
onlySeller
inState(State.Created)
{
emit Aborted();
state = State.Inactive;
}
///購入者が購入を確認する関数であって、コントラクトが購入者にスマートロックパスワードを通知する
// SPDX-License-Identifier: GPL-3.0
pragma solidity >0.6.99 <0.8.0;
contract Sell_A_Car{
address payable public seller; ///メンバー変数「販売者」
address payable public buyer; ///メンバー変数「購入者」
address public car; ///メンバー変数「自動車」
bytes32 passcode; ///メンバー変数「スマートロックパスワード」
enum State { Created, Locked, Release, Inactive }
State public state; ///メンバー変数「コントラクト状態」
modifier condition(bool _condition) {
require(_condition);
_;
}
modifier onlyBuyer() {
require(
msg.sender == buyer,
「購入者のみは該関数を呼び出すことができる」
);
_;
}
modifier onlySeller() {
require(
msg.sender == seller,
「販売者のみが該関数を呼び出すことができる」
);
_;
}
modifier inState(State _state) {
require(
state == _state,
「無効状態」
);
_;
}
event Aborted(); ///販売者が取引を中止するイベントを配信する
event PurchaseConfirmed(); ///購入者が購入を確認するイベントを配信する
event CarReceived(); ///購入者が車両を入手したイベントを配信する
event SellerRefunded(); ///販売者が代金を入手したイベントを配信する
///構築関数であって、それはコントラクトを初期化しかつ本コントラクトに係る販売者の身元、車両身元及びスマートロックパスワードを指定する
constructor(address payable _car, bytes32 _passcode) payable {
seller = msg.sender;
car = _car;
passcode = _passcode;
}
///購入中止関数であって、販売者がコントラクトをロックする前のみに呼び出すことができる
function abort ()
public
onlySeller
inState(State.Created)
{
emit Aborted();
state = State.Inactive;
}
///購入者が購入を確認する関数であって、コントラクトが購入者にスマートロックパスワードを通知する
///取引は10個のイーサコインを含む必要があり、confirmReceived関数が呼び出されるまでに、これらのイーサコインがロックされる
function confirmPurchase() returns (bytes32)
public
inState(State.Created)
condition(msg.value == 1e19)
payable
{
emit PurchaseConfirmed();
buyer = msg.sender;
state = State.Locked;
return passcode;
}
///購入者が車両を入手したことを確認する関数であって、ロックされたイーサコインを放出する
function confirmReceived()
public
onlyBuyer
inState(State.Locked)
{
emit CarReceived();
state = State.Release;
}
///該関数は販売者に返済し、すなわち販売者に車の代金を支払う関数
function refundSeller()
public
onlySeller
inState(State.Release)
{
emit SellerRefunded();
state = State.Inactive;
seller.transfer(address(this).balance)
}
}
function confirmPurchase() returns (bytes32)
public
inState(State.Created)
condition(msg.value == 1e19)
payable
{
emit PurchaseConfirmed();
buyer = msg.sender;
state = State.Locked;
return passcode;
}
///購入者が車両を入手したことを確認する関数であって、ロックされたイーサコインを放出する
function confirmReceived()
public
onlyBuyer
inState(State.Locked)
{
emit CarReceived();
state = State.Release;
}
///該関数は販売者に返済し、すなわち販売者に車の代金を支払う関数
function refundSeller()
public
onlySeller
inState(State.Release)
{
emit SellerRefunded();
state = State.Inactive;
seller.transfer(address(this).balance)
}
}
以上のコードの概略的な機能は、図1における「スマートコントラクト130」に説明されたように、ある購入者(例えば、ユーザ-2 120)がユーザ-1 110に10個のイーサコインを支払う場合、該スマートコントラクトは、スマートロックのパスワードを該購入者に自動的に通知し、かつ購入者が荷受けを確認することを待ち、荷受けに成功した後、ブロックチェーンネットワーク150は、配信されたイベントにより車両所有権の変換を記録してこの10個のイーサコインをユーザ-1 110に転送する。
具体的には、該スマートコントラクト130を初期化(又は実例化)する時、販売者(例えば、ユーザ-1 110)は、例えばコントラクトの構築関数「constructor」により販売者のブロックチェーンネットワークアドレス(例えば、図1に示された123456)、車両のブロックチェーンネットワークアドレス(例えば、図1に示された330524)及び自動車に関連するスマートロックのパスワード(例えば、上記コードにおけるメンバー変数「passcode」)を設定することができる。
また、ステップ1の前、後又は同時に、ユーザ-1 110は、ステップ1aで、自動車140を一つの公共車庫に預けることができ、かつスマートコントラクト130により制御可能なスマートロックを使用して該自動車140をロックし(例えば、自動車140をスマートロックでロックされた指定車庫内に入れ)、かつそのロック解除パスワードを例えば前のpasscodeに設定する。他の実施例において、該スマートロックは、ネットワーキング機能を有し、かつスマートコントラクト130の制御下で毎回取引する前に新たなパスワードを自動的に生成することができ、それにより前回取引失敗によりパスワードが最終に購入者以外の他人に知られることを防止する。
その後、該スマートコントラクト130自体は例えばウェブページ配信により公衆に知られる。
後に、ステップ2において、自動車を購入しようとするユーザ-2 120は、ウェブページで又は直接的にブロックチェーンネットワーク150でユーザ-1 110が配信したスマートコントラクト130を見つけることができ、該スマートコントラクト130により関連情報(例えば、スマートコントラクト130に関連するウェブページ、又は別の実施例において、スマートコントラクト130において該車両の条件を直接記述する)を了解し、かつ該自動車を購入しようとする場合に該スマートコントラクト130を署名する。具体的には、ユーザ-2 120は、例えば以上の「confirmPurchase()」メンバー方法を呼び出すことにより該コントラクト130に署名することができる。
ユーザ-2 120の署名(又は方法呼び出し)を受信した後、ステップ3において、ブロックチェーンネットワーク150における複数のノードは、該取引を検証することができ、例えばユーザ-1 110が所有者であるか否かを検証し(例えば、車両ID 330524に関連する取引記録をチェックすることにより)、かつユーザ-2 120のアカウントに十分な金額を有して支払いを行い(例えば、以上のコードにおけるconfirmPurchase()方法の修飾子condition(msg.value == 1e19)により検証する)、かつ検証に成功した場合に、ユーザ-2 120にスマートロックのロック解除パスワードを自動的に送信しかつユーザ-2 120のアカウントに対応金額を減少したことを記録し、同時にユーザ-1 110のアカウントに対応金額を増加させることを記録する。
ステップ4において、ユーザ-2 120は、ブロックチェーンネットワーク150からスマートロックのロック解除パスワードを取得した後、取得されたロック解除パスワードにより車両140を抽出することができる。他の実施例において、ユーザ-2 120は、車両140が抽出可能であると判定した後にさらに取引成功を確認し(以上の例示コードに示すように)、対応する振替操作を確認することができる。
いくつかの実施例において、ブロックチェーンネットワーク150は、該取引情報を複数のノード151~154のうちの少なくとも一つのノードに記録することができる。例えば、以上のコードにおいて複数のイベントを送信した時、各ノードに対応するイベントを記録することにより、取引プロセスを記録することができる。
注意すべきこととして、上記に、取引のための簡単なスマートコントラクトの例を示したが、本開示はこれに限定されない。実際には、スマートコントラクト130を修正することができ、それにより、それがより多く又は異なるメンバー変数及び/又はメンバー方法等を含むことができる。以下に説明するように、それはデータ取引のシーンに用いられてもよい。
例えば、データ提供側をユーザ-1 110とし、データ購入側をユーザ-2 120として、かつスマートコントラクトにおいて例えばパラメータ(例えば、メンバー方法又はメンバー変数におけるパラメータ)により双方の間にデータ取引を行う詳細を規定することができ、例えば(これに限らない)、如何にしてデータストリーム、データストリームの価格/料金確定方式を建立するか、如何にしてデータストリームを決済するか、如何にしてデータストリームを終了するか、分岐を発生させる場合の方案、解約条件等がある。ブロックチェーンネットワーク150を採用してこのようなデータ取引を実現する場合、取引データの完全性を維持しにくく、取引の非透明性、取引履歴が追跡しにくく、関連情報が修正されやすいなどの問題をよく解決することができる。
しかしながら、いくつかの状況で、データ購入側は、同時に複数のデータ提供側と取引を行って十分なデータを取得する必要がある場合、例えば、一つの生産設備プロバイダ(データ購入側とする)が、その生産設備を使用する複数の工場(データ提供側とする)からその生産設備のリアルタイム生産データを取得して対応する生産設備を改善する場合、該生産設備プロバイダは、同時に複数の工場とデータストリームを建立し、各工場のデータを取得しかつ各データストリームを支払うことができる。このような状況で、以下の問題が存在する可能性がある:ある一つ又は複数のデータ提供側は一段の期間内にデータを提供しない。例えば生産計画の調整により生産ラインが停止し、データ提供側の生産設備は、設備運営データをアップロードすることができない。また例えば、工業生産設備は、故障により正常に動作することができないため、設備運営データをアップロードすることができない可能性がある。上記状況はいずれもデータ遮断をもたらし、データ購入側の正常な業務に影響を与える。
該問題を解決する方案は以下のとおりである:データ購入側は十分なデータを取得することを保証するために、より多くのデータ提供側とコントラクトを建立することができ、それにより設備の故障によりデータの欠失を回避する。例えば、データ購入側は、正常な場合に2つのデータ提供側のデータを必要とする可能性があるが、そのうちの一つ又はさらに二つのデータ提供側が遮断される場合に十分なデータを取得することを保証するために、データ購入側は一般的に3つ以上のデータ提供側とデータストリームを建立し、かつこれらのデータストリームを支払う。
しかしながら、これは新たな問題を生成する:一方で、データ購入側は追加の費用を支払う必要があり、他方ではデータ購入側は処理能力が有限であるため購入したリアルタイムデータを完全に処理することができず、コスト及びデータ資源の浪費をもたらす可能性がある。
このために、本開示の実施例に係るリアルタイムデータ通信のための方案を提供する。以下、図2~図5を参照して該技術案を詳細に説明する。
図2は、本発明の実施例に係るブロックチェーンに基づくデータ取引シーン20を示す概略図である。該例示的なシーン20において、4つのデータ提供側210-1乃至210-4(以下ではデータ提供側又はデータ送信側210と総称する)と3つのデータ購入側220-1乃至220-3(以下ではデータ購入側又はデータ受信側220と総称する)が存在してもよい。データ提供側210とデータ購入側220はブロックチェーンネットワーク250によりデータ取引を行うことができる。ブロックチェーンネットワーク250は、互いに通信可能な四つのノード251~254を含んでもよい。しかしながら、本開示はこれに限定されない。他の実施例において、より多く、より少ない又は異なるデータ提供側、データ購入側及び/又はブロックチェーンネットワーク250のノードが存在してもよい。
具体的には、各データ提供側210-1乃至210-4はそれぞれブロックチェーンネットワーク250にスマートコントラクトを配信することができ、該スマートコントラクト例えばデータ提供側により提供されたデータストリームのタイプ、価格、データストリームの建立方法の内容などデータ取引に関連する情報を含むことができる。各データ購入側220-1乃至220-3は自身の必要に応じて、対応するスマートコントラクトを署名し、かつ対応する一つ又は複数のデータ提供側と取引を行うことができる。いくつかの実施例において、このようなデータの取引は、データ購入側とデータ提供側との間に建立されたデータストリームにより実現される。
同様に、データ購入側220-1乃至220-3はブロックチェーンネットワーク250にスマートコントラクトを配信することができ、それにより対応するリアルタイムデータストリームを買う。このとき、データ提供側210は自身の能力及び意思に応じて前述の対応するスマートコントラクトを選択し、かつデータストリームを建立することによりデータ取引を実現することができる。他の実施例において、データ提供側210-1乃至210-4及びデータ購入側220-1乃至220-3はそれぞれ自分のスマートコントラクトを配信することにより、それぞれリアルタイムデータを提供するか又は買うことができる。
前記のように、データ購入側220は、設備の故障によるデータの欠失を回避するために実際に必要な数量より多いデータ提供側210とコントラクトを建立する状況で、一方でデータ購入側220は追加の費用を支払う必要がある;他方ではデータ購入側220は処理能力が有限であるため購入したデータを完全に処理することができず、コストの浪費をもたらす可能性がある。
上記問題を少なくとも部分的に解決するか又は軽減するために、本開示の実施例に係るリアルタイムデータ通信のための方法、電子機器及びシステムを提供する。概して、該方案は、必要な定格リソースより多いリソースを有するリソースプールを建立することにより、あるリソースが遮断される場合、他のリソースに自動的に切り替え、それにより任意の時刻にリソース要求を満たすデータ提供側とコントラクトを建立することを保証することができる。以下、図3及び図4を参照してそれぞれリソースプールを建立する二種類の実施例を説明する。
図3は、本開示の実施例に係るリアルタイムデータ取引過程の一例を示すメッセージストリームの模式図である。図3に示すように、該方法は例示的に四つの段階、すなわち形成段階、使用段階、調整段階及び解約段階を含む。しかしながら注意すべきこととして、これらの段階は必ずしも示された順序に応じて現れず、順序を入れ替えることができる。例えば、解約段階は、調整段階又は使用段階の前に現れることができ、それによりデータ購入側及び/又はデータ提供側がスマートコントラクトの規定を満たす場合に取引を随時終了する権利を有することを保証する。また、以下に説明するように、各段階におけるステップは、例えばインターリーブして実行されてもよく、したがって本開示の実施例は、図3に示すステップの実行順序に限定されない。
また、図3に示す実施例は図2におけるデータ購入側220-1、データ提供側210-1、データ提供側210-2及びブロックチェーンネットワーク250のみに関するが、本開示はこれに限定されず、該実施例は、読者が本開示の技術内容を理解するだけに用いられる。他の実施例において、より多くのデータ購入側及び/又はデータ提供側に関することができる。
以下、図2を参照して、図3に示す各段階を詳細に説明する。
形成段階
ステップS310において、データ購入側220-1はブロックチェーンネットワーク250にリソースプールコントラクト(又はより具体的には、データ提供側コントラクト)を配信することができ、該リソースプールコントラクトは、第一数量(この例では2であるが、これに限定されない)のリソース(又はより具体的には、データ提供側)を含むリソースプールの建立をトリガすることができる。いくつかの実施例において、リソースプールコントラクトは、データ提供側識別子リスト、データ提供側切替周期、データストリーム価格及び/又は価格計算方式、データ提供側プールアクセス方法、データ提供側選択方法及びデータストリーム建立方法の少なくとも一つを含むことができる。
例えば、以下の表1には、該スマートコントラクトに含まれるメンバー変数とメンバー方法が示される。
本実施例において、データ提供側をリソースとすることができ、すなわちメンバー変数「最大データ提供側数」を第一数量と呼び、それは、該スマートコントラクトに対応するリソースプールに収容可能なリソース数を限定する。また、メンバー変数「定格データ提供側数」を第二数量と呼び、それはリソースプールにおける同時に動作(又はアクティブ化)するリソースの予想数量を限定し、それは、通常、第一数量より小さい。リソースプールが正常に動作する場合、一般的に少なくとも一つのリソースを予備リソースとし、それはデータストリームの遮断が発生する時にデータ購入側(例えば、データ購入側220-1)とすぐにデータストリームを建立してさらにリアルタイムデータを提供することができ、それによりデータ購入側220-1が当たる可能性があるデータ遮断問題を解決するか又は少なくとも軽減する。また、データストリームを実際に建立してデータ取引を行うことがないため、最低コストでデータ提供側を招待してリソースプールに加入するようにすることができる。換言すれば、リソースプールにおけるリソースがデータ提供側(データ送信側)に対応する場合、データ購入側(又はデータ受信側)はリソースプールにおける第二数量のリソース(即ち、データ提供側又はデータ送信側)とデータストリームを建立することができ、該第二数量は、該リソースプールの最大データ提供側の数量(即ち、第一数量)よりも小さい。したがって、リソース自体はデータ提供側に対応してもよく、データ購入側(又はデータ受信側)とリソースプールにおける第二数量のリソースに対応するデータ提供側(又はデータ送信側)とデータストリームを建立すると考えてもよい。
図3に戻り、ステップS315a及びステップS315bにおいて、データ提供側210-1及び210-2はそれぞれデータ購入側220-1により配信された該リソースプールコントラクトを署名することができる。例えば、その「データ提供側プールアクセス方法()」を呼び出すことにより対応するデータ提供側をリソースプールに加入することを実現することができる。注意すべきこととして、この二つのステップは同時又は少なくとも部分的に順次実行することができる。
ステップS320において、ブロックチェーンネットワーク250は、加入したデータ提供側210-1及び210-2に基づいてリソースプールを形成することができる。図3に示す実施例において、例えば配信されたリソースプールコントラクトにおいて「最大データ提供側数」が2であることを限定しているため、リソースプールはデータ提供側210-1及び210-2の二つのリソースを含むことができる。いくつかの実施例において、次に、リソースプールの使用段階に入ることができる。
また、表1に示すように、データ提供側プールアクセス方法は、プールアクセスルールを含むことができ、それは、リソースプールに加入したデータ提供側が満たすべきルールを指定することができる。例えば、該ルールは、データ提供側により提供されたデータの内容、品質、価格又はデータ提供側の評判スコアなどに関連することができる。例えば、プールアクセスルールは以下のとおりであってもよい:データ提供側により提供されたデータの内容は関連する要求を満たす必要がある;データの品質又はデータ提供側の評判スコアはある閾値より高い;又はデータの価格はある閾値より低いなどである。リソースプールを形成する時に、データ提供側自身がリソースプールへの加入を主動的に要求することであってもよく、ブロックチェーンネットワーク250がプールアクセスルールを満たすデータ提供側にリソースプールへの加入という招待を送信することであってもよく、かつ該データ提供側がリソースプールに加入することを同意する場合に、該データ提供側の識別子をリソースプールコントラクト中のデータ提供側リストに追加することにより該データ提供側をリソースプールに加入する。また、プールアクセスルールを満たすデータ提供側がリソースプールへの加入を同意しないと、ブロックチェーンネットワーク250はプールアクセスルールを満たす別のデータ提供側を見つけてそれにリソースプールへの加入という招待を送信することができる。該プロセスは、リソースプールにリソースプールコントラクトに指定された第一数量のリソースが含まれるまで、繰り返して実行することができる。
使用段階
ステップS330において、ブロックチェーンネットワーク250における一つ又は複数のノード又はデータ購入側220-1は、リソースプールコントラクトにおけるデータ提供側選択方法を呼び出して第二数量のデータ提供側を選択することができる。いくつかの実施例において、第二数量は第一数量よりも小さくてもよい。図3に示す実施例において、ブロックチェーン250は、データ提供側210-1を選択することができる。いくつかの実施例において、データ提供側選択方法は、例えばデータ品質に基づく選択方法、データ価格に基づく選択方法、データ提供側の評判スコアに基づく選択方法等であってもよい。他の実施例において、データ提供側選択方法は、ランダムな選択方法であってもよい。
次に、ステップS335a及び/又はS335bにおいて、ブロックチェーン250は、それぞれデータ購入側220-1及びデータ提供側210-1が互いにデータストリームを建立するように指示することができる。例えば、リソースプールコントラクト中の「データストリームの建立方法()」を呼び出すことにより両者の間のデータストリームを建立することができる。例えば、該方法において、データ購入側220-1又はデータ提供側210-1に相手の情報を提供し、かつそれに基づいて相手とのデータストリームを建立することができる。他の実施例において、データストリームを監視する必要がある場合、ブロックチェーンネットワーク250はそれぞれデータ購入側220-1及びデータ提供側210-1とデータストリームを建立し、かつ二つのデータストリームの間で転送することができ、それによりデータストリームを監視することができ、かつ例えばこれに基づいて公平、公開、公正の課金処理(例えば、データストリームの伝送するデータ量、遮断するか否か等)を行う。
ステップS340において、データ購入側220-1は、建立されたデータストリームによりデータ提供側210-1からリアルタイムデータを受信しかつ対応する処理を行うことができる。
以上の実施例において、データストリームを建立するステップS335a及び/又はS335bは、ブロックチェーンネットワーク250がリソースプールを形成するステップS320の後に実行される。しかしながら、本発明はこれに限定されるものではない。実際に、他の実施例において、データストリームを建立するステップS335a及び/又はS335bは先に実行するか又はリソースプールの形成と同期して実行することができ、例えばデータ購入側220-1がリソースプールコントラクトを配信する前に又は同時に、それはデータ提供側210-1とリアルタイムデータを伝送するためのデータストリームを建立し、かつその後に例えば形成段階により、リソースプールコントラクトを再署名し、かつ建立されたデータストリームのデータ提供側210-1を該リソースプールに入れ、リソースプールにおける一つのリソースとする。
調整段階
調整段階において、ブロックチェーンネットワーク250のうちの一つ又は複数のノードがリソース切替条件を満たすと決定する場合、再びリソースプールコントラクト中のデータ提供側選択方法を呼び出して第二数量のデータ提供側を改めて選択することができる。いくつかの実施例において、リソース切替条件は、リソース切替周期であってもよい。別の実施例において、リソース切替条件は、データストリームの遮断であってもよい。該データストリームの遮断は、データ提供側の設備故障によるものである可能性がある。
例えば、図3の実施例において、ステップS350において、ブロックチェーンネットワーク250における一つ又は複数のノードはデータストリームの遮断が発生することを検出し、例えば以下に図5に示す方式で検出する。ステップS355において、ブロックチェーンネットワーク250における一つ又は複数のノードは例えば「データ提供側選択方法()」を呼び出すことによりデータ提供側(例えば、データ提供側210-2)を改めて選択することができる。
次に、ステップS335a及びステップS335bと同様に、ステップS360a及び/又はS360bにおいて、ブロックチェーン250のうちの一つ又は複数のノードはそれぞれデータ購入側220-1及びデータ提供側210-2がデータストリームの一部を建立しかつ最終的にブロックチェーンネットワークにより転送されたデータストリームを形成するように指示し、又はそのうちの一方と他方がそれらの間にデータストリームを直接的に建立するように指示することができる。
ステップS365において、データ購入側220-1は、新たに建立されたデータストリームにより改めて選択されたデータ提供側210-2からリアルタイムデータを受信することができる。
解約段階
ステップS370a及びステップS370bにおいて、データ購入側220-1及び/又はデータ提供側210-2は、ブロックチェーンネットワーク250にリソースプールコントラクトを解除するための要求を送信することができる。例えば、いくつかの実施例において、データ提供側210-2は、サービスを停止してメンテナンスする必要がある場合、それは該リソースプールから一時的にログアウトすることを考慮することができ、したがってステップS370bにおいてリソースプールコントラクトに対する解除を発動することができる。他の実施例において、データ購入側220-1が設備を一時的にメンテナンスする必要がある場合、リソースプールコントラクトの解除を発動してもよい。当然のことながら、これらのリソースプールコントラクトの解除要求は、前に配信されたリソースプールコントラクトに存在する可能性がある関連規定、例えばリソースプールコントラクトの期間等に違反すべきではない。また、他の実施例において、データ購入側S220-1が必要なデータを取得した後、それはリソースプールコントラクトの解除を発動してもよい。
ステップS375において、ブロックチェーンネットワーク250における一つ又は複数のノードはデータ購入側220-1及び/又はデータ提供側210-2がコントラクト解除条件を満たすか否かを判断することができる。例えば、データ購入側220-1に対して、コントラクト解除条件は、データ購入側がデータを支払うか否かであってもよい。データ提供側210-2に対して、コントラクト解除条件は、データ提供側が十分なデータを提供するか否か等であってもよい。また、前記のように、両方が他の解約条件、例えばリソースプールコントラクトの期間等を満たすか否かを検査することができる。
ブロックチェーンネットワーク250における一つ又は複数のノードが、データ購入側220-1及び/又はデータ提供側210-2がコントラクト解除条件を満たすと決定した場合、ステップS380a及び/又はS380bにおいて、ブロックチェーンネットワーク250における一つ又は複数のノードはデータ購入側220-1及び/又はデータ提供側210-2がコントラクトを解除しかつ両者間のデータストリームを取り外すように指示することができる。例えば、前述した、両者間にデータストリームを直接建立する場合に、両者のうちの一つがデータストリームを取り外すように指示することができ、データストリームがブロックチェーンネットワーク250を介して建立される場合に、両者にそれぞれデータストリームを取り外すことを指示することができる。
ステップS385において、データ購入側220-1とデータ提供側210-2との間のデータストリームが取り外され、かつコントラクトが終了する。
このように、図3に示すデータ通信方法を採用することにより、リソースプールを建立することによりデータ購入側220-1に予備リソース(例えば、データ提供側210-2の予備データストリーム)を提供することにより、あるデータストリーム(例えば、データ提供側210-1のデータストリーム)が遮断された場合に新たなデータストリームをタイムリーに建立することができないことを防止することができる。また、このように建立されたデータストリームの関連情報はいずれもブロックチェーンネットワークに保持され、それにより良好なトレーサビリティを有することができ、コントラクト両方がデータ取引業務を管理し、メンテナンスすること等を容易にする。
図4は、本開示の別の実施例に係るリアルタイムデータ取引プロセスの一例を示すメッセージストリームの模式図である。図3と類似し、該方法は、四つの段階、すなわち形成段階、使用段階、調整段階及び解決段階を例示的に含む。しかしながら、注意すべきこととして、これらの段階は必ずしも示された順序に応じて現れず、順序を入れ替えることができる。例えば、解約段階は、調整段階又は使用段階の前に現れることができ、それによりデータ購入側及び/又はデータ提供側がスマートコントラクトの規定を満たす場合に取引を随時終了することを保証する。また、図4に示す実施例は、図2におけるデータ購入側220-1、データ提供側210-1、データ提供側210-2及びブロックチェーンネットワーク250のみに関するが、本開示はこれに限定されず、該実施例は、読者が本開示の技術的内容を理解するだけに用いられる。他の実施例において、より多くのデータ購入側及び/又はデータ提供側に関することができる。
以下、図2を参照して、図4に示す各段階について詳細に説明する。
形成段階
ステップ410において、データ購入側220-1は、ブロックチェーンネットワーク250にリソースプールコントラクトを配信することができる。図3と類似し、該リソースプールコントラクトは第一数量(この例では2であるが、これに限定されない)のリソース(より具体的には、データストリーム)を含むリソースプール(より具体的には、データストリームコントラクトプール、データストリームプール)を建立するようにトリガする。いくつかの実施例において、リソースプールコントラクトは、:データストリームコントラクト識別子リスト、データストリームコントラクト切替周期、データストリームコントラクトのプールアクセス方法、及びデータストリームコントラクトの選択方法の少なくとも一つを含むことができる。他の実施例において、リソースプールコントラクトはさらに現在のデータストリーム数量及び現在のデータストリームリストのうちの一つ又は複数を付加的又は代替的に含むことができる。データストリームコントラクトのプールアクセス方法は、データストリームプールアクセス条件又はルールを含むことができる。
例えば、以下の表2には該スマートコントラクトに含まれるメンバー変数とメンバー方法が示される。
表1に示すメンバーテーブルとは異なり、表2においてリソースは、データ提供側ではなく「データストリームコントラクト」(又はデータストリーム)であってもよい。換言すれば、図4に示す実施例において、データ購入側220-1が建立しようとするリソースプールは、データストリームに対するリソースプールであり、データ提供側に対するリソースプールではない。また、表2におけるメンバー方法は、表1におけるメンバー方法と比較して、データストリームの建立方法()がなく、これは、各データ提供側により提供されたデータストリームコントラクトに該方法を実現することができるためであり、例えば以下の説明を参照する。
図3に示す実施例と類似に、リソースプールにおけるリソースがデータストリームコントラクト(又はデータストリーム)に対応する場合、データ購入側(又はデータ受信側)は対応するデータ提供側(又はデータ送信側)とデータストリームを建立することができ、これらのデータ提供側は、リソースプールにおける第二数量のデータストリームコントラクト(又はデータストリーム)に対応する。
ステップS415a及びS415bにおいて、データ提供側210-1及びデータ提供側210-2はそれぞれブロックチェーンネットワーク250に自分のデータストリームコントラクトを配信することができる。いくつかの実施例において、該データストリームコントラクトは、データストリームコントラクト識別子、データ提供側の識別子、データストリーム価格及び/又は価格計算方式、内容情報、データストリーム建立方法及びデータフロープール加入方法の少なくとも一つを含むことができる。
例えば、以下の表3には該スマートコントラクトに含まれるメンバー変数とメンバー方法が示される。
ステップS420において、ブロックチェーンネットワーク250における一つ又は複数のノードはそれぞれデータ提供側210-1とデータ提供側210-2が配信したデータストリームコントラクトがリソースプールコントラクト中のプールアクセス条件を満たすか否かを判断することができる。例えば、データ購入側220-1が配信したリソースプールコントラクトの「データストリームコントラクトのプールアクセス方法()」(表2を参照する)はデータ提供側210-1及び/又は210-2により配信されたデータストリームコントラクト中の「データプールの加入方法()」を呼び出すことができ(表3を参照)、又は逆に(この二つの方法の具体的な実現に依存する)、それが該リソースプールに加入することができるか否かを判断する。
データ提供側210-1とデータ提供側210-2が配信したデータストリームコントラクトがリソースプールコントラクト中のプールアクセス条件を満たす場合、ブロックチェーンネットワーク250のうちの一つ又は複数のノードはステップS425でリソースプール(又はデータストリームコントラクトプール、データストリームプール)を形成することができる。該例示では、データストリームコントラクトプールは、データ提供側210-1及び210-2により提供されたデータストリームコントラクトを含むことができる。
いくつかの実施例において、プールアクセス条件又はルールは、データ提供側により提供されたデータの内容、品質、価格又はデータ提供側の評判スコア等に関連することができる。例えば、プールアクセス条件又はルールは、データストリームの内容が関連要件を満たすか又はデータストリームの価格がある閾値より低いことであってもよい。また、図3に示す実施例と類似し、リソースプールを形成する場合に、データ提供側のデータストリームコントラクト自分がリソースプールに加入することを主動的に要求することであってもよく、ブロックチェーンネットワーク250がプールアクセスルールを満たすデータ提供側のデータストリームコントラクトにリソースプールを加入する招待を送信し、かつ該データストリームコントラクトがリソースプールに加入することを同意する場合に該データストリームコントラクトの識別子をリソースプールコントラクト中のデータストリームコントラクト識別子リストに加入することにより該データストリームコントラクトをリソースプールに加入する。また、プールアクセスルールを満たすデータストリームコントラクトがリソースプールに加入することに同意しない場合、ブロックチェーンネットワーク250は、プールアクセスルールを満たす別のデータストリームコントラクトを見つけてそれにそのプールアクセス方法を呼び出すことができる。該プロセスは、リソースプールにリソースプールコントラクトに指定された第一数量のリソース(即ち、データストリームコントラクト)が含まれるまで、繰り返し実行することができる。
使用段階
ステップS430において、ブロックチェーンネットワーク250における一つ又は複数のノードはリソースプールコントラクトにおけるデータストリーム選択方法を呼び出して第二数量のデータストリームコントラクトを選択する。いくつかの実施例において、第二数量は第一数量よりも小さくてもよい。図4に示す実施例において、ブロックチェーン250のうちの一つ又は複数のノードは、データ提供側210-1が提供したデータストリームコントラクトを選択することができる。いくつかの実施例において、データストリーム選択方法は、例えばデータ品質に基づく選択方法、データ価格に基づく選択方法、データ提供側の評判スコアに基づく選択方法等であってもよい。他の実施例において、データストリーム選択方法はランダムな選択方法であってもよい。
ステップS435a及びS435bにおいて、ブロックチェーンネットワーク250における一つ又は複数のノードはそれぞれデータ購入側220-1及びデータ提供側210-1が互いにデータストリームを建立するように指示することができる。例えば、データ提供側210-1が配信したデータストリームコントラクトにおける「データストリームの建立方法()」を呼び出すことにより両者の間のデータストリームを建立することができる。図3に示す実施例と類似し、該データストリームは、ブロックチェーンネットワーク250により建立されてもよく、両者の間に直接建立されてもよい。
ステップS440において、データ購入側220-1は建立されたデータストリームによりデータ提供側210-1からリアルタイムデータを受信しかつ対応する処理を行うことができる。
調整段階
ブロックチェーンネットワーク250における一つ又は複数のノードがデータストリーム切替条件を満たすと決定する場合、リソースプールコントラクトにおけるデータストリームコントラクトの選択方法を呼び出して第二数量のデータストリームコントラクトを改めて選択することができる。いくつかの実施例において、リソース切替条件はリソース切替周期であってもよい。別の実施例において、リソース切替条件はデータストリームの中断であってもよい。該データストリームの中断はデータ提供側の設備の故障に起因する可能性がある。
図4の実施例において、ステップS450において、ブロックチェーンネットワーク250における一つ又は複数のノード又はデータ購入側220-1はデータ購入側220-1とデータ提供側210-1との間のデータストリームの中断を検出し、例えば以下に図5に示す方式で検出する。ステップS455において、ブロックチェーンネットワーク250における一つ又は複数のノードは「データストリームコントラクトの選択方法()」に基づいてデータ提供側(例えば、データ提供側210-2)により提供されたデータストリームコントラクトを改めて選択することができる。
次に、ステップS435a及びS435bと類似に、ステップS460a及び/又はS460bにおいて、ブロックチェーン250のうちの一つ又は複数のノードはそれぞれデータ購入側220-1及びデータ提供側210-2が互いにデータストリームを建立するように指示し、又はそのうちの一方と他方にデータストリームを建立するように指示することができる。
ステップS465において、データ購入側220-1は新たに建立されたデータストリームにより改めて選択されたデータ提供側210-2からリアルタイムデータを受信することができる。
解約段階
ステップS470a及びステップS470bにおいて、データ購入側220-1及び/又はデータ提供側210-2はブロックチェーンネットワーク250にリソースプールコントラクトを解除するための要求を送信することができる。例えば、いくつかの実施例において、データ提供側210-2はサービスを停止してメンテナンスする必要がある場合、それは該リソースプールから一時的にログアウトすることを考慮することができ、したがってステップS370bにおいて自分に配信されたデータストリームコントラクトに対する解除を発動することができる。別の実施例において、データ購入側220-1が設備を一時的にメンテナンスする必要がある場合、自分に配信されたリソースプールコントラクトに対する解除を発動してもよい。当然のことながら、これらのリソースプールコントラクト又はデータストリームコントラクトの解除要求は前に配信されたリソースプールコントラクト及び/又はデータストリームコントラクトに存在する可能性のある関連規定、例えばリソースプールコントラクトの期間、データストリームコントラクトの期間等に違反すべきではない。また、いくつかの実施例において、データ購入側S220-1は必要なデータを取得した後、それはリソースプールコントラクトに対する解除を発動してもよい。
図4に示された後続のステップは図3に示された対応するステップとほぼ類似し、かつ説明を省略する。
図3又は図4の実施例によれば、ブロックチェーンネットワーク250における一つ又は複数のノードがリソース切替条件を満たすと決定する場合、リソースプールコントラクトにおけるリソース選択方法(例えば、表1におけるデータ提供側選択方法又は表2におけるデータストリームコントラクトの選択方法)を呼び出して第二数量のリソースを改めて選択することができ、ここで該リソース切替条件はデータストリームの遮断又は周期的であってもよい。
データ取引において、データ提供側からデータ購入側に提供されたデータストリームは、内容情報以外に、一般的にタイムスタンプ、データ提供側の識別子などの情報を含むことができる。異なる時刻に検出されたデータストリームの情報に基づいてデータストリームの遮断が発生したか否かを判断することができる。
図5は、本開示の実施例に係るデータストリームの遮断を検出する概略図である。図5の実施例において、ブロックチェーンネットワーク(例えば、ブロックチェーンネットワーク250)のうちの一つ又は複数のノードは、チェック時刻T1及びチェック時刻T2に取得されたデータストリームにおけるタイムスタンプ及び/又はデータ提供方法識別子を判断することにより、データがリアルタイムデータであるか否か及び/又はデータストリームの遮断が発生したか否かを判断することができる。例えば、チェック時刻T1において、ブロックチェーンネットワークにおける一つ又は複数のノード又はデータ購入側220-1は、データストリームにおけるデータ提供側識別子により、現在、3つのデータ提供側210-1乃至210-3がデータ購入側220-1にデータを提供していると判断することができる。チェック時刻T2において、ブロックチェーンネットワークにおける一つ又は複数のノード又はデータ購入側220-1は、データストリームにおけるデータ提供側識別子により、現在、2つのデータ提供側210-1及び210-2がデータ購入側220-1にデータを提供していると判断することができる。チェック時刻T1及びT2で取得されたデータストリームを比較することにより、ブロックチェーンネットワークにおける一つ又は複数のノード又はデータ購入側220-1は、チェック時刻T2においてデータ提供側210-3がデータ購入側220-1にデータを提供しないと決定することができ、これによりデータ提供側210-3とデータ購入側220-1との間にデータストリームの遮断が発生する可能性があると決定する。
図6は、本開示の実施例に係るデータ受信側の電子機器において実行可能な方法600のフローチャートを示す。
方法600は、以下を含むことができる:ステップS610において、ブロックチェーンネットワークにリソースプールコントラクトを配信することができ、該リソースプールコントラクトは第一数量のリソースを含むリソースプールを建立するようにトリガする。
方法600は、さらに以下を含むことができる:ステップS620において、リソースプールにおける第二数量のリソースに対応するデータ提供側とデータストリームを建立することができ、ここで、該第二数量は第一数量よりも小さい。
方法600はさらに以下を含むことができる:ステップS630において、データストリームによりデータ提供側から送信されたリアルタイムデータを受信することができる。
いくつかの実施例において、リソースプールコントラクトは、リソース選択方法を含むことができる。該リソース選択方法は、ブロックチェーンネットワークにおける一つ又は複数のノードがリソース切替条件を満たすと判断する時に呼び出されることにより、データ購入側が第二数量のリソースに対応するデータ提供側とデータストリームを建立する。いくつかの実施例において、リソース選択方法は、さらにブロックチェーンネットワークにおける一つ又は複数のノードにより呼び出されてもよく、それによりリソースプールにおける現在のデータ受信側との対応するデータストリームが存在するリソース以外のリソースを選択し、かつデータ受信側が選択されたリソースに対応するデータ提供側と新たなデータストリームを建立する。いくつかの実施例において、リソース切替条件は、リソース切替周期、及びデータストリームの遮断の一つ又は複数を含むことができる。いくつかの実施例において、リソースプールコントラクトは、リソースプールアクセス方法を含むことができ、リソースプールアクセス方法は、リソースプールアクセスルールを含むことができる。該リソースプールアクセス方法は、ブロックチェーンネットワークにおける一つ又は複数のノードがリソースがリソースプールアクセスルールを満たすと決定する場合にリソースをリソースプールに加入するようにトリガする。いくつかの実施例において、リソースプールにおけるリソースは、データ提供側又はデータストリームコントラクトのうちの少なくとも一つであってもよい。リソースがデータ提供側である場合、リソースプールコントラクトは、データ提供側識別子リスト、データ提供側切替周期、データストリーム価格及び/又は価格計算方式、データ提供側プールアクセス方法、データ提供側選択方法、及びデータストリーム建立方法の少なくとも一つを含むことができる。リソースがデータストリームコントラクトである場合、リソースプールコントラクトは、データストリームコントラクト識別子リスト、データストリームコントラクト切替周期、データストリームコントラクトのプールアクセス方法、及びデータストリームコントラクトの選択方法の少なくとも一つを含むことができる。リソースがデータストリームコントラクトである場合、ステップS620は、以下を含むことができる:リソースプールコントラクトにおけるデータストリーム建立方法を実行して、第二数量に対応するリソースを超えないデータ送信側とデータストリームを建立し、又はリソースプールコントラクトにおけるデータストリームコントラクトの選択方法を実行して、第二数量を超えないデータストリームコントラクトをトリガし、第二数量のデータストリームコントラクトに対応するデータ送信側とデータストリームを建立する。
図7は、本開示の実施例に係るデータ送信側の電子機器において実行可能な方法700のフローチャートを示す。
方法700は以下を含むことができる:ステップS710において、ブロックチェーンネットワークからリソースプールコントラクトを受信することができ、該リソースプールコントラクトは第一数量のリソースを含むリソースプールを建立するようにトリガし、該リソースプールコントラクトはさらにリソースプールにおける予期された同時にアクティブ化すべきリソースの第二数量を指示するパラメータを含むことができ、該第二数量は第一数量よりも小さくてもよい。
方法700はさらに以下を含むことができる:ステップS720において、ブロックチェーンネットワークにリソースプールへの加入を同意することを指示するメッセージを送信することができる。
いくつかの実施例において、方法700はさらに以下を含むことができる:データストリームコントラクトを実行するブロックチェーンネットワークの協調で、リソースプールコントラクトを配信したデータ購入側とデータストリームを建立することができる;及び建立されたデータストリームにより対応するデータ購入側にリアルタイムデータを送信する。
図8は、本開示の実施例に係るデータ送信側の電子機器において実行可能な他の方法800のフローチャートを示す。
方法800は以下を含むことができる:ステップS810において、ブロックチェーンネットワークにデータストリームコントラクトを配信することができ、該データストリームコントラクトは、データ提供側により提供されたデータストリームをリソースとしてリソースプールに加入するようにトリガし、該リソースプールは、データ購入側により配信されたリソースプールコントラクトによってトリガされて建立された第一数量のリソースを含むリソースプールであってもよく、該リソースプールコントラクトは、さらにリソースプールにおける予期された同時にアクティブ化すべきリソースの第二数量を指示するパラメータを含むことができ、該第二数量は第一数量よりも小さくてもよい。
方法800はさらに以下を含むことができる:ブロックチェーンネットワークから、データストリームコントラクトがリソースプールに加入したことを指示するメッセージを受信することができる。いくつかの実施例において、方法800はさらに以下を含むことができる:データストリームコントラクトを実行するブロックチェーンネットワークの協調で、リソースプールコントラクトを配信したデータ購入側とデータストリームを建立することができる;及び建立されたデータストリームにより対応するデータ購入側にリアルタイムデータを送信する。いくつかの実施例において、データストリームコントラクトは、:データストリームコントラクト識別子、データ提供側の識別子、データストリーム価格及び/又は価格計算方式、内容情報、データストリーム建立方法、及びリソースプール加入方法の少なくとも一つを含むことができる。
図9は、本開示の実施例に係るリアルタイムデータ通信用の電子機器900(例えば、図2~図5に示されたデータ提供側210及びデータ購入側220のうちのいずれか)のハードウェアの概略配置図である。ハードウェア配置900は、プロセッサ又はコントローラ906(例えば、デジタルシグナルプロセッサ(DSP)、中央処理ユニット(CPU)等)を含むことができる。プロセッサ906は、本明細書で説明したフローの異なる動作を実行するための単一の処理ユニット又は複数の処理ユニットであってもよい。配置900は、さらに他のエンティティから信号を受信するための入力ユニット902、及び他のエンティティに信号を提供するための出力ユニット904を含むことができる。なお、入力ユニット902及び出力ユニット904は、単一のエンティティであってもよいし、別々のエンティティであってもよい。
また、配置900は不揮発性又は揮発性メモリの形式を有する少なくとも一つの読み取り可能な記憶媒体908を含むことができ、例えば電気的消去可能なプログラマブルリードオンリーメモリ(EEPROM)、フラッシュメモリ、及び/又はハードディスクドライブである。可読記憶媒体908は、コンピュータプログラム910を含み、該コンピュータプログラム910はコード/コンピュータ読み取り可能な指令を含み、それは配置900におけるプロセッサ909により実行される時にハードウェア配置900及び/又はハードウェア配置900を含む設備は例えば図3~5を参照して説明されたフロー及びその任意の変形を実行することができる。
コンピュータプログラム910は、例えば、コンピュータプログラムモジュール910A~910Cアーキテクチャを有するコンピュータプログラムコードとして構成することができる。したがって、例えばデータ購入側220においてハードウェア配置900を使用する場合の例示的な実施例において、配置900のコンピュータプログラムにおけるコードは、以下を含むことができる:モジュール910Aであって、ブロックチェーンネットワークにリソースプールコントラクトを配信することに用いられ、該リソースプールコントラクトは第一数量のリソースを含むリソースプールを建立するようにトリガする;モジュール910Bであって、該リソースプールにおける第二数量のリソースに対応するデータ送信側とデータストリームを建立し、該第二数量が該第一数量より小さい;及びモジュール910Cであって、該データストリームによりデータ送信側が送信したリアルタイムデータを受信する。
また、例えばデータ提供側210においてハードウェア配置900を使用する場合の例示的な実施例において、配置900のコンピュータプログラムにおけるコードは以下を含むことができる:モジュール910Dであって、ブロックチェーンネットワークからリソースプールコントラクトを受信することに用いられ、該リソースプールコントラクトは第一数量のリソースを含むリソースプールを建立するようにトリガし、該リソースプールコントラクトはさらにリソースプールにおける予期された同時にアクティブ化すべきリソースの第二数量を指示するパラメータを含み、該第二数量は第一数量より小さい;及びモジュール910Eであって、ブロックチェーンネットワークにリソースプールへの加入を同意することを指示するメッセージを送信する。
また、他の実施例において、例えばデータ提供側210においてハードウェア配置900を使用する時の例示的な実施例において、配置900のコンピュータプログラムにおけるコードは以下を含むことができる:モジュール910Dであって、ブロックチェーンネットワークにデータストリームコントラクトを配信し、データストリームコントラクトはデータ提供側により提供されたデータストリームをリソースとしてリソースプールに加入するようにトリガし、リソースプールはデータ受信側により配信されたリソースプールコントラクトによってトリガされて建立された第一数量のリソースを含むリソースプールであり、リソースプールコントラクトはさらにリソースプールにおける予期された同時にアクティブ化すべきリソースの第二数量を指示するパラメータを含み、第二数量は第一数量より小さい;及びモジュール910Eであって、ブロックチェーンネットワークからデータストリームコントラクトがリソースプールに加入したことを指示するメッセージを受信する。
コンピュータプログラムモジュールは実質的に図3~5に示されたフローにおける各動作を実行することができ、それによりデータ提供側210及び/又はデータ購入側220をシミュレーションする。換言すれば、プロセッサ又はコントローラ909において異なるコンピュータプログラムモジュールを実行する場合、それらはデータ提供側210及び/又はデータ購入側220における異なるユニット又はモジュールをシミュレーションすることに対応することができる。
以上は図9に開示された実施例におけるコード手段がコンピュータプログラムモジュールとして実現され、プロセッサ906において実行される時にハードウェア配置900に図3~5を参照して説明された動作を実行させるが、選択実施例において、該コード手段のうちの少なくとも一つは少なくとも部分的にハードウェア回路として実現されてもよい。
プロセッサは単一のCPU(中央処理ユニット)であってもよいが、二つ以上の処理ユニットを含むことができる。例えば、プロセッサは汎用マイクロプロセッサ、指令セットプロセッサ及び/又は関連チップセット及び/又は専用マイクロプロセッサ(例えば、専用集積回路(ASIC))を含むことができる。プロセッサはさらにキャッシュ用途のためのオンボードメモリを含むことができる。コンピュータプログラムは、プロセッサに接続されたコンピュータプログラム製品によって担持されていてもよい。コンピュータプログラム製品は、コンピュータプログラムが格納されたコンピュータ可読媒体を含んでもよい。例えば、コンピュータプログラム製品はフラッシュメモリ、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、EEPROMであってもよく、かつ上記コンピュータプログラムモジュールは選択実施例において電子機器内のメモリの形式で異なるコンピュータプログラム製品に分布することができる。
以上は好ましい実施例を合わせて本開示を説明した。理解すべきことは、当業者は本開示の精神及び範囲から逸脱することなく、様々な他の変更、置換及び加入を行うことができる。したがって、本開示の範囲は上記特定の実施例に限定されるものではなく、添付の請求項により限定されるべきである。
902 入力ユニット
904 出力ユニット
906 プロセッサ
908 可読記憶媒体
904 出力ユニット
906 プロセッサ
908 可読記憶媒体
Claims (17)
- データ受信側の電子機器で実行されるリアルタイムデータ通信のための方法であって、
ブロックチェーンネットワークにリソースプールコントラクトを配信し、前記リソースプールコントラクトが第一数量のリソースを含むリソースプールを建立するようにトリガすることと、
前記リソースプールにおける第二数量のリソースに対応するデータ送信側とデータストリームを建立し、前記第二数量が前記第一数量より小さいことと、
前記データストリームにより前記データ送信側が送信したリアルタイムデータを受信することと、を含む
リアルタイムデータ通信の方法。 - 前記リソースプールコントラクトはリソース選択方法を含み、前記リソース選択方法が前記ブロックチェーンネットワークにおける一つ又は複数のノードがリソース切替条件を満たすと判断する時に呼び出されることにより、前記データ受信側が前記リソースプールにおける第二数量のリソースに対応するデータ送信側とデータストリームを建立する
請求項1に記載の方法。 - 前記リソース選択方法は、さらに、前記ブロックチェーンネットワークにおける一つ又は複数のノードにより呼び出され、それにより前記リソースプールにおける現在の前記データ受信側との対応するデータストリームが存在するリソース以外のリソースを選択し、かつ前記データ受信側が選択されたリソースに対応するデータ提供側と新たなデータストリームを建立する
請求項2に記載の方法。 - 前記リソース切替条件は、
リソース切替周期、及び
データストリーム遮断、のうちの一つ又は複数を含む
請求項2に記載の方法。 - 前記リソースプールコントラクトはリソースプールアクセス方法を含み、前記リソースプールアクセス方法は、リソースプールアクセスルールを含み、
前記リソースプールアクセス方法は、前記ブロックチェーンネットワークにおける一つ又は複数のノードが前記リソースプールアクセスルールを満たすと決定する場合に前記リソースを前記リソースプールに加入するようにトリガする
請求項1に記載の方法。 - 前記リソースプールにおけるリソースは、データ送信側又はデータストリームコントラクトのうちの少なくとも一つである
請求項1~5のいずれか一項に記載の方法。 - 前記リソースがデータ送信側である場合、前記リソースプールコントラクトは、さらに、
データ送信者識別子リスト、
データ送信側切替周期、
データストリーム価格及び/又は価格計算方式、
データ送信側プールアクセス方法、
データ送信側選択方法、および
データストリーム建立方法、の少なくとも一つを含む
請求項6に記載の方法。 - 前記リソースがデータストリームコントラクトである場合、前記リソースプールコントラクトは、さらに、
データストリームコントラクト識別子リスト、
データストリームコントラクト切替周期、
データストリームコントラクトのプールアクセス方法、及び
データストリームコントラクトの選択方法、の少なくとも一つを含む
請求項6に記載の方法。 - 前記リソースプールにおける第二数量のリソースに対応するデータ送信側とデータストリームを建立するステップは、
前記リソースプールコントラクトにおけるデータストリーム建立方法を実行し、前記第二数量に対応するリソースを超えないデータ送信側とデータストリームを建立すること、又は
前記リソースプールコントラクトにおけるデータストリームコントラクトの選択方法を実行し、前記第二数量を超えないデータストリームコントラクトをトリガすることにより、前記リソースプールにおける前記第二数量のデータストリームコントラクトに対応するデータ送信側とデータストリームを建立すること、を含む
請求項7又は8に記載の方法。 - データ受信側に使用される第一電子機器であって、
プロセッサ、
前記プロセッサにより実行される時に前記第一電子機器に請求項1~9のいずれか一項に記載の方法を実行させる指令を記憶するメモリと、を含む
第一電子機器。 - データ送信側の電子機器で実行されるリアルタイムデータ通信のための方法であって、
ブロックチェーンネットワークからリソースプールコントラクトを受信し、前記リソースプールコントラクトは第一数量のリソースを含むリソースプールを建立するようにトリガし、前記リソースプールコントラクトは、さらに、前記リソースプールにおける予期された同時にアクティブ化すべきリソースの第二数量を指示するパラメータを含み、前記第二数量は前記第一数量より小さいことと、
前記ブロックチェーンネットワークに前記リソースプールへの加入を同意することを指示するメッセージを送信することと、を含む
リアルタイムデータ通信のための方法。 - 前記リソースプールコントラクトを実行する前記ブロックチェーンネットワークの協調で、前記リソースプールコントラクトを配信するデータ受信側とデータストリームを建立することと、
建立されたデータストリームにより対応するデータ受信側にリアルタイムデータを送信することと、をさらに含む
請求項11に記載の方法。 - データ送信側の電子機器で実行されるリアルタイムデータ通信のための方法であって、
ブロックチェーンネットワークにデータストリームコントラクトを配信し、前記データストリームコントラクトは、データ提供側により提供されたデータストリームをリソースとしてリソースプールに加入するようにトリガし、前記リソースプールはデータ受信側により配信されたリソースプールコントラクトによってトリガされて建立された第一数量のリソースを含むリソースプールであり、前記リソースプールは、さらに、前記リソースプールにおける予期された同時にアクティブ化すべきリソースの第二数量を指示するパラメータを含み、前記第二数量は前記第一数量より小さいことと、
前記ブロックチェーンネットワークから前記データストリームコントラクトが前記リソースプールに加入したことを指示するメッセージを受信することと、を含む
リアルタイムデータ通信のための方法。 - 前記データストリームコントラクトを実行する前記ブロックチェーンネットワークの協調で、前記リソースプールコントラクトを配信するデータ受信側とデータストリームを建立することと、
建立されたデータストリームにより対応するデータ受信側にリアルタイムデータを送信することと、
をさらに含む
請求項13に記載の方法。 - 前記データストリームコントラクトは、
データストリームコントラクト識別子、
前記データ送信側の識別子、
データストリーム価格及び/又は価格計算方式、
内容情報、
データストリーム建立方法、及び
リソースプール加入方法、の少なくとも一つを含む
請求項13に記載の方法。 - データ送信側に使用される第二電子機器であって、
プロセッサ、
前記プロセッサにより実行される時に前記第二電子機器に請求項11~15のいずれか一項に記載の方法を実行させる指令を記憶するメモリと、を含む
第二電子機器。 - リアルタイムデータ通信のためのシステムであって、
ブロックチェーンネットワークと、
前記ブロックチェーンとネットワーク通信で結合される第一電子機器と、
前記ブロックチェーンとネットワーク通信で結合される一つ又は複数の第二電子機器と、を含み、
前記第一電子機器は、
第一プロセッサと、
前記第一プロセッサにより実行される時に前記第一電子機器に、
前記ブロックチェーンネットワークにリソースプールコントラクトを配信し、前記リソースプールコントラクトは第一数量のリソースを含むリソースプールを建立するようにトリガすることと、
前記リソースプールにおける第二数量のリソースに対応するデータ送信側とデータストリームを建立し、前記第二数量が前記第一数量より小さいことと、
前記データストリームにより前記データ送信側で送信されたリアルタイムデータを受信することと、という操作を実行させる指令を記憶する第一メモリと、を含み、
前記一つ又は複数の第二電子機器は、
第二プロセッサと、
対応する第二プロセッサにより実行される時に対応する第二電子機器に、
前記ブロックチェーンネットワークから前記リソースプールコントラクトを受信すること、及び前記ブロックチェーンネットワークに前記リソースプールへの加入を同意することを指示するメッセージを送信することと、という操作を実行させ、または、
前記ブロックチェーンネットワークにデータストリームコントラクトを配信し、前記データストリームコントラクトはデータ提供側により提供されたデータストリームをリソースとして前記リソースプールに加入するようにトリガすること、および前記ブロックチェーンネットワークから前記データストリームコントラクトが前記リソースプールに加入したことを指示するメッセージを受信することと、という操作を実行させる指令を記録する第二メモリと、を含む
システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010958010.1A CN114125020B (zh) | 2020-09-11 | 2020-09-11 | 实时数据通信的方法、电子设备和系统 |
CN202010958010.1 | 2020-09-11 | ||
PCT/CN2021/116694 WO2022052885A1 (zh) | 2020-09-11 | 2021-09-06 | 实时数据通信的方法、电子设备和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023541900A true JP2023541900A (ja) | 2023-10-04 |
Family
ID=80360649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023516216A Pending JP2023541900A (ja) | 2020-09-11 | 2021-09-06 | リアルタイムデータ通信の方法、電子機器及びシステム |
Country Status (6)
Country | Link |
---|---|
US (1) | US20240029158A1 (ja) |
EP (1) | EP4213467A1 (ja) |
JP (1) | JP2023541900A (ja) |
KR (1) | KR20230066597A (ja) |
CN (1) | CN114125020B (ja) |
WO (1) | WO2022052885A1 (ja) |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080221743A1 (en) * | 2007-03-09 | 2008-09-11 | Gordon * Howard Associates, Inc. | Onboard Starter-Interrupt Device Incorporating Wireless Personal Area Network |
US7724780B2 (en) * | 2007-04-19 | 2010-05-25 | Cisco Technology, Ink. | Synchronization of one or more source RTP streams at multiple receiver destinations |
US20170330159A1 (en) * | 2016-05-13 | 2017-11-16 | Bank Of America Corporation | Resource allocation and transfer in a distributed network |
US10158703B2 (en) * | 2016-06-10 | 2018-12-18 | Bank Of America Corporation | Resource allocation and transfer utilizing holds and a distributed network |
CN107801249B (zh) * | 2016-09-01 | 2020-02-25 | 鸿海精密工业股份有限公司 | 无线通信系统的资源分配方法及其设备和系统 |
CN108696760A (zh) * | 2017-04-07 | 2018-10-23 | 京东方科技集团股份有限公司 | 一种信息获取、提供方法及装置 |
SE542329C2 (en) * | 2017-05-31 | 2020-04-14 | Scania Cv Ab | Method and system for performing data transactions in exchange for assets on a network |
CN107301536B (zh) * | 2017-06-12 | 2019-07-12 | 腾讯科技(深圳)有限公司 | 资源转移方法及装置 |
CN108197944B (zh) * | 2017-11-22 | 2021-03-30 | 远光软件股份有限公司 | 基于区块链技术的资源交易方法及装置 |
US20190318353A1 (en) * | 2018-04-12 | 2019-10-17 | Bank Of America Corporation | Real time data processing platform for resources on delivery interactions |
CN108665261B (zh) * | 2018-04-20 | 2021-07-09 | 杭州环普数据技术有限公司 | 一种去中心化的物联网数据交易系统 |
KR102100338B1 (ko) * | 2018-05-21 | 2020-04-23 | 김지훈 | 실시간 영상 데이터 거래 시스템 및 방법 |
EP3804276A1 (en) * | 2018-05-24 | 2021-04-14 | Nokia Solutions and Networks Oy | Migration of service |
US20200076742A1 (en) * | 2018-08-28 | 2020-03-05 | Hewlett Packard Enterprise Development Lp | Sending data using a plurality of credit pools at the receivers |
US11270296B2 (en) * | 2018-11-09 | 2022-03-08 | International Business Machines Corporation | Protection of data trading |
CN109803004B (zh) * | 2019-01-03 | 2021-06-01 | 深圳壹账通智能科技有限公司 | 区块链智能合约管理方法与装置、电子设备、存储介质 |
KR20200098222A (ko) * | 2019-02-12 | 2020-08-20 | 이왕재 | P2p 기반의 데이터 트랜잭션 장치 및 방법 |
CN110335037A (zh) * | 2019-04-19 | 2019-10-15 | 矩阵元技术(深圳)有限公司 | 基于区块链和多方安全计算的交易方法、装置及存储介质 |
CN111163132A (zh) * | 2019-12-11 | 2020-05-15 | 支付宝(杭州)信息技术有限公司 | 基于区块链的服务提供方法、装置、设备及系统 |
CN111061713A (zh) * | 2019-12-11 | 2020-04-24 | 北京时代云链信息科技有限公司 | 区块链数据融合方法、装置、设备以及存储介质 |
CN111402055B (zh) * | 2020-03-19 | 2022-08-30 | 合肥工业大学 | 一种基于区块链的去中心化数据交易方法 |
-
2020
- 2020-09-11 CN CN202010958010.1A patent/CN114125020B/zh active Active
-
2021
- 2021-09-06 EP EP21865939.9A patent/EP4213467A1/en active Pending
- 2021-09-06 US US18/044,376 patent/US20240029158A1/en active Pending
- 2021-09-06 JP JP2023516216A patent/JP2023541900A/ja active Pending
- 2021-09-06 WO PCT/CN2021/116694 patent/WO2022052885A1/zh active Application Filing
- 2021-09-06 KR KR1020237012155A patent/KR20230066597A/ko unknown
Also Published As
Publication number | Publication date |
---|---|
CN114125020B (zh) | 2023-08-29 |
EP4213467A1 (en) | 2023-07-19 |
KR20230066597A (ko) | 2023-05-16 |
CN114125020A (zh) | 2022-03-01 |
US20240029158A1 (en) | 2024-01-25 |
WO2022052885A1 (zh) | 2022-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102573433B1 (ko) | 블록체인을 이용한 에너지 거래 플랫폼 및 그 방법 | |
CN106815764B (zh) | 一种基于联盟链的数字资产的管理方法及系统 | |
WO2019144745A1 (zh) | 生成智能合约的方法及装置 | |
CN112132558B (zh) | 基于智能合约的数字货币交易方法、装置及电子设备 | |
CN110517145B (zh) | 基于多区块链间的数据交易方法及相关设备 | |
WO2020108147A1 (zh) | 基于区块链的共享资源租赁方法、装置和计算机设备 | |
JP6818034B2 (ja) | リソース転送システム内の一時的コンセンサスネットワーク | |
US11544787B2 (en) | Apparatus and method for providing protocol for digital asset trading | |
WO2019227345A1 (zh) | 维修厂的管理方法、系统及数据管理服务器 | |
CN109447605A (zh) | 一种基于区块链的链货币兑换方法、装置、设备和介质 | |
CN112907244B (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN113344535B (zh) | 一种基于区块链的软件开发外包控制系统及实现方法 | |
CN114219342A (zh) | 一种基于非同质化通证的碳资产管理方法及装置 | |
CN114742654A (zh) | 基于联盟链的数字资产流转方法、系统、电子装置和介质 | |
CN112785432B (zh) | 基于区块链的设备控制方法、装置、设备和存储介质 | |
CN113781230A (zh) | 基于区块链的交易处理方法和装置 | |
CN110717756B (zh) | 基于合约的支付数据处理装置及方法 | |
JP2023541900A (ja) | リアルタイムデータ通信の方法、電子機器及びシステム | |
CN110852891A (zh) | 基于轧差的数据处理方法、装置以及可读存储介质 | |
CN112926964B (zh) | 基于区块链的资产管理方法、电子设备及可读存储介质 | |
CN112990811B (zh) | 一种基于区块链的仓单处理方法及仓单处理系统 | |
CN116897345A (zh) | 合同任务的处理方法及装置 | |
KR102107454B1 (ko) | 금융결제망 다중화 시스템, 이를 이용한 금융 서비스 방법 및 이를 위한 컴퓨터 프로그램 | |
CN114154996A (zh) | 一种跨区块链的数据流转方法及系统、存储介质、终端 | |
CN110458701A (zh) | 一种数据处理方法、装置、区块链节点设备及介质 |