(57)【特許請求の範囲】
【請求項１】
リンクアグリゲーショングループインターフェースがシングルボードの異なるチップセットに置かれたメンバーポートを含み、ネットワークデバイスの各リンクアグリゲーショングループインターフェースがクレジットバケットを用いて予め構成され、前記クレジットバケットが各メンバーポートに対応するトークンバケットからあふれるトークンを記憶するために使用され、異なるトークンバケットからあふれる前記トークンが区別することができるようにラベル付けされ、前記クレジットバケットおよび各トークンバケットのバケットパラメータが予め構成され、前記バケットパラメータが前記トークンバケットにトークンを入れるレート、前記トークンバケットの空間、および前記クレジットバケットの空間を含む、前記ネットワークデバイスに適用されるデータトラフィック制限のための方法であって、
送信されるパケットを前記ネットワークデバイスが受信するとき、送信される前記パケットに対応する現在のトークンバケット内のトークンの数が送信される前記パケットを送信するためのトークンの数に達するかどうかを判定するステップと、
前記現在のトークンバケット内のトークンの前記数が送信される前記パケットを送信するためのトークンの前記数に達しない場合、前記現在のトークンバケット内の前記トークンの前記数および前記クレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数の合計が送信される前記パケットを送信するためのトークンの前記数に達するかどうかを判定するステップと、
前記現在のトークンバケット内の前記トークンの前記数および前記クレジットバケット内の前記現在のものでないトークンバケットからあふれるトークンの前記数の前記合計が送信される前記パケットを送信するためのトークンの前記数に達する場合、送信される前記パケットを送信し、それに対応して、前記現在のトークンバケット内のトークンおよび前記クレジットバケット内のトークンの前記数を減らすステップとを含む、方法。
【請求項２】
各トークンバケットのためのデビットバケットを予め構成することであって、前記デビットバケットが、予め設定された公平なスケジューリングアルゴリズムに従って各デビットバケットから前記クレジットバケットがトークンを取得するように、シングルボードの同じチップセットに属するトークンバケットからあふれるトークンを記憶するために使用される、予め構成すること、および予め設定された空間決定方法に従って前記デビットバケットの空間を設定することであって、各デビットバケットの前記空間の合計が、認定バーストサイズ全体またはピークバーストサイズに等しく、前記予め設定された空間決定方法が、空間均等分割決定方法または空間重み決定方法を含む、設定することを行うステップをさらに含む請求項1に記載の方法。
【請求項３】
予め設定された数の最も最近の期間において、前記現在のトークンバケットの前記クレジットバケットからトークンを借りることについての借用情報が予め設定されたバケット調整条件を満たす場合、前記現在のトークンバケットの前記借用情報に従って、前記現在のトークンバケットにトークンを入れる前記レートを、トークンを入れる最初のレートからトークンを入れる新しいレートに増やすステップであって、前記借用情報が、借りられるトークンの数、借りる割合、および/またはトークンを借りるための回数を含む、ステップをさらに含む請求項1または2に記載の方法。
【請求項４】
前記現在のトークンバケットにトークンを入れる前記新しいレート、およびトークンを入れる前記レートと前記トークンバケットの前記空間との間の対応する関係に従って前記現在のトークンバケットの前記空間を調整するステップと、
減らされた空間の合計が増やされた空間の合計に等しいように、前記現在のトークンバケットによって前記クレジットバケットから借りられるトークンのラベル分配情報に従って、前記現在のトークンバケット以外の対応するトークンバケットの調整される空間を決定するステップとをさらに含む請求項3に記載の方法。
【請求項５】
予め設定された数の最も最近の期間において、前記現在のトークンバケットの前記クレジットバケットからトークンを借りることについての借用情報が予め設定されたバケット調整条件を満たす場合、前記現在のトークンバケットの前記借用情報に従って前記現在のトークンバケットの前記空間を増やすステップであって、前記借用情報が、借りられるトークンの数、借りる割合、および/またはトークンを借りるための回数を含む、ステップと、
前記現在のトークンバケットの前記クレジットバケットから借りられるトークンのラベル分配情報に従って、前記現在のトークンバケット以外の対応するトークンバケットの前記空間を減らすステップであって、減らされた空間の合計が、増やされた空間の合計に等しい、ステップと、
各トークンバケットの再び決定された空間およびトークンを入れる前記レートを計算するための方法に従って、各トークンバケットにトークンを入れる新しいレートを決定するステップとをさらに含む請求項1または2に記載の方法。
【請求項６】
前記現在のトークンバケット内の前記トークンの前記数および前記クレジットバケット内の前記現在のものでないトークンバケットからあふれるトークンの前記数の前記合計が送信される前記パケットを送信するためのトークンの前記数に達するかどうかを判定する前記ステップが、
前記現在のトークンバケット内のトークンの前記数と送信される前記パケットを送信するためのトークンの前記数との間のトークンの差を判定するステップと、
前記クレジットバケット内の前記現在のものでないトークンバケットからあふれるトークンの前記数がトークンの前記差以上であるかどうかを判定するステップと、
前記クレジットバケット内の前記現在のものでないトークンバケットからあふれるトークンの前記数がトークンの前記差以上である場合、前記現在のトークンバケット内の前記トークンの前記数および前記クレジットバケット内の前記現在のものでないトークンバケットからあふれるトークンの前記数の前記合計が送信される前記パケットを送信するためのトークンの前記数に達すると判定するステップと、
前記クレジットバケット内の前記現在のものでないトークンバケットからあふれるトークンの前記数がトークンの前記差よりも少ない場合、前記現在のトークンバケット内のトークンの前記数および前記クレジットバケット内の前記現在のものでないトークンバケットからあふれるトークンの前記数の前記合計が送信される前記パケットを送信するためのトークンの前記数に達しないと判定するステップとを含む請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記現在のトークンバケット内の前記トークンの前記数および前記クレジットバケット内の前記現在のものでないトークンバケットからあふれるトークンの前記数の前記合計が送信される前記パケットを送信するためのトークンの前記数に達しない場合、送信される前記パケットを破棄するか、または送信される前記パケットを再びラベル付けするステップをさらに含む請求項1から6のいずれか一項に記載の方法。
【請求項８】
前記クレジットバケットおよび各トークンバケットの前記バケットパラメータを予め構成する前記ステップが、
トークンを入れるレートを決定するための予め設定された方法に従って、各トークンバケットにトークンを入れる前記レートを決定するステップであって、各トークンバケットにトークンを入れる前記レートの合計が前記リンクアグリゲーショングループインターフェースの認定情報速度全体または前記リンクアグリゲーショングループインターフェースのピーク情報速度に等しく、トークンを入れる前記レートを決定するための前記予め設定された方法が、レート均等分割決定方法またはレート重み決定方法を含む、決定するステップと、
予め設定された空間決定方法に従って、各トークンバケットの前記空間を決定するステップであって、各トークンバケットの前記空間の合計が前記リンクアグリゲーショングループインターフェースの認定バーストサイズ全体または前記リンクアグリゲーショングループインターフェースのピークバーストサイズに等しく、前記予め設定された空間決定方法が、空間均等分割決定方法または空間重み決定方法を含む、決定するステップとを含み、
前記クレジットバケットの前記空間が、前記認定バーストサイズ全体または前記ピークバーストサイズに等しい請求項1から5のいずれか一項に記載の方法。
【請求項９】
前記クレジットバケットが予め設定された条件を満たす場合、前記クレジットバケット内の前記トークンを破棄するステップをさらに含み、
前記クレジットバケットが予め設定された条件を満たす場合、前記クレジットバケット内の前記トークンを破棄するステップが、
前記クレジットバケット内のトークンが予め設定された継続時間を超える場合、予め設定された公平なスケジューリングアルゴリズムに従って前記トークンを破棄するステップと、
トークンバケット内のトークンがないことが検出される場合、現在の期間の前に前記クレジットバケットに記憶され、前記トークンバケットからあふれる前記トークンを破棄するステップとを含む請求項8に記載の方法。
【請求項１０】
第1の事前構成ユニットと、受信ユニットと、第1の判定ユニットと、第2の判定ユニットと、送信ユニットと、トークン管理ユニットとを含み、
前記第1の事前構成ユニットが、ネットワークデバイスの各リンクアグリゲーショングループインターフェースのためにクレジットバケットを予め構成することであって、前記クレジットバケットが、各トークンバケットからあふれるトークンを記憶するために使用され、異なるトークンバケットからあふれる前記トークンが、区別することができるようにラベル付けされる、予め構成することと、前記クレジットバケットおよび各トークンバケットに関するバケットパラメータを予め構成することであって、前記バケットパラメータが、前記トークンバケットにトークンを入れるレート、前記トークンバケットの空間、および前記クレジットバケットの空間を含む、予め構成することとを行うように構成され、
前記受信ユニットが、送信されるパケットを受信するように構成され、
前記第1の判定ユニットが、送信される前記パケットに対応する現在のトークンバケット内のトークンの数が送信される前記パケットを送信するためのトークンの数に達するかどうかを判定するように構成され、
前記第2の判定ユニットが、前記現在のトークンバケット内のトークンの前記数が送信される前記パケットを送信するためのトークンの前記数に達しない場合、前記現在のトークンバケット内の前記トークンの前記数および前記クレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数の合計が送信される前記パケットを送信するためのトークンの前記数に達するかどうかを判定するように構成され、
前記送信ユニットが、前記現在のトークンバケット内の前記トークンの前記数および前記クレジットバケット内の前記現在のものでないトークンバケットからあふれるトークンの前記数の前記合計が送信される前記パケットを送信するためのトークンの前記数に達する場合、送信される前記パケットを送信するように構成され、
前記トークン管理ユニットが、それに対応して、前記現在のトークンバケット内のトークンおよび前記クレジットバケット内のトークンの前記数を減らすように構成されるデータトラフィック制限のための装置。
【請求項１１】
各トークンバケットのためのデビットバケットを予め構成し、予め設定された空間決定方法に従って前記デビットバケットの空間を設定するように構成された第2の事前構成ユニットであって、各デビットバケットの前記空間の合計が、認定バーストサイズ全体またはピークバーストサイズに等しく、前記予め設定された空間決定方法が、空間均等分割決定方法または空間重み決定方法を含み、前記デビットバケットが、予め設定された公平なスケジューリングアルゴリズムに従って各デビットバケットから等しくトークンを取得するように、シングルボードの同じチップセットに属するトークンバケットからあふれるトークンを記憶するために使用される、第2の事前構成ユニットをさらに含む請求項10に記載の装置。
【請求項１２】
予め設定された数の最も最近の期間において、前記クレジットバケットから前記現在のトークンバケットによって借りられたトークンの前記数が第1の閾値を超える場合、前記現在のトークンバケットの借用情報に従って、前記現在のトークンバケットにトークンを入れる前記レートを、トークンを入れる最初のレートからトークンを入れる新しいレートに増やすように構成された第2のトークン投入レート調整ユニットであって、前記借用情報が、借りられるトークンの数、借りる割合、および/またはトークンを借りるための回数を含む、第2のトークン投入レート調整ユニットをさらに含む請求項10または11に記載の装置。
【請求項１３】
前記現在のトークンバケットにトークンを入れる前記新しいレート、およびトークンを入れる前記レートと前記トークンバケットの前記空間との間の対応する関係に従って前記現在のトークンバケットの前記空間を調整するように構成された第3の空間調整ユニットと、
減らされた空間の合計が増やされた空間の合計に等しいように、前記現在のトークンバケットの前記クレジットバケットから借りられるトークンのラベル分配情報に従って、前記現在のトークンバケット以外の対応するトークンバケットの調整される空間を決定するように構成された第4の空間調整ユニットとをさらに含む請求項12に記載の装置。
【請求項１４】
予め設定された数の最も最近の期間において、前記クレジットバケットから前記現在のトークンバケットによって借りられたトークンの前記数が第1の閾値を超える場合、前記現在のトークンバケットの借用情報に従って前記トークンバケットの前記空間を増やすように構成された第1の空間調整ユニットであって、前記借用情報が、前記トークンのラベルおよび借りる前記対応する量を含む、第1の空間調整ユニットと、
前記現在のトークンバケットによって前記クレジットバケットから借りられるトークンのラベル分配情報に従って、前記現在のトークンバケット以外の対応するトークンバケットの前記空間を減らすように構成された第2の空間調整ユニットであって、減らされた空間の合計が、増やされた空間の合計に等しい、第2の空間調整ユニットと、
各トークンバケットの再び決定された空間およびトークンを入れる前記レートを計算するための方法に従って、各トークンバケットにトークンを入れる新しいレートを決定するように構成された第1のトークン投入レート調整ユニットとをさらに含む請求項10または11に記載の装置。
【請求項１５】
前記第2の判定ユニットが、
前記現在のトークンバケット内のトークンの前記数と送信される前記パケットを送信するためのトークンの前記数との間のトークンの差を判定するように構成された判定サブユニットと、
前記クレジットバケット内の前記現在のものでないトークンバケットからあふれるトークンの前記数がトークンの前記差以上であるかどうかを判定するように構成された判定サブユニットと、
前記クレジットバケット内の前記現在のものでないトークンバケットからあふれるトークンの前記数がトークンの前記差以上である場合、前記現在のトークンバケット内の前記トークンの前記数および前記クレジットバケット内の前記現在のものでないトークンバケットからあふれるトークンの前記数の前記合計が送信される前記パケットを送信するためのトークンの前記数に達すると判定するように構成された第1の判定サブユニットと、
前記クレジットバケット内の前記現在のものでないトークンバケットからあふれるトークンの前記数がトークンの前記差よりも少ない場合、前記現在のトークンバケット内のトークンの前記数および前記クレジットバケット内の前記現在のものでないトークンバケットからあふれるトークンの前記数の前記合計が送信される前記パケットを送信するためのトークンの前記数に達しないと判定するように構成された第2の判定サブユニットとを含む請求項10から14のいずれか一項に記載の装置。
【請求項１６】
パケット処理ユニットをさらに含み、
前記パケット処理ユニットが、前記現在のトークンバケット内の前記トークンの前記数および前記クレジットバケット内の前記現在のものでないトークンバケットからあふれるトークンの数の前記合計が送信される前記パケットを送信するためのトークンの前記数に達しない場合、送信される前記パケットを破棄するように構成されるか、または
前記現在のトークンバケット内の前記トークンの前記数および前記クレジットバケット内の前記現在のものでないトークンバケットからあふれるトークンの前記数の前記合計が送信される前記パケットを送信するためのトークンの前記数に達しない場合、送信される前記パケットを再びラベル付けするように構成される請求項10から15のいずれか一項に記載の装置。
【請求項１７】
前記第1の事前構成ユニットが、
トークンを入れるレートを決定するための予め設定された方法に従って、各トークンバケットにトークンを入れるレートを決定するように構成されたトークン投入レート構成ユニットであって、各トークンバケットにトークンを入れる前記レートの合計が前記リンクアグリゲーショングループインターフェースの認定情報速度全体または前記リンクアグリゲーショングループインターフェースのピーク情報速度に等しく、トークンを入れる前記レートを決定するための前記予め設定された方法が、レート均等分割決定方法またはレート重み決定方法を含む、トークン投入レート構成ユニットと、
予め設定された空間決定方法に従って、各トークンバケットの前記空間を決定するように構成された第1の空間構成ユニットであって、各トークンバケットの前記空間の合計が前記リンクアグリゲーショングループインターフェースの認定バーストサイズ全体または前記リンクアグリゲーショングループインターフェースのピークバーストサイズに等しく、前記予め設定された空間決定方法が、空間均等分割決定方法または空間重み決定方法を含む、第1の空間構成ユニットと、
前記クレジットバケットの前記空間を前記認定バーストサイズ全体または前記ピークバーストサイズとして構成するように構成された第2の空間構成ユニットとを含む請求項10から15のいずれか一項に記載の装置。
【請求項１８】
請求項10から17のいずれか一項に記載のデータトラフィック制限のための装置を含むネットワークデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、参照によりその全体が本明細書に組み込まれる、2014年1月29日に出願した、「METHOD AND APPARATUS FOR DATA TRAFFIC RESTRICTION」と題した中国特許出願第201410043708.5号の優先権を主張するものである。
【０００２】
本発明は、ネットワーク通信テクノロジーの分野に関し、特に、データトラフィック制限のための方法および装置に関する。
【背景技術】
【０００３】
通信ネットワークにおいては、特定のリンク上のデータトラフィックが、サービスプロバイダと締結されたサービス品質保証契約を超える可能性があり、このとき、通信ネットワーク内のその他のリンクの帯域幅は、このリンクによって占有され、したがって、その他のリンクが正常な帯域幅のサービスを得ることができない結果となる。この状況では、通信ネットワークの正常な動作を保証するために、リンク上のデータトラフィックがサービス品質保証契約で締結された帯域幅のサービスを超えることを防止するように、リンク上のデータトラフィックの制限が通信ネットワークの入り口において実行される必要がある。
【０００４】
トークンバケットは、よくあるデータトラフィック制限テクノロジーであり、ネットワークデバイス内のストレージプールであり、トークンは、所与のレートでトークンバケットを満たす仮想的な情報パケットを指す。リンクに割り振られたデータトラフィックに応じてトークンバケットにトークンを入れ、リンク上の実際のデータトラフィックに応じてトークンバケットからトークンを取り出す。トークンバケット内にトークンがないとき、データはもはやこのリンクに送信され得ない。普通、ネットワークデバイスは、シングルボードの各チップセットのためにトークンバケットを構成し、トークンバケットにトークンを入れるレートが実際のデータトラフィックよりも大きい場合、トークンバケットが満杯になった後に受け取られたトークンは破棄され、トークンバケットにトークンを入れるレートが実際のデータトラフィック未満である場合、トークンバケットがトークンを使い果たした後、データはもはや送信され得ない。しかし、このトークンアクセスモードは、リンク・アグリゲーション・グループ・インターフェースのその他のリンクの残りのデータトラフィックを十分に活用し得ない。
【０００５】
積層デバイス(stacked device)を横切る(シングルボードを横切る)メンバーポートを含むリンク・アグリゲーション・グループ・インターフェース(Eth-Trunk)に関するネットワークトポロジーの概略図である図1に示されるように、リンク・アグリゲーション・グループ・インターフェースは、2つのメンバーポートを含み、2つのメンバーポートは、それぞれ、リンクを介して積層デバイスの2つの異なるチップセットに至る。図1に示されるリンク・アグリゲーション・グループ・インターフェースに関しては、データトラフィック制限のための2つの通常の方法がある。
【０００６】
1つの方法は、リンク・アグリゲーション・グループ・インターフェースのために設定されるCIR(Committed Information Rate、認定情報速度)全体をリンク・アグリゲーション・グループ・インターフェースの各メンバーポートに同期して分散することであり、図1に示されたリンク・アグリゲーション・グループ・インターフェースのために構成されたCIR全体が100Mであるとすると、このリンク・アグリゲーション・グループ・インターフェースの各メンバーポートによって通過することを許されるデータトラフィックも100Mであり、2つのメンバーポートによって通過することを許されるデータトラフィックの合計は200Mであり、これは、100Mとして設定されたCIR全体に一致しない。
【０００７】
もう1つの方法は、統計的な推定方法で重みを設定することであり、図1に示されたリンク・アグリゲーション・グループ・インターフェースのために構成されたCIR全体が100Mであるとすると、2つのメンバーポートのための重みは1:1であり、つまり、2つのメンバーポートの各々の制限されたデータトラフィックは50Mである。1つのメンバーポートに配分されたデータトラフィックが60Mであり、一方、別のメンバーポートに配分されたデータトラフィックが40Mである場合、1つのメンバーポートによって通過することを許される最大限のデータトラフィックは50Mであり、2つのメンバーポート上の実際のデータトラフィックは50M+40M=90Mであり、これは、サービスプロバイダによって必要とされる予測される全体的なデータトラフィック、すなわち、100Mを満たすことができない。データトラフィック制限のためのこの方法においては、リンク・アグリゲーション・グループ・インターフェースの各メンバーポート上の実際のデータトラフィックが各メンバーポートに割り振られたデータトラフィックを超えることができず、特定のメンバーポート上の実際のデータトラフィックがこのメンバーポート上の制限されたデータトラフィック未満であるとき、リンク・アグリゲーション・グループ・インターフェース全体の全体的なデータトラフィックは予め設定された全体的なデータトラフィック未満である。
【０００８】
結論として、データトラフィック制限のための2つの通常の方法においては、リンク・アグリゲーション・グループ・インターフェースのCIR全体またはリンク・アグリゲーション・グループ・インターフェースのPIR(Peak Information Rate、ピーク情報速度)全体に応じてリンク・アグリゲーション・グループ・インターフェースの各メンバーポート上のデータトラフィックの実際の分配状況を維持することが非常に難しい。
【発明の概要】
【課題を解決するための手段】
【０００９】
本発明の実施形態は、データトラフィック制限のための既存の方法がリンク・アグリゲーション・グループ・インターフェースに関する予め設定されたデータトラフィック全体に応じてデータトラフィックを正確に制御することができないという技術的問題を解決するためにデータトラフィック制限のための方法および装置を提供する。
【００１０】
上述の技術的な問題を解決するために、本発明の実施形態は、以下の技術的な解決策を開示する。
【００１１】
第1の態様において、本発明は、リンク・アグリゲーション・グループ・インターフェースが異なるシングルボードのチップセットに置かれたメンバーポートを含み、ネットワークデバイスの各リンク・アグリゲーション・グループ・インターフェースがクレジットバケット(credit bucket)を用いて予め構成され、クレジットバケットが各メンバーポートに対応するトークンバケットからあふれるトークンを記憶するために使用され、異なるトークンバケットからあふれる前記トークンが区別することができるようにラベル付けされ、クレジットバケットおよび各トークンバケットのバケットパラメータが予め構成され、バケットパラメータがトークンバケットにトークンを入れるレート、トークンバケットの空間、およびクレジットバケットの空間を含む、ネットワークデバイスに適用されるデータトラフィック制限のための方法であって、
送信されるパケットを受信するとき、送信されるパケットに対応する現在のトークンバケット内のトークンの数が送信されるパケットを送信するためのトークンの数に達するかどうかを判定するステップと、
現在のトークンバケット内のトークンの数が送信されるパケットを送信するためのトークンの数に達しない場合、現在のトークンバケット内のトークンの数およびクレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数の合計が送信されるパケットを送信するためのトークンの数に達するかどうかを判定するステップと、
現在のトークンバケット内のトークンおよびクレジットバケット内のトークンの数の合計が送信されるパケットを送信するためのトークンの数に達する場合、送信されるパケットを送信し、それに対応して、現在のトークンバケット内のトークンおよびクレジットバケット内のトークンの数を減らすステップとを含む、方法を提供する。
【００１２】
第1の態様に関連して、第1の態様の第1のあり得る実装においては、現在のトークンバケット内のトークンおよびクレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数の合計が送信されるパケットを送信するためのトークンの数に達するかどうかを判定するステップが、
現在のトークンバケット内のトークンの数と送信されるパケットを送信するためのトークンの数との間のトークンの差を判定するステップと、
クレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数がトークンの差以上であるかどうかを判定するステップと、
クレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数がトークンの差以上である場合、現在のトークンバケット内のトークンおよびクレジットバケット内のトークンの数の合計が送信されるパケットを送信するためのトークンの数に達すると判定するステップと、
クレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数がトークンの差よりも少ない場合、現在のトークンバケット内のトークンおよびクレジットバケット内のトークンが送信されるパケットを送信するためのトークンの数に達しないと判定するステップとを含む。
【００１３】
第1の態様または第1の態様の第1のあり得る実装に関連して、第1の態様の第2のあり得る実装においては、方法が、現在のトークンバケット内のトークンの数およびクレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数の合計が送信されるパケットを送信するためのトークンの数に達しない場合、送信されるパケットを破棄するか、または送信されるパケットを再びラベル付けするステップをさらに含む。
【００１４】
第1の態様に関連して、第1の態様の第3のあり得る実装においては、クレジットバケットおよび各トークンバケットのバケットパラメータを予め構成するステップが、
トークンを入れるレートを決定するための予め設定された方法に従って、各トークンバケットにトークンを入れるレートを決定するステップであって、各トークンバケットにトークンを入れるレートの合計がリンク・アグリゲーション・グループ・インターフェースの認定情報速度全体またはリンク・アグリゲーション・グループ・インターフェースのピーク情報速度に等しく、トークンを入れるレートを決定するための予め設定された方法が、レート均等分割決定方法またはレート重み決定方法を含む、決定するステップと、
予め設定された空間決定方法に従って、各トークンバケットの空間を決定するステップであって、各トークンバケットの空間の合計がリンク・アグリゲーション・グループ・インターフェースの認定バーストサイズ(committed burst size)全体またはリンク・アグリゲーション・グループ・インターフェースのピークバーストサイズ(peak burst size)に等しく、予め設定された空間決定方法が、空間均等分割決定方法または空間重み決定方法を含む、決定するステップとを含み、
クレジットバケットの空間が、認定バーストサイズ全体またはピークバーストサイズに等しい。
【００１５】
第1の態様の第3のあり得る実装に関連して、第1の態様の第4のあり得る実装においては、方法が、クレジットバケットが予め設定された条件を満たす場合、クレジットバケット内のトークンを破棄するステップをさらに含み、
クレジットバケットが予め設定された条件を満たす場合、クレジットバケット内のトークンを破棄するステップが、
クレジットバケット内のトークンが予め設定された継続時間を超える場合、予め設定された公平なスケジューリングアルゴリズムに従ってトークンを破棄するステップと、
トークンバケット内のトークンがないことが検出される場合、現在の期間の前にクレジットバケットに記憶され、トークンバケットからあふれるトークンを破棄するステップとを含む。
【００１６】
第1の態様に関連して、第1の態様の第5のあり得る実装においては、方法が、
各トークンバケットのためのデビットバケット(debit bucket)を予め構成することであって、デビットバケットが、予め設定された公平なスケジューリングアルゴリズムに従って各デビットバケットからクレジットバケットがトークンを取得するように、シングルボードの同じチップセットに属するトークンバケットからあふれるトークンを記憶するために使用される、予め構成すること、および予め設定された空間決定方法に従ってデビットバケットの空間を設定することであって、各デビットバケットの空間の合計が、認定バーストサイズ全体またはピークバーストサイズに等しく、予め設定された空間決定方法が、空間均等分割決定方法または空間重み決定方法を含む、設定することを行うステップをさらに含む。
【００１７】
第1の態様、第1の態様の第1のあり得る実装、第1の態様の第3のあり得る実装、第1の態様の第4のあり得る実装、または第1の態様の第5のあり得る実装に関連して、第1の態様の第6のあり得る実装においては、方法が、
予め設定された数の最も最近の期間において、現在のトークンバケットのクレジットバケットからトークンを借りることについての借用情報が予め設定されたバケット調整条件を満たす場合、現在のトークンバケットの借用情報に従って現在のトークンバケットの空間を増やすステップであって、借用情報が、借りられるトークンの数、借りる割合、および/またはトークンを借りるための回数を含む、ステップと、
現在のトークンバケットのクレジットバケットから借りられるトークンのラベル分配情報に従って、現在のトークンバケット以外の対応するトークンバケットの空間を減らすステップであって、減らされた空間の合計が、増やされた空間の合計に等しい、減らすステップと、
各トークンバケットの再び決定された空間およびトークンを入れるレートを計算するための方法に従って、各トークンバケットにトークンを入れる新しいレートを決定するステップとをさらに含む。
【００１８】
第1の態様、第1の態様の第1のあり得る実装、第1の態様の第3のあり得る実装、第1の態様の第4のあり得る実装、または第1の態様の第5のあり得る実装に関連して、第1の態様の第7のあり得る実装においては、方法が、
予め設定された数の最も最近の期間において、現在のトークンバケットのクレジットバケットからトークンを借りることについての借用情報が予め設定されたバケット調整条件を満たす場合、現在のトークンバケットの借用情報に従って、現在のトークンバケットにトークンを入れるレートを、トークンを入れる最初のレートからトークンを入れる新しいレートに増やすステップであって、借用情報が、借りられるトークンの数、借りる割合、および/またはトークンを借りるための回数を含む、ステップをさらに含む。
【００１９】
第1の態様の第7のあり得る実装に関連して、第1の態様の第8のあり得る実装においては、方法が、
現在のトークンバケットにトークンを入れる新しいレート、およびトークンを入れるレートとトークンバケットの空間との間の対応する関係に従って現在のトークンバケットの空間を調整するステップと、
減らされた空間の合計が増やされた空間の合計に等しいように、現在のトークンバケットのクレジットバケットから借りられるトークンのラベル分配情報に従って、現在のトークンバケット以外の対応するトークンバケットの調整される空間を決定するステップとをさらに含む。
【００２０】
第2の態様において、本発明は、第1の事前構成ユニットと、受信ユニットと、第1の判定ユニットと、第2の判定ユニットと、送信ユニットと、トークン管理ユニットとを含み、
第1の事前構成ユニットが、ネットワークデバイスの各リンク・アグリゲーション・グループ・インターフェースのためにクレジットバケットを予め構成することであって、クレジットバケットが、各トークンバケットからあふれるトークンを記憶するために使用され、異なるトークンバケットからあふれるトークンが、区別することができるようにラベル付けされる、予め構成することと、クレジットバケットおよび各トークンバケットに関するバケットパラメータを予め構成することであって、バケットパラメータが、トークンバケットにトークンを入れるレート、トークンバケットの空間、およびクレジットバケットの空間を含む、予め構成することとを行うように構成され、
受信ユニットが、送信されるパケットを受信するように構成され、
第1の判定ユニットが、送信されるパケットに対応する現在のトークンバケット内のトークンの数が送信されるパケットを送信するためのトークンの数に達するかどうかを判定するように構成され、
第2の判定ユニットが、現在のトークンバケット内のトークンの数が送信されるパケットを送信するためのトークンの数に達しない場合、現在のトークンバケット内のトークンの数およびクレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数の合計が送信されるパケットを送信するためのトークンの数に達するかどうかを判定するように構成され、
送信ユニットが、現在のトークンバケット内のトークンおよびクレジットバケット内のトークンの数の合計が送信されるパケットを送信するためのトークンの数に達する場合、送信されるパケットを送信するように構成され、
トークン管理ユニットが、それに対応して、現在のトークンバケット内のトークンおよびクレジットバケット内のトークンの数を減らすように構成されるデータトラフィック制限のための装置も提供する。
【００２１】
第2の態様に関連して、第2の態様の第1のあり得る実装においては、第2の判定ユニットが、
現在のトークンバケット内のトークンの数と送信されるパケットを送信するためのトークンの数との間のトークンの差を判定するように構成された判定サブユニットと、
クレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数がトークンの差以上であるかどうかを判定するように構成された判定サブユニットと、
クレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数がトークンの差以上である場合、現在のトークンバケット内のトークンおよびクレジットバケット内のトークンの数の合計が送信されるパケットを送信するためのトークンの数に達すると判定するように構成された第1の判定サブユニットと、
クレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数がトークンの差よりも少ない場合、現在のトークンバケット内のトークンおよびクレジットバケット内のトークンが送信されるパケットを送信するためのトークンの数に達しないと判定するように構成された第2の判定サブユニットとを含む。
【００２２】
第2の態様または第2の態様の第1のあり得る実装に関連して、第2の態様の第2のあり得る実装においては、装置が、パケット処理ユニットをさらに含み、
パケット処理ユニットが、現在のトークンバケット内のトークンの数およびクレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数の合計が送信されるパケットを送信するためのトークンの数に達しない場合、送信されるパケットを破棄するように構成されるか、または
現在のトークンバケット内のトークンの数およびクレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数の合計が送信されるパケットを送信するためのトークンの数に達しない場合、送信されるパケットを再びラベル付けするように構成される。
【００２３】
第2の態様または第2の態様の第1のあり得る実装に関連して、第2の態様の第3のあり得る実装においては、第1の事前構成ユニットが、
トークンを入れるレートを決定するための予め設定された方法に従って、各トークンバケットにトークンを入れるレートを決定するように構成されたトークン投入レート構成ユニットであって、各トークンバケットにトークンを入れるレートの合計がリンク・アグリゲーション・グループ・インターフェースの認定情報速度全体またはリンク・アグリゲーション・グループ・インターフェースのピーク情報速度に等しく、トークンを入れるレートを決定するための予め設定された方法が、レート均等分割決定方法またはレート重み決定方法を含む、トークン投入レート構成ユニットと、
予め設定された空間決定方法に従って、各トークンバケットの空間を決定するように構成された第1の空間構成ユニットであって、各トークンバケットの空間の合計がリンク・アグリゲーション・グループ・インターフェースの認定バーストサイズ全体またはリンク・アグリゲーション・グループ・インターフェースのピークバーストサイズに等しく、予め設定された空間決定方法が、空間均等分割決定方法または空間重み決定方法を含む、第1の空間構成ユニットと、
クレジットバケットの空間を認定バーストサイズ全体またはピークバーストサイズとして構成するように構成された第2の空間構成ユニットとを含む。
【００２４】
第2の態様に関連して、第2の態様の第4のあり得る実装においては、装置が、
各トークンバケットのためのデビットバケットを予め構成し、予め設定された空間決定方法に従ってデビットバケットの空間を設定するように構成された第2の事前構成ユニットであって、各デビットバケットの空間の合計が、認定バーストサイズ全体またはピークバーストサイズに等しく、予め設定された空間決定方法が、空間均等分割決定方法または空間重み決定方法を含み、デビットバケットが、予め設定された公平なスケジューリングアルゴリズムに従って各デビットバケットから等しくトークンを取得するように、シングルボードの同じチップセットに属するトークンバケットからあふれるトークンを記憶するために使用される、第2の事前構成ユニットをさらに含む。
【００２５】
第2の態様、第2の態様の第1のあり得る実装、または第2の態様の第4のあり得る実装に関連して、第2の態様の第5のあり得る実装においては、装置が、
予め設定された数の最も最近の期間において、クレジットバケットから現在のトークンバケットによって借りられるトークンの数が第1の閾値を超える場合、現在のトークンバケットの借用情報に従ってトークンバケットの空間を増やすように構成された第1の空間調整ユニットであって、借用情報が、トークンのラベルおよび借りる対応する量を含む、第1の空間調整ユニットと、
現在のトークンバケットのクレジットバケットから借りられるトークンのラベル分配情報に従って、現在のトークンバケット以外の対応するトークンバケットの空間を減らすように構成された第2の空間調整ユニットであって、減らされた空間の合計が、増やされた空間の合計に等しい、第2の空間調整ユニットと、
各トークンバケットの再び決定された空間およびトークンを入れるレートを計算するための方法に従って、各トークンバケットにトークンを入れる新しいレートを決定するように構成された第1のトークン投入レート調整ユニットとをさらに含む。
【００２６】
第2の態様、第2の態様の第1のあり得る実装、または第2の態様の第4のあり得る実装に関連して、第2の態様の第6のあり得る実装においては、装置が、
予め設定された数の最も最近の期間において、クレジットバケットから現在のトークンバケットによって借りられたトークンの数が第1の閾値を超える場合、現在のトークンバケットの借用情報に従って、現在のトークンバケットにトークンを入れるレートを、トークンを入れる最初のレートからトークンを入れる新しいレートに増やすように構成された第2のトークン投入レート調整ユニットであって、借用情報が、借りられるトークンの数、借りる割合、および/またはトークンを借りるための回数を含む、第2のトークン投入レート調整ユニットをさらに含む。
【００２７】
第2の態様の第6のあり得る実装に関連して、第2の態様の第7のあり得る実装においては、装置が、
現在のトークンバケットにトークンを入れる新しいレート、およびトークンを入れるレートとトークンバケットの空間との間の対応する関係に従って現在のトークンバケットの空間を調整するように構成された第3の空間調整ユニットと、
減らされた空間の合計が増やされた空間の合計に等しいように、現在のトークンバケットのクレジットバケットから借りられるトークンのラベル分配情報に従って、現在のトークンバケット以外の対応するトークンバケットの調整される空間を決定するように構成された第4の空間調整ユニットとをさらに含む。
【００２８】
第3の態様において、本発明は、第2の態様による装置のうちのいずれか1つを含むネットワークデバイスを提供する。
【００２９】
上述の技術的な解決策から分かるように、本発明において提供されるデータトラフィック制限のための方法は、まず、ネットワークデバイスの各リンク・アグリゲーション・グループ・インターフェースのために、各トークンバケットからあふれるトークンを記憶するためのクレジットバケットを構成することであって、異なるトークンバケットからあふれるトークンが、区別することができるようにラベル付けされる、構成することと、送信されるパケットを受信するとき、まず、送信されるパケットに対応するトークンバケット内のトークンの数が送信されるパケットを送信するための数に達するかどうかを判定し、トークンバケット内のトークンの数が送信されるパケットを送信するために十分でない場合、現在のものでないトークンバケットからあふれるトークンをクレジットバケットから借り、現在のトークンバケットのトークンおよび借りられたトークンが送信されるパケットを送信するのに十分である場合、送信されるパケットを送信し、一方、現在のトークンバケット内およびクレジットバケット内の対応するトークンの数を減らすこととを行う。ネットワーク機器の各リンク・アグリゲーション・グループ・インターフェースの複数のリンク上のデータトラフィックの動的制限が、リンク・アグリゲーション・グループ・インターフェースのメンバーポート上のデータトラフィックの合計がリンク・アグリゲーション・グループ・インターフェースに関する制限された全体的なデータトラフィックとより一致させられ得るように実現される。
【００３０】
本発明の実施形態または従来技術における技術的な解決策をより明瞭に説明するために、以下で、実施形態または従来技術を説明するために必要とされる添付の図面を簡単に紹介する。明らかに、当業者は、いかなる創造的な努力もなしにこれらの添付の図面からその他の図面を導き出すことがやはり可能である。
【図面の簡単な説明】
【００３１】
【図１】クロスフレーム(cross-frame)・リンク・アグリゲーション・グループ・インターフェースの概略構造図である。
【図２】本発明の実施形態によるデータトラフィック制限のための方法の概略的な流れ図である。
【図３】本発明の実施形態による図1の特定の応用の筋書きの概略図である。
【図４】図1に示されたリンク・アグリゲーション・グループ・インターフェースのデータトラフィックの変化曲線である。
【図５】本発明の実施形態による図1の別の特定の応用の筋書きの概略図である。
【図６】本発明の実施形態によるデータトラフィック制限のための別の方法の概略的な流れ図である。
【図７】本発明の実施形態によるデータトラフィック制限のための装置の概略構造図である。
【図８】本発明の図7に示される第1の事前構成ユニットの概略構造図である。
【図９】本発明の実施形態によるデータトラフィック制限のための別の装置の概略構造図である。
【図１０】本発明の実施形態によるデータトラフィック制限のための別の装置の概略構造図である。
【発明を実施するための形態】
【００３２】
本発明の実施形態の技術的な解決策をより分かりやすくするために、本発明の実施形態の技術的な解決策が、本発明の実施形態の添付の図面を参照して以降で明瞭および完全に説明される。明らかに、本明細書において説明される実施形態は、実施形態のすべてではなく本発明の実施形態の一部であるに過ぎない。いかなる創造的な努力もなしに本発明において説明される実施形態に基づいて当業者によって得られるすべてのその他の実施形態は、本発明の保護範囲内に入る。
【００３３】
本発明の実施形態によるデータトラフィック制限のための方法は、ネットワークデバイス(たとえば、フレーム型デバイスまたは積層デバイスなど)のリンク・アグリゲーション・グループ・インターフェースに適用される可能性があり、シングルボードを横切るまたは積層デバイスを横切るメンバーポートを含むリンク・アグリゲーション・グループ・インターフェース(Eth-Trunk)は、リンク・アグリゲーション・グループ・インターフェースのメンバーポートが異なるシングルボードのチップセットに置かれることを意味する。サービスプロバイダに関して、この種のリンク・アグリゲーション・グループ・インターフェース上のデータトラフィックに関する制限パラメータは、リンク・アグリゲーション・グループ・インターフェース全体に固有であり、つまり、リンク・アグリゲーション・グループ・インターフェースのすべてのメンバーポートによって通過することを許されるデータトラフィックの合計が、リンク・アグリゲーション・グループ・インターフェースのためにサービスプロバイダによって設定される全体的なデータトラフィックである。
【００３４】
データトラフィックを制限する前に、まず、ネットワークデバイスの各リンク・アグリゲーション・グループ・インターフェースのためのクレジットバケットを構成する(ネットワークデバイスに複数のリンク・アグリゲーション・グループ・インターフェースが存在する可能性がある)。クレジットバケットは、リンク・アグリゲーション・グループ・インターフェースのシングルボードの各チップセットに対応するトークンバケットからあふれるトークンを記憶するために使用され、異なるトークンバケットからあふれるトークンは、区別することができるようにラベル付けされる(たとえば、異なるトークンバケットからあふれるトークンを異なる色に染める(dye))。
【００３５】
任意で、クレジットバケットは、予め設定された条件に従ってクレジットバケット内のトークンの一部またはすべてを破棄し、クレジットバケットは、トークンを破棄するとき、クレジットバケット内のトークンがリンク・アグリゲーション・グループ・インターフェースの各メンバーポートの残りのデータトラフィックの状況を正確に反映し得ることを保証するために、予め設定された公平なスケジューリングアルゴリズムに従って異なるトークンバケットからのトークンを破棄する。前記予め設定された条件は、以下の状況を含む可能性がある。
【００３６】
<1>.  トークンバケットがクレジットバケットからトークンを借りない期間中、クレジットバケット内のトークンの記憶時間が予め設定された継続時間を超える場合、予め設定された公平なスケジューリングアルゴリズムに従ってトークンを破棄し、トークンバケット内のトークンが異なるトークンバケットからのものである場合、予め設定された公平なスケジューリングアルゴリズムに従って異なるトークンバケットからトークンを破棄し、ここで、期間は、CPUの予め設定された複数のクロック周期である可能性がある。
【００３７】
<2>.  トークンバケット内のトークンがないことが検出されるとき、現在の期間の前にクレジットバケットに記憶され、トークンバケットからあふれるトークンを破棄する。
【００３８】
クレジットバケットおよび各トークンバケットのバケットパラメータは、予め構成され、トークンバケットにトークンを入れるレート、トークンバケットの空間、およびクレジットバケットの空間を含む。
【００３９】
リンク・アグリゲーション・グループ・インターフェースに属する(フレーム型デバイスのシングルボードチップまたはボックス型デバイスのチップなどの)シングルボードのチップセットのトークンバケットの数がMであり、リンク・アグリゲーション・グループ・インターフェースのCIR(またはPIR)全体がN1であり、CBSまたはPBS全体がN2であり、i番目のトークンバケットの最初の空間がCBSi(またはPBSi)であり、i番目のトークンバケットのトークンを入れる最初のレートがCIRi(またはPIRi)であると仮定すると、各バケットパラメータは、以下の式を満たす。
【００４０】
【数１】
0006268623.tif 000002
【００４１】
ここで、CBS(Committed Burst Size、認定バーストサイズ)、PBS(Peak Burst Size、ピークバースサイズ)。
【００４２】
クレジットバケットの空間は、すべてのトークンバケットのすべて合わせた空間に等しく、つまり、クレジットバケットの空間は、N2に等しい。
【００４３】
バケットパラメータを構成する手順は、以下を含む可能性がある。
【００４４】
トークンを入れるレートを決定するための予め設定された方法に従って、たとえば、レート均等分割決定方法、つまり、CIRi=N1/Mに従って、トークンを入れるレートCIRiを決定するか、またはメンバーポートの重み値に従って、つまり、i番目のメンバーポートの重み値がPiであると仮定したレート重み決定方法、つまり、
【００４５】
【数２】
0006268623.tif 000003
【００４６】
に従って決定する。確かに、トークンを入れるレートは、その他の方法に従って決定される可能性があり、本出願において限定されない。
【００４７】
トークンバケットの最初の空間CBSiは、空間決定方法、たとえば、空間均等分割決定方法、つまり、CBSi=N2/Mに従って、またはi番目のメンバーポートの重み値がPiであると仮定した空間重み決定方法、つまり、
【００４８】
【数３】
0006268623.tif 000004
【００４９】
に従って決定される可能性がある。確かに、トークンバケットの空間は、その他の方法で決定される可能性がある。
【００５０】
本発明の実施形態によるデータトラフィック制限のための方法の概略的な流れ図である図2を参照すると、図2に示されるように、方法は、以下のステップを含む可能性がある。
【００５１】
S10、送信されるパケットを受信する。
【００５２】
S11、送信されるパケットに対応するメンバーポートの現在のトークンバケット内のトークンの数が送信されるパケットを送信するためのトークンの数に達するかどうかを判定し、達しない場合、ステップS13を実行し、達する場合、ステップS12を実行する。
【００５３】
送信されるパケットを受信した後、送信されるパケットがどのメンバーポートに属するかを決定し、メンバーポートに対応するシングルボードのチップセットを決定し、したがって、対応するトークンバケットを決定する。トークンバケットを決定した後、トークンバケット内のトークンの数が送信されるパケットを送信するためのトークンの数に達するかどうかを判定し、達する場合、ステップS12において、トークンバケット内のトークンを使用することによって送信されるパケットを送信し、トークンバケット内のトークンの対応する数を減らす。
【００５４】
現在のトークンバケット内のトークンの数が送信されるパケットを送信するためのトークンの数に達しない場合、ステップS13において、現在のトークンバケット内のトークンの数およびクレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数の合計が送信されるパケットを送信するためのトークンの数に達するかどうかを判定し、達する場合、S14を実行し、達しない場合、S15を実行する。
【００５５】
本発明の一実施形態において、ステップS13の判定手順は、以下のステップを含む可能性がある。
【００５６】
1)、現在のトークンバケット内のトークンの数と送信されるパケットを送信するためのトークンの数との間のトークンの差を判定すること、
【００５７】
2)、クレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数がトークンの差以上であるかどうかを判定すること、
【００５８】
クレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数がトークンの差以上である場合、ステップ3)において、現在のトークンバケット内のトークンおよびクレジットバケット内の緑のトークンの数が送信されるパケットを送信するためのトークンの数に達すると判定する、
【００５９】
クレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数がトークンの差よりも少ない場合、ステップ4)において、現在のトークンバケット内のトークンおよびクレジットバケット内の緑のトークンが送信されるパケットを送信するためのトークンの数に達しないと判定する。
【００６０】
現在のトークンバケット内のトークンおよびクレジットバケット内のトークンの数の合計が送信されるパケットを送信するためのトークンの数に達する場合、ステップS14において、送信されるパケットを送信し、それに対応して、現在のトークンバケット内およびクレジットバケット内のトークンの数を減らす。
【００６１】
送信されるパケットを送信するために足りないトークンの数がNであると仮定すると、送信されるパケットを送信した後、現在のトークンバケット内のトークンが消し去られ、その一方で、クレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数がNだけ減る。
【００６２】
現在のトークンバケット内のトークンおよびクレジットバケット内のトークンの数の合計が送信されるパケットを送信するためのトークンの数に達しない場合、ステップS15において、パケットを破棄するかまたはパケットを再びラベル付けする。
【００６３】
クレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数がトークンの差よりも少ない、つまり、送信されるパケットを送信するのに十分なトークンがない場合、送信されるパケットを破棄するか、または送信されるパケットのIP Precedence、DSCP、もしくはEXPなどのフィールドを再びラベル付けし、再びラベル付けされたパケットを送信する。このとき、トークンバケット内およびクレジットバケット内のトークン数は、両方とも変わらないままである。
【００６４】
実施形態によるデータトラフィック制限のための方法は、まず、ネットワークデバイスの各リンク・アグリゲーション・グループ・インターフェースのために、各トークンバケットからあふれるトークンを記憶するためのクレジットバケットを構成することであって、異なるトークンバケットからあふれるトークンが、区別することができるようにラベル付けされる、構成することと、送信されるパケットを受信するとき、まず、送信されるパケットに対応するトークンバケット内のトークンの数が送信されるパケットを送信するための数に達するかどうかを判定し、トークンバケット内のトークンの数が送信されるパケットを送信するために十分でない場合、現在のものでないトークンバケットからあふれるトークンをクレジットバケットから借り、現在のトークンバケットのトークンおよび借りられたトークンが送信されるパケットを送信するのに十分である場合、送信されるパケットを送信し、一方、現在のトークンバケット内およびクレジットバケット内の対応するトークンの数を減らすこととを行う。ネットワーク機器の各リンク・アグリゲーション・グループ・インターフェースの複数のリンク上のデータトラフィックの動的制限は、リンク・アグリゲーション・グループ・インターフェースのメンバーポート上のデータトラフィックの合計がリンク・アグリゲーション・グループ・インターフェースに関する制限された全体的なデータトラフィックとより一致させられ得るように実現される。
【００６５】
図1に示された実施形態に対応する特定の応用の筋書きの概略図である図3に示されるように。
【００６６】
図3に示されるように、現在のリンク・アグリゲーション・グループ・インターフェースの2つのメンバーポートが、それぞれ、シングルボードのチップセット1およびシングルボードのチップセット2に置かれ、シングルボードの2つのチップセットのために構成されたトークンバケットは、それぞれ、トークンバケット11およびトークンバケット21であり、クレジットバケット3が、リンク・アグリゲーション・グループ・インターフェースのために構成される。クレジットバケット3は、トークンバケット11からあふれるトークンを青く染め、トークンバケット21からあふれるトークンを緑に染める。この実施形態において示されるリンク・アグリゲーション・グループ・インターフェースは、2つのリンクを含み、本出願のこの実施形態において提供されるデータトラフィック制限のための方法は、任意の数のリンクを含むリンク・アグリゲーション・グループ・インターフェースに適用され得る。
【００６７】
説明を容易にするために、リンク・アグリゲーション・グループ・インターフェースのCIR全体が100Mであり、トークンバケット11およびトークンバケット21のCIRが両方とも50Mのデータトラフィックとして設定されると仮定する。加えて、リンクアグリゲーショングループが確立された後に動作する最初の瞬間t0において、すべてのトークンバケットは一杯であり、つまり、トークンバケットがトークンで一杯であり、それから、メンバーポート上の実際のデータトラフィックに応じてトークンバケットからトークンを取り出し、トークンを入れる予め設定されたレートに従ってトークンバケットにトークンを入れる。
【００６８】
図4は、時間とともに変わるリンク・アグリゲーション・グループ・インターフェースの2つのメンバーポート上のデータトラフィックの曲線の概略図であり、図4において、横軸は時間軸であり、縦軸はメンバーポート上のデータトラフィックであり、図中の○による曲線は、シングルボードのチップセット1に対応するメンバーポートのデータトラフィックの変化曲線を指し、図中の□による曲線は、シングルボードのチップセット2に対応するメンバーポートのデータトラフィックの変化曲線を指し、ここで、あらゆる2つの時点の間の時間間隔が期間であり、つまり、図がデータトラフィックの変化曲線の9つの期間を示すと仮定し、ここで、期間はCPUの予め設定された複数のクロック周期である。
【００６９】
t1からt2までの時間間隔中に、チップセット1に対応するメンバーポートによって共有される負荷のデータトラフィックは、(50Mの制限されたデータトラフィックを超えない)30Mであり、チップセット2に対応するメンバーポートによって共有される負荷のデータトラフィックは、(50Mの制限されたデータトラフィックを超えない)40Mであり、そのとき、リンク・アグリゲーション・グループ・インターフェース上の全体的なデータトラフィックは、70Mである。この時間間隔中に、トークンバケット11にトークンを入れるレート(50M)は、データトラフィックレート(30M)を超えており、トークンバケット21にトークンを入れるレート(50M)は、データトラフィックレートを超えている(40M)。つまり、トークンバケットの両方は、それらのトークンバケットからあふれるトークンを有し、あふれたトークンは、特定の公平なスケジューリングアルゴリズムに従ってクレジットバケットによって取り去られ、クレジットバケットによって対応する色に染められ、その後、トークンバケット11からあふれるトークンが青く染められ、クレジットバケット3に入れられ、トークンバケット21からあふれるトークンが緑に染められ、クレジットバケット3に入れられ、予め設定された継続時間、トークンがクレジットバケット3に記憶されたとき、予め設定された公平なスケジューリングアルゴリズムに従って異なる色に染められたトークンを破棄し、予め設定された継続時間が期間であると仮定して、クレジットバケット3内の青いトークンおよび緑のトークンがすべて破棄される。
【００７０】
瞬間t2において、チップセット2に対応するメンバーポートによって共有される負荷のデータトラフィックは、40Mから60Mに増え、チップセット1に対応するメンバーポート上のデータトラフィックは、変わらないままであり、t2からt3までの時間間隔中、チップセット2に対応するメンバーポートによって共有される負荷のデータトラフィックは、60Mであり、このとき、トークンバケット11にトークンを入れるレート(50M)は、データトラフィックレート(30M)を超えており、つまり、トークンバケット11内のトークンがあふれ、あふれるトークンがクレジットバケット3によって取り去られ、青に染められ、t2からt3までの時間間隔中に、トークンバケット11内の20M*(t3-t2)の残りのトークンが、クレジットバケット3に入れられる。トークンバケット21にトークンを入れるレートは、データトラフィック未満であり、つまり、チップセット2に対応するメンバーポートは、パケットを送信するとき、トークンバケット11からあふれるトークンをクレジットバケット3から借りる必要があり、クレジットバケット内の青いトークンの数は20M*(t3-t2)であり、これは、(60-50)M*(t3-t2)を超えており、したがって、60Mのデータトラフィックが、チップセット2に対応するメンバーポートによって通過することを許され、リンク・アグリゲーション・グループ・インターフェースの全体的なデータトラフィックは、30M+60M=90Mであり、これは、100Mの全体的なデータトラフィックを超えない。瞬間t3まで、クレジットバケット内の10M*(t3-t2)の残りの青いトークンが破棄される。t3からt7までの時間間隔中、2つのチップセット上のデータトラフィックの変化状況は、t2からt3までの時間間隔中の変化状況と同じであり、トークンを割り振る手順も同じであり、詳細は、本明細書において繰り返されない。
【００７１】
瞬間t7において、チップセット1に対応するメンバーポートによって共有される負荷のデータトラフィックは、30Mから50Mに増え、このとき、t7からt8までの時間間隔中、トークンバケット21にトークンを入れるレートは、トークンが取り出されるレートに等しく、クレジットバケット3に入れられるべき冗長なトークンがなく、時間間隔中、チップセット2に対応するメンバーポートによって共有される負荷のデータトラフィックは、まだ60Mであり、つまり、トークンバケット11にトークンを入れるレートは、トークンが取り出されるレート未満であり、10Mのトークンが、60Mのデータトラフィックが通過することを許すためにクレジットバケットから借りられる必要があり、しかし、クレジットバケットに入れられるべき冗長なトークンがトークンバケット21内になく、ゆえに、条件を満たすトークンがクレジットバケット内になく、したがって、50Mのデータトラフィックだけが、チップセット2に対応するメンバーポートによって通過することを許され、2つのメンバーポート上の全体的なデータトラフィックの合計は、50M+50M=100Mであり、これは、リンク・アグリゲーション・グループ・インターフェースのために設定されたCIR全体またはPIR全体に等しい。
【００７２】
図3に示された応用の筋書きにおいて、シングルボードの各チップセットのためにデビットバケットがさらに構成される可能性がある、本出願の実施形態による別の応用の筋書きの概略図を示す図5を参照されたい。デビットバケットを設定した後、パケットを送信し、トークンを割り振る手順は、図1に示された実施形態の対応する手順と同じであり、詳細は、本明細書において繰り返されない。
【００７３】
現在のリンク・アグリゲーション・グループ・インターフェースの2つのメンバーポートは、それぞれ、シングルボードのチップセット1およびシングルボードのチップセット2に置かれる。シングルボードのチップセット1のためにトークンバケット11およびデビットバケット12を構成し、シングルボードのチップセット2のためにトークンバケット21およびデビットバケット22を構成する。デビットバケットがシングルボードの同じチップセット内のトークンバケットからあふれるトークンを記憶するために使用される場合、デビットバケットが一杯であるとき、トークンバケットからあふれるトークンは直ちに破棄される。ネットワークデバイスのリンク・アグリゲーション・グループ・インターフェースのためのクレジットバケット3を構成し、予め設定されたトリガ条件が満たされるとき、クレジットバケット3は、期間Tの間、クレジットバケット3がそこからあふれるトークンを有するトークンバケットに対応するデビットバケットからトークンを等しく取得することを保証し(つまり、クレジットバケット内のトークンのラベルが一様に分配されるか、またはトークンの色が予め設定された割合で分配されることを保証し)、リンク・アグリゲーション・グループ・インターフェースのメンバーポートのいずれか1つのデータトラフィックが突然増えるとき、およびその他のメンバーポート上に残りのデータトラフィックが存在するときに、データトラフィックが突然増えるメンバーポートがクレジットバケットからトークンを借りることができることをさらに保証し、トークンバケットがその他の色のトークンを借りることができないようにしてしまう、クレジットバケット内のトークンがすべて同じ色である現象を防止し、それによって、クロスチップ(cross-chipset)メンバーポートを含むリンク・アグリゲーション・グループ・インターフェース上の全体的なデータトラフィックを正確に制御するために、予め設定された公平なスケジューリングアルゴリズムに従って各デビットバケットからトークンを取得する。
【００７４】
ここで、予め設定されたトリガ条件は、以下を含む可能性がある。
【００７５】
<1>.  クレジットバケットからトークンを借りるトークンバケットがない期間中、クレジットバケットが、第1の予め設定された継続時間に従って、および公平なスケジューリングアルゴリズムに従って各デビットバケットからトークンを等しく取得する。
【００７６】
<2>.  トークンバケットがクレジットバケットからトークンを借りるとき、クレジットバケットがデビットバケットからトークンを最後に取得したときから第2の予め設定された継続時間が過ぎた場合、公平なスケジューリングアルゴリズムに従って各デビットバケットからトークンを等しく取得する。
【００７７】
<3>.  クレジットバケット内のトークンの数が予め設定された値よりも少ない場合、クレジットバケットは、公平なスケジューリングアルゴリズムに従って各デビットバケットからトークンを取得する。予め設定された値は、実際のニーズに応じて自由に設定され得る。
【００７８】
各デビットバケットの空間の合計がリンク・アグリゲーション・グループ・インターフェースのCBS全体またはPBS全体に等しい場合、各デビットバケットの空間は、均等分割決定方法または重み決定方法に従って決定される可能性があり、確かに、その他の方法も、空間を決定するために採用され得る。
【００７９】
引き続き図4のデータトラフィックの変化の例を続けて、トークンを入れる指定されたレート(50M)に従ってトークンバケット11およびトークンバケット21にトークンを入れ、t1からt2までの時間間隔中、トークンバケット11にトークンを入れるレート(50M)は、データトラフィック(30M)よりも大きく、トークンがあふれ、あふれたトークンが、デビットバケット12に入れられ、一方、トークンバケット21にトークンを入れるレート(50M)は、データトラフィック(40M)よりも大きく、トークンがあふれ、あふれたトークンが、デビットバケット22に入れられる。このとき、クレジットバケット3は、特定の公平なスケジューリングアルゴリズムに従ってデビットバケット12およびデビットバケット22からトークンを取得し、2つのデビットバケットからのトークンを異なる色に染める。ここで、公平なスケジューリングアルゴリズムは、任意の公平なスケジューリングアルゴリズムである可能性があり、本出願において限定されない。
【００８０】
この実施形態において提供されるリンク・アグリゲーション・グループ・インターフェースの構造は、リンク・アグリゲーション・グループ・インターフェースのシングルボードの各チップセットのためのデビットバケットを構成し、シングルボードの同じチップセット内のトークンバケットからあふれるトークンを記憶するためにデビットバケットを使用し、それから、クレジットバケットは、トリガする時点で各デビットバケットからトークンを取得し、それによって、トークンバケットからあふれるトークンが存在するとクレジットバケットがトークンバケットからトークンを取得することを防止し、つまり、クレジットバケットに対応する主制御パネルとトークンバケットに対応するシングルボードとの間の頻繁なインタラクションを防止し、したがって、クレジットバケットに対応する主制御パネルの性能パラメータの要件を減らし、ネットワークデバイスのコストを下げる。
【００８１】
以下のステップをさらに含む、図2に示された実施形態に基づく、本出願の実施形態によるデータトラフィック制限のための別の方法の概略的な流れ図を示す図6を参照されたい。
【００８２】
ステップS14の後、借りられたトークンのラベル分配情報を分析するステップS16を実行し、ラベル分配情報は、トークンのラベルと、各色のラベル付けされたトークンを借りる、つまり、数える対応する量とを含み、借りる対応する量、たとえば、借りられる緑のトークンの量は、50Mである。
【００８３】
S17、現在のトークンバケットのクレジットバケットからトークンを借りることについての借用情報が予め設定されたバケット調整条件を満たす場合、現在のトークンバケットのトークン借用情報およびラベル分配情報に従って対応するトークンバケットのバケットパラメータを調整し、各トークンバケットの調整されたバケットパラメータは、リンク・アグリゲーション・グループ・インターフェース上のデータトラフィックのために設定されたパラメータにやはり従う必要があり、バケットパラメータは、トークンを入れるレートおよび空間を含む。借用情報は、借りられるトークンの量、トークンを借りるための回数、および/または借りる割合を含み、借りる割合は、特定のトークンバケットによって借りられるトークンの数と送信されるパケットを送信するために必要とされるトークンの数との間の割り当てを指す。
【００８４】
予め設定されたバケット調整条件が、特定のトークンバケットのクレジットバケットから継続的に借りられたトークンの数が第1の閾値を超え、および/またはクレジットバケットから特定のトークンバケットによってトークンを継続的に借りる回数が予め設定された回数を超え、特定のメンバーポート上のトラフィックがそのメンバーポートのために設定されたデータトラフィックを常に超えており、その他のメンバーポート上のトラフィックが設定されたデータトラフィックを常に下回ることを示すことを含む可能性がある場合、このとき、動的なバケットの調整をトリガし、クレジットバケットから常にトークンを借りるトークンを入れるレートおよびトークンバケットの空間を増やし、あふれるトークンを常に有するトークンを入れるレートおよびトークンバケットの空間を減らし、トークンを入れる減らされたレートの合計がトークンを入れる増やされたレートに等しいという条件が満たされ、つまり、各トークンバケットにトークンを入れる調整されたレートの合計がリンク・アグリゲーション・グループ・インターフェースのCIR全体またはリンク・アグリゲーション・グループ・インターフェースのPIR全体に等しいことを保証し、減らされた空間が増やされた空間に等しいという条件を満たし、つまり、各トークンバケットの調整される空間の合計がリンク・アグリゲーション・グループ・インターフェースのCBS全体またはリンク・アグリゲーション・グループ・インターフェースのPBR全体に等しいことを保証する。第1の閾値は、実際のニーズに応じて自由に設定され得る。
【００８５】
本発明の実施形態において、現在のトークンバケットのバケットパラメータを調整する手順は、以下のステップを含む可能性がある。
【００８６】
11)、現在のトークンバケットの借用情報(たとえば、借りる割合)に従って現在のトークンバケットの空間を増やす。
【００８７】
12)、現在のトークンバケットのクレジットバケットから借りられるトークンのラベル分配情報に従って、現在のトークンバケット以外の対応するトークンバケットの空間を減らし、減らされた空間の合計は、増やされた空間の合計に等しい。
【００８８】
13)、各トークンバケットの再び決定された空間およびトークンを入れるレートを計算するための方法に従って、各トークンバケットにトークンを入れる新しいレートを決定する。
【００８９】
引き続き図4のデータトラフィックの変化の例を続けて、t2からt4までの時間間隔中、チップセット1に対応するメンバーポートによって共有される負荷のデータトラフィックが、常に30Mであり、チップセット2に対応するメンバーポートによって共有される負荷のデータトラフィックが、常に60Mであり、トークンバケット21が、クレジットバケット3からトークンを継続的に借り、各期間に置いて、トークンバケット21がクレジットバケットからトークンを借りるトークンレートが、10Mであり、借りられるトークンが、すべてトークンバケット11からのものであると仮定する。そして、調整される必要があった空間と、トークンバケット11の空間が、50M*T-10M*T=40M*Tに調整され、トークンを入れる対応するレートが、40Mに調整され、一方、トークンバケット21の空間が、50M*T+10M*T=60M*Tに調整され、トークンを入れる対応するレートが、60Mに調整されることを含む調整方針とを計算する。トークンバケットのバケットパラメータを動的に調整した後、t4からt7までの時間間隔中、各トークンバケットにトークンを入れるレートは、メンバーポート上のデータトラフィックに従い、クレジットバケットからトークンを借りる必要がなく、それによって、リンク・アグリゲーション・グループ・インターフェースの全体的なデータトラフィックが満足されることを保証しながらメンバーポート上のデータトラフィックの動的な制御を実現し、全体的なデータトラフィックの制御の正確さを高める。
【００９０】
上述の動的なバケット調整手順とは異なる本発明の別の実施形態においては、まず、調整される必要があるトークンを入れるレートを決定し、それから、トークンを入れるレートとトークンバケットの空間との間の関係に基づいて、調整される必要があるトークンバケットの空間および最終的な調整方針を決定する。現在のトークンバケットのバケットパラメータを調整する手順は、以下のステップを含む可能性がある。
【００９１】
21)、現在のトークンバケットの借用情報に従って、現在のトークンバケットにトークンを入れるレートを、トークンを入れる最初のレートからトークンを入れる新しいレートに増やす。ここで、トークンを入れる新しいレートは、トークンを入れる最初のレートよりも大きい。
【００９２】
22)、現在のトークンバケットにトークンを入れる新しいレート、およびトークンを入れるレートとトークンバケットの空間との間の関係に従って現在のトークンバケットの空間を調整する。
【００９３】
23)、減らされた空間の合計が増やされた空間の合計に等しいように、現在のトークンバケットのクレジットバケットから借りられるトークンのラベル分配情報に従って、現在のトークンバケット以外の対応するトークンバケットの空間を調整することを決定する。
【００９４】
任意で、図5に示された応用の筋書きにおいて、トークンバケットのバケットパラメータを動的に調整した後、デビットバケットの空間は、やはり動的に調整される可能性があり、デビットバケットの空間は、トークンバケットの調整する割合に従って調整される可能性がある。
【００９５】
実施形態によるデータトラフィック制限のための方法によれば、リンク・アグリゲーション・グループ・インターフェースの特定のトークンバケットのクレジットバケットからトークンを借りることについての借用情報が予め設定されたバケット調整条件を満たす場合、現在のトークンバケットの借用情報に従って対応するトークンバケットのバケットパラメータを調整し、バケットパラメータは、トークンを入れるレートおよび空間を含む。したがって、リンク・アグリゲーション・グループ・インターフェースの各リンクのためのトークンバケットのバケットパラメータに対する動的な調整は、各トークンバケットにトークンを入れるレートがトークンバケットに対応するメンバーポート上のデータトラフィックに合致するように最終的に実現され、それによって、リンク・アグリゲーション・グループ・インターフェースの全体的なデータトラフィックの制御の正確さを高める。
【００９６】
上述の実装方法の説明によって、当業者は、本発明がソフトウェアと必要な汎用的ハードウェアとを用いて実装される可能性があり、もちろん、ハードウェアを用いて実装される可能性があることをはっきりと理解することができる。しかし、ほとんどの場合、前者が、好ましい実装方法である。そのような理解に基づいて、本開示の技術的な解決策は、基本的にソフトウェア製品の形態で実装される可能性があり、または従来技術に寄与する部分が、ソフトウェア製品の形態で実装される可能性がある。コンピュータソフトウェア製品は、ストレージ媒体に記憶され、本発明の実施形態で説明された方法のすべてまたは一部を実行するように(パーソナルコンピュータ、サーバ、またはネットワークデバイスである可能性がある)コンピュータデバイスに命じるためのいくつかの命令を含む。ストレージ媒体は、読み出し専用メモリ(ROM、Read-Only Memory)、ランダムアクセスメモリ(RAM、Random Access Memory)、磁気ディスク、または光ディスクなどの、プログラムコードを記憶することができる任意の媒体を含む。
【００９７】
本発明において提供されるデータトラフィック制限のための方法の実施形態に対応して、本発明は、データトラフィック制限のための装置の実施形態も提供する。
【００９８】
データトラフィック制限のための装置がネットワークデバイスに適用され、ネットワークデバイスがフレーム型デバイス、積層デバイス、またはその他のデバイスである可能性がある、本発明の実施形態によるデータトラフィック制限のための装置の概略構造図である図7を参照されたい。図7に示されるように、装置は、第1の事前構成ユニット110、受信ユニット120、第1の判定ユニット130、第2の判定ユニット140、送信ユニット150、およびトークン管理ユニット160を含む。
【００９９】
第1の事前構成ユニット110は、ネットワークデバイスの各リンク・アグリゲーション・グループ・インターフェースのためにクレジットバケットを予め構成することであって、クレジットバケットが、各トークンバケットからあふれるトークンを記憶するために使用され、異なるトークンバケットからあふれるトークンが、区別することができるようにラベル付けされる、予め構成することと、クレジットバケットおよび各トークンバケットに関するバケットパラメータを予め構成することであって、バケットパラメータが、トークンバケットにトークンを入れるレート、トークンバケットの空間、およびクレジットバケットの空間を含む、予め構成することとを行うように構成される。
【０１００】
受信ユニット120は、送信されるパケットを受信するように構成される。
【０１０１】
第1の判定ユニット130は、送信されるパケットに対応する現在のトークンバケット内のトークンの数が送信されるパケットを送信するためのトークンの数に達するかどうかを判定するように構成される。
【０１０２】
第2の判定ユニット140は、現在のトークンバケット内のトークンの数が送信されるパケットを送信するためのトークンの数に達しない場合、現在のトークンバケット内のトークンの数およびクレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数の合計が送信されるパケットを送信するためのトークンの数に達するかどうかを判定するように構成される。
【０１０３】
本発明の実施形態において、第2の判定ユニットは、以下のサブユニットを含む。
【０１０４】
現在のトークンバケット内のトークンの数と送信されるパケットを送信するためのトークンの数との間のトークンの差を判定するように構成された判定サブユニット。
【０１０５】
クレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数がトークンの差以上であるかどうかを判定するように構成された判定サブユニット。
【０１０６】
クレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数がトークンの差以上である場合、現在のトークンバケット内のトークンおよびクレジットバケット内のトークンの数の合計が送信されるパケットを送信するためのトークンの数に達すると判定するように構成された第1の判定サブユニット。
【０１０７】
クレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数がトークンの差よりも少ない場合、現在のトークンバケット内のトークンおよびクレジットバケット内のトークンが送信されるパケットを送信するためのトークンの数に達しないと判定するように構成された第2の判定サブユニット。
【０１０８】
送信ユニット150は、現在のトークンバケット内のトークンおよびクレジットバケット内のトークンの数の合計が送信されるパケットを送信するためのトークンの数に達する場合、送信されるパケットを送信するように構成される。
【０１０９】
トークン管理ユニット160は、それに対応して、現在のトークンバケット内のトークンおよびクレジットバケット内のトークンの数を減らすように構成される。
【０１１０】
任意で、図7に示された装置の実施形態は、現在のトークンバケット内のトークンの数およびクレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数の合計が送信されるパケットを送信するためのトークンの数に達しない場合、送信されるパケットを破棄するか、または現在のトークンバケット内のトークンの数およびクレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数の合計が送信されるパケットを送信するためのトークンの数に達しない場合、送信されるパケットを再びラベル付けし、送信するように構成されたパケット処理ユニット170をさらに含む可能性がある。
【０１１１】
任意で、図7に示されたデータトラフィック制限のための装置は、第2の事前構成ユニット180も含む可能性がある。
【０１１２】
第2の事前構成ユニット180は、第1の事前構成ユニット110に接続し、各トークンバケットのためのデビットバケットを予め構成し、予め設定された空間決定方法に従ってデビットバケットの空間を設定するように構成され、各デビットバケットの空間の合計は、CBS全体またはPBS全体に等しく、予め設定された空間決定方法は、空間均等分割決定方法または空間重み決定方法を含み、デビットバケットは、予め設定された条件に従って各デビットバケットから等しく取り出されるトークンを記憶するように、シングルボードの同じチップセットに属するトークンバケットからあふれるトークンを記憶するために使用される。
【０１１３】
本発明において提供されるデータトラフィック制限のための装置は、まず、ネットワークデバイスの各リンク・アグリゲーション・グループ・インターフェースのために、各トークンバケットからあふれるトークンを記憶するためのクレジットバケットを構成することであって、異なるトークンバケットからあふれるトークンが、区別することができるようにラベル付けされる、構成することと、送信されるパケットが受信されるとき、好ましくは、対応するトークンバケット内のトークンを使用して送信されるパケットを送信し、トークンバケット内のトークンの数が送信されるパケットを送信するために十分でない場合、クレジットバケットから現在のものでないトークンバケットからあふれるトークンを借り、現在のトークンバケットのトークンおよび借りられたトークンが送信されるパケットを送信するために十分である場合、送信されるパケットを送信し、一方、現在のトークンバケット内の対応するトークンおよびクレジットバケット内のトークンの数を減らすこととを行う。ネットワーク機器の各リンク・アグリゲーション・グループ・インターフェースの複数のリンク上のデータトラフィックの動的制限が実現され、したがって、リンク・アグリゲーション・グループ・インターフェースのメンバーポート上のデータトラフィックの合計がリンク・アグリゲーション・グループ・インターフェースに関する制限された全体的なデータトラフィックとより一致させられ得る。
【０１１４】
第1の事前構成ユニットが以下のユニットをさらに含む可能性がある、図7に示された第1の事前構成ユニットの概略構造図を示す図8を参照されたい。
【０１１５】
トークンを入れるレートを決定するための予め設定された方法に従って、各トークンバケットにトークンを入れるレートを決定するように構成されたトークン投入レート構成ユニット111であって、各トークンバケットにトークンを入れるレートの合計がリンク・アグリゲーション・グループ・インターフェースの認定情報速度CIR全体/リンク・アグリゲーション・グループ・インターフェースのピーク情報速度PIRに等しく、トークンを入れるレートを決定するための予め設定された方法が、レート均等分割決定方法またはレート重み決定方法を含む、トークン投入レート構成ユニット111。
【０１１６】
予め設定された空間決定方法に従って、各トークンバケットの空間を決定するように構成された第1の空間構成ユニット112であって、各トークンバケットの空間の合計が、リンク・アグリゲーション・グループ・インターフェースの認定バーストサイズ全体に等しく、予め設定された空間決定方法が、空間均等分割決定方法または空間重み決定方法を含む、第1の空間構成ユニット112。
【０１１７】
クレジットバケットの空間をCBS全体またはグローバルPBS(global PBS)として構成するように構成された第2の空間構成ユニット113。
【０１１８】
予め設定された数の最も最近の期間において、現在のトークンバケットのクレジットバケットからトークンを借りることについての借用情報が予め設定されたバケット調整条件を満たす場合、現在のトークンバケットの借用情報に従って対応するトークンバケットのバケットパラメータを調整するように構成された第1の動的調整ユニット200であって、各トークンバケットの調整されたバケットパラメータが、リンク・アグリゲーション・グループ・インターフェース上のデータトラフィックのために設定されたパラメータにやはり従う必要があり、バケットパラメータが、トークンを入れるレートおよび空間を含む、第1の動的調整ユニット200をさらに含む、図7に対応する実施形態に基づく本発明の実施形態によるデータトラフィック制限のための別の装置の概略構造図を示す図9を参照されたい。借用情報は、借りられるトークンの数、借りる割合、および/またはトークンを借りるための回数を含む。
【０１１９】
本発明の一実施形態において、第1の動的調整ユニットは、第1の空間調整ユニット、第2の空間調整ユニット、および第1のトークン投入レート調整ユニットを含む可能性がある。
【０１２０】
第1の空間調整ユニットは、予め設定された数の最も最近の期間において、クレジットバケットから現在のトークンバケットによって借りられたトークンの数が第1の閾値を超える場合、現在のトークンバケットの借用情報に従って現在のトークンバケットの空間を増やすように構成される。
【０１２１】
第2の空間調整ユニットは、現在のトークンバケットのクレジットバケットから借りられるトークンのラベル分配情報に従って、現在のトークンバケット以外の対応するトークンバケットの空間を減らすように構成され、減らされた空間の合計は、増やされた空間の合計に等しく、ラベル分配情報は、トークンのラベルおよび借りる対応する量を含む。
【０１２２】
第1のトークン投入レート調整ユニットは、各トークンバケットの再び決定された空間およびトークンを入れるレートを計算するための方法に従って、各トークンバケットにトークンを入れる新しいレートを決定するように構成される。
【０１２３】
本発明の別の実施形態において、第1の動的調整ユニットは、トークン投入レート調整ユニット、第3の空間調整ユニット、および第4の空間調整ユニットを含む可能性がある。
【０１２４】
第2のトークン投入レート調整ユニットは、予め設定された数の最も最近の期間において、クレジットバケットから現在のトークンバケットによって借りられたトークンの数が第1の閾値を超える場合、現在のトークンバケットのデビット情報に従って、現在のトークンバケットにトークンを入れるレートを、トークンを入れる最初のレートからトークンを入れる新しいレートに増やすように構成され、トークンを入れる新しいレートは、トークンを入れる最初のレートよりも大きい。
【０１２５】
第3の空間調整ユニットは、現在のトークンバケットにトークンを入れる新しいレート、およびトークンを入れるレートとトークンバケットの空間との間の対応する関係に従って現在のトークンバケットの空間を調整するように構成される。
【０１２６】
第4の空間調整ユニットは、減らされた空間の合計が増やされた空間の合計に等しいように、現在のトークンバケットのクレジットバケットから借りられるトークンのラベル分配情報に従って、現在のトークンバケット以外の対応するトークンバケットの調整される空間を決定するように構成される。
【０１２７】
任意で、図9に示される装置は、デビットバケットの空間を動的に調整するように構成された第2の動的調整ユニット300であって、デビットバケットの空間が、トークンバケットの調整する割合に従って調整され得る、第2の動的調整ユニット300をさらに含む可能性がある。
【０１２８】
実施形態によるデータトラフィック制限のための装置によれば、リンクアグリゲーショングループインターフェースの特定のトークンバケットのクレジットバケットからトークンを借りることについての借用情報が予め設定されたバケット調整条件を満たすとき、現在のトークンバケットの借用情報に従ってトークンバケットのバケットパラメータを増やし、バケットパラメータは、トークンを入れるレートおよび空間を含む。したがって、リンクアグリゲーショングループインターフェースの各リンクのためのトークンバケットのバケットパラメータに対する動的な調整は、各トークンバケットにトークンを入れるレートがトークンバケットに対応するメンバーポート上のデータトラフィックに合致するように最終的に実現され、それによって、リンクアグリゲーショングループインターフェースの全体的なデータトラフィックの制御の正確さを高める。
【０１２９】
装置がプロセッサ101、メモリ102、送信機103、および受信機104を含む、本発明の実施形態によるデータトラフィック制限のための別の装置の概略構造図を示す図10を参照されたい。
【０１３０】
受信機104は、送信されるパケットを受信するように構成される。
【０１３１】
メモリ102は、ネットワークデバイスの各リンク・アグリゲーション・グループ・インターフェースのために予め構成されたクレジットバケットを事前に記憶し、各トークンバケットのバケットパラメータを記憶するように構成され、クレジットバケットは、各トークンバケットからあふれるトークンを記憶するために使用され、異なるトークンバケットからあふれるトークンは、区別することができるようにラベル付けされる。また、プロセッサ101によって実行され得る動作命令が、そこに記憶され、プロセッサは、以下の機能を実現するためにメモリ102に記憶された動作命令を読む。
【０１３２】
送信されるパケットを受信するとき、送信されるパケットに対応する現在のトークンバケット内のトークンの数が送信されるパケットを送信するためのトークンの数に達するかどうかを判定すること、現在のトークンバケット内のトークンの数が送信されるパケットを送信するためのトークンの数に達しない場合、現在のトークンバケット内のトークンの数およびクレジットバケット内の現在のものでないトークンバケットからあふれるトークンの数の合計が送信されるパケットを送信するためのトークンの数に達するかどうかを判定すること、現在のトークンバケット内のトークンおよびクレジットバケット内のトークンの数の合計が送信されるパケットを送信するためのトークンの数に達する場合、それに対応して、現在のトークンバケット内のトークンおよびクレジットバケット内のトークンの数を減らすこと、ならびに送信機103によって送信されるパケットを送信すること。
【０１３３】
任意で、本発明の特定の実施形態において、メモリ102は、以下の機能、つまり、現在のトークンバケット内のトークンの数およびクレジットバケット内の現在のものでないトークンバケットからあふれるクレジットバケット内のトークンの数の合計が送信されるパケットを送信するためのトークンの数に達しない場合、送信されるパケットを破棄するかまたは送信されるパケットを再びラベル付けすることを実現するための、メモリ102に記憶された動作命令をプロセッサが読むように、プロセッサ101によって実行され得る動作命令をさらに含む。
【０１３４】
任意で、本発明の特定の実施形態において、メモリ102は、以下の機能を実現するための、メモリ102に記憶された動作命令をプロセッサが読むように、プロセッサ101によって実行され得る動作命令をさらに含む。
【０１３５】
各シングルボードのチップのためのデビットバケットを予め構成することであって、デビットバケットが、予め設定された条件に従って各デビットバケットからトークンを等しく取得するように、同じシングルボードのチップに属するトークンバケットからあふれるトークンを記憶するために使用される、予め構成すること、および予め設定された空間決定方法に従ってデビットバケットの空間を設定することであって、各デビットバケットの空間の合計が、CBS/PBS全体に等しく、予め設定された空間決定方法が、空間均等分割決定方法または空間重み決定方法を含む、設定すること。
【０１３６】
任意で、本発明の特定の実施形態において、メモリ102は、以下の機能を実現するための、メモリ102に記憶された動作命令をプロセッサが読むように、プロセッサ101によって実行され得る動作命令をさらに含む。
【０１３７】
予め設定された数の最も最近の期間において、クレジットバケットから現在のトークンバケットによって借りられたトークンの数が第1の閾値を超える場合、現在のトークンバケットの借用情報に従って現在のトークンバケットの空間を増やすこと、現在のトークンバケットのクレジットバケットから借りられるトークンのラベル分配情報に従って、現在のトークンバケット以外の対応するトークンバケットの空間を減らすことであって、減らされた空間の合計が、増やされた空間の合計に等しい、減らすこと、各トークンバケットの再び決定された空間、およびトークンを入れるレートを計算するための方法に従って、各トークンバケットにトークンを入れる新しいレートを決定することであって、借用情報が、トークンのラベルおよび借りる対応する量を含み、ラベル分配情報が、トークンのラベルおよび借りる対応する量を含む、決定すること。
【０１３８】
任意で、本発明の特定の実施形態において、メモリ102は、以下の機能を実現するための、メモリ102に記憶された動作命令をプロセッサが読むように、プロセッサ101によって実行され得る動作命令をさらに含む。
【０１３９】
予め設定された数の最も最近の期間において、クレジットバケットから現在のトークンバケットによって借りられたトークンの数が第1の閾値を超える場合、現在のトークンバケットの借用情報に従って、現在のトークンバケットにトークンを入れるレートを、トークンを入れる最初のレートからトークンを入れる新しいレートに増やすこと、現在のトークンバケットにトークンを入れる新しいレート、およびトークンを入れるレートとトークンバケットの空間との間の対応する関係に従って現在のトークンバケットの空間を調整すること、ならびに減らされた空間の合計が増やされた空間の合計に等しいように、現在のトークンバケットのクレジットバケットから借りられるトークンのラベル分配情報に従って、現在のトークンバケット以外の対応するトークンバケットの調整される空間を決定すること。
【０１４０】
別の態様において、本発明は、上述の実施形態のデータトラフィック制限のための装置のいずれか1つを含むネットワークデバイスも提供する。
【０１４１】
本明細書の実施形態は、漸進的に説明されている。それぞれの実施形態の同じまたは同様の要素は、互いを指す可能性がある。いずれかの実施形態の説明が、その他の実施形態と比べて違いに焦点を当てる。特に、装置の実施形態に関して、それらの実施形態は方法の実施形態と同様であるので、重複する説明を省略するために、対応する方法の実施形態が参照され得る。説明された装置の実施形態は、例示的であるに過ぎず、別々の部分として説明されたユニットは、物理的に分かれている可能性があり、または物理的に分かれていない可能性があり、ユニットとして示された部分は、物理的なユニットである可能性があり、または物理的なユニットではない可能性があり、1つの位置に配置される可能性があり、または複数のネットワークユニットに分散される可能性がある。モジュールの一部またはすべては、実施形態の解決策の目的を達成する実際の必要性に応じて選択され得る。当業者は、いかなる創造的な努力もなしに本発明を理解し、実装し得る。
【０１４２】
本明細書において、「第1の」および「第2の」などの用語は、1つの主体または動作を別の主体または動作と区別するために使用されるに過ぎず、これらの主体またはこれらの動作の下にあるいずれかの実際の関係または順序を要求するまたは示唆するために使用されない。加えて、用語「含む(include)」、「含む(contain)」、または任意のその他の代替表現は、一連の要素を含む手順、方法、アイテム、またはデバイスがこれらの要素を含むだけでなく、明示的に挙げられていないその他の要素をさらに含むか、またはこの手順、方法、アイテム、またはデバイスに固有の要素をさらに含むように、網羅的でない包含(including)を包含することを目的とする。表現「...のうちの1つを含む(including one of...)」によって限定される要素は、さらなる限定が明示されない限り、前記要素を含む手順、方法、アイテム、またはデバイスにその他の同じ要素が存在することを除外しない。
【０１４３】
上述の説明は、本発明の特定の実施形態であるに過ぎず、本発明の原理を逸脱することなく当業者によって容易に理解されるいくつかの変更または修正はすべて本発明の保護範囲内に入ることに留意されたい。
【符号の説明】
【０１４４】
1  シングルボードのチップセット
2  シングルボードのチップセット
3  クレジットバケット
11  トークンバケット
12  デビットバケット
21  トークンバケット
22  デビットバケット
101  プロセッサ
102  メモリ
103  送信機
104  受信機
110  第1の事前構成ユニット
111  トークン投入レート構成ユニット
112  第1の空間構成ユニット
113  第2の空間構成ユニット
120  受信ユニット
130  第1の判定ユニット
140  第2の決定ユニット
150  送信ユニット
160  トークン管理ユニット
170  パケット処理ユニット
180  第2の事前構成ユニット
200  第1の動的調整ユニット
300  第2の動的調整ユニット
【図１】
0006268623.tif 000005
【図２】
0006268623.tif 000006
【図３】
0006268623.tif 000007
【図４】
0006268623.tif 000008
【図５】
0006268623.tif 000009
【図６】
0006268623.tif 000010
【図７】
0006268623.tif 000011
【図８】
0006268623.tif 000012
【図９】
0006268623.tif 000013
【図１０】
0006268623.tif 000014