(57)【要約】  この出願は、輻輳制御方法及びネットワークデバイスを提供する。当該方法は、第1のネットワークデバイスにより、第2のネットワークデバイスにより送信された第1のメッセージを受信するステップであり、第1のメッセージは、アクティブフロー数を搬送し、アクティブフロー数は、第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて第2のネットワークデバイスにより決定された数である、ステップと、第1のネットワークデバイスにより、アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するステップであり、パケット送信制御情報は、第1のネットワークデバイスがパケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するとき、第2のネットワークデバイスの実際の受信帯域幅が定格受信帯域幅に達することを示す、ステップと、第1のネットワークデバイスにより、パケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するステップとを含む。この出願は、輻輳をより良く制御でき、それにより、ネットワークパケットロスを低減する。
2021536196.tif 000002
【特許請求の範囲】
【請求項１】
輻輳制御方法であり、当該方法はデータセンターネットワークに適用され、前記データセンターネットワークは、第1のネットワークデバイスと、第2のネットワークデバイスとを含み、前記第1のネットワークデバイスは、データフローを前記第2のネットワークデバイスに送信するように構成される、方法であって、
前記第1のネットワークデバイスにより、前記第2のネットワークデバイスにより送信された第1のメッセージを受信するステップであり、前記第1のメッセージは、アクティブフロー数を搬送し、前記アクティブフロー数は、前記第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて前記第2のネットワークデバイスにより決定された数である、ステップと、
前記第1のネットワークデバイスにより、前記アクティブフロー数及び前記第2のネットワークデバイスの定格受信帯域幅に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するステップであり、前記パケット送信制御情報は、前記第1のネットワークデバイスが前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するとき、前記第2のネットワークデバイスの実際の受信帯域幅が前記定格受信帯域幅に達することを示す、ステップと、
前記第1のネットワークデバイスにより、前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するステップと
を含む方法。
【請求項２】
前記第1のネットワークデバイスにより、前記アクティブフロー数及び前記第2のネットワークデバイスの定格受信帯域幅に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するステップは、
前記アクティブフロー数が第1の閾値未満であるとき、前記第1のネットワークデバイスにより、以下の式
【数１９】
2021536196.tif 000021
に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するステップであり、
Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、active_qpは前記アクティブフロー数であり、Tは前記ネットワークがアイドルであるときに前記第1のネットワークデバイスにより前記第2のネットワークデバイスに送信されたデータパケットが前記第2のネットワークデバイスに到着するのに必要な時間であり、VはT内に前記第1のネットワークデバイスにより前記第2のネットワークデバイスに送信される前記データフローのデータボリュームである、ステップを含み、
前記第1のネットワークデバイスにより、前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するステップは、
前記第1のネットワークデバイスにより、T内に前記データフロー内のデータボリュームVを有するデータパケットを前記第2のネットワークデバイスに送信するステップを含む、請求項１に記載の方法。
【請求項３】
前記第1のネットワークデバイスにより、前記アクティブフロー数及び前記第2のネットワークデバイスの定格受信帯域幅に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するステップは、
前記アクティブフロー数が前記第1の閾値以上であるとき、前記第1のネットワークデバイスにより、以下の式
【数２０】
2021536196.tif 000022
に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するステップであり、
1pktは単一のデータパケットの長さであり、active_qpは前記アクティブフロー数であり、Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、「interval」は前記第1のネットワークデバイスが前記データフローを送信するときの隣接するデータパケットの間の時間間隔である、ステップを含み、
前記第1のネットワークデバイスにより、前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するステップは、
前記第1のネットワークデバイスにより、「interval」により示される前記時間間隔に基づいて前記データフロー内の前記データパケットを前記第2のネットワークデバイスに送信するステップを含む、請求項１又は２に記載の方法。
【請求項４】
前記第1のネットワークデバイスにより、前記アクティブフロー数及び前記第2のネットワークデバイスの定格受信帯域幅に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するステップは、
前記第1のネットワークデバイスにより、前記アクティブフロー数、前記第2のネットワークデバイスの前記定格受信帯域幅及び前記データフローの属性情報に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するステップを含み、
前記データフローの前記属性情報は、前記データフローのアプリケーション情報及び前記データフローのデータボリューム情報のうち少なくとも1つを含み、前記データフローの前記アプリケーション情報は、前記データフローのデータパケットが属するサービスタイプを示すために使用され、前記データフローの前記データボリューム情報は、第1のデータフローに属し且つ予め設定された時間内に前記第1のネットワークデバイスにより送信されるデータパケットのデータボリュームを示すために使用される、請求項１に記載の方法。
【請求項５】
前記第1のネットワークデバイスにより、前記アクティブフロー数、前記第2のネットワークデバイスの前記定格受信帯域幅及び前記データフローの属性情報に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するステップは、
前記アクティブフロー数が第1の閾値未満であるとき、前記第1のネットワークデバイスにより、以下の式
【数２１】
2021536196.tif 000023
に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するステップであり、
Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、active_qpは前記アクティブフロー数であり、Tは前記ネットワークがアイドルであるときに前記第1のネットワークデバイスにより前記第2のネットワークデバイスに送信されたデータパケットが前記第2のネットワークデバイスに到着するのに必要な時間であり、wは前記データフローの重みであり、wは前記データフローの前記属性情報に基づいて決定され、VはT内に前記第1のネットワークデバイスにより前記第2のネットワークデバイスに送信される前記データフローのデータボリュームである、ステップを含み、
前記第1のネットワークデバイスにより、前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するステップは、
前記第1のネットワークデバイスにより、T内に前記データフロー内のデータボリュームVを有するデータパケットを前記第2のネットワークデバイスに送信するステップを含む、請求項４に記載の方法。
【請求項６】
前記第1のネットワークデバイスにより、前記アクティブフロー数、前記第2のネットワークデバイスの前記定格受信帯域幅及び前記データフローの属性情報に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するステップは、
前記アクティブフロー数が前記第1の閾値以上であるとき、前記第1のネットワークデバイスにより、以下の式
【数２２】
2021536196.tif 000024
に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するステップであり、
1pktは単一のデータパケットの長さであり、active_qpは前記アクティブフロー数であり、wは前記データフローの前記重みであり、wは前記データフローの前記属性情報に基づいて決定され、Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、「interval」は前記第1のネットワークデバイスが前記データフローを送信するときの隣接するデータパケットの間の時間間隔である、ステップを含み、
前記第1のネットワークデバイスにより、前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するステップは、
前記第1のネットワークデバイスにより、「interval」により示される前記時間間隔に基づいて前記データフロー内の前記データパケットを前記第2のネットワークデバイスに送信するステップを含む、請求項４又は５に記載の方法。
【請求項７】
輻輳制御方法であり、当該方法はデータセンターネットワークに適用され、前記データセンターネットワークは、第1のネットワークデバイスと、第2のネットワークデバイスとを含み、前記第2のネットワークデバイスは、前記第1のネットワークデバイスにより送信されたデータフローを受信するように構成される、方法であって、
前記第2のネットワークデバイスにより、前記第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、アクティブフロー数を決定するステップと、
前記第2のネットワークデバイスにより、第1のメッセージを前記第1のネットワークデバイスに送信するステップであり、前記第1のメッセージは、前記アクティブフロー数を搬送し、前記アクティブフロー数は、前記データフローを前記第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するために前記第1のネットワークにより使用され、前記パケット送信制御情報は、前記第1のネットワークデバイスが前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するとき、前記第2のネットワークデバイスの実際の受信帯域幅が前記第2のネットワークデバイスの定格受信帯域幅に達することを示す、ステップと、
前記第2のネットワークデバイスにより、前記定格受信帯域幅に基づいて、前記第1のネットワークデバイスにより送信された前記データフローを受信するステップと
を含む方法。
【請求項８】
前記第2のネットワークデバイスにより、前記第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、アクティブフロー数を決定するステップは、
前記第2のネットワークデバイスにより、前記第1のネットワークデバイスにより送信された第1のグループのデータパケット内の前記冒頭のパケットを受信し、第1のアクティブフロー数を取得するために、現在のアクティブフロー数を1だけ増加させるステップと、
前記第2のネットワークデバイスにより、前記第1のネットワークデバイスにより送信された前記第1のグループのデータパケット内の前記末尾のパケットを受信し、前記第1のグループのデータパケット内の外部輻輳通知ECN識別子を搬送するデータパケットの数に基づいて第1の輻輳値を決定するステップと、
前記第1の輻輳値が輻輳閾値未満であるとき、前記第2のネットワークデバイスにより、第2のアクティブフロー数を取得するために、前記第1のアクティブフロー数を1だけ減少させるステップ、又は
前記第1の輻輳値が輻輳閾値以上であるとき、前記第2のネットワークデバイスにより、前記第1のアクティブフロー数を変更せずに保持するステップと
を含む、請求項７に記載の方法。
【請求項９】
前記第1のグループのデータパケット内のECN識別子を搬送するデータパケットの数に基づいて第1の輻輳値を決定するステップは、
前記第1のグループのデータパケット内のデータパケットの数に対する前記第1のグループのデータパケット内の前記ECN識別子を搬送するデータパケットの前記数の比を、前記第1の輻輳値として決定するステップを含む、請求項８に記載の方法。
【請求項１０】
前記第2のネットワークデバイスにより、前記第1のネットワークデバイスにより送信された前記第1のグループのデータパケット内の前記末尾のパケットを受信した後に、当該方法は、
前記第2のネットワークデバイスにより、前記第1のネットワークデバイスにより送信された第2のグループのデータパケット内の前記冒頭のパケットを受信し、第4のアクティブフロー数を取得するために、第3のアクティブフロー数を1だけ増加させるステップであり、前記第2のグループのデータパケット及び前記第1のグループのデータパケットは、同じデータフローに属し、前記第3のアクティブフロー数は、前記第1の輻輳値が前記輻輳閾値未満であるとき、前記第2のアクティブフロー数に等しく、前記第3のアクティブフロー数は、前記第1の輻輳値が前記輻輳閾値以上であるとき、前記第1のアクティブフロー数に等しい、ステップと、
前記第2のネットワークデバイスにより、前記第1のネットワークデバイスにより送信された前記第2のグループのデータパケット内の前記末尾のパケットを受信し、前記第2のグループのデータパケット内の前記ECN識別子を搬送するデータパケットの数及び前記第1の輻輳値に基づいて、前記ネットワークの第2の輻輳値を決定するステップと、
前記第2の輻輳値が前記輻輳閾値未満であるとき、前記第2のネットワークデバイスにより、第5のアクティブフロー数を取得するために、前記第4のアクティブフロー数を1だけ減少させるステップ、又は
前記第2の輻輳値が前記輻輳閾値以上であるとき、前記第2のネットワークデバイスにより、前記第4のアクティブフロー数を変更せずに保持するステップと
を更に含む、請求項８又は９に記載の方法。
【請求項１１】
前記第2のグループのデータパケット内の前記ECN識別子を搬送するデータパケットの数及び前記第1の輻輳値に基づいて、前記ネットワークの第2の輻輳値を決定するステップは、
前記第2のグループのデータパケット内の前記ECN識別子を搬送するデータパケットの前記数に基づいて、前記ネットワークの第3の輻輳値を決定するステップと、
式con2=x1*con3+x2*con1に基づいて、前記第2の輻輳値を決定するステップであり、con3は前記第3の輻輳値であり、con1は前記第1の輻輳値であり、con2は前記第2の輻輳値であり、x1は予め設定された第1の重みであり、x2は予め設定された第2の重みである、ステップと
を含む、請求項１０に記載の方法。
【請求項１２】
第1のネットワークデバイスであって、
第2のネットワークデバイスにより送信された第1のメッセージを受信するように構成された受信モジュールであり、前記第1のメッセージは、アクティブフロー数を搬送し、前記アクティブフロー数は、当該第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて前記第2のネットワークデバイスにより決定された数である、受信モジュールと、
前記アクティブフロー数及び前記第2のネットワークデバイスの定格受信帯域幅に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するように構成された処理モジュールであり、前記パケット送信制御情報は、当該第1のネットワークデバイスが前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するとき、前記第2のネットワークデバイスの実際の受信帯域幅が前記定格受信帯域幅に達することを示す、処理モジュールと、
前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するように構成された送信モジュールと
を含む第1のネットワークデバイス。
【請求項１３】
前記処理モジュールは、
前記アクティブフロー数が第1の閾値未満であるとき、以下の式
【数２３】
2021536196.tif 000025
に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するように構成され、
Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、active_qpは前記アクティブフロー数であり、Tは前記ネットワークがアイドルであるときに当該第1のネットワークデバイスにより前記第2のネットワークデバイスに送信されたデータパケットが前記第2のネットワークデバイスに到着するのに必要な時間であり、VはT内に当該第1のネットワークデバイスにより前記第2のネットワークデバイスに送信される前記データフローのデータボリュームであり、
前記送信モジュールは、T内に前記データフロー内のデータボリュームVを有するデータパケットを前記第2のネットワークデバイスに送信するように構成される、請求項１２に記載の第1のネットワークデバイス。
【請求項１４】
前記処理モジュールは、
前記アクティブフロー数が前記第1の閾値以上であるとき、以下の式
【数２４】
2021536196.tif 000026
に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するように構成され、
1pktは単一のデータパケットの長さであり、active_qpは前記アクティブフロー数であり、Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、「interval」は当該第1のネットワークデバイスが前記データフローを送信するときの隣接するデータパケットの間の時間間隔であり、
前記送信モジュールは、「interval」により示される前記時間間隔に基づいて前記データフロー内の前記データパケットを前記第2のネットワークデバイスに送信するように構成される、請求項１２又は１３に記載の第1のネットワークデバイス。
【請求項１５】
前記処理モジュールは、前記アクティブフロー数、前記第2のネットワークデバイスの前記定格受信帯域幅及び前記データフローの属性情報に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するように構成され、
前記データフローの前記属性情報は、前記データフローのアプリケーション情報及び前記データフローのデータボリューム情報のうち少なくとも1つを含み、前記データフローの前記アプリケーション情報は、前記データフローのデータパケットが属するサービスタイプを示すために使用され、前記データフローの前記データボリューム情報は、第1のデータフローに属し且つ予め設定された時間内に当該第1のネットワークデバイスにより送信されるデータパケットのデータボリュームを示すために使用される、請求項１２に記載の第1のネットワークデバイス。
【請求項１６】
前記処理モジュールは、
前記アクティブフロー数が第1の閾値未満であるとき、以下の式
【数２５】
2021536196.tif 000027
に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するように構成され、
Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、active_qpは前記アクティブフロー数であり、Tは前記ネットワークがアイドルであるときに当該第1のネットワークデバイスにより前記第2のネットワークデバイスに送信されたデータパケットが前記第2のネットワークデバイスに到着するのに必要な時間であり、wは前記データフローの重みであり、wは前記データフローの前記属性情報に基づいて決定され、VはT内に当該第1のネットワークデバイスにより前記第2のネットワークデバイスに送信される前記データフローのデータボリュームであり、
前記送信モジュールは、T内に前記データフロー内のデータボリュームVを有するデータパケットを前記第2のネットワークデバイスに送信するように構成される、請求項１５に記載の第1のネットワークデバイス。
【請求項１７】
前記処理モジュールは、
前記アクティブフロー数が前記第1の閾値以上であるとき、以下の式
【数２６】
2021536196.tif 000028
に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するように構成され、
1pktは単一のデータパケットの長さであり、active_qpは前記アクティブフロー数であり、wは前記データフローの前記重みであり、wは前記データフローの前記属性情報に基づいて決定され、Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、「interval」は当該第1のネットワークデバイスが前記データフローを送信するときの隣接するデータパケットの間の時間間隔であり、
前記送信モジュールは、「interval」により示される前記時間間隔に基づいて前記データフロー内の前記データパケットを前記第2のネットワークデバイスに送信するように構成される、請求項１５又は１６に記載の第1のネットワークデバイス。
【請求項１８】
第2のネットワークデバイスであって、
第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、アクティブフロー数を決定するように構成された処理モジュールと、
第1のメッセージを前記第1のネットワークデバイスに送信するように構成された送信モジュールであり、前記第1のメッセージは、前記アクティブフロー数を搬送し、前記アクティブフロー数は、前記データフローを当該第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するために前記第1のネットワークにより使用され、前記パケット送信制御情報は、前記第1のネットワークデバイスが前記パケット送信制御情報に基づいて前記データフローを当該第2のネットワークデバイスに送信するとき、当該第2のネットワークデバイスの実際の受信帯域幅が当該第2のネットワークデバイスの定格受信帯域幅に達することを示す、送信モジュールと、
前記定格受信帯域幅に基づいて、前記第1のネットワークデバイスにより送信された前記データフローを受信するように構成された受信モジュールと
を含む第2のネットワークデバイス。
【請求項１９】
前記受信モジュールは、前記第1のネットワークデバイスにより送信された第1のグループのデータパケット内の前記冒頭のパケットを受信するように構成され、
前記処理モジュールは、第1のアクティブフロー数を取得するために、現在のアクティブフロー数を1だけ増加させるように構成され、
前記受信モジュールは、前記第1のネットワークデバイスにより送信された前記第1のグループのデータパケット内の前記末尾のパケットを受信するように構成され、
前記処理モジュールは、
前記第1のグループのデータパケット内の外部輻輳通知ECN識別子を搬送するデータパケットの数に基づいて第1の輻輳値を決定し、
前記第1の輻輳値が輻輳閾値未満であるとき、当該第2のネットワークデバイスにより、第2のアクティブフロー数を取得するために、前記第1のアクティブフロー数を1だけ減少させ、或いは
前記第1の輻輳値が輻輳閾値以上であるとき、当該第2のネットワークデバイスにより、前記第1のアクティブフロー数を変更せずに保持するように構成される、請求項１８に記載の第2のネットワークデバイス。
【請求項２０】
前記処理モジュールは、前記第1のグループのデータパケット内のデータパケットの数に対する前記第1のグループのデータパケット内の前記ECN識別子を搬送するデータパケットの前記数の比を、前記第1の輻輳値として決定するように構成される、請求項１９に記載の第2のネットワークデバイス。
【請求項２１】
前記受信モジュールが前記第1のネットワークデバイスにより送信された前記第1のグループのデータパケット内の前記末尾のパケットを受信した後に、前記受信モジュールは、前記第1のネットワークデバイスにより送信された第2のグループのデータパケット内の前記冒頭のパケットを受信するように更に構成され、
前記処理モジュールは、第4のアクティブフロー数を取得するために、第3のアクティブフロー数を1だけ増加させるように構成され、前記第2のグループのデータパケット及び前記第1のグループのデータパケットは、同じデータフローに属し、前記第3のアクティブフロー数は、前記第1の輻輳値が前記輻輳閾値未満であるとき、前記第2のアクティブフロー数に等しく、前記第3のアクティブフロー数は、前記第1の輻輳値が前記輻輳閾値以上であるとき、前記第1のアクティブフロー数に等しく、
前記受信モジュールは、前記第1のネットワークデバイスにより送信された前記第2のグループのデータパケット内の前記末尾のパケットを受信するように構成され、
前記処理モジュールは、
前記第2のグループのデータパケット内の前記ECN識別子を搬送するデータパケットの数及び前記第1の輻輳値に基づいて、前記ネットワークの第2の輻輳値を決定し、
前記第2の輻輳値が前記輻輳閾値未満であるとき、当該第2のネットワークデバイスにより、第5のアクティブフロー数を取得するために、前記第4のアクティブフロー数を1だけ減少させ、或いは
前記第2の輻輳値が前記輻輳閾値以上であるとき、当該第2のネットワークデバイスにより、前記第4のアクティブフロー数を変更せずに保持するように更に構成される、請求項１９又は２０に記載の第2のネットワークデバイス。
【請求項２２】
前記処理モジュールは、
前記第2のグループのデータパケット内の前記ECN識別子を搬送するデータパケットの前記数に基づいて、前記ネットワークの第3の輻輳値を決定し、
式con2=x1*con3+x2*con1に基づいて、前記第2の輻輳値を決定するように構成され、con3は前記第3の輻輳値であり、con1は前記第1の輻輳値であり、con2は前記第2の輻輳値であり、x1は予め設定された第1の重みであり、x2は予め設定された第2の重みである、請求項２１に記載の第2のネットワークデバイス。
【請求項２３】
第1のネットワークデバイスであって、
プログラムを記憶するように構成されたメモリと、
前記メモリに記憶された前記プログラムを実行するように構成されたプロセッサであり、前記メモリに記憶された前記プログラムが実行されたとき、当該第1のネットワークデバイスは、請求項１乃至６のうちいずれか１項に記載の方法を実行するように構成される、プロセッサと
を含む第1のネットワークデバイス。
【請求項２４】
第2のネットワークデバイスであって、
プログラムを記憶するように構成されたメモリと、
前記メモリに記憶された前記プログラムを実行するように構成されたプロセッサであり、前記メモリに記憶された前記プログラムが実行されたとき、当該第2のネットワークデバイスは、請求項７乃至１１のうちいずれか１項に記載の方法を実行するように構成される、プロセッサと
を含む第2のネットワークデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願への相互参照］
この出願は、2018年9月25日に中国国家知識産権局に出願された「CONGESTION  CONTROL  METHOD  AND  NETWORK  DEVICE」という名称の中国特許出願第201811119579.8号に対する優先権を主張し、その全内容を参照により援用する。
【０００２】
［技術分野］
この出願は、ネットワーク技術の分野に関し、より具体的には、輻輳制御方法及びネットワークデバイスに関する。
【背景技術】
【０００３】
人工知能、エンタープライズストレージ等のような新しいアプリケーションの台頭で、低遅延特性についてのデータセンターネットワークの需要がますます緊急になっている。データセンターネットワークの低遅延特性を確保するために、データセンターネットワークの輻輳を制御することは非常に重要である。
【０００４】
従来の輻輳制御方法では、受信端がネットワークの輻輳情報を送信端にフィードバックし、送信端がネットワークの輻輳情報を習得した後に、輻輳情報に基づいてデータ送信レートを調整する。例えば、ネットワークが輻輳しているとき、送信端はデータパケットの送信レートを減少させ、ネットワークが輻輳していないとき、送信端はデータパケットの送信レートを徐々に増加させる。
【０００５】
上記の解決策では、送信端は、ネットワークの輻輳状態を習得した後に、データパケットの送信レートを徐々に調整する。レートの変化は比較的遅く、データパケットの送信プロセスにおいて特定の遅延が生成される可能性があり、その結果、輻輳制御効率は高くない。
【発明の概要】
【０００６】
この出願は、輻輳制御をより良く実行し、ネットワークパケットロスを低減するための輻輳制御方法及びネットワークデバイスを提供する。
【０００７】
第1の態様によれば、輻輳制御方法が提供され、当該方法はデータセンターネットワークに適用され、データセンターネットワークは、第1のネットワークデバイスと、第2のネットワークデバイスとを含み、第1のネットワークデバイスは、データフローを第2のネットワークデバイスに送信するように構成される。当該方法は以下を含む。第1のネットワークデバイスは、第2のネットワークデバイスにより送信された第1のメッセージを受信し、第1のメッセージは、アクティブフロー数を搬送し、アクティブフロー数は、第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて第2のネットワークデバイスにより決定された数であり、第1のネットワークデバイスは、アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定し、パケット送信制御情報は、第1のネットワークデバイスがパケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するとき、第2のネットワークデバイスの実際の受信帯域幅が定格受信帯域幅に達することを示し、第1のネットワークデバイスは、パケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信する。
【０００８】
アクティブフロー数は、データパケットが特定の統計期間内に送信されているデータフローの数を示してもよい。具体的には、アクティブフロー数は、統計期間内に第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて第2のネットワークデバイスにより決定されたデータフローの数でもよい。
【０００９】
任意選択で、パケット送信制御情報に基づいて第1のネットワークデバイスにより第2のネットワークデバイスに送信されるデータフローは、コンバージド・イーサネット・バージョン2上のリモートダイレクトメモリアクセス(remote  direct  memory  access  over  converged  ethernet  version  2,  RoCEv2)パケットにカプセル化される。
【００１０】
任意選択で、第1のメッセージは、確認応答(Acknowledgement,  ACK)パケット内のoptionフィールドで搬送される。
【００１１】
パケット送信制御情報に基づいて第1のネットワークデバイスにより第2のネットワークデバイスに送信されるデータフローは、1つのデータフローでもよく(この場合、データフローは、第1のネットワークデバイスにより第2のネットワークデバイスに送信される全てのデータフローのうちいずれかの1つでもよい)、或いは、複数のデータフローでもよい(複数のデータフローは、第1のネットワークデバイスにより第2のネットワークデバイスに送信される全てのデータフローでもよい)ことが理解されるべきである。
【００１２】
パケット送信制御情報は、データフローを第2のネットワークデバイスに送信するように第1のネットワークデバイスを制御するために使用され、第1のネットワークデバイスがパケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するとき、第2のネットワークデバイスの実際の帯域幅は、第2のネットワークデバイスの定格受信帯域幅に達することができる。
【００１３】
第2のネットワークデバイスの定格受信帯域幅は固定帯域でもよい。第1のネットワークデバイスが構成されるとき、第2のネットワークデバイスの定格受信帯域幅のような情報は、第1のネットワークデバイスについて直接構成されてもよく、それにより、第1のネットワークデバイスは、構成情報から第2のネットワークデバイスの定格受信帯域幅を取得できる。
【００１４】
この出願では、パケット送信制御情報は、アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて決定され、第1のネットワークデバイスから第2のネットワークデバイスに送信されるデータフローは、パケット送信制御情報に基づいて制御され、それにより、輻輳制御がより良好に実行でき、それにより、ネットワークパケットロスを低減する。
【００１５】
第1の態様を参照して、第1の態様のいくつかの実現方式では、第1のネットワークデバイスが、アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定することは、以下を含む。アクティブフロー数が第1の閾値未満であるとき、第1のネットワークデバイスは、以下の式
【数１】
2021536196.tif 000003
に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定し、
ここで、Cは第2のネットワークデバイスの定格受信帯域幅であり、active_qpはアクティブフロー数であり、Tはネットワークがアイドルであるときに第1のネットワークデバイスにより第2のネットワークデバイスに送信されたデータパケットが第2のネットワークデバイスに到着するのに必要な時間であり、VはT内に第1のネットワークデバイスにより第2のネットワークデバイスに送信されるデータフローのデータボリュームである。第1のネットワークデバイスが、パケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信することは、以下を含む。第1のネットワークデバイスは、T内にデータフロー内のデータボリュームVを有するデータパケットを第2のネットワークデバイスに送信する。
【００１６】
データボリューム(data  volume)は、データフロー内のデータパケットの長さでもよい。例えば、データフロー1は、データパケット1と、データパケット2と、データパケット3とを含み、各データパケットは4バイトの長さを有し、その場合、データフロー1は12バイトの長さを有する。
【００１７】
Tを取得するための多くの方法が存在する。これらの方法が例として以下に記載される。
【００１８】
例えば、ネットワークがアイドルであるとき、第1のネットワークデバイスにより第2のネットワークデバイスに送信されるデータパケットの送信時間及び到着時間が記録されてもよく、次いで、Tは、到着時間から送信時間を引くことにより取得されてもよい。
【００１９】
さらに、ネットワークがアイドルであるとき、第1のネットワークデバイスは、代替として、複数のデータパケット(例えば、1000個のデータパケット)を第2のネットワークデバイスに連続的に送信してもよく、次いで、第1のネットワークデバイスから第2のネットワークデバイスに送信される各データパケットに必要な時間が、記録された時間に基づいて取得されてもよく、平均時間を取得するために全ての時間が平均されてもよく、最後に、平均時間がTとして決定される。
【００２０】
第1の閾値は、経験に基づいて設定されてもよい。例えば、比較的大きいデータボリュームが存在するシナリオでは、比較的大きい値が第1の閾値として設定されてもよく、比較的小さいデータボリュームが存在するシナリオでは、比較的小さい値が第1の閾値として設定されてもよい。
【００２１】
第1の閾値は、代替として、第2のネットワークデバイスの定格受信帯域幅、T及び単一のデータパケットの長さに基づいて決定されてもよい。
【００２２】
具体的には、C*T/1pktに基づいて取得された値は、第1の閾値として決定されてもよく、ここで、1pktは単一のデータパケットの長さである。1pktの具体的な長さは、実際の状況に基づいて設定されてもよい。異なるシナリオでは、1pktは異なる長さに設定されてもよい。例えば、データ送信ボリュームが比較的小さい(例えば、スマートメーターが電力消費情報を周期的に報告する)いくつかのシナリオでは、比較的小さい長さが1pktに設定されてもよく、データ送信ボリュームsが比較的大きいシナリオでは、比較的大きい長さが1pktに設定されてもよい。さらに、1pktは、ネットワークにより許容される最大送信単位(maximum  transmission  unit,  MTU)として直接設定されてもよい。
【００２３】
第1の態様を参照して、第1の態様のいくつかの実現方式では、第1のネットワークデバイスが、アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定することは、以下を含む。アクティブフロー数が第1の閾値以上であるとき、第1のネットワークデバイスは、以下の式
【数２】
2021536196.tif 000004
に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定し、
ここで、1pktは単一のデータパケットの長さであり、active_qpはアクティブフロー数であり、Cは第2のネットワークデバイスの定格受信帯域幅であり、「interval」は第1のネットワークデバイスがデータフローを送信するときの隣接するデータパケットの間の時間間隔である。第1のネットワークデバイスが、パケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信することは、以下を含む。第1のネットワークデバイスは、「interval」により示される時間間隔に基づいてデータフロー内のデータパケットを第2のネットワークデバイスに送信する。
【００２４】
単一のデータパケットの長さは、具体的には、単一のデータパケットのデータボリュームのサイズでもよく、例えば、単一のデータパケットのデータボリュームのサイズが3バイトである場合、単一のデータパケットの長さも3バイトである。
【００２５】
第1の態様を参照して、第1の態様のいくつかの実現方式では、第1のネットワークデバイスが、アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定することは、以下を含む。第1のネットワークデバイスは、アクティブフロー数、第2のネットワークデバイスの定格受信帯域幅及びデータフローの属性情報に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定し、データフローの属性情報は、データフローのアプリケーション情報及びデータフローのデータボリューム情報のうち少なくとも1つを含み、データフローのアプリケーション情報は、データフローのデータパケットが属するサービスタイプを示すために使用され、データフローのデータボリューム情報は、第1のデータフローに属し且つ予め設定された時間内に第1のネットワークデバイスにより送信されるデータパケットのデータボリュームを示すために使用される。
【００２６】
この出願では、データフローのパケット送信制御情報が決定されるとき、パケット送信制御情報は、データフローの属性情報に基づいてデータフローについて適切に決定できる。
【００２７】
第1の態様を参照して、第1の態様のいくつかの実現方式では、第1のネットワークデバイスが、アクティブフロー数、第2のネットワークデバイスの定格受信帯域幅及びデータフローの属性情報に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定することは、以下を含む。アクティブフロー数が第1の閾値未満であるとき、第1のネットワークデバイスは、以下の式
【数３】
2021536196.tif 000005
に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定し、
ここで、Cは第2のネットワークデバイスの定格受信帯域幅であり、active_qpはアクティブフロー数であり、Tはネットワークがアイドルであるときに第1のネットワークデバイスにより第2のネットワークデバイスに送信されたデータパケットが第2のネットワークデバイスに到着するのに必要な時間であり、wはデータフローの重みであり、wはデータフローの属性情報に基づいて決定され、VはT内に第1のネットワークデバイスにより第2のネットワークデバイスに送信されるデータフローのデータボリュームである。第1のネットワークデバイスが、パケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信することは、以下を含む。第1のネットワークデバイスは、T内にデータフロー内のデータボリュームVを有するデータパケットを第2のネットワークデバイスに送信する。
【００２８】
この出願では、データフローのデータ送信ボリュームが決定されるとき、データ送信ボリュームは、データフローの属性情報に基づいてデータフローについて適切に決定できる。
【００２９】
第1の態様を参照して、第1の態様のいくつかの実現方式では、第1のネットワークデバイスが、アクティブフロー数、第2のネットワークデバイスの定格受信帯域幅及びデータフローの属性情報に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定することは、以下を含む。アクティブフロー数が第1の閾値以上であるとき、第1のネットワークデバイスは、以下の式
【数４】
2021536196.tif 000006
に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定し、
ここで、1pktは単一のデータパケットの長さであり、active_qpはアクティブフロー数であり、wはデータフローの重みであり、wはデータフローの属性情報に基づいて決定され、Cは第2のネットワークデバイスの定格受信帯域幅であり、「interval」は第1のネットワークデバイスがデータフローを送信するときの隣接するデータパケットの間の時間間隔である。第1のネットワークデバイスが、パケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信することは、以下を含む。第1のネットワークデバイスは、「interval」により示される時間間隔に基づいてデータフロー内のデータパケットを第2のネットワークデバイスに送信する。
【００３０】
この出願では、データフローのデータパケット送信時間間隔が決定されるとき、データパケット送信時間間隔は、データフローの属性情報に基づいてデータフローについて適切に決定できる。
【００３１】
第2の態様によれば、輻輳制御方法が提供され、当該方法はデータセンターネットワークに適用され、データセンターネットワークは、第1のネットワークデバイスと、第2のネットワークデバイスとを含み、第2のネットワークデバイスは、第1のネットワークデバイスにより送信されたデータフローを受信するように構成される。当該方法は以下を含む。第2のネットワークデバイスは、第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、アクティブフロー数を決定し、第2のネットワークデバイスは、第1のメッセージを第1のネットワークデバイスに送信し、第1のメッセージは、アクティブフロー数を搬送し、アクティブフロー数は、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するために第1のネットワークにより使用され、パケット送信制御情報は、第1のネットワークデバイスがパケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するとき、第2のネットワークデバイスの実際の受信帯域幅が第2のネットワークデバイスの定格受信帯域幅に達することを示し、第2のネットワークデバイスは、定格受信帯域幅に基づいて、第1のネットワークデバイスにより送信されたデータフローを受信する。
【００３２】
この出願では、第2のネットワークデバイスは、アクティブフロー数を第1のネットワークデバイスに報告し、それにより、第1のネットワークデバイスは、アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて、パケット送信制御情報を決定でき、パケット送信制御情報に基づいて、データフローを第2のネットワークデバイスに送信するように第1のネットワークデバイスを制御し、それにより、第2のネットワークデバイスは、定格受信帯域幅に基づいて、第1のネットワークデバイスにより送信されたデータフローを受信でき、第2のネットワークデバイスは、フルスループット状態に達することができ、それにより、データフローの送信効率を改善する。
【００３３】
第2の態様を参照して、第2の態様のいくつかの実現方式では、第2のネットワークデバイスが、第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、アクティブフロー数を決定することは、以下を含む。第2のネットワークデバイスは、第1のネットワークデバイスにより送信された第1のグループのデータパケット内の冒頭のパケットを受信し、第1のアクティブフロー数を取得するために、現在のアクティブフロー数を1だけ増加させ、第2のネットワークデバイスは、第1のネットワークデバイスにより送信された第1のグループのデータパケット内の末尾のパケットを受信し、第1のグループのデータパケット内の外部輻輳通知ECN識別子を搬送するデータパケットの数に基づいて第1の輻輳値を決定し、第1の輻輳値が輻輳閾値未満であるとき、第2のネットワークデバイスは、第2のアクティブフロー数を取得するために、第1のアクティブフロー数を1だけ減少させ、第1の輻輳値が輻輳閾値以上であるとき、第2のネットワークデバイスは、第1のアクティブフロー数を変更せずに保持する。
【００３４】
任意選択で、第1の輻輳値は、第2のネットワークデバイスが第1のネットワークデバイスにより送信されたデータパケットを受信したときの第1のネットワークの輻輳度を示すために使用される。
【００３５】
より大きい第1の輻輳値は、第1のネットワークのより高い輻輳度を示すことが理解されるべきである。
【００３６】
輻輳閾値は、予め設定された閾値でもよく、輻輳閾値は、ネットワーク状態に基づいて推定された閾値でもよい。ブロードバンド利用率が低いシナリオでは、比較的小さい輻輳閾値が設定されてもよく、ブロードバンド利用率が高いシナリオでは、比較的大きい輻輳閾値が設定されてもよい。
【００３７】
例えば、ブロードバンド利用率が低いシナリオでは、輻輳閾値は、具体的には、0.3、0.4、0.5等でもよく、ブロードバンド利用率が高いシナリオでは、輻輳閾値は、具体的には、0.6、0.7、0.8等でもよい。
【００３８】
第1のグループのデータパケット内の冒頭のパケットが受信されたとき、第1のアクティブフロー数を取得するために、現在のアクティブフロー数が1だけ増加する必要があることが理解されるべきである。ここでの現在のアクティブフロー数は、第1のグループのデータパケット内の冒頭のパケットを受信する前に、第2のネットワークデバイスによりカウントされたアクティブフローの数である。第1のグループのデータパケット内の冒頭のパケットを受信したとき、第2のネットワークデバイスは、アクティブフロー数を更新する必要があり、すなわち、第1のグループのデータパケット内の冒頭のパケットを受信する前にカウントされたアクティブフロー数を1だけ増加させる必要がある。
【００３９】
第1のグループのデータパケット内の末尾のパケットを受信した後に、第2のネットワークデバイスは、第1のグループのデータパケット内のECN識別子を搬送するデータパケットの数に基づいて、第1のアクティブフロー数を再び更新する必要がある。第1の輻輳値が輻輳閾値未満である場合、第1のグループのデータパケット内の末尾のパケットを受信した後に第1のネットワークデバイスによりカウントされたアクティブフロー数は第2のアクティブフロー数であり、第1の輻輳値が輻輳閾値未満である場合、第1のグループのデータパケット内の末尾のパケットを受信した後に第1のネットワークデバイスによりカウントされたアクティブフロー数は第1のアクティブフロー数である。すなわち、第1のグループのデータパケット内の末尾のパケットが受信された後に、カウントされたアクティブフロー数は、第1のアクティブフロー数(第1の輻輳値が輻輳閾値以上であるとき)又は第2のアクティブフロー数(第1の輻輳値が輻輳閾値未満であるとき)である。
【００４０】
ECN識別子は、データパケットを受信したとき、他のネットワークデバイス(具体的には、第1のネットワークデバイスと第2のネットワークデバイスとの間の交換機でもよい)により追加された輻輳識別子でもよい。
【００４１】
任意選択で、各データパケットはまた、或るフィールド内で識別子を搬送してもよく、フィールドの値は、データパケットのタイプ(具体的には、冒頭のパケット、末尾のパケット又は冒頭のパケットと末尾のパケットとの間のデータパケット)を示すために使用される。
【００４２】
各データパケットはまた、パケットとして考えられてもよく、各データパケットの識別子は、パケットのフィールド内で搬送されてもよい。例えば、データパケットが、コンバージド・イーサネット・バージョン2上のリモートダイレクトメモリアクセス(remote  direct  memory  access  over  converged  ethernet  version  2,  RoCEv2)パケットであるとき、データパケットの識別子は、RoCEv2パケット内のopcodeフィールド内で搬送されてもよく、或いは、データパケットの識別子は、RoCEv2パケット内の予備フィールド(rsvd7フィールド等)内で搬送されてもよい。
【００４３】
この出願では、或るグループのデータパケット内の末尾のパケットが受信されたとき、輻輳状態は、当該グループのデータパケット内のECN識別子を搬送するデータパケットの数に基づいて決定されてもよく、アクティブフロー数は、輻輳状態に基づいて補正されてもよく、それにより、アクティブフロー数がより正確にカウントでき、より正確なアクティブフロー数が取得できる。
【００４４】
具体的には、従来の解決策は、アクティブフロー数のカウント中にネットワーク輻輳状態を考慮しない。実際には、従来の解決策は、ネットワークが輻輳しないという理想的な状況に基づいて、アクティブフロー数をカウントする。ネットワークが輻輳したとき、或る期間内に受信端により受信されるデータパケットの数が影響を受け、それにより、カウントされたアクティブフロー数が不正確である。この出願では、ネットワーク輻輳を推定するために、各グループのデータパケット内のECN識別子を搬送するデータパケットがカウントされる。ネットワーク輻輳度が比較的低いとき、アクティブフロー数は1だけ減少でき、ネットワーク輻輳度が比較的高いとき、アクティブフロー数は変更せずに保持でき、それにより、アクティブフロー数に対するネットワーク輻輳の影響が低減でき、カウントされたアクティブフロー数はより正確である。
【００４５】
第2の態様を参照して、第2の態様のいくつかの実現方式では、第1のグループのデータパケット内のECN識別子を搬送するデータパケットの数に基づいて第1の輻輳値を決定することは、第1のグループのデータパケット内のデータパケットの数に対する第1のグループのデータパケット内のECN識別子を搬送するデータパケットの数の比を、第1の輻輳値として決定することを含む。
【００４６】
任意選択で、第1のグループのデータパケット内のデータパケットの数に対する第1のグループのデータパケット内のECN識別子を搬送するデータパケットの数の比を決定することは、第1のグループのデータパケット内のデータパケットの総数に対する第1のグループのデータパケット内のECN識別子を搬送するデータパケットの総数の比を、第1の輻輳値として決定することを含む。
【００４７】
例えば、第1のグループのデータパケットは、合計で10個のデータパケット(冒頭のパケット及び末尾のパケットを含む)を含み、合計で5つのデータパケットがECN識別子を搬送し、その場合、計算を通じて、第1の輻輳閾値が0.5であると決定されてもよい。
【００４８】
さらに、第1のグループのデータパケット内のデータパケットの総数に対する第1のグループのデータパケット内のECN識別子を搬送するデータパケットの総数の比が、代替として最初に取得されてもよく、次いで、比と補正係数との積が、第1の輻輳閾値として使用される。補正係数は、ネットワークの動作状態に基づいて設定された係数でもよい。
【００４９】
この出願では、第1の輻輳値は、第1のグループのデータパケット内のECN識別子を搬送するデータパケットに基づいて決定され、それにより、現在の輻輳状態がリアルタイムに反映でき、アクティブフロー数が現在の輻輳状態に基づいてより正確にカウントできる。
【００５０】
第2の態様を参照して、第2の態様のいくつかの実現方式では、第2のネットワークデバイスが第1のネットワークデバイスにより送信された第1のグループのデータパケット内の末尾のパケットを受信した後に、当該方法は以下を更に含む。第2のネットワークデバイスは、第1のネットワークデバイスにより送信された第2のグループのデータパケット内の冒頭のパケットを受信し、第4のアクティブフロー数を取得するために、第3のアクティブフロー数を1だけ増加させ、第2のグループのデータパケット及び第1のグループのデータパケットは、同じデータフローに属し、第3のアクティブフロー数は、第1の輻輳値が輻輳閾値未満であるとき、第2のアクティブフロー数に等しく、第3のアクティブフロー数は、第1の輻輳値が輻輳閾値以上であるとき、第1のアクティブフロー数に等しく、第2のネットワークデバイスは、第1のネットワークデバイスにより送信された第2のグループのデータパケット内の末尾のパケットを受信し、第2のグループのデータパケット内のECN識別子を搬送するデータパケットの数及び第1の輻輳値に基づいて、ネットワークの第2の輻輳値を決定し、第2の輻輳値が輻輳閾値未満であるとき、第2のネットワークデバイスは、第5のアクティブフロー数を取得するために、第4のアクティブフロー数を1だけ減少させ、第2の輻輳値が輻輳閾値以上であるとき、第2のネットワークデバイスは、第4のアクティブフロー数を変更せずに保持する。
【００５１】
任意選択で、第1のグループのデータパケット内のデータパケットの数に対する第1のグループのデータパケット内のECN識別子を搬送するデータパケットの数の比を決定することは、第1のグループのデータパケット内のデータパケットの総数に対する第1のグループのデータパケット内のECN識別子を搬送するデータパケットの総数の比を、第1の輻輳値として決定することを含む。
【００５２】
第1のグループのデータパケット内の冒頭のパケット、末尾のパケット及び冒頭のパケットと末尾のパケットとの間のデータパケットは、全てECN識別子を搬送してもよいことが理解されるべきである。第1のグループのデータパケット内の各データパケットがECN識別子を搬送するとき、これは、ネットワーク輻輳が深刻であることを示す。第1のグループのデータパケット内の少数のデータパケットがECN識別子を搬送するとき、これは、ネットワーク輻輳度が低い(或いは、ネットワークが比較的スムーズである)ことを示す。
【００５３】
第2のグループのデータパケット内の冒頭のパケットが受信された後に、第2のグループのデータパケット内の冒頭のパケットは、第1のグループのデータパケット内の冒頭のパケットのものと同様の方式で処理されてもよく、第2のグループのデータパケット内の末尾のパケットが受信された後に、第2の輻輳値は、第2のグループのデータパケット内のECN識別子を搬送するデータパケットの数と第1の輻輳値との双方に基づいて決定され、それにより、第2の輻輳値は過度に変化せず、緩やかに変化する輻輳値が取得され、カウントされたアクティブフロー数は急激に変化しない。
【００５４】
任意選択で、第2のネットワークデバイスが第1のネットワークデバイスにより送信された第2のグループのデータパケット内の末尾のパケットを受信した後に、第2の輻輳値は、代替として、第1のグループのデータパケット内のECN識別子を搬送するデータパケットの数と、第2のグループのデータパケット内のECN識別子を搬送するデータパケットの数との双方に基づいて決定されてもよい。
【００５５】
任意選択で、第1のグループのデータパケットと第2のグループのデータパケットとの双方に含まれるデータパケットの総数に対する第1のグループのデータパケットと第2のグループのデータパケットとの双方においてECN識別子を搬送するデータパケットの総数の比は、第2の輻輳値として決定される。
【００５６】
第2の態様を参照して、第2の態様のいくつかの実現方式では、第2のグループのデータパケット内のECN識別子を搬送するデータパケットの数及び第1の輻輳値に基づいて、ネットワークの第2の輻輳値を決定することは、第2のグループのデータパケット内のECN識別子を搬送するデータパケットの数に基づいて、ネットワークの第3の輻輳値を決定し、式con2=x1*con3+x2*con1に基づいて、第2の輻輳値を決定し、ここで、con3は第3の輻輳値であり、con1は第1の輻輳値であり、con2は第2の輻輳値であり、x1は予め設定された第1の重みであり、x2は予め設定された第2の重みであることを含む。
【００５７】
第2の態様による方法では、アクティブフロー数は、受信端におけるネットワークデバイス又は送信端と受信端との間の交換機によりカウントされてもよく、アクティブフロー数が送信端と受信端との間の交換機によりカウントされるとき、交換機は、カウントされたアクティブフロー数を送信端に転送するために、これを受信端にフィードバックしてもよい。
【００５８】
第3の態様によれば、ネットワークデバイスが提供され、ネットワークデバイスは、第1の態様の様々な実現方式又は第2の態様の様々な実現方式による方法を実行するように構成されたモジュールを含む。
【００５９】
第4の態様によれば、ネットワークデバイスが提供され、ネットワークデバイスは、メモリ及びプロセッサを含み、メモリは、プログラムを記憶するように構成され、プロセッサは、メモリに記憶されたプログラムを実行するように構成され、メモリに記憶されたプログラムがプロセッサにより実行されたとき、プロセッサは、第1の態様の様々な実現方式又は第2の態様の様々な実現方式による方法を実行するように構成される。
【００６０】
任意選択で、ネットワークデバイスは、トランシーバを更に含み、メモリに記憶されたプログラムがプロセッサにより実行されたとき、プロセッサ及びトランシーバは、第1の態様の様々な実現方式又は第2の態様の様々な実現方式による方法を実行するように構成される。
【００６１】
第5の態様によれば、コンピュータ読み取り可能記憶媒体が提供され、コンピュータ読み取り可能記憶媒体は命令を記憶し、命令がコンピュータ上で実行されたとき、コンピュータは、第1の態様の様々な実現方式又は第2の態様の様々な実現方式による方法を実行することが可能になる。
【００６２】
第6の態様によれば、命令を含むコンピュータプログラム製品が提供され、コンピュータプログラム製品がコンピュータ上で実行したとき、コンピュータは、第1の態様の様々な実現方式又は第2の態様の様々な実現方式よる方法を実行することが可能になる。
【００６３】
上記のコンピュータは、具体的には、データセンター内のネットワークデバイス、例えば、サーバ又は送信デバイスでもよい。
【図面の簡単な説明】
【００６４】
【図１】この出願の実施形態による可能な適用シナリオの概略図である。
【図２】この出願の実施形態による輻輳制御方法の概略フローチャートである。
【図３】この出願の実施形態による輻輳制御方法の概略フローチャートである。
【図４】この出願の実施形態による輻輳制御方法の概略フローチャートである。
【図５】この出願の実施形態による輻輳制御方法の概略フローチャートである。
【図６】この出願の実施形態によるネットワークデバイスの概略ブロック図である。
【図７】この出願の実施形態によるネットワークデバイスの概略ブロック図である。
【図８】この出願の実施形態によるネットワークデバイスの概略ブロック図である。
【発明を実施するための形態】
【００６５】
図１は、この出願の実施形態の可能な適用シナリオの概略図である。
【００６６】
図１に示すように、送信端1、送信端2及び送信端3は、スイッチ1及びスイッチ2を通じて、データフローを受信端1及び受信端2に送信してもよい。受信端1及び受信端2の双方は、スイッチ1及びスイッチ2を通じて、送信端1、送信端2及び送信端3から送信されたデータフローを受信してもよい(スイッチ1及びスイッチ2は、送信端1、送信端2及び送信端3から送信されたデータフローを受信端1及び受信端2に転送する)。図１は、単なるこの出願の実施形態の可能な適用シナリオの概略図である。この出願の実施形態はまた、図１に示すシナリオと同様の他のシナリオに適用されてもよい。
【００６７】
送信端1及び受信端1を例として使用すると、送信端1により受信端1に送信されたデータフローは、送信端1と受信端1との間で輻輳をもたらす可能性があり、その結果、受信端1により受信されるデータパケットの遅延が高くなり、ネットワーク性能が影響を受ける。輻輳制御を実行するために、従来の解決策では、受信端1は、データフローの輻輳状態を送信端1にフィードバックする。データフローが輻輳をもたらすとき、送信端1は、データフローの送信レートを徐々に減少させ、データフローが輻輳をもたらさないとき、送信端は、データパケットの送信レートを徐々に増加させることができる。従来の解決策では、送信端は、ネットワークの輻輳状態を習得した後に、データパケットの送信レートを徐々に調整し、したがって、レートは比較的遅く変化する。これは、ネットワークの輻輳状態が認識された後の受動的な調整であり、輻輳制御効果はあまり良くない。
【００６８】
したがって、この出願は、データフローの送信レートがアクティブフロー数及び受信端の定格受信帯域幅に基づいて能動的に調整される新たな輻輳制御方法を提供し、それにより、受信端の実際の受信帯域幅が定格受信帯域幅に達することができ、受信端がフルスループット状態に達することができ、それにより、データフローの送信効率を改善する。
【００６９】
図２は、この出願の実施形態による輻輳制御方法の概略フローチャートである。図２に示す方法は、データセンターネットワーク及びメトロポリタンエリアネットワークのようなネットワークに適用されてもよい。第1のネットワークデバイス及び第2のネットワークデバイスは、これらのネットワーク内のデバイスである。図２に示す方法は、ステップ101〜ステップ103を含む。これらのステップについて、以下に詳細に説明する。
【００７０】
101.第2のネットワークデバイスは、第1のメッセージを第1のネットワークデバイスに送信し、第1のネットワークデバイスは、第1のメッセージを受信する。
【００７１】
第1のメッセージは、アクティブフロー数を搬送し、アクティブフロー数は、第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて第2のネットワークデバイスにより決定される。
【００７２】
「アクティブフロー」という用語は、データフローについての第2のネットワークデバイスの定義でもよいことが理解されるべきである。第2のネットワークデバイスにとって、アクティブフローは、データパケットが比較的頻繁に送信されるデータフローでもよく、非アクティブフローは、データパケットがより長い時間間隔で送信されるデータフローとして考えられてもよい(例えば、データフローは、長時間に1つのデータパケットを送信し、このようなデータフローは、非アクティブフローとして考えられてもよい)。したがって、第2のネットワークデバイスにとって、第2のネットワークデバイスにより受信されるデータフローは、2つのタイプ、すなわち、アクティブフロー及び非アクティブフローに分類されてもよい。
【００７３】
さらに、アクティブフロー数は、データパケットが特定の統計期間内に送信されているデータフローの数を示してもよい。具体的には、アクティブフロー数は、統計期間内に第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて第2のネットワークデバイスにより決定されたデータフローの数でもよい。
【００７４】
任意選択で、ステップ101の前に、第1のネットワークデバイスは、データフローを第2のネットワークデバイスに送信し、第2のネットワークデバイスは、第1のネットワークデバイスにより送信されたデータフローを受信する。
【００７５】
データフローを第2のネットワークデバイスに送信するとき、第1のネットワークデバイスは、グループでデータパケットを第2のネットワークデバイスに送信してもよい。各グループのデータパケットは、冒頭のパケット及び末尾のパケットを含み、冒頭のパケットと末尾のパケットとの間のデータパケットは、異なる識別子を有する。第2のネットワークデバイスは、アクティブフロー数を取得するために、これらの識別子に基づいて、或るグループのデータパケット内の冒頭のパケット及び末尾のパケットを識別し、次いで、受信した各グループのデータパケットの冒頭のパケット及び末尾のパケットに基づいて、アクティブフロー数をカウントしてもよい(アクティブフロー数をカウントすることに関する詳細は、図３に示す方法において記載される)。
【００７６】
第1のネットワークデバイスが図１に示す輻輳制御方法を使用することによりデータフローの送信レートを制御する前に、データフローは、初期レートで第2のネットワークデバイスに送信されてもよいことが理解されるべきである。初期レートは、以下の2つの方法を使用することにより定義されてもよい。
【００７７】
方法1:第1のネットワークデバイスは、第2のネットワークデバイスの定格受信帯域幅を初期レートとして決定し、t内に定格受信帯域幅に基づいてデータフローを第2のネットワークデバイスに送信する。
【００７８】
tは、要求パケットが第1のネットワークデバイスから送信された時間から(要求パケットは、第2のネットワークデバイスに対して、第1のデバイスにより送信されたデータフローを受信するように要求するために使用される)、第1のネットワークデバイスが要求パケットに特有であり且つ第2のネットワークデバイスにより送信された応答パケットを受信する時間までの期間である。
【００７９】
方法2:初期レートは、コンバージド・イーサネット・バージョン2上のリモートダイレクトメモリアクセス(remote  direct  memory  access  over  converged  ethernet  version  2,  RoCEv2)に基づいて定義されるフロー当たりの初期送信レートである。
【００８０】
具体的には、可能な実現方式では、初期レートは、第1のネットワークデバイスのラインカード又は送信ファブリックカードにより許容される最大送信レートでもよい。
【００８１】
さらに、各グループのデータパケット内の冒頭のパケット及び末尾のパケットを定義するための2つの方法が存在する。第1の方法は、RoCEv2プロトコルに基づいて、冒頭のパケット及び末尾のパケットを定義することである。具体的には、データパケットは、メッセージ(Message)に基づいてグループ化されてもよい(メッセージは、アプリケーション層における論理グループである)。メッセージの最初のパケットは、冒頭のパケットとして考えられ、メッセージの最後のパケットは、末尾のパケットとして考えられ、冒頭のパケット及び末尾のパケットは、コンバージド・イーサネット上のリモートダイレクトメモリアクセス(remote  direct  memory  access  over  converged  ethernet,  RoCE)パケットのベーストランスポートヘッダ(Base  Transport  Header,  BTH)のopcodeフィールドにおいて具体的に定義されてもよい。
【００８２】
アプリケーション層における論理グループに基づいて、データパケット内の冒頭のパケット及び末尾のパケットを定義することに加えて、データパケットの冒頭のパケット及び末尾のパケットはまた、セグメント(segment)に基づいて直接定義できる。具体的には、初期レート又はアクティブフロー数に基づいてフィードバックされる或る期間内のデータパケットはグループにグループ化でき、セグメント内の最初のパケットは、冒頭のパケットと呼ばれ、セグメント内の最後のパケットは、末尾のパケットと呼ばれる。2つのフィールドがBTHヘッダの予備フィールド(rsvd7フィールド等)において定義されてもよく、各フィールドのフラグは1ビットを占有してもよい。
【００８３】
任意選択で、第1のメッセージは、具体的なアクティブフロー数を直接搬送してもよく、それにより、第1のネットワークデバイスは、第1のメッセージに基づいてアクティブフロー数を直接取得できる。
【００８４】
102.第1のネットワークデバイスは、アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定する。
【００８５】
パケット送信制御情報は、第1のネットワークデバイスがパケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するとき、第2のネットワークデバイスの実際の受信帯域幅が定格受信帯域幅に達することを示す。すなわち、パケット送信制御情報は、データフローを第2のネットワークデバイスに送信するように第1のネットワークデバイスを制御するために使用され、第1のネットワークデバイスがパケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するとき、第2のネットワークデバイスの実際の帯域幅は、第2のネットワークデバイスの定格受信帯域幅に達することができる。
【００８６】
第2のネットワークデバイスの定格受信帯域幅は固定帯域でもよい。第1のネットワークデバイスが構成されるとき、第2のネットワークデバイスの定格受信帯域幅のような情報は、第1のネットワークデバイスについて直接構成されてもよく、それにより、第1のネットワークデバイスは、構成情報から第2のネットワークデバイスの定格受信帯域幅を取得できる。
【００８７】
103.第1のネットワークデバイスは、パケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信し、第2のネットワークデバイスは、定格受信帯域幅に基づいてデータフローを受信する。
【００８８】
パケット送信制御情報に基づいて第1のネットワークデバイスにより第2のネットワークデバイスに送信されるデータフローは、1つのデータフローでもよく(この場合、データフローは、第1のネットワークデバイスにより第2のネットワークデバイスに送信される全てのデータフローのうちいずれかの1つでもよい)、或いは、複数のデータフローでもよい(複数のデータフローは、第1のネットワークデバイスにより第2のネットワークデバイスに送信される全てのデータフローでもよい)ことが理解されるべきである。
【００８９】
この出願では、パケット送信制御情報は、アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて決定され、第1のネットワークデバイスから第2のネットワークデバイスに送信されるデータフローは、パケット送信制御情報に基づいて制御され、それにより、第2のネットワークデバイスは、フルスループット状態に達することができ、それにより、データフローの送信効率を改善する。
【００９０】
パケット送信制御情報がアクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて決定されるとき、パケット送信制御情報は、異なる方法を使用することによりアクティブフロー数に基づいて決定されてもよい。
【００９１】
例えば、アクティブフロー数が比較的小さいとき、ネットワークは、バーストデータに対して強い耐性を有する。この場合、或る期間内のデータフローの最大データ送信ボリュームのみが制御される必要がある。しかし、アクティブフロー数が比較的大きいとき、複数の同時フローがネットワークに対して大きい影響を有する。大量のバーストデータにより引き起こされるネットワーク輻輳を回避するために、ネットワークカード(ネットワークカードは受信端に位置し、データパケットの送信周期を割り当てることを担う)の割り当て周期が制御でき、周期当たり単一のパケットが送信される(すなわち、データパケットの間の送信間隔が厳密に制御され、各データパケットの送信が1つの周期として考えられることができる)。
【００９２】
任意選択で、アクティブフロー数が第1の閾値未満であるとき、第1のネットワークデバイスは、式(1)に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定する。
【数５】
2021536196.tif 000007
【００９３】
式(1)において、Cは第2のネットワークデバイスの定格受信帯域幅であり、active_qpはアクティブフロー数であり、Tは第1のネットワークデバイスにより送信されたデータフローのデータパケットが第2のネットワークデバイスに到着するのに必要な時間であり、VはT内に第1のネットワークデバイスにより第2のネットワークデバイスに送信されるデータフローのデータボリュームである。
【００９４】
パケット送信制御情報は、式(1)に基づいて決定され、パケット送信制御情報は、第1のネットワークデバイスに対して、T内にデータフロー内のデータボリュームVを有するデータパケットを第2のネットワークデバイスに送信するように命令するために具体的に使用される。この場合、パケット送信制御情報は、T内に送信されるデータフロー内のデータパケットのデータボリュームのみを示すが、T内にデータフロー内のデータパケットのデータボリュームがVに達する限り、データパケットの間の時間間隔は限定されないことが理解されるべきである。
【００９５】
パケット送信制御情報が式(1)に基づいて取得された後に、第1のネットワークデバイスが、パケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信することは、以下を含む。第1のネットワークデバイスは、T内にデータフロー内のデータボリュームVを有するデータパケットを第2のネットワークデバイスに送信する。
【００９６】
データボリューム(data  volume)は、データフロー内のデータパケットの長さでもよい。例えば、データフロー1は、データパケット1と、データパケット2と、データパケット3とを含み、各データパケットは4バイトの長さを有し、その場合、データフロー1は12バイトの長さを有する。
【００９７】
Tは予め設定されてもよい。具体的には、Tは、ネットワークがアイドルであるときにデータパケットが特定のレートで送信されるとき、データパケットが受信端に到着する時間でもよい。
【００９８】
代替として、Tは、具体的には、ラウンドトリップ時間(round-trip  time,  RTT)でもよい。RTTは、送信端がデータを送信する時間と、送信端が受信端から確認応答を受信する時間との間の合計遅延を示す(受信端は、データを受信した直後に確認応答を送信する)。RTTは、ネットワークデバイスが初期化されてネットワークがアイドルであるときに静的遅延を測定することにより取得されてもよい。
【００９９】
この出願では、アクティブフロー数が比較的小さいとき、ネットワークは、バーストデータに対して強い耐性を有し、それにより、或る期間内のデータフローの最大データ送信ボリュームのみが制御される必要があり、データフローの送信に対する制御が簡略化できる。
【０１００】
任意選択で、アクティブフロー数が第1の閾値以下であるとき、第1のネットワークデバイスは、式(2)に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定する。
【数６】
2021536196.tif 000008
【０１０１】
式(2)において、1pktは単一のデータパケットの長さであり、active_qpはアクティブフロー数であり、Cは第2のネットワークデバイスの定格受信帯域幅であり、「interval」は第1のネットワークデバイスがデータフローを送信するときの隣接するデータパケットの間の時間間隔である。
【０１０２】
パケット送信制御情報は、式(2)に基づいて決定され、パケット送信制御情報は、第1のネットワークデバイスが各データフローを送信するときのデータパケットの間の送信時間間隔が「interval」により示される値に達することを具体的に示す。
【０１０３】
パケット送信制御情報が式(2)に基づいて取得された後に、第1のネットワークデバイスが、パケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信することは、以下を含む。第1のネットワークデバイスは、「interval」により示される時間間隔に基づいてデータフロー内のデータパケットを第2のネットワークデバイスに送信する。
【０１０４】
単一のデータパケットの長さは、具体的には、単一のデータパケットのデータボリュームのサイズでもよく、例えば、単一のデータパケットのデータボリュームのサイズが3バイトである場合、単一のデータパケットの長さも3バイトである。
【０１０５】
式(2)の導出プロセスは以下の通りである。
【０１０６】
帯域幅は全てのデータフローの間に均等に分割され、それにより、各データフローの送信レートは、
【数７】
2021536196.tif 000009
である。送信端における各データフローの送信レートは、
【数８】
2021536196.tif 000010
である。式(3)は、受信端がフルスループット状態に達することが可能になるように取得でき、式(2)は、式(3)を変換することにより取得できる。
【数９】
2021536196.tif 000011
【０１０７】
この出願では、アクティブフロー数が比較的大きいとき、複数の同時フローはネットワークに重い負荷を引き起こす。ネットワーク上の複数の同時フローの影響は、データパケットの間の送信時間間隔を適切に設定することにより回避でき、それにより、ネットワーク輻輳が回避できる。
【０１０８】
アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいてパケット送信制御情報を決定する際に、式(1)又は式(2)に基づいて各データフローについてパケット送信制御情報を決定する(この場合、各データフローについてのパケット送信制御情報は、同じ方法を使用して決定される)ことに加えて、データフローについてのパケット送信制御情報は、データフローの具体的な状況(例えば、優先度)に基づいて決定されてもよく、この場合、異なるデータフローについて取得されたパケット送信制御情報は異なってもよい。データフローについてパケット送信制御情報を決定するための方法について、以下に詳細に説明する。
【０１０９】
任意選択で、第1のネットワークデバイスが、アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定することは、以下を含む。第1のネットワークデバイスは、アクティブフロー数、第2のネットワークデバイスの定格受信帯域幅及びデータフローの属性情報に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定する。
【０１１０】
データフローの属性情報は、データフローのアプリケーション情報及びデータフローのデータボリューム情報のうち少なくとも1つを含み、データフローのアプリケーション情報は、データフローのデータパケットが属するサービスタイプを示すために使用され、データフローのデータボリューム情報は、第1のデータフローに属し且つ予め設定された時間内に第1のネットワークデバイスにより送信されるデータパケットのデータボリュームを示すために使用される。
【０１１１】
データフローのアプリケーション情報は、具体的には、データフローのデータパケットが属するサービスタイプ(例えば、オーディオ又はビデオ)、サービスタイプに対応する優先度等を示してもよい。
【０１１２】
この出願では、データフローのパケット送信制御情報が決定されるとき、パケット送信制御情報は、データフローの属性情報に基づいてデータフローについて適切に決定できる。
【０１１３】
任意選択で、アクティブフロー数が第1の閾値未満であるとき、第1のネットワークデバイスは、式(4)に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定する。
【数１０】
2021536196.tif 000012
【０１１４】
式(4)において、Cは第2のネットワークデバイスの定格受信帯域幅であり、active_qpはアクティブフロー数であり、Tは第1のネットワークデバイスにより送信されたデータフローのデータパケットが第2のネットワークデバイスに到着するのに必要な時間であり、wはデータフローの重みであり、wはデータフローの属性情報に基づいて決定され、VはT内に第1のネットワークデバイスにより第2のネットワークデバイスに送信されるデータフローのデータボリュームである。
【０１１５】
パケット送信制御情報が式(4)に基づいて取得された後に、第1のネットワークデバイスが、パケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信することは、以下を含む。第1のネットワークデバイスは、T内にデータフロー内のデータボリュームVを有するデータパケットを第2のネットワークデバイスに送信する。
【０１１６】
wは、データフローの属性情報内のデータフローのアプリケーション情報及び/又はデータフローのデータボリューム情報に基づいて決定されてもよいことが理解されるべきである。
【０１１７】
任意選択で、式(4)において、wの値は、データフローのアプリケーション情報により示されるサービスタイプの重要度と正相関する。
【０１１８】
具体的には、式(4)におけるデータフローのアプリケーション情報により示されるサービスタイプのより高い重要度は、wのより大きい値を示す。
【０１１９】
任意選択で、式(4)において、wの値は、データフローのアプリケーション情報により示されるサービスの優先度と正相関する。例えば、データフローのアプリケーション情報により示されるサービスのより高い優先度は、wのより大きい値を示す。
【０１２０】
任意選択で、式(4)において、wの値は、データフローのデータボリューム情報により示されるデータボリュームと逆相関する。具体的には、データフローのデータボリューム情報により示されるより大きいデータボリュームは、wのより小さい値を示す。
【０１２１】
この出願では、データフローのデータ送信ボリュームが決定されるとき、データ送信ボリュームは、データフローの属性情報に基づいてデータフローについて適切に決定できる。
【０１２２】
任意選択で、アクティブフロー数が第1の閾値以上であるとき、第1のネットワークデバイスは、式(5)に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定する。
【数１１】
2021536196.tif 000013
【０１２３】
式(5)において、1pktは単一のデータパケットの長さであり、active_qpはアクティブフロー数であり、wはデータフローの重みであり、wはデータフローの属性情報に基づいて決定され、Cは第2のネットワークデバイスの定格受信帯域幅であり、「interval」は第1のネットワークデバイスがデータフローを送信するときの隣接するデータパケットの間の時間間隔である。
【０１２４】
パケット送信制御情報が式(5)に基づいて取得された後に、第1のネットワークデバイスが、パケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信することは、以下を含む。第1のネットワークデバイスは、「interval」により示される時間間隔に基づいてデータフロー内のデータパケットを第2のネットワークデバイスに送信する。
【０１２５】
任意選択で、式(5)において、wの値は、データフローのアプリケーション情報により示されるサービスタイプの重要度と逆相関する。
【０１２６】
具体的には、式(5)において、データフローのアプリケーション情報により示されるサービスタイプのより高い重要度は、wのより小さい値を示す。
【０１２７】
任意選択で、式(5)において、wの値は、データフローのアプリケーション情報により示されるサービスの優先度と逆相関する。
【０１２８】
例えば、データフローのアプリケーション情報により示されるサービスのより高い優先度は、wのより小さい値を示す。
【０１２９】
任意選択で、式(5)において、wの値は、データフローのデータボリューム情報により示されるデータボリュームと正相関する。具体的には、データフローのデータボリューム情報により示されるより大きいデータボリュームは、wのより大きい値を示す。
【０１３０】
この出願では、データフローのデータパケット送信時間間隔が決定されるとき、データパケット送信時間間隔は、データフローの属性情報に基づいてデータフローについて適切に決定できる。
【０１３１】
任意選択で、wがデータフローの属性情報内のデータフローのアプリケーション情報に基づいて決定されるとき、w=w1であり、w1の値は、データフローのアプリケーション情報により示されるサービスタイプの重要度と正相関する。例えば、データフローのアプリケーション情報により示されるサービスタイプのより高い重要度は、w1のより大きい値を示す。この場合、式(4)は式(6)に変換できる。この場合、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報は、式(6)に基づいて直接決定されてもよい。
【数１２】
2021536196.tif 000014
【０１３２】
式(6)において、w1は、データフローの属性情報内のデータフローのアプリケーション情報に基づいて決定され、他のパラメータは、式(4)のものと同じ意味を有する。
【０１３３】
任意選択で、wがデータフローのデータボリューム情報に基づいて決定されるとき、w=w2であり、w2の値は、データフローのデータボリューム情報により示されるデータボリュームと逆相関する。例えば、データフローのデータボリューム情報により示されるより大きいデータボリュームは、w2のより小さい値を示す。この場合、式(4)は式(7)に変換できる。この場合、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報は、式(7)に基づいて直接決定されてもよい。
【数１３】
2021536196.tif 000015
【０１３４】
式(7)において、w2は、データフローのデータボリューム情報に基づいて決定され、他のパラメータは、式(4)のものと同じ意味を有する。
【０１３５】
任意選択で、wがデータフローの属性情報内のデータフローのアプリケーション情報及びデータフローのデータボリューム情報に基づいて決定され得るとき、w=w1×w2であり、w1の値は、データフローのアプリケーション情報により示されるサービスタイプの重要度と正相関し、w2の値は、データフローのデータボリューム情報により示されるデータボリュームと逆相関する。この場合、式(4)は式(8)に変換できる。この場合、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報は、式(8)に基づいて直接決定されてもよい。
【数１４】
2021536196.tif 000016
【０１３６】
式(8)において、w1は、データフローの属性情報内のデータフローのアプリケーション情報に基づいて決定され、w2は、データフローのデータボリューム情報に基づいて決定され、他のパラメータは、式(3)のものと同じ意味を有する。
【０１３７】
本発明の実施形態による輻輳制御方法について、図２を参照して送信端(第1のネットワークデバイス)の観点から上記に説明した。本発明の実施形態による輻輳制御方法について、図３を参照して受信端(第2のネットワークデバイス)の観点から以下に詳細に説明する。
【０１３８】
図３は、この出願の実施形態による輻輳制御方法の概略フローチャートである。図３に示す方法はまた、データセンターネットワーク及びメトロポリタンエリアネットワークのようなネットワークに適用されてもよく、第1のネットワークデバイス及び第2のネットワークデバイスは、これらのネットワーク内のデバイスである。図３に示す方法は、ステップ201〜ステップ203を含む。これらのステップについて、以下に詳細に説明する。
【０１３９】
201.第2のネットワークデバイスは、第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、アクティブフロー数を決定する。
【０１４０】
202.第2のネットワークデバイスは、第1のメッセージを第1のネットワークデバイスに送信し、第1のメッセージは、アクティブフロー数を搬送する。
【０１４１】
アクティブフロー数は、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するために第1のネットワークにより使用され、パケット送信制御情報は、第1のネットワークデバイスがパケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するとき、第2のネットワークデバイスの実際の受信帯域幅が第2のネットワークデバイスの定格受信帯域幅に達することを示す。
【０１４２】
203.第2のネットワークデバイスは、定格受信帯域幅に基づいて、第1のネットワークデバイスにより送信されたデータフローを受信する。
【０１４３】
図２に示す方法におけるステップ101〜103は、図３に示す方法におけるステップ201〜203に対応し、ステップ101〜103の関連する定義及び説明はまた、ステップ201〜203に当てはまることが理解されるべきである。繰り返しを回避するために、詳細は、ここでは再び説明しない。
【０１４４】
この出願では、第2のネットワークデバイスは、アクティブフロー数を第1のネットワークデバイスに報告し、それにより、第1のネットワークデバイスは、アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて、パケット送信制御情報を決定でき、パケット送信制御情報に基づいて、データフローを第2のネットワークデバイスに送信するように第1のネットワークデバイスを制御し、それにより、第2のネットワークデバイスは、定格受信帯域幅に基づいて、第1のネットワークデバイスにより送信されたデータフローを受信でき、第2のネットワークデバイスは、フルスループット状態に達することができ、それにより、データフローの送信効率を改善する。
【０１４５】
任意選択で、実施形態では、第2のネットワークデバイスが、第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、アクティブフロー数を決定することは、以下を含む。第2のネットワークデバイスは、第1のネットワークデバイスにより送信された第1のグループのデータパケット内の冒頭のパケットを受信し、第1のアクティブフロー数を取得するために、現在のアクティブフロー数を1だけ増加させ、第2のネットワークデバイスは、第1のネットワークデバイスにより送信された第1のグループのデータパケット内の末尾のパケットを受信し、第1のグループのデータパケット内の外部輻輳通知ECN識別子を搬送するデータパケットの数に基づいて第1の輻輳値を決定し、第1の輻輳値が輻輳閾値未満であるとき、第2のネットワークデバイスは、第2のアクティブフロー数を取得するために、第1のアクティブフロー数を1だけ減少させ、第1の輻輳値が輻輳閾値以上であるとき、第2のネットワークデバイスは、第1のアクティブフロー数を変更せずに保持する。
【０１４６】
第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、第2のネットワークデバイスによりアクティブフロー数を決定することについて、図４及び図５を参照して以下に詳細に説明する。
【０１４７】
図４は、この出願の実施形態に従ってアクティブフロー数をカウントするための方法のフローチャートである。図４における第2のネットワークデバイスは、図１における受信端1又は受信端2に対応し、データフローを受信するように構成され、図４における第1のネットワークデバイスは、図１における送信端(送信端1、送信端2又は送信端3)に対応し、データフローを送信するように構成される。図４に示すプロセスは、少なくともステップ301〜ステップ304を含んでもよく、さらに、図４に示すプロセスは、ステップ305〜ステップ308を含んでもよい。これらのステップについて、以下に詳細に説明する。
【０１４８】
301.第2のネットワークデバイスは、第1のグループのデータパケット内の冒頭のパケットを受信する。
【０１４９】
この出願では、各グループのデータパケットは、特定の数のデータパケットを含み、各グループのデータパケットは、冒頭のパケット及び末尾のパケットを含む。データパケットを受信した後に、第2のネットワークデバイスは、データパケットが冒頭のパケットの識別子及び末尾のパケットの識別子を搬送するか否かを識別することにより、データパケットが冒頭のパケットであるか末尾のパケットであるかを識別してもよい。
【０１５０】
冒頭のパケットの識別子及び末尾のパケットの識別子は、2つの方法を使用することにより定義できる。2つの方法について、以下に説明する。
【０１５１】
方法1:
【０１５２】
この出願がRoCEv2シナリオに適用されるとき、データパケットはRoCEv2プロトコルにより定義されたメッセージ(message)に基づいてグループ化されてもよい。具体的には、データパケットは、メッセージ(Message)に基づいてグループ化されてもよい(メッセージは、アプリケーション層における論理グループである)。メッセージの最初のパケットは、冒頭のパケットとして考えられ、メッセージの最後のパケットは、末尾のパケットとして考えられ、冒頭のパケット及び末尾のパケットは、RoCEv2パケットのベーストランスポートヘッダ(Base  Transport  Header,  BTH)のopcodeフィールドにおいて具体的に定義されてもよい。
【０１５３】
方法2:
【０１５４】
データパケットはセグメントに基づいてグループ化されてもよい。具体的には、初期レート又はアクティブフロー数に基づいてフィードバックされる或る期間内の対応するデータパケットはグループにグループ化されてもよく、セグメント内の最初のパケットは、冒頭のパケットと呼ばれ、セグメント内の最後のパケットは、末尾のパケットと呼ばれる。2つのフィールドがBTHヘッダの予備フィールド(rsvd7フィールド等)において定義されてもよく、各フィールドのフラグは1ビットを占有してもよい。
【０１５５】
302.第2のネットワークデバイスは、第1のアクティブフロー数を取得するために、現在のアクティブフロー数を1だけ増加させる。
【０１５６】
ステップ302における現在のアクティブフロー数は、第1のグループのデータパケット内の冒頭のパケットを受信する前に、第2のネットワークデバイスによりカウントされたアクティブフローの数である。第1のグループのデータパケット内の冒頭のパケットを受信したとき、第2のネットワークデバイスは、アクティブフロー数を更新する必要があり、すなわち、第1のグループのデータパケット内の冒頭のパケットを受信する前にカウントされたアクティブフロー数を1だけ増加させる必要がある。
【０１５７】
303.第2のネットワークデバイスは、第1のグループのデータパケット内の末尾のパケットを受信する。
【０１５８】
第1のグループのデータパケット内の冒頭のパケットは、第2のネットワークデバイスにより受信された第1のグループのデータパケット内の最初のパケットでもよく、第1のグループのデータパケット内の末尾のパケットは、第2のネットワークデバイスにより受信された第1のグループのデータパケット内の最後のパケットでもよいことが理解されるべきである。各グループのデータパケットに含まれるデータパケットの数は予め設定されてもよい。
【０１５９】
さらに、各データパケットは、特定のフィールド内で識別子を搬送してもよく、識別子の値は、データパケットのタイプ(具体的には、冒頭のパケット、末尾のパケット又は冒頭のパケットと末尾のパケットとの間のデータパケット)を示すために使用される。
【０１６０】
任意選択で、各データパケットは、データパケット識別子を更に含み、データパケット識別子は、データパケットのタイプを示すために使用される。具体的には、識別子の値は、データパケットが或るグループのデータパケット内の冒頭のパケット、末尾のパケット又は冒頭のパケットと末尾のパケットとの間のデータパケットであることを示すために使用されてもよい。
【０１６１】
具体的には、データパケット識別子は、パケットヘッダ又はパケットのペイロード(payload)内で搬送されてもよく、或いは、データパケット識別子は、パケットの外側のフィールド内で搬送されてもよく、データパケット識別子を搬送するフィールドは、パケットと共に送信され、それにより、第1のネットワークデバイスは、当該フィールドに基づいてデータパケットのタイプを識別できる。
【０１６２】
例えば、コンバージド・イーサネット・バージョン2上のリモートダイレクトメモリアクセス(remote  direct  memory  access  over  converged  ethernet  version  2,  RoCEv2)に基づくシナリオでは、データパケット識別子は、RoCEv2パケット内のopcodeフィールド内で搬送されてもよく、或いは、データパケット識別子は、RoCEv2パケット内の予備フィールド(rsvd7フィールド等)内で搬送されてもよい。
【０１６３】
第1のグループのデータパケット内のデータパケットは、同じデータフローに属することが理解されるべきである。
【０１６４】
304.第2のネットワークデバイスは、第1のグループのデータパケット内の外部輻輳通知ECN識別子を搬送するデータパケットの数に基づいて第1の輻輳値を決定し、第1の輻輳値と輻輳閾値との間の関係に基づいてアクティブフロー数を更新する。
【０１６５】
任意選択で、ステップ304において、第1のアクティブフロー数は、第1のグループのデータパケット内のECN識別子を搬送するデータパケットの数に基づいて再び更新される必要がある。第1の輻輳値が輻輳閾値未満である場合、第1のグループのデータパケット内の末尾のパケットを受信した後に第2のネットワークデバイスによりカウントされたアクティブフロー数は第2のアクティブフロー数であり、第1の輻輳値が輻輳閾値未満である場合、第1のグループのデータパケット内の末尾のパケットを受信した後に第2のネットワークデバイスによりカウントされたアクティブフロー数は第1のアクティブフロー数である。すなわち、第1のグループのデータパケット内の末尾のパケットが受信された後に、カウントされたアクティブフロー数は、第1のアクティブフロー数(第1の輻輳値が輻輳閾値以上であるとき)又は第2のアクティブフロー数(第1の輻輳値が輻輳閾値未満であるとき)である。
【０１６６】
この出願では、或るグループのデータパケット内の末尾のパケットが受信されたとき、輻輳状態は、当該グループのデータパケット内のECN識別子を搬送するデータパケットの数に基づいて決定されてもよく、アクティブフロー数は、輻輳状態に基づいて補正されてもよく、それにより、アクティブフロー数がより正確にカウントでき、より正確なアクティブフロー数が取得できる。
【０１６７】
具体的には、従来の解決策は、アクティブフロー数のカウント中にネットワーク輻輳状態を考慮しない。実際には、従来の解決策は、ネットワークが輻輳しないという理想的な状況に基づいて、アクティブフロー数をカウントする。ネットワークが輻輳したとき、或る期間内に受信端により受信されるデータパケットの数が影響を受け、それにより、カウントされたアクティブフロー数が不正確である。この出願では、ネットワーク輻輳を推定するために、各グループのデータパケット内のECN識別子を搬送するデータパケットがカウントされる。ネットワーク輻輳度が比較的低いとき、アクティブフロー数は1だけ減少でき、ネットワーク輻輳度が比較的高いとき、アクティブフロー数は変更せずに保持でき、それにより、アクティブフロー数に対するネットワーク輻輳の影響が低減でき、カウントされたアクティブフロー数はより正確である。
【０１６８】
任意選択で、実施形態では、第1のグループのデータパケット内のECN識別子を搬送するデータパケットの数に基づいて第1の輻輳値を決定することは、第1のグループのデータパケット内のデータパケットの数に対する第1のグループのデータパケット内のECN識別子を搬送するデータパケットの数の比を、第1の輻輳値として決定することを含む。
【０１６９】
具体的には、第1のグループのデータパケット内のデータパケットの数に対する第1のグループのデータパケット内のECN識別子を搬送するデータパケットの総数の比が、第1の輻輳値として決定されてもよい。
【０１７０】
例えば、第1のグループのデータパケットは、合計で10個のデータパケット(冒頭のパケット及び末尾のパケットを含む)を含み、合計で5つのデータパケットがECN識別子を搬送し、計算を通じて、第1の輻輳値が0.5であると決定されてもよい。
【０１７１】
さらに、第1のグループのデータパケット内のデータパケットの総数に対する第1のグループのデータパケット内のECN識別子を搬送するデータパケットの総数の比が、代替として最初に取得されてもよく、次いで、比と補正係数との積が、第1の輻輳値として使用される。補正係数は、ネットワークの動作状態に基づいて設定された係数でもよい。
【０１７２】
例えば、第1のグループのデータパケットは、合計で10個のデータパケット(冒頭のパケット及び末尾のパケットを含む)を含み、8つのデータパケットがECN識別子を搬送する。その場合、計算を通じて、データパケットの総数に対するECN識別子を搬送するデータパケットの総数の比は0.8であると決定できる。補正係数が0.8であると仮定すると、比と補正係数との積、すなわち、0.64が第1の輻輳値である。
【０１７３】
任意選択で、ステップ302の前に、図４に示すプロセスは、第1のグループのデータパケットを含むデータフローが第1のデータフローであると決定し、第1のデータフローは、予め設定された時間内に第1のネットワークデバイスにより受信されたデータパケットの数が予め設定された数よりも大きいデータフローであることを更に含む。
【０１７４】
第1のデータフローは、大きいデータフローとして考えられてもよい。この出願では、アクティブフロー数は、第1のデータフローに対してのみカウントされ(大きいデータフローについて、アクティブフロー数は、この出願の解決策を使用して適切にカウントできる)、それにより、この出願においてアクティブフロー数をカウントするための解決策がより標的にされる。
【０１７５】
具体的には、小さいデータフローは少数のデータパケットを含むので、ネットワーク輻輳は小さいデータフローに対してほとんど影響を有さず、大きいデータフローは多数のデータパケットを含むので、ネットワーク輻輳は大きいデータフローに対して大きい影響を有する。したがって、小さいデータフローについて、アクティブフロー数はカウントされる必要はなく(すなわち、データパケットが受信できる場合でも、小さいデータフローはアクティブフローとして考えられない)、大きいデータフローについて、アクティブフロー数はこの出願の解決策を使用してカウントできる。
【０１７６】
ステップ301〜ステップ304は、或るグループのデータパケットに基づいてアクティブフロー数をカウントする場合のみを示す。実際には、この出願の実施形態に従ってアクティブフロー数をカウントするための方法はまた、複数のグループのデータパケットに基づいてアクティブフロー数をカウントするために使用できる。
【０１７７】
任意選択で、図４に示すプロセスにおいて、第1のグループのデータパケットを受信し、ステップ301〜ステップ304を通じてアクティブフロー数を更新した後に、第2のネットワークデバイスは、第2のグループのデータパケットを更に受信し、受信した第2のグループのデータパケットに基づいてアクティブフロー数を再び更新してもよい。
【０１７８】
305.第2のネットワークデバイスは、第2のグループのデータパケット内の冒頭のパケットを受信する。
【０１７９】
第2のグループのデータパケット及び第1のグループのデータパケットは、同じデータフローに属し、第2のグループのデータパケットは、第1のグループのデータパケットを受信した後に第2のネットワークデバイスにより受信されるグループのデータパケットでもよく、具体的には、第2のグループのデータパケット及び第1のグループのデータパケットは、データフロー内の2つの連続するグループのデータパケットでもよい(すなわち、第2のグループのデータパケットは、第1のグループのデータパケットを受信した直後に第2のネットワークデバイスにより受信される次のグループのデータパケットである)ことが理解されるべきである。
【０１８０】
306.第2のネットワークデバイスは、第4のアクティブフロー数を取得するために、現在のアクティブフロー数を1だけ増加させる。
【０１８１】
307.第2のネットワークデバイスは、第2のグループのデータパケット内の末尾のパケットを受信する。
【０１８２】
ステップ305〜307の具体的なプロセスは、ステップ301〜303の具体的なプロセスと同様である。詳細は、ここでは再び説明しない。
【０１８３】
308.第2のネットワークデバイスは、第2のグループのデータパケット内の外部輻輳通知ECN識別子を搬送するデータパケットの数に基づいて第2の輻輳値を決定し、第2の輻輳値と輻輳閾値との間の関係に基づいてアクティブフロー数を更新する。
【０１８４】
第2のグループのデータパケット内の冒頭のパケットが受信された後に、第2のグループのデータパケット内の冒頭のパケットは、第1のグループのデータパケット内の冒頭のパケットのものと同様の方式で処理されてもよく、第2のグループのデータパケット内の末尾のパケットが受信された後に、第2の輻輳値は、第2のグループのデータパケット内のECN識別子を搬送するデータパケットの数と第1の輻輳値との双方に基づいて決定され、それにより、第2の輻輳値は過度に変化せず、緩やかに変化する輻輳値が取得される。
【０１８５】
任意選択で、第2のネットワークデバイスが第1のネットワークデバイスにより送信された第2のグループのデータパケット内の末尾のパケットを受信した後に、第2の輻輳値は、代替として、第1のグループのデータパケット内のECN識別子を搬送するデータパケットの数と、第2のグループのデータパケット内のECN識別子を搬送するデータパケットの数との双方に基づいて決定されてもよい。
【０１８６】
任意選択で、第1のグループのデータパケットと第2のグループのデータパケットとの双方に含まれるデータパケットの総数に対する第1のグループのデータパケットと第2のグループのデータパケットとの双方においてECN識別子を搬送するデータパケットの総数の比は、第2の輻輳値として決定される。
【０１８７】
例えば、第1のグループのデータパケット及び第2のグループのデータパケットは、10個のデータパケットをそれぞれ含み、第1のグループのデータパケット内の4つのデータパケットがECN識別子を搬送し、第2のグループのデータパケット内の6つのデータパケットがECN識別子を搬送する。その場合、第1のグループのデータパケット及び第2のグループのデータパケット内のECN識別子を搬送するデータパケットの総数は10であり、第1のグループのデータパケット及び第2のグループのデータパケット内のデータパケットの総数は20であり、その場合、第2の輻輳値は10/20=0.5である。
【０１８８】
第2の輻輳値は、代替として、以下のように、すなわち、第1のグループのデータパケット内のECN識別子を搬送するデータパケットの数に基づいて輻輳値を取得し、第2のグループのデータパケット内のECN識別子を搬送するデータパケットの数に基づいて他の輻輳値を取得し、次いで、2つの輻輳値に対して重み付け加重を実行することで取得されてもよいことが理解されるべきである。
【０１８９】
任意選択で、実施形態では、第2のグループのデータパケット内のECN識別子を搬送するデータパケットの数及び第1の輻輳値に基づいて、ネットワークの第2の輻輳値を決定することは、第2のグループのデータパケット内のECN識別子を搬送するデータパケットの数に基づいて、ネットワークの第3の輻輳値を決定し、式(9)に基づいて、第2の輻輳値を決定することを含む。
con2=x1*con3+x2*con1      (9)
【０１９０】
式(9)において、con3は第3の輻輳値であり、con1は第1の輻輳値であり、con2は第2の輻輳値であり、x1は予め設定された第1の重みであり、x2は予め設定された第2の重みである。
【０１９１】
この出願では、第2のネットワークデバイスが或るグループのデータパケット(例えば、第1のグループのデータパケット又は第2のグループのデータパケット)内の冒頭のパケットを受信する毎に、現在のアクティブフロー数が1だけ増加する必要があり、第2のネットワークデバイスが或るグループのデータパケット内の末尾のパケットを受信する毎に、アクティブフロー数が、当該グループのデータパケット内のECN識別子を搬送するデータパケットの数に基づいて調整される必要があり(アクティブフロー数が1だけ減少するか、或いは、変更せずに保持される)、それにより、アクティブフロー数がリアルタイムで更新されることが理解されるべきである。
【０１９２】
この出願における技術的解決策のより良い理解のために、この出願の実施形態に従ってアクティブデータフロー数をカウントするための方法について、第2のネットワークデバイスの観点から以下に説明する。
【０１９３】
図５は、この出願の実施形態に従ってアクティブフロー数をカウントするための方法のフローチャートである。図５に示すプロセスは、少なくともステップ401〜ステップ406を含んでもよく、さらに、図５に示すプロセスは、ステップ407〜ステップ411を含んでもよい。これらのステップについて、以下に詳細に説明する。
【０１９４】
401.開始する。
【０１９５】
ステップ401は、アクティブフロー数のカウントが開始されることを示す。ステップ401は、1つのグループのデータパケットが受信されてアクティブフロー数が更新された後、且つ、他のグループのデータパケットが受信される前に生じてもよい。
【０１９６】
402.第2のネットワークデバイスは、第1のネットワークデバイスにより送信された第1のグループのデータパケット内の冒頭のパケットを受信し、counter++を実行する。
【０１９７】
counterは、第2のネットワークデバイスによりカウントされた現在のアクティブフロー数である。具体的には、counterは、第2のネットワークデバイスが第1のネットワークデバイスにより送信された第1のグループのデータパケット内の冒頭のパケットを受信したとき、第2のネットワークデバイスによりカウントされた現在のアクティブデータフローの数である。
【０１９８】
ステップ402においてcounter++が実行された後に取得されたcounterは、第1のグループのデータパケット内の冒頭のパケットが受信されて現在のアクティブフロー数が更新された後のアクティブフロー数である。counter++が実行された後に取得されたcounterは、ステップ102において取得された第1のアクティブフロー数に対応する。
【０１９９】
403.第2のネットワークデバイスは、第1のグループのデータパケット内の末尾のパケットを受信し、第1のグループのデータパケット内の外部輻輳通知ECN識別子を搬送するデータパケットの数に基づいて第1の輻輳値を決定する。
【０２００】
404.第1の輻輳値が輻輳閾値よりも大きいか否かを決定する。
【０２０１】
第1の輻輳値が輻輳閾値以下であるとき、これは、ネットワークの輻輳度が比較的低いことを示す。この場合、現在のアクティブフロー数は1だけ減少する必要があり、すなわち、ステップ405が実行される。第1の輻輳値が輻輳閾値以上であるとき、これは、ネットワーク輻輳が深刻であることを示す。この場合、現在のアクティブフロー数は変更せずに保持される必要が有り、すなわち、ステップ406が実行される。
【０２０２】
405.counter--を実行する。
【０２０３】
ステップ405において、couner--を実行することにより取得されたcounterは、上記の第2のアクティブフロー数に対応する。
【０２０４】
406.counterを変更せずに保持する。
【０２０５】
ステップ406において、counterは、上記の第1のアクティブフロー数に対応する。
【０２０６】
407.第2のネットワークデバイスは、第1のネットワークデバイスにより送信された第2のグループのデータパケット内の冒頭のパケットを受信し、counter++を実行する。
【０２０７】
ステップ407においてcounter++が実行された後に取得されたcounterは、上記の第4のアクティブフロー数に対応する。
【０２０８】
408.第2のネットワークデバイスは、第2のグループのデータパケット内の末尾のパケットを受信し、第1のグループのデータパケット内のECN識別子を搬送するデータパケットの数及び第2のグループのデータパケット内のECN識別子を搬送するデータパケットの数に基づいて第2の輻輳値を決定する。
【０２０９】
409.第2の輻輳値が輻輳閾値よりも大きいか否かを決定する。
【０２１０】
第2の輻輳値が輻輳閾値以下であるとき、これは、ネットワークの輻輳度が比較的低いことを示す。この場合、現在のアクティブフロー数が1だけ減少する必要があり、すなわち、ステップ210が実行される。第2の輻輳値が輻輳閾値以上であるとき、これは、ネットワーク輻輳が深刻であることを示す。この場合、現在のアクティブフロー数が変更せずに保持される必要があり、すなわち、ステップ411が実行される。
【０２１１】
410.counter--を実行する。
【０２１２】
ステップ410において、counter--を実行することにより取得されたcounterは、上記の第5のアクティブフロー数に対応する。
【０２１３】
411.counterを変更せずに保持する。
【０２１４】
ステップ406において、counterは、上記の第4のアクティブフロー数に対応する。
【０２１５】
図５に示すプロセスのステップ401〜ステップ411において、counterは現在のアクティブフロー数を示し、現在のアクティブフロー数をリアルタイムにカウントするために、加算演算又は減算演算が異なる動作ステップを通じてcounterに対して実行される必要があるか、或いは、counterは変更せずに保持されることが理解されるべきである。
【０２１６】
この出願の実施形態による輻輳制御方法について、図１〜図５を参照して上記に詳細に説明した。この出願の実施形態によるネットワークデバイスについて、図６〜図８を参照して以下に詳細に説明する。図６〜図８に示すネットワークデバイスは、この出願の実施形態による輻輳制御方法を実行できることが理解されるべきである(図６に示すネットワークデバイス500は、上記の第1のネットワークデバイスに対応し、ネットワークデバイス500は、上記の第1のネットワークデバイスにより実行されるステップを実行でき、図７に示すネットワークデバイス600は、上記の第2のネットワークデバイスに対応し、ネットワークデバイス600は、上記の第2のネットワークデバイスにより実行されるステップを実行できる)。簡潔にするために、図６〜図８に示すネットワークデバイスについて説明するとき、繰り返しの説明が適宜省略される。
【０２１７】
図６は、この出願の実施形態によるネットワークデバイスの概略ブロック図である。図６におけるネットワークデバイス500は、
第2のネットワークデバイスにより送信された第1のメッセージを受信するように構成された受信モジュール501であり、第1のメッセージは、アクティブフロー数を搬送し、アクティブフロー数は、第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて第2のネットワークデバイスにより決定される、受信モジュール501と、
アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するように構成された処理モジュール502であり、パケット送信制御情報は、第1のネットワークデバイスがパケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するとき、第2のネットワークデバイスの実際の受信帯域幅が定格受信帯域幅に達することを示す、処理モジュール502と、
パケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するように構成された送信モジュール503と
を含む。
【０２１８】
任意選択で、実施形態では、処理モジュール502は、アクティブフロー数が第1の閾値未満であるとき、以下の式
【数１５】
2021536196.tif 000017
に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するように構成され、
Cは第2のネットワークデバイスの定格受信帯域幅であり、active_qpはアクティブフロー数であり、Tは第1のネットワークデバイスにより送信されたデータフローのデータパケットが第2のネットワークデバイスに到着するのに必要な時間であり、VはT内に第1のネットワークデバイスにより第2のネットワークデバイスに送信されるデータフローのデータボリュームである。
【０２１９】
送信モジュール503は、T内にデータフロー内のデータボリュームVを有するデータパケットを第2のネットワークデバイスに送信するように構成される。
【０２２０】
任意選択で、実施形態では、処理モジュール502は、アクティブフロー数が第1の閾値以上であるとき、以下の式
【数１６】
2021536196.tif 000018
に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するように構成され、
1pktは単一のデータパケットの長さであり、active_qpはアクティブフローであり、Cは第2のネットワークデバイスの定格受信帯域幅であり、「interval」は第1のネットワークデバイスがデータフローを送信するときの隣接するデータパケットの間の時間間隔である。
【０２２１】
送信モジュール503は、「interval」により示される時間間隔に基づいてデータフロー内のデータパケットを第2のネットワークデバイスに送信するように構成される。
【０２２２】
任意選択で、実施形態では、処理モジュール502は、アクティブフロー数、第2のネットワークデバイスの定格受信帯域幅及びデータフローの属性情報に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するように構成され、データフローの属性情報は、データフローのアプリケーション情報及びデータフローのデータボリューム情報のうち少なくとも1つを含み、データフローのアプリケーション情報は、データフローのデータパケットが属するサービスタイプを示すために使用され、データフローのデータボリューム情報は、第1のデータフローに属し且つ予め設定された時間内に第1のネットワークデバイスにより送信されるデータパケットのデータボリュームを示すために使用される。
【０２２３】
任意選択で、実施形態では、処理モジュール502は、アクティブフロー数が第1の閾値未満であるとき、以下の式
【数１７】
2021536196.tif 000019
に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するように構成され、
Cは第2のネットワークデバイスの定格受信帯域幅であり、active_qpはアクティブフロー数であり、Tは第1のネットワークデバイスにより送信されたデータパケットが第2のネットワークデバイスに到着するのに必要な時間であり、wはデータフローの重みであり、wはデータフローの属性情報に基づいて決定され、VはT内に第1のネットワークデバイスにより第2のネットワークデバイスに送信されるデータフローのデータボリュームである。
【０２２４】
送信モジュール503は、T内にデータフロー内のデータボリュームVを有するデータパケットを第2のネットワークデバイスに送信するように構成される。
【０２２５】
任意選択で、実施形態では、処理モジュール502は、アクティブフロー数が第1の閾値以上であるとき、以下の式
【数１８】
2021536196.tif 000020
に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するように構成され、
1pktは単一のデータパケットの長さであり、active_qpはアクティブフロー数であり、wはデータフローの重みであり、wはデータフローの属性情報に基づいて決定され、Cは第2のネットワークデバイスの定格受信帯域幅であり、「interval」は第1のネットワークデバイスがデータフローを送信するときの隣接するデータパケットの間の時間間隔である。
【０２２６】
送信モジュール503は、「interval」により示される時間間隔に基づいてデータフロー内のデータパケットを第2のネットワークデバイスに送信するように構成される。
【０２２７】
図７は、この出願の実施形態によるネットワークデバイスの概略ブロック図である。図７のネットワークデバイス600は、
第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、アクティブフロー数を決定するように構成された処理モジュール601と、
第1のメッセージを第1のネットワークデバイスに送信するように構成された送信モジュール602であり、第1のメッセージは、アクティブフロー数を搬送し、アクティブフロー数は、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するために第1のネットワークにより使用され、パケット送信制御情報は、第1のネットワークデバイスがパケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するとき、第2のネットワークデバイスの実際の受信帯域幅が第2のネットワークデバイスの定格受信帯域幅に達することを示す、送信モジュール602と、
定格受信帯域幅に基づいて、第1のネットワークデバイスにより送信されたデータフローを受信するように構成された受信モジュール603と
を含む。
【０２２８】
任意選択で、実施形態では、受信モジュール603は、第1のネットワークデバイスにより送信された第1のグループのデータパケット内の冒頭のパケットを受信するように構成され、処理モジュール601は、第1のアクティブフロー数を取得するために、現在のアクティブフロー数を1だけ増加させるように構成され、受信モジュール603は、第1のネットワークデバイスにより送信された第1のグループのデータパケット内の末尾のパケットを受信するように構成され、処理モジュール601は、第1のグループのデータパケット内の外部輻輳通知ECN識別子を搬送するデータパケットの数に基づいて第1の輻輳値を決定するように構成され、第1の輻輳値が輻輳閾値未満であるとき、第2のネットワークデバイスは、第2のアクティブフロー数を取得するために、第1のアクティブフロー数を1だけ減少させ、第1の輻輳値が輻輳閾値以上であるとき、第2のネットワークデバイスは、第1のアクティブフロー数を変更せずに保持する。
【０２２９】
任意選択で、実施形態では、処理モジュール601は、第1のグループのデータパケット内のデータパケットの数に対する第1のグループのデータパケット内のECN識別子を搬送するデータパケットの数の比を、第1の輻輳値として決定するように構成される。
【０２３０】
任意選択では、実施形態では、受信モジュール603が第1のネットワークデバイスにより送信された第1のグループのデータパケット内の末尾のパケットを受信した後に、受信モジュール603は、第1のネットワークデバイスにより送信された第2のグループのデータパケット内の冒頭のパケットを受信するように更に構成される。処理モジュール601は、第4のアクティブフロー数を取得するために、第3のアクティブフロー数を1だけ増加させるように構成され、第2のグループのデータパケット及び第1のグループのデータパケットは、同じデータフローに属し、第1の輻輳値が輻輳閾値未満であるとき、第3のアクティブフロー数は、第2のアクティブフロー数に等しく、第1の輻輳値が輻輳閾値以上であるとき、第3のアクティブフロー数は、第1のアクティブフロー数に等しい。
【０２３１】
受信モジュール603は、第1のネットワークデバイスにより送信された第2のグループのデータパケット内の末尾のパケットを受信するように構成される。処理モジュール601は、第2のグループのデータパケット内のECN識別子を搬送するデータパケットの数及び第1の輻輳値に基づいて、ネットワークの第2の輻輳値を決定するように更に構成され、第2の輻輳値が輻輳閾値未満であるとき、第2のネットワークデバイスは、第5のアクティブフロー数を取得するために、第4のアクティブフロー数を1だけ減少させ、第2の輻輳値が輻輳閾値以上であるとき、第2のネットワークデバイスは、第4のアクティブフロー数を変更せずに保持する。
【０２３２】
任意選択で、実施形態では、処理モジュール601は、第2のグループのデータパケット内のECN識別子を搬送するデータパケットの数に基づいて、ネットワークの第3の輻輳値を決定し、式con2=x1*con3+x2*con1に基づいて、第2の輻輳値を決定するように構成され、con3は第3の輻輳値であり、con1は第1の輻輳値であり、con2は第2の輻輳値であり、x1は予め設定された第1の重みであり、x2は予め設定された第2の重みである。
【０２３３】
図８は、この出願の実施形態によるネットワークデバイスの概略ブロック図である。
【０２３４】
図８におけるネットワークデバイス700は、メモリ701と、トランシーバ702と、プロセッサ703とを含む。プロセッサ703は、中央処理装置(central  processing  unit,  CPU)、汎用プロセッサ、デジタルシグナルプロセッサ(digital  signal  processing,  DSP)、特定用途向け集積回路(application-specific  integrated  circuit,  ASIC)、フィールドプログラマブルゲートアレイ(field  programmable  gate  array,  FPGA)若しくは他のプログラム可能論理デバイス、トランジスタ論理デバイス、ハードウェアコンポーネント又はこれらのいずれかの組み合わせでもよい。メモリ701は、プログラムを記憶するように構成され、プロセッサ703は、メモリ701に記憶されたプログラムを実行してもよい。メモリ701に記憶されたプログラムがプロセッサ703により実行されたとき、プロセッサ703は、この出願の実施形態による輻輳制御方法を実行するように構成される。具体的には、トランシーバ702及びプロセッサ703は、第1のネットワークデバイス又は第2のネットワークデバイスにより実行される上記のステップを実行するように構成されてもよい。
【０２３５】
当業者は、この明細書に開示された実施形態に記載の例と組み合わせて、ユニット及びアルゴリズムステップが電子ハードウェア又はコンピュータソフトウェアと電子ハードウェアとの組み合わせにより実現されてもよいことを認識し得る。機能がハードウェアにより実行されるかソフトウェアにより実行されるかは、技術的解決策の特定の用途及び設計制約条件に依存する。当業者は、特定の用途毎に、記載の機能を実現するために異なる方法を使用し得るが、実現方式がこの出願の範囲を超えるものと考えられるべきでない。
【０２３６】
便宜上で簡単な説明の目的で、上記のシステム、装置及びユニットの詳細な動作プロセスについては、上記の方法の実施形態における対応するプロセスを参照し、詳細は、ここでは再び説明しないことが、当業者により明確に理解され得る。
【０２３７】
この出願において提供されるいくつかの実施形態では、開示のシステム、装置及び方法は、他の方式で実現されてもよいことが理解されるべきである。例えば、記載の装置の実施形態は、単なる例である。例えば、ユニット分割は、単なる論理的な機能分割であり、実際の実現方式では他の分割でもよい。例えば、複数のユニット又はコンポーネントは結合されてもよく或いは他のシステムに統合されてもよく、或いは、いくつかの特徴は無視されてもよく或いは実行されなくてもよい。更に、表示又は議論された相互結合又は直接結合又は通信接続は、いくつかのインタフェースを使用することにより実現されてもよい。装置又はユニットの間の間接結合又は通信接続は、電子的、機械的或いは他の形式で実現されてもよい。
【０２３８】
別個の部分として記載されたユニットは、物理的に分離されてもよく或いは分離されなくてもよく、ユニットとして表示された部分は物理的なユニットでもよく或いは物理的なユニットでなくてもよく、1つの位置に配置されてもよく、或いは、複数のネットワークユニットに分散されてもよい。ユニットの一部又は全部は、実施形態の解決策の目的を達成するために、実際の要件に基づいて選択されてもよい。
【０２３９】
さらに、この出願の実施形態における機能ユニットは、1つの処理ユニットに統合されてもよく、或いは、ユニットのそれぞれが物理的に単独で存在してもよく、或いは、2つ以上のユニットが1つのユニットに統合される。
【０２４０】
機能がソフトウェア機能単位の形式で実現され、独立した製品として販売又は使用されるとき、機能は、コンピュータ読み取り可能記憶媒体に記憶されてもよい。このような理解に基づいて、この出願の技術的解決策は本質的に、或いは、従来技術に寄与する部分又は技術的解決策のいくつかは、ソフトウェア製品の形式で実現されてもよい。ソフトウェア製品は、記憶媒体に記憶され、コンピュータデバイス(パーソナルコンピュータ、サーバ又はネットワークデバイスでもよい)に対して、この出願の実施形態に記載の方法のステップの全部又は一部を実行するように命令するためのいくつかの命令を含む。上記の記憶媒体は、USBフラッシュドライブ、取り外し可能ハードディスク、読み取り専用メモリ(read-only  memory,  ROM)、ランダムアクセスメモリ(random  access  memory,  RAM)、磁気ディスク又は光ディスクのようなプログラムコードを記憶できるいずれかの媒体を含む。
【０２４１】
上記の説明は、この出願の単なる具体的な実現方式であり、この出願の保護範囲を限定することを意図するものではない。この出願に開示された技術的範囲内で、当業者により容易に理解される如何なる変更又は代替も、この出願の保護範囲に入るものとする。したがって、この出願の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
【図１】
2021536196.tif 000029
【図２】
2021536196.tif 000030
【図３】
2021536196.tif 000031
【図４】
2021536196.tif 000032
【図５】
2021536196.tif 000033
【図６】
2021536196.tif 000034
【図７】
2021536196.tif 000035
【図８】
2021536196.tif 000036
【手続補正書】
【提出日】令和3年3月9日(2021.3.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
輻輳制御方法であり、当該方法はデータセンターネットワークに適用され、前記データセンターネットワークは、第1のネットワークデバイスと、第2のネットワークデバイスとを含み、前記第1のネットワークデバイスは、データフローを前記第2のネットワークデバイスに送信するように構成される、方法であって、
前記第1のネットワークデバイスにより、前記第2のネットワークデバイスにより送信された第1のメッセージを受信するステップであり、前記第1のメッセージは、アクティブフロー数を搬送し、前記アクティブフロー数は、前記第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて前記第2のネットワークデバイスにより決定された数である、ステップと、
前記第1のネットワークデバイスにより、前記アクティブフロー数及び前記第2のネットワークデバイスの定格受信帯域幅に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するステップであり、前記パケット送信制御情報は、前記第1のネットワークデバイスが前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するとき、前記第2のネットワークデバイスの実際の受信帯域幅が前記定格受信帯域幅に達することを示す、ステップと、
前記第1のネットワークデバイスにより、前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するステップと
を含む方法。
【請求項２】
前記第1のネットワークデバイスにより、前記アクティブフロー数及び前記第2のネットワークデバイスの定格受信帯域幅に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するステップは、
前記アクティブフロー数が第1の閾値未満であるとき、前記第1のネットワークデバイスにより、以下の式
【数１９】
2021536196.tif 000037
に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するステップであり、
Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、active_qpは前記アクティブフロー数であり、Tは前記ネットワークがアイドルであるときに前記第1のネットワークデバイスにより前記第2のネットワークデバイスに送信されたデータパケットが前記第2のネットワークデバイスに到着するのに必要な時間であり、VはT内に前記第1のネットワークデバイスにより前記第2のネットワークデバイスに送信される前記データフローのデータボリュームである、ステップを含み、
前記第1のネットワークデバイスにより、前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するステップは、
前記第1のネットワークデバイスにより、T内に前記データフロー内のデータボリュームVを有するデータパケットを前記第2のネットワークデバイスに送信するステップを含む、請求項１に記載の方法。
【請求項３】
前記第1のネットワークデバイスにより、前記アクティブフロー数及び前記第2のネットワークデバイスの定格受信帯域幅に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するステップは、
前記アクティブフロー数が前記第1の閾値以上であるとき、前記第1のネットワークデバイスにより、以下の式
【数２０】
2021536196.tif 000038
に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するステップであり、
1pktは単一のデータパケットの長さであり、active_qpは前記アクティブフロー数であり、Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、「interval」は前記第1のネットワークデバイスが前記データフローを送信するときの隣接するデータパケットの間の時間間隔である、ステップを含み、
前記第1のネットワークデバイスにより、前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するステップは、
前記第1のネットワークデバイスにより、「interval」により示される前記時間間隔に基づいて前記データフロー内の前記データパケットを前記第2のネットワークデバイスに送信するステップを含む、請求項１又は２に記載の方法。
【請求項４】
前記第1のネットワークデバイスにより、前記アクティブフロー数及び前記第2のネットワークデバイスの定格受信帯域幅に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するステップは、
前記第1のネットワークデバイスにより、前記アクティブフロー数、前記第2のネットワークデバイスの前記定格受信帯域幅及び前記データフローの属性情報に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するステップを含み、
前記データフローの前記属性情報は、前記データフローのアプリケーション情報及び前記データフローのデータボリューム情報のうち少なくとも1つを含み、前記データフローの前記アプリケーション情報は、前記データフローのデータパケットが属するサービスタイプを示すために使用され、前記データフローの前記データボリューム情報は、第1のデータフローに属し且つ予め設定された時間内に前記第1のネットワークデバイスにより送信されるデータパケットのデータボリュームを示すために使用される、請求項１に記載の方法。
【請求項５】
前記第1のネットワークデバイスにより、前記アクティブフロー数、前記第2のネットワークデバイスの前記定格受信帯域幅及び前記データフローの属性情報に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するステップは、
前記アクティブフロー数が第1の閾値未満であるとき、前記第1のネットワークデバイスにより、以下の式
【数２１】
2021536196.tif 000039
に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するステップであり、
Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、active_qpは前記アクティブフロー数であり、Tは前記ネットワークがアイドルであるときに前記第1のネットワークデバイスにより前記第2のネットワークデバイスに送信されたデータパケットが前記第2のネットワークデバイスに到着するのに必要な時間であり、wは前記データフローの重みであり、wは前記データフローの前記属性情報に基づいて決定され、VはT内に前記第1のネットワークデバイスにより前記第2のネットワークデバイスに送信される前記データフローのデータボリュームである、ステップを含み、
前記第1のネットワークデバイスにより、前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するステップは、
前記第1のネットワークデバイスにより、T内に前記データフロー内のデータボリュームVを有するデータパケットを前記第2のネットワークデバイスに送信するステップを含む、請求項４に記載の方法。
【請求項６】
前記第1のネットワークデバイスにより、前記アクティブフロー数、前記第2のネットワークデバイスの前記定格受信帯域幅及び前記データフローの属性情報に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するステップは、
前記アクティブフロー数が前記第1の閾値以上であるとき、前記第1のネットワークデバイスにより、以下の式
【数２２】
2021536196.tif 000040
に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するステップであり、
1pktは単一のデータパケットの長さであり、active_qpは前記アクティブフロー数であり、wは前記データフローの重みであり、wは前記データフローの前記属性情報に基づいて決定され、Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、「interval」は前記第1のネットワークデバイスが前記データフローを送信するときの隣接するデータパケットの間の時間間隔である、ステップを含み、
前記第1のネットワークデバイスにより、前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するステップは、
前記第1のネットワークデバイスにより、「interval」により示される前記時間間隔に基づいて前記データフロー内の前記データパケットを前記第2のネットワークデバイスに送信するステップを含む、請求項４又は５に記載の方法。
【請求項７】
輻輳制御方法であり、当該方法はデータセンターネットワークに適用され、前記データセンターネットワークは、第1のネットワークデバイスと、第2のネットワークデバイスとを含み、前記第2のネットワークデバイスは、前記第1のネットワークデバイスにより送信されたデータフローを受信するように構成される、方法であって、
前記第2のネットワークデバイスにより、前記第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、アクティブフロー数を決定するステップと、
前記第2のネットワークデバイスにより、第1のメッセージを前記第1のネットワークデバイスに送信するステップであり、前記第1のメッセージは、前記アクティブフロー数を搬送し、前記アクティブフロー数は、前記データフローを前記第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するために前記第1のネットワークデバイスにより使用され、前記パケット送信制御情報は、前記第1のネットワークデバイスが前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するとき、前記第2のネットワークデバイスの実際の受信帯域幅が前記第2のネットワークデバイスの定格受信帯域幅に達することを示す、ステップと、
前記第2のネットワークデバイスにより、前記定格受信帯域幅に基づいて、前記第1のネットワークデバイスにより送信された前記データフローを受信するステップと
を含む方法。
【請求項８】
前記第2のネットワークデバイスにより、前記第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、アクティブフロー数を決定するステップは、
前記第2のネットワークデバイスにより、前記第1のネットワークデバイスにより送信された第1のグループのデータパケット内の冒頭のパケットを受信し、第1のアクティブフロー数を取得するために、現在のアクティブフロー数を1だけ増加させるステップと、
前記第2のネットワークデバイスにより、前記第1のネットワークデバイスにより送信された前記第1のグループのデータパケット内の末尾のパケットを受信し、前記第1のグループのデータパケット内の外部輻輳通知ECN識別子を搬送するデータパケットの数に基づいて第1の輻輳値を決定するステップと、
前記第1の輻輳値が輻輳閾値未満であるとき、前記第2のネットワークデバイスにより、第2のアクティブフロー数を取得するために、前記第1のアクティブフロー数を1だけ減少させるステップ、又は
前記第1の輻輳値が輻輳閾値以上であるとき、前記第2のネットワークデバイスにより、前記第1のアクティブフロー数を変更せずに保持するステップと
を含む、請求項７に記載の方法。
【請求項９】
前記第1のグループのデータパケット内のECN識別子を搬送するデータパケットの数に基づいて第1の輻輳値を決定するステップは、
前記第1のグループのデータパケット内のデータパケットの数に対する前記第1のグループのデータパケット内の前記ECN識別子を搬送するデータパケットの前記数の比を、前記第1の輻輳値として決定するステップを含む、請求項８に記載の方法。
【請求項１０】
前記第2のネットワークデバイスにより、前記第1のネットワークデバイスにより送信された前記第1のグループのデータパケット内の前記末尾のパケットを受信した後に、当該方法は、
前記第2のネットワークデバイスにより、前記第1のネットワークデバイスにより送信された第2のグループのデータパケット内の冒頭のパケットを受信し、第4のアクティブフロー数を取得するために、第3のアクティブフロー数を1だけ増加させるステップであり、前記第2のグループのデータパケット及び前記第1のグループのデータパケットは、同じデータフローに属し、前記第3のアクティブフロー数は、前記第1の輻輳値が前記輻輳閾値未満であるとき、前記第2のアクティブフロー数に等しく、前記第3のアクティブフロー数は、前記第1の輻輳値が前記輻輳閾値以上であるとき、前記第1のアクティブフロー数に等しい、ステップと、
前記第2のネットワークデバイスにより、前記第1のネットワークデバイスにより送信された前記第2のグループのデータパケット内の末尾のパケットを受信し、前記第2のグループのデータパケット内の前記ECN識別子を搬送するデータパケットの数及び前記第1の輻輳値に基づいて、前記ネットワークの第2の輻輳値を決定するステップと、
前記第2の輻輳値が前記輻輳閾値未満であるとき、前記第2のネットワークデバイスにより、第5のアクティブフロー数を取得するために、前記第4のアクティブフロー数を1だけ減少させるステップ、又は
前記第2の輻輳値が前記輻輳閾値以上であるとき、前記第2のネットワークデバイスにより、前記第4のアクティブフロー数を変更せずに保持するステップと
を更に含む、請求項８又は９に記載の方法。
【請求項１１】
前記第2のグループのデータパケット内の前記ECN識別子を搬送するデータパケットの数及び前記第1の輻輳値に基づいて、前記ネットワークの第2の輻輳値を決定するステップは、
前記第2のグループのデータパケット内の前記ECN識別子を搬送するデータパケットの前記数に基づいて、前記ネットワークの第3の輻輳値を決定するステップと、
式con2=x1*con3+x2*con1に基づいて、前記第2の輻輳値を決定するステップであり、con3は前記第3の輻輳値であり、con1は前記第1の輻輳値であり、con2は前記第2の輻輳値であり、x1は予め設定された第1の重みであり、x2は予め設定された第2の重みである、ステップと
を含む、請求項１０に記載の方法。
【請求項１２】
第1のネットワークデバイスであって、
第2のネットワークデバイスにより送信された第1のメッセージを受信するように構成された受信モジュールであり、前記第1のメッセージは、アクティブフロー数を搬送し、前記アクティブフロー数は、当該第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて前記第2のネットワークデバイスにより決定された数である、受信モジュールと、
前記アクティブフロー数及び前記第2のネットワークデバイスの定格受信帯域幅に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するように構成された処理モジュールであり、前記パケット送信制御情報は、当該第1のネットワークデバイスが前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するとき、前記第2のネットワークデバイスの実際の受信帯域幅が前記定格受信帯域幅に達することを示す、処理モジュールと、
前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するように構成された送信モジュールと
を含む第1のネットワークデバイス。
【請求項１３】
前記処理モジュールは、
前記アクティブフロー数が第1の閾値未満であるとき、以下の式
【数２３】
2021536196.tif 000041
に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するように構成され、
Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、active_qpは前記アクティブフロー数であり、Tは前記ネットワークがアイドルであるときに当該第1のネットワークデバイスにより前記第2のネットワークデバイスに送信されたデータパケットが前記第2のネットワークデバイスに到着するのに必要な時間であり、VはT内に当該第1のネットワークデバイスにより前記第2のネットワークデバイスに送信される前記データフローのデータボリュームであり、
前記送信モジュールは、T内に前記データフロー内のデータボリュームVを有するデータパケットを前記第2のネットワークデバイスに送信するように構成される、請求項１２に記載の第1のネットワークデバイス。
【請求項１４】
前記処理モジュールは、
前記アクティブフロー数が前記第1の閾値以上であるとき、以下の式
【数２４】
2021536196.tif 000042
に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するように構成され、
1pktは単一のデータパケットの長さであり、active_qpは前記アクティブフロー数であり、Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、「interval」は当該第1のネットワークデバイスが前記データフローを送信するときの隣接するデータパケットの間の時間間隔であり、
前記送信モジュールは、「interval」により示される前記時間間隔に基づいて前記データフロー内の前記データパケットを前記第2のネットワークデバイスに送信するように構成される、請求項１２又は１３に記載の第1のネットワークデバイス。
【請求項１５】
前記処理モジュールは、前記アクティブフロー数、前記第2のネットワークデバイスの前記定格受信帯域幅及び前記データフローの属性情報に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するように構成され、
前記データフローの前記属性情報は、前記データフローのアプリケーション情報及び前記データフローのデータボリューム情報のうち少なくとも1つを含み、前記データフローの前記アプリケーション情報は、前記データフローのデータパケットが属するサービスタイプを示すために使用され、前記データフローの前記データボリューム情報は、第1のデータフローに属し且つ予め設定された時間内に当該第1のネットワークデバイスにより送信されるデータパケットのデータボリュームを示すために使用される、請求項１２に記載の第1のネットワークデバイス。
【請求項１６】
前記処理モジュールは、
前記アクティブフロー数が第1の閾値未満であるとき、以下の式
【数２５】
2021536196.tif 000043
に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するように構成され、
Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、active_qpは前記アクティブフロー数であり、Tは前記ネットワークがアイドルであるときに当該第1のネットワークデバイスにより前記第2のネットワークデバイスに送信されたデータパケットが前記第2のネットワークデバイスに到着するのに必要な時間であり、wは前記データフローの重みであり、wは前記データフローの前記属性情報に基づいて決定され、VはT内に当該第1のネットワークデバイスにより前記第2のネットワークデバイスに送信される前記データフローのデータボリュームであり、
前記送信モジュールは、T内に前記データフロー内のデータボリュームVを有するデータパケットを前記第2のネットワークデバイスに送信するように構成される、請求項１５に記載の第1のネットワークデバイス。
【請求項１７】
前記処理モジュールは、
前記アクティブフロー数が前記第1の閾値以上であるとき、以下の式
【数２６】
2021536196.tif 000044
に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するように構成され、
1pktは単一のデータパケットの長さであり、active_qpは前記アクティブフロー数であり、wは前記データフローの重みであり、wは前記データフローの前記属性情報に基づいて決定され、Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、「interval」は当該第1のネットワークデバイスが前記データフローを送信するときの隣接するデータパケットの間の時間間隔であり、
前記送信モジュールは、「interval」により示される前記時間間隔に基づいて前記データフロー内の前記データパケットを前記第2のネットワークデバイスに送信するように構成される、請求項１５又は１６に記載の第1のネットワークデバイス。
【請求項１８】
第2のネットワークデバイスであって、
第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、アクティブフロー数を決定するように構成された処理モジュールと、
第1のメッセージを前記第1のネットワークデバイスに送信するように構成された送信モジュールであり、前記第1のメッセージは、前記アクティブフロー数を搬送し、前記アクティブフロー数は、前記データフローを当該第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するために前記第1のネットワークデバイスにより使用され、前記パケット送信制御情報は、前記第1のネットワークデバイスが前記パケット送信制御情報に基づいて前記データフローを当該第2のネットワークデバイスに送信するとき、当該第2のネットワークデバイスの実際の受信帯域幅が当該第2のネットワークデバイスの定格受信帯域幅に達することを示す、送信モジュールと、
前記定格受信帯域幅に基づいて、前記第1のネットワークデバイスにより送信された前記データフローを受信するように構成された受信モジュールと
を含む第2のネットワークデバイス。
【請求項１９】
前記受信モジュールは、前記第1のネットワークデバイスにより送信された第1のグループのデータパケット内の冒頭のパケットを受信するように構成され、
前記処理モジュールは、第1のアクティブフロー数を取得するために、現在のアクティブフロー数を1だけ増加させるように構成され、
前記受信モジュールは、前記第1のネットワークデバイスにより送信された前記第1のグループのデータパケット内の末尾のパケットを受信するように構成され、
前記処理モジュールは、
前記第1のグループのデータパケット内の外部輻輳通知ECN識別子を搬送するデータパケットの数に基づいて第1の輻輳値を決定し、
前記第1の輻輳値が輻輳閾値未満であるとき、第2のアクティブフロー数を取得するために、前記第1のアクティブフロー数を1だけ減少させ、或いは
前記第1の輻輳値が輻輳閾値以上であるとき、前記第1のアクティブフロー数を変更せずに保持するように構成される、請求項１８に記載の第2のネットワークデバイス。
【請求項２０】
前記処理モジュールは、前記第1のグループのデータパケット内のデータパケットの数に対する前記第1のグループのデータパケット内の前記ECN識別子を搬送するデータパケットの前記数の比を、前記第1の輻輳値として決定するように構成される、請求項１９に記載の第2のネットワークデバイス。
【請求項２１】
前記受信モジュールが前記第1のネットワークデバイスにより送信された前記第1のグループのデータパケット内の前記末尾のパケットを受信した後に、前記受信モジュールは、前記第1のネットワークデバイスにより送信された第2のグループのデータパケット内の冒頭のパケットを受信するように更に構成され、
前記処理モジュールは、第4のアクティブフロー数を取得するために、第3のアクティブフロー数を1だけ増加させるように構成され、前記第2のグループのデータパケット及び前記第1のグループのデータパケットは、同じデータフローに属し、前記第3のアクティブフロー数は、前記第1の輻輳値が前記輻輳閾値未満であるとき、前記第2のアクティブフロー数に等しく、前記第3のアクティブフロー数は、前記第1の輻輳値が前記輻輳閾値以上であるとき、前記第1のアクティブフロー数に等しく、
前記受信モジュールは、前記第1のネットワークデバイスにより送信された前記第2のグループのデータパケット内の末尾のパケットを受信するように構成され、
前記処理モジュールは、
前記第2のグループのデータパケット内の前記ECN識別子を搬送するデータパケットの数及び前記第1の輻輳値に基づいて、前記ネットワークの第2の輻輳値を決定し、
前記第2の輻輳値が前記輻輳閾値未満であるとき、第5のアクティブフロー数を取得するために、前記第4のアクティブフロー数を1だけ減少させ、或いは
前記第2の輻輳値が前記輻輳閾値以上であるとき、前記第4のアクティブフロー数を変更せずに保持するように更に構成される、請求項１９又は２０に記載の第2のネットワークデバイス。
【請求項２２】
前記処理モジュールは、
前記第2のグループのデータパケット内の前記ECN識別子を搬送するデータパケットの前記数に基づいて、前記ネットワークの第3の輻輳値を決定し、
式con2=x1*con3+x2*con1に基づいて、前記第2の輻輳値を決定するように構成され、con3は前記第3の輻輳値であり、con1は前記第1の輻輳値であり、con2は前記第2の輻輳値であり、x1は予め設定された第1の重みであり、x2は予め設定された第2の重みである、請求項２１に記載の第2のネットワークデバイス。
【請求項２３】
第1のネットワークデバイスであって、
プログラムを記憶するように構成されたメモリと、
前記メモリに記憶された前記プログラムを実行するように構成されたプロセッサであり、前記メモリに記憶された前記プログラムが実行されたとき、当該第1のネットワークデバイスは、請求項１乃至６のうちいずれか１項に記載の方法を実行するように構成される、プロセッサと
を含む第1のネットワークデバイス。
【請求項２４】
第2のネットワークデバイスであって、
プログラムを記憶するように構成されたメモリと、
前記メモリに記憶された前記プログラムを実行するように構成されたプロセッサであり、前記メモリに記憶された前記プログラムが実行されたとき、当該第2のネットワークデバイスは、請求項７乃至１１のうちいずれか１項に記載の方法を実行するように構成される、プロセッサと
を含む第2のネットワークデバイス。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
第1の態様を参照して、第1の態様のいくつかの実現方式では、第1のネットワークデバイスが、アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定することは、以下を含む。第1のネットワークデバイスは、アクティブフロー数、第2のネットワークデバイスの定格受信帯域幅及びデータフローの属性情報に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定し、データフローの属性情報は、データフローのアプリケーション情報及びデータフローのデータボリューム情報のうち少なくとも1つを含み、データフローのアプリケーション情報は、データフローのデータパケットが属するサービスタイプを示すために使用され、データフローのデータボリューム情報は、データフローに属し且つ予め設定された時間内に第1のネットワークデバイスにより送信されるデータパケットのデータボリュームを示すために使用される。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
第2の態様によれば、輻輳制御方法が提供され、当該方法はデータセンターネットワークに適用され、データセンターネットワークは、第1のネットワークデバイスと、第2のネットワークデバイスとを含み、第2のネットワークデバイスは、第1のネットワークデバイスにより送信されたデータフローを受信するように構成される。当該方法は以下を含む。第2のネットワークデバイスは、第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、アクティブフロー数を決定し、第2のネットワークデバイスは、第1のメッセージを第1のネットワークデバイスに送信し、第1のメッセージは、アクティブフロー数を搬送し、アクティブフロー数は、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するために第1のネットワークデバイスにより使用され、パケット送信制御情報は、第1のネットワークデバイスがパケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するとき、第2のネットワークデバイスの実際の受信帯域幅が第2のネットワークデバイスの定格受信帯域幅に達することを示し、第2のネットワークデバイスは、定格受信帯域幅に基づいて、第1のネットワークデバイスにより送信されたデータフローを受信する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
任意選択で、第1の輻輳値は、第2のネットワークデバイスが第1のネットワークデバイスにより送信されたデータパケットを受信したときの第1のネットワークデバイスの輻輳度を示すために使用される。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
より大きい第1の輻輳値は、第1のネットワークデバイスのより高い輻輳度を示すことが理解されるべきである。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
第1のグループのデータパケット内の末尾のパケットを受信した後に、第2のネットワークデバイスは、第1のグループのデータパケット内のECN識別子を搬送するデータパケットの数に基づいて、第1のアクティブフロー数を再び更新する必要がある。第1の輻輳値が輻輳閾値未満である場合、第1のグループのデータパケット内の末尾のパケットを受信した後に第2のネットワークデバイスによりカウントされたアクティブフロー数は第2のアクティブフロー数であり、第1の輻輳値が輻輳閾値以上である場合、第1のグループのデータパケット内の末尾のパケットを受信した後に第1のネットワークデバイスによりカウントされたアクティブフロー数は第1のアクティブフロー数である。すなわち、第1のグループのデータパケット内の末尾のパケットが受信された後に、カウントされたアクティブフロー数は、第1のアクティブフロー数(第1の輻輳値が輻輳閾値以上であるとき)又は第2のアクティブフロー数(第1の輻輳値が輻輳閾値未満であるとき)である。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００４７
【補正方法】変更
【補正の内容】
【００４７】
例えば、第1のグループのデータパケットは、合計で10個のデータパケット(冒頭のパケット及び末尾のパケットを含む)を含み、合計で5つのデータパケットがECN識別子を搬送し、その場合、計算を通じて、第1の輻輳値が0.5であると決定されてもよい。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００４８
【補正方法】変更
【補正の内容】
【００４８】
さらに、第1のグループのデータパケット内のデータパケットの総数に対する第1のグループのデータパケット内のECN識別子を搬送するデータパケットの総数の比が、代替として最初に取得されてもよく、次いで、比と補正係数との積が、第1の輻輳値として使用される。補正係数は、ネットワークの動作状態に基づいて設定された係数でもよい。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００７７
【補正方法】変更
【補正の内容】
【００７７】
方法1:第1のネットワークデバイスは、第2のネットワークデバイスの定格受信帯域を初期レートとして決定し、T内に定格受信帯域に基づいてデータフローを第2のネットワークデバイスに送信する。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００７８
【補正方法】変更
【補正の内容】
【００７８】
Tは、要求パケットが第1のネットワークデバイスから送信された時間から(要求パケットは、第2のネットワークデバイスに対して、第1のネットワークデバイスにより送信されたデータフローを受信するように要求するために使用される)、第1のネットワークデバイスが要求パケットに特有であり且つ第2のネットワークデバイスにより送信された応答パケットを受信する時間までの期間である。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００８２
【補正方法】変更
【補正の内容】
【００８２】
アプリケーション層における論理グループに基づいて、データパケット内の冒頭のパケット及び末尾のパケットを定義することに加えて、データパケットの冒頭のパケット及び末尾のパケットはまた、セグメント(segment)に基づいて直接定義できる。具体的には、初期レート又はアクティブフロー数に基づいてフィードバックされる或る期間内のデータパケットはグループにグループ化でき、セグメント内の最初のパケットは、冒頭のパケットと呼ばれ、セグメント内の最後のパケットは、末尾のパケットと呼ばれる。2つのフィールドがBTHの予備フィールド(rsvd7フィールド等)において定義されてもよく、各フィールドのフラグは1ビットを占有してもよい。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】０１１０
【補正方法】変更
【補正の内容】
【０１１０】
データフローの属性情報は、データフローのアプリケーション情報及びデータフローのデータボリューム情報のうち少なくとも1つを含み、データフローのアプリケーション情報は、データフローのデータパケットが属するサービスタイプを示すために使用され、データフローのデータボリューム情報は、データフローに属し且つ予め設定された時間内に第1のネットワークデバイスにより送信されるデータパケットのデータボリュームを示すために使用される。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】０１４１
【補正方法】変更
【補正の内容】
【０１４１】
アクティブフロー数は、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するために第1のネットワークデバイスにより使用され、パケット送信制御情報は、第1のネットワークデバイスがパケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するとき、第2のネットワークデバイスの実際の受信帯域幅が第2のネットワークデバイスの定格受信帯域幅に達することを示す。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】０１５４
【補正方法】変更
【補正の内容】
【０１５４】
データパケットはセグメントに基づいてグループ化されてもよい。具体的には、初期レート又はアクティブフロー数に基づいてフィードバックされる或る期間内の対応するデータパケットはグループにグループ化されてもよく、セグメント内の最初のパケットは、冒頭のパケットと呼ばれ、セグメント内の最後のパケットは、末尾のパケットと呼ばれる。2つのフィールドがBTHの予備フィールド(rsvd7フィールド等)において定義されてもよく、各フィールドのフラグは1ビットを占有してもよい。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】０１６５
【補正方法】変更
【補正の内容】
【０１６５】
任意選択で、ステップ304において、第1のアクティブフロー数は、第1のグループのデータパケット内のECN識別子を搬送するデータパケットの数に基づいて再び更新される必要がある。第1の輻輳値が輻輳閾値未満である場合、第1のグループのデータパケット内の末尾のパケットを受信した後に第2のネットワークデバイスによりカウントされたアクティブフロー数は第2のアクティブフロー数であり、第1の輻輳値が輻輳閾値以上である場合、第1のグループのデータパケット内の末尾のパケットを受信した後に第2のネットワークデバイスによりカウントされたアクティブフロー数は第1のアクティブフロー数である。すなわち、第1のグループのデータパケット内の末尾のパケットが受信された後に、カウントされたアクティブフロー数は、第1のアクティブフロー数(第1の輻輳値が輻輳閾値以上であるとき)又は第2のアクティブフロー数(第1の輻輳値が輻輳閾値未満であるとき)である。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】０１７３
【補正方法】変更
【補正の内容】
【０１７３】
任意選択で、ステップ302の前に、図４に示すプロセスは、第1のグループのデータパケットを含むデータフローが第1のデータフローであると決定し、第1のデータフローは、予め設定された時間内に第2のネットワークデバイスにより受信されたデータパケットの数が予め設定された数よりも大きいデータフローであることを更に含む。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】０２１０
【補正方法】変更
【補正の内容】
【０２１０】
第2の輻輳値が輻輳閾値以下であるとき、これは、ネットワークの輻輳度が比較的低いことを示す。この場合、現在のアクティブフロー数が1だけ減少する必要があり、すなわち、ステップ410が実行される。第2の輻輳値が輻輳閾値以上であるとき、これは、ネットワーク輻輳が深刻であることを示す。この場合、現在のアクティブフロー数が変更せずに保持される必要があり、すなわち、ステップ411が実行される。
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】０２１４
【補正方法】変更
【補正の内容】
【０２１４】
ステップ411において、counterは、上記の第4のアクティブフロー数に対応する。
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】０２２２
【補正方法】変更
【補正の内容】
【０２２２】
任意選択で、実施形態では、処理モジュール502は、アクティブフロー数、第2のネットワークデバイスの定格受信帯域幅及びデータフローの属性情報に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するように構成され、データフローの属性情報は、データフローのアプリケーション情報及びデータフローのデータボリューム情報のうち少なくとも1つを含み、データフローのアプリケーション情報は、データフローのデータパケットが属するサービスタイプを示すために使用され、データフローのデータボリューム情報は、データフローに属し且つ予め設定された時間内に第1のネットワークデバイスにより送信されるデータパケットのデータボリュームを示すために使用される。
【手続補正２０】
【補正対象書類名】明細書
【補正対象項目名】０２２７
【補正方法】変更
【補正の内容】
【０２２７】
図７は、この出願の実施形態によるネットワークデバイスの概略ブロック図である。図７のネットワークデバイス600は、
第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、アクティブフロー数を決定するように構成された処理モジュール601と、
第1のメッセージを第1のネットワークデバイスに送信するように構成された送信モジュール602であり、第1のメッセージは、アクティブフロー数を搬送し、アクティブフロー数は、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するために第1のネットワークデバイスにより使用され、パケット送信制御情報は、第1のネットワークデバイスがパケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するとき、第2のネットワークデバイスの実際の受信帯域幅が第2のネットワークデバイスの定格受信帯域幅に達することを示す、送信モジュール602と、
定格受信帯域幅に基づいて、第1のネットワークデバイスにより送信されたデータフローを受信するように構成された受信モジュール603と
を含む。
【国際調査報告】
2021536196.tif 000045
2021536196.tif 000046
2021536196.tif 000047
2021536196.tif 000048