(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024108163
(43)【公開日】2024-08-09
(54)【発明の名称】データプロセッサ仮想ポートのクロスカードリンクアグリゲーション方法、機器及び媒体
(51)【国際特許分類】
H04L 45/76 20220101AFI20240802BHJP
H04L 45/243 20220101ALI20240802BHJP
【FI】
H04L45/76
H04L45/243
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2024012120
(22)【出願日】2024-01-30
(31)【優先権主張番号】202310104331.9
(32)【優先日】2023-01-30
(33)【優先権主張国・地域又は機関】CN
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
(71)【出願人】
【識別番号】524040568
【氏名又は名称】中科馭数(北京)科技有限公司
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(74)【代理人】
【識別番号】100132883
【弁理士】
【氏名又は名称】森川 泰司
(74)【代理人】
【識別番号】100148633
【弁理士】
【氏名又は名称】桜田 圭
(74)【代理人】
【識別番号】100147924
【弁理士】
【氏名又は名称】美恵 英樹
(72)【発明者】
【氏名】李 ▲ウェイ▼
(72)【発明者】
【氏名】孫 旭
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030GA11
5K030KA01
5K030KA04
5K030LB06
5K030LB07
(57)【要約】 (修正有)
【課題】単一点故障によるネットワークの中断の問題を回避し、これにより、高い可用性が保証されるDPU仮想ポートのクロスカードリンクアグリゲーション方法、機器及び媒体を提供する。
【解決手段】方法は、複数のデータプロセッサを設置し、各データプロセッサはそれぞれ仮想マシン、スイッチ間に通信接続され、仮想マシン及びスイッチにそれぞれリンクネゴシエーションを行い、通信すべきデータメッセージを取得し、さらに通信すべきデータメッセージの通信リンクを確定し、通信リンクは仮想マシン上の仮想ポート、仮想マシン上の仮想ポートに対応する仮想ポートプロキシ、データプロセッサ上の物理ポートに対応するアップリンクポート、データプロセッサ上の物理ポート、及びスイッチ間のメッセージ通路であり、通信リンクによって通信すべきデータメッセージを通信する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
データプロセッサの仮想ポートのクロスカードリンクアグリゲーション方法であって、各前記データプロセッサはそれぞれ、仮想マシン、スイッチとの間に通信接続され、前記方法は、
それぞれ前記仮想マシン及び前記スイッチにリンクネゴシエーションを行うことと、
通信すべきデータメッセージを取得し、前記通信すべきデータメッセージにターゲット側識別子、ソース側識別子、メッセージタイプを含むことと、
前記通信すべきデータメッセージの通信リンクを確定し、前記通信リンクは前記仮想マシン上の仮想ポート、前記仮想マシン上の仮想ポートに対応する仮想ポートプロキシ、前記データプロセッサ上の物理ポートに対応するアップリンクポート、前記データプロセッサ上の物理ポート、及び前記スイッチ間のメッセージ通路であることと、
前記通信リンクによって前記通信すべきデータメッセージを通信することとを含む、方法。
【請求項2】
前記仮想マシンによって送信された第1ネゴシエーションメッセージ、及び前記スイッチによって送信された第2ネゴシエーションメッセージを取得することと、
仮想的な前記スイッチに基づいて前記第1ネゴシエーションメッセージ及び前記第2ネゴシエーションメッセージをリンクアグリゲーションコントローラに転送することと、
前記リンクアグリゲーションコントローラによって前記第1ネゴシエーションメッセージ及び前記第2ネゴシエーションメッセージを処理し、かつ前記仮想マシンに第1応答プロトコルメッセージをフィードバックし、前記スイッチに第2応答プロトコルメッセージをフィードバックすることとを含む、請求項1に記載の方法。
【請求項3】
前記の、前記仮想マシンに第1応答プロトコルメッセージをフィードバックし、前記スイッチに第2応答プロトコルメッセージをフィードバックすることは、
前記第1応答プロトコルメッセージ及び前記第2応答プロトコルメッセージを仮想スイッチに送信することと、
前記仮想的スイッチによって前記第1応答プロトコルメッセージを前記仮想マシンに転送することと、
前記仮想のスイッチによって前記第2応答プロトコルメッセージを前記スイッチに転送することとを含む、請求項2に記載の方法。
【請求項4】
前記通信すべきデータメッセージは、
前記仮想マシンによって送信された第1データメッセージ、スイッチによって送信された第2データメッセージの少なくとも1つを含む、請求項1に記載の方法。
【請求項5】
前記の、通信すべきデータメッセージを取得することは、
前記仮想マシン上の仮想ポートに対応する仮想ポートプロキシによって前記通信すべきデータメッセージを仮想スイッチに送信すること、または、
前記データプロセッサ上の物理ポートに対応するアップリンクポートによって前記通信すべきデータメッセージを前記仮想スイッチに送信すること、
前記仮想的スイッチに基づいて通信すべきデータメッセージを取得することを含む、請求項1に記載の方法。
【請求項6】
前記通信すべきデータメッセージの通信リンクを確定することは、
予め設定されたターゲット側識別子と予め設定された通信リンクとの対応関係を取得することと、
前記対応関係から前記通信すべきデータメッセージにおけるターゲット側識別子に対応する通信リンクを確定することとを含む、請求項1に記載の方法。
【請求項7】
前記の、前記通信リンクに基づいて前記通信すべきデータメッセージを通信することは、
仮想的スイッチによって前記通信すべきデータメッセージから前記ターゲット側識別子を取得することと、
前記仮想スイッチによって前記通信すべきデータメッセージを前記通信リンクによって前記ターゲット側識別子に対応するターゲット側に転送することとを含む、請求項1に記載の方法。
【請求項8】
電子機器であって、
メモリと、
プロセッサと、
コンピュータプログラムとを含み、
前記コンピュータプログラムが前記メモリに記憶され、前記プロセッサによって実行されて、請求項1~7のいずれか一項に記載の方法を実現するように構成される、電子機器。
【請求項9】
コンピュータプログラムが記憶されたコンピュータ可読記録媒体であって、前記コンピュータプログラムは、プロセッサによって実行されると、請求項1~7のいずれか一項に記載の方法を実現する、コンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示はコンピュータ技術分野に関し、特にDPU仮想ポートのクロスカードリンクアグリゲーション方法、デバイス、機器及び媒体に関する。
【背景技術】
【0002】
データプロセッサ(Data Processing Unit、DPU)は、データを中心とし、I/O密集型であり、ソフトウェア定義技術経路を採用して、インフラ資源層の仮想化をサポートし、コンピューティングシステム効率を向上させ、システム全体の総所有コストを削減し、データ処理性能を向上させ、他のコンピューティングチップのパフォーマンス損失を低減する次世代コンピューティングチップを備える。
【0003】
現在、DPUカードは、1つの物理ポート(MACポート)を複数の仮想ポート(Virtual Function、VF)に分割して、ホストマシン上で動作している仮想マシン(Virtual Machine、VM)に使用する。各VFは対応する仮想ポートプロキシ(Virtual Function representor、VF rep)を有し、(VF、VF rep)セットを形成し、VF repはメッセージを仮想的スイッチ(Open vSwitch、OVS)に送信するために用いられる。MACポートも対応するアップリンクポート(uplink)を有し、(MAC、uplink)セットを形成し、uplinkもメッセージをOVSに送信するために用いられる。OVSは通過したメッセージを処理して配信する。
【0004】
従来技術では、1枚のDPUカードしかなく、各VM上のVFは1枚のDPUカードに属しており、すべてのVFのトラフィックはDPUカードを通過する必要があるため、単一点故障の問題があり、一旦DPUカードにハードウェア故障が発生すると、ネットワークが切断され、高可用性を保証できない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記課題を解決するために、本開示は、DPU仮想ポートのクロスカードリンクアグリゲーション方法、機器及び媒体を提供して、単一点故障によるネットワークの中断の問題を回避し、これにより、高い可用性が保証される。
【課題を解決するための手段】
【0006】
本開示の1つ以上の実施例はDPU仮想ポートのクロスカードリンクアグリゲーション方法を提供し、各データプロセッサはそれぞれ仮想マシン、スイッチと通信接続され、前記方法は、
それぞれ前記仮想マシン及びスイッチにリンクネゴシエーションを行うことと、
通信すべきデータメッセージを取得し、前記通信すべきデータメッセージにターゲット側識別子、ソース側識別子、メッセージタイプを含むことと、
前記通信すべきデータメッセージの通信リンクを確定し、前記通信リンクは仮想マシン上の仮想ポート、仮想マシン上の仮想ポートに対応する仮想ポートプロキシ、データプロセッサ上の物理ポートに対応するアップリンクポート、データプロセッサ上の物理ポート、及びスイッチ間のメッセージ通路であることと、
前記通信リンクによって前記通信すべきデータメッセージを通信することとを含む。
【0007】
いくつかの実施例では、前記の、仮想マシンとスイッチとをそれぞれリンクネゴシエーションを行うことは、
仮想マシンによって送信された第1ネゴシエーションメッセージ、及びスイッチによって送信された第2ネゴシエーションメッセージを取得することと、
仮想的スイッチに基づいて前記第1ネゴシエーションメッセージ及び前記第2ネゴシエーションメッセージをリンクアグリゲーションコントローラに転送することと、
前記リンクアグリゲーションコントローラによって前記第1ネゴシエーションメッセージ及び前記第2ネゴシエーションメッセージを処理し、かつ仮想マシンに第1応答プロトコルメッセージをフィードバックし、スイッチに第2応答プロトコルメッセージをフィードバックすることとを含む。
【0008】
いくつかの実施例では、前記の、前記仮想マシンに第1応答プロトコルメッセージをフィードバックし、前記スイッチに第2応答プロトコルメッセージをフィードバックすることは、
前記第1応答プロトコルメッセージ及び前記第2応答プロトコルメッセージを前記仮想スイッチに送信することと、
前記仮想的スイッチによって前記第1応答プロトコルメッセージを仮想マシンに転送することと、
前記仮想のスイッチによって前記第2応答プロトコルメッセージをスイッチに転送することとを含む。
【0009】
いくつかの実施例では、前記通信すべきデータメッセージは、
仮想マシンによって送信された第1データメッセージ、スイッチによって送信された第2データメッセージの少なくとも1つを含む。
【0010】
いくつかの実施例では、前記の、通信すべきデータメッセージを取得することは、
仮想マシン上の仮想ポートに対応する仮想ポートプロキシによって前記通信すべきデータメッセージを仮想スイッチに送信すること、または、
データプロセッサ上の物理ポートに対応するアップリンクポートによって前記通信すべきデータメッセージを前記仮想スイッチに送信すること、
前記仮想的スイッチに基づいて通信すべきデータメッセージを取得することを含む。
【0011】
いくつかの実施例では、前記の、前記通信すべきデータメッセージの通信リンクを確定することは、
予め設定されたターゲット側識別子と予め設定された通信リンクとの対応関係を取得することと、
前記対応関係から前記通信すべきデータメッセージにおけるターゲット側識別子に対応する通信リンクを確定することとを含む。
【0012】
いくつかの実施例では、前記の、前記通信リンクによって前記通信すべきデータメッセージを通信することは、
前記仮想的スイッチによって前記通信すべきデータメッセージから前記ターゲット側識別子を取得することと、
前記仮想スイッチによって前記通信すべきデータメッセージを前記通信リンクによって前記ターゲット側識別子に対応するターゲット側に転送することとを含む。
【0013】
本開示の1つ以上の実施例は、DPU仮想ポートのクロスカードリンクアグリゲーション装置を提供し、各データプロセッサはそれぞれ仮想マシン、スイッチと通信接続され、前記装置は、
それぞれ仮想マシン及びスイッチにリンクネゴシエーションを行うためのネゴシエーションモジュールと、
通信すべきデータメッセージを取得するための取得モジュールであって、前記通信すべきデータメッセージにターゲット側識別子、ソース側識別子、メッセージタイプを含むものと、
前記通信すべきデータメッセージの通信リンクを確定するための確定モジュールであって、通信リンクは仮想マシン上の仮想ポート、仮想マシン上の仮想ポートに対応する仮想ポートプロキシ、データプロセッサ上の物理ポートに対応するアップリンクポート、データプロセッサ上の物理ポート、及びスイッチ間のメッセージ通路であるものと、
前記通信リンクによって前記通信すべきデータメッセージを通信するための通信モジュールとを含む。
【0014】
本開示の1つ以上の実施例は、メモリと、プロセッサと、コンピュータプログラムとを含む電子機器を提供する。ここでは、前記コンピュータプログラムは、前記メモリに記憶され、前記プロセッサによって実行されて第1態様に記載の方法を実現するように構成される。
【0015】
本開示の1つ以上の実施例は、コンピュータプログラムが記憶されたコンピュータ可読記憶媒体を提供し、前記コンピュータプログラムは、プロセッサによって実行されて、第1態様に記載の方法を実現する。
【0016】
また、本開示の1つ以上の実施例は、コンピュータプログラム又は命令を含むコンピュータプログラム製品をさらに提供し、該コンピュータプログラム又は命令は、プロセッサによって実行されると、第1態様に記載の方法を実現する。
【0017】
本開示の実施例が提供するDPU仮想ポートのクロスカードリンクアグリゲーション方法、デバイス、機器及び媒体は、複数のデータプロセッサを設置することによって、各データプロセッサはそれぞれ仮想マシン、スイッチとの間に通信接続され、それぞれ仮想マシンとスイッチにリンクネゴシエーションを行い、通信すべきデータメッセージを取得し、前記通信すべきデータメッセージにターゲット側識別子、ソース側識別子、メッセージタイプを含み、前記通信すべきデータメッセージの通信リンクを確定し、前記通信リンクは仮想マシン上の仮想ポート、仮想マシン上の仮想ポートに対応する仮想ポートプロキシ、データプロセッサ上の物理ポートに対応するアップリンクポート、データプロセッサ上の物理ポート、及びスイッチ間のメッセージ通路であり、前記通信リンクによって前記通信すべきデータメッセージを通信する。複数のデータプロセッサが設置され、各データプロセッサはそれぞれ仮想マシン、スイッチ間に通信接続されるため、メッセージは複数の通信リンクによって通信することができ、単一点の故障によるネットワークの中断の問題を避けることができ、これにより、高い可用性が保証される。
【図面の簡単な説明】
【0018】
ここでの図面は、本明細書に組み込まれると共にその一部を構成するものであり、本開示に符合する実施例を示しており、明細書とともに本開示の原理を説明するために用いられる。
【0019】
本開示の実施例又は従来技術における技術的解決手段をより明確に説明するために、以下、実施例又は従来技術の説明において必要な図面を簡単に説明するが、明らかなことに、当業者にとっては、創造的な労力をせず、これらの図面に基づいて他の図面を得ることもできる。
【0020】
【
図1】本開示の実施例によって提供されるDPU仮想ポートのクロスカードリンクアグリゲーション方法のフローチャートである。
【
図2】本開示の実施例によって提供されるリンクネゴシエーション過程の概略図である。
【
図3】本開示の別の実施例によって提供されるDPU仮想ポートのクロスカードリンクアグリゲーション方法のフローチャートである。
【
図4】本開示の別の実施例によって提供されるDPU仮想ポートのクロスカードリンクアグリゲーション方法のフローチャートである。
【
図5】本開示の実施例によって提供されるデータメッセージの通信過程の概略図である。
【
図6】本開示の実施例によって提供されるDPU仮想ポートのクロスカードリンクアグリゲーション装置の構造概略図である。
【
図7】本開示の実施例によって提供される電子機器の構造概略図である。
【発明を実施するための形態】
【0021】
本開示の上述の目的、特徴及び利点をより明確に理解するために、本開示の技術案を以下に更に説明する。なお、本開示の実施例および実施例における特徴は、矛盾することなく相互に組み合わせてもよい。
【0022】
以下の説明では、本開示を完全に理解するために、多くの具体的な詳細を記載し、しかしながら、本開示は、本明細書に記載するもの以外の方法で実施することもできる。明細書における実施例は、本開示の一部の実施例に過ぎず、全ての実施例ではないことは明らかである。
【0023】
データプロセッサは、データを中心とし、I/O密集型であり、ソフトウェア定義技術経路を採用して、インフラ資源層の仮想化をサポートし、コンピューティングシステム効率を向上させ、システム全体の総所有コストを削減し、データ処理性能を向上させ、他のコンピューティングチップのパフォーマンス損失を低減する次世代コンピューティングチップを備える。
【0024】
現在、DPUカードは、1つの物理ポート(MACポート)を複数の仮想ポート(Virtual Function、VF)に分割して、ホストマシン上で動作している仮想マシン(Virtual Machine、VM)に使用する。各VFは対応する仮想ポートプロキシ(Virtual Function representor、VF rep)を有し、(VF、VF rep)セットを形成し、VF repはメッセージを仮想的スイッチ(Openv Switch、OVS)に送信するために用いられる。MACポートも対応するアップリンクポート(uplink)を有し、(MAC、uplink)セットを形成し、uplinkもメッセージをOVSに送信するために用いられる。OVSは通過したメッセージを処理して配信する。
【0025】
従来技術では、1枚のDPUカードしかなく、各VM上のVFは1枚のDPUカードに属しており、すべてのVFのトラフィックはDPUカードを通過する必要があるため、単一点故障の問題があり、一旦DPUカードにハードウェア故障が発生すると、ネットワークが切断され、高可用性を保証できない。この問題に対して、本開示の実施例は、DPU仮想ポートのクロスカードリンクアグリゲーション方法を提供し、以下にこの方法を具体的な実施例に関連して説明する。
【0026】
図1は本開示の実施例によって提供されるDPU仮想ポートのクロスカードリンクアグリゲーション方法のフローチャートであり、該方法は電子機器、例えばコンピュータ、ノートパソコンなどに応用することができ、該方法は複数のデータプロセッサに基づいてメッセージ通信を行うシーンに応用することができ、単一点故障によるネットワークの中断の問題を避けることができ、これにより、高い可用性が保証される。本開示の実施例によって提供されるDPU仮想ポートのクロスカードリンクアグリゲーション方法は、他のシナリオにも適用可能であることを理解されたい。
【0027】
次に
図2を参照して、
図1に示されるDPU仮想ポートのクロスカードリンクアグリゲーション方法を紹介し、該方法は以下のいくつかのステップを含む:
【0028】
S101、それぞれ仮想マシン及びスイッチにリンクネゴシエーションを行う。
【0029】
いくつかの代替実施形態では、電子機器に少なくとも二つのデータプロセッサが配置され、各データプロセッサはそれぞれ仮想マシン、スイッチとの間に通信接続される。2枚のDPUカードのVF通路スルーをVMに用いることにより、VM内部に論理(bond)ポートを形成し、同時に2枚のDPUカード上の物理ポートリンクを集約し、ネットワークトラフィックを共同で送受信する。本ステップでは、
図2に示すように、電子機器は、仮想マシンとスイッチに対してそれぞれリンクネゴシエーションを行い、すなわち、DPUとVMとの間のbond、または、DPUとスイッチとの間のbondに動的なネゴシエーションを行う。例えば、ネゴシエーションメッセージを送信し、ネゴシエーションメッセージをフィードバックすることによりネゴシエーションが行われる。ネゴシエーション後、スイッチは2つの経路を通じてデータメッセージを送信することができ、VMは2つの経路を通じてデータメッセージを受信することができる。同様に、VMからのメッセージも2つの経路でスイッチに到達する。
【0030】
複数のネットワークポートの集約、すなわちリンクアグリゲーション(Link Aggregation)は、論理ポート(bondポート)を形成し、それにより、各メンバーポートでの出/入トラフィックスループットのロードバランシングを実現する。そのうちの一つのメンバーポートのリンクに故障が発生したと検出した場合、このポートでメッセージの送信を停止し、かつロードバランシングポリシーに応じて残りのリンクにメッセージの送信ポートを再計算し、故障が発生したポートが復元した後、再び送受信ポートを担当する。リンクアグリゲーションは、リンク帯域幅、リンク冗長性などを増加させることができる。
【0031】
S102、通信すべきデータメッセージを取得し、前記通信すべきデータメッセージにターゲット側識別子、ソース側識別子、メッセージタイプを含む。
【0032】
電子機器は通信すべきデータメッセージを取得し、前記通信すべきデータメッセージにターゲット側識別子、ソース側識別子、メッセージタイプを含む。通信すべきデータメッセージはスイッチからのもので、仮想マシンに送信されるものであってもよいし、仮想マシンからのもので、スイッチに送信されるものであってもよい。前記通信すべきデータメッセージにターゲット側識別子、ソース側識別子、メッセージタイプを含む。メッセージタイプは、ネゴシエーションメッセージ、データメッセージなどに分けられる。ソース側識別子は通信すべきデータメッセージの送信側の識別子を表し、ターゲット側識別子は通信すべきデータメッセージの受信側の識別子を表す。
【0033】
S103、前記通信すべきデータメッセージの通信リンクを確定し、前記通信リンクは仮想マシン上の仮想ポート、仮想マシン上の仮想ポートに対応する仮想ポートプロキシ、データプロセッサ上の物理ポートに対応するアップリンクポート、データプロセッサ上の物理ポート、及びスイッチ間のメッセージ通路である。
【0034】
電子機器に少なくとも二つのデータプロセッサが配置され、各データプロセッサはそれぞれ仮想マシン、スイッチとの間に通信接続され、VM内の複数のVFがメッセージを送受信する経路は異なるDPUカードに属し、複数のリンクが形成される。本実施例では、電子機器は、前記通信すべきデータメッセージの通信リンクを確定する。前記通信リンクは前記仮想マシン上の仮想ポート、仮想マシン上の仮想ポートに対応する仮想ポートプロキシ、データプロセッサ上の物理ポートに対応するアップリンクポート、データプロセッサ上の物理ポート、及びスイッチ間のメッセージ通路である。
図5に示すように、メッセージ通路は双方向であり、すなわち、データメッセージは、仮想マシン上の仮想ポートから、仮想マシン上の仮想ポートに対応する仮想ポートプロキシへ、データプロセッサ上の物理ポートに対応するアップリンクポートへ、データプロセッサ上の物理ポートへ、最後にスイッチに伝送することができ、データメッセージは、スイッチから、データプロセッサ上の物理ポート、データプロセッサ上の物理ポートに対応するアップリンクポートへ、仮想マシン上の仮想ポートに対応する仮想ポートプロキシへ、最後に仮想マシン上の仮想ポートに伝送することができる。
【0035】
S104、前記通信リンクによって前記通信すべきデータメッセージを通信する。
【0036】
本実施例では、電子機器は前記通信リンクに基づいて前記通信すべきデータメッセージを通信する。電子機器に少なくとも二つのデータプロセッサが配置され、各データプロセッサはそれぞれ仮想マシン、スイッチとの間に通信接続され、VM内の複数のVFがメッセージを送受信する経路は異なるDPUカードに属し、複数のリンクが形成される。メッセージは複数の通信リンクによって通信することができ、それにより従来技術に存在する単一点故障の問題を解決することができる。
【0037】
いくつかの実施例では、ユーザは、仮想マシン上の仮想ポートをロードバランシングするように構成することができ、仮想マシンは、ロードバランシング構成に従って複数のVFを介してロードを均衡して送出する。いくつかの実施例では、ユーザは、仮想マシン上の仮想ポートのトラフィックを設定でき、仮想マシンは、トラフィック設定に基づいて、トラフィックを複数のVFを介して均衡して送出する。
【0038】
いくつかの実施例では、ユーザは、スイッチ上のネットワークポートをロードバランシングするように構成することができ、スイッチは、ロードバランシング構成に従って複数のVFを介してロードを均衡して送出する。いくつかの実施例では、ユーザは、スイッチ上のネットワークポートのトラフィックを設定し、スイッチは、トラフィック設定によってトラフィックを複数のVFを介して均衡して送出する。
【0039】
本開示の実施例は、複数のデータプロセッサを設置することによって、各データプロセッサはそれぞれ仮想マシン、スイッチとの間に通信接続され、それぞれ仮想マシンとスイッチにリンクネゴシエーションを行い、通信すべきデータメッセージを取得し、前記通信すべきデータメッセージにターゲット側識別子、ソース側識別子、メッセージタイプを含み、前記通信すべきデータメッセージの通信リンクを確定し、前記通信リンクは仮想マシン上の仮想ポート、仮想マシン上の仮想ポートに対応する仮想ポートプロキシ、データプロセッサ上の物理ポートに対応するアップリンクポート、データプロセッサ上の物理ポート、及びスイッチ間のメッセージ通路であり、前記通信リンクによって前記通信すべきデータメッセージを通信する。複数のデータプロセッサが設置され、各データプロセッサはそれぞれ仮想マシン、スイッチ間に通信接続されるため、メッセージは複数の通信リンクによって通信することができ、単一点の故障によるネットワークの中断の問題を避けることができ、これにより、高い可用性が保証される。
【0040】
図3は本開示の他の実施例が提供するDPU仮想ポートのクロスカードリンクアグリゲーション方法のフローチャートであり、
図3に示すように、前記方法は以下のいくつかのステップを含む:
【0041】
S301、仮想マシンによって送信された第1ネゴシエーションメッセージ、及びスイッチによって送信された第2ネゴシエーションメッセージを取得する。
【0042】
電子機器は、仮想マシンによって送信された第1ネゴシエーションメッセージ、及び前記スイッチによって送信された第2ネゴシエーションメッセージを取得する。
図2に示すように、仮想マシンが定時に送信する第1ネゴシエーションメッセージ、スイッチが定時に送信する第2ネゴシエーションメッセージ、電子設備のなかの仮想スイッチは仮想マシンが送信した第1ネゴシエーションメッセージ、およびスイッチによって送信された第2ネゴシエーションメッセージ。第1ネゴシエーションメッセージに仮想マシンの各仮想ポートの状態情報、ソース側識別子、ターゲット側識別子を含み、第2ネゴシエーションメッセージにスイッチの各物理ポートの状態情報、ソース側識別子、ターゲット側識別子を含む。
【0043】
S302、仮想的スイッチによって前記第1ネゴシエーションメッセージ及び前記第2ネゴシエーションメッセージをリンクアグリゲーションコントローラに転送する。
【0044】
仮想マシンが送信した第1ネゴシエーションメッセージ、及びスイッチが送信した第2ネゴシエーションメッセージを取得した後、電子機器は仮想スイッチによって前記第1ネゴシエーションメッセージ及び前記第2ネゴシエーションメッセージをリンクアグリゲーションコントローラに転送する。
【0045】
S303、前記リンクアグリゲーションコントローラによって前記第1ネゴシエーションメッセージ及び前記第2ネゴシエーションメッセージを処理し、かつ仮想マシンに第1応答プロトコルメッセージをフィードバックし、スイッチに第2応答プロトコルメッセージをフィードバックする。
【0046】
さらに、電子機器は、前記リンクアグリゲーションコントローラによって前記第1ネゴシエーションメッセージ及び前記第2ネゴシエーションメッセージを処理し、かつ仮想マシンに第1応答プロトコルメッセージをフィードバックし、スイッチに第2応答プロトコルメッセージをフィードバックする。
図2に示すように、スイッチbondと仮想ポートbondからのネゴシエーションメッセージは全部リンクアグリゲーションコントローラに送って統一的に処理し、かつリンクアグリゲーションコントローラは仮想マシンに第1応答プロトコルメッセージをフィードバックし、スイッチに第2応答プロトコルメッセージをフィードバックする。
【0047】
いくつかの実施例では、S303において仮想マシンに第1応答プロトコルメッセージをフィードバックし、スイッチに第2応答プロトコルメッセージをフィードバックすることは、S3031、S3032、S3033を含むが、これらに限定されない。
【0048】
S3031、前記第1応答プロトコルメッセージ及び前記第2応答プロトコルメッセージを前記仮想スイッチに送信する。
【0049】
図2に示すように、電子機器内のリンクアグリゲーションコントローラは、前記第1応答プロトコルメッセージ及び前記第2応答プロトコルメッセージを前記仮想スイッチ(Open vSwitch、OVS)に送信する。仮想スイッチはメッセージ転送の役割を担っており、メッセージ中継局に相当する。
【0050】
S3032、前記仮想的スイッチによって前記第1応答プロトコルメッセージを仮想マシンに転送する。
【0051】
電子機器における仮想スイッチは第1応答プロトコルメッセージを受信した後、前記第1応答プロトコルメッセージを仮想マシンに転送する。
【0052】
S3033、前記仮想のスイッチによって前記第2応答プロトコルメッセージをスイッチに転送する。
【0053】
電子機器における仮想スイッチは第2応答プロトコルメッセージを受信した後、前記第2応答プロトコルメッセージを仮想マシンに転送する。
【0054】
S304、通信すべきデータメッセージを取得し、前記通信すべきデータメッセージにターゲット側識別子、ソース側識別子、メッセージタイプを含む。
【0055】
具体的には、S304とS102の実現過程と原理は一致しているので、ここでは説明を省略する。
【0056】
いくつかの実施例では、前記通信すべきデータメッセージは、仮想マシンが送信した第1データメッセージ、スイッチが送信した第2データメッセージの少なくとも1つを含む。すなわち、通信すべきデータメッセージは、仮想マシンによって送信された第1のデータメッセージであってもよいし、スイッチによって送信された第2データメッセージであってもよい。
【0057】
S305、予め設定されたターゲット側識別子と予め設定された通信リンクとの対応関係を取得する。
【0058】
いくつかの実施例では、電子機器には、予め設定されたターゲット側識別子と予め設定された通信リンクとの対応関係が記憶されている。電子機器は予め設定されたターゲット側識別子と予め設定された通信リンクの対応関係を取得し、ターゲット側識別子は一つ以上の通信リンクに対応し、すなわちメッセージは複数の通信リンクによって通信することができ、これにより、従来技術に存在する単一点故障の問題を解決することができる。
【0059】
S306、前記対応関係から前記通信すべきデータメッセージにおけるターゲット側識別子に対応する通信リンクを確定する。
【0060】
予め設定されたターゲット側識別子と予め設定された通信リンクとの対応関係を取得した後、電子機器は前記対応関係から前記通信すべきデータメッセージにおけるターゲット側識別子に対応する通信リンクを確定することができる。
【0061】
S307、前記通信リンクによって前記通信すべきデータメッセージを通信する。
【0062】
具体的には、S307とS104の実現過程と原理は一致しているので、ここでは説明を省略する。
【0063】
本開示の実施例は仮想マシンによって送信された第1ネゴシエーションメッセージ、及びスイッチによって送信された第2ネゴシエーションメッセージを取得し、仮想スイッチによって前記第1ネゴシエーションメッセージ及び前記第2ネゴシエーションメッセージをリンクアグリゲーションコントローラに転送し、前記リンクアグリゲーションコントローラによって前記第1ネゴシエーションメッセージ及び前記第2ネゴシエーションメッセージを処理し、かつ仮想マシンに第1応答プロトコルメッセージをフィードバックし、スイッチに第2応答プロトコルメッセージをフィードバックする。さらに、通信すべきデータメッセージを取得し、前記通信すべきデータメッセージにターゲット側識別子、ソース側識別子、メッセージタイプを含み、予め設定されたターゲット側識別子と予め設定された通信リンクとの対応関係を取得し、前記対応関係から前記通信すべきデータメッセージにおけるターゲット側識別子に対応する通信リンクを確定する。さらに前記通信リンクによって前記通信すべきデータメッセージを通信する。複数のデータプロセッサが設置され、各データプロセッサはそれぞれ仮想マシン、スイッチ間に通信接続されるため、メッセージは複数の通信リンクによって通信することができ、単一点の故障によるネットワークの中断の問題を避けることができ、これにより、高い可用性が保証される。
【0064】
図4は本開示の他の実施例が提供するDPU仮想ポートのクロスカードリンクアグリゲーション方法のフローチャートであり、
図4に示すように、前記方法は以下のいくつかのステップを含む:
【0065】
S401、それぞれ仮想マシン及びスイッチにリンクネゴシエーションを行う。
【0066】
具体的には、S401とS101の実現過程と原理は一致しているので、ここでは説明を省略する。
【0067】
S402、仮想マシン上の仮想ポートに対応する仮想ポートプロキシによって前記通信すべきデータメッセージを仮想スイッチに送信する。
【0068】
図5に示すように、電子機器は仮想マシン上の仮想ポートに対応する仮想ポートプロキシ(VF rep)によって前記通信すべきデータメッセージを仮想スイッチ(OVS)に送信する。
【0069】
S403、データプロセッサ上の物理ポートに対応するアップリンクポートによって前記通信すべきデータメッセージを前記仮想スイッチに送信する。
【0070】
図5に示すように、電子機器はデータプロセッサ上の物理ポートに対応するアップリンクポート(uplink)によって前記通信すべきデータメッセージを前記仮想スイッチ(OVS)に送信する。
【0071】
S404、前記仮想的スイッチによって通信すべきデータメッセージを取得する。
【0072】
さらに、電子機器は、前記仮想スイッチから通信すべきデータメッセージを取得する。
【0073】
S405、前記通信すべきデータメッセージの通信リンクを確定し、前記通信リンクは仮想マシン上の仮想ポート、仮想マシン上の仮想ポートに対応する仮想ポートプロキシ、データプロセッサ上の物理ポートに対応するアップリンクポート、データプロセッサ上の物理ポート、及びスイッチ間のメッセージ通路である。
【0074】
具体的には、S405とS103の実現過程と原理は一致しているので、ここでは説明を省略する。
【0075】
S406、前記仮想的スイッチによって前記通信すべきデータメッセージから前記ターゲット側識別子を取得する。
【0076】
電子機器における仮想スイッチは、前記通信すべきデータメッセージから前記ターゲット側識別子を取得することができる。
【0077】
S407、前記仮想スイッチによって前記通信すべきデータメッセージを前記通信リンクによって前記ターゲット側識別子に対応するターゲット側に転送する。
【0078】
前記ターゲット側識別子を取得した後、電子機器における前記仮想スイッチは前記通信リンクによって前記通信すべきデータメッセージを前記ターゲット側識別子に対応するターゲット側に転送し、メッセージの通信を実現する。
【0079】
本開示の実施例はそれぞれ仮想マシンとスイッチにリンクネゴシエーションを行い、仮想マシン上の仮想ポートに対応する仮想ポートプロキシによって前記通信すべきデータメッセージを仮想スイッチに送信し、データプロセッサ上の物理ポートに対応するアップリンクポートによって前記通信すべきデータメッセージを前記仮想スイッチに送信し、前記仮想スイッチによって通信すべきデータメッセージを取得する。さらに、前記通信すべきデータメッセージの通信リンクを確定し、前記通信リンクは仮想マシン上の仮想ポート、仮想マシン上の仮想ポートに対応する仮想ポートプロキシ、データプロセッサ上の物理ポートに対応するアップリンクポート、データプロセッサ上の物理ポート、及びスイッチ間のメッセージ通路である。続いて、前記仮想的スイッチによって前記通信すべきデータメッセージから前記ターゲット側識別子を取得する。さらに、前記仮想スイッチによって前記通信すべきデータメッセージを前記通信リンクによって前記ターゲット側識別子に対応するターゲット側に転送する。本開示は従来技術に存在する単一点故障の問題を解決し、一つのDPUカードが故障する時、もう一枚のDPUカードが故障したカードのトラフィックを引き継ぐことができ、本開示はDPUのクロスカード仮想ポートリンクアグリゲーションによって、単一点のハードウェア故障を解消し、生産環境の高い可用性を向上させる。
【0080】
図6は本開示の実施例によって提供されるDPU仮想ポートのクロスカードリンクアグリゲーション装置の構造概略図である。該DPU仮想ポートのクロスカードリンクアグリゲーション装置は、上記実施例の電子機器であってもよく、DPU仮想ポートのクロスカードリンクアグリゲーションデバイスは、電子機器における部材またはコンポーネントであってもよい。本開示の実施例が提供するDPU仮想ポートのクロスカードリンクアグリゲーション装置はDPU仮想ポートのクロスカードリンクアグリゲーション方法の実施例が提供する処理フローを実行することができ、
図6に示すように、DPU仮想ポートのクロスカードリンクアグリゲーション装置60はネゴシエーションモジュール61、取得モジュール62、確定モジュール63及び通信モジュール64を含む。ここでは、ネゴシエーションモジュール61は、それぞれ仮想マシンとスイッチにリンクネゴシエーションを行うために用いられ、取得モジュール62は、通信すべきデータメッセージを取得するために用いられ、前記通信すべきデータメッセージにターゲット側識別子、ソース側識別子、メッセージタイプを含み、確定モジュール63は、前記通信すべきデータメッセージの通信リンクを確定するために用いられ、前記通信リンクは仮想マシン上の仮想ポート、仮想マシン上の仮想ポートに対応する仮想ポートプロキシ、データプロセッサ上の物理ポートに対応するアップリンクポート、データプロセッサ上の物理ポート、及びスイッチ間のメッセージ通路であり、前記通信モジュール64は、前記通信リンクによって前記通信すべきデータメッセージを通信するために用いられる。
【0081】
任意選択的に、前記ネゴシエーションモジュール61はそれぞれ仮想マシンとスイッチにリンクネゴシエーションを行うとき、具体的には、仮想マシンによって送信された第1ネゴシエーションメッセージ、及びスイッチによって送信された第2ネゴシエーションメッセージを取得し、仮想スイッチによって前記第1ネゴシエーションメッセージ及び前記第2ネゴシエーションメッセージをリンクアグリゲーションコントローラに転送し、前記リンクアグリゲーションコントローラによって前記第1ネゴシエーションメッセージ及び前記第2ネゴシエーションメッセージを処理し、かつ仮想マシンに第1応答プロトコルメッセージをフィードバックし、スイッチに第2応答プロトコルメッセージをフィードバックするために用いられる。
【0082】
任意選択的に、前記ネゴシエーションモジュール61は仮想マシンに第1応答プロトコルメッセージをフィードバックし、スイッチに第2応答プロトコルメッセージをフィードバックするとき、具体的には、前記第1応答プロトコルメッセージ及び前記第2応答プロトコルメッセージを前記仮想スイッチに送信し、前記仮想スイッチによって前記第1応答プロトコルメッセージを仮想マシンに転送し、前記仮想スイッチによって前記第2応答プロトコルメッセージをスイッチに転送するために用いられる。
【0083】
任意選択的に、前記通信すべきデータメッセージは、仮想マシンが送信した第1データメッセージ、スイッチが送信した第2データメッセージの少なくとも1つを含む。
【0084】
任意選択的に、前記取得モジュール62は通信すべきデータメッセージを取得するとき、具体的には、仮想マシン上の仮想ポートに対応する仮想ポートプロキシによって前記通信すべきデータメッセージを仮想スイッチに送信し、あるいは、データプロセッサ上の物理ポートに対応するアップリンクポートによって前記通信すべきデータメッセージを前記仮想スイッチに送信し、前記仮想スイッチによって通信すべきデータメッセージを取得するために用いられる。
【0085】
任意選択的に、前記確定モジュール63は前記通信すべきデータメッセージの通信リンクを確定するとき、具体的には、予め設定されたターゲット側識別子と予め設定された通信リンクとの対応関係を取得し、前記対応関係から前記通信すべきデータメッセージにおけるターゲット側識別子に対応する通信リンクを確定するために用いられる。
【0086】
任意選択的に、前記通信モジュール64は前記通信リンクによって前記通信すべきデータメッセージを通信するとき、具体的には、前記仮想スイッチによって前記通信すべきデータメッセージから前記ターゲット側識別子を取得し、前記仮想スイッチによって前記通信すべきデータメッセージを前記通信リンクによって前記ターゲット側識別子に対応するターゲット側に転送するために用いられる。
【0087】
図6に示す実施例のDPU仮想ポートのクロスカードリンクアグリゲーション装置は、上述の方法の実施例の技術案を実行することに用いることができ、その実現原理と技術効果は類似しており、ここではこれ以上詳しく述べない。
【0088】
図7は本開示の実施例によって提供される電子機器の構造概略図である。電子機器は、コンピュータ、ノートブック、車載コンピュータなどの端末であってもよい。本開示の実施例が提供する電子機器は、DPU仮想ポートのクロスカードリンクアグリゲーション方法の実施例が提供する処理フローを実行することができ、
図7に示すように、電子機器80は、メモリ81と、プロセッサ82と、コンピュータプログラムおよび通信インターフェース83を含む。ここで、コンピュータプログラムは、メモリ81に記憶され、プロセッサ82によって、以上に記載のDPU仮想ポートのクロスカードリンクアグリゲーション方法を実行するように構成される。
【0089】
また、本開示の実施例はさらに、コンピュータプログラムが記憶されたコンピュータ可読記録媒体を提供し、前記コンピュータプログラムは、プロセッサによって実行されて上述の実施例に記載のDPU仮想ポートのクロスカードリンクアグリゲーション方法を実現する。
【0090】
また、本開示の実施例は、コンピュータプログラム又は命令を含むコンピュータプログラム製品をさらに提供し、該コンピュータプログラム又は命令は、プロセッサによって実行されると、以上に記載のDPU仮想ポートのクロスカードリンクアグリゲーション方法を実現する。
【0091】
なお、本開示の上述したコンピュータ可読記憶媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体、またはこれら2つの任意の組み合わせであってもよい。コンピュータ可読媒体は、電子、磁気、光学、電磁、赤外線、又は半導体システム、装置又はデバイス、又は以上の任意の組み合わせであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例は、1つ以上のワイヤを有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能プログラマブルリードオンリーメモリ(EPROMまたはフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスクリードオンリーメモリ(CD-ROM)、光記憶デバイス、磁気記憶デバイス、または上記の任意の適切な組み合わせを含むことができるが、これらに限定されない。本開示では、コンピュータ可読記憶媒体は、プログラムを含むか又は格納された任意の有形媒体であってもよく、該プログラムは、命令実行システム、装置、またはデバイスによって、使用されるか、それに組み合わせて使用されることができる。本開示では、コンピュータ可読信号媒体は、ベースバンドで、又は搬送波の一部として伝搬するデータ信号を含むことができ、そこにはコンピュータで読み取り可能なプログラムコードが載っている。このような伝搬されるデータ信号は、電磁信号、光信号、または上記の任意の適切な組み合わせを含むが、これらに限定されない様々な形態をとることができる。また、コンピュータ可読信号媒体は、コンピュータ可読記憶媒体以外の任意のコンピュータ可読媒体であってもよく、該コンピュータ可読信号媒体は、命令実行システム、装置、またはデバイスによって、使用されるか、それに組み合わせて使用されるためのプログラムを送信し、伝搬しまたは伝送することができる。コンピュータ可読媒体上に含むプログラムコードは、ワイヤ、光ファイバケーブル、RF(無線周波数)等、または上記のいずれかの適切な組み合わせを含むがこれらに限定されない任意の適切な媒体で伝送することができる。
【0092】
いくつかの実施例では、クライアント、サーバは、HTTP(Hyper Text Transfer Protocol)など、現在知られている、または将来開発される任意のネットワークプロトコルを使用して通信することができ、また、任意の形態または媒体のデジタルデータ通信(例えば、通信ネットワーク)と相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット(例えば、インターネット)、およびエンドツーエンドネットワーク(例えば、adhocエンドツーエンドネットワーク)、および現在知られている、または将来開発されるネットワークを含む。
【0093】
上記コンピュータ可読媒体は、上記電子機器に含まれるものであってもよいし、電子機器に組み込まれずに、単独で存在するものであってもよい。
【0094】
上記コンピュータ可読媒体は1つ以上のプログラムを運んでおり、前記1つ以上のプログラムが該電子機器によって実行されると、該電子機器に、
それぞれ前記仮想マシン及びスイッチにリンクネゴシエーションを行うことと、
通信すべきデータメッセージを取得し、前記通信すべきデータメッセージにターゲット側識別子、ソース側識別子、メッセージタイプを含むことと、
前記通信すべきデータメッセージの通信リンクを確定し、前記通信リンクは仮想マシン上の仮想ポート、仮想マシン上の仮想ポートに対応する仮想ポートプロキシ、データプロセッサ上の物理ポートに対応するアップリンクポート、データプロセッサ上の物理ポート、及びスイッチ間のメッセージ通路であることと、
前記通信リンクによって前記通信すべきデータメッセージを通信することと、を実行させる。
【0095】
さらに、該電子機器は、上述したDPU仮想ポートのクロスカードリンクアグリゲーション方法における他のステップを実行することもできる。
【0096】
1つ以上のプログラミング言語またはその組み合わせで本開示の動作を実行するためのコンピュータプログラムコードを作成することができ、上記プログラミング言語は、Java、Smalltalk、C++などのオブジェクト指向プログラミング言語を含むがこれらに限定されず、「C」言語または類似するプログラミング言語などの従来の手続き型プログラミング言語も含まれる。プログラムコードは、完全にユーザコンピュータ上で、部分的にユーザコンピュータ上で、独立するソフトウェアパッケージとして、部分的にユーザコンピュータ上で、部分的にリモートコンピュータ上で、または、完全にリモートコンピュータまたはサーバ上で実行されることができる。リモートコンピュータが関与する場合、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介してユーザコンピュータに接続することができ、あるいは、外部コンピュータに接続することができる(例えば、インターネットサービスプロバイダを使用してインターネットを介して接続する)。
【0097】
図面におけるフローチャートおよびブロック図は、本開示の様々な実施例によるシステム、方法、およびコンピュータプログラム製品の実装可能なアーキテクチャ、機能と操作を示す。この点で、フローチャートまたはブロック図における各ブロックは、所定論理機能を実現するための1つ以上の実行可能命令を含むモジュール、プログラムセグメントまたはコードの一部を表すことができる。また、一部の代替的な実装では、ブロックに記載された機能は、図面に記載されたものとは異なる順序で発生してもよいことにも注意されたい。たとえば、2つの連続したブロックは、実際には基本的に並列で実行されることもあれば、機能によっては逆の順序で実行されることもあります。なお、ブロック図および/またはフローチャート図中の各ブロック、およびブロック図および/またはフローチャート中のブロックの組み合わせは、所定機能または動作を実行する専用のハードウェアベースのシステムで実現してもよいし、または専用のハードウェアとコンピュータ命令の組み合わせで実現してもよい。
【0098】
なお、本開示の実施例におけるユニットは、ソフトウェアにより実現されてもよいし、ハードウェアにより実現されてもよい。なお、ユニットの名称は、ある場合には、そのユニット自体への限定を構成するものではない。
【0099】
本明細書で上述した機能は、1つ以上のハードウェア論理コンポーネントによって少なくとも部分的に実行されることができる。例えば、限定的ではないが、使用できるハードウェア論理コンポーネントは、次の通りである。フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップ(SOC)、CPLD(Complex ProgrammableLogic Device)などを含む。
【0100】
本開示のコンテキストにおいて、機械可読媒体は有形の媒体であってもよく、命令実行システム、装置又はデバイスに使用される又は命令実行システム、装置又はデバイスに結合されて使用されるプログラムを具備又は記憶してよい。機械可読媒体は機械可読信号媒体又は機械可読記憶媒体であってもよい。機械可読媒体は、電子、磁気、光学、電磁、赤外線、又は半導体システム、装置又はデバイス、又は上記内容のいかなる適切な組み合わせを含んでもよいが、これらに限定されない。機械可読記憶媒体のより具体的な例は、一つ又は複数のリード線による電気接続、ポータブルコンピュータディスク、ハードディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラマブル読み出し専用メモリ(EPROM又はフラッシュメモリ)、光ファイバー、ポータブルコンパクトディスク読み出し専用メモリ(CD-ROM)、光記憶装置、磁気記憶装置、又は上記内容のいかなる適切な組み合わせを含む。
【0101】
なお、本明細書では、第1および第2のような関係用語は、1つのエンティティまたは動作を他のエンティティまたは動作と区別するためにのみ使用されるものであり、これらのエンティティまたは動作間にこれらの実際的な関係または順序が存在することを必ずしも要求または暗示するものではない。また、用語「含み」、「含む」またはその他の変形は非排他的な包含をカバーすることを意味し、それにより一連の要素を含むプロセス、方法、物品または機器はそれらの要素だけでなく、明確に記載されていないその他の要素も含むようにし、またはそのプロセス、方法、物品または機器に固有の要素も含むようにする。これ以上の制限がない場合、「1つを含む……」という語句によって限定された要素は、上記要素を含むプロセス、方法、物品または機器に他の同じ要素が存在することを除外するものではない。
【0102】
前述の説明は、当業者が本開示を理解または実施することができるように、本開示の特定の実施形態に過ぎない。これらの実施例に対する様々な修正は、当業者には明らかであろうが、本明細書で定義する一般的な原理は、本開示の精神または範囲から逸脱することなく、他の実施例において実施することができる。従って、本開示は、本明細書に記載するこれらの実施例に限定されるものではなく、むしろ、本明細書で開示される原理および新規な特徴と一致する最も広い範囲に符合するべきである。
【0103】
(付記)
(付記1)
データプロセッサの仮想ポートのクロスカードリンクアグリゲーション方法であって、各前記データプロセッサはそれぞれ、仮想マシン、スイッチとの間に通信接続され、前記方法は、
それぞれ前記仮想マシン及び前記スイッチにリンクネゴシエーションを行うことと、
通信すべきデータメッセージを取得し、前記通信すべきデータメッセージにターゲット側識別子、ソース側識別子、メッセージタイプを含むことと、
前記通信すべきデータメッセージの通信リンクを確定し、前記通信リンクは前記仮想マシン上の仮想ポート、前記仮想マシン上の仮想ポートに対応する仮想ポートプロキシ、前記データプロセッサ上の物理ポートに対応するアップリンクポート、前記データプロセッサ上の物理ポート、及び前記スイッチ間のメッセージ通路であることと、
前記通信リンクによって前記通信すべきデータメッセージを通信することとを含む、方法。
【0104】
(付記2)
前記仮想マシンによって送信された第1ネゴシエーションメッセージ、及び前記スイッチによって送信された第2ネゴシエーションメッセージを取得することと、
仮想的な前記スイッチに基づいて前記第1ネゴシエーションメッセージ及び前記第2ネゴシエーションメッセージをリンクアグリゲーションコントローラに転送することと、
前記リンクアグリゲーションコントローラによって前記第1ネゴシエーションメッセージ及び前記第2ネゴシエーションメッセージを処理し、かつ前記仮想マシンに第1応答プロトコルメッセージをフィードバックし、前記スイッチに第2応答プロトコルメッセージをフィードバックすることとを含む、付記1に記載の方法。
【0105】
(付記3)
前記の、前記仮想マシンに第1応答プロトコルメッセージをフィードバックし、前記スイッチに第2応答プロトコルメッセージをフィードバックすることは、
前記第1応答プロトコルメッセージ及び前記第2応答プロトコルメッセージを仮想スイッチに送信することと、
前記仮想的スイッチによって前記第1応答プロトコルメッセージを前記仮想マシンに転送することと、
前記仮想のスイッチによって前記第2応答プロトコルメッセージを前記スイッチに転送することとを含む、付記2に記載の方法。
【0106】
(付記4)
前記通信すべきデータメッセージは、
前記仮想マシンによって送信された第1データメッセージ、スイッチによって送信された第2データメッセージの少なくとも1つを含む、付記1に記載の方法。
【0107】
(付記5)
前記の、通信すべきデータメッセージを取得することは、
前記仮想マシン上の仮想ポートに対応する仮想ポートプロキシによって前記通信すべきデータメッセージを仮想スイッチに送信すること、または、
前記データプロセッサ上の物理ポートに対応するアップリンクポートによって前記通信すべきデータメッセージを前記仮想スイッチに送信すること、
前記仮想的スイッチに基づいて通信すべきデータメッセージを取得することを含む、付記1に記載の方法。
【0108】
(付記6)
前記通信すべきデータメッセージの通信リンクを確定することは、
予め設定されたターゲット側識別子と予め設定された通信リンクとの対応関係を取得することと、
前記対応関係から前記通信すべきデータメッセージにおけるターゲット側識別子に対応する通信リンクを確定することとを含む、付記1に記載の方法。
【0109】
(付記7)
前記の、前記通信リンクに基づいて前記通信すべきデータメッセージを通信することは、
仮想的スイッチによって前記通信すべきデータメッセージから前記ターゲット側識別子を取得することと、
前記仮想スイッチによって前記通信すべきデータメッセージを前記通信リンクによって前記ターゲット側識別子に対応するターゲット側に転送することとを含む、付記1に記載の方法。
【0110】
(付記8)
電子機器であって、
メモリと、
プロセッサと、
コンピュータプログラムとを含み、
前記コンピュータプログラムが前記メモリに記憶され、前記プロセッサによって実行されて、付記1~7のいずれか一つに記載の方法を実現するように構成される、電子機器。
【0111】
(付記9)
コンピュータプログラムが記憶されたコンピュータ可読記録媒体であって、前記コンピュータプログラムは、プロセッサによって実行されると、付記1~7のいずれか一つに記載の方法を実現する、コンピュータ可読記録媒体。