(57)【特許請求の範囲】
【請求項１】
輻輳状態の変化を引き起こすパケットフローを検出するステップと、
輻輳分離メッセージを生成するステップであって、前記輻輳分離メッセージが、前記パケットフロー内のパケットの優先度を変更するために使用され、前記輻輳分離メッセージが、前記パケットフローの記述情報を含む、ステップと、
前記輻輳分離メッセージを少なくとも1つのノードに送信するステップと
を含み、
前記輻輳分離メッセージを少なくとも1つのノードに送信する前記ステップが、
前記パケットフローを送信する上流ノードに前記輻輳分離メッセージを送信するステップであって、前記輻輳分離メッセージが、前記パケットフロー内の前記パケットのスケジューリング優先度を下げるように前記ノードに命令すために特に使用される、ステップを含む、パケット制御方法。
【請求項２】
前記パケットフロー内の前記パケットの前記スケジューリング優先度を下げるステップ
をさらに含む、請求項1記載の方法。
【請求項３】
前記パケットフロー内の前記パケットの前記スケジューリング優先度を下げる前記ステップが、
前記パケットフロー内の前記パケットの優先度指示フィールドのコンテンツを変更するステップであって、変更後のコンテンツに対応するスケジューリング優先度が変更前の前記コンテンツに対応するスケジューリング優先度よりも低くなる、ステップ、または
低優先度の処理キューに入るように前記パケットフロー内の前記パケットを制御するステップであって、前記低優先度の処理キューのスケジューリング優先度が、前記パケットフロー内の前記パケットの優先度指示フィールドのコンテンツに対応するスケジューリング優先度よりも低い、ステップ
を含む、請求項2に記載の方法。
【請求項４】
前記パケットフローに対応し、かつフローテーブル内にあるエントリの輻輳マーク項目のコンテンツを第1のマークに設定するステップであって、前記輻輳マーク項目が、前記輻輳マーク項目が属するエントリに対応するパケットフローが輻輳フローであるかどうかを記録するために使用され、前記第1のマークが、前記輻輳マーク項目が属する前記エントリに対応する前記パケットフローが輻輳フローであることを示すために使用される、ステップ
をさらに含む、請求項1から3のいずれか一項に記載の方法。
【請求項５】
第1のパケットを受信するステップと、
第1のパケットフローに対応し、かつ前記フローテーブル内にあるエントリの輻輳マーク項目のコンテンツが前記第1のマークである場合に、前記第1のパケットの優先度が第2のパケットの優先度と異なるように、前記第1のパケットのスケジューリング優先度を変更するステップであって、前記第2のパケットおよび前記第1のパケットの両方が、前記第1のパケットフローに属し、前記第1のパケットが、前記輻輳マーク項目の前記コンテンツが前記第1のマークに設定された後に受信されるパケットであり、前記第2のパケットが、前記輻輳マーク項目の前記コンテンツが前記第1のマークに設定される前に受信されるパケットである、ステップと
をさらに含む、請求項4に記載の方法。
【請求項６】
前記エントリのタイムスタンプ項目によって記録された時点から始まる所定の期間内に前記パケットフロー内のパケットが受信されなかった場合に、前記輻輳マーク項目を第2のマークに設定するステップであって、前記第2のマークが、前記輻輳マーク項目が属する前記エントリに対応する前記パケットフローが非輻輳フローであることを示すために使用され、前記タイムスタンプ項目が、前記パケットフロー内のパケットが最後に受信された時点を記録するために使用される、ステップ
をさらに含む、請求項4に記載の方法。
【請求項７】
前記パケットフローに対応するエントリを輻輳フローフローテーブルに追加するステップ
をさらに含む、請求項1から3のいずれか一項に記載の方法。
【請求項８】
第3のパケットを受信するステップと、
第2のパケットフローに対応するエントリが前記輻輳フローフローテーブル内に存在する場合に、前記第3のパケットの優先度が第4のパケットの優先度と異なるように、前記第3のパケットのスケジューリング優先度を変更するステップであって、前記第4のパケットおよび前記第3のパケットの両方が、前記第2のパケットフローに属し、前記第3のパケットが、前記第2のパケットフローに対応する前記エントリが前記輻輳フローフローテーブルに追加された後に受信されるパケットであり、前記第4のパケットが、前記第2のパケットフローに対応する前記エントリが前記輻輳フローフローテーブルに追加される前に受信されるパケットである、ステップと
をさらに含む、請求項7に記載の方法。
【請求項９】
前記エントリのタイムスタンプ項目によって記録された時点から始まる所定の期間内に前記パケットフロー内のパケットが受信されなかった場合に、前記パケットフローに対応する前記エントリを削除するステップであって、前記タイムスタンプ項目が、前記パケットフロー内のパケットが最後に受信された時点を記録するために使用される、ステップ
をさらに含む、請求項7に記載の方法。
【請求項１０】
輻輳分離メッセージを受信するステップであって、前記輻輳分離メッセージが、記述情報を含む、ステップと、
前記記述情報によって示されるパケットフロー内のパケットの優先度を変更するステップと
を含み、
前記記述情報によって示されるパケットフロー内のパケットの優先度を変更する前記ステップが、
前記パケットフロー内の前記パケットのスケジューリング優先度を下げるステップ
を含み、
前記パケットフロー内の前記パケットのスケジューリング優先度を下げる前記ステップが、
前記パケットフロー内の前記パケットの優先度指示フィールドのコンテンツを変更するステップであって、変更後のコンテンツに対応するスケジューリング優先度が変更前の前記コンテンツに対応するスケジューリング優先度よりも低くなる、ステップ、または
低優先度の処理キューに入るように前記パケットフロー内の前記パケットを制御するステップであって、前記低優先度の処理キューのスケジューリング優先度が、前記パケットフロー内の前記パケットの優先度指示フィールドのコンテンツに対応するスケジューリング優先度よりも低い、ステップ
を含む、パケット制御方法。
【請求項１１】
輻輳分離メッセージを受信する前記ステップの後に、
前記パケットフローに対応し、かつフローテーブル内にあるエントリの輻輳マーク項目のコンテンツを第1のマークに設定するステップであって、前記輻輳マーク項目が、前記輻輳マーク項目が属するエントリに対応するパケットフローが輻輳フローであるかどうかを記録するために使用され、前記第1のマークが、前記輻輳マーク項目が属する前記エントリに対応する前記パケットフローが輻輳フローであることを示すために使用される、ステップ
をさらに含む、請求項10のいずれか一項に記載の方法。
【請求項１２】
第1のパケットを取得するステップと、
第1のパケットフローに対応し、かつ前記フローテーブル内にあるエントリの輻輳マーク項目のコンテンツが前記第1のマークである場合に、前記第1のパケットの優先度が第2のパケットの優先度と異なるように、前記第1のパケットのスケジューリング優先度を変更するステップであって、前記第2のパケットおよび前記第1のパケットの両方が、前記第1のパケットフローに属し、前記第1のパケットが、前記輻輳マーク項目の前記コンテンツが前記第1のマークに設定された後に取得されるパケットであり、前記第2のパケットが、前記輻輳マーク項目の前記コンテンツが前記第1のマークに設定される前に取得されるパケットである、ステップと
をさらに含む、請求項11に記載の方法。
【請求項１３】
前記エントリのタイムスタンプ項目によって記録された時点から始まる所定の期間内に前記パケットフロー内のパケットが受信されなかった場合に、前記輻輳マーク項目を第2のマークに設定するステップであって、前記第2のマークが、前記輻輳マーク項目が属する前記エントリに対応する前記パケットフローが非輻輳フローであることを示すために使用され、前記タイムスタンプ項目が、前記パケットフロー内のパケットが最後に受信された時点を記録するために使用される、ステップ
をさらに含む、請求項11に記載の方法。
【請求項１４】
輻輳分離メッセージを受信する前記ステップの後に、
前記パケットフローに対応するエントリを輻輳フローフローテーブルに追加するステップをさらに含む、請求項10のいずれか一項に記載の方法。
【請求項１５】
第3のパケットを取得するステップと、
第2のパケットフローに対応するエントリが前記輻輳フローフローテーブル内に存在する場合に、前記第3のパケットの優先度が第4のパケットの優先度と異なるように、前記第3のパケットのスケジューリング優先度を変更するステップであって、前記第4のパケットおよび前記第3のパケットの両方が、前記第2のパケットフローに属し、前記第3のパケットが、前記第2のパケットフローに対応する前記エントリが前記輻輳フローフローテーブルに追加された後に取得されるパケットであり、前記第4のパケットが、前記第2のパケットフローに対応する前記エントリが前記輻輳フローフローテーブルに追加される前に取得されるパケットである、ステップと
をさらに含む、請求項14に記載の方法。
【請求項１６】
前記エントリのタイムスタンプ項目によって記録された時点から始まる所定の期間内に前記パケットフロー内のパケットが受信されなかった場合に、前記パケットフローに対応する前記エントリを削除するステップであって、前記タイムスタンプ項目が、前記パケットフロー内のパケットが最後に受信された時点を記録するために使用される、ステップ
をさらに含む、請求項14に記載の方法。
【請求項１７】
輻輳状態の変化を引き起こすパケットフローを検出し、輻輳分離メッセージを生成するように構成された処理ユニットであって、前記輻輳分離メッセージが、前記パケットフロー内のパケットの優先度を変更するために使用され、前記輻輳分離メッセージが、前記パケットフローの記述情報を含む、処理ユニットと、
前記輻輳分離メッセージを少なくとも1つのノードに送信するように構成された送信ユニットと
を備え、
前記送信ユニットが、前記パケットフローを送信する上流ノードに前記輻輳分離メッセージを送信し、前記輻輳分離メッセージが、前記パケットフロー内の前記パケットのスケジューリング優先度を下げるように前記ノードに命令すために特に使用される、ように特に構成されている、ネットワークデバイス。
【請求項１８】
前記処理ユニットが、前記パケットフロー内の前記パケットの前記スケジューリング優先度を下げるようにさらに構成されている、
請求項17に記載のデバイス。
【請求項１９】
前記処理ユニットが、前記パケットフロー内の前記パケットの優先度指示フィールドのコンテンツを変更し、変更後のコンテンツに対応するスケジューリング優先度が変更前の前記コンテンツに対応するスケジューリング優先度よりも低くなる、ように、または低優先度の処理キューに入るように前記パケットフロー内の前記パケットを制御し、前記低優先度の処理キューのスケジューリング優先度が、前記パケットフロー内の前記パケットの優先度指示フィールドのコンテンツに対応するスケジューリング優先度よりも低い、ように特に構成されている、
請求項18に記載のデバイス。
【請求項２０】
前記処理ユニットが、前記パケットフローに対応し、かつフローテーブル内にあるエントリの輻輳マーク項目のコンテンツを第1のマークに設定し、前記輻輳マーク項目が、前記輻輳マーク項目が属するエントリに対応するパケットフローが輻輳フローであるかどうかを記録するために使用され、前記第1のマークが、前記輻輳マーク項目が属する前記エントリに対応する前記パケットフローが輻輳フローであることを示すために使用される、ようにさらに構成されている、
請求項17から19のいずれか一項に記載のデバイス。
【請求項２１】
第1のパケットを受信するように構成された受信ユニット
をさらに備え、
前記処理ユニットが、第1のパケットフローに対応し、かつ前記フローテーブル内にあるエントリの輻輳マーク項目のコンテンツが前記第1のマークである場合に、前記第1のパケットの優先度が第2のパケットの優先度と異なるように、前記第1のパケットのスケジューリング優先度を変更し、前記第2のパケットおよび前記第1のパケットの両方が、前記第1のパケットフローに属し、前記第1のパケットが、前記輻輳マーク項目の前記コンテンツが前記第1のマークに設定された後に受信されるパケットであり、前記第2のパケットが、前記輻輳マーク項目の前記コンテンツが前記第1のマークに設定される前に受信されるパケットである、ようにさらに構成されている、請求項20に記載のデバイス。
【請求項２２】
前記処理ユニットが、前記エントリのタイムスタンプ項目によって記録された時点から始まる所定の期間内に前記パケットフロー内のパケットが受信されなかった場合に、前記輻輳マーク項目を第2のマークに設定し、前記第2のマークが、前記輻輳マーク項目が属する前記エントリに対応する前記パケットフローが非輻輳フローであることを示すために使用され、前記タイムスタンプ項目が、前記パケットフロー内のパケットが最後に受信された時点を記録するために使用される、ようにさらに構成されている、
請求項20に記載のデバイス。
【請求項２３】
前記処理ユニットが、前記パケットフローに対応するエントリを輻輳フローフローテーブルに追加するようにさらに構成されている、
請求項17から19のいずれか一項に記載のデバイス。
【請求項２４】
第3のパケットを受信するように構成された受信ユニット
をさらに備え、
前記処理ユニットが、第2のパケットフローに対応するエントリが前記輻輳フローフローテーブル内に存在する場合に、前記第3のパケットの優先度が第4のパケットの優先度と異なるように、前記第3のパケットのスケジューリング優先度を変更し、前記第4のパケットおよび前記第3のパケットの両方が、前記第2のパケットフローに属し、前記第3のパケットが、前記第2のパケットフローに対応する前記エントリが前記輻輳フローフローテーブルに追加された後に受信されるパケットであり、前記第4のパケットが、前記第2のパケットフローに対応する前記エントリが前記輻輳フローフローテーブルに追加される前に受信されるパケットである、ようにさらに構成されている、請求項23に記載のデバイス。
【請求項２５】
前記処理ユニットが、前記エントリのタイムスタンプ項目によって記録された時点から始まる所定の期間内に前記パケットフロー内のパケットが受信されなかった場合に、前記パケットフローに対応する前記エントリを削除し、前記タイムスタンプ項目が、前記パケットフロー内のパケットが最後に受信された時点を記録するために使用される、ようにさらに構成されている、
請求項23に記載のデバイス。
【請求項２６】
輻輳分離メッセージを受信するように構成された受信ユニットであって、前記輻輳分離メッセージが、記述情報を含む、受信ユニットと、
前記記述情報によって示されるパケットフロー内のパケットの優先度を変更するように構成された処理ユニットと
を備え、
前記処理ユニットが、前記パケットフロー内の前記パケットのスケジューリング優先度を下げるようにさらに構成されており、
前記処理ユニットが、前記パケットフロー内の前記パケットの優先度指示フィールドのコンテンツを変更し、変更後のコンテンツに対応するスケジューリング優先度が変更前の前記コンテンツに対応するスケジューリング優先度よりも低くなる、ように、または低優先度の処理キューに入るように前記パケットフロー内の前記パケットを制御し、前記低優先度の処理キューのスケジューリング優先度が、前記パケットフロー内の前記パケットの優先度指示フィールドのコンテンツに対応するスケジューリング優先度よりも低い、ようにさらに構成されている、ネットワークデバイス。
【請求項２７】
前記処理ユニットが、前記パケットフローに対応し、かつフローテーブル内にあるエントリの輻輳マーク項目のコンテンツを第1のマークに設定し、前記輻輳マーク項目が、前記輻輳マーク項目が属するエントリに対応するパケットフローが輻輳フローであるかどうかを記録するために使用され、前記第1のマークが、前記輻輳マーク項目が属する前記エントリに対応する前記パケットフローが輻輳フローであることを示すために使用される、ようにさらに構成されている、
請求項26のいずれか一項に記載のデバイス。
【請求項２８】
第1のパケットを取得するようにさらに構成された前記受信ユニット
をさらに備え、
前記処理ユニットが、第1のパケットフローに対応し、かつ前記フローテーブル内にあるエントリの輻輳マーク項目のコンテンツが前記第1のマークである場合に、前記第1のパケットの優先度が第2のパケットの優先度と異なるように、前記第1のパケットのスケジューリング優先度を変更し、前記第2のパケットおよび前記第1のパケットの両方が、前記第1のパケットフローに属し、前記第1のパケットが、前記輻輳マーク項目の前記コンテンツが前記第1のマークに設定された後に取得されるパケットであり、前記第2のパケットが、前記輻輳マーク項目の前記コンテンツが前記第1のマークに設定される前に取得されるパケットである、ようにさらに構成されている、請求項27に記載のデバイス。
【請求項２９】
前記処理ユニットが、前記エントリのタイムスタンプ項目によって記録された時点から始まる所定の期間内に前記パケットフロー内のパケットが受信されなかった場合に、前記輻輳マーク項目を第2のマークに設定し、前記第2のマークが、前記輻輳マーク項目が属する前記エントリに対応する前記パケットフローが非輻輳フローであることを示すために使用され、前記タイムスタンプ項目が、前記パケットフロー内のパケットが最後に受信された時点を記録するために使用される、ようにさらに構成されている、
請求項28に記載のデバイス。
【請求項３０】
前記処理ユニットが、前記パケットフローに対応するエントリを輻輳フローフローテーブルに追加するようにさらに構成されている、
請求項26から29のいずれか一項に記載のデバイス。
【請求項３１】
第3のパケットを取得するようにさらに構成された前記受信ユニット
をさらに備え、
前記処理ユニットが、第2のパケットフローに対応するエントリが前記輻輳フローフローテーブル内に存在する場合に、前記第3のパケットの優先度が第4のパケットの優先度と異なるように、前記第3のパケットのスケジューリング優先度を変更し、前記第4のパケットおよび前記第3のパケットの両方が、前記第2のパケットフローに属し、前記第3のパケットが、前記第2のパケットフローに対応する前記エントリが前記輻輳フローフローテーブルに追加された後に取得されるパケットであり、前記第4のパケットが、前記第2のパケットフローに対応する前記エントリが前記輻輳フローフローテーブルに追加される前に取得されるパケットである、ようにさらに構成されている、請求項30に記載のデバイス。
【請求項３２】
前記処理ユニットが、前記エントリのタイムスタンプ項目によって記録された時点から始まる所定の期間内に前記パケットフロー内のパケットが受信されなかった場合に、前記パケットフローに対応する前記エントリを削除し、前記タイムスタンプ項目が、前記パケットフロー内のパケットが最後に受信された時点を記録するために使用される、ようにさらに構成されている、
請求項30に記載のデバイス。
【請求項３３】
命令を含み、前記命令がコンピュータ上で実行されたとき、前記コンピュータが、請求項1から9のいずれか一項に記載の方法を実行するか、または前記コンピュータが、請求項10から16のいずれか一項に記載の方法を実行する、コンピュータ可読記憶媒体。
【請求項３４】
コンピュータプログラムであって、前記コンピュータプログラムがコンピュータ上で実行されたとき、前記コンピュータが、請求項1から9のいずれか一項に記載の方法を実行するか、または前記コンピュータが、請求項10から16のいずれか一項に記載の方法を実行する、コンピュータプログラム。
【請求項３５】
メモリと、プロセッサと、前記プロセッサ上で実行され得る、前記メモリに記憶されたコンピュータプログラムとを含む通信デバイスであって、前記プロセッサが、請求項1から9のいずれか一項に記載の方法を実施するか、または請求項10から16のいずれか一項に記載の方法を実施するために前記プログラムを実行する、通信デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、2017年8月18日に中国特許庁に提出された、「パケット制御方法およびネットワーク装置」と題された中国特許出願第201710713089．X号の優先権を主張し、その全体は、参照によりここに組み込まれる。
【０００２】
本出願は、ネットワーク通信分野に関し、特に、パケット制御方法およびネットワーク装置に関する。
【背景技術】
【０００３】
高性能コンピューティング、人工知能、および分散記憶などのより多くのサービスが超低遅延データセンタに依存するにつれて、データセンタ内のノード間のデータ送信遅延に対するユーザ要求も増加している。実際の使用において、輻輳によって引き起こされるパケット損失は、サービスのパフォーマンスに影響を及ぼす重要な要因である。
【０００４】
輻輳によって引き起こされるパケット損失を低減するために、優先度ベースフロー制御（priority−based flow control、PFC）メカニズムが、データセンタ内のノード間のデータ送信プロセスに導入され得る。PFCメカニズムが導入された後、上流ノードは、送信されるサービスの優先度に基づいて、各送信されるサービスに対応するパケットフローの優先度を決定し得、その場合、送信されるサービスのより高い優先度は、送信されるサービスに対応するパケットフローのより高い優先度を示す。パケットフローの優先度を決定した後、上流ノードは、異なる送信キューを使用して異なるパケットフローを下流ノードに送信し得、その場合、各キューは、同じ優先度のパケットフローを送信するために使用され、異なるキューは、異なる優先度のパケットフローを送信するために使用される。これに対応して、複数のキャッシュキューが、下流ノードで設定され得る。これに対応して、各キャッシュキューは、同じ優先度のパケットフローに使用され、異なるキャッシュキューは、異なる優先度のパケットフローをキャッシュするために使用され得る。キャッシュキューにキャッシュされたデータが、事前に設定された水平ラインを超えた場合、言い換えれば、輻輳が発生する可能性がある場合、下流ノードは、キャッシュキューに対応する優先度のパケットフローの送信を一時停止するように上流ノードに要求するために、バックプレッシャ信号を上流ノードに送信し得、これにより、輻輳は回避される。
【０００５】
しかしながら、データセンタでは、1つの下流ノードは、少なくとも1つの上流ノードを有し得、上流ノードによって送信される異なるタイプのパケットフローは、同じ優先度を有し得、同じ優先度のパケットフローのデータ量は異なり得る。PFCメカニズムが導入された後、同じ優先度の複数のパケットフローのパケットフローのデータ量が過度に大きい場合、キャッシュキューにキャッシュされるデータが、事前に設定された水平ラインを超える可能性があり、したがって、下流ノードが、バックプレッシャ信号を上流ノードに送信する可能性がある。この場合、下流ノードによってプレッシャ信号を上流ノードに送信すると、すべての上流ノードは、その優先度のすべてのパケットフローの送信を一時停止する。したがって、上流ノードは、ブロッキングを引き起こさない、比較的少ないデータ量を有するパケットフローの送信も一時停止し、比較的少ないデータ量を有するパケットフローは、行頭ブロッキング（head of line blocking、HOLB）という深刻な問題を抱える。行頭ブロッキングは、輻輳の拡散を引き起こし、ネットワーク全体のパフォーマンスに大きな影響を与える。
【発明の概要】
【課題を解決するための手段】
【０００６】
本出願は、行頭ブロッキングを低減し、それにより輻輳の拡散を低減するために、パケット制御方法およびデバイスを提供する。
【０００７】
第1の態様によれば、本出願は、輻輳状態の変化を引き起こすパケットフローを検出するステップと、輻輳分離メッセージを生成するステップであって、輻輳分離メッセージが、パケットフロー内のパケットの優先度を変更するために使用され、輻輳分離メッセージが、パケットフローの記述情報を含む、ステップと、輻輳分離メッセージを少なくとも1つのノードに送信するステップとを含むパケット制御方法を提供する。
【０００８】
第1の態様に関連して、第1の態様の第1の可能な実施態様では、輻輳分離メッセージを少なくとも1つのノードに送信するステップは、パケットフローを送信する上流ノードに輻輳分離メッセージを送信するステップを含む。
【０００９】
第1の態様または第1の態様の第1の可能な実施態様に関連して、第1の態様の第2の可能な実施態様では、輻輳分離メッセージは、パケットフロー内のパケットのスケジューリング優先度を下げるようにノードに命令するために特に使用される。
【００１０】
第1の態様または第1の態様の第1もしくは第2の可能な実施態様のいずれか1つに関連して、第1の態様の第3の可能な実施態様では、輻輳分離メッセージは、イーサタイプが事前定義されたタイプであるパケットである。
【００１１】
第1の態様または第1の態様の第1から第3の可能な実施態様のいずれか1つに関連して、第1の態様の第4の可能な実施態様では、パケットフローに対応し、かつフローテーブル内にあるエントリの輻輳マーク項目のコンテンツが、第1のマークに設定され、輻輳マーク項目が、輻輳マーク項目が属するエントリに対応するパケットフローが輻輳フローであるかどうかを記録するために使用され、第1のマークが、輻輳マーク項目が属するエントリに対応するパケットフローが輻輳フローであることを示すために使用される。
【００１２】
第1の態様の第4の可能な実施態様に関連して、第1の態様の第5の可能な実施態様では、本方法は、エントリのタイムスタンプ項目によって記録された時点から始まる所定の期間内にパケットフロー内のパケットが受信されなかった場合に、マーク項目を第2のマークに設定するステップであって、第2のマークが、マーク項目が属するエントリに対応するパケットフローが非輻輳フローであることを示すために使用され、タイムスタンプ項目が、パケットフロー内のパケットが最後に受信された時点を記録するために使用される、ステップをさらに含む。
【００１３】
第1の態様の第4の可能な実施態様に関連して、第1の態様の第6の可能な実施態様では、本方法は、第1のパケットを受信するステップと、第1のパケットフローに対応し、かつフローテーブル内にあるエントリの輻輳マーク項目のコンテンツが第1のマークである場合に、第1のパケットの優先度が第2のパケットの優先度と異なるように、第1のパケットのスケジューリング優先度を変更するステップであって、第2のパケットおよび第1のパケットの両方が、第1のパケットフローに属し、第1のパケットが、輻輳マーク項目のコンテンツが第1のマークに設定された後に受信されるパケットであり、第2のパケットが、輻輳マーク項目のコンテンツが第1のマークに設定される前に受信されるパケットである、ステップとをさらに含む。
【００１４】
第1の態様または第1の態様の第1から第3の可能な実施態様のいずれか1つに関連して、第1の態様の第7の可能な実施態様では、パケットフローに対応するエントリが、輻輳フローフローテーブルに追加される。
【００１５】
第1の態様の第7の可能な実施態様に関連して、第1の態様の第8の可能な実施態様では、本方法は、エントリのタイムスタンプ項目によって記録された時点から始まる所定の期間内にパケットフロー内のパケットが受信されなかった場合に、パケットフローに対応するエントリを削除するステップであって、タイムスタンプ項目が、パケットフロー内のパケットが最後に受信された時点を記録するために使用される、ステップをさらに含む。
【００１６】
第1の態様の第7の可能な実施態様に関連して、第1の態様の第9の可能な実施態様では、第3のパケットが受信され、第2のパケットフローに対応するエントリが輻輳フローフローテーブル内に存在する場合に、第3のパケットの優先度が第4のパケットの優先度と異なるように、第3のパケットのスケジューリング優先度が変更され、第4のパケットおよび第3のパケットの両方が、第2のパケットフローに属し、第3のパケットが、第2のパケットフローに対応するエントリが輻輳フローフローテーブルに追加された後に受信されるパケットであり、第4のパケットが、第2のパケットフローに対応するエントリが輻輳フローフローテーブルに追加される前に受信されるパケットである。
【００１７】
第2の態様によれば、本出願は、輻輳分離メッセージを受信するステップであって、輻輳分離メッセージが、記述情報を含む、ステップと、記述情報によって示されるパケットフロー内のパケットの優先度を変更するステップとを含む別のパケット制御方法をさらに提供する。
【００１８】
第2の態様に関連して、第2の態様の第1の可能な実施態様では、記述情報によって示されるパケットフロー内のパケットの優先度を変更するステップは、パケットフロー内のパケットのスケジューリング優先度を下げるステップを含む。
【００１９】
第2の態様の第1の可能な実施態様に関連して、第2の態様の第2の可能な実施態様では、パケットフロー内のパケットのスケジューリング優先度を下げるステップは、パケットフロー内のパケットの優先度指示フィールドのコンテンツを変更するステップであって、変更後のコンテンツに対応するスケジューリング優先度が変更前のコンテンツに対応するスケジューリング優先度よりも低くなる、ステップ、または低優先度の処理キューに入るようにパケットフロー内のパケットを制御するステップであって、低優先度の処理キューのスケジューリング優先度が、パケットフロー内のパケットの優先度指示フィールドのコンテンツに対応するスケジューリング優先度よりも低い、ステップを含む。
【００２０】
第2の態様の第1の可能な実施態様に関連して、第2の態様の第3の可能な実施態様では、本方法は、パケットフローに対応し、かつフローテーブル内にあるエントリの輻輳マーク項目のコンテンツを第1のマークに設定するステップであって、輻輳マーク項目が、輻輳マーク項目が属するエントリに対応するパケットフローが輻輳フローであるかどうかを記録するために使用され、第1のマークが、輻輳マーク項目が属するエントリに対応するパケットフローが輻輳フローであることを示すために使用される、ステップをさらに含む。
【００２１】
第2の態様の第3の可能な実施態様に関連して、第2の態様の第4の可能な実施態様では、本方法は、エントリのタイムスタンプ項目によって記録された時点から始まる所定の期間内にパケットフロー内のパケットが受信されなかった場合に、マーク項目を第2のマークに設定するステップであって、第2のマークが、マーク項目が属するエントリに対応するパケットフローが非輻輳フローであることを示すために使用され、タイムスタンプ項目が、パケットフロー内のパケットが最後に受信された時点を記録するために使用される、ステップをさらに含む。
【００２２】
第2の態様の第3の可能な実施態様に関連して、第2の態様の第5の可能な実施態様では、本方法は、第1のパケットを取得するステップと、第1のパケットフローに対応し、かつフローテーブル内にあるエントリの輻輳マーク項目のコンテンツが第1のマークである場合に、第1のパケットの優先度が第2のパケットの優先度と異なるように、第1のパケットのスケジューリング優先度を変更するステップであって、第2のパケットおよび第1のパケットの両方が、第1のパケットフローに属し、第1のパケットが、輻輳マーク項目のコンテンツが第1のマークに設定された後に取得されるパケットであり、第2のパケットが、輻輳マーク項目のコンテンツが第1のマークに設定される前に取得されるパケットである、ステップとをさらに含む。
【００２３】
第2の態様に関連して、第2の態様の第6の可能な実施態様では、輻輳分離メッセージを受信するステップの後に、本方法は、パケットフローに対応するエントリを輻輳フローフローテーブルに追加するステップをさらに含む。
【００２４】
第2の態様の第6の可能な実施態様に関連して、第2の態様の第7の可能な実施態様では、本方法は、エントリのタイムスタンプ項目によって記録された時点から始まる所定の期間内にパケットフロー内のパケットが受信されなかった場合に、パケットフローに対応するエントリを削除するステップであって、タイムスタンプ項目が、パケットフロー内のパケットが最後に受信された時点を記録するために使用される、ステップをさらに含む。
【００２５】
第2の態様の第6の可能な実施態様に関連して、第2の態様の第8の可能な実施態様では、本方法は、第3のパケットを取得するステップと、第2のパケットフローに対応するエントリが輻輳フローフローテーブル内に存在する場合に、第3のパケットの優先度が第4のパケットの優先度と異なるように、第3のパケットのスケジューリング優先度を変更するステップであって、第4のパケットおよび第3のパケットの両方が、第2のパケットフローに属し、第3のパケットが、第2のパケットフローに対応するエントリが輻輳フローフローテーブルに追加された後に取得されるパケットであり、第4のパケットが、第2のパケットフローに対応するエントリが輻輳フローフローテーブルに追加される前に取得されるパケットである、ステップとをさらに含む。
【００２６】
第3の態様によれば、本出願は、ネットワークデバイスをさらに提供する。このデバイスは、第1の態様または第1の態様の実施態様のいずれか1つの方法を実行するように構成されたユニットモジュールを含む。このユニットモジュールによって実施される機能は、プロセッサによって実施されてもよいし、またはプロセッサおよびプロセッサによって制御されるネットワークデバイスコンポーネントによって実施されてもよい。
【００２７】
第4の態様によれば、本出願は、別のネットワークデバイスをさらに提供する。このデバイスは、第2の態様または第2の態様の実施態様のいずれか1つの方法を実行するように構成されたユニットモジュールを含む。このユニットモジュールによって実施される機能は、プロセッサによって実施されてもよいし、またはプロセッサおよびプロセッサによって制御されるネットワークデバイスコンポーネントによって実施されてもよい。
【００２８】
第5の態様によれば、本出願は、命令を含むコンピュータ可読記憶媒体をさらに提供する。命令がコンピュータ上で実行されるとき、コンピュータは、第1の態様または第1の態様の実施態様のいずれか1つの方法を実行し得る。
【００２９】
第6の態様によれば、本出願は、命令を含む別のコンピュータ可読記憶媒体をさらに提供する。命令がコンピュータ上で実行されるとき、コンピュータは、第2の態様または第2の態様の実施態様のいずれか1つの方法を実行し得る。
【００３０】
第7の態様によれば、本出願は、命令を含むコンピュータプログラム製品をさらに提供する。命令がコンピュータ上で実行されるとき、コンピュータは、第1の態様または第1の態様の実施態様のいずれか1つの方法を実行し得る。
【００３１】
第8の態様によれば、本出願は、命令を含む別のコンピュータプログラム製品をさらに提供する。命令がコンピュータ上で実行されるとき、コンピュータは、第2の態様または第2の態様の実施態様のいずれか1つの方法を実行し得る。
【００３２】
第9の態様によれば、本出願は、ネットワークシステムであって、ネットワークシステムが、少なくとも2つのノードを含み得る、ネットワークシステムをさらに提供する。あるノードは、第2の態様または第2の態様の実施態様のいずれか1つの方法を実行するように構成され、および／または別のノードは、第2の態様または第2の態様の実施態様のいずれか1つの方法を実行するように構成される。
【００３３】
本出願で提供される方法およびネットワーク装置などによれば、輻輳状態の変化を引き起こすパケットフローが識別された後に、パケットフロー内のパケットの優先度が変更され得、これにより、行頭ブロッキングの可能性が大幅に低減される。
【図面の簡単な説明】
【００３４】
【図１】本出願によるネットワークシステムの一実施形態の概略構造図である。
【図２】本出願によるネットワークシステムの別の実施形態の概略構造図である。
【図３】本出願による輻輳分離メッセージの概略構造図である。
【図４】本出願による輻輳分離メッセージの概略構造図である。
【図５】本出願によるパケット制御方法の一実施形態の概略フローチャートである。
【図６】本出願によるパケット制御方法の別の実施形態の概略フローチャートである。
【図７】本出願によるパケット制御方法のさらに別の実施形態の概略フローチャートである。
【図８】本出願によるパケット制御方法のさらに別の実施形態の概略フローチャートである。
【図９】本出願によるネットワークデバイスの一実施形態の概略構造図である。
【図１０】本出願によるネットワークデバイスの別の実施形態の概略構造図である。
【図１１】本出願によるネットワークデバイスのさらに別の実施形態の概略構造図である。
【発明を実施するための形態】
【００３５】
本出願の実施形態におけるネットワークシステムは、CLOSアーキテクチャ、Meshアーキテクチャ、もしくはTorusアーキテクチャなどのネットワークアーキテクチャを使用するデータセンタであってもよいし、または前述のアーキテクチャを使用する別の非データセンタネットワークであってもよい。これは本出願では限定されない。説明を簡単にするために、以下では、説明の例としてCLOSアーキテクチャのデータセンタのみを使用する。
【００３６】
CLOSアーキテクチャのデータセンタは、様々なサービスを提供するサーバ（server）を含み得る。サーバに加えて、CLOSアーキテクチャのデータセンタは、TORスイッチまたはSPINEスイッチなど、複数の異なるタイプのスイッチを含む。TORスイッチは、サーバとSPINEスイッチとの間のリンクに配置され得る。TORスイッチのアップリンクポートは、SPINEスイッチに接続するために使用され、TORスイッチのダウンリンクポートは、サーバに接続するために使用される。各TORスイッチは、複数のアップリンクポートを使用して複数のSPINEスイッチに接続され得る。各サーバも、少なくとも1つのネットワークインタフェースカードを使用して少なくとも1つのTORスイッチに接続され得る。
【００３７】
データセンタが、サイズ的に比較的大きく、比較的多数のサーバおよびTORスイッチを含む場合、AGGスイッチが、TORスイッチとSPINEスイッチとの間のリンクにさらに配置され得る。AGGスイッチのダウンリンクポートは、少なくとも1つのTORスイッチに接続するために使用され、AGGスイッチのアップリンクポートは、少なくとも1つのSPINEに接続するために使用される。図1に示されているように、TORスイッチのアップリンクポートがSPINEスイッチに接続されている場合、データセンタは、2段のCLOSネットワークである。図2に示されているように、TORスイッチのアップリンクポートがAGGスイッチに接続されている場合、データセンタは、3段のCLOSネットワークである。
【００３８】
本出願の実施形態におけるノードは、ステーション（station）と呼ばれる場合もあり、前述のサーバまたは任意のタイプのスイッチなどのデバイスを含み得るし、またはデータセンタネットワークまたは別の非データセンタネットワーク内のデバイスを含み得る。このデバイスは、スイッチ、ルータ、ネットワークインタフェースカード、または別のデバイスであり得る。
【００３９】
本出願の実施形態では、輻輳分離メッセージ（congestion isolation packet、CIP）は、メッセージを受信するノードに、メッセージによって示されるパケットフロー内のパケットの優先度を変更するように命令するために使用され得る情報である。すなわち、輻輳分離メッセージは、メッセージを受信するノードに、パケットフロー内のパケットの優先度を変更するように命令するために使用され得る。パケットフローは、輻輳分離メッセージに含まれる記述情報または別の情報によって示される。
【００４０】
記述情報は、パケットフローを判定するために使用され得る情報または情報の組み合わせである。記述情報を使用することによって、ノードは、記述情報に対応する1つのパケットフローのみを判定し得る。例えば、パケットフローは、パケットフローの送信元IP、宛先IP、プロトコル番号、送信元ポート番号、および宛先ポート番号を含む5タプル（5−tuple）であり得るか、または、3タプルまたは別のタイプの情報もしくは情報の組み合わせであり得る。例えば、VXLANなどのOverlayネットワークでは、異なるテナントのパケットフローは、同じ5タプルを有し得る。したがって、パケットフローは、5タプルを使用することによっては一意に判定され得ない。この場合、VNI（VXLAN Network Identifier）も、フローの記述情報として使用される必要があり、言い換えれば、6タプルが、パケットフローを一意に判定するために使用される。これは本出願では限定されない。
【００４１】
輻輳分離メッセージの宛先MACアドレスは、輻輳分離メッセージを受信するノードのMACアドレスであり、輻輳分離メッセージの送信元MACアドレスは、輻輳分離メッセージを送信するノードのMACアドレスであり、輻輳分離メッセージのイーサタイプは、パケットが輻輳分離メッセージであることを示すために使用される事前定義されたタイプ、例えば0x8809であり得る。フローの記述情報は、輻輳分離メッセージのIPヘッダおよびトランスポート層ヘッダに含まれ得る。処理論理を簡素化するために、輻輳分離メッセージのIPヘッダおよびトランスポート層ヘッダは、標準フォーマットであり得る、言い換えれば、パケットフロー内のパケットと同じフォーマットを有し得る。輻輳分離メッセージの作成中に、パケットフロー内のパケットのIPヘッダおよびトランスポート層ヘッダがコピーされ得、パケットフロー内のパケットのコピーされたIPヘッダおよびトランスポート層ヘッダのためにイーサネット（登録商標）ヘッダがカプセル化され、パケットは、64バイトの最小イーサネット（登録商標）パケット長に達するようにパディングされる。例えば、輻輳分離メッセージのフォーマットは、図3に示されているものであり得る。輻輳分離メッセージは、代わりに、別のフォーマットであってもよいし、または別の方法で作成されてもよいことに留意されたい。本出願が、Infinibandネットワークなどの別の非イーサネット（登録商標）ネットワークに適用されるとき、メッセージは、パケットフローの記述情報が含まれる場合、自己定義のInfinibandプロトコルタイプのメッセージである。これは本出願では限定されない。例えば、輻輳分離メッセージのフォーマットは、代わりに、図4に示されているものであり得る。
【００４２】
本出願の実施形態では、輻輳フローを記録するためだけに使用される輻輳フローフローテーブルが、各ノードで設定され得、輻輳状態の変化を引き起こすパケットフローが、輻輳フローフローテーブルのエントリを使用して記録される。輻輳状態の変化を引き起こすパケットフローは、輻輳フローを含み得るが、これに限定されない。パケットフローに対応するエントリが輻輳フローフローテーブル内に存在する場合、それは、パケットフローが輻輳状態の変化を引き起こすパケットフローであることを示す。パケットフローに対応するエントリが輻輳フローフローテーブルに存在しない場合、それは、パケットフローが輻輳状態の変化を引き起こすパケットフローではないことを示す。エントリは、タイムスタンプ項目を含み得、タイムスタンプ項目は、パケットフロー内のパケットが最後に受信された時点を記録するために使用される。
【００４３】
代わりに、各ノードは、輻輳状態の変化を引き起こすパケットフローを記録するために既存のフローテーブルの各エントリに輻輳マーク項目を設定し得る。輻輳マーク項目は、異なるコンテンツを使用して、輻輳マーク項目が属するエントリに対応するパケットフローが輻輳フローであるかどうかを記録するために使用され得る。輻輳マーク項目のコンテンツは、第1のマークまたは第2のマークであり得る。第1のマークは、輻輳マーク項目が属するエントリに対応するパケットフローが輻輳フローであることを示すために使用され、第2のマークは、輻輳マーク項目が属するエントリに対応するパケットフローが輻輳フローではないことを示すために使用される。輻輳マーク項目に加えて、タイムスタンプ項目も、フローテーブルの各エントリに設定され得る。
【００４４】
本出願の実施形態では、送信キュー、転送キュー、およびキャッシュキューなどの異なるタイプの処理キューがあり得る。同じキュー内のパケットの優先度が同じであり、異なるキュー内のパケットの優先度が異なる場合もあるし、またはいくつかの異なるキュー内のパケットの優先度が同じ場合もある。例えば、処理キューは、上流ノードによって送信されたパケットをキャッシュするために使用される8つのキャッシュキューのいずれか1つである場合もあるし、またはキャッシュキュー内のサブキューのいずれか1つである場合もある。
【００４５】
以下では、添付の図面を参照して、本出願におけるパケット制御方法を説明する。
【００４６】
図5は、本出願によるパケット制御方法の一実施形態の概略フローチャートである。本実施形態の方法は、任意のノードによって実行され得る。図5に示されているように、本方法は、以下のステップを含み得る。
【００４７】
ステップ501：輻輳状態の変化を引き起こすパケットフローを検出する。
【００４８】
輻輳状態の変化を引き起こすパケットフローは、現在のノードの処理キュー輻輳を引き起こす、もしくは輻輳を引き起こし得るパケットフローであり得るか、または現在のノードの上流ノードまたは下流ノードなどの別のノードの処理キューに輻輳を引き起こす、もしくは輻輳を引き起こし得るパケットフローであり得る。輻輳している、または輻輳し得る異なるノードに応じて、輻輳状態の変化を引き起こすパケットフローを判定する特定の方法は異なる。現在のノードの輻輳フローが判定されるべき例では、シングルウォーターラインメカニズムまたはデュアルウォーターラインメカニズムが、パケットフローが輻輳フローであるかどうかを判定するために使用され得る。
【００４９】
シングルウォーターラインメカニズムが、輻輳フローを判定するために使用されるとき、パケットフロー内のパケットが処理キューに追加された後に、処理キュー内で処理を待つパケットの量が、事前に設定されたウォーターラインを超えた場合、そのパケットフローは輻輳フローであると判定され得、そうでなければ、そのパケットフローは輻輳フローではないと判定される。
【００５０】
デュアルウォーターラインメカニズムが、輻輳フローを判定するために使用されるとき、パケットフロー内のパケットが処理キューに追加された後に、処理キュー内で処理を待つパケットの量が、事前に設定された高いウォーターラインを超えた場合、そのパケットフローは輻輳フローであると判定され得る。処理キュー内で処理を待つパケットの量が、事前に設定された低いウォーターラインを超えているが、事前に設定された高いウォーターラインを超えていない場合、確率に基づいて、そのパケットフローが輻輳フローであるかどうかが判定され得る。この確率は、事前に設定された値に変数を掛けることによって得られ得る。この変数は、事前に設定された低いウォーターラインを引いた事前に設定された高いウォーターラインで差を割ることによって得られる値であり得、この差は、現在のキューのデータ量から事前に設定された低いウォーターラインを差し引くことによって得られる。処理キュー内で処理を待つパケットの量が、事前に設定された低いウォーターラインを超えていない場合、そのパケットフローは輻輳フローではない。
【００５１】
輻輳状態の変化を引き起こすパケットフローは、現在のノードの処理キューに輻輳を引き起こす、もしくは輻輳を引き起こし得るパケットフローであり得るか、または現在のノードの下流ノードまたは下流ノードの下流ノードなどの別のノードの処理キューに輻輳を引き起こす、もしくは輻輳を引き起こし得るパケットフローであり得る。輻輳している、または輻輳し得る異なるノードに応じて、輻輳状態の変化を引き起こすパケットフローを判定する特定の方法は異なる。例えば、パケットフローが、現在のノードの下流ノードの輻輳状態の変化を引き起こす場合、下流ノードは、輻輳分離メッセージを現在のノードに送信し得、現在のノードは、輻輳分離メッセージ内の記述情報に基づいてパケットフローを判定し得る。ここでは同様の方法は説明されない。
【００５２】
ステップ502：輻輳分離メッセージを生成する。
【００５３】
パケットフローを検出した後、現在のノードは、輻輳分離メッセージを作成し得る。輻輳分離メッセージは、パケットフロー内のパケットの優先度を変更するために使用される。概して、輻輳分離メッセージは、メッセージを受信するノードに、パケットフロー内のパケットのスケジューリング優先度を下げるように命令するために使用される。輻輳分離メッセージの作成方法については、前述の説明を参照されたい。ここでは詳細は再度説明されない。
【００５４】
ステップ503：輻輳分離メッセージを少なくとも1つのノードに送信する。
【００５５】
輻輳分離メッセージを生成した後、現在のノードは、輻輳分離メッセージを少なくとも1つのノードに送信し得る。少なくとも1つのノードは、パケットフローを現在のノードに送信する上流ノードを含み得、この場合、現在のノードは、パケットフローを送信する上流ノードに輻輳分離メッセージを送信し得る。輻輳分離メッセージを受信した後、上流ネットワークノードは、輻輳フロー分離を実施するためにパケットフローの優先度を変更し得る。
【００５６】
本出願で提供される方法によれば、輻輳状態が変化するとき、現在のノードは、輻輳状態の変化を引き起こすパケットフローを識別し、別のパケットフローの送信に影響を与えることなく、パケットフロー内のパケットの優先度を変更するように別のノードに命令し得る。したがって、輻輳によって引き起こされるパケット損失が回避され得、輻輳の分離がないことによって引き起こされる行頭ブロッキングがかなりの程度回避され得、これにより、輻輳の拡散が回避される。
【００５７】
輻輳を回避するためにパケットのスケジューリング優先度を変更するために、現在のノードは、輻輳分離メッセージを送信する必要があるだけでなく、現在のノードで、輻輳状態の変化を引き起こすパケットフロー内のパケットを分離する必要もあり、これにより、変更されていない優先度に対応する、現在のノードまたは下流ノードのキューが輻輳し続けることが防止される。
【００５８】
現在のノードは、輻輳状態の変化を引き起こすパケットフロー内のパケットを分離するために、変更後のコンテンツに対応するスケジューリング優先度が変更前のコンテンツに対応するスケジューリング優先度よりも低くなるように、パケットフロー内のパケットの優先度指示フィールドのコンテンツを変更し得るか、または低優先度の処理キューに入るようにパケットフロー内のパケットを制御し得、その場合、低優先度の処理キューのスケジューリング優先度は、パケットフロー内のパケットの優先度指示フィールドのコンテンツに対応するスケジューリング優先度よりも低い。低優先度のキューは、所定の優先度のキューであり得、第1の優先度のキューは、現在のノードの複数の処理キューの中で最も低い優先度を有する1つのキュー、または最も低い優先度を有するいくつかのキューのうちの1つ以上であり得る。変更後のコンテンツに対応するスケジューリング優先度が変更前のコンテンツに対応するスケジューリング優先度よりも低くなるように、パケットフロー内のパケットの優先度指示フィールドのコンテンツを変更することは、パケットの優先度フィールドのコンテンツを変更することによって実施され得るし、またはパケットの優先度を示すために使用される他の情報を変更することによって実施され得る。例えば、優先度フィールドのコンテンツは、元のコンテンツによって示される優先度よりも低い優先度を有する新しいコンテンツに変更され得る、言い換えれば、変更後のコンテンツに対応するスケジューリング優先度は、変更前のコンテンツに対応するスケジューリング優先度よりも低くされる。
【００５９】
パケットフロー内のパケットのスケジューリング優先度を下げることは、パケットフロー内にあり、かつ処理キューに追加されていないパケットの優先度のみを下げることであり得るか、またはパケットフロー内にあり、かつ処理キューに追加されていないパケットの優先度およびパケットフロー内にあり、かつ処理キューに追加されているが処理されていないパケットの優先度の両方を下げることであり得る。同様に、低優先度の処理キューのスケジューリング優先度が、パケットフロー内のパケットの優先度指示フィールドのコンテンツに対応するスケジューリング優先度よりも低い場合に、低優先度の処理キューに入るようにパケットフロー内のパケットを制御することは、低優先度の処理キューのスケジューリング優先度が、パケットフロー内のパケットの優先度指示フィールドのコンテンツに対応するスケジューリング優先度よりも低い場合に、低優先度の処理キューに入るようにパケットフロー内のパケットのみを制御することであり得るか、または、低優先度の処理キューのスケジューリング優先度が、パケットフロー内のパケットの優先度指示フィールドのコンテンツに対応するスケジューリング優先度よりも低い場合に、低優先度の処理キューに入るようにパケットフロー内のパケットを制御し、パケットフロー内にあり、かつ処理キューに追加されているが処理されていないパケットを低優先度の処理キューにスケジューリングすることであり得る。
【００６０】
以下では、変更後のコンテンツに対応するスケジューリング優先度が変更前のコンテンツに対応するスケジューリング優先度よりも低くなるように、パケットフロー内のパケットの優先度指示フィールドのコンテンツを変更する特定の方法を説明する。ここでは、以下の実施形態が、変更後のコンテンツに対応するスケジューリング優先度が変更前のコンテンツに対応するスケジューリング優先度よりも低くなるように、パケットフロー内のパケットの優先度指示フィールドのコンテンツを変更する単なる任意選択の方法であり、別の実施態様に対する制限を構成するものではないことに留意されたい。異なるフローテーブルを使用してパケットフローを記録する異なる方法に応じて、現在のノードによってパケットフロー内のパケットのスケジューリング優先度を下げる特定の実施態様も異なる。
【００６１】
図6は、本出願によるパケット制御方法の別の実施形態の概略フローチャートである。図6に示されているように、ステップ501の後、すなわち、輻輳状態の変化を引き起こすパケットフローが検出された後、本方法は、以下のステップをさらに含み得る。
【００６２】
ステップ504：パケットフローに対応し、かつフローテーブル内にあるエントリの輻輳マーク項目のコンテンツを第1のマークに設定する。
【００６３】
データフロー内のパケットの優先度の復元を容易にするために、輻輳マーク項目のコンテンツを第1のマークに設定することに加えて、パケットフローに対応するエントリのタイムスタンプ項目のコンテンツが、パケットフロー内のパケットが最後に受信された時点に設定され得る。
【００６４】
ステップ505：第1のパケットを受信する。
【００６５】
第1のパケットは、現在のノードの任意の上流ノードによって送信されるパケットであり得る。
【００６６】
ステップ506：第1のパケットフローに対応し、かつフローテーブル内にあるエントリの輻輳マーク項目のコンテンツが第1のマークである場合、第1のパケットのスケジューリング優先度を変更する。
【００６７】
第1のパケットを受信した後、現在のノードは、第1のパケットが属する第1のパケットフローを判定し、次に、第1のパケットフローが輻輳状態の変化を引き起こすパケットフローとして記録されているかどうかを検出し得る。第1のパケットフローが、輻輳状態の変化を引き起こすパケットフローとして記録されている場合、第1のパケットのスケジューリング優先度が変更される。具体的には、本実施形態では、第1のパケットフローに対応し、かつフローテーブル内にあるエントリの輻輳マーク項目のコンテンツが第1のマークである場合、それは、第1のパケットフローが輻輳状態の変化を引き起こすパケットフローであり、したがって、第1のパケットのスケジューリング優先度が変更される必要があることを示す。
【００６８】
現在のノードは、第1のパケットの優先度が第2のパケットの優先度と異なるように、第1のパケットの優先度を変更し得、これにより、現在のノードで輻輳フロー分離が実施される。第2のパケットおよび第1のパケットの両方が、第1のパケットフローに属し、第1のパケットは、輻輳マーク項目のコンテンツが第1のマークに設定された後に受信されるパケットであり、第2のパケットは、輻輳マーク項目のコンテンツが第1のマークに設定される前に受信されるパケットである。ここでは、第1のパケットのスケジューリング優先度を変更することは、通常、第1のパケットの優先度を下げることであり得ることに留意されたい。
【００６９】
第1のパケットのスケジューリング優先度を変更する複数の特定の実施態様があり得る。特定の実施態様は、通常、現在のノードが、変更後のコンテンツに対応するスケジューリング優先度が変更前のコンテンツに対応するスケジューリング優先度よりも低くなるように、パケットフロー内のパケットの優先度指示フィールドのコンテンツを変更すること、または、低優先度の処理キューのスケジューリング優先度が、パケットフロー内のパケットの優先度指示フィールドのコンテンツに対応するスケジューリング優先度よりも低い場合に、低優先度の処理キューに入るようにパケットフロー内のパケットを制御することを含み得る。
【００７０】
例えば、第1のパケットを処理キューに追加する前に、現在のノードは、第1のパケットの優先度を示すために使用され、かつ第1のパケット内にあるコンテンツを変更し得る、例えば、指示情報に従って第1のパケットが追加される処理キューが、第2のパケットが追加される処理キューと異なるように、第1のパケットの優先度フィールドのコンテンツを変更し、それにより第1のパケットの優先度を変更し得る。代わりに、現在のノードは、第2のパケットが追加されるキューとは異なる優先度のキューに追加されるように第1のパケットを直接制御し、それにより第1のパケットの優先度を変更してもよい。
【００７１】
ここでは、ステップ502の後、本方法は、エントリのタイムスタンプ項目によって記録された時点から始まる所定の期間内にパケットフロー内のパケットが受信されなかった場合に、マーク項目を第2のマークに設定することをさらに含み得ることに留意されたい。
【００７２】
エントリのタイムスタンプ項目によって記録された時点から始まる所定の期間内にパケットフロー内のパケットが受信されなかった場合、それは、パケットフロー内のパケットが減少し、パケットフローがもはや輻輳フローと見なされ得ないことを示す。したがって、現在のノードは、パケットフロー内のパケットがその後受信されるときに、パケットフロー内のパケットの優先度が復元され得るように、マーク項目を第2のマークに設定し得る。所定の期間は、フローテーブルをクリアする期間より長くされ得ない。
【００７３】
本実施形態では、現在のノードで輻輳フロー分離が実施され得る。
【００７４】
図7は、本出願によるパケット制御方法の別の実施形態の概略フローチャートである。図7に示されているように、ステップ501の後、すなわち、輻輳状態の変化を引き起こすパケットフローが検出された後、本方法は、以下のステップをさらに含み得る。
【００７５】
ステップ507：パケットフローに対応するエントリを輻輳フローフローテーブルに追加する。
【００７６】
データフロー内のパケットの優先度の復元を容易にするために、エントリを輻輳フローフローテーブルに追加することに加えて、エントリのタイムスタンプ項目のコンテンツが、パケットフロー内のパケットが最後に受信された時点に設定され得る。
【００７７】
ステップ508：第3のパケットを受信する。
【００７８】
第3のパケットは、現在のノードの任意の上流ノードによって送信されるパケットであり得る。
【００７９】
ステップ509：第2のパケットフローに対応するエントリが輻輳フローフローテーブル内に存在する場合、第3のパケットのスケジューリング優先度を変更する。
【００８０】
第2のパケットフローに対応するエントリが輻輳フローフローテーブル内に存在する場合、それは、第2のパケットフローが輻輳状態の変化を引き起こすパケットフローであり、したがって、第3のパケットの優先度が変更される必要があることを示す。
【００８１】
現在のノードは、第3のパケットの優先度が第4のパケットの優先度と異なるように、第3のパケットの優先度を変更し得、第4のパケットおよび第3のパケットの両方は、第2のパケットフローに属し、第3のパケットは、第2のパケットフローに対応するエントリが輻輳フローフローテーブルに追加された後に受信されるパケットであり、第4のパケットは、第2のパケットフローに対応するエントリが輻輳フローフローテーブルに追加される前に受信されるパケットである。
【００８２】
第3のパケットのスケジューリング優先度を変更する特定の実施態様は、第1のパケットの優先度を変更する方法と同様である。ここでは詳細は再度説明されない。
【００８３】
ここでは、ステップ507の後、本方法は、エントリのタイムスタンプ項目によって記録された時点から始まる所定の期間内にパケットフロー内のパケットが取得されなかった場合に、パケットフローに対応するエントリを削除することをさらに含み得ることに留意されたい。
【００８４】
エントリのタイムスタンプ項目によって記録された時点から始まる所定の期間内にパケットフロー内のパケットが受信されなかった場合、それは、パケットフロー内のパケットが減少し、パケットフローがもはや輻輳フローと見なされ得ないことを示す。したがって、パケットフローに対応し、かつ輻輳フローフローテーブル内にあるエントリが、パケットフロー内のパケットの優先度を復元するために削除され得る。
【００８５】
本実施形態では、現在のノードで輻輳フロー分離も実施され得る。
【００８６】
輻輳によって引き起こされるパケット損失を回避するために、輻輳フロー分離は、現在のノードで実施されることに加えて、上流ノードで実施される必要がある。
【００８７】
図8は、本出願によるパケット制御方法の別の実施形態の概略フローチャートである。本実施形態に示されている方法は、上流ネットワークノードによって実行され得る。
【００８８】
ステップ801：輻輳分離メッセージを受信し、輻輳分離メッセージは記述情報を含む。
【００８９】
上流ノードは、前述の実施形態で現在のノードによって送信される輻輳分離メッセージを受信し得る。輻輳分離メッセージの関連する内容については、前述の実施形態を参照されたい。ここでは詳細は再度説明されない。
【００９０】
輻輳分離メッセージを受信した後、上流ノードはさらに、パケットフローに対応し、かつフローテーブル内にあるエントリの輻輳マーク項目のコンテンツを第1のマークに設定し得るか、またはパケットフローに対応するエントリを輻輳フローフローテーブルに追加し得る。特定の方法については、前述の実施形態を参照されたい。ここでは詳細は再度説明されない。
【００９１】
ステップ802：記述情報によって示されるパケットフロー内のパケットの優先度を変更する。
【００９２】
輻輳分離メッセージを受信した後、上流ノードは、最初に、記述情報に基づいて、記述情報によって示されるパケットフローを判定し、次に、記述情報によって示されるパケットフロー内のパケットの優先度を変更し得る。パケットフローには輻輳フローがしばしば存在するため、記述情報によって示されるパケットフロー内のパケットの優先度を変更することは、通常、パケットフロー内のパケットのスケジューリング優先度を下げることである。現在のノードと同様に、上流ノードは、以下の方法で、すなわち、変更後のコンテンツに対応するスケジューリング優先度が変更前のコンテンツに対応するスケジューリング優先度よりも低くなるように、パケットフロー内のパケットの優先度指示フィールドのコンテンツを変更するか、または、低優先度の処理キューのスケジューリング優先度が、パケットフロー内のパケットの優先度指示フィールドのコンテンツに対応するスケジューリング優先度よりも低い場合に、低優先度の処理キューに入るようにパケットフロー内のパケットを制御することで、パケットフロー内のパケットのスケジューリング優先度を下げ得る。パケットフローを記録する異なる方法に応じて、上流ノードによってパケットフロー内のパケットの優先度を変更する方法も異なる。
【００９３】
パケットを取得した後、上流ノードは、パケットが属するパケットフローが、輻輳状態の変化を引き起こすパケットフローとして記録されているパケットフローであるかどうかを検出し得る。パケットフローが、輻輳状態の変化を引き起こすパケットフローとして記録されている場合、パケットの優先度が変更される。パケットは、別のノードによって上流ノードに送信され得るか、または上流ノードによって生成され得る。
【００９４】
一実施態様では、上流ノードは、最初に第1のパケットを取得し、第1のパケットを取得した後、上流ノードは、第1のパケットが属する第1のパケットフローを判定し得る。第1のパケットフローに対応し、かつフローテーブル内にあるエントリの輻輳マーク項目のコンテンツが第1のマークである場合、第1のパケットのスケジューリング優先度が変更される。第1のパケットの優先度を変更する特定の実施態様については、前述の説明を参照されたい。ここでは詳細は再度説明されない。
【００９５】
別の実施態様では、上流ノードは、最初に第3のパケットを取得し、第3のパケットを取得した後、上流ノードは、第3のパケットが属する第2のパケットフローを判定し得る。第2のパケットフローに対応するエントリが輻輳フローフローテーブル内に存在する場合、第3のパケットの優先度が変更される。第3のパケットの優先度を変更する特定の実施態様については、前述の説明を参照されたい。ここでは詳細は再度説明されない。
【００９６】
記述情報によって示されるパケットフロー内のパケットは、別のノードによって上流ノードに送信され得る。したがって、上流ノードが輻輳分離メッセージを受信した後、上流ノードが、記述情報によって示されるパケットフロー内のパケットが別のノードによって上流ノードに送信されたことを検出した場合、上流ノードは、輻輳分離メッセージをそのノードにさらに送信し得る。輻輳分離メッセージの方法およびノードが輻輳分離メッセージを受信した後の方法については、前述の説明を参照されたい。ここでは詳細は再度説明されない。
【００９７】
前述の実施形態で提供されている方法に対応して、本出願は、対応するネットワークデバイスをさらに提供する。
【００９８】
図9は、本出願によるネットワークデバイスの一実施形態の概略構造図である。ネットワークデバイスは、前述の実施形態におけるノードに配置されてもよいし、またはノードであってもよい。
【００９９】
図9に示されているように、ネットワークデバイスは、輻輳状態の変化を引き起こすパケットフローを検出し、輻輳分離メッセージを生成し、輻輳分離メッセージが、パケットフロー内のパケットの優先度を変更するために使用され、輻輳分離メッセージが、パケットフローの記述情報を含む、ように構成された処理ユニット901と、輻輳分離メッセージを少なくとも1つのノードに送信するように構成された送信ユニット902とを含み得る。
【０１００】
任意選択で、送信ユニット902は、パケットフローを送信する上流ノードに輻輳分離メッセージを送信し、輻輳分離メッセージが、パケットフロー内のパケットのスケジューリング優先度を下げるようにノードに命令すために特に使用される、ように特に構成される。
【０１０１】
任意選択で、輻輳分離メッセージは、イーサタイプが事前定義されたタイプであるパケットである。
【０１０２】
任意選択で、処理ユニット901は、パケットフロー内のパケットのスケジューリング優先度を下げるようにさらに構成される。
【０１０３】
任意選択で、処理デバイスは、パケットフロー内のパケットの優先度指示フィールドのコンテンツを変更し、変更後のコンテンツに対応するスケジューリング優先度が変更前のコンテンツに対応するスケジューリング優先度よりも低くなる、ように、または低優先度の処理キューに入るようにパケットフロー内のパケットを制御し、低優先度の処理キューのスケジューリング優先度が、パケットフロー内のパケットの優先度指示フィールドのコンテンツに対応するスケジューリング優先度よりも低い、ように特に構成される。
【０１０４】
任意選択で、処理ユニット901は、パケットフローに対応し、かつフローテーブル内にあるエントリの輻輳マーク項目のコンテンツを第1のマークに設定し、輻輳マーク項目が、輻輳マーク項目が属するエントリに対応するパケットフローが輻輳フローであるかどうかを記録するために使用され、第1のマークが、輻輳マーク項目が属するエントリに対応するパケットフローが輻輳フローであることを示すために使用される、ようにさらに構成される。
【０１０５】
任意選択で、処理ユニット901は、エントリのタイムスタンプ項目によって記録された時点から始まる所定の期間内にパケットフロー内のパケットが受信されなかった場合に、マーク項目を第2のマークに設定し、第2のマークが、マーク項目が属するエントリに対応するパケットフローが非輻輳フローであることを示すために使用され、タイムスタンプ項目が、パケットフロー内のパケットが最後に受信された時点を記録するために使用される、ようにさらに構成される。
【０１０６】
任意選択で、ネットワークデバイスは、第1のパケットを受信するように構成された受信ユニットをさらに含む。処理ユニット901は、第1のパケットフローに対応し、かつフローテーブル内にあるエントリの輻輳マーク項目のコンテンツが第1のマークである場合に、第1のパケットの優先度が第2のパケットの優先度と異なるように、第1のパケットのスケジューリング優先度を変更し、第2のパケットおよび第1のパケットの両方が、第1のパケットフローに属し、第1のパケットが、輻輳マーク項目のコンテンツが第1のマークに設定された後に受信されるパケットであり、第2のパケットが、輻輳マーク項目のコンテンツが第1のマークに設定される前に受信されるパケットである、ようにさらに構成される。
【０１０７】
任意選択で、本デバイスは、第1のパケットを受信するように構成された受信ユニットをさらに含む。処理ユニット901は、第1のパケットフローに対応し、かつフローテーブル内にあるエントリの輻輳マーク項目のコンテンツが第1のマークである場合に、第1のパケットの優先度が第2のパケットの優先度と異なるように、第1のパケットのスケジューリング優先度を変更し、第2のパケットおよび第1のパケットの両方が、第1のパケットフローに属し、第1のパケットが、輻輳マーク項目のコンテンツが第1のマークに設定された後に受信されるパケットであり、第2のパケットが、輻輳マーク項目のコンテンツが第1のマークに設定される前に受信されるパケットである、ようにさらに構成される。
【０１０８】
任意選択で、処理ユニット901は、パケットフローに対応するエントリを輻輳フローフローテーブルに追加するようにさらに構成される。
【０１０９】
任意選択で、処理ユニット901は、エントリのタイムスタンプ項目によって記録された時点から始まる所定の期間内にパケットフロー内のパケットが受信されなかった場合に、パケットフローに対応するエントリを削除し、タイムスタンプ項目が、パケットフロー内のパケットが最後に受信された時点を記録するために使用される、ようにさらに構成される。
【０１１０】
任意選択で、本デバイスは、第3のパケットを受信するように構成された受信ユニットをさらに含む。処理ユニット901は、第2のパケットフローに対応するエントリが輻輳フローフローテーブル内に存在する場合に、第3のパケットの優先度が第4のパケットの優先度と異なるように、第3のパケットのスケジューリング優先度を変更し、第4のパケットおよび第3のパケットの両方が、第2のパケットフローに属し、第3のパケットが、第2のパケットフローに対応するエントリが輻輳フローフローテーブルに追加された後に受信されるパケットであり、第4のパケットが、第2のパケットフローに対応するエントリが輻輳フローフローテーブルに追加される前に受信されるパケットである、ようにさらに構成される。
【０１１１】
図10は、本出願によるネットワークデバイスの一実施形態の概略構造図である。ネットワークデバイスは、前述の実施形態におけるノードに配置されてもよいし、またはノードであってもよい。
【０１１２】
図10に示されているように、ネットワークデバイスは、輻輳分離メッセージを受信し、輻輳分離メッセージが、記述情報を含む、ように構成された受信ユニット1001と、記述情報によって示されるパケットフロー内のパケットの優先度を変更するように構成された処理ユニット1002とを含み得る。
【０１１３】
任意選択で、処理ユニット1002は、パケットフロー内のパケットのスケジューリング優先度を下げるようにさらに構成される。
【０１１４】
任意選択で、処理ユニット1002は、パケットフロー内のパケットの優先度指示フィールドのコンテンツを変更し、変更後のコンテンツに対応するスケジューリング優先度が変更前のコンテンツに対応するスケジューリング優先度よりも低くなる、ように、または低優先度の処理キューに入るようにパケットフロー内のパケットを制御し、低優先度の処理キューのスケジューリング優先度が、パケットフロー内のパケットの優先度指示フィールドのコンテンツに対応するスケジューリング優先度よりも低い、ようにさらに構成される。
【０１１５】
任意選択で、処理ユニット1002は、パケットフローに対応し、かつフローテーブル内にあるエントリの輻輳マーク項目のコンテンツを第1のマークに設定し、輻輳マーク項目が、輻輳マーク項目が属するエントリに対応するパケットフローが輻輳フローであるかどうかを記録するために使用され、第1のマークが、輻輳マーク項目が属するエントリに対応するパケットフローが輻輳フローであることを示すために使用される、ようにさらに構成される。
【０１１６】
任意選択で、処理ユニット1002は、エントリのタイムスタンプ項目によって記録された時点から始まる所定の期間内にパケットフロー内のパケットが受信されなかった場合に、マーク項目を第2のマークに設定し、第2のマークが、マーク項目が属するエントリに対応するパケットフローが非輻輳フローであることを示すために使用され、タイムスタンプ項目が、パケットフロー内のパケットが最後に受信された時点を記録するために使用される、ようにさらに構成される。
【０１１７】
任意選択で、本デバイスは、第1のパケットを取得するようにさらに構成された受信ユニット1001をさらに含む。処理ユニット1002は、第1のパケットフローに対応し、かつフローテーブル内にあるエントリの輻輳マーク項目のコンテンツが第1のマークである場合に、第1のパケットの優先度が第2のパケットの優先度と異なるように、第1のパケットのスケジューリング優先度を変更し、第2のパケットおよび第1のパケットの両方が、第1のパケットフローに属し、第1のパケットが、輻輳マーク項目のコンテンツが第1のマークに設定された後に取得されるパケットであり、第2のパケットが、輻輳マーク項目のコンテンツが第1のマークに設定される前に取得されるパケットである、ようにさらに構成される。
【０１１８】
任意選択で、処理ユニット1002は、パケットフローに対応するエントリを輻輳フローフローテーブルに追加するようにさらに構成される。
【０１１９】
任意選択で、処理ユニット1002は、エントリのタイムスタンプ項目によって記録された時点から始まる所定の期間内にパケットフロー内のパケットが受信されなかった場合に、パケットフローに対応するエントリを削除し、タイムスタンプ項目が、パケットフロー内のパケットが最後に受信された時点を記録するために使用される、ようにさらに構成される。
【０１２０】
任意選択で、受信ユニット1001は、第3のパケットを取得するようにさらに構成される。処理ユニット1002は、第2のパケットフローに対応するエントリが輻輳フローフローテーブル内に存在する場合に、第3のパケットの優先度が第4のパケットの優先度と異なるように、第3のパケットのスケジューリング優先度を変更し、第4のパケットおよび第3のパケットの両方が、第2のパケットフローに属し、第3のパケットが、第2のパケットフローに対応するエントリが輻輳フローフローテーブルに追加された後に取得されるパケットであり、第4のパケットが、第2のパケットフローに対応するエントリが輻輳フローフローテーブルに追加される前に取得されるパケットである、ようにさらに構成される。
【０１２１】
図11は、本出願によるネットワークデバイスのさらに別の実施形態の概略構造図である。図11に示されているように、ネットワークデバイスは、プロセッサ1101を含み得、メモリ1102および通信モジュール1103をさらに含み得る。
【０１２２】
本デバイスの制御センタとして、プロセッサ1101は、様々なインタフェースおよび配線を使用して本デバイス全体の様々な部分に接続され、メモリ1102に記憶されているソフトウェアプログラムおよび／またはモジュールを動作させまたは実行し、メモリ1102に記憶されているデータを呼び出すことによって、本デバイスの様々な機能および／またはデータ処理を実行する。プロセッサ1101は、中央処理装置（central processing unit、CPU）、ネットワークプロセッサ（network processor、NP）、またはCPUとNPとの組み合わせであり得る。プロセッサ1101は、ハードウェアチップをさらに含み得る。ハードウェアチップは、特定用途向け集積回路（application−specific integrated circuit、ASIC）、プログラマブル論理デバイス（programmable logic device、PLD）、またはこれらの組み合わせであり得る。PLDは、複合プログラマブル論理デバイス（complex programmable logic device、CPLD）、フィールドプログラマブルゲートアレイ（field−programmable gate array、FPGA）、汎用アレイ論理（generic array logic、GAL）、またはこれらの任意の組み合わせであり得る。
【０１２３】
メモリ1102は、揮発性メモリ（volatile memory）、例えばランダムアクセスメモリ（random access memory、RAM）を含み得るし、または不揮発性メモリ（non−volatile memory）、例えばフラッシュメモリ（flash memory）、ハードディスク（hard disk drive、HDD）、またはソリッドステートドライブ（solid−state drive、SSD）を含み得る。メモリは、前述のタイプのメモリの組み合わせをさらに含み得る。メモリ1102は、命令、プログラム、またはコードを記憶し得、本デバイスのプロセッサ1101は、プログラムまたはコードを実行することによって本デバイスの機能を実施し得る。
【０１２４】
通信モジュール1103は、本デバイスと別のデバイスとの間の通信を実施するように構成され得る。本出願の実施形態では、通信モジュール1103は、本デバイスがイーサネット（登録商標）を介して別のデバイスと通信し得るようにイーサネット（登録商標）ポートを提供するよう構成されたモジュールであり得る。例えば、本デバイスがサーバである場合、通信モジュール1103は、ネットワークインタフェースカードであり得る。
【０１２５】
プロセッサ1101は、輻輳状態の変化を引き起こすパケットフローを検出し、輻輳分離メッセージを生成し、輻輳分離メッセージが、パケットフロー内のパケットの優先度を変更するために使用され、輻輳分離メッセージが、パケットフローの記述情報を含み、輻輳分離メッセージを少なくとも1つのノードに送信するように構成され得る。代わりに、プロセッサ1101は、受信された輻輳分離メッセージに含まれる記述情報に基づいて、記述情報によって示されるパケットフロー内のパケットの優先度を変更するように構成され得る。プロセッサ1101によって実施される機能またはプロセッサ1101によって実行される方法のステップについては、前述の実施形態を参照されたい。ここでは詳細は再度説明されない。
【０１２６】
ここでは、前述の実施形態の全部または一部は、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組み合わせによって実施され得ることに留意されたい。ソフトウェアが実施形態を実施するために使用される場合、実施形態の全部または一部は、コンピュータプログラム製品の形態で実施され得る。コンピュータプログラム製品は、1つ以上のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータ上でロードされて実行されると、本出願の前述の実施形態による手順または機能の全部または一部が生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または別のプログラマブル装置であり得る。コンピュータ命令は、コンピュータ可読記憶媒体に記憶され得るし、またはあるコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信され得る。例えば、コンピュータ命令は、有線方式、例えば同軸ケーブル、光ファイバ、もしくはデジタル加入者回線（DSL）で、またはワイヤレス方式、例えば赤外線、無線、またはマイクロ波で、あるウェブサイト、コンピュータ、サーバ、またはデータセンタから別のウェブサイト、コンピュータ、サーバ、またはデータセンタに送信され得る。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の使用可能な媒体、または1つ以上の使用可能な媒体を組み込んだ、サーバもしくはデータセンタなどのデータ記憶デバイスであり得る。使用可能な媒体は、フロッピー（登録商標）ディスク、ハードディスク、もしくは磁気テープなどの磁気媒体、DVDなどの光学媒体、またはソリッドステートドライブ（solid state disk、SSD）などの半導体媒体などであり得る。
【０１２７】
本明細書の実施形態における同じまたは同様の部分については、相互参照されたい。とりわけ、ネットワーク装置およびデバイスに関連する実施形態は、基本的に方法の実施形態と同様であり、したがって簡単に説明されている。関連する部分については、方法の実施形態の説明を参照されたい。
【０１２８】
上で説明された本出願の実施態様は、本出願の保護範囲を限定することを意図されていない。
【符号の説明】
【０１２９】
901  処理ユニット
902  送信ユニット
1001  受信ユニット
1002  処理ユニット
1101  プロセッサ
1102  メモリ
1103  通信モジュール
【図１】
0006938766.tif 000002
【図２】
0006938766.tif 000003
【図３】
0006938766.tif 000004
【図４】
0006938766.tif 000005
【図５】
0006938766.tif 000006
【図６】
0006938766.tif 000007
【図７】
0006938766.tif 000008
【図８】
0006938766.tif 000009
【図９】
0006938766.tif 000010
【図１０】
0006938766.tif 000011
【図１１】
0006938766.tif 000012