(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024129010
(43)【公開日】2024-09-26
(54)【発明の名称】データ伝送方法と装置、機器及び媒体
(51)【国際特許分類】
H04L 12/427 20060101AFI20240918BHJP
G06F 9/50 20060101ALI20240918BHJP
H04L 12/407 20060101ALI20240918BHJP
【FI】
H04L12/427
G06F9/50 150E
H04L12/407
【審査請求】有
【請求項の数】14
【出願形態】OL
【外国語出願】
【公開請求】
(21)【出願番号】P 2024079165
(22)【出願日】2024-05-15
(31)【優先権主張番号】202310554277.8
(32)【優先日】2023-05-16
(33)【優先権主張国・地域又は機関】CN
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.WINDOWS PHONE
2.ANDROID
(71)【出願人】
【識別番号】521457387
【氏名又は名称】クンルンシン テクノロジー (ベイジン) カンパニー リミテッド
【氏名又は名称原語表記】Kunlunxin Technology (Beijing) Company Limited
【住所又は居所原語表記】CW Section, F/4, Building 1, No.10, Shangdi 10th Street, Haidian District, 100101, Beijing, China
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100229448
【弁理士】
【氏名又は名称】中槇 利明
(72)【発明者】
【氏名】シヤオツゥ ジャーン
(72)【発明者】
【氏名】チーンシュウ チェン
(72)【発明者】
【氏名】ヨーン ワーン
(72)【発明者】
【氏名】ジエン オウヤーン
(57)【要約】
【課題】本開示はデータ伝送方法及び装置、機器及び媒体を提供し、コンピュータ技術分野に関し、特にチップ技術、データ伝送技術分野に関する。
【解決手段】実現案として、複数のデータ伝送要求を取得し、各データ伝送要求は送信すべきデータ、データ送信ノード及びデータ受信ノードを含むことと、各データ伝送要求のターゲット伝送長さを確定し、ターゲット伝送長さは該データ伝送要求のデータ送信ノードとデータ受信ノードとの間のノードの個数の最小値を示すことと、各データ伝送要求のターゲット伝送長さに基づいて、複数のデータ伝送要求を複数のセットに分割し、各セットに含まれる少なくとも1つのデータ伝送要求のターゲット伝送長さは等しいことと、前記複数のセットからなるシーケンスを確定して、前記複数のセットの各セットに対してデータ伝送動作を順次実行し、各セットに含まれる少なくとも1つのデータ伝送要求における伝送すべきデータは、並行して伝送されるものであることとを含む。
【選択図】
図2
【特許請求の範囲】
【請求項1】
リングトポロジ又は線形トポロジを構成する複数のノードを含む分散式システムに応用されるデータ伝送方法であって、前記方法は、
複数のデータ伝送要求を取得し、前記複数のデータ伝送要求の各データ伝送要求は伝送すべきデータ、データ送信ノードとデータ受信ノードを含むことと、
前記複数のデータ伝送要求の各データ伝送要求に対して、該データ伝送要求のターゲット伝送長さを確定し、前記ターゲット伝送長さは該データ伝送要求のデータ送信ノードと該データ伝送要求のデータ受信ノードとの間のノード数の最小値を示すことと、
前記複数のデータ伝送要求の各データ伝送要求のターゲット伝送長さに基づいて、前記複数のデータ伝送要求を複数のセットに分割し、ここでは、前記複数のセットの各セットに含まれる少なくとも1つのデータ伝送要求のターゲット伝送長さは等しいことと、
前記複数のセットからなるシーケンスを確定して、前記複数のセットの各セットに対してデータ伝送動作を順次実行し、前記データ伝送動作は、各データ伝送要求における伝送すべきデータを、該データ伝送要求のデータ送信ノードから該データ伝送要求のデータ受信ノードに伝送することを含み、ここでは、各セットに含まれる少なくとも1つのデータ伝送要求における伝送すべきデータは、並行して伝送されるものであることとを含む分散式システムに応用されるデータ伝送方法。
【請求項2】
前記複数のノードがリングトポロジを形成する場合、前記の、前記複数のセットの各セットに対してデータ伝送動作を実行することは、
該セットに含まれる少なくとも1つのデータ伝送要求のターゲット伝送長さが、前記リングトポロジの全長の半分であると確定したことに応答して、前記少なくとも1つのデータ伝送要求の各データ伝送要求に対して、
該データ伝送要求のデータ伝送方向を確定し、前記データ伝送方向は時計回り方向及び反時計回り方向を含むことと、
前記データ伝送方向に沿って、該データ伝送要求における伝送すべきデータを該データ伝送要求のデータ送信ノードから該データ伝送要求のデータ受信ノードに伝送することとを含む、請求項1に記載の方法。
【請求項3】
前記の、該データ伝送要求のデータ伝送方向を確定することは、
該セットが複数のデータ伝送要求を含むことを確定したことに応答して、該セットに含まれる少なくとも1つのデータ伝送要求を、第1サブセットと第2サブセットとに分割し、前記第1サブセット及び前記第2サブセットのうちの任意の二つのデータ伝送要求のデータ送信ノードは隣接ノードではないことと、
前記第1サブセットに含まれる少なくとも1つのデータ伝送要求のデータ伝送方向が時計回りであると確定することと、
前記第2サブセットに含まれる少なくとも1つのデータ伝送要求のデータ伝送方向は、反時計回りであると確定することとを含む、請求項2に記載の方法。
【請求項4】
前記複数のノードがリングトポロジを構成する場合、前記の、前記複数のデータ伝送要求の各データ伝送要求について、該データ伝送要求のターゲット伝送長さを確定することは、
時計回り方向に沿って前記リングトポロジにおける該データ伝送要求のデータ送信ノードと該データ伝送要求のデータ受信ノードとの間のノードの数を確定し且つ第1値と記すことと、
反時計回り方向に沿って前記リングトポロジにおける該データ伝送要求のデータ送信ノードと該データ伝送要求のデータ受信ノードとの間のノードの数を確定し且つ第2値と記すことと、
前記第1値と第2値のうち小さい方の値を前記ターゲット伝送長さとして確定することとを含む、請求項1~3のいずれか一項に記載の方法。
【請求項5】
前記複数のデータ伝送要求は、
前記複数のノードのうち任意の2つのノードに対して、第1データ伝送要求と第2データ伝送要求とが存在し、ここでは、前記第1データ伝送要求のデータ送信ノードは、前記2つのノードのうちの第1ノードであり、前記第1データ伝送要求のデータ受信ノードは、前記2つのノードのうちの第2ノードであり、前記第2データ伝送要求のデータ送信ノードは前記第2ノードであり、前記第2データ伝送要求のデータ受信ノードは前記第1ノードであるという条件を満たす、請求項1~3のいずれか一項に記載の方法。
【請求項6】
リングトポロジ又は線形トポロジを構成する複数のノードを含む分散式システムに応用されるデータ伝送装置であって、前記装置は、
複数のデータ伝送要求を取得し、前記複数のデータ伝送要求の各データ伝送要求は送信すべきデータ、データ送信ノード及びデータ受信ノードを含むように構成される取得ユニットと、
前記複数のデータ伝送要求の各データ伝送要求に対して、該データ伝送要求のターゲット伝送長さを確定し、前記ターゲット伝送長さは該データ伝送要求のデータ送信ノードと該データ伝送要求のデータ受信ノードとの間のノード数の最小値を示すように構成される確定ユニットと、
前記複数のデータ伝送要求の各データ伝送要求のターゲット伝送長さに基づいて、前記複数のデータ伝送要求を複数のセットに分割し、ここでは、前記複数のセットの各セットに含まれる少なくとも1つのデータ伝送要求のターゲット伝送長さは等しいように構成される分割ユニットと、
前記複数のセットからなるシーケンスを確定して、前記複数のセットの各セットに対してデータ伝送動作を順次実行し、前記データ伝送動作は、各データ伝送要求における伝送すべきデータを、該データ伝送要求のデータ送信ノードから該データ伝送要求のデータ受信ノードに伝送することを含み、ここでは、各セットに含まれる少なくとも1つのデータ伝送要求における伝送すべきデータは、並行して伝送されるものであるように構成される伝送ユニットとを含む、分散式システムに応用されるデータ伝送装置。
【請求項7】
前記複数のノードがリングトポロジを形成する場合、前記伝送ユニットは、
前記セットに含まれる少なくとも1つのデータ伝送要求のターゲット伝送長さが、前記リングトポロジの全長の半分であると確定したことに応答して、前記少なくとも1つのデータ伝送要求の各データ伝送要求に対して、該データ伝送要求のデータ伝送方向を確定し、前記データ伝送方向は時計回り方向及び反時計回り方向を含むように構成される確定サブユニットと、
前記データ伝送方向に沿って、該データ伝送要求における伝送すべきデータを該データ伝送要求のデータ送信ノードから該データ伝送要求のデータ受信ノードに伝送するように構成される伝送サブユニットとを含む、請求項6に記載の装置。
【請求項8】
前記確定サブユニットは、
該セットが複数のデータ伝送要求を含むことを確定したことに応答して、該セットに含まれる少なくとも1つのデータ伝送要求を、第1サブセットと第2サブセットとに分割し、前記第1サブセット及び前記第2サブセットのうちの任意の二つのデータ伝送要求のデータ送信ノードは隣接ノードではなく、
前記第1サブセットに含まれる少なくとも1つのデータ伝送要求のデータ伝送方向が時計回りであると確定し、
前記第2サブセットに含まれる少なくとも1つのデータ伝送要求のデータ伝送方向は、反時計回りであると確定するように構成される請求項7に記載の装置。
【請求項9】
前記複数のノードがリングトポロジを構成する場合、前記確定ユニットは、
時計回り方向に沿って前記リングトポロジにおける該データ伝送要求のデータ送信ノードと該データ伝送要求のデータ受信ノードとの間のノードの数を確定し且つ第1値と記し、
反時計回り方向に沿って前記リングトポロジにおける該データ伝送要求のデータ送信ノードと該データ伝送要求のデータ受信ノードとの間のノードの数を確定し且つ第2値と記し、
前記第1値と第2値のうち小さい方の値を前記ターゲット伝送長さとして確定するように構成される、請求項6~8のいずれか一項に記載の装置。
【請求項10】
前記複数のデータ伝送要求は、
前記複数のノードのうち任意の2つのノードに対して、第1データ伝送要求と第2データ伝送要求とが存在し、ここでは、前記第1データ伝送要求のデータ送信ノードは、前記2つのノードのうちの第1ノードであり、前記第1データ伝送要求のデータ受信ノードは、前記2つのノードのうちの第2ノードであり、前記第2データ伝送要求のデータ送信ノードは前記第2ノードであり、前記第2データ伝送要求のデータ受信ノードは前記第1ノードであるという条件を満たす、請求項6~8のいずれか一項に記載の装置。
【請求項11】
チップであって、請求項6乃至10のいずれかに記載のデータ伝送装置を含む、チップ。
【請求項12】
電子機器であって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信接続されたメモリとを含み、ここで、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令が前記少なくとも1つのプロセッサに実行されて、前記少なくとも1つのプロセッサに、請求項1~5のいずれか一項に記載の方法を実行させることができる、電子機器。
【請求項13】
コンピュータ命令が記憶された非一時的コンピュータ可読記憶媒体であって、前記コンピュータ命令は、コンピュータに請求項1~5のいずれか一項に記載の方法を実行させるために用いられる、コンピュータ可読記憶媒体。
【請求項14】
コンピュータプログラムを含むコンピュータプログラム製品であって、前記コンピュータプログラムは、プロセッサによって実行されると、請求項1~5のいずれか一項に記載の方法を実現する、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本開示はコンピュータ技術分野に関し、特にチップ技術、データ伝送技術分野に関し、具体的にはデータ伝送方法、装置、電子機器、コンピュータ可読記憶媒体及びコンピュータプログラム製品に関する。
【背景技術】
【0002】
人工知能は、コンピュータに人間のいくつかの思惟過程及びインテリジェント的行動(例えば、学習、推理、思考、計画など)を模擬させるように研究する科目であり、ハードウェア面の技術もあれば、ソフトウェア面の技術もある。人工知能のハードウェア技術は、一般的にセンサ、人工知能専用チップ、クラウドコンピューティング、分散ストレージ、ビッグデータ処理などの技術を含み、人工知能ソフトウェア技術は、主にコンピュータ視覚技術、音声認識技術、自然言語処理技術及び機械学習/深層学習、ビッグデータ処理技術、ナレッジグラフ技術などのいくつかの大きな方向を含む。
【0003】
人工知能技術の発展に伴い、ますます多くのアプリケーションが人工知能技術に基づいて従来アルゴリズムをはるかに超える効果を得る。深層学習はデータ集約型アルゴリズムと演算集約型アルゴリズムであり、大規模な深層学習モデルの訓練速度と推論速度を向上させるために、複数のノードを含む分散式システムを利用してデータ処理を行うことができ、演算力の要求を満たす。分散式システムにおけるデータ交換プロセスは、分散式演算の効率に直接影響する。
【0004】
該部分で説明される方法は、必ずしも以前に想定された方法又は採用された方法ではない。特に断りのない限り、該部分に記載されているいずれの方法は、該部分に含まれるだけで従来技術であると考えられるべきではない。同様に、特に断りのない限り、該部分で言及されている課題は、従来の技術で承認されたものであると考えるべきではない。
【発明の概要】
【0005】
本開示は、データ伝送方法、装置、電子機器、コンピュータ可読記憶媒体、及びコンピュータプログラム製品を提供する。
【0006】
本開示の一態様によれば、リングトポロジ又は線形トポロジを構成する複数のノードを含む分散式システムに応用されるデータ伝送方法であって、複数のデータ伝送要求を取得し、前記複数のデータ伝送要求の各データ伝送要求は伝送すべきデータ、データ送信ノードとデータ受信ノードを含むことと、前記複数のデータ伝送要求の各データ伝送要求に対して、該データ伝送要求のターゲット伝送長さを確定し、前記ターゲット伝送長さは該データ伝送要求のデータ送信ノードと該データ伝送要求のデータ受信ノードとの間のノード数の最小値を示すことと、前記複数のデータ伝送要求の各データ伝送要求のターゲット伝送長さに基づいて、前記複数のデータ伝送要求を複数のセットに分割し、ここでは、前記複数のセットの各セットに含まれる少なくとも1つのデータ伝送要求のターゲット伝送長さは等しいことと、前記複数のセットからなるシーケンスを確定して、前記複数のセットの各セットに対してデータ伝送動作を順次実行し、前記データ伝送動作は、各データ伝送要求における伝送すべきデータを、該データ伝送要求のデータ送信ノードから該データ伝送要求のデータ受信ノードに伝送することを含み、ここでは、各セットに含まれる少なくとも1つのデータ伝送要求における伝送すべきデータは、並行して伝送されるものであることとを含む。
【0007】
本開示の一態様によれば、リングトポロジ又は線形トポロジを構成する複数のノードを含む分散式システムに応用されるデータ伝送装置であって、複数のデータ伝送要求を取得し、前記複数のデータ伝送要求の各データ伝送要求は送信すべきデータ、データ送信ノード及びデータ受信ノードを含むように構成される取得ユニットと、前記複数のデータ伝送要求の各データ伝送要求に対して、該データ伝送要求のターゲット伝送長さを確定し、前記ターゲット伝送長さは該データ伝送要求のデータ送信ノードと該データ伝送要求のデータ受信ノードとの間のノード数の最小値を示すように構成される確定ユニットと、前記複数のデータ伝送要求の各データ伝送要求のターゲット伝送長さに基づいて、前記複数のデータ伝送要求を複数のセットに分割し、ここでは、前記複数のセットの各セットに含まれる少なくとも1つのデータ伝送要求のターゲット伝送長さは等しいように構成される分割ユニットと、前記複数のセットからなるシーケンスを確定して、前記複数のセットの各セットに対してデータ伝送動作を順次実行し、前記データ伝送動作は、各データ伝送要求における伝送すべきデータを、該データ伝送要求のデータ送信ノードから該データ伝送要求のデータ受信ノードに伝送することを含み、ここでは、各セットに含まれる少なくとも1つのデータ伝送要求における伝送すべきデータは、並行して伝送されるものであるように構成される伝送ユニットとを含む。
【0008】
本開示の一態様によれば、以上に記載のデータ伝送装置を含むチップを提供する。
【0009】
本開示の一態様によれば、電子機器を提供し、前記電子機器は、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサに通信接続されたメモリとを含み、前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令が前記少なくとも1つのプロセッサに実行されて、前記少なくとも1つのプロセッサに、上述したデータ伝送方法を実行させることができる。
【0010】
本開示の一態様によれば、コンピュータ命令が記憶された非一時的コンピュータ可読記憶媒体を提供し、前記コンピュータ命令は、前記コンピュータに前記データ伝送方法を実行させるために用いられる。
【0011】
本開示の一態様によれば、コンピュータプログラムを含むコンピュータプログラム製品を提供し、コンピュータプログラムは、プロセッサによって実行されると、上述したデータ伝送方法を実現することができる。
【0012】
本開示の1つ又は複数の実施形態によれば、データ伝送効率が改善され得る。
【0013】
理解すべきこととして、該部分に説明される内容は、本開示の実施例の要点又は重要な特徴を識別することを意図しておらず、本開示の保護範囲を限定するためのものではない。本開示の他の特徴は、以下の明細書によって容易に理解されるであろう。
【図面の簡単な説明】
【0014】
図面は、実施例を例示的に示し、明細書の一部を構成し、明細書の文字による説明とともに、実施例の例示的な実施形態を説明するために用いられる。図示の実施例は例示の目的のみであり、特許請求の範囲を限定するものではない。全ての図面において、同一の符号は、類似しているが、必ずしも同じとは限らない要素を指す。
【
図1】本開示の例示的な実施例による、本明細書で説明される様々な方法を実施することができる例示的なシステムの概略図である。
【
図2】本開示の例示的な実施例による、データ伝送方法を示すフローチャートである。
【
図3A】本開示の例示的な実施例によるデータ伝送手順を示す図である。
【
図3B】本開示の例示的な実施例によるデータ伝送手順を示す図である。
【
図3C】本開示の例示的な実施例によるデータ伝送手順を示す図である。
【
図3D】本開示の例示的な実施例によるデータ伝送手順を示す図である。
【
図4】本開示の例示的な実施例によるデータ伝送装置の構成を示すブロック図である。
【
図5】本発明の実施例を実現する例示的な電子機器の構成を示すブロック図である。
【発明を実施するための形態】
【0015】
以下、図面に合わせて本開示の例示的な実施例を説明して、それに含まれる本開示の実施例における様々な詳細が理解を助けるためので、それらは単なる例示的なものと考えられるべきである。従って、当業者であれば、本開示の範囲及び精神から逸脱することなく、本明細書で説明された実施例に対して様々な変更及び修正を行うことができることを認識すべきである。同様に、明瞭と簡潔のために、以下の説明では公知の機能及び構造についての説明を省略している。
【0016】
本開示では、特に明記しない限り、様々な要素を説明するための「第1」、「第2」などの用語の使用は、これらの要素の位置関係、タイミング関係、又は重要性関係を限定することを意図していない。このような用語は、ある要素を別の要素と区別するためにのみ使用される。いくつかの例では、第1の要素と第2要素は、該要素の同じ例を指してもよく、場合によっては、コンテキストの説明に基づいて、異なる例を指してもよい。
【0017】
本開示の様々な例の説明で使用される用語は、特定の例を説明することのみを目的としており、限定することを意図していない。コンテキストで別途に明確に示されていない限り、特に要素の数を限定しないなら、該要素は1つであってもよいし、複数であってもよい。なお、本開示で使用される用語「及び/又は」は、リストされたアイテムのいずれか及び可能な全ての組み合わせをカバーする。
【0018】
関連技術では、メッシュやNVlinkなどのプライベートネットワークなどに対応したデータ通信アルゴリズムを設計したり、ワームホールルーティング技術に基づいて分散式システムにおけるデータ交換を実現したりすることが一般的であるが、ハードウェアコストが高い。
【0019】
そこで、本開示は、データ伝送方法を提供し、ターゲット伝送長さに基づいてデータ伝送要求を複数のセットに分割し、各セット内のデータ伝送要求に対応する通信リンクが衝突しないため、複数のセットに対して順次にデータ伝送を行うことによってリンク衝突の発生を回避でき、各セット内のデータ伝送要求を並行して実行することによってデータ伝送効率を向上させることにより、伝送リンクを最大限に利用し、データ伝送効率を最適化します。
【0020】
以下、図面を参照して本開示の実施例について詳細に説明する。
【0021】
図1は、本開示の実施例による、本明細書に記載された様々な方法及び装置を、その中で実施することができる例示的なシステム100の概略図を示す。
図1を参照すると、該システム100は、1つ以上のクライアントデバイス101、102、103、104、105と106、サーバ120、及び1つ以上のクライアントデバイスをサーバ120に結合する1つ以上の通信ネットワーク110を含む。クライアントデバイス101、102、103、104、105と106は、1つ以上のアプリケーションを実行するように構成されることが可能である。
【0022】
本開示の実施例において、サーバ120は、データ伝送方法を実行できる1つ以上のサービス又はソフトウェアアプリケーションを動作させることができる。
【0023】
いくつかの実施例では、サーバ120は、非仮想環境と仮想環境を含むことができる他のサービス又はソフトウェアアプリケーションも提供することができる。いくつかの実施例では、これらのサービスは、webベースのサービス又はクラウドサービスとして提供することができ、例えば、ソフトウェアアズアサービス(SaaS)モデルでクライアントデバイス101、102、103、104、105及び/又は106のユーザに提供される。
【0024】
図1に示す構成では、サーバ120は、サーバ120によって実行される機能を実現する1つ又は複数のアセンブリを含むことができる。これらのアセンブリは、1つ以上のプロセッサで実行できるソフトウェアアセンブリ、ハードウェアアセンブリ、又はそれらの組み合わせを含んでもよい。クライアントデバイス101、102、103、104、105及び/又は106を操作するユーザは、これらのアセンブリが提供するサービスを利用するために、1つ以上のクライアントアプリケーションを利用してサーバ120とやり取りをすることができる。様々な異なるシステム構成が可能であり、システム100とは異なってもよいことを理解されたい。したがって、
図1は、本明細書に記載された様々な方法を実施するためのシステムの一例であり、制限することを意図していない。
【0025】
ユーザは、クライアントデバイス101、102、103、104、105、及び/又は106を使用して、データ伝送要求を送信することができる。クライアントデバイスは、クライアントデバイスのユーザがクライアントデバイスとやり取りするインターフェースを提供することができる。クライアントデバイスは、該インターフェースを介してユーザに情報を出力することもできる。
図1では6つのクライアントデバイスしか図示されていないが、当業者であれば理解できるように、本開示はいかなる数のクライアントデバイスもサポートできる。
【0026】
クライアントデバイス101、102、103、104、105、及び/又は106は、携帯用ハンドヘルドデバイス、パーソナルコンピュータ及びラップトップコンピュータなどの汎用コンピュータ、ワークステーションコンピュータ、ウェアラブルデバイス、スマートスクリーンデバイス、セルフサービス端末デバイス、サービスロボット、ゲームシステム、シンクライアント、様々なメッセージングデバイス、センサーやその他の検知デバイスなどの様々なタイプのコンピューティングデバイスを含むことができる。これらのコンピュータデバイスは、さまざまなタイプやバージョンのソフトウェアアプリケーションや例えば、MICROSOFT Windows、APPLE iOS、UNIX(登録商標)ライクオペレーティングシステム、Linux(登録商標)、またはLinux(登録商標)ライクオペレーティングシステム(例えば、GOOGLE Chrome OS)などのオペレーティングシステムを実行したり、MICROSOFT Windows Mobile OS、iOS、Windows Phone、Androidなどの各種のモバイルオペレーティングシステムを含んだりすることができる。携帯用ハンドヘルドデバイスには、携帯電話、インテリジェントフォン、タブレット、パーソナルデジタルアシスタント(PDA)などを含んでもよい。ウェアラブルデバイスは、ヘッドマウント型ディスプレイ(例えば、スマートグラス)と他の装置を含んでもよい。ゲームシステムは、様々なハンドヘルド型のゲームデバイス、インターネット対応のゲームデバイスなどを含んでもよい。クライアントデバイスは、例えば、インターネットInternet関連アプリケーション、通信アプリケーション(例えば、電子メールアプリケーション)、ショートメッセージサービス(SMS)アプリケーション、様々なアプリケーションを実行でき、且つ様々な通信プロトコルを使用できる。
【0027】
ネットワーク110は、当業者に周知の任意の種類のネットワークであってもよく、それは、TCP/IP、SNA、IPX等を含むがこれらに限定されない様々な利用可能なプロトコルのいずれかを用いてデータ通信をサポートすることができる。例として、1つ以上のネットワーク110は、ローカルエリアネットワーク(LAN)、イーサネットベースのネットワーク、トークンループ、ワイドエリアネットワーク(WAN)、インターネット、仮想ネットワーク、仮想プライベートネットワーク(VPN)、イントラネット、エクストラネット、ブロックチェーンネットワーク、公衆交換電話網(PSTN)、赤外線ネットワーク、無線ネットワーク(例えば、ブルートゥース(登録商標)、WIFI)、及び/又はこれら及び/又はその他のネットワークの任意の組み合わせであってもよい。
【0028】
サーバ120は、1つ以上の汎用コンピュータ、専用サーバコンピュータ(例えば、PC(パーソナルコンピュータ)サーバ、UNIX(登録商標)サーバ、ミッドレンジサーバ)、ブレードサーバ、大型コンピュータ、サーバクラスタ、又はその他のいかなる適切な配置及び/又は組み合わせを含んでもよい。サーバ120は、仮想オペレーティングシステムを実行する1つ以上の仮想マシン、又は仮想化に関わる他のコンピューティングアーキテクチャ(例えば、サーバの仮想記憶デバイスを維持するために仮想化された論理記憶デバイスの1つ以上のフレキシブルプール)を含んでもよい。様々な実施例では、サーバ120は、以下に説明する機能を提供する1つ以上のサービス又はソフトウェアアプリケーションを実行することができる。
【0029】
サーバ120における計算ユニットは、上記した任意のオペレーティングシステム及び任意の商用サーバオペレーティングシステムを含む1つ以上のオペレーティングシステムを実行することができる。サーバ120は、HTTPサーバ、FTPサーバ、CGIサーバ、JAVA(登録商標)サーバ、データベースサーバなど、様々な追加のサーバアプリケーション及び/又は中間層アプリケーションのいずれか1つを実行することもできる。
【0030】
いくつかの実施例では、サーバ120は、クライアントデバイス101、102、103、104、105及び106のユーザから受信したデータフィード及び/又はイベントの更新を分析及び統合するための1つ又は複数のアプリケーションを含んでもよい。サーバ120は、クライアントデバイス101、102、103、104、105及び106の1つ又は複数のディスプレイデバイスを介してデータフィード及び/又はリアルタイムイベントを表示する1つ又は複数のアプリケーションを含んでもよい。
【0031】
いくつかの実施例では、サーバ120は、分散型システムのサーバであってもよいし、ブロックチェーンを組み込んだサーバであってもよい。サーバ120は、クラウドサーバであってもよいし、人工知能技術を備えたインテリジェントクラウドコンピューティングサーバやインテリジェントクラウドホストであってもよい。クラウドサーバはクラウドコンピューティングサービスシステムにおけるホスト製品であり、従来の物理ホストと仮想専用サーバ(VPS、Virtual Private Server)サービスに存在する管理難度が大きく、業務拡張性が弱いという欠陥を解決する。
【0032】
システム100は、1つ以上のデータベース130を含むこともできる。いくつかの実施例では、これらのデータベースはデータやその他の情報を記憶するために使用できる。例えば、データベース130のうちの1つ以上は、オーディオファイルやビデオファイルのような情報を記憶するために使用できる。データベース130は、さまざまな位置に配置することができる。例えば、サーバ120が使用するデータベースは、サーバ120のローカルにあってもよいし、サーバ120から離れて、ネットワーク又は専用の接続を介してサーバ120と通信してもよい。データベース130は、異なるタイプであってもよい。いくつかの実施例では、サーバ120が使用するデータベースは、リレーショナルデータベースであってもよい。これらのデータベースのうちの1つ以上は、命令に応じてデータベースとデータベースからのデータを記憶、更新、検索できる。
【0033】
いくつかの実施例では、データベース130のうちの1つ以上は、アプリケーションによって使用され、アプリケーションのデータを記憶することもできる。アプリケーションが使用するデータベースは、異なるタイプのデータベースであってもよく、例えば、キー値リポジトリ、オブジェクトリポジトリ、ファイルシステムによってサポートされる汎用リポジトリなどである。
【0034】
図1のシステム100は、本開示に基づいて説明した様々な方法及び装置を応用することができるように、様々な方法で構成し操作することができる。
【0035】
図2は、本開示の例示的な実施例による、複数のノードを含む分散式システムに応用されるデータ伝送方法200のフローチャートであり、前記複数のノードは、リングトポロジ又は線形トポロジを構成する。
図2に示すように、方法200は、
複数のデータ伝送要求を取得し、前記複数のデータ伝送要求の各データ伝送要求は伝送すべきデータ、データ送信ノードとデータ受信ノードを含むステップS201と、
前記複数のデータ伝送要求の各データ伝送要求に対して、該データ伝送要求のターゲット伝送長さを確定し、前記ターゲット伝送長さは該データ伝送要求のデータ送信ノードと該データ伝送要求のデータ受信ノードとの間のノード数の最小値を示すステップS202と、
前記複数のデータ伝送要求の各データ伝送要求のターゲット伝送長さに基づいて、前記複数のデータ伝送要求を複数のセットに分割し、ここでは、前記複数のセットの各セットに含まれる少なくとも1つのデータ伝送要求のターゲット伝送長さは等しいステップS203と、
前記複数のセットからなるシーケンスを確定して、前記複数のセットの各セットに対してデータ伝送動作を順次実行し、前記データ伝送動作は、各データ伝送要求における伝送すべきデータを、該データ伝送要求のデータ送信ノードから該データ伝送要求のデータ受信ノードに伝送することを含み、ここでは、各セットに含まれる少なくとも1つのデータ伝送要求における伝送すべきデータは、並行して伝送されるものであるステップS204とを含む。
【0036】
一般的に言えば、分散式システムにおける伝送すべきデータは、データ送信ノードから、特定の経路に沿って、データ受信ノードまで、次ホップに対応するノードに順次伝送される。上記データ伝送方法を応用することによって、ターゲット伝送長さに基づいてリングトポロジ又は線形トポロジにおける複数のデータ伝送要求を複数のセットに分割することができ、各セットのなかのデータ伝送要求が各ホップに占有する通信リンクが衝突せず、複数のセットに対して順にデータ伝送を実行することによって、異なるセットのなかのデータ伝送操作のリンク衝突を効果的に回避することができ、各セットのなかのデータ伝送要求を並行して実行することによって、データ伝送効率を効果的に向上させることができ、さらに伝送リンクを最大限に利用し、データ伝送効率を最適化することを実現する。
【0037】
いくつかの例では、ターゲット伝送長さの大きいものから小さいものへの順又は小さいものから大きいものへの順で、複数のセットからなるシーケンスを確定することができるが、異なるセットにおけるデータ伝送要求の不同時伝送を実現できれば、これに限定されない。
【0038】
いくつかの例では、複数のノードが線形トポロジを構成する場合、データ送信ノードとデータ受信ノードとの間の最短通信パスが一意に確定され、これにより、データ伝送要求毎のターゲット伝送長さを簡便に確定することができる。
【0039】
いくつかの実施例によれば、前記複数のノードがリングトポロジを形成する場合、前記の前記複数のセットの各セットに対してデータ伝送動作を実行することは、前記セットに含まれる少なくとも1つのデータ伝送要求のターゲット伝送長さが、前記リングトポロジの全長の半分であると確定したことに応答して、前記少なくとも1つのデータ伝送要求の各データ伝送要求に対して、該データ伝送要求のデータ伝送方向を確定し、前記データ伝送方向は時計回り方向及び反時計回り方向を含むことと、前記データ伝送方向に沿って、該データ伝送要求における伝送すべきデータを該データ伝送要求のデータ送信ノードから該データ伝送要求のデータ受信ノードに伝送することとを含む。リングトポロジーの分散式システムにおいて、データ伝送要求のターゲット伝送長さが半リングである場合、データ送信ノードとデータ受信ノードとの間の最短伝送経路は一意ではなく、即ち時計回りと反時計回りの二つの伝送方向の最短伝送経路を含み、上記方法を応用することにより、伝送方向を限定して一意に確定されたデータ伝送経路を得ることができ、リンク衝突の発生を回避し、データの正常な伝送を保証する。
【0040】
いくつかの例では、事前構成ルールによって、データ伝送要求のターゲット送信長さが前記リングトポロジの全長の半分である場合、固定方向(例えば、時計回りまたは反時計回り)にデータ伝送を実行することを限定することであってもよい。
【0041】
いくつかの実施例によれば、前記の、該データ伝送要求のデータ伝送方向を確定することは、該セットが複数のデータ伝送要求を含むことを確定したことに応答して、該セットに含まれる少なくとも1つのデータ伝送要求を、第1サブセットと第2サブセットとに分割し、前記第1サブセット及び前記第2サブセットのうちの任意の二つのデータ伝送要求のデータ送信ノードは隣接ノードではいことと、前記第1サブセットに含まれる少なくとも1つのデータ伝送要求のデータ伝送方向が時計回りであると確定することと、前記第2サブセットに含まれる少なくとも1つのデータ伝送要求のデータ伝送方向は、反時計回りであると確定することとを含む。これにより、インターリーブのルールに基づいて、リングトポロジにおける複数のノードを2つのグループに分け、隣接ノードは、それぞれ時計回りと反時計回りで、ターゲット伝送長さがリングトポロジの全長の半分であるデータを送信して、より均一にリンクリソースを割り当てることができる。
【0042】
いくつかの例では、リングトポロジにおける任意のノードをノード1として、複数のノードを順次に番号付け、さらに、ノード番号のパリティに基づいて、ターゲット伝送長さがリングトポロジの全長の半分であるデータの送信方向を確定することができる。例えば、奇数番のノードについては時計回り方向の伝送を行い、偶数番のノードについては反時計回り方向の伝送を行ってもよい。
【0043】
いくつかの実施例によれば、前記複数のノードがリングトポロジを構成する場合、前記の前記複数のデータ伝送要求の各データ伝送要求について、該データ伝送要求のターゲット伝送長さを確定することは、時計回り方向に沿って前記リングトポロジにおける該データ伝送要求のデータ送信ノードと該データ伝送要求のデータ受信ノードとの間のノードの数を確定し且つ第1値と記することと、反時計回り方向に沿って前記リングトポロジにおける該データ伝送要求のデータ送信ノードと該データ伝送要求のデータ受信ノードとの間のノードの数を確定し且つ第2値と記すことと、前記第1値と第2値のうち小さい方の値を前記ターゲット伝送長さとして確定することとを含む。これにより、時計回りと反時計回り方向のそれぞれに基づいてデータ送信ノードとデータ受信ノードとの間のノード数を確定でき、最小値に基づいてデータ伝送要求のターゲット伝送長さを簡便かつ効率的に確定する。
【0044】
いくつかの実施例によれば、前記複数のデータ伝送要求は、前記複数のノードのうち任意の2つのノードに対して、第1データ伝送要求と第2データ伝送要求とが存在し、ここでは、前記第1データ伝送要求のデータ送信ノードは、前記2つのノードのうちの第1ノードであり、前記第1データ伝送要求のデータ受信ノードは、前記2つのノードのうちの第2ノードであり、前記第2データ伝送要求のデータ送信ノードは前記第2ノードであり、前記第2データ伝送要求のデータ受信ノードは前記第1ノードであるという条件を満たす。これにより、上記方法を利用して、ネットワークにおける任意の2つのノード間でデータを交換することを簡潔で効率的に実現し、すなわち、効率的な全交換アルゴリズムを実現し、通信の複雑度が高い場合にデータ伝送効率を最適化することができ、分散式システムのパフォーマンスを向上させることができる。
【0045】
いくつかの例では、各ノードの送信バッファと受信バッファをいずれも複数のグループに分け、ノードiの送信バッファのjグループ目のデータをノードjに送信し、ノードjは受信したノードiからのデータブロックを自身の受信バッファのi番目の位置に置く。これにより、全ノードにおける全データの全分布が実現され、モデル並列化などの深層学習分散式トレーニングタスクをサポートし、実際の応用シーンの需要を十分に満たすことができる。
【0046】
上記の例では、各ノードにおいて他の複数のノードに送信すべきデータ長さがいずれもmである場合、上記案にかかる時間的オーバーヘッドは
(外1)
であり、ここでは、
(外2)
は通信の起動時間であり、
(外3)
はメッセージの単位長さを送信する時間である。上記方法200を応用することで実現される全交換アルゴリズムは長さがNの双方向一次元リング上にあり、アルゴリズムの第1段階は合わせて
(外4)
グループの通信を実行する必要があり、アルゴリズムの第2段階は合わせて
(外5)
グループの通信を実行する必要があり、したがって総通信時間複雑度は
(外6)
であり、通信量の主項は
(外7)
であり、それにより通信時間複雑度の理論下限に達することができ、リングトポロジにおける全交換アルゴリズムを効果的に最適化し、分散式システムのデータ交換性能を向上させる。
【0047】
図3A~
図3Dは本開示の例示的な実施例によるデータ伝送手順を示す図である。この例では、分散式システム内の8つのノードがリングトポロジを形成し、システムにおける任意の2つのノード間にデータ伝送要求が存在する。
【0048】
上記方法200を応用することによって、複数のデータ伝送要求を4つのセットに分割することができ、すなわちターゲット伝送長さは、それぞれ1、2、3、4である。上記4つのセットにおけるデータ伝送要求を順に実行し、すなわち、以下のプロセスに対応する。
【0049】
ステップS10、全てのノードは1ホップ通信動作を並行して実行し、ターゲット伝送長さが1のメッセージを処理し、ノードiはメッセージ
(外8)
をノード
(外9)
に伝達し、メッセージ
(外10)
をノード
(外11)
に伝達する。
【0050】
ステップS20、全てのノードは以下の2ホップ通信動作を並行して実行し、ターゲット伝送長さが2のメッセージを並行して処理する;ステップS21、ノードiはメッセージ
(外12)
をノード
(外13)
に伝達し、メッセージ
(外14)
をノード
(外15)
に伝達する;ステップS22、ノードiは、メッセージ
(外16)
をノード
(外17)
に伝達し、メッセージ
(外18)
をノード
(外19)
に伝達する。
【0051】
ステップS30、全てのノードは以下の3ホップ通信動作を並行して実行し、ターゲット伝送長さが3のメッセージを並行して処理する:ステップS31、ノードiはメッセージ
(外20)
をノード
(外21)
に伝達し、メッセージ
(外22)
をノード
(外23)
に伝達する;ステップS32、ノードiはメッセージ
(外24)
をノード
(外25)
に伝達し、メッセージ
(外26)
をノード
(外27)
に伝達する;ステップS33、ノードiはメッセージ
(外28)
をノード
(外29)
に伝達し、メッセージ
(外30)
をノード
(外31)
に伝達する。
【0052】
ステップS40、全てのノードは、下付きパリティに従ってグループ化され、以下の4ホップ通信動作を並行して実行し、伝送距離が4のメッセージを並行して処理する;ステップS41、ノード2kはメッセージ
(外32)
をノード
(外33)
に伝達し、ノード
(外34)
はメッセージ
(外35)
をノード2kに伝達する;ステップS42、ノード2kはメッセージ
(外36)
をノード
(外37)
に伝送し、ノード
(外38)
はメッセージ
(外39)
をノード2kに伝達する;ステップS43、ノード2kはメッセージ
(外40)
をノード
(外41)
に伝達し、ノード
(外42)
はメッセージ
(外43)
をノード2kに伝達する;ステップS44、ノード2kは、メッセージ
(外44)
をノード
(外45)
に伝達し、ノード
(外46)
は、メッセージ
(外47)
をノード2kに伝達する。
【0053】
本開示の一態様によれば、リングトポロジ又は線形トポロジを構成する複数のノードを含む分散式システムに応用されるデータ伝送装置をさらに提供する。
図4は本開示の例示的な実施例によるデータ伝送装置400の構成を示すブロック図である。
図4に示すように、装置400は、
複数のデータ伝送要求を取得し、前記複数のデータ伝送要求の各データ伝送要求は送信すべきデータ、データ送信ノード及びデータ受信ノードを含むように構成される取得ユニット401と、
前記複数のデータ伝送要求の各データ伝送要求に対して、該データ伝送要求のターゲット伝送長さを確定し、前記ターゲット伝送長さは該データ伝送要求のデータ送信ノードと該データ伝送要求のデータ受信ノードとの間のノード数の最小値を示すように構成される確定ユニット402と、
前記複数のデータ伝送要求の各データ伝送要求のターゲット伝送長さに基づいて、前記複数のデータ伝送要求を複数のセットに分割し、ここでは、前記複数のセットの各セットに含まれる少なくとも1つのデータ伝送要求のターゲット伝送長さは等しいように構成される分割ユニット403と、
前記複数のセットからなるシーケンスを確定して、前記複数のセットの各セットに対してデータ伝送動作を順次実行し、前記データ伝送動作は、各データ伝送要求における伝送すべきデータを、該データ伝送要求のデータ送信ノードから該データ伝送要求のデータ受信ノードに伝送することを含み、ここでは、各セットに含まれる少なくとも1つのデータ伝送要求における伝送すべきデータは、並行して伝送されるものであるユニット404とを含む。
【0054】
いくつかの実施例によれば、前記複数のノードがリングトポロジを形成する場合、伝送ユニット404は、前記セットに含まれる少なくとも1つのデータ伝送要求のターゲット伝送長さが、前記リングトポロジの全長の半分であると確定したことに応答して、前記少なくとも1つのデータ伝送要求の各々に対して、該データ伝送要求のデータ伝送方向を確定し、前記データ伝送方向は時計回り方向及び反時計回り方向を含むように構成される確定サブユニットと、前記データ伝送方向に沿って、該データ伝送要求における伝送すべきデータを該データ伝送要求のデータ送信ノードから該データ伝送要求のデータ受信ノードに伝送するように構成される伝送サブユニットとを含む。
【0055】
いくつかの実施例によれば、前記確定サブユニットは、該セットが複数のデータ伝送要求を含むことを確定したことに応答して、該セットに含まれる少なくとも1つのデータ伝送要求を、第1サブセットと第2サブセットとに分割し、前記第1サブセット及び前記第2サブセットのうちの任意の二つのデータ伝送要求のデータ送信ノードは隣接ノードではなく、前記第1サブセットに含まれる少なくとも1つのデータ伝送要求のデータ伝送方向が時計回りであると確定し、前記第2サブセットに含まれる少なくとも1つのデータ伝送要求のデータ伝送方向は、反時計回りであると確定するように構成される。
【0056】
いくつかの実施例によれば、前記複数のノードがリングトポロジを構成する場合、確定ユニット402は、時計回り方向に沿って前記リングトポロジにおける該データ伝送要求のデータ送信ノードと該データ伝送要求のデータ受信ノードとの間のノードの数を確定し且つ第1値と記し、反時計回り方向に沿って前記リングトポロジにおける該データ伝送要求のデータ送信ノードと該データ伝送要求のデータ受信ノードとの間のノードの数を確定し且つ第2値と記し、前記第1値と第2値のうち小さい方の値を前記ターゲット伝送長さとして確定するように構成される。
【0057】
いくつかの実施例によれば、前記複数のデータ伝送要求は、前記複数のノードのうち任意の2つのノードに対して、第1データ伝送要求と第2データ伝送要求とが存在し、ここでは、前記第1データ伝送要求のデータ送信ノードは、前記2つのノードのうちの第1ノードであり、前記第1データ伝送要求のデータ受信ノードは、前記2つのノードのうちの第2ノードであり、前記第2データ伝送要求のデータ送信ノードは前記第2ノードであり、前記第2データ伝送要求のデータ受信ノードは前記第1ノードであるという条件を満たす。
【0058】
本開示の一態様によれば、上述したデータ伝送装置を含むチップをさらに提供する。
【0059】
本開示の一態様によれば、電子機器をさらに提供し、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサに通信接続されたメモリとを含み、前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令が前記少なくとも1つのプロセッサに実行されて、前記少なくとも1つのプロセッサに、以上に記載のデータ伝送方法を実行させることができる。
【0060】
本開示の一態様によれば、コンピュータ命令が記憶された非一時的コンピュータ可読記憶媒体をさらに提供し、前記コンピュータ命令は、前記コンピュータに以上に記載のデータ伝送方法を実行させるために用いられる。
【0061】
本開示の一態様によれば、コンピュータプログラムを含むコンピュータプログラム製品も提供する。コンピュータプログラムは、プロセッサによって実行されると、上述したデータ伝送方法を実現する。
【0062】
次に、
図5を参照して、本開示のサーバ又はクライアントとして機能する電子機器500の構成ブロック図について説明し、それは、本開示の各態様に応用可能なハードウェア装置の一例である。電子機器は、様々な形態のデジタル電子コンピュータ、例えば、ラップトップ型コンピュータ、デスクトップ型コンピュータ、ステージ、個人用デジタル補助装置、サーバ、ブレードサーバ、大型コンピュータ、その他の適切なコンピュータを示す。電子機器は更に、様々な形態の移動装置、例えば、パーソナルデジタル処理、携帯電話、インテリジェントフォン、ウェアラブル機器とその他の類似する計算装置を示してよい。本明細書に示される部品、これらの接続関係及びこれらの機能は例示的なものに過ぎず、本明細書に説明した及び/又は請求した本開示の実現を制限しない。
【0063】
図5に示すように、機器500は、計算ユニット501を含み、それはリードオンリーメモリ(ROM)502に記憶されるコンピュータプログラム又は記憶ユニット508からランダムアクセスメモリ(RAM)503にロードされるコンピュータプログラムによって、種々の適当な動作と処理を実行することができる。RAM503において、機器500を操作するために必要とされる様々なプログラムとデータを記憶してよい。計算ユニット501、ROM502及びRAM503は、バス504を介して互いに接続されている。入力/出力(I/O)インタフェース505もバス504に接続されている。
【0064】
機器500内の複数の部材は、I/Oインタフェース505に接続され、これは、入力ユニット506、出力ユニット507、記憶ユニット508、及び通信ユニット509を備える。入力ユニット506は、機器500に情報を入力することが可能な任意のタイプの装置であってもよく、入力ユニット506は、入力された数字又は文字情報を受信し、電子機器のユーザ設定及び/又は機能制御に関するキー信号入力を生成することができ、マウス、キーボード、タッチスクリーン、トラックボード、トラックボール、操作レバー、マイク及び/又はリモコンを含んでもよいが、これらに限定されない。出力ユニット507は、情報を提示することが可能ないずれかのタイプの装置であってもよく、ディスプレイ、スピーカ、映像/オーディオ出力端末、バイブレータ、及び/又はプリンタを含んでもよいが、これらに限定されない。記憶ユニット508は磁気ディスク、光ディスクを含んでもよいが、これらに限定されない。通信ユニット509は、機器500が例えば、インターネットであるコンピュータネットワーク及び/又は様々な電気通信ネットワークを介して他の装置と情報/データを交換することを可能にし、モデム、ネットワークカード、赤外線通信装置、無線通信送受信機、及び/又はチップセット、例えば、ブルートゥース(登録商標)装置、802.11装置、WiFi装置、WiMax装置、セルラー通信装置及び/又は類似物を含んでもよいが、これらに限定されない。
【0065】
計算ユニット501は処理及びコンピューティング能力を有する様々な汎用及び/又は専用の処理コンポーネントであってもよい。計算ユニット501のいくつかの例として、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、様々な専用人工知能(AI)計算チップ、機械学習モデルアルゴリズムを実行する様々な計算ユニット、デジタル信号プロセッサ(DSP)、及び任意の適当なプロセッサ、コントローラ、マイクロコントローラなどを含んでもよいが、これらに限定されない。計算ユニット501は上記内容で説明した各方法と処理、例えばデータ伝送方法を実行する。例えば、いくつかの実施例において、データ伝送方法はコンピュータソフトウェアプログラムとして実現してよく、機械可読媒体、例えば、記憶ユニット508に有形に含まれる。いくつかの実施例では、コンピュータプログラムの一部又は全部は、ROM502及び/又は通信ユニット509を介して機器500にロード及び/又はインストールされてもよい。コンピュータプログラムがRAM503にロードされてコンピューティングユニット501によって実行される場合、以上で説明されるデータ伝送方法の1つまたは複数のステップを実行することできる。代替的に、別の実施例において、計算ユニット501は他のいかなる適切な方式で(例えば、ファームウェアにより)データ伝送方法を実行するように構成されてよい。
【0066】
本明細書で上述したシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップ(SOC)、複雑なプログラマブル論理デバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はこれらの組み合わせにおいて実装することができる。これらの様々な実施形態は、1つ以上のコンピュータプログラムに実施され、該1つ以上のコンピュータプログラムは少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムで実行し及び/又は解釈してもよく、該プログラマブルプロセッサは専用又は汎用プログラマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置、少なくとも1つの出力装置からデータと命令を受信し、データと命令を該記憶システム、該少なくとも1つの入力装置、該少なくとも1つの出力装置に送信してよいこと、を含んでもよい。
【0067】
本開示の方法を実施するプログラムコードは1つ以上のプログラミング言語のいかなる組み合わせで書かれてよい。これらのプログラムコードを汎用コンピュータ、特殊目的のコンピュータ又は他のプログラマブルデータ処理装置のプロセッサ又はコントローラに提供してよく、よってプログラムコードはプロセッサ又はコントローラにより実行される時に流れ図及び/又はブロック図に規定の機能/操作を実施する。プログラムコードは完全に機械で実行してよく、部分的に機械で実行してよく、独立ソフトウェアパッケージとして部分的に機械で実行し且つ部分的に遠隔機械で実行してよく、又は完全に遠隔機械又はサーバで実行してよい。
【0068】
本開示のコンテキストにおいて、機械可読媒体は有形の媒体であってもよく、命令実行システム、装置又はデバイスに使用される又は命令実行システム、装置又はデバイスに結合されて使用されるプログラムを具備又は記憶してよい。機械可読媒体は機械可読信号媒体又は機械可読記憶媒体であってもよい。機械可読媒体は、電子、磁気、光学、電磁、赤外線、又は半導体システム、装置又はデバイス、又は上記内容のいかなる適切な組み合わせを含んでもよいが、これらに限定されない。機械可読記憶媒体のより具体的な例は、1つ以上のリード線による電気接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能なプログラマブル読み出し専用メモリ(EPROM又はフラッシュメモリ)、光ファイバー、ポータブルコンパクトディスク読み出し専用メモリ(CD-ROM)、光記憶機器、磁気記憶機器、又は上記内容のいかなる適切な組み合わせを含む。
【0069】
ユーザとのインタラクションを提供するために、コンピュータにはここで説明したシステムと技術を実施してよく、該コンピュータは、ユーザに情報を表示するための表示装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)監視モニタ)、及びキーボードとポインティング装置(例えば、マウスやトラックボール)を備え、ユーザは該キーボードと該ポインティング装置を介してコンピュータに入力してよい。その他の種類の装置は更に、ユーザとのインタラクションを提供するためのものであってもよく、例えば、ユーザに提供するフィードバックはいかなる形態の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、いかなる形態(音入力、音声入力、又は触覚入力を含む)でユーザからの入力を受信してよい。
【0070】
ここで述べたシステムや技術は、バックステージ部材を含む計算システム(例えば、データサーバとして)や、ミドルウェア部材を含む計算システム(例えば、アプリケーションサーバ)や、フロントエンド部材を含む計算システム(例えば、グラフィカルユーザインターフェースやウェブブラウザを有するユーザコンピュータであり、ユーザが、そのグラフィカルユーザインターフェースやウェブブラウザを通じて、それらのシステムや技術の実施形態とのインタラクションを実現できる)、あるいは、それらのバックステージ部材、ミドルウェア部材、あるいはフロントエンド部材の任意の組み合わせからなる計算システムには実施されてもよい。システムの部材は、任意の形式や媒体のデジタルデータ通信(例えば、通信ネットワーク)により相互に接続されてもよい。通信ネットワークの一例は、ローカルネットワーク(LAN)、広域ネットワーク(WAN)、インターネットとブロックチェーンネットワークを含む。
【0071】
コンピュータシステムは、クライアント側とサーバを含んでもよい。クライアント側とサーバは、一般的に相互に遠く離れ、通常、通信ネットワークを介してインタラクションを行う。互にクライアント側-サーバという関係を有するコンピュータプログラムを対応するコンピュータで運転することによってクライアント側とサーバとの関係を生成する。サーバは、クラウドサーバであってもよく、分散型システムのサーバでも、又はブロックチェーンと組み合わされたサーバであってもよい。
【0072】
理解すべきこととして、前述した様々な形態のフローを用いて、改めて順位付け、ステップを増加又は削除してよい。例えば、本開示に記載された各ステップは、並列的に実行してもよいし、順次実行してもよいし、異なる順序で実行してもよく、本開示に開示された技術案が所望する結果を実現できれば、本文はこれに限定されないことである。
【0073】
本開示の実施例又は例について、図面を参照しながら説明してきたが、上述した方法、システム、及び機器は、単に例示的な実施例又は例に過ぎず、本発明の範囲は、これらの実施例又は例によって限定されるものではないと理解されたい。実施例又は例の様々な要素は省略されてもよく、又はそれらの均等要素によって代替されてもよい。なお、各ステップは、本開示で説明した順序とは異なる順序で実行されてもよい。更に、実施例又は例の様々な要素は、様々な方法で組み合わせられてもよい。重要なのは、技術の進化に伴い、ここで説明される多くの要素は、本開示の後に現れる同等の要素に置き換えることができるということである。
【外国語明細書】